{"version":3,"file":"discourse-plugin-content-platform.js","names":["define","_exports","_api","_loadScript","Object","defineProperty","value","default","apiInitializer","async","inflight","Map","isGTM","u","test","applyShim","window","_load_js","url","cb","startsWith","location","protocol","replace","p","get","set","finally","delete","then","addCacheBusterToUrl","minutes","arguments","length","undefined","t","Math","floor","Date","now","includes","Promise","resolve","reject","t0","id","setInterval","AMDAnalytics","clearInterval","Error","init","api","onPageChange","title","page","e","siteSettings","container","lookup","DEBUG","localStorage","igames_gtag_debug","log","_len","a","Array","_key","console","warn","_len2","_key2","error","_len3","_key3","enabled","igames_cp_gtag_enabled","igames_cp_gtag_id","MEASUREMENT_ID","trim","LOADED_KEY","ensureGtagShim","dataLayer","gtag","push","configureThisProperty","send_page_view","activateOfflineStub","reason","orig","_len4","args","_key4","apply","this","getActiveGroups","String","OptanonActiveGroups","split","map","s","filter","Boolean","applyConsentFromOneTrust","groups","hasPerf","analytics_storage","insertScriptWithOneTrust","encodeURIComponent","existing","document","querySelector","useOneTrust","OneTrust","InsertScript","activeGroups","targetGroup","directInject","createElement","src","setAttribute","addEventListener","head","appendChild","ad_storage","ad_user_data","ad_personalization","wait_for_update","upgrade","el","tagName","newSrc","from","to","MutationObserver","muts","m","n","addedNodes","observe","documentElement","childList","subtree","prevWrapper","OptanonWrapper","hostname","hasGtag","configured","page_title","page_path","page_location","href","providerList","name","icon","profileVisible","profileUrl","username","_helper","helper","_ref","b","charAt","toUpperCase","slice","Number","key","has","i","isNaN","item","array","str","lastSlashIndex","lastIndexOf","getLastPath","_qrcode","_emberModifier","modifier","element","positional","named","positionalText","options","text","QRCode","innerHTML","width","height","colorDark","colorLight","correctLevel","CorrectLevel","H","_select","_jquery","_positional","$el","select2","onChange","on","val","off","_service","_toastifyJs","ToastService","_show","opts","Toastify","duration","gravity","position","close","stopOnFocus","className","style","onClick","offset","y","showToast","success","info","_tracking","UiService","static","dt7948","g","prototype","tracked","loginOpen","showHeaderAction","headerAction","openLogin","closeLogin","toggleLogin","setHeaderAction","action","clearHeaderAction","_component","_component2","_object","_ajax","_templateFactory","__COLOCATED_TEMPLATE__","createTemplateFactory","block","moduleName","isStrictMode","AdvertisementsAdmin","initialAds","ads","loading","uploading","initialNextCursor","nextCursor","currentCursor","cursorStack","pageSize","file","targetUrl","section","activeFrom","activeTo","saveMessage","saveErrorMessage","deleteMessage","deleteErrorMessage","sections","onInsert","loadAds","reset","toDate","ts","d","getTime","fmt","getMonth","padStart","getDate","getFullYear","cursor","qs","URLSearchParams","resp","ajax","toString","type","rows","ad","active_from","active_to","created_at","next_cursor","jqXHR","responseJSON","message","nextPage","prevPage","stack","prev","pop","updateSection","target","handleFileChange","event","files","createAd","preventDefault","form","FormData","append","data","processData","contentType","input","getElementById","e2","deleteAd","confirm","setComponentTemplate","_template","BannerRotatorComponent","service","ui","index","timerId","banners","count","current","intervalMs","heroAccentStyle","c","accent_color","htmlSafe","openInNewTab","target_url","openLoginFromWelcome","stopPropagation","requestAnimationFrame","focus","start","preload","banner_image_url","max","resume","stop","pause","next","goTo","handleMouseEnter","handleMouseLeave","Image","_runloop","BlogFocusCarouselComponent","images","it","idx","alt","raw","ariaLabel","slides","center","img","wrapped","visible","pos","hidden","step","delta","onSlideClick","slide","onImageClick","onKey","interval","setup","scheduleOnce","play","teardown","CampaignAdmin","slug","isPrivate","headerCode","html","css","js","saving","errorMessage","campaigns","editingId","initialPageSize","prevStack","loadingList","initialCampaigns","decorateRows","firstPage","toMs","epoch","fmtDate","ms","Intl","DateTimeFormat","year","month","day","hour","minute","second","hour12","format","updated_at_ms","updated_at","updated_at_text","loadCampaigns","limit","res","changePageSize","ev","parseInt","autoSlug","toLowerCase","saveCampaign","payload","is_private","header_code","clearForm","err","errors","join","startEdit","scrollTo","top","behavior","cancelEdit","deleteCampaign","CampaignRenderer","router","isLoading","attachIframe","iframe","currentRoute","params","opacity","classList","add","once","setTimeout","CpAccountCreateAvatarPicker","randomEntries","constructor","owner","super","_pickRandom","presetEntries","JSON","parse","cp_preset_avatars_json","entries","sizeUrl","tmpl","size","list","arr","isArray","j","random","min","choose","onSelect","selectedKey","CpAdComponent","hasAd","image_url","CpAvatarPicker","select","reload","CpFooterComponent","shouldShowFooter","currentRouteName","_category","CpForumSidebar","currentUser","isMobileMenuOpen","desiredCatSlugs","categories","filterCategories","willDestroy","removeEventListener","closeMobileMenuOnOutsideClick","closeMobileNav","shouldShowSidebar","isLoggedIn","userSlug","categoryList","sort","indexOf","registerGlobalClick","unregisterGlobalClick","toggleMobileNav","closest","CpHeaderComponent","toast","values","grouped_unread_notifications","reduce","num","curr","notificationCount","identification","password","isMobileNavOpen","isNotifMenuOpen","isQatOpen","mfaRequired","mfaSession","mfaCode","isSubmitting","_syncFromQueryParam","_onRouteDidChange","closeOnOutsideClick","closeNotifMenuOnOutsideClick","$","siteLogoUrl","site_logo_url","siteTitle","isMenuOpen","qpVal","queryParams","wantsOpen","_stripLoginOpenFromUrl","URL","searchParams","history","replaceState","pathname","search","hash","toggleMenu","closeMenu","body","toggle","remove","insideUser","insideMobileMenu","hitToggle","closeQatOnOutsideClick","toggleQat","toggleNotifMenu","registerProfileTabClick","find","doNothing","updateNotificationCount","handleLogout","authenticate","verifyMfa","mfaUsername","mfaChallengeName","mfa_required","mfa_session","session","challenge_name","xhr","code","startOidc","provider","origin","seq","CpModal","_lastActive","_id","instanceId","okLabel","labelledById","describedById","testRootId","testId","handleInsert","isOpen","_captureFocus","handleArgsChange","_restoreFocus","handleWillDestroy","onKeydown","onCancel","_trapTab","backdropClick","closeOnBackdropClick","dataset","backdrop","clickOk","onOk","clickCancel","root","activeElement","focusables","querySelectorAll","first","hasAttribute","last","active","shiftKey","CpProfileLinkedProviders","providerUsernameCache","loadUsernames","linkedProviders","response","user_id","getUsernameFor","match","providerUrls","visibleProviders","FocusCarouselComponent","_getUrl","FocusLinkCarouselComponent","normalized","thumbnail","image","go","_index","assign","FullscreenImageViewer","_root","bodyElement","_focus","onArgsChange","onDestroy","onClose","onPrev","onNext","report","onReport","GamesAdmin","initialStatus","status","initialLimit","q","initialGames","games","clearingCache","loadingAction","cacheErrorMessage","cacheMessage","newGameName","creating","verifyNewGames","fileUploadErrorMessage","fileUploadMessage","initialCursor","refresh","hasNext","hasPrev","fmtEpoch","v","isFinite","toLocaleString","filteredGames","dn","display_name","loadGames","verified","items","created_at_fmt","verified_at_fmt","verified_at","clearGamesCache","onStatusChange","onLimitChange","onQueryInput","updateNewGameName","handleVerifyGamesChange","checked","approve","game","unverify","createGame","createGamesFromFile","rowCount","countCsvRows","formData","parts","created_count","skipped_count","failed_count","reader","FileReader","onload","lines","result","line","hasHeader","onerror","readAsText","STATUSES","toIsoFromEpochish","x","toISOString","normalizeGiveaway","consumerId","content","featured","maxKeysPerIp","tags","platform","developer","gameWebsiteUrl","color","youtubeUrl","headerImageUrl","thumbnailImageUrl","redemptionInstructions","createdAt","updatedAt","deleted","normalizePool","giveawayId","description","totalKeys","keysRemaining","lowerLimit","upperLimit","countries","GiveawaysAdmin","giveaways","Set","expanded","pools","poolEditing","keyUpload","tagsCsv","headerImageFile","thumbnailImageFile","create","poolsLoading","statuses","ymd","iso","isExpanded","hasPools","poolsFor","sameId","loadGiveaways","_apiListGiveaways","norm","beginCreate","_resetForm","_scrollTop","beginEdit","onHeaderImageChange","onThumbnailImageChange","saveGiveawaySettings","tagsArr","fd","cap","updated","_apiUpdateGiveaway","created","_apiCreateGiveaway","deleteGiveaway","_apiDeleteGiveaway","togglePools","gid","_apiListPools","newPool","isNew","pool","editPool","cancelPoolEdit","savePool","ctx","saved","_apiCreatePool","_apiUpdatePool","deletePool","_apiDeletePool","refreshPools","_refreshPools","beginUpload","_stopImportPolling","pid","keysText","importId","stats","_polls","_timer","cancelUpload","onUploadFileChange","updateUploadText","updateUploadCode","sendUploadFile","_apiUploadPoolKeysFile","import_id","msg","_scheduleImportPoll","_extractAjaxError","timer","_pollImportStatus","clearTimeout","_apiImportStatus","state","added","total","processed","_humanizeImportStatus","polls","fallback","updateField","prop","updateNumberField","updatePoolField","updatePoolNumberField","bindPoolCountriesSelect","_countriesSelectEl","syncPoolCountriesSelect","csv","opt","selected","onPoolCountriesChange","selectedOptions","o","updatePoolBooleanField","scrollIntoView","consumer_id","attrs","keypool","poolId","_apiStartImportViaUrl","presignedUrl","filename","presigned_url","content_type","HomepageAdmin","initialBanners","isSaving","bannerFile","mobileBannerFile","iconFile","accentColor","loadBanners","toEpochSecondsLocal","dtStr","epochToLocalInput","parseFloat","pad","getHours","getMinutes","formatToMonthDayYear","date","clearFileInput","afEpoch","atEpoch","crEpoch","activeFromDate","activeToDate","createdAtDate","active_from_raw","active_to_raw","created_at_raw","handleBannerFileChange","handleMobileBannerFileChange","handleIconFileChange","banner","trunc","saveHomepageSettings","isEdit","fromEpoch","toEpoch","deleteBanner","Homepage","mmdd","_dateTimeFormatter","ManageBlogAdmin","allPosts","initialPosts","formatCreatedAtDate","rawCreatedAtDate","formatDate","getAllPosts","posts","deletePost","postId","admin","handleFeaturedChange","post","newPos","subtitle","blurb","desktopHeaderImg","mobileHeaderImg","thumbnailImg","clearBlogIndexCache","_user","QuickAdminTool","selectedUser","label","selectedLabel","userLabels","notes","loadingNotes","isNoteEditorOpen","noteContent","charCount","isEditingNote","editingNoteId","isLoadingUser","loadUserLabels","select2Options","self","allowClear","placeholder","templateResult","$row","$text","$deleteBtn","deleteLabel","formatDateForOverview","rawUserJoinDate","formatDateForNote","rawNoteDate","registerSelectListener","originalEvent","contains","onSelectLabel","unregisterSelectListener","onChangeSearchTermForUsername","updateSelectedUser","newLabel","new","catch","openNoteEditorNew","openNoteEditorExisting","note","closeNoteEditor","updateNoteContent","saveNote","updateNote","createNote","deleteNoteAction","deleteNote","labels","loadNotes","findByUsername","user","note_id","findIndex","originalLabel","DEFAULT_REASONS","ReportContentModal","defaultReason","reasonCode","reasonText","reasonOptions","reasonId","textId","onReasonChange","onReasonTextChange","onFormSubmit","submit","handleCancel","targetType","targetId","reportedUserId","target_type","target_id","reported_user_id","reason_code","reason_text","onSubmitted","TheGameAwardsLogos","IgUpcomingEventsPanel","events","formMessage","formUpcoming","formOptionalUrl","initialEvents","formatMDY","resetForm","fetchIndex","hoursPast","hoursFuture","createEvent","updateEvent","deleteEvent","edit","upcoming_at","save","upcomingAt","_formatter","ForumIndexTopicList","categoryData","latestTopics","initialize","initLatestTopics","initCategories","loadCategoryData","topic_list","topics","category_list","getLatestTopicForCategory","category","subId","subcategory_list","candidates","category_id","last_posted_at","sub","topicCount","topic_count","latest","latestPostedAt","seconds","rel","relativeAgeMediumSpan","post_count","lastPoster","last_poster","last_poster_username","lastPostedAt","categoryPairs","_pluginApi","NewTopicBtn","handleClick","withPluginApi","open","draftKey","categoryId","newQuestionBtn","questionCategoryId","child","parent_category_id","_application","setupComponent","_attrs","component","ctrl","getOwner","setProperties","upcomingEvents","PostMetadata","memberSince","user_member_since","formatDateTime","CpTopicTags","topic","CpTopicListItem","bumpedAt","calculatedPostedAt","_controller","AdminPluginsIgamesCpAdvertisementController","AdminIgamesCpCampaignsController","AdminPluginsIgamesCpGiveawaysController","AdminPluginsIgamesCpHomepageController","AdminPluginsIgamesCpImgUploadController","selectedFile","uploadResponse","selectedFileName","isUploading","uploadImage","method","AdminPluginsIgamesCpManageBlogController","ALLOWED_STATUSES","AdminPluginsIgamesCpReportedContentController","reports","filteredReports","r","reporter_user_id","some","f","aboutExcerptFor","content_snapshot","about_me_excerpt","imageIdFor","image_id","noteFor","loadReports","last_key","decision_at_fmt","decision_at","next_key","approveReport","report_id","decision","moderator_note","denyReport","AdminPluginsIgamesCpSettingsController","AdminPluginsIgamesCpUpcomingEventsController","AdminPluginsIgamesCpUserGameController","AmdBlackOps7Controller","observers","muteVideos","videos","forEach","video","muted","setupFadeIn","els","timers","WeakMap","io","IntersectionObserver","entry","toggleVisibility","threshold","rootMargin","isIntersecting","disconnect","AmdProductsController","timeouts","targets","reveal","delay","getAttribute","setProperty","unobserve","mode","distance","initStartState","AmdTheGameAwardsController","brandLinks","model","activeSweep","gleamEmbed1","gleamEmbed2","gleamEmbed3","gleamEmbed4","gleamEmbedArray","currentGleamEmbedUrl","generateGleamEmbedUrl","renderGleamSweep","embedCode","generateGleamSiteUrl","loadGleamEmbed","script","loadTwitchEmbed","Twitch","Embed","channel","autoplay","duplicateBrands","scrollerInner","children","duplicatedItem","cloneNode","muteAndPlayVideo","_text","_composer3","_topic","_url","EMPTY_FILES","desktop","mobile","thumb","EMPTY_PREVIEW","mapCommentsTree","likeActionId","byNumber","roots","post_number","post_type","deleted_at","likeSummary","actions_summary","like_count","liked","acted","reply_to_post_number","display_username","avatarUrl","avatar_template","cooked","isoCreatedAt","post_url","mapNode","node","parentNo","flattenComments","nodes","depth","out","BlogPostController","composer","store","appEvents","author","isAdmin","blogId","topicId","postTitle","postSubtitle","postContent","postContentCooked","headerDesktopUrl","headerMobileUrl","canReply","commentsClosed","reactionsCount","likedFirstPost","likeBusy","firstPostId","commentsTree","commentsFlat","continueDiscussionUrl","editing","preview","selectedMap","selectedCatsArr","keys","k","selectedCatsCsv","toggleFixed","draftTime","_GUARD_MS","_blocking","_guardTimer","_activityHandler","_stayHereOff","_origRouteTo","_origRedirectTo","_onPostCreated","_scrollToPostId","_postBodyEl","primePage","_blockTopicNavStop","openEdit","_initFirstPostReactions","_maybeHydrateEmbedsSoon","setCommentsResponse","topic_id","can_reply","like_action_id","closed","topic_closed","topicClosed","topic_details","_loadTopicModel","createRecord","_loadPostModel","topicModel","pj","post_stream","postModel","_isTopicPath","path","_resetGuardTimer","_startKeepAlive","passive","_stopKeepAlive","_blockTopicNavStart","routeTo","redirectTo","call","onWillChange","transition","intent","toName","abort","_scrollToComment","later","_installPostCreatedHook","_reloadAllComments","scrollToId","details","first_like_count","first_liked","fp","likeRow","toggleBlogLike","was","post_action_type_id","errMessage","replyToPost","REPLY","draft_key","draftSequence","draft_sequence","replyToTopic","shareComment","navigator","clipboard","writeText","isOwn","cu","toggleLike","wasLiked","updateTree","indentStyle","px","onShare","share","onEditClick","onNewClick","openCreate","_prefillFromPost","closeEdit","_clearForm","_revokeAllPreviews","ensureBlogId","blog_id","stripMarkdown","_blurbFromContent","plain","lastSpace","pickerEl","_capturePickerRef","_triggerFilePick","click","_handlePickedFile","handleUpload","_uploadImageFile","onDragOver","_kind","onDrop","kind","dataTransfer","_setFile","onPick","oldUrl","revokeObjectURL","createObjectURL","savePost","editingExisting","authorId","idOrSlug","normalize","slugify","transitionTo","cook","dt","onDelete","updateRaw","nextValue","_hydrateEmbeds","_onBodyInsert","_onBodyUpdate","_isStandaloneLink","embed","_buildEmbed","wrap","parentElement","replaceWith","onlyChild","childNodes","firstChild","txtMatches","textContent","urlStr","host","_ytId","_ytStartSeconds","modestbranding","BlogIndexController","cats","isFeatured","_authorCache","_fmtDate","toLocaleDateString","_fetchAuthor","bio","bio_raw","_ensureAuthors","ids","all","_mapPost","rawContent","allCaps","tagsPretty","upper","likes","replyCount","reply_count","replies","you_liked","first_post_id","filteredPosts","_selectedFromQp","slugs","_syncQp","toggleIsFeatured","toggleCategory","loadPosts","safe","rawItems","_refreshAd","adResp","createPost","desktopUrl","mobileUrl","thumbUrl","CompleteOauthSignupController","qpPid","email","birthdate","avatarKey","busy","resendCooldown","steps","fields","stepKey","progressPercent","_tick","attributes","entered","today","avatar_key","resendCode","ConfirmController","resultMessage","isHelpOpen","isResending","_cooldownTimer","openHelp","closeHelp","handleKeydown","handleConfirm","handleFinalizeAccount","startCooldown","jq","responseText","selectAvatar","_authProviders","CpAccountSettingsController","timezone","amdNewsletter","communityNewsletter","currentPassword","newPassword","emailNotVerified","verificationCode","mfaEnabled","mfaLoading","mfaSecret","mfaSetupStage","mfaOtpUri","savingName","savingEmail","verifyingEmail","savingPassword","savingUsername","savingTimezone","primeFromUser","subs","amd_newsletter","community_newsletter","email_not_verified","nameChanged","emailChanged","usernameChanged","passwordChanged","checkPassword","verificationCodeChanged","editName","newName","editEmail","new_email","newVal","custom_fields","verifyEmail","newEmail","newFlag","editPassword","current_password","new_password","editGamertag","newUsername","saveTimezone","useCurrentTz","moment","tz","guess","toggleAMDNewsletter","toggleCommunityNewsletter","providerName","isLinked","unlinkOidc","_refreshLinked","refreshLinkedOnShow","loadMfaStatus","beginMfaSetup","secret","otpauth_uri","confirmMfaSetup","disableMfa","pRaw","issues","hit","canUnlink","can_unlink","providers","DEFAULT_COLOR","HEX_6","CpEditProfileController","aboutMe","savingAboutMe","_","slots","availableGames","gamesCursor","loadingGames","savingGames","userImages","uploadCountTotal","uploadCountDone","dragging","profileShowProviders","isConfirmOpen","confirmTitle","confirmDesc","confirmOkLabel","confirmCancelLabel","_confirmResolver","about_me","user_images","profile_show_socials","aboutMeChanged","gameOptions","seen","canEditAlbum","userImagesLimitReached","isAlbumEmpty","getShowProfile","hasVisibleProviders","cancelLabel","confirmOk","_closeConfirm","confirmCancel","editAboutMe","loadMoreGames","names","merged","onSelectGame","slot","knownGame","updateColor","updateColor2","color2","saveGames","game_data","stringify","preventAndIndicate","clearDragIndication","handleDrop","uploadFiles","handleFileInput","deleteImage","imageId","toggleShowProfile","newValue","socials","getProviderClass","shown","isShownOnProfile","linked","remaining","toSend","canShowProfile","hasOwnProperty","ForgotPasswordController","passwordConfirm","handleEmail","verification_resent","handleReset","cRaw","CpPrivacyController","trigger","CpProfileController","userGames","userActions","provileShowProviders","isReportOpen","reportTargetType","reportTargetId","reportSnapshot","isViewerOpen","viewerIndex","viewerImage","viewerHasPrev","viewerHasNext","currentUsername","showSocials","lp","_toggleBodyModalClass","reportProfile","about","_openReport","openReportForImage","closeReport","snapshot","openImageViewer","imgs","closeViewer","nextImage","prevImage","reportCurrentImage","linkFor","post_id","NaN","needle","CpTosController","DiscoveryCustomController","HomepageController","LootIndexController","codeCopyFlag","copiedCode","formatClaimDate","rawClaimDate","resetArgs","copyKeyToClipboard","gameKey","PromotionPageController","keyClaimedWindowOpen","claimingKey","keyCode","instructionsCooked","descCooked","gameWebsite","mediaType","mediaUrl","claimKey","giveaway_id","closeClaimedWindow","PromotionsIndexController","RewardsIndexController","SignUpController","privacyPolicy","amdMarketing","isPwTipOpen","hcaptchaWidgetId","hcaptchaToken","hcaptchaError","showCaptcha","igames_cp_hcaptcha_enabled","igames_cp_hcaptcha_site_key","pw","pwHasMin","pwHasUpper","pwHasLower","pwHasDigit","pwHasSpecial","progressStyle","formatDateForInput","birthdateMin","setFullYear","birthdateMax","togglePwTip","nextStep","ensureHCaptchaScript","hcaptcha","render","poll","__hcReadyQueue","__hcOnLoad","splice","fn","defer","setupHCaptcha","sitekey","getHCaptchaToken","token","executeAsync","execute","inUse","minAllowed","ageCutoff","handleSubmit","newsletter","marketing","hcaptcha_token","route","addCommunitySectionLink","bodyClassObserver","NEVER_PLUGIN","applyPluginChrome","addClass","removeClass","stopObserver","rx","isPluginPage","outlet","$chrome","attributeFilter","isForumPage","hide","isForumIndex","isUserPage","isAdminPage","show","Discourse","__container__","currentUserSvc","getCurrentUser","User","homepageLoginUrl","returnTo","usp","rt","same","newPath","returnToRaw","openLoginHere","source","modal","__cpPatchedShow","origShow","bind","onAppEvent","requireLogin","__cpWrapped","origRequireLogin","loggedIn","defaultPrevented","stopImmediatePropagation","capture","inFooter","isButton","hasReplyIcon","saysReply","anchor","isAdminHref","modifyClass","pluginId","beforeModel","PLUGIN_ID","userFromParams","paramsFor","userFromModel","modelFor","routeName","dateSeparator","mm","dd","yy","hh","ampm","QR8bitByte","QRMode","MODE_8BIT_BYTE","parsedData","l","byteArray","charCodeAt","concat","unshift","QRCodeModel","typeNumber","errorCorrectLevel","modules","moduleCount","dataCache","dataList","getLength","buffer","write","put","addData","newData","isDark","row","col","getModuleCount","make","makeImpl","getBestMaskPattern","maskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","minLostPoint","pattern","lostPoint","QRUtil","getLostPoint","createMovieClip","target_mc","instance_name","qr_mc","createEmptyMovieClip","beginFill","moveTo","lineTo","endFill","getPatternPosition","bits","getBCHTypeNumber","mod","getBCHTypeInfo","inc","bitIndex","byteIndex","dark","getMask","PAD0","PAD1","rsBlocks","QRRSBlock","getRSBlocks","QRBitBuffer","getLengthInBits","totalDataCount","dataCount","putBit","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","totalCount","rsPoly","getErrorCorrectPolynomial","modPoly","QRPolynomial","modIndex","totalCodeCount","MODE_NUMBER","MODE_ALPHA_NUM","MODE_KANJI","QRErrorCorrectLevel","L","M","Q","QRMaskPattern","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","getBCHDigit","digit","errorCorrectLength","multiply","QRMath","gexp","qrCode","sameCount","darkCount","abs","glog","LOG_TABLE","EXP_TABLE","shift","ratio","RS_BLOCK_TABLE","rsBlock","getRsBlockTable","bufIndex","bit","QRCodeLimitLength","_getAndroid","android","sAgent","userAgent","aMat","svgDrawer","Drawing","htOption","_el","_htOption","draw","oQRCode","nCount","makeSVG","tag","createElementNS","clear","svg","viewBox","fill","setAttributeNS","hasChildNodes","removeChild","lastChild","CanvasRenderingContext2D","nWidth","nHeight","aHTML","elTable","nLeftMarginTable","offsetWidth","nTopMarginTable","offsetHeight","margin","_onMakeImage","_elImage","_elCanvas","toDataURL","display","androidVersion","factor","devicePixelRatio","drawImage","sx","sy","sw","sh","dx","dy","dw","dh","nodeName","_safeSetDataURI","fSuccess","fFail","_fFail","_fSuccess","_bSupportDataURI","fOnError","onabort","_bIsPainted","_android","_oContext","getContext","nRoundedWidth","round","nRoundedHeight","bIsDark","nLeft","nTop","strokeStyle","lineWidth","fillStyle","fillRect","strokeRect","ceil","makeImage","isPainted","clearRect","nNumber","_getTypeNumber","sText","nCorrectLevel","nType","replacedText","encodeURI","_getUTF8Length","len","nLimit","vOption","useSVG","_oQRCode","_oDrawing","makeCode","h","amd","requirejs","pr","require","w","exports","module","uri","config","A","load","deps","callback","_defined","jQuery","listeners","Extend","__super__","Decorate","displayName","_type","invoke","Observable","generateChars","_convertData","substring","hasScroll","overflowX","overflowY","innerHeight","scrollHeight","innerWidth","scrollWidth","escapeMarkup","__cache","GetUniqueElementId","StoreData","GetData","RemoveData","removeAttribute","copyNonInternalCssClasses","$element","attr","$results","empty","displayMessage","hideLoading","hideMessages","results","option","highlightFirstItem","ensureHighlightVisible","setClasses","each","showLoading","disabled","prepend","role","Element","matches","msMatchesSelector","webkitMatchesSelector","_resultId","template","class","removeAttr","getHighlightedResults","hasClass","eq","scrollTop","outerHeight","mousewheel","deltaY","destroy","BACKSPACE","TAB","ENTER","SHIFT","CTRL","ALT","ESC","SPACE","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","DELETE","_tabindex","$selection","_handleBlur","which","update","_attachCloseHandler","_detachCloseHandler","isEnabled","isDisabled","selectionContainer","parent","normalizePlaceholder","createPlaceholder","_handleClear","_handleKeyboardClear","prevented","$searchContainer","$search","_transferTabIndex","resizeSearch","_keyUpPrevented","isDefaultPrevented","searchRemoveChoice","documentMode","handleSearch","term","Event","dict","extend","_cache","loadPath","query","generateResultId","unselect","addOptions","innerText","_normalizeItem","_dataToConvert","convertToOptions","ajaxOptions","_applyDefaults","processResults","transport","fail","_request","_queryTimeout","createTag","insertTag","_removeOldTags","tokenizer","dropdown","selection","substr","minimumInputLength","minimum","maximumInputLength","maximum","maximumSelectionLength","_checkIfMaximumSelected","$dropdown","showSearch","removePlaceholder","lastParams","$loadingMore","createLoadingMore","showLoadingMore","loadMoreIfNeeded","loadMore","pagination","more","$dropdownParent","_showDropdown","_attachPositioningHandler","_bindContainerResultHandlers","_hideDropdown","_detachPositioningHandler","$dropdownContainer","$container","detach","_containerResultsHandlersBound","_positionDropdown","_resizeDropdown","parents","scrollLeft","bottom","left","offsetParent","isConnected","outerWidth","minWidth","appendTo","minimumResultsForSearch","_handleSelectOnClose","originalSelect2Event","_selectTriggered","ctrlKey","metaKey","errorLoading","inputTooLong","inputTooShort","loadingMore","maximumSelected","noResults","searching","removeAllItems","removeItem","D","S","E","O","C","T","I","defaults","dataAdapter","tokenSeparators","resultsAdapter","selectOnClose","dropdownAdapter","multiple","closeOnSelect","dropdownCssClass","selectionAdapter","selectionCssClass","language","_resolveLanguage","translations","_processTranslations","debug","amdLanguageBase","autocomplete","dropdownAutoWidth","matcher","scrollAfterSelect","sorter","templateSelection","theme","applyFromElement","isEmptyObject","isPlainObject","camelCase","fromElement","dir","jquery","_generateId","_placeContainer","_bindAdapters","_registerDomEvents","_registerDataEvents","_registerSelectionEvents","_registerDropdownEvents","_registerResultsEvents","_registerEvents","_syncAttributes","insertAfter","_resolveWidth","getComputedStyle","_syncA","_syncS","_syncSubtree","_observer","toggleDropdown","altKey","_isChangeMutation","removedNodes","hasFocus","enable","removeData","nodeIdCompat","globalThis","lib","oldestFirst","selector","destination","newWindow","positionLeft","backgroundColor","avatar","ariaLive","background","toastify","toastElement","buildToast","nodeType","Node","ELEMENT_NODE","insertAdjacentElement","removeElement","timeOutValue","screen","transform","HTMLElement","ShadowRoot","insertBefore","reposition","hideToast","parentNode","getElementsByClassName","_discourse","titleToken","amd_admin","_super","scaleDown","scaleDownSm","active_sweep","gleam_embed_code_1","gleam_embed_code_2","gleam_embed_code_3","gleam_embed_code_4","fmtDateMaybeSec","postUrl","postResp","postCooked","contentCooked","comments","blogLikes","blogLiked","byNo","likeSum","parent_no","byTime","sortTree","mapCommentsToThread","meta","topicJson","sum","extractFirstPostLikeMeta","can_manage_blog","setupController","controller","resetController","isExiting","news","featuredItems","featured_posts","authorIds","featuredPosts","afterModel","randomFeaturedPosts","randomSample","campaign","_params","accountResp","linkedResp","current_user","profileResp","myGamesResp","verifiedResp","edit_profile","user_games","verified_games_page","parsed","etag","cache","cookedHtml","truncate","byWord","suffix","chars","paramsSlug","userGameResp","activityResp","stream","processedUserGames","full","excerpt","tmp","stripHtml","excerpt_full","excerpt_short","refreshModel","home","bannersResp","latestResp","upcomingResp","normalizeNum","giveawayData","toYouTubeEmbed","extractYouTubeId","promotion","canClaimKey","instrRaw","yt","headerImg","thumbImg","mediaUrlProcessed","claimedCode","keysAvailable","toCard","media_url","cookDescription","published","epochSeconds","formatPublished","keys_remaining","cmpByUpdatedThenCreatedDesc","bu","au","bc","ac","aid","bid","localeCompare","keyOf","promoResp","sortedAll","featuredSorted","mainRaw","subRaw","used","previousRaw","mainFeatured","subFeatured","previousPromotions"],"sources":["discourse/plugins/discourse-plugin-content-platform/discourse/api-initializers/amd-analytics.js","discourse/plugins/discourse-plugin-content-platform/discourse/api-initializers/igames-gtag.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/constants/auth-providers.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/both.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/capitalize.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/eq.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/gt.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/has.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/inc.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/is-last.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/is-odd.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/last-path-eq.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/lt.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/not.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/upper.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/modifiers/qr-code.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/modifiers/select2.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/services/toast.js","discourse/plugins/discourse-plugin-content-platform/discourse/app/services/ui.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/advertisements-admin.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/banner-rotator.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/blog-focus-carousel.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/campaign-admin.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/campaign-renderer.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-account-create-avatar-picker.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-ad.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-avatar-picker.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-footer.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-forum-sidebar.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-header.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-modal.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-profile-linked-providers.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/focus-carousel.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/focus-link-carousel.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/fullscreen-image-viewer.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/games-admin.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/giveaways-admin.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/homepage-admin.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/homepage.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/manage-blog-admin.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/quick-admin-tool.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/report-content-modal.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/the-game-awards-logos.js","discourse/plugins/discourse-plugin-content-platform/discourse/components/upcoming-events-admin.js","discourse/plugins/discourse-plugin-content-platform/discourse/connectors/above-discovery-categories/forum-index-topic-list.js","discourse/plugins/discourse-plugin-content-platform/discourse/connectors/after-create-topic-button/0-new-topic-btn.js","discourse/plugins/discourse-plugin-content-platform/discourse/connectors/after-create-topic-button/new-question-btn.js","discourse/plugins/discourse-plugin-content-platform/discourse/connectors/custom-homepage/custom-homepage.js","discourse/plugins/discourse-plugin-content-platform/discourse/connectors/post-avatar-flair/post-user-info.js","discourse/plugins/discourse-plugin-content-platform/discourse/connectors/post-metadata/post-metadata.js","discourse/plugins/discourse-plugin-content-platform/discourse/connectors/topic-category-wrapper/cp-topic-tags.js","discourse/plugins/discourse-plugin-content-platform/discourse/connectors/topic-list-item/cp-topic-list-item.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-advertisement.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-campaigns.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-giveaways.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-homepage.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-img-upload.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-manage-blog.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-reported-content.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-settings.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-upcoming-events.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-user-game.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/amd-black-ops-7.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/amd-products.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/amd-the-game-awards.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/blog-post.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/blogs-index.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/complete-oauth-signup.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/confirm.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/cp-account-settings.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/cp-edit-profile.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/cp-forgot-password.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/cp-privacy.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/cp-profile.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/cp-tos.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/discovery/custom.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/homepage.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/my-loot.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/promotion-page.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/promotions-index.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/rewards-index.js","discourse/plugins/discourse-plugin-content-platform/discourse/controllers/sign-up.js","discourse/plugins/discourse-plugin-content-platform/discourse/igames-cp-route-map.js","discourse/plugins/discourse-plugin-content-platform/discourse/initializers/alert.js","discourse/plugins/discourse-plugin-content-platform/discourse/initializers/customize-sidebar.js","discourse/plugins/discourse-plugin-content-platform/discourse/initializers/hide.js","discourse/plugins/discourse-plugin-content-platform/discourse/initializers/login-redirect.js","discourse/plugins/discourse-plugin-content-platform/discourse/initializers/redirect.js","discourse/plugins/discourse-plugin-content-platform/discourse/initializers/remove-header.js","discourse/plugins/discourse-plugin-content-platform/discourse/lib/date-time-formatter.js","discourse/plugins/discourse-plugin-content-platform/discourse/lib/qrcode.js","discourse/plugins/discourse-plugin-content-platform/discourse/lib/select2.min.js","discourse/plugins/discourse-plugin-content-platform/discourse/lib/toastify-js.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-admin-advertisements.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-admin-campaigns.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-admin-hp-settings.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-admin-manage-blog.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-admin-upcoming-events.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-admin-user-game.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-admin.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-black-ops-7.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-products.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-the-game-awards.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/blog-post.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/blogs-index.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/campaign.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/complete-oauth-signup.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/confirm.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/cp-account-settings.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/cp-edit-profile.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/cp-forgot-password.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/cp-privacy.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/cp-profile.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/cp-tos.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/discovery/custom.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/homepage.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/my-loot.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/promotion-page.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/promotions-index.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/rewards-index.js","discourse/plugins/discourse-plugin-content-platform/discourse/routes/sign-up.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-advertisement.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-campaigns.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-giveaways.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-homepage.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-img-upload.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-manage-blog.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-reported-content.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-settings.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-upcoming-events.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-user-game.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-advertisements.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-campaigns.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-hp-settings.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-manage-blog.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-reported-content.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-upcoming-events.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-user-game.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-black-ops-7.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-products.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-the-game-awards.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/blog-post.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/blogs-index.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/campaign.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/complete-oauth-signup.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/confirm.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/above-discovery-categories/forum-index-topic-list.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/above-site-header/cp-header.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/after-create-topic-button/0-new-topic-btn.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/after-create-topic-button/new-question-btn.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/before-main-outlet/cp-forum-sidebar.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/below-footer/cp-footer.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/composer-after-composer-editor/personal-info-disclaimer.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/custom-homepage/custom-homepage.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/extra-nav-item/nav-item_all-filters.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/extra-nav-item/nav-item_category-label.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/inline-extra-nav-item/nav-item_all-filters.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/inline-extra-nav-item/nav-item_category-label.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/post-avatar-flair/post-user-info.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/post-metadata/post-metadata.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/reviewable-item-actions/custom-reviewable.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/topic-category-wrapper/cp-topic-tags.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/topic-list-item/cp-topic-list-item.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-account-settings.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-edit-profile.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-forgot-password.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-privacy.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-profile.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-tos.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/homepage.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/my-loot.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/promotion-page.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/promotions-index.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/rewards-index.js","discourse/plugins/discourse-plugin-content-platform/discourse/templates/sign-up.js"],"sourcesContent":["define(\"discourse/plugins/discourse-plugin-content-platform/discourse/api-initializers/amd-analytics\", [\"exports\", \"discourse/lib/api\", \"discourse/lib/load-script\"], function (_exports, _api, _loadScript) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _api.apiInitializer)(\"1.0.0\", async api => {\n    const inflight = new Map();\n    const isGTM = u => /(^|:\\/\\/)www\\.googletagmanager\\.com\\//i.test(u);\n    const applyShim = () => {\n      window._load_js = (url, cb) => {\n        if (url.startsWith(\"//\")) {\n          url = (isGTM(`https:${url}`) ? \"https:\" : location.protocol) + url;\n        }\n        if (/^http:\\/\\//i.test(url) && isGTM(url)) {\n          url = url.replace(/^http:\\/\\//i, \"https://\");\n        }\n        let p = inflight.get(url);\n        if (!p) {\n          p = (0, _loadScript.default)(url);\n          inflight.set(url, p);\n          p.finally(() => inflight.delete(url));\n        }\n        return p.then(() => cb && cb());\n      };\n    };\n    if (!window.addCacheBusterToUrl) {\n      // console.log(\"[amd-analytics] add cache buster\");\n      window.addCacheBusterToUrl = function (url) {\n        let minutes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 60;\n        const t = `cb=${Math.floor(Date.now() / (60 * minutes * 1000))}`;\n        return url.includes(\"?\") ? `${url}&${t}` : `${url}?${t}`;\n      };\n    }\n    try {\n      applyShim();\n      await (0, _loadScript.default)(\"https://download.amd.com/js/analytics/analyticsinit.js\");\n      // console.log(\"[amd-analytics] init loaded\");\n\n      applyShim();\n      await new Promise((resolve, reject) => {\n        const t0 = Date.now();\n        const id = setInterval(() => {\n          if (window.AMDAnalytics) {\n            clearInterval(id);\n            resolve();\n          } else if (Date.now() - t0 > 10000) {\n            clearInterval(id);\n            reject(new Error(\"AMDAnalytics not present after 10s\"));\n          }\n        }, 50);\n      });\n      window.AMDAnalytics?.init?.();\n      api.onPageChange((url, title) => {\n        window.AMDAnalytics?.page?.({\n          url,\n          title\n        });\n      });\n\n      // console.log(\"[amd-analytics] ready\");\n    } catch (e) {\n      // console.error(\"[amd-analytics] failed\", e);\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/api-initializers/igames-gtag\", [\"exports\", \"discourse/lib/api\"], function (_exports, _api) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _api.apiInitializer)(\"1.0.0\", api => {\n    const siteSettings = api.container.lookup(\"service:site-settings\");\n    const DEBUG = (localStorage.igames_gtag_debug || \"1\") === \"0\"; // default ON while testing\n    const log = function () {\n      for (var _len = arguments.length, a = new Array(_len), _key = 0; _key < _len; _key++) {\n        a[_key] = arguments[_key];\n      }\n      return DEBUG && console.log(\"[igames-gtag]\", ...a);\n    };\n    const warn = function () {\n      for (var _len2 = arguments.length, a = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n        a[_key2] = arguments[_key2];\n      }\n      return DEBUG && console.warn(\"[igames-gtag]\", ...a);\n    };\n    const error = function () {\n      for (var _len3 = arguments.length, a = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n        a[_key3] = arguments[_key3];\n      }\n      return DEBUG && console.error(\"[igames-gtag]\", ...a);\n    };\n    log(\"initializer start\", {\n      enabled: siteSettings.igames_cp_gtag_enabled,\n      id: siteSettings.igames_cp_gtag_id\n    });\n    if (!siteSettings.igames_cp_gtag_enabled) {\n      log(\"disabled via setting; exiting\");\n      return;\n    }\n    const MEASUREMENT_ID = (siteSettings.igames_cp_gtag_id || \"\").trim();\n    if (!MEASUREMENT_ID) {\n      warn(\"enabled but no measurement id; exiting\");\n      return;\n    }\n    const LOADED_KEY = `__igames_gtag_configured_${MEASUREMENT_ID}`;\n    log(\"loaded key:\", LOADED_KEY);\n    function ensureGtagShim() {\n      if (!window.dataLayer) {\n        window.dataLayer = [];\n        log(\"created window.dataLayer\");\n      }\n      if (typeof window.gtag !== \"function\") {\n        log(\"installing gtag shim\");\n        window.gtag = function () {\n          window.dataLayer.push(arguments);\n        };\n      } else {\n        log(\"gtag already defined\");\n      }\n    }\n    function configureThisProperty() {\n      if (window[LOADED_KEY]) {\n        log(\"property already configured\");\n        return;\n      }\n      ensureGtagShim();\n      try {\n        gtag(\"js\", new Date());\n        gtag(\"config\", MEASUREMENT_ID, {\n          send_page_view: false\n        });\n        window[LOADED_KEY] = true;\n        log(\"configured GA4 (send_page_view:false)\");\n      } catch (e) {\n        error(\"error during gtag config\", e);\n      }\n    }\n    function activateOfflineStub() {\n      let reason = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"offline/dns-blocked\";\n      if (window[LOADED_KEY]) return;\n      ensureGtagShim();\n      const orig = window.gtag;\n      window.gtag = function () {\n        for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n          args[_key4] = arguments[_key4];\n        }\n        log(\"STUB gtag →\", ...args);\n        try {\n          return orig?.apply(this, args);\n        } catch {}\n      };\n      window[LOADED_KEY] = true;\n      warn(`activated offline stub (${reason}) — events will log only`);\n    }\n    function getActiveGroups() {\n      const raw = String(window.OptanonActiveGroups || \"\");\n      return raw.split(\",\").map(s => s.trim()).filter(Boolean);\n    }\n    (function initConsentDefaults() {\n      try {\n        window.dataLayer = window.dataLayer || [];\n        window.gtag = window.gtag || function () {\n          window.dataLayer.push(arguments);\n        };\n        gtag(\"consent\", \"default\", {\n          ad_storage: \"denied\",\n          analytics_storage: \"denied\",\n          ad_user_data: \"denied\",\n          ad_personalization: \"denied\",\n          wait_for_update: 500\n        });\n        log(\"consent default: all denied\");\n      } catch (e) {}\n    })();\n    function applyConsentFromOneTrust() {\n      const groups = getActiveGroups();\n      const hasPerf = groups.includes(\"C0002\") || groups.includes(\"2\");\n      try {\n        gtag(\"consent\", \"update\", {\n          analytics_storage: hasPerf ? \"granted\" : \"denied\"\n        });\n        log(\"consent update:\", hasPerf ? \"granted\" : \"denied\", {\n          groups\n        });\n      } catch (e) {}\n    }\n    (function enableGtmHttpsUpgrade() {\n      try {\n        const upgrade = el => {\n          if (el?.tagName === \"SCRIPT\" && typeof el.src === \"string\" && /^http:\\/\\/www\\.googletagmanager\\.com\\//i.test(el.src)) {\n            const newSrc = el.src.replace(/^http:\\/\\//i, \"https://\");\n            warn(\"upgrading GTM script to https\", {\n              from: el.src,\n              to: newSrc\n            });\n            el.src = newSrc;\n          }\n        };\n        const mo = new MutationObserver(muts => {\n          for (const m of muts) for (const n of m.addedNodes) upgrade(n);\n        });\n        mo.observe(document.documentElement, {\n          childList: true,\n          subtree: true\n        });\n      } catch (e) {}\n    })();\n    function insertScriptWithOneTrust() {\n      const url = `https://www.googletagmanager.com/gtag/js?id=${encodeURIComponent(MEASUREMENT_ID)}`;\n      const existing = document.querySelector('script[src^=\"https://www.googletagmanager.com/gtag/js\"]');\n      if (existing) {\n        log(\"found existing gtag.js; configure property\", existing);\n        configureThisProperty();\n        return;\n      }\n      ensureGtagShim();\n      const useOneTrust = !!(window.OneTrust && typeof OneTrust.InsertScript === \"function\");\n      log(\"insertScriptWithOneTrust\", {\n        useOneTrust,\n        activeGroups: getActiveGroups(),\n        targetGroup: \"2 (Performance/C0002)\",\n        url\n      });\n      if (useOneTrust) {\n        try {\n          OneTrust.InsertScript(url, \"head\", () => {\n            log(\"OneTrust onload: gtag.js loaded\");\n            configureThisProperty();\n          }, () => {\n            error(\"OneTrust error callback for gtag.js\");\n            activateOfflineStub(\"onetrust-insert-error\");\n          }, \"2\");\n        } catch (e) {\n          error(\"exception calling OneTrust.InsertScript; falling back\", e);\n          directInject(url);\n        }\n      } else {\n        warn(\"OneTrust not detected; using direct inject\");\n        directInject(url);\n      }\n    }\n    function directInject(url) {\n      const s = document.createElement(\"script\");\n      s.async = true;\n      s.src = url;\n      s.setAttribute(\"data-igames-gtag\", MEASUREMENT_ID);\n      s.addEventListener(\"load\", () => {\n        log(\"gtag.js loaded (direct inject)\");\n        configureThisProperty();\n      });\n      s.addEventListener(\"error\", e => {\n        error(\"failed to load gtag.js\", e, {\n          url\n        });\n        activateOfflineStub(\"gtag-load-error\");\n      });\n      document.head.appendChild(s);\n      log(\"appended <script> to <head>\", {\n        url\n      });\n    }\n    const prevWrapper = window.OptanonWrapper;\n    window.OptanonWrapper = function () {\n      log(\"OptanonWrapper invoked\", {\n        activeGroups: getActiveGroups()\n      });\n      try {\n        if (typeof prevWrapper === \"function\") {\n          log(\"calling previous OptanonWrapper\");\n          prevWrapper();\n        }\n      } catch (e) {\n        warn(\"previous OptanonWrapper threw\", e);\n      }\n      applyConsentFromOneTrust();\n      if (!window[LOADED_KEY]) {\n        log(\"not configured yet; attempting OneTrust insert\");\n        insertScriptWithOneTrust();\n      } else {\n        log(\"already configured at OptanonWrapper time\");\n      }\n    };\n    const isLocal = location.hostname === \"localhost\" || location.hostname === \"127.0.0.1\" || /\\.local$/.test(location.hostname);\n    if (isLocal) {\n      warn(\"localhost detected — will try to load gtag, but will stub on failure\");\n    }\n    applyConsentFromOneTrust();\n    if (!window[LOADED_KEY]) {\n      log(\"initial insert attempt\");\n      insertScriptWithOneTrust();\n    } else {\n      log(\"already configured before initial insert\");\n    }\n    api.onPageChange((url, title) => {\n      const hasGtag = typeof window.gtag === \"function\";\n      const configured = !!window[LOADED_KEY];\n      log(\"onPageChange\", {\n        url,\n        title,\n        hasGtag,\n        configured\n      });\n      if (hasGtag && configured) {\n        try {\n          gtag(\"event\", \"page_view\", {\n            page_title: title,\n            page_path: url,\n            page_location: window.location.href\n          });\n          log(\"page_view sent\");\n        } catch (e) {\n          error(\"failed sending page_view\", e);\n        }\n      } else {\n        warn(\"page_view not sent (gtag not ready) — is stub active?\");\n      }\n    });\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/constants/auth-providers\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.providerList = void 0;\n  const providerList = _exports.providerList = [\n  // { name: \"Steam\", icon: \"fab-steam\", profileVisible: true, providerUrl: () => null },\n  // {\n  //   name: \"Facebook\",\n  //   icon: \"fab-facebook\",\n  //   profileVisible: true,\n  //   profileUrl: (usernameOrId) => `https://www.facebook.com/${usernameOrId}`,\n  // },\n  {\n    name: \"Microsoft\",\n    icon: \"fab-windows\",\n    profileVisible: false,\n    profileUrl: () => null\n  }, {\n    name: \"Twitch\",\n    icon: \"fab-twitch\",\n    profileVisible: true,\n    profileUrl: username => `https://www.twitch.tv/${username}`\n  }, {\n    name: \"Google\",\n    icon: \"fab-google\",\n    profileVisible: false,\n    profileUrl: () => null\n  }];\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/both\", [\"exports\", \"@ember/component/helper\"], function (_exports, _helper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _helper.helper)(function both(_ref) {\n    let [a, b] = _ref;\n    return a && b;\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/capitalize\", [\"exports\", \"@ember/component/helper\"], function (_exports, _helper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _helper.helper)(function capitalize(_ref) {\n    let [a] = _ref;\n    if (typeof a !== 'string' || a.length === 0) {\n      return '';\n    }\n    return a.charAt(0).toUpperCase() + a.slice(1);\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/eq\", [\"exports\", \"@ember/component/helper\"], function (_exports, _helper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _helper.helper)(function eq(_ref) {\n    let [a, b] = _ref;\n    return a === b;\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/gt\", [\"exports\", \"@ember/component/helper\"], function (_exports, _helper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _helper.helper)(function gt(_ref) {\n    let [a, b] = _ref;\n    return Number(a) > Number(b);\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/has\", [\"exports\", \"@ember/component/helper\"], function (_exports, _helper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _helper.helper)(function has(_ref) {\n    let [set, key] = _ref;\n    return !!set?.has?.(key);\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/inc\", [\"exports\", \"@ember/component/helper\"], function (_exports, _helper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _helper.helper)(function inc(_ref) {\n    let [n] = _ref;\n    let i = Number(n);\n    return Number.isNaN(i) ? 0 : i + 1;\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/is-last\", [\"exports\", \"@ember/component/helper\"], function (_exports, _helper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _helper.helper)(function isLast(_ref) {\n    let [item, array] = _ref;\n    return item === array[array.length - 1];\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/is-odd\", [\"exports\", \"@ember/component/helper\"], function (_exports, _helper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _helper.helper)(function isOdd(_ref) {\n    let [a] = _ref;\n    return a % 2 !== 0;\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/last-path-eq\", [\"exports\", \"@ember/component/helper\"], function (_exports, _helper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  function getLastPath(str) {\n    const lastSlashIndex = str.lastIndexOf('/');\n    if (lastSlashIndex === -1) {\n      // No slash found, return the original string or handle as needed\n      return str;\n    }\n    return str.slice(lastSlashIndex + 1);\n  }\n  var _default = _exports.default = (0, _helper.helper)(function lastPathEq(_ref) {\n    let [a, b] = _ref;\n    return getLastPath(a) === b;\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/lt\", [\"exports\", \"@ember/component/helper\"], function (_exports, _helper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _helper.helper)(function lt(_ref) {\n    let [a, b] = _ref;\n    return Number(a) < Number(b);\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/not\", [\"exports\", \"@ember/component/helper\"], function (_exports, _helper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _helper.helper)(function not(_ref) {\n    let [a] = _ref;\n    return !a;\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/helpers/upper\", [\"exports\", \"@ember/component/helper\"], function (_exports, _helper) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _helper.helper)(function upper(_ref) {\n    let [a] = _ref;\n    if (typeof a !== 'string' || a.length === 0) {\n      return '';\n    }\n    return a.toUpperCase();\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/modifiers/qr-code\", [\"exports\", \"discourse/plugins/discourse-plugin-content-platform/discourse/lib/qrcode\", \"ember-modifier\"], function (_exports, _qrcode, _emberModifier) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _emberModifier.modifier)(function qrCode(element, positional, named) {\n    const [positionalText] = positional;\n    const options = named || {};\n    const text = options.text ?? positionalText;\n    if (!text) {\n      element.innerHTML = \"\";\n      return;\n    }\n    if (!window.QRCode) {\n      // eslint-disable-next-line no-console\n      console.warn(\"qr-code modifier: window.QRCode not found. Did you load qrcode.min.js?\");\n      return;\n    }\n\n    // Clear previous render\n    element.innerHTML = \"\";\n    new window.QRCode(element, {\n      text,\n      width: options.width ?? 160,\n      height: options.height ?? 160,\n      colorDark: options.colorDark ?? \"#000000\",\n      colorLight: options.colorLight ?? \"#ffffff\",\n      correctLevel: window.QRCode.CorrectLevel?.H ?? 2\n    });\n    return () => {\n      element.innerHTML = \"\";\n    };\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/modifiers/select2\", [\"exports\", \"discourse/plugins/discourse-plugin-content-platform/discourse/lib/select2.min\", \"ember-modifier\", \"jquery\"], function (_exports, _select, _emberModifier, _jquery) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  // ensures $.fn.select2 is defined\n  var _default = _exports.default = (0, _emberModifier.modifier)(function select2(element, _positional, named) {\n    const $el = (0, _jquery.default)(element);\n    $el.select2(named?.options || {});\n    if (typeof named?.onChange === \"function\") {\n      $el.on(\"change.select2\", () => named.onChange($el.val()));\n    }\n    return () => {\n      $el.off(\".select2\");\n      try {\n        $el.select2(\"destroy\");\n      } catch {}\n    };\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/services/toast\", [\"exports\", \"@ember/service\", \"discourse/plugins/discourse-plugin-content-platform/discourse/lib/toastify-js\"], function (_exports, _service, _toastifyJs) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class ToastService extends _service.default {\n    _show() {\n      let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n      window.Toastify({\n        text: opts.text ?? \"\",\n        duration: opts.duration ?? 5000,\n        gravity: opts.gravity ?? \"top\",\n        // \"top\" | \"bottom\"\n        position: opts.position ?? \"center\",\n        // \"left\" | \"center\" | \"right\"\n        close: opts.close ?? true,\n        stopOnFocus: opts.stopOnFocus ?? true,\n        className: opts.className,\n        // e.g. \"toast-success\"\n        style: opts.style,\n        // optional inline styles\n        onClick: opts.onClick,\n        // optional click handler\n        offset: opts.offset ?? {\n          y: 90\n        }\n      }).showToast();\n    }\n    success(text) {\n      let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      this._show({\n        text,\n        className: \"toast-success\",\n        ...opts\n      });\n    }\n    error(text) {\n      let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      this._show({\n        text,\n        className: \"toast-error\",\n        duration: opts.duration ?? 5000,\n        ...opts\n      });\n    }\n    info(text) {\n      let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n      this._show({\n        text,\n        className: \"toast-info\",\n        ...opts\n      });\n    }\n  }\n  _exports.default = ToastService;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/app/services/ui\", [\"exports\", \"@ember/service\", \"@glimmer/tracking\"], function (_exports, _service, _tracking) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class UiService extends _service.default {\n    static #_ = (() => dt7948.g(this.prototype, \"loginOpen\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loginOpen = (() => (dt7948.i(this, \"loginOpen\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"showHeaderAction\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #showHeaderAction = (() => (dt7948.i(this, \"showHeaderAction\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"headerAction\", [_tracking.tracked], function () {\n      return {};\n    }))();\n    #headerAction = (() => (dt7948.i(this, \"headerAction\"), void 0))();\n    openLogin() {\n      this.loginOpen = true;\n    }\n    closeLogin() {\n      this.loginOpen = false;\n    }\n    toggleLogin() {\n      this.loginOpen = !this.loginOpen;\n    }\n    setHeaderAction(action) {\n      this.headerAction = action;\n      this.showHeaderAction = true;\n    }\n    clearHeaderAction() {\n      this.showHeaderAction = false;\n      this.headerAction = {};\n    }\n  }\n  _exports.default = UiService;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/advertisements-admin\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"discourse/lib/ajax\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _ajax, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"admin-container\" {{did-insert this.onInsert}}>\n    <div class=\"ig-admin-card-head\">\n      <h1>Advertisements</h1>\n      {{#if @backRoute}}\n        <LinkTo @route={{@backRoute}} class=\"btn btn-secondary igames-admin-button\">Back to Settings</LinkTo>\n      {{/if}}\n    </div>\n  \n    <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n        <h1 class=\"ig-admin-title\">Create New Advertisement</h1>\n      </div>\n  \n      <form {{on \"submit\" this.createAd}} enctype=\"multipart/form-data\" class=\"ig-form\">\n        <div class=\"form-row\">\n          <label>Image</label>\n          <input id=\"ad-file-input\" type=\"file\" accept=\"image/*\" {{on \"change\" this.handleFileChange}} />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Target URL</label>\n          <Input @value={{this.targetUrl}} placeholder=\"https://example.com/promo\" />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Section</label>\n          <select value={{this.section}} {{on \"change\" this.updateSection}}>\n            <option value=\"\">-- Select a section --</option>\n            {{#each this.sections as |s|}}\n              <option value={{s}}>{{s}}</option>\n            {{/each}}\n          </select>\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Location</label>\n          <Input @value={{this.location}} placeholder=\"1-5\" />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Active From</label>\n          <Input @type=\"datetime-local\" @value={{this.activeFrom}} />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Active To</label>\n          <Input @type=\"datetime-local\" @value={{this.activeTo}} />\n        </div>\n  \n        <div class=\"ig-actions\">\n          <button type=\"submit\" class=\"btn btn-primary\" disabled={{this.uploading}}>\n            {{if this.uploading \"Uploading...\" \"Create Advertisement\"}}\n          </button>\n        </div>\n  \n        {{#if this.saveMessage}}\n          <div class=\"ig-result success\"><div class=\"ig-result-title\">{{this.saveMessage}}</div></div>\n        {{/if}}\n  \n        {{#if this.saveErrorMessage}}\n          <div class=\"ig-alert danger\">Error: {{this.saveErrorMessage}}</div>\n        {{/if}}\n      </form>\n    </div>\n  \n    <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n        <h2>Existing Ads</h2>\n  \n        <div class=\"ig-actions\">\n          <button type=\"button\" class=\"btn btn-secondary\" {{on \"click\" this.prevPage}} disabled={{eq this.cursorStack.length 0}}>\n            ← Prev\n          </button>\n          <button type=\"button\" class=\"btn btn-secondary\" {{on \"click\" this.nextPage}} disabled={{not this.nextCursor}}>\n            Next →\n          </button>\n          <button type=\"button\" class=\"btn btn-secondary\" {{on \"click\" this.loadAds}} disabled={{this.loading}}>\n            {{if this.loading \"Refreshing...\" \"Refresh\"}}\n          </button>\n        </div>\n      </div>\n  \n      {{#if this.ads.length}}\n        <table class=\"ig-table\">\n          <thead>\n            <tr>\n              <th>Preview</th>\n              <th>Target URL</th>\n              <th>Section</th>\n              <th>Location</th>\n              <th>Slot</th>\n              <th>Status</th>\n              <th>Active Window</th>\n              <th>Created</th>\n              <th></th>\n            </tr>\n          </thead>\n          <tbody>\n            {{#each this.ads as |ad|}}\n              <tr>\n                <td>\n                  {{#if ad.image_url}}\n                    <img src={{ad.image_url}} alt=\"ad image\" class=\"ad-thumb\" />\n                  {{/if}}\n                </td>\n  \n                <td class=\"truncate\" title={{ad.target_url}}>\n                  {{#if ad.target_url}}{{ad.target_url}}{{else}}<span class=\"muted\">—</span>{{/if}}\n                </td>\n  \n                <td>{{ad.section}}</td>\n                <td>{{ad.location}}</td>\n                <td class=\"muted\"><code>{{ad.slot}}</code></td>\n  \n                <td>\n                  {{#if (eq ad.status \"active\")}}\n                    <span class=\"badge badge-success\">Active</span>\n                  {{else if (eq ad.status \"scheduled\")}}\n                    <span class=\"badge badge-info\">Scheduled</span>\n                  {{else if (eq ad.status \"expired\")}}\n                    <span class=\"badge badge-muted\">Expired</span>\n                  {{else}}\n                    <span class=\"badge\">—</span>\n                  {{/if}}\n                </td>\n  \n                <td>\n                  {{#if ad.active_from}}{{ad.active_from}}{{else}}<span class=\"muted\">—</span>{{/if}}\n                  &nbsp;–&nbsp;\n                  {{#if ad.active_to}}{{ad.active_to}}{{else}}<span class=\"muted\">—</span>{{/if}}\n                </td>\n  \n                <td>{{ad.created_at}}</td>\n  \n                <td>\n                  <button type=\"button\" class=\"btn btn-danger\" {{on \"click\" (fn this.deleteAd ad)}}>Delete</button>\n                </td>\n              </tr>\n            {{/each}}\n          </tbody>\n        </table>\n      {{else}}\n        <p>No ads found.</p>\n      {{/if}}\n  \n      <div class=\"ig-admin-card-foot\">\n        <div class=\"ig-actions\">\n          <button class=\"btn btn-secondary\" type=\"button\" {{on \"click\" this.prevPage}} disabled={{eq this.cursorStack.length 0}}>\n            ← Prev\n          </button>\n          <button class=\"btn btn-secondary\" type=\"button\" {{on \"click\" this.nextPage}} disabled={{not this.nextCursor}}>\n            Next →\n          </button>\n        </div>\n        <div class=\"muted\">\n          Showing {{this.ads.length}} item(s).\n        </div>\n      </div>\n  \n      {{#if this.deleteMessage}}\n        <div class=\"ig-result success\"><div class=\"ig-result-title\">{{this.deleteMessage}}</div></div>\n      {{/if}}\n  \n      {{#if this.deleteErrorMessage}}\n        <div class=\"ig-alert danger\">Error: {{this.deleteErrorMessage}}</div>\n      {{/if}}\n    </div>\n  </div>\n  \n  */\n  {\n    \"id\": \"Gnpg1e+M\",\n    \"block\": \"[[[11,0],[24,0,\\\"admin-container\\\"],[4,[38,1],[[30,0,[\\\"onInsert\\\"]]],null],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"h1\\\"],[12],[1,\\\"Advertisements\\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\"      \\\"],[8,[39,4],[[24,0,\\\"btn btn-secondary igames-admin-button\\\"]],[[\\\"@route\\\"],[[30,1]]],[[\\\"default\\\"],[[[[1,\\\"Back to Settings\\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h1\\\"],[14,0,\\\"ig-admin-title\\\"],[12],[1,\\\"Create New Advertisement\\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[11,\\\"form\\\"],[24,\\\"enctype\\\",\\\"multipart/form-data\\\"],[24,0,\\\"ig-form\\\"],[4,[38,6],[\\\"submit\\\",[30,0,[\\\"createAd\\\"]]],null],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Image\\\"],[13],[1,\\\"\\\\n        \\\"],[11,\\\"input\\\"],[24,1,\\\"ad-file-input\\\"],[24,\\\"accept\\\",\\\"image/*\\\"],[24,4,\\\"file\\\"],[4,[38,6],[\\\"change\\\",[30,0,[\\\"handleFileChange\\\"]]],null],[12],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Target URL\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,8],[[24,\\\"placeholder\\\",\\\"https://example.com/promo\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"targetUrl\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Section\\\"],[13],[1,\\\"\\\\n        \\\"],[11,\\\"select\\\"],[16,2,[30,0,[\\\"section\\\"]]],[4,[38,6],[\\\"change\\\",[30,0,[\\\"updateSection\\\"]]],null],[12],[1,\\\"\\\\n          \\\"],[10,\\\"option\\\"],[14,2,\\\"\\\"],[12],[1,\\\"-- Select a section --\\\"],[13],[1,\\\"\\\\n\\\"],[42,[28,[37,12],[[28,[37,12],[[30,0,[\\\"sections\\\"]]],null]],null],null,[[[1,\\\"            \\\"],[10,\\\"option\\\"],[15,2,[30,2]],[12],[1,[30,2]],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Location\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,8],[[24,\\\"placeholder\\\",\\\"1-5\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"location\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Active From\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,8],null,[[\\\"@type\\\",\\\"@value\\\"],[\\\"datetime-local\\\",[30,0,[\\\"activeFrom\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Active To\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,8],null,[[\\\"@type\\\",\\\"@value\\\"],[\\\"datetime-local\\\",[30,0,[\\\"activeTo\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"button\\\"],[14,0,\\\"btn btn-primary\\\"],[15,\\\"disabled\\\",[30,0,[\\\"uploading\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n          \\\"],[1,[52,[30,0,[\\\"uploading\\\"]],\\\"Uploading...\\\",\\\"Create Advertisement\\\"]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"saveMessage\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"ig-result success\\\"],[12],[10,0],[14,0,\\\"ig-result-title\\\"],[12],[1,[30,0,[\\\"saveMessage\\\"]]],[13],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"saveErrorMessage\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"ig-alert danger\\\"],[12],[1,\\\"Error: \\\"],[1,[30,0,[\\\"saveErrorMessage\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h2\\\"],[12],[1,\\\"Existing Ads\\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[28,[37,15],[[30,0,[\\\"cursorStack\\\",\\\"length\\\"]],0],null]],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"prevPage\\\"]]],null],[12],[1,\\\"\\\\n          ← Prev\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[28,[37,16],[[30,0,[\\\"nextCursor\\\"]]],null]],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"nextPage\\\"]]],null],[12],[1,\\\"\\\\n          Next →\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[30,0,[\\\"loading\\\"]]],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"loadAds\\\"]]],null],[12],[1,\\\"\\\\n          \\\"],[1,[52,[30,0,[\\\"loading\\\"]],\\\"Refreshing...\\\",\\\"Refresh\\\"]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"ads\\\",\\\"length\\\"]],[[[1,\\\"      \\\"],[10,\\\"table\\\"],[14,0,\\\"ig-table\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Preview\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Target URL\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Section\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Location\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Slot\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Status\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Active Window\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Created\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,12],[[28,[37,12],[[30,0,[\\\"ads\\\"]]],null]],null],null,[[[1,\\\"            \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,3,[\\\"image_url\\\"]],[[[1,\\\"                  \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,3,[\\\"image_url\\\"]]],[14,\\\"alt\\\",\\\"ad image\\\"],[14,0,\\\"ad-thumb\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"              \\\"],[13],[1,\\\"\\\\n\\\\n              \\\"],[10,\\\"td\\\"],[14,0,\\\"truncate\\\"],[15,\\\"title\\\",[30,3,[\\\"target_url\\\"]]],[12],[1,\\\"\\\\n                \\\"],[41,[30,3,[\\\"target_url\\\"]],[[[1,[30,3,[\\\"target_url\\\"]]]],[]],[[[10,1],[14,0,\\\"muted\\\"],[12],[1,\\\"—\\\"],[13]],[]]],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"section\\\"]]],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"location\\\"]]],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[14,0,\\\"muted\\\"],[12],[10,\\\"code\\\"],[12],[1,[30,3,[\\\"slot\\\"]]],[13],[13],[1,\\\"\\\\n\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,15],[[30,3,[\\\"status\\\"]],\\\"active\\\"],null],[[[1,\\\"                  \\\"],[10,1],[14,0,\\\"badge badge-success\\\"],[12],[1,\\\"Active\\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[37,15],[[30,3,[\\\"status\\\"]],\\\"scheduled\\\"],null],[[[1,\\\"                  \\\"],[10,1],[14,0,\\\"badge badge-info\\\"],[12],[1,\\\"Scheduled\\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[37,15],[[30,3,[\\\"status\\\"]],\\\"expired\\\"],null],[[[1,\\\"                  \\\"],[10,1],[14,0,\\\"badge badge-muted\\\"],[12],[1,\\\"Expired\\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                  \\\"],[10,1],[14,0,\\\"badge\\\"],[12],[1,\\\"—\\\"],[13],[1,\\\"\\\\n                \\\"]],[]]]],[]]]],[]]],[1,\\\"              \\\"],[13],[1,\\\"\\\\n\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                \\\"],[41,[30,3,[\\\"active_from\\\"]],[[[1,[30,3,[\\\"active_from\\\"]]]],[]],[[[10,1],[14,0,\\\"muted\\\"],[12],[1,\\\"—\\\"],[13]],[]]],[1,\\\"\\\\n                 – \\\\n                \\\"],[41,[30,3,[\\\"active_to\\\"]],[[[1,[30,3,[\\\"active_to\\\"]]]],[]],[[[10,1],[14,0,\\\"muted\\\"],[12],[1,\\\"—\\\"],[13]],[]]],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"created_at\\\"]]],[13],[1,\\\"\\\\n\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-danger\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,26],[[30,0,[\\\"deleteAd\\\"]],[30,3]],null]],null],[12],[1,\\\"Delete\\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[3]],null],[1,\\\"        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"      \\\"],[10,2],[12],[1,\\\"No ads found.\\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-foot\\\"],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[28,[37,15],[[30,0,[\\\"cursorStack\\\",\\\"length\\\"]],0],null]],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"prevPage\\\"]]],null],[12],[1,\\\"\\\\n          ← Prev\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[28,[37,16],[[30,0,[\\\"nextCursor\\\"]]],null]],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"nextPage\\\"]]],null],[12],[1,\\\"\\\\n          Next →\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"muted\\\"],[12],[1,\\\"\\\\n        Showing \\\"],[1,[30,0,[\\\"ads\\\",\\\"length\\\"]]],[1,\\\" item(s).\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"deleteMessage\\\"]],[[[1,\\\"      \\\"],[10,0],[14,0,\\\"ig-result success\\\"],[12],[10,0],[14,0,\\\"ig-result-title\\\"],[12],[1,[30,0,[\\\"deleteMessage\\\"]]],[13],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"deleteErrorMessage\\\"]],[[[1,\\\"      \\\"],[10,0],[14,0,\\\"ig-alert danger\\\"],[12],[1,\\\"Error: \\\"],[1,[30,0,[\\\"deleteErrorMessage\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@backRoute\\\",\\\"s\\\",\\\"ad\\\"],false,[\\\"div\\\",\\\"did-insert\\\",\\\"h1\\\",\\\"if\\\",\\\"link-to\\\",\\\"form\\\",\\\"on\\\",\\\"label\\\",\\\"input\\\",\\\"select\\\",\\\"option\\\",\\\"each\\\",\\\"-track-array\\\",\\\"button\\\",\\\"h2\\\",\\\"eq\\\",\\\"not\\\",\\\"table\\\",\\\"thead\\\",\\\"tr\\\",\\\"th\\\",\\\"tbody\\\",\\\"td\\\",\\\"img\\\",\\\"span\\\",\\\"code\\\",\\\"fn\\\",\\\"p\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/advertisements-admin.hbs\",\n    \"isStrictMode\": false\n  });\n  class AdvertisementsAdmin extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"ads\", [_tracking.tracked], function () {\n      return this.args.initialAds ?? [];\n    }))();\n    #ads = (() => (dt7948.i(this, \"ads\"), void 0))(); // list + paging + loading\n    static #_2 = (() => dt7948.g(this.prototype, \"loading\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loading = (() => (dt7948.i(this, \"loading\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"uploading\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #uploading = (() => (dt7948.i(this, \"uploading\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"nextCursor\", [_tracking.tracked], function () {\n      return this.args.initialNextCursor ?? null;\n    }))();\n    #nextCursor = (() => (dt7948.i(this, \"nextCursor\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"currentCursor\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #currentCursor = (() => (dt7948.i(this, \"currentCursor\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"cursorStack\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #cursorStack = (() => (dt7948.i(this, \"cursorStack\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"pageSize\", [_tracking.tracked], function () {\n      return 50;\n    }))();\n    #pageSize = (() => (dt7948.i(this, \"pageSize\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"file\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #file = (() => (dt7948.i(this, \"file\"), void 0))(); // form fields\n    static #_9 = (() => dt7948.g(this.prototype, \"targetUrl\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #targetUrl = (() => (dt7948.i(this, \"targetUrl\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"section\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #section = (() => (dt7948.i(this, \"section\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"location\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #location = (() => (dt7948.i(this, \"location\"), void 0))();\n    static #_12 = (() => dt7948.g(this.prototype, \"activeFrom\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #activeFrom = (() => (dt7948.i(this, \"activeFrom\"), void 0))();\n    static #_13 = (() => dt7948.g(this.prototype, \"activeTo\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #activeTo = (() => (dt7948.i(this, \"activeTo\"), void 0))();\n    static #_14 = (() => dt7948.g(this.prototype, \"saveMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #saveMessage = (() => (dt7948.i(this, \"saveMessage\"), void 0))(); // messages\n    static #_15 = (() => dt7948.g(this.prototype, \"saveErrorMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #saveErrorMessage = (() => (dt7948.i(this, \"saveErrorMessage\"), void 0))();\n    static #_16 = (() => dt7948.g(this.prototype, \"deleteMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #deleteMessage = (() => (dt7948.i(this, \"deleteMessage\"), void 0))();\n    static #_17 = (() => dt7948.g(this.prototype, \"deleteErrorMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #deleteErrorMessage = (() => (dt7948.i(this, \"deleteErrorMessage\"), void 0))();\n    sections = [\"homepage\", \"profile\", \"user-settings\", \"edit-profile\", \"promotions-index\", \"promotions-promo\", \"blog-news-index\", \"blog-news-post\", \"loot-index\"];\n\n    // fetch once on mount if the route didn't pass initial data\n    onInsert() {\n      if (typeof this.args.initialAds === \"undefined\") {\n        this.loadAds({\n          reset: true\n        });\n      }\n    }\n\n    // -------- formatting helpers --------\n    static #_18 = (() => dt7948.n(this.prototype, \"onInsert\", [_object.action]))();\n    toDate(ts) {\n      if (ts == null) return null;\n      const n = Number(ts);\n      const ms = n < 1e12 ? n * 1000 : n; // accept seconds or ms\n      const d = new Date(ms);\n      return Number.isNaN(d.getTime()) ? null : d;\n    }\n    fmt(d) {\n      if (!d) return \"\";\n      const m = String(d.getMonth() + 1).padStart(2, \"0\");\n      const da = String(d.getDate()).padStart(2, \"0\");\n      const y = d.getFullYear();\n      return `${m}/${da}/${y}`;\n    }\n\n    // -------- ajax --------\n    async loadAds() {\n      let {\n        cursor = null,\n        reset = true\n      } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n      this.loading = true;\n      this.deleteMessage = \"\";\n      this.deleteErrorMessage = \"\";\n      try {\n        const qs = new URLSearchParams();\n        qs.set(\"limit\", String(this.pageSize));\n        if (cursor) qs.set(\"cursor\", cursor);\n        const resp = await (0, _ajax.ajax)(`/cp_ads?${qs.toString()}`, {\n          type: \"GET\"\n        });\n        const rows = (resp?.ads || []).map(ad => ({\n          ...ad,\n          active_from: this.fmt(this.toDate(ad.active_from)),\n          active_to: this.fmt(this.toDate(ad.active_to)),\n          created_at: this.fmt(this.toDate(ad.created_at))\n        }));\n        this.ads = reset ? rows : [...this.ads, ...rows];\n        this.currentCursor = cursor || null;\n        this.nextCursor = resp?.next_cursor || null;\n      } catch (e) {\n        this.deleteErrorMessage = e?.jqXHR?.responseJSON?.error || e?.message || \"Failed to load advertisements\";\n      } finally {\n        this.loading = false;\n      }\n    }\n    static #_19 = (() => dt7948.n(this.prototype, \"loadAds\", [_object.action]))();\n    nextPage() {\n      if (!this.nextCursor) return;\n      this.cursorStack = [...this.cursorStack, this.currentCursor];\n      return this.loadAds({\n        cursor: this.nextCursor,\n        reset: true\n      });\n    }\n    static #_20 = (() => dt7948.n(this.prototype, \"nextPage\", [_object.action]))();\n    prevPage() {\n      if (this.cursorStack.length === 0) return;\n      const stack = [...this.cursorStack];\n      const prev = stack.pop() || null;\n      this.cursorStack = stack;\n      return this.loadAds({\n        cursor: prev,\n        reset: true\n      });\n    }\n    static #_21 = (() => dt7948.n(this.prototype, \"prevPage\", [_object.action]))();\n    updateSection(e) {\n      this.section = e.target.value ?? \"\";\n    }\n    static #_22 = (() => dt7948.n(this.prototype, \"updateSection\", [_object.action]))();\n    handleFileChange(event) {\n      this.file = event.target.files?.[0] || null;\n    }\n    static #_23 = (() => dt7948.n(this.prototype, \"handleFileChange\", [_object.action]))();\n    async createAd(e) {\n      e?.preventDefault?.();\n      this.saveMessage = \"\";\n      this.saveErrorMessage = \"\";\n      if (!this.file) {\n        this.saveErrorMessage = \"Please choose an image file.\";\n        return;\n      }\n      const form = new FormData();\n      form.append(\"file\", this.file);\n      form.append(\"targetUrl\", this.targetUrl || \"\");\n      form.append(\"section\", this.section || \"\");\n      form.append(\"location\", this.location || \"\");\n      if (this.activeFrom) form.append(\"activeFrom\", this.activeFrom);\n      if (this.activeTo) form.append(\"activeTo\", this.activeTo);\n      this.uploading = true;\n      try {\n        const resp = await (0, _ajax.ajax)(\"/cp_ads\", {\n          type: \"POST\",\n          data: form,\n          processData: false,\n          contentType: false\n        });\n        if (resp?.success) {\n          // reset form\n          this.file = null;\n          this.targetUrl = \"\";\n          this.section = \"\";\n          this.location = \"\";\n          this.activeFrom = \"\";\n          this.activeTo = \"\";\n\n          // clear input\n          const input = document.getElementById(\"ad-file-input\");\n          if (input) input.value = \"\";\n          await this.loadAds({\n            reset: true\n          });\n          this.saveMessage = \"Advertisement Created!\";\n        } else {\n          this.saveErrorMessage = resp?.error || \"Failed to create advertisement\";\n        }\n      } catch (e2) {\n        this.saveErrorMessage = e2?.jqXHR?.responseJSON?.error || e2?.message || \"Failed to create advertisement\";\n      } finally {\n        this.uploading = false;\n      }\n    }\n    static #_24 = (() => dt7948.n(this.prototype, \"createAd\", [_object.action]))();\n    async deleteAd(ad) {\n      this.deleteMessage = \"\";\n      this.deleteErrorMessage = \"\";\n      if (!ad?.id) return;\n      if (!confirm(\"Delete this advertisement?\")) return;\n      try {\n        await (0, _ajax.ajax)(`/cp_ads/${encodeURIComponent(ad.id)}`, {\n          type: \"DELETE\"\n        });\n        await this.loadAds({\n          reset: true\n        });\n        this.deleteMessage = \"Advertisement deleted!\";\n      } catch (e) {\n        this.deleteErrorMessage = e?.jqXHR?.responseJSON?.error || e?.message || \"Failed to delete\";\n      }\n    }\n    static #_25 = (() => dt7948.n(this.prototype, \"deleteAd\", [_object.action]))();\n  }\n  _exports.default = AdvertisementsAdmin;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, AdvertisementsAdmin);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/banner-rotator\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/service\", \"@ember/template\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _service, _template, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"banner-rotator hero\" style={{this.heroAccentStyle}} {{did-insert this.start}} {{will-destroy this.stop}}\n      {{on \"mouseenter\" this.handleMouseEnter}} {{on \"mouseleave\" this.handleMouseLeave}}>\n  \n      {{#if @showWelcome}}\n      <div class=\"welcome-card\">\n          <div class=\"welcome-card__panel\">\n              <h4 class=\"welcome-card__title\">\n                  WELCOME<br>TO AMD HUB!\n              </h4>\n  \n              <hr class=\"welcome-card__rule\">\n  \n              <p class=\"welcome-card__line\">\n                  Already a member?\n                  <button type=\"button\" class=\"welcome-link\" {{on \"click\" this.openLoginFromWelcome}}>\n                      Login\n                  </button>\n              </p>\n              <p class=\"welcome-card__line\">\n                  First time here? Create an\n                  <LinkTo @route=\"sign-up\" class=\"welcome-link\">Account</LinkTo>\n              </p>\n          </div>\n      </div>\n      {{/if}}\n  \n      {{#if this.current}}\n      <a href={{this.current.target_url}} target={{if this.openInNewTab \"_blank\" \"_self\" }} rel={{if\n          this.openInNewTab \"noopener\" null}} class=\"banner-link\" aria-label=\"Open banner link\">\n          <picture>\n              {{#if this.current.mobile_banner_image_url}}\n              <source media=\"(max-width: 900px)\" sizes=\"100vw\" srcset=\"\n              {{this.current.mobile_banner_image_url}} 1080w\n            \">\n              {{/if}}\n  \n              <source media=\"(min-width: 900px)\" sizes=\"100vw\" srcset=\"\n            {{this.current.banner_image_url}} 1920w\n          \">\n              <img class=\"banner-img\" alt=\"Homepage banner\" src={{this.current.banner_image_url}} loading=\"eager\"\n                  decoding=\"async\" fetchpriority=\"high\">\n          </picture>\n      </a>\n  \n      {{/if}}\n  \n      {{#if (gt this.count 1)}}\n      <div class=\"banner-rail\" role=\"tablist\" aria-label=\"Banner selector\">\n          <button type=\"button\" class=\"rail-arrow prev\" {{on \"click\" this.prev}} aria-label=\"Previous banner\">‹</button>\n  \n          <div class=\"rail-thumbs\">\n              {{#each this.banners as |b i|}}\n              <button type=\"button\" role=\"tab\" aria-selected={{eq i this.index}} class=\"thumb {{if (eq i this.index) \"\n                  active\"}}\" {{on \"click\" (fn this.goTo i)}} aria-label={{concat \"Go to banner \" (inc i)}}>\n                  {{#if b.icon_image_url}}\n                  <img src={{b.icon_image_url}} alt=\"\">\n                  {{else}}\n                  <span class=\"thumb-fallback\"></span>\n                  {{/if}}\n              </button>\n              {{/each}}\n          </div>\n  \n          <button type=\"button\" class=\"rail-arrow next\" {{on \"click\" this.next}} aria-label=\"Next banner\">›</button>\n      </div>\n  \n      <div class=\"line-container\">\n          <div class=\"line left\"></div>\n          <div class=\"line right\"></div>\n      </div>\n      {{/if}}\n  </div>\n  */\n  {\n    \"id\": \"62T1T3tS\",\n    \"block\": \"[[[11,0],[24,0,\\\"banner-rotator hero\\\"],[16,5,[30,0,[\\\"heroAccentStyle\\\"]]],[4,[38,1],[[30,0,[\\\"start\\\"]]],null],[4,[38,2],[[30,0,[\\\"stop\\\"]]],null],[4,[38,3],[\\\"mouseenter\\\",[30,0,[\\\"handleMouseEnter\\\"]]],null],[4,[38,3],[\\\"mouseleave\\\",[30,0,[\\\"handleMouseLeave\\\"]]],null],[12],[1,\\\"\\\\n\\\\n\\\"],[41,[30,1],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"welcome-card\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"welcome-card__panel\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"h4\\\"],[14,0,\\\"welcome-card__title\\\"],[12],[1,\\\"\\\\n                WELCOME\\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"TO AMD HUB!\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,\\\"hr\\\"],[14,0,\\\"welcome-card__rule\\\"],[12],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,2],[14,0,\\\"welcome-card__line\\\"],[12],[1,\\\"\\\\n                Already a member?\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"welcome-link\\\"],[24,4,\\\"button\\\"],[4,[38,3],[\\\"click\\\",[30,0,[\\\"openLoginFromWelcome\\\"]]],null],[12],[1,\\\"\\\\n                    Login\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,2],[14,0,\\\"welcome-card__line\\\"],[12],[1,\\\"\\\\n                First time here? Create an\\\\n                \\\"],[8,[39,10],[[24,0,\\\"welcome-link\\\"]],[[\\\"@route\\\"],[\\\"sign-up\\\"]],[[\\\"default\\\"],[[[[1,\\\"Account\\\"]],[]]]]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"current\\\"]],[[[1,\\\"    \\\"],[10,3],[15,6,[30,0,[\\\"current\\\",\\\"target_url\\\"]]],[15,\\\"target\\\",[52,[30,0,[\\\"openInNewTab\\\"]],\\\"_blank\\\",\\\"_self\\\"]],[15,\\\"rel\\\",[52,[30,0,[\\\"openInNewTab\\\"]],\\\"noopener\\\",null]],[14,0,\\\"banner-link\\\"],[14,\\\"aria-label\\\",\\\"Open banner link\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"picture\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"current\\\",\\\"mobile_banner_image_url\\\"]],[[[1,\\\"            \\\"],[10,\\\"source\\\"],[14,\\\"media\\\",\\\"(max-width: 900px)\\\"],[14,\\\"sizes\\\",\\\"100vw\\\"],[15,\\\"srcset\\\",[29,[\\\"\\\\n            \\\",[30,0,[\\\"current\\\",\\\"mobile_banner_image_url\\\"]],\\\" 1080w\\\\n          \\\"]]],[12],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n            \\\"],[10,\\\"source\\\"],[14,\\\"media\\\",\\\"(min-width: 900px)\\\"],[14,\\\"sizes\\\",\\\"100vw\\\"],[15,\\\"srcset\\\",[29,[\\\"\\\\n          \\\",[30,0,[\\\"current\\\",\\\"banner_image_url\\\"]],\\\" 1920w\\\\n        \\\"]]],[12],[13],[1,\\\"\\\\n            \\\"],[10,\\\"img\\\"],[14,0,\\\"banner-img\\\"],[14,\\\"alt\\\",\\\"Homepage banner\\\"],[15,\\\"src\\\",[30,0,[\\\"current\\\",\\\"banner_image_url\\\"]]],[14,\\\"loading\\\",\\\"eager\\\"],[14,\\\"decoding\\\",\\\"async\\\"],[14,\\\"fetchpriority\\\",\\\"high\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[28,[37,15],[[30,0,[\\\"count\\\"]],1],null],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"banner-rail\\\"],[14,\\\"role\\\",\\\"tablist\\\"],[14,\\\"aria-label\\\",\\\"Banner selector\\\"],[12],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"rail-arrow prev\\\"],[24,\\\"aria-label\\\",\\\"Previous banner\\\"],[24,4,\\\"button\\\"],[4,[38,3],[\\\"click\\\",[30,0,[\\\"prev\\\"]]],null],[12],[1,\\\"‹\\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"rail-thumbs\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,17],[[28,[37,17],[[30,0,[\\\"banners\\\"]]],null]],null],null,[[[1,\\\"            \\\"],[11,\\\"button\\\"],[24,\\\"role\\\",\\\"tab\\\"],[16,\\\"aria-selected\\\",[28,[37,18],[[30,3],[30,0,[\\\"index\\\"]]],null]],[16,0,[29,[\\\"thumb \\\",[52,[28,[37,18],[[30,3],[30,0,[\\\"index\\\"]]],null],\\\"\\\\n                active\\\"]]]],[16,\\\"aria-label\\\",[28,[37,19],[\\\"Go to banner \\\",[28,[37,20],[[30,3]],null]],null]],[24,4,\\\"button\\\"],[4,[38,3],[\\\"click\\\",[28,[37,21],[[30,0,[\\\"goTo\\\"]],[30,3]],null]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"icon_image_url\\\"]],[[[1,\\\"                \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,2,[\\\"icon_image_url\\\"]]],[14,\\\"alt\\\",\\\"\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                \\\"],[10,1],[14,0,\\\"thumb-fallback\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"            \\\"],[13],[1,\\\"\\\\n\\\"]],[2,3]],null],[1,\\\"        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"rail-arrow next\\\"],[24,\\\"aria-label\\\",\\\"Next banner\\\"],[24,4,\\\"button\\\"],[4,[38,3],[\\\"click\\\",[30,0,[\\\"next\\\"]]],null],[12],[1,\\\"›\\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,0],[14,0,\\\"line-container\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"line left\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"line right\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[13]],[\\\"@showWelcome\\\",\\\"b\\\",\\\"i\\\"],false,[\\\"div\\\",\\\"did-insert\\\",\\\"will-destroy\\\",\\\"on\\\",\\\"if\\\",\\\"h4\\\",\\\"br\\\",\\\"hr\\\",\\\"p\\\",\\\"button\\\",\\\"link-to\\\",\\\"a\\\",\\\"picture\\\",\\\"source\\\",\\\"img\\\",\\\"gt\\\",\\\"each\\\",\\\"-track-array\\\",\\\"eq\\\",\\\"concat\\\",\\\"inc\\\",\\\"fn\\\",\\\"span\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/banner-rotator.hbs\",\n    \"isStrictMode\": false\n  });\n  class BannerRotatorComponent extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"ui\", [_service.service]))();\n    #ui = (() => (dt7948.i(this, \"ui\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"index\", [_tracking.tracked], function () {\n      return 0;\n    }))();\n    #index = (() => (dt7948.i(this, \"index\"), void 0))();\n    timerId = null;\n    get banners() {\n      return this.args.banners ?? [];\n    }\n    get count() {\n      return this.banners.length;\n    }\n    get current() {\n      return this.banners[this.index] ?? null;\n    }\n    get intervalMs() {\n      return this.args.intervalMs ?? 6000;\n    }\n    get heroAccentStyle() {\n      const c = this.current?.accent_color;\n      if (!c) return null;\n      const ok = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i.test(c) || /^rgba?\\(/i.test(c);\n      return ok ? (0, _template.htmlSafe)(`--hero-accent:${c}`) : null;\n    }\n    get openInNewTab() {\n      const url = this.current?.target_url?.trim() ?? \"\";\n      return /^https:\\/\\//i.test(url);\n    }\n    openLoginFromWelcome(e) {\n      e?.preventDefault();\n      e?.stopPropagation();\n      this.ui.openLogin();\n      requestAnimationFrame(() => document.getElementById(\"login-id\")?.focus());\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"openLoginFromWelcome\", [_object.action]))();\n    start() {\n      // Preload current and next image to avoid flicker\n      this.preload(this.current?.banner_image_url);\n      this.preload(this.banners[(this.index + 1) % Math.max(this.count, 1)]?.banner_image_url);\n      this.resume();\n    }\n    static #_4 = (() => dt7948.n(this.prototype, \"start\", [_object.action]))();\n    stop() {\n      this.pause();\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"stop\", [_object.action]))();\n    pause() {\n      if (this.timerId) {\n        clearInterval(this.timerId);\n        this.timerId = null;\n      }\n    }\n    resume() {\n      this.pause();\n      if (this.count > 1) {\n        this.timerId = setInterval(() => this.next(), this.intervalMs);\n      }\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"resume\", [_object.action]))();\n    next() {\n      if (this.count <= 1) return;\n      this.index = (this.index + 1) % this.count;\n      this.preload(this.banners[(this.index + 1) % this.count]?.banner_image_url);\n    }\n    static #_7 = (() => dt7948.n(this.prototype, \"next\", [_object.action]))();\n    prev() {\n      if (this.count <= 1) return;\n      this.index = (this.index - 1 + this.count) % this.count;\n    }\n    static #_8 = (() => dt7948.n(this.prototype, \"prev\", [_object.action]))();\n    goTo(i) {\n      if (i >= 0 && i < this.count) {\n        this.index = i;\n        this.resume();\n      }\n    }\n    static #_9 = (() => dt7948.n(this.prototype, \"goTo\", [_object.action]))();\n    handleMouseEnter() {\n      this.pause();\n    }\n    static #_10 = (() => dt7948.n(this.prototype, \"handleMouseEnter\", [_object.action]))();\n    handleMouseLeave() {\n      this.resume();\n    }\n    static #_11 = (() => dt7948.n(this.prototype, \"handleMouseLeave\", [_object.action]))();\n    preload(url) {\n      if (!url) return;\n      const img = new Image();\n      img.src = url;\n    }\n  }\n  _exports.default = BannerRotatorComponent;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, BannerRotatorComponent);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/blog-focus-carousel\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/runloop\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _runloop, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"blog-focus-carousel\" role=\"region\" aria-label={{this.ariaLabel}} {{on \"keydown\" this.onKey}} {{did-insert\n    this.setup}} {{will-destroy this.teardown}}>\n    {{#if @title}}\n    <h2 class=\"blog-focus-carousel__title\">{{@title}}</h2>\n    {{/if}}\n  \n    <div class=\"blog-focus-carousel__rail\" {{on \"mouseenter\" this.pause}} {{on \"mouseleave\" this.play}} {{on \"focusin\"\n      this.pause}} {{on \"focusout\" this.play}}>\n      {{#each this.slides as |slide i|}}\n      <div class=\"blog-focus-carousel__slide\" role=\"group\" aria-roledescription=\"slide\"\n        aria-label=\"Image {{inc i}} of {{this.count}}\" data-pos={{slide.pos}} aria-hidden={{slide.hidden}} tabindex={{if\n        (eq slide.pos \"0\" ) \"0\" \"-1\" }} {{on \"click\" (fn this.onSlideClick slide i)}}>\n        <img alt={{slide.alt}} src={{slide.src}} loading=\"lazy\" />\n      </div>\n      {{/each}}\n    </div>\n  \n    <div class=\"blog-focus-carousel__controls\" aria-hidden=\"true\">\n      <button type=\"button\" class=\"blog-focus-carousel__btn prev\" aria-label=\"Previous\" {{on \"click\" (fn this.step\n        -1)}}>&lt;</button>\n  \n      <button type=\"button\" class=\"blog-focus-carousel__btn next\" aria-label=\"Next\" {{on \"click\" (fn this.step\n        1)}}>&gt;</button>\n    </div>\n  </div>\n  */\n  {\n    \"id\": \"xVWKGhad\",\n    \"block\": \"[[[11,0],[24,0,\\\"blog-focus-carousel\\\"],[24,\\\"role\\\",\\\"region\\\"],[16,\\\"aria-label\\\",[30,0,[\\\"ariaLabel\\\"]]],[4,[38,1],[\\\"keydown\\\",[30,0,[\\\"onKey\\\"]]],null],[4,[38,2],[[30,0,[\\\"setup\\\"]]],null],[4,[38,3],[[30,0,[\\\"teardown\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\"  \\\"],[10,\\\"h2\\\"],[14,0,\\\"blog-focus-carousel__title\\\"],[12],[1,[30,1]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n  \\\"],[11,0],[24,0,\\\"blog-focus-carousel__rail\\\"],[4,[38,1],[\\\"mouseenter\\\",[30,0,[\\\"pause\\\"]]],null],[4,[38,1],[\\\"mouseleave\\\",[30,0,[\\\"play\\\"]]],null],[4,[38,1],[\\\"focusin\\\",[30,0,[\\\"pause\\\"]]],null],[4,[38,1],[\\\"focusout\\\",[30,0,[\\\"play\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,7],[[28,[37,7],[[30,0,[\\\"slides\\\"]]],null]],null],null,[[[1,\\\"    \\\"],[11,0],[24,0,\\\"blog-focus-carousel__slide\\\"],[24,\\\"role\\\",\\\"group\\\"],[24,\\\"aria-roledescription\\\",\\\"slide\\\"],[16,\\\"aria-label\\\",[29,[\\\"Image \\\",[28,[37,8],[[30,3]],null],\\\" of \\\",[30,0,[\\\"count\\\"]]]]],[16,\\\"data-pos\\\",[30,2,[\\\"pos\\\"]]],[16,\\\"aria-hidden\\\",[30,2,[\\\"hidden\\\"]]],[16,\\\"tabindex\\\",[52,[28,[37,9],[[30,2,[\\\"pos\\\"]],\\\"0\\\"],null],\\\"0\\\",\\\"-1\\\"]],[4,[38,1],[\\\"click\\\",[28,[37,10],[[30,0,[\\\"onSlideClick\\\"]],[30,2],[30,3]],null]],null],[12],[1,\\\"\\\\n      \\\"],[10,\\\"img\\\"],[15,\\\"alt\\\",[30,2,[\\\"alt\\\"]]],[15,\\\"src\\\",[30,2,[\\\"src\\\"]]],[14,\\\"loading\\\",\\\"lazy\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[2,3]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,0],[14,0,\\\"blog-focus-carousel__controls\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[1,\\\"\\\\n    \\\"],[11,\\\"button\\\"],[24,0,\\\"blog-focus-carousel__btn prev\\\"],[24,\\\"aria-label\\\",\\\"Previous\\\"],[24,4,\\\"button\\\"],[4,[38,1],[\\\"click\\\",[28,[37,10],[[30,0,[\\\"step\\\"]],-1],null]],null],[12],[1,\\\"<\\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[11,\\\"button\\\"],[24,0,\\\"blog-focus-carousel__btn next\\\"],[24,\\\"aria-label\\\",\\\"Next\\\"],[24,4,\\\"button\\\"],[4,[38,1],[\\\"click\\\",[28,[37,10],[[30,0,[\\\"step\\\"]],1],null]],null],[12],[1,\\\">\\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"@title\\\",\\\"slide\\\",\\\"i\\\"],false,[\\\"div\\\",\\\"on\\\",\\\"did-insert\\\",\\\"will-destroy\\\",\\\"if\\\",\\\"h2\\\",\\\"each\\\",\\\"-track-array\\\",\\\"inc\\\",\\\"eq\\\",\\\"fn\\\",\\\"img\\\",\\\"button\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/blog-focus-carousel.hbs\",\n    \"isStrictMode\": false\n  });\n  class BlogFocusCarouselComponent extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"index\", [_tracking.tracked], function () {\n      return 0;\n    }))();\n    #index = (() => (dt7948.i(this, \"index\"), void 0))();\n    timerId = null;\n\n    // Normalize @images into [{ id, src, alt, raw }]\n    get images() {\n      const srcs = this.args.images ?? [];\n      return srcs.map((it, idx) => {\n        if (typeof it === \"string\") {\n          return {\n            id: String(idx),\n            src: it,\n            alt: \"\",\n            raw: it\n          };\n        } else {\n          return {\n            id: it.id != null ? String(it.id) : String(idx),\n            src: it.src ?? it.url ?? \"\",\n            alt: it.alt ?? it.title ?? \"\",\n            raw: it\n          };\n        }\n      });\n    }\n    get count() {\n      return this.images.length;\n    }\n    get ariaLabel() {\n      return this.args.ariaLabel ?? \"Photo carousel\";\n    }\n\n    // Windowed positions\n    get slides() {\n      const n = this.count || 1;\n      const center = this.index % n;\n      return this.images.map((img, i) => {\n        let offset = (i - center + n) % n;\n        let wrapped = offset > n / 2 ? offset - n : offset;\n        let visible = wrapped >= -2 && wrapped <= 2;\n        return {\n          ...img,\n          pos: visible ? String(wrapped) : \"\",\n          hidden: visible ? \"false\" : \"true\"\n        };\n      });\n    }\n\n    // Controls\n    step(delta) {\n      if (this.count === 0) return;\n      this.index = (this.index + delta + this.count) % this.count;\n    }\n    static #_2 = (() => dt7948.n(this.prototype, \"step\", [_object.action]))();\n    onSlideClick(slide, i) {\n      const p = Number(slide.pos);\n      if (p < 0) this.step(+1);else if (p > 0) this.step(-1);else {\n        // Center slide → notify parent\n        this.args.onImageClick?.(this.images[i], i);\n      }\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"onSlideClick\", [_object.action]))();\n    onKey(e) {\n      if (e.key === \"ArrowLeft\") {\n        e.preventDefault();\n        this.step(-1);\n      }\n      if (e.key === \"ArrowRight\") {\n        e.preventDefault();\n        this.step(1);\n      }\n    }\n    static #_4 = (() => dt7948.n(this.prototype, \"onKey\", [_object.action]))();\n    get interval() {\n      return Number(this.args.interval ?? 5000);\n    }\n    setup() {\n      (0, _runloop.scheduleOnce)(\"afterRender\", this, this.play);\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"setup\", [_object.action]))();\n    teardown() {\n      this.stop();\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"teardown\", [_object.action]))();\n    play() {\n      this.stop();\n      if (this.interval > 0 && this.count > 1) {\n        this.timerId = setInterval(() => this.step(1), this.interval);\n      }\n    }\n    static #_7 = (() => dt7948.n(this.prototype, \"play\", [_object.action]))();\n    pause() {\n      this.stop();\n    }\n    static #_8 = (() => dt7948.n(this.prototype, \"pause\", [_object.action]))();\n    stop() {\n      if (this.timerId) {\n        clearInterval(this.timerId);\n        this.timerId = null;\n      }\n    }\n  }\n  _exports.default = BlogFocusCarouselComponent;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, BlogFocusCarouselComponent);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/campaign-admin\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"@glimmer/tracking\", \"discourse/lib/ajax\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _tracking, _ajax, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"admin-container\" {{did-insert this.onInsert}}>\n    <div class=\"ig-admin-card-head\">\n      <h1>Campaign Pages</h1>\n      {{#if @backRoute}}\n        <LinkTo @route={{@backRoute}} class=\"btn btn-secondary igames-admin-button\">Back to Settings</LinkTo>\n      {{/if}}\n    </div>\n  \n    {{!-- Create / Edit form --}}\n    <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n        <h2 class=\"ig-admin-title\">\n          {{if this.editingId \"Edit Campaign\" \"Create Campaign Page\"}}\n        </h2>\n      </div>\n  \n      <form class=\"ig-form\" {{on \"submit\" this.saveCampaign}}>\n        <div class=\"form-row\">\n          <label>Title</label>\n          <Input @value={{this.title}} required {{on \"input\" this.autoSlug}} />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Slug (optional)</label>\n          <Input @value={{this.slug}} placeholder=\"auto-from-title\" />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Private?</label>\n          <Input @type=\"checkbox\" @checked={{this.isPrivate}} />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Header Code (optional)</label>\n          <Textarea class=\"mono ig-code-input\" rows=\"10\" @value={{this.headerCode}}\n            placeholder=\"<meta ...> <link ...> <script src=...></script>\" />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>HTML</label>\n          <Textarea class=\"mono ig-code-input\" rows=\"15\" @value={{this.html}} placeholder=\"<div>something here</div>\" />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>CSS</label>\n          <Textarea class=\"mono ig-code-input\" rows=\"15\" @value={{this.css}} placeholder=\".some-class{color:red;}\" />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>JS</label>\n          <Textarea class=\"mono ig-code-input\" rows=\"15\" @value={{this.js}} placeholder='console.log(\"Running Javascript\");' />\n        </div>\n  \n        <div class=\"ig-actions\">\n          <button type=\"submit\" class=\"btn btn-primary\" disabled={{this.saving}}>\n            {{if this.saving (if this.editingId \"Saving…\" \"Saving…\") (if this.editingId \"Save Changes\" \"Create Page\")}}\n          </button>\n          {{#if this.editingId}}\n            <button type=\"button\" class=\"btn\" {{on \"click\" this.cancelEdit}}>Cancel</button>\n          {{/if}}\n        </div>\n  \n        {{#if this.errorMessage}}\n          <div class=\"ig-alert danger\">Error: {{this.errorMessage}}</div>\n        {{/if}}\n  \n        {{#if this.message}}\n          <div class=\"ig-result success\">\n            <div class=\"ig-result-title\">{{this.message}}</div>\n          </div>\n        {{/if}}\n      </form>\n    </div>\n  \n    {{!-- List existing campaigns --}}\n    <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n        <h2>Existing Campaigns</h2>\n      </div>\n  \n      {{#if this.campaigns.length}}\n        <table class=\"ig-table\">\n          <thead>\n            <tr>\n              <th>Title</th>\n              <th>Slug</th>\n              <th>Updated</th>\n              <th>Private</th>\n              <th></th>\n            </tr>\n          </thead>\n          <tbody>\n            {{#each this.campaigns as |c|}}\n              <tr>\n                <td>{{c.title}}</td>\n                <td><a href=\"/campaign/{{c.slug}}\" target=\"_blank\" rel=\"noopener\">/campaign/{{c.slug}}</a></td>\n                <td>{{c.updated_at_text}}</td>\n                <td>{{if c.is_private \"Yes\" \"No\"}}</td>\n                <td class=\"actions\">\n                  <button class=\"btn btn-small\" {{on \"click\" (fn this.startEdit c)}}>Edit</button>\n                  <button class=\"btn btn-small btn-danger\" {{on \"click\" (fn this.deleteCampaign c)}}>Delete</button>\n                </td>\n              </tr>\n            {{/each}}\n          </tbody>\n        </table>\n  \n        <div class=\"ig-table-footer\">\n          <div class=\"left muted\">\n            Showing {{this.campaigns.length}} of {{this.pageSize}} per page\n            {{#if this.loadingList}} &middot; Loading… {{/if}}\n          </div>\n          <div class=\"right pager\">\n            <button class=\"btn btn-small\" disabled={{eq this.prevStack.length 0}} {{on \"click\" this.prevPage}}>‹ Prev</button>\n            <button class=\"btn btn-small\" disabled={{not this.nextCursor}} {{on \"click\" this.nextPage}}>Next ›</button>\n  \n            <label class=\"muted ml-2\">Page size:</label>\n            <select class=\"page-size ml-1\" {{on \"change\" this.changePageSize}}>\n              <option selected={{eq this.pageSize 10}} value=\"10\">10</option>\n              <option selected={{eq this.pageSize 20}} value=\"20\">20</option>\n              <option selected={{eq this.pageSize 50}} value=\"50\">50</option>\n              <option selected={{eq this.pageSize 100}} value=\"100\">100</option>\n            </select>\n          </div>\n        </div>\n      {{else}}\n        <p class=\"muted\">No campaigns yet.</p>\n      {{/if}}\n    </div>\n  </div>\n  \n  */\n  {\n    \"id\": \"kJg+2SF7\",\n    \"block\": \"[[[11,0],[24,0,\\\"admin-container\\\"],[4,[38,1],[[30,0,[\\\"onInsert\\\"]]],null],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"h1\\\"],[12],[1,\\\"Campaign Pages\\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\"      \\\"],[8,[39,4],[[24,0,\\\"btn btn-secondary igames-admin-button\\\"]],[[\\\"@route\\\"],[[30,1]]],[[\\\"default\\\"],[[[[1,\\\"Back to Settings\\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"  \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h2\\\"],[14,0,\\\"ig-admin-title\\\"],[12],[1,\\\"\\\\n        \\\"],[1,[52,[30,0,[\\\"editingId\\\"]],\\\"Edit Campaign\\\",\\\"Create Campaign Page\\\"]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[11,\\\"form\\\"],[24,0,\\\"ig-form\\\"],[4,[38,7],[\\\"submit\\\",[30,0,[\\\"saveCampaign\\\"]]],null],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Title\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,9],[[24,\\\"required\\\",\\\"\\\"],[4,[38,7],[\\\"input\\\",[30,0,[\\\"autoSlug\\\"]]],null]],[[\\\"@value\\\"],[[30,0,[\\\"title\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Slug (optional)\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,9],[[24,\\\"placeholder\\\",\\\"auto-from-title\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"slug\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Private?\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,9],null,[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[30,0,[\\\"isPrivate\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Header Code (optional)\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,10],[[24,0,\\\"mono ig-code-input\\\"],[24,\\\"rows\\\",\\\"10\\\"],[24,\\\"placeholder\\\",\\\"<meta ...> <link ...> <script src=...></script>\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"headerCode\\\"]]]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"HTML\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,10],[[24,0,\\\"mono ig-code-input\\\"],[24,\\\"rows\\\",\\\"15\\\"],[24,\\\"placeholder\\\",\\\"<div>something here</div>\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"html\\\"]]]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"CSS\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,10],[[24,0,\\\"mono ig-code-input\\\"],[24,\\\"rows\\\",\\\"15\\\"],[24,\\\"placeholder\\\",\\\".some-class{color:red;}\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"css\\\"]]]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"JS\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,10],[[24,0,\\\"mono ig-code-input\\\"],[24,\\\"rows\\\",\\\"15\\\"],[24,\\\"placeholder\\\",\\\"console.log(\\\\\\\"Running Javascript\\\\\\\");\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"js\\\"]]]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"button\\\"],[14,0,\\\"btn btn-primary\\\"],[15,\\\"disabled\\\",[30,0,[\\\"saving\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n          \\\"],[1,[52,[30,0,[\\\"saving\\\"]],[52,[30,0,[\\\"editingId\\\"]],\\\"Saving…\\\",\\\"Saving…\\\"],[52,[30,0,[\\\"editingId\\\"]],\\\"Save Changes\\\",\\\"Create Page\\\"]]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"editingId\\\"]],[[[1,\\\"          \\\"],[11,\\\"button\\\"],[24,0,\\\"btn\\\"],[24,4,\\\"button\\\"],[4,[38,7],[\\\"click\\\",[30,0,[\\\"cancelEdit\\\"]]],null],[12],[1,\\\"Cancel\\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"errorMessage\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"ig-alert danger\\\"],[12],[1,\\\"Error: \\\"],[1,[30,0,[\\\"errorMessage\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"message\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"ig-result success\\\"],[12],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"ig-result-title\\\"],[12],[1,[30,0,[\\\"message\\\"]]],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"  \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h2\\\"],[12],[1,\\\"Existing Campaigns\\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"campaigns\\\",\\\"length\\\"]],[[[1,\\\"      \\\"],[10,\\\"table\\\"],[14,0,\\\"ig-table\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Title\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Slug\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Updated\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Private\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,18],[[28,[37,18],[[30,0,[\\\"campaigns\\\"]]],null]],null],null,[[[1,\\\"            \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"title\\\"]]],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[12],[10,3],[15,6,[29,[\\\"/campaign/\\\",[30,2,[\\\"slug\\\"]]]]],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener\\\"],[12],[1,\\\"/campaign/\\\"],[1,[30,2,[\\\"slug\\\"]]],[13],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"updated_at_text\\\"]]],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,[52,[30,2,[\\\"is_private\\\"]],\\\"Yes\\\",\\\"No\\\"]],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[14,0,\\\"actions\\\"],[12],[1,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-small\\\"],[4,[38,7],[\\\"click\\\",[28,[37,21],[[30,0,[\\\"startEdit\\\"]],[30,2]],null]],null],[12],[1,\\\"Edit\\\"],[13],[1,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-small btn-danger\\\"],[4,[38,7],[\\\"click\\\",[28,[37,21],[[30,0,[\\\"deleteCampaign\\\"]],[30,2]],null]],null],[12],[1,\\\"Delete\\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"ig-table-footer\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"left muted\\\"],[12],[1,\\\"\\\\n          Showing \\\"],[1,[30,0,[\\\"campaigns\\\",\\\"length\\\"]]],[1,\\\" of \\\"],[1,[30,0,[\\\"pageSize\\\"]]],[1,\\\" per page\\\\n          \\\"],[41,[30,0,[\\\"loadingList\\\"]],[[[1,\\\" · Loading… \\\"]],[]],null],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"right pager\\\"],[12],[1,\\\"\\\\n          \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-small\\\"],[16,\\\"disabled\\\",[28,[37,22],[[30,0,[\\\"prevStack\\\",\\\"length\\\"]],0],null]],[4,[38,7],[\\\"click\\\",[30,0,[\\\"prevPage\\\"]]],null],[12],[1,\\\"‹ Prev\\\"],[13],[1,\\\"\\\\n          \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-small\\\"],[16,\\\"disabled\\\",[28,[37,23],[[30,0,[\\\"nextCursor\\\"]]],null]],[4,[38,7],[\\\"click\\\",[30,0,[\\\"nextPage\\\"]]],null],[12],[1,\\\"Next ›\\\"],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,\\\"label\\\"],[14,0,\\\"muted ml-2\\\"],[12],[1,\\\"Page size:\\\"],[13],[1,\\\"\\\\n          \\\"],[11,\\\"select\\\"],[24,0,\\\"page-size ml-1\\\"],[4,[38,7],[\\\"change\\\",[30,0,[\\\"changePageSize\\\"]]],null],[12],[1,\\\"\\\\n            \\\"],[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,22],[[30,0,[\\\"pageSize\\\"]],10],null]],[14,2,\\\"10\\\"],[12],[1,\\\"10\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,22],[[30,0,[\\\"pageSize\\\"]],20],null]],[14,2,\\\"20\\\"],[12],[1,\\\"20\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,22],[[30,0,[\\\"pageSize\\\"]],50],null]],[14,2,\\\"50\\\"],[12],[1,\\\"50\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"option\\\"],[15,\\\"selected\\\",[28,[37,22],[[30,0,[\\\"pageSize\\\"]],100],null]],[14,2,\\\"100\\\"],[12],[1,\\\"100\\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"      \\\"],[10,2],[14,0,\\\"muted\\\"],[12],[1,\\\"No campaigns yet.\\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@backRoute\\\",\\\"c\\\"],false,[\\\"div\\\",\\\"did-insert\\\",\\\"h1\\\",\\\"if\\\",\\\"link-to\\\",\\\"h2\\\",\\\"form\\\",\\\"on\\\",\\\"label\\\",\\\"input\\\",\\\"textarea\\\",\\\"button\\\",\\\"table\\\",\\\"thead\\\",\\\"tr\\\",\\\"th\\\",\\\"tbody\\\",\\\"each\\\",\\\"-track-array\\\",\\\"td\\\",\\\"a\\\",\\\"fn\\\",\\\"eq\\\",\\\"not\\\",\\\"select\\\",\\\"option\\\",\\\"p\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/campaign-admin.hbs\",\n    \"isStrictMode\": false\n  });\n  class CampaignAdmin extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"title\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #title = (() => (dt7948.i(this, \"title\"), void 0))(); // form fields\n    static #_2 = (() => dt7948.g(this.prototype, \"slug\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #slug = (() => (dt7948.i(this, \"slug\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"isPrivate\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isPrivate = (() => (dt7948.i(this, \"isPrivate\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"headerCode\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #headerCode = (() => (dt7948.i(this, \"headerCode\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"html\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #html = (() => (dt7948.i(this, \"html\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"css\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #css = (() => (dt7948.i(this, \"css\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"js\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #js = (() => (dt7948.i(this, \"js\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"saving\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #saving = (() => (dt7948.i(this, \"saving\"), void 0))(); // ui state\n    static #_9 = (() => dt7948.g(this.prototype, \"message\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #message = (() => (dt7948.i(this, \"message\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"errorMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #errorMessage = (() => (dt7948.i(this, \"errorMessage\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"campaigns\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #campaigns = (() => (dt7948.i(this, \"campaigns\"), void 0))();\n    static #_12 = (() => dt7948.g(this.prototype, \"editingId\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #editingId = (() => (dt7948.i(this, \"editingId\"), void 0))();\n    static #_13 = (() => dt7948.g(this.prototype, \"pageSize\", [_tracking.tracked], function () {\n      return this.args.initialPageSize ?? 20;\n    }))();\n    #pageSize = (() => (dt7948.i(this, \"pageSize\"), void 0))(); // pagination state\n    static #_14 = (() => dt7948.g(this.prototype, \"currentCursor\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #currentCursor = (() => (dt7948.i(this, \"currentCursor\"), void 0))();\n    static #_15 = (() => dt7948.g(this.prototype, \"nextCursor\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #nextCursor = (() => (dt7948.i(this, \"nextCursor\"), void 0))();\n    static #_16 = (() => dt7948.g(this.prototype, \"prevStack\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #prevStack = (() => (dt7948.i(this, \"prevStack\"), void 0))();\n    static #_17 = (() => dt7948.g(this.prototype, \"loadingList\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loadingList = (() => (dt7948.i(this, \"loadingList\"), void 0))();\n    // initial fetch if parent didn’t pass data\n    onInsert() {\n      if (!this.args.initialCampaigns) {\n        this.firstPage();\n      } else {\n        this.campaigns = this.decorateRows(this.args.initialCampaigns);\n        this.nextCursor = this.args.initialNextCursor ?? null;\n      }\n    }\n\n    // ------ helpers ------\n    static #_18 = (() => dt7948.n(this.prototype, \"onInsert\", [_object.action]))();\n    toMs(epoch) {\n      if (!epoch && epoch !== 0) return null;\n      const n = Number(epoch);\n      return n < 1e12 ? n * 1000 : n; // seconds -> ms if needed\n    }\n    fmtDate(epoch) {\n      const ms = this.toMs(epoch);\n      if (!ms) return \"\";\n      return new Intl.DateTimeFormat(undefined, {\n        year: \"numeric\",\n        month: \"short\",\n        day: \"2-digit\",\n        hour: \"2-digit\",\n        minute: \"2-digit\",\n        second: \"2-digit\",\n        hour12: false\n      }).format(new Date(ms));\n    }\n    decorateRows(rows) {\n      return (rows || []).map(c => ({\n        ...c,\n        updated_at_ms: this.toMs(c.updated_at),\n        updated_at_text: this.fmtDate(c.updated_at)\n      }));\n    }\n\n    // ------ list paging ------\n    async loadCampaigns() {\n      let {\n        reset = false\n      } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n      this.loadingList = true;\n      this.errorMessage = \"\";\n      try {\n        const data = {\n          limit: this.pageSize\n        };\n        if (!reset && this.currentCursor) data.cursor = this.currentCursor;\n\n        // Using your existing listing endpoint:\n        const res = await (0, _ajax.ajax)(\"/admin/plugins/igames-cp/campaigns\", {\n          type: \"GET\",\n          data\n        });\n        this.campaigns = this.decorateRows(res.campaigns || []);\n        this.nextCursor = res.next_cursor || null;\n      } catch (e) {\n        this.errorMessage = e?.message || \"Failed to load campaigns\";\n        // optional console.log(e);\n      } finally {\n        this.loadingList = false;\n      }\n    }\n    static #_19 = (() => dt7948.n(this.prototype, \"loadCampaigns\", [_object.action]))();\n    async firstPage() {\n      this.prevStack = [];\n      this.currentCursor = null;\n      await this.loadCampaigns({\n        reset: true\n      });\n    }\n    static #_20 = (() => dt7948.n(this.prototype, \"firstPage\", [_object.action]))();\n    async nextPage() {\n      if (!this.nextCursor) return;\n      this.prevStack = [...this.prevStack, this.currentCursor];\n      this.currentCursor = this.nextCursor;\n      await this.loadCampaigns();\n    }\n    static #_21 = (() => dt7948.n(this.prototype, \"nextPage\", [_object.action]))();\n    async prevPage() {\n      if (this.prevStack.length === 0) return;\n      this.currentCursor = this.prevStack[this.prevStack.length - 1] || null;\n      this.prevStack = this.prevStack.slice(0, -1);\n      await this.loadCampaigns();\n    }\n    static #_22 = (() => dt7948.n(this.prototype, \"prevPage\", [_object.action]))();\n    async changePageSize(ev) {\n      this.pageSize = parseInt(ev.target.value, 10) || 20;\n      await this.firstPage();\n    }\n\n    // ------ form ------\n    static #_23 = (() => dt7948.n(this.prototype, \"changePageSize\", [_object.action]))();\n    autoSlug() {\n      if (!this.slug && this.title) {\n        this.slug = this.title.toLowerCase().replace(/[^a-z0-9\\- ]/g, \"\").replace(/[ ]+/g, \"-\").replace(/-+/g, \"-\");\n      }\n    }\n    static #_24 = (() => dt7948.n(this.prototype, \"autoSlug\", [_object.action]))();\n    async saveCampaign(e) {\n      e?.preventDefault();\n      this.saving = true;\n      this.message = \"\";\n      this.errorMessage = \"\";\n      const payload = {\n        title: this.title,\n        slug: this.slug,\n        is_private: this.isPrivate,\n        header_code: this.headerCode,\n        html: this.html,\n        css: this.css,\n        js: this.js\n      };\n      try {\n        if (this.editingId) {\n          const res = await (0, _ajax.ajax)(`/cp/campaigns/${this.editingId}`, {\n            type: \"POST\",\n            data: payload\n          });\n          this.message = `Updated “${res.title}”.`;\n          this.clearForm();\n        } else {\n          const res = await (0, _ajax.ajax)(\"/cp/campaigns\", {\n            type: \"POST\",\n            data: payload\n          });\n          this.message = `Created “${res.title}” at /campaign/${res.slug}`;\n          this.clearForm();\n        }\n        await this.loadCampaigns();\n      } catch (err) {\n        this.errorMessage = err?.jqXHR?.responseJSON?.errors?.join(\", \") || err?.message || \"Error saving campaign\";\n      } finally {\n        this.saving = false;\n      }\n    }\n    static #_25 = (() => dt7948.n(this.prototype, \"saveCampaign\", [_object.action]))();\n    startEdit(c) {\n      this.editingId = c.id;\n      this.title = c.title;\n      this.slug = c.slug;\n      this.isPrivate = !!c.is_private;\n      this.headerCode = c.header_code || \"\";\n      this.html = c.html || \"\";\n      this.css = c.css || \"\";\n      this.js = c.js || \"\";\n      this.message = `Editing “${c.title}”`;\n      this.errorMessage = \"\";\n      window.scrollTo({\n        top: 0,\n        behavior: \"smooth\"\n      });\n    }\n    static #_26 = (() => dt7948.n(this.prototype, \"startEdit\", [_object.action]))();\n    cancelEdit() {\n      this.editingId = null;\n      this.message = \"\";\n      this.errorMessage = \"\";\n      this.clearForm();\n    }\n    static #_27 = (() => dt7948.n(this.prototype, \"cancelEdit\", [_object.action]))();\n    async deleteCampaign(c) {\n      if (!confirm(`Delete “${c.title}”?`)) return;\n      try {\n        await (0, _ajax.ajax)(`/cp/campaigns/${c.id}`, {\n          type: \"DELETE\"\n        });\n        await this.loadCampaigns();\n        if (this.editingId === c.id) this.cancelEdit();\n      } catch (e) {\n        this.errorMessage = e?.message || \"Failed to delete campaign\";\n      }\n    }\n    static #_28 = (() => dt7948.n(this.prototype, \"deleteCampaign\", [_object.action]))();\n    clearForm() {\n      this.title = \"\";\n      this.slug = \"\";\n      this.isPrivate = false;\n      this.headerCode = \"\";\n      this.html = \"\";\n      this.css = \"\";\n      this.js = \"\";\n      this.editingId = null;\n    }\n  }\n  _exports.default = CampaignAdmin;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, CampaignAdmin);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/campaign-renderer\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"@glimmer/tracking\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _service, _tracking, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"campaign-frame-wrap\">\n    {{#if this.isLoading}}\n      <div class=\"campaign-loading\">\n        <div class=\"spinner\" aria-hidden=\"true\"></div>\n      </div>\n    {{/if}}\n  \n    <iframe\n      {{did-insert this.attachIframe}}\n      class=\"campaign-iframe\"\n      title=\"Campaign\">\n    </iframe>\n  </div>\n  \n  */\n  {\n    \"id\": \"SiAifmkL\",\n    \"block\": \"[[[10,0],[14,0,\\\"campaign-frame-wrap\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isLoading\\\"]],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"campaign-loading\\\"],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"spinner\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n  \\\"],[11,\\\"iframe\\\"],[24,0,\\\"campaign-iframe\\\"],[24,\\\"title\\\",\\\"Campaign\\\"],[4,[38,3],[[30,0,[\\\"attachIframe\\\"]]],null],[12],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,\\\"\\\\n\\\"]],[],false,[\\\"div\\\",\\\"if\\\",\\\"iframe\\\",\\\"did-insert\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/campaign-renderer.hbs\",\n    \"isStrictMode\": false\n  });\n  class CampaignRenderer extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n    #router = (() => (dt7948.i(this, \"router\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"isLoading\", [_tracking.tracked], function () {\n      return true;\n    }))();\n    #isLoading = (() => (dt7948.i(this, \"isLoading\"), void 0))();\n    // NOTE: did-insert passes the element as the first arg.\n    attachIframe(iframe) {\n      if (!iframe) return;\n      let slug = this.args.slug ?? this.router.currentRoute?.params?.slug;\n      if (!slug) return;\n      this.isLoading = true;\n      iframe.style.opacity = \"0\";\n      iframe.setAttribute(\"sandbox\", \"allow-scripts allow-same-origin allow-forms allow-popups\");\n      iframe.src = `/cp/campaigns/render/${encodeURIComponent(slug)}`;\n\n      // success\n      const onLoad = () => {\n        this.isLoading = false;\n        iframe.style.opacity = \"1\";\n        iframe.classList.add(\"is-ready\");\n      };\n\n      // error fallback\n      const onError = () => {\n        this.isLoading = false;\n        iframe.style.opacity = \"1\";\n      };\n      iframe.addEventListener(\"load\", onLoad, {\n        once: true\n      });\n      iframe.addEventListener(\"error\", onError, {\n        once: true\n      });\n\n      // optional: safety timeout so the spinner can't stick forever\n      setTimeout(() => {\n        if (this.isLoading) {\n          this.isLoading = false;\n          iframe.style.opacity = \"1\";\n        }\n      }, 10000);\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"attachIframe\", [_object.action]))();\n  }\n  _exports.default = CampaignRenderer;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, CampaignRenderer);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-account-create-avatar-picker\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"@ember/service\", \"@glimmer/tracking\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _service, _tracking, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cpap-mini-picker\" data-role=\"signup-avatar-picker\">\n      <div class=\"cpap-mini-row\">\n          {{#each this.randomEntries as |p|}}\n          <button type=\"button\" class=\"cpap-mini-btn {{if (eq p.key this.selectedKey) \" is-selected\"}}\" {{on \"click\" (fn\n              this.choose p.key)}} aria-label={{p.key}} aria-pressed={{eq p.key this.selectedKey}}\n              data-avatar-key={{p.key}}>\n              <img class=\"cpap-mini-img\" alt={{p.key}} src={{this.sizeUrl p.value 72}}>\n          </button>\n          {{/each}}\n      </div>\n  </div>\n  */\n  {\n    \"id\": \"58qe/DfR\",\n    \"block\": \"[[[10,0],[14,0,\\\"cpap-mini-picker\\\"],[14,\\\"data-role\\\",\\\"signup-avatar-picker\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"cpap-mini-row\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,2],[[28,[37,2],[[30,0,[\\\"randomEntries\\\"]]],null]],null],null,[[[1,\\\"        \\\"],[11,\\\"button\\\"],[16,0,[29,[\\\"cpap-mini-btn \\\",[52,[28,[37,5],[[30,1,[\\\"key\\\"]],[30,0,[\\\"selectedKey\\\"]]],null],\\\" is-selected\\\"]]]],[16,\\\"aria-label\\\",[30,1,[\\\"key\\\"]]],[16,\\\"aria-pressed\\\",[28,[37,5],[[30,1,[\\\"key\\\"]],[30,0,[\\\"selectedKey\\\"]]],null]],[16,\\\"data-avatar-key\\\",[30,1,[\\\"key\\\"]]],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,7],[[30,0,[\\\"choose\\\"]],[30,1,[\\\"key\\\"]]],null]],null],[12],[1,\\\"\\\\n            \\\"],[10,\\\"img\\\"],[14,0,\\\"cpap-mini-img\\\"],[15,\\\"alt\\\",[30,1,[\\\"key\\\"]]],[15,\\\"src\\\",[28,[30,0,[\\\"sizeUrl\\\"]],[[30,1,[\\\"value\\\"]],72],null]],[12],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"p\\\"],false,[\\\"div\\\",\\\"each\\\",\\\"-track-array\\\",\\\"button\\\",\\\"if\\\",\\\"eq\\\",\\\"on\\\",\\\"fn\\\",\\\"img\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-account-create-avatar-picker.hbs\",\n    \"isStrictMode\": false\n  });\n  class CpAccountCreateAvatarPicker extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    get count() {\n      return Number(this.args?.count ?? 5);\n    }\n    static #_2 = (() => dt7948.g(this.prototype, \"randomEntries\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #randomEntries = (() => (dt7948.i(this, \"randomEntries\"), void 0))();\n    constructor(owner, args) {\n      super(owner, args);\n      this.randomEntries = this._pickRandom(this.presetEntries, this.count);\n    }\n    get presetEntries() {\n      try {\n        const map = JSON.parse(this.siteSettings.cp_preset_avatars_json || \"{}\");\n        return Object.entries(map).map(_ref => {\n          let [key, value] = _ref;\n          return {\n            key,\n            value\n          };\n        });\n      } catch {\n        return [];\n      }\n    }\n    sizeUrl(tmpl, size) {\n      return (tmpl || \"\").replace(\"{size}\", String(size));\n    }\n    _pickRandom(list, n) {\n      const arr = Array.isArray(list) ? [...list] : [];\n      for (let i = arr.length - 1; i > 0; i--) {\n        const j = Math.floor(Math.random() * (i + 1));\n        [arr[i], arr[j]] = [arr[j], arr[i]];\n      }\n      return arr.slice(0, Math.max(0, Math.min(n, arr.length)));\n    }\n    choose(key) {\n      this.args?.onSelect?.(key);\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"choose\", [_object.action]))();\n    get selectedKey() {\n      return this.args?.selectedKey ?? null;\n    }\n  }\n  _exports.default = CpAccountCreateAvatarPicker;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, CpAccountCreateAvatarPicker);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-ad\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/template-factory\"], function (_exports, _component, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if this.hasAd}}\n    <a href={{@ad.target_url}} target=\"_blank\" rel=\"noopener noreferrer\">\n      <img \n        src={{@ad.image_url}} \n        class=\"cp-a-img\"\n        loading=\"lazy\"\n      >\n    </a>\n  {{/if}}\n  \n  */\n  {\n    \"id\": \"LUEEXzDZ\",\n    \"block\": \"[[[41,[30,0,[\\\"hasAd\\\"]],[[[1,\\\"  \\\"],[10,3],[15,6,[30,1,[\\\"target_url\\\"]]],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,1,[\\\"image_url\\\"]]],[14,0,\\\"cp-a-img\\\"],[14,\\\"loading\\\",\\\"lazy\\\"],[12],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[\\\"@ad\\\"],false,[\\\"if\\\",\\\"a\\\",\\\"img\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-ad.hbs\",\n    \"isStrictMode\": false\n  });\n  class CpAdComponent extends _component2.default {\n    get hasAd() {\n      return this.args.ad && this.args.ad.image_url;\n    }\n  }\n  _exports.default = CpAdComponent;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, CpAdComponent);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-avatar-picker\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"discourse/lib/ajax\", \"@ember/service\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _ajax, _service, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"preset-avatar-grid\">\n    {{#each this.presetEntries as |p|}}\n      <button\n        type=\"button\"\n        class=\"preset-avatar-btn\"\n        {{on \"click\" (fn this.select p.key)}}\n        aria-label={{p.key}}\n        title={{p.key}}\n      >\n        <img alt={{p.key}} src={{this.sizeUrl p.value 90}}>\n      </button>\n    {{/each}}\n  </div>\n  \n  */\n  {\n    \"id\": \"sb4QaTB/\",\n    \"block\": \"[[[10,0],[14,0,\\\"preset-avatar-grid\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,2],[[28,[37,2],[[30,0,[\\\"presetEntries\\\"]]],null]],null],null,[[[1,\\\"    \\\"],[11,\\\"button\\\"],[24,0,\\\"preset-avatar-btn\\\"],[16,\\\"aria-label\\\",[30,1,[\\\"key\\\"]]],[16,\\\"title\\\",[30,1,[\\\"key\\\"]]],[24,4,\\\"button\\\"],[4,[38,4],[\\\"click\\\",[28,[37,5],[[30,0,[\\\"select\\\"]],[30,1,[\\\"key\\\"]]],null]],null],[12],[1,\\\"\\\\n      \\\"],[10,\\\"img\\\"],[15,\\\"alt\\\",[30,1,[\\\"key\\\"]]],[15,\\\"src\\\",[28,[30,0,[\\\"sizeUrl\\\"]],[[30,1,[\\\"value\\\"]],90],null]],[12],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[13],[1,\\\"\\\\n\\\"]],[\\\"p\\\"],false,[\\\"div\\\",\\\"each\\\",\\\"-track-array\\\",\\\"button\\\",\\\"on\\\",\\\"fn\\\",\\\"img\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-avatar-picker.hbs\",\n    \"isStrictMode\": false\n  });\n  class CpAvatarPicker extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    get presetEntries() {\n      try {\n        const map = JSON.parse(this.siteSettings.cp_preset_avatars_json || \"{}\");\n        return Object.entries(map).map(_ref => {\n          let [key, value] = _ref;\n          return {\n            key,\n            value\n          };\n        });\n      } catch {\n        return [];\n      }\n    }\n    sizeUrl(tmpl, size) {\n      return (tmpl || \"\").replace(\"{size}\", String(size));\n    }\n    async select(key) {\n      const resp = await (0, _ajax.ajax)(\"/cp/edit-profile/change-avatar\", {\n        type: \"POST\",\n        data: {\n          key\n        }\n      });\n      if (resp?.success) {\n        // refresh avatar everywhere; pick one of these depending on your app flow:\n        window.location.reload();\n        // OR: this.currentUser?.findDetails();  (if you have the service handy)\n      }\n    }\n    static #_2 = (() => dt7948.n(this.prototype, \"select\", [_object.action]))();\n  }\n  _exports.default = CpAvatarPicker;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, CpAvatarPicker);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-footer\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/service\", \"@ember/template-factory\"], function (_exports, _component, _component2, _service, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if this.shouldShowFooter}}\n  <footer class=\"cp-footer\">\n      <div class=\"footer-top\">\n        <ul>\n          <li><a href=\"/legal/privacy\" target=\"_blank\">Privacy Policy</a></li>\n          <li><a href=\"/legal/tos\" target=\"_blank\">Terms of Service</a></li>\n          <li><a href=\"https://www.amd.com/en/legal/trademarks.html\" target=\"_blank\">Trademarks</a></li>\n          <li><a href=\"https://www.amd.com/content/dam/amd/en/documents/corporate/cr/supply-chain-transparency.pdf\" target=\"_blank\">Supply Chain Transparency</a></li>\n          <li><a href=\"https://www.amd.com/en/legal/competition.html\" target=\"_blank\">Fair &amp; Open Competition</a></li>\n          <li><a href=\"https://www.amd.com/content/dam/amd/en/documents/corporate/amd-uk-tax-strategy.pdf\" target=\"_blank\">UK Tax Strategy</a></li>\n          <li><a href=\"https://www.amd.com/en/legal/cookies.html\" target=\"_blank\">Cookies Policy</a></li>\n          <li><a class=\"ot-sdk-show-settings\" aria-label=\"Open cookie settings modal\">Cookie Settings</a></li>\n        </ul>\n        <div class=\"divider\"></div>\n        <div class=\"social-icons\">\n          <a href=\"https://www.facebook.com/AMDGaming\" target=\"_blank\">{{d-icon \"fab-facebook\"}}</a>\n          <a href=\"https://x.com/AMDGaming\" target=\"_blank\">{{d-icon \"fab-x-twitter\"}}</a>\n          <a href=\"https://www.instagram.com/amdxgaming\" target=\"_blank\">{{d-icon \"fab-instagram\"}}</a>\n          <a href=\"https://www.youtube.com/@Gaming-AMD\" target=\"_blank\">{{d-icon \"fab-youtube\"}}</a>\n          <a href=\"https://www.twitch.tv/amd/\" target=\"_blank\">{{d-icon \"fab-twitch\"}}</a>\n        </div>\n      </div>\n  \n      <span class=\"copyright\">© 2025 Advanced Micro Devices, Inc.</span>\n  </footer>\n  {{/if}}\n  */\n  {\n    \"id\": \"eRFiflI7\",\n    \"block\": \"[[[41,[30,0,[\\\"shouldShowFooter\\\"]],[[[10,\\\"footer\\\"],[14,0,\\\"cp-footer\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"footer-top\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"li\\\"],[12],[10,3],[14,6,\\\"/legal/privacy\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"Privacy Policy\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,\\\"li\\\"],[12],[10,3],[14,6,\\\"/legal/tos\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"Terms of Service\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,\\\"li\\\"],[12],[10,3],[14,6,\\\"https://www.amd.com/en/legal/trademarks.html\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"Trademarks\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,\\\"li\\\"],[12],[10,3],[14,6,\\\"https://www.amd.com/content/dam/amd/en/documents/corporate/cr/supply-chain-transparency.pdf\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"Supply Chain Transparency\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,\\\"li\\\"],[12],[10,3],[14,6,\\\"https://www.amd.com/en/legal/competition.html\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"Fair & Open Competition\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,\\\"li\\\"],[12],[10,3],[14,6,\\\"https://www.amd.com/content/dam/amd/en/documents/corporate/amd-uk-tax-strategy.pdf\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"UK Tax Strategy\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,\\\"li\\\"],[12],[10,3],[14,6,\\\"https://www.amd.com/en/legal/cookies.html\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"Cookies Policy\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,\\\"li\\\"],[12],[10,3],[14,0,\\\"ot-sdk-show-settings\\\"],[14,\\\"aria-label\\\",\\\"Open cookie settings modal\\\"],[12],[1,\\\"Cookie Settings\\\"],[13],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"divider\\\"],[12],[13],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"social-icons\\\"],[12],[1,\\\"\\\\n        \\\"],[10,3],[14,6,\\\"https://www.facebook.com/AMDGaming\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,[28,[35,6],[\\\"fab-facebook\\\"],null]],[13],[1,\\\"\\\\n        \\\"],[10,3],[14,6,\\\"https://x.com/AMDGaming\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,[28,[35,6],[\\\"fab-x-twitter\\\"],null]],[13],[1,\\\"\\\\n        \\\"],[10,3],[14,6,\\\"https://www.instagram.com/amdxgaming\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,[28,[35,6],[\\\"fab-instagram\\\"],null]],[13],[1,\\\"\\\\n        \\\"],[10,3],[14,6,\\\"https://www.youtube.com/@Gaming-AMD\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,[28,[35,6],[\\\"fab-youtube\\\"],null]],[13],[1,\\\"\\\\n        \\\"],[10,3],[14,6,\\\"https://www.twitch.tv/amd/\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,[28,[35,6],[\\\"fab-twitch\\\"],null]],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,1],[14,0,\\\"copyright\\\"],[12],[1,\\\"© 2025 Advanced Micro Devices, Inc.\\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[],false,[\\\"if\\\",\\\"footer\\\",\\\"div\\\",\\\"ul\\\",\\\"li\\\",\\\"a\\\",\\\"d-icon\\\",\\\"span\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-footer.hbs\",\n    \"isStrictMode\": false\n  });\n  class CpFooterComponent extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n    #router = (() => (dt7948.i(this, \"router\"), void 0))();\n    get shouldShowFooter() {\n      return !this.router.currentRouteName.startsWith(\"admin\");\n    }\n  }\n  _exports.default = CpFooterComponent;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, CpFooterComponent);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-forum-sidebar\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"discourse/models/category\", \"@ember/service\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/template-factory\"], function (_exports, _component, _component2, _category, _service, _tracking, _object, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if this.shouldShowSidebar}}\n      <div class=\"cp-sidebar-wrapper\" {{did-insert this.registerGlobalClick}} {{will-destroy this.unregisterGlobalClick}}>\n          <div class=\"forums-title-wrapper\">\n              <span>The</span>\n              <span class=\"forums-gold\">Forums</span>\n          </div>\n  \n          <!-- Mobile Dropdown -->\n          <button class=\"mobile-sidebar-dropdown\" {{on \"click\" this.toggleMobileNav}}>\n              <div class=\"mobile-sidebar-dropdown-inner\" data-open=\"{{this.isMobileMenuOpen}}\">\n                  FORUMS DROPDOWN\n              </div>\n          </button>\n  \n          <div class=\"cp-forum-sidebar {{if (not this.isMobileMenuOpen) \"closed\"}}\" {{on \"click\" this.closeMobileNav}} {{on \"click\" this.closeMobileMenuOnOutsideClick}}>\n              <div class=\"cp-forum-sidebar-inner\">\n                  <div class=\"general-section\" title=\"View topics by category\">\n                      <LinkTo @route=\"discovery.categories\">Forums</LinkTo>\n                  </div>\n  \n                  <div class=\"cp-forum-sidebar-separator\"></div>\n  \n                  <div class=\"filter-section\">\n                      {{#if this.isLoggedIn}}\n                          <a title=\"All posts by me\" data-link-name=\"user-posts\" href=\"/u/{{ this.userSlug }}/activity\">\n                              My Posts\n                          </a>\n                      {{/if}}\n  \n                      <a title=\"Most popular topics\" data-link-name=\"most-popular\" href=\"/top\">\n                          Most Popular\n                      </a>\n  \n                      <a title=\"Most recent post\" data-link-name=\"latest-post\" href=\"/latest\">\n                          Latest Post\n                      </a>\n  \n                      {{#if this.isLoggedIn}}\n                          <a title=\"All my messages\" data-link-name=\"user-messages\" href=\"/u/{{ this.userSlug }}/messages\">\n                              My Messages\n                          </a>\n                      {{/if}}\n  \n                      <a class=\"search-link\" title=\"Search through topics\" data-link-name=\"search\" href=\"/search\">\n                          Search\n                      </a>\n  \n                      <a class=\"rules-link\" title=\"View site rules\" data-link-name=\"rules\" href=\"/faq\">\n                          Rules\n                      </a>\n                  </div>\n  \n                  <div class=\"cp-forum-sidebar-separator\"></div>\n  \n                  <div class=\"category-section\">\n                      {{#each this.categories as |cat|}}\n                          <a href=\"/c/{{cat.slug}}/{{cat.id}}\">\n                              {{cat.name}}\n                          </a>\n                      {{/each}}\n                  </div>\n              </div>\n          </div>\n      </div>\n  {{/if}}\n  */\n  {\n    \"id\": \"BSrFPa7Y\",\n    \"block\": \"[[[41,[30,0,[\\\"shouldShowSidebar\\\"]],[[[1,\\\"    \\\"],[11,0],[24,0,\\\"cp-sidebar-wrapper\\\"],[4,[38,2],[[30,0,[\\\"registerGlobalClick\\\"]]],null],[4,[38,3],[[30,0,[\\\"unregisterGlobalClick\\\"]]],null],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"forums-title-wrapper\\\"],[12],[1,\\\"\\\\n            \\\"],[10,1],[12],[1,\\\"The\\\"],[13],[1,\\\"\\\\n            \\\"],[10,1],[14,0,\\\"forums-gold\\\"],[12],[1,\\\"Forums\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Mobile Dropdown \\\"],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"mobile-sidebar-dropdown\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"toggleMobileNav\\\"]]],null],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"mobile-sidebar-dropdown-inner\\\"],[15,\\\"data-open\\\",[29,[[30,0,[\\\"isMobileMenuOpen\\\"]]]]],[12],[1,\\\"\\\\n                FORUMS DROPDOWN\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[11,0],[16,0,[29,[\\\"cp-forum-sidebar \\\",[52,[28,[37,7],[[30,0,[\\\"isMobileMenuOpen\\\"]]],null],\\\"closed\\\"]]]],[4,[38,6],[\\\"click\\\",[30,0,[\\\"closeMobileNav\\\"]]],null],[4,[38,6],[\\\"click\\\",[30,0,[\\\"closeMobileMenuOnOutsideClick\\\"]]],null],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"cp-forum-sidebar-inner\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"general-section\\\"],[14,\\\"title\\\",\\\"View topics by category\\\"],[12],[1,\\\"\\\\n                    \\\"],[8,[39,8],null,[[\\\"@route\\\"],[\\\"discovery.categories\\\"]],[[\\\"default\\\"],[[[[1,\\\"Forums\\\"]],[]]]]],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,0,\\\"cp-forum-sidebar-separator\\\"],[12],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,0,\\\"filter-section\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isLoggedIn\\\"]],[[[1,\\\"                        \\\"],[10,3],[14,\\\"title\\\",\\\"All posts by me\\\"],[14,\\\"data-link-name\\\",\\\"user-posts\\\"],[15,6,[29,[\\\"/u/\\\",[30,0,[\\\"userSlug\\\"]],\\\"/activity\\\"]]],[12],[1,\\\"\\\\n                            My Posts\\\\n                        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n                    \\\"],[10,3],[14,\\\"title\\\",\\\"Most popular topics\\\"],[14,\\\"data-link-name\\\",\\\"most-popular\\\"],[14,6,\\\"/top\\\"],[12],[1,\\\"\\\\n                        Most Popular\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,3],[14,\\\"title\\\",\\\"Most recent post\\\"],[14,\\\"data-link-name\\\",\\\"latest-post\\\"],[14,6,\\\"/latest\\\"],[12],[1,\\\"\\\\n                        Latest Post\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"isLoggedIn\\\"]],[[[1,\\\"                        \\\"],[10,3],[14,\\\"title\\\",\\\"All my messages\\\"],[14,\\\"data-link-name\\\",\\\"user-messages\\\"],[15,6,[29,[\\\"/u/\\\",[30,0,[\\\"userSlug\\\"]],\\\"/messages\\\"]]],[12],[1,\\\"\\\\n                            My Messages\\\\n                        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n                    \\\"],[10,3],[14,0,\\\"search-link\\\"],[14,\\\"title\\\",\\\"Search through topics\\\"],[14,\\\"data-link-name\\\",\\\"search\\\"],[14,6,\\\"/search\\\"],[12],[1,\\\"\\\\n                        Search\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,3],[14,0,\\\"rules-link\\\"],[14,\\\"title\\\",\\\"View site rules\\\"],[14,\\\"data-link-name\\\",\\\"rules\\\"],[14,6,\\\"/faq\\\"],[12],[1,\\\"\\\\n                        Rules\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,0,\\\"cp-forum-sidebar-separator\\\"],[12],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,0,\\\"category-section\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,11],[[28,[37,11],[[30,0,[\\\"categories\\\"]]],null]],null],null,[[[1,\\\"                        \\\"],[10,3],[15,6,[29,[\\\"/c/\\\",[30,1,[\\\"slug\\\"]],\\\"/\\\",[30,1,[\\\"id\\\"]]]]],[12],[1,\\\"\\\\n                            \\\"],[1,[30,1,[\\\"name\\\"]]],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[\\\"cat\\\"],false,[\\\"if\\\",\\\"div\\\",\\\"did-insert\\\",\\\"will-destroy\\\",\\\"span\\\",\\\"button\\\",\\\"on\\\",\\\"not\\\",\\\"link-to\\\",\\\"a\\\",\\\"each\\\",\\\"-track-array\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-forum-sidebar.hbs\",\n    \"isStrictMode\": false\n  });\n  class CpForumSidebar extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n    #router = (() => (dt7948.i(this, \"router\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"isMobileMenuOpen\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isMobileMenuOpen = (() => (dt7948.i(this, \"isMobileMenuOpen\"), void 0))();\n    constructor(owner, args) {\n      super(owner, args);\n      this.desiredCatSlugs = ['announcements', 'missions', 'pc-gaming', 'console-handheld-gaming', 'pc-building-parts', 'tech-deals', 'off-topic'];\n      this.categories = this.filterCategories(_category.default.list());\n    }\n    willDestroy() {\n      super.willDestroy(...arguments);\n      document.removeEventListener(\"click\", this.closeMobileMenuOnOutsideClick);\n      this.closeMobileNav();\n    }\n    get shouldShowSidebar() {\n      return !this.router.currentRouteName.startsWith(\"admin\");\n    }\n    get isLoggedIn() {\n      return !!this.currentUser;\n    }\n    get userSlug() {\n      return this.currentUser?.username;\n    }\n    filterCategories(categoryList) {\n      // Further filter categories to only those in the desired list\n      categoryList = categoryList.filter(c => {\n        const slug = (c.slug || '').toLowerCase();\n        return this.desiredCatSlugs.includes(slug); //&& c.isParent); // should be parents as they should all have a questions subcategory\n      });\n\n      // Reorder to match desired order\n      categoryList.sort((a, b) => this.desiredCatSlugs.indexOf(a.slug) - this.desiredCatSlugs.indexOf(b.slug));\n      return categoryList;\n    }\n\n    //////////////////////////////////////////////\n    /// ACTIONS\n    //////////////////////////////////////////////\n\n    registerGlobalClick() {\n      document.addEventListener(\"click\", this.closeMobileMenuOnOutsideClick);\n    }\n    static #_4 = (() => dt7948.n(this.prototype, \"registerGlobalClick\", [_object.action]))();\n    unregisterGlobalClick() {\n      document.removeEventListener(\"click\", this.closeMobileMenuOnOutsideClick);\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"unregisterGlobalClick\", [_object.action]))();\n    toggleMobileNav() {\n      this.isMobileMenuOpen = !this.isMobileMenuOpen;\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"toggleMobileNav\", [_object.action]))();\n    closeMobileNav() {\n      this.isMobileMenuOpen = false;\n    }\n    static #_7 = (() => dt7948.n(this.prototype, \"closeMobileNav\", [_object.action]))();\n    closeMobileMenuOnOutsideClick(event) {\n      const t = event.target;\n      const insideMobileMenu = t.closest(\".cp-sidebar-wrapper\");\n      if (!insideMobileMenu) {\n        this.isMobileMenuOpen = false;\n      }\n    }\n    static #_8 = (() => dt7948.n(this.prototype, \"closeMobileMenuOnOutsideClick\", [_object.action]))();\n  }\n  _exports.default = CpForumSidebar;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, CpForumSidebar);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-header\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/service\", \"@glimmer/tracking\", \"@ember/object\", \"discourse/lib/ajax\", \"@ember/runloop\", \"@ember/template-factory\"], function (_exports, _component, _component2, _service, _tracking, _object, _ajax, _runloop, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <header class=\"cp-header\" {{did-insert this.registerGlobalClick}} {{will-destroy this.unregisterGlobalClick}}>\n    <!-- Logo -->\n    <div>\n      <LinkTo @route=\"discovery\" as |link|>\n        <img src={{this.siteLogoUrl}} alt=\"{{this.siteTitle}}\" class=\"cp-header-logo\">\n      </LinkTo>\n    </div>\n  \n    <!-- Nav -->\n    <nav class=\"cp-head-nav\">\n      <!-- Optional action button (desktop only) -->\n      <div class=\"optional-action\" id=\"optionalAction\">\n        {{#if this.ui.showHeaderAction}}\n        <button type=\"button\" class=\"optional-action-btn\" {{on \"click\" this.ui.headerAction.onClick}}>\n          {{this.ui.headerAction.label}}\n        </button>\n        {{/if}}\n      </div>\n  \n      <!-- Quick Admin Tool -->\n      {{#if (both this.isLoggedIn this.currentUser.admin)}}\n      <li class=\"cp-head-link-qat\" {{on \"click\" this.closeQatOnOutsideClick}}>\n        <button id=\"qat-toggle-btn\" {{on \"click\" this.toggleQat}}>\n          QAT\n        </button>\n        <QuickAdminTool class=\"{{if (not this.isQatOpen) \" closed\"}}\" />\n      </li>\n      {{/if}}\n  \n      <!-- Hamburger toggle -->\n      <button type=\"button\" class=\"cp-nav-toggle\" aria-label=\"Open menu\" aria-expanded={{this.isMobileNavOpen}}\n        aria-controls=\"cp-mobile-menu\" {{on \"click\" this.toggleMobileNav}}>\n        {{d-icon (if this.isMobileNavOpen \"x\" \"bars\")}}\n      </button>\n  \n      <!-- Desktop nav links -->\n      <ul class=\"cp-head-links\">\n        <li>\n          <LinkTo @route=\"promotions-index\">promotions</LinkTo>\n        </li>\n        <li>\n          <LinkTo @route=\"blogs-index\">news</LinkTo>\n        </li>\n        <li>\n          <LinkTo @route=\"discovery.categories\">forums</LinkTo>\n        </li>\n        {{#if this.isLoggedIn}}\n        <li>\n          <LinkTo @route=\"rewards-index\">rewards</LinkTo>\n        </li>\n        {{/if}}\n        {{#if this.isLoggedIn}}\n        <li class=\"cp-head-link-notifications\" {{on \"click\" this.closeNotifMenuOnOutsideClick}} {{on \"click\"\n          this.updateNotificationCount}}>\n          <button id=\"user-menu-btn\" class=\"{{if (eq this.notificationCount 0) \" pad-right\"}}\" {{on \"click\"\n            this.toggleNotifMenu}}>\n            {{#if (eq this.notificationCount 0)}}\n            {{d-icon \"far-bell\"}}\n            {{else}}\n            {{d-icon \"bell\"}}\n            <span class=\"badge-notification notification-counter\" aria-hidden=\"true\">{{this.notificationCount}}</span>\n            {{/if}}\n          </button>\n          <Header::UserMenuWrapper @toggleUserMenu={{this.doNothing}} class=\"{{if (not this.isNotifMenuOpen) \" closed\"}}\"\n            {{did-insert this.registerProfileTabClick}} />\n        </li>\n        {{/if}}\n      </ul>\n  \n      <!-- User / login -->\n      <div class=\"cp-head-user\" {{on \"click\" this.closeOnOutsideClick}}>\n        {{#if this.isLoggedIn}}\n        <div class=\"dropdown {{if this.isMenuOpen \" open\"}}\">\n          <div class=\"cp-avatar-button\" {{on \"click\" this.toggleMenu}}>\n            {{avatar this.currentUser imageSize=30 class=\"cp-avatar\"}}\n          </div>\n  \n          {{#if this.isMenuOpen}}\n          <ul class=\"dropdown-menu\">\n            {{#if this.currentUser.two_factor_enabled}}\n            {{#if this.currentUser.admin}}\n            <li><a href=\"/admin\" {{on \"click\" this.closeMenu}}>Admin Dashboard</a></li>\n            {{/if}}\n            {{#if this.currentUser.amd_admin}}\n            <li>\n              <LinkTo @route=\"amd-admin\" {{on \"click\" this.closeMenu}}>Site Management</LinkTo>\n            </li>\n            {{/if}}\n            {{/if}}\n            <li>\n              <LinkTo @route=\"cp-profile\" @model={{this.userSlug}} {{on \"click\" this.closeMenu}}>Profile</LinkTo>\n            </li>\n            <li>\n              <LinkTo @route=\"cp-edit-profile\" {{on \"click\" this.closeMenu}}>Edit Profile</LinkTo>\n            </li>\n            <li>\n              <LinkTo @route=\"cp-account-settings\" {{on \"click\" this.closeMenu}}>Account Settings</LinkTo>\n            </li>\n            <li><a href=\"#\" {{on \"click\" (routeAction \"logout\" )}}>Sign Out</a></li>\n          </ul>\n          {{/if}}\n        </div>\n        {{else}}\n        <div class=\"dropdown {{if this.isMenuOpen \" open\"}}\">\n          <div class=\"cp-avatar-button\" {{on \"click\" this.toggleMenu}}>\n            {{d-icon \"user\"}}\n          </div>\n  \n          {{#if this.isMenuOpen}}\n          <div class=\"dropdown-login gradient-border\">\n            <div>\n              <center>\n                <h1>LOGIN</h1>\n              </center>\n              <hr>\n            </div>\n            <form {{on \"submit\" this.authenticate}}>\n              <div class=\"field\">\n                <Input @id=\"login-id\" placeholder=\"EMAIL\" @value={{this.identification}} disabled={{this.mfaRequired}} />\n              </div>\n  \n              <div class=\"field\">\n                <Input @id=\"login-pass\" @type=\"password\" placeholder=\"PASSWORD\" @value={{this.password}}\n                  disabled={{this.mfaRequired}} />\n              </div>\n  \n              {{#if this.mfaRequired}}\n              <div class=\"field\">\n                <Input @id=\"login-mfa\" placeholder=\"AUTHENTICATOR CODE\" @value={{this.mfaCode}} />\n              </div>\n              <p class=\"mfa-help\">\n                Open your authenticator app and enter the 6-digit code.\n              </p>\n              {{/if}}\n  \n              {{#if this.errorMessage}}\n              <p class=\"error\">{{this.errorMessage}}</p>\n              {{/if}}\n  \n              <button type=\"submit\" disabled={{this.isSubmitting}}>\n                {{if this.mfaRequired \"Verify Code\" \"Log In\"}}\n              </button>\n              <LinkTo @route=\"sign-up\" class=\"btn\" {{on \"click\" this.closeMenu}}>\n                Sign Up\n              </LinkTo>\n            </form>\n            <div class=\"cp-forgot-password\">\n              <LinkTo @route=\"cp-forgot-password\">Forgot password</LinkTo>\n            </div>\n            <div class=\"social-auth\">\n              <span class=\"social-auth__label\">Or sign in with</span>\n              <ul class=\"social-auth__list\">\n                <li>\n                  <a class=\"icon-token\" title=\"Sign in with Google\" aria-label=\"Sign in with Google\" role=\"button\"\n                    {{on \"click\" (fn this.startOidc \"Google\" )}}>\n                    {{d-icon \"fab-google\"}}\n                  </a>\n                </li>\n                <li>\n                  <a class=\"icon-token\" title=\"Sign in with Twitch\" aria-label=\"Sign in with Twitch\" role=\"button\"\n                    {{on \"click\" (fn this.startOidc \"Twitch\" )}}>\n                    {{d-icon \"fab-twitch\"}}\n                  </a>\n                </li>\n                {{!-- <li>\n                  <a class=\"icon-token\" title=\"Steam\" aria-disabled=\"Sign in with Steam\">\n                    {{d-icon \"fab-steam\"}}\n                  </a>\n                </li> --}}\n                {{!-- <li>\n                  <a class=\"icon-token\" title=\"Facebook\" aria-label=\"Sign in with Facebook\" role=\"button\" {{on \"click\" (fn\n                    this.startOidc \"Facebook\" )}}>\n                    {{d-icon \"fab-facebook\"}}\n                  </a>\n                </li> --}}\n                <li>\n                  <a class=\"icon-token\" title=\"Microsoft\" aria-label=\"Sign in with Microsoft\" role=\"button\" {{on \"click\"\n                    (fn this.startOidc \"Microsoft\" )}}>\n                    {{d-icon \"fab-windows\"}}\n                  </a>\n                </li>\n              </ul>\n            </div>\n          </div>\n          {{/if}}\n        </div>\n        {{/if}}\n      </div>\n    </nav>\n  </header>\n  \n  <!-- Mobile drawer -->\n  <div id=\"cp-mobile-menu\" class=\"cp-mobile-menu {{if this.isMobileNavOpen \" open\"}}\">\n    <ul class=\"cp-head-links\">\n      <li>\n        <LinkTo @route=\"promotions-index\" {{on \"click\" this.toggleMobileNav}}>promotions</LinkTo>\n      </li>\n      <li>\n        <LinkTo @route=\"blogs-index\" {{on \"click\" this.toggleMobileNav}}>news</LinkTo>\n      </li>\n      <li>\n        <LinkTo @route=\"discovery.categories\" {{on \"click\" this.toggleMobileNav}}>forums</LinkTo>\n      </li>\n      <li>\n        <LinkTo @route=\"rewards-index\" {{on \"click\" this.toggleMobileNav}}>rewards</LinkTo>\n      </li>\n      {{#if this.isLoggedIn}}\n      <li class=\"cp-head-link-notifications\" {{on \"click\" this.closeNotifMenuOnOutsideClick}} {{on \"click\"\n        this.updateNotificationCount}}>\n        <button id=\"user-menu-btn-list\" {{on \"click\" this.toggleNotifMenu}}>\n          notifications\n          {{#unless (eq this.notificationCount 0)}}\n          <span class=\"badge-notification notification-counter\" aria-hidden=\"true\">{{this.notificationCount}}</span>\n          {{/unless}}\n        </button>\n        <Header::UserMenuWrapper @toggleUserMenu={{this.doNothing}} class=\"{{if (not this.isNotifMenuOpen) \" closed\"}}\"\n          {{did-insert this.registerProfileTabClick}} />\n      </li>\n      {{/if}}\n    </ul>\n  \n    <div class=\"cp-head-user\">\n      {{#if this.isLoggedIn}}\n      <ul class=\"dropdown-menu open\">\n        {{#if this.currentUser.admin}}\n        <li><a href=\"/admin\">Admin Dashboard</a></li>\n        {{/if}}\n        <li>\n          <LinkTo @route=\"cp-profile\" @model={{this.userSlug}}>Profile</LinkTo>\n        </li>\n        <li>\n          <LinkTo @route=\"cp-edit-profile\">Edit Profile</LinkTo>\n        </li>\n        <li>\n          <LinkTo @route=\"cp-account-settings\">Account Settings</LinkTo>\n        </li>\n        <li><a href=\"#\" {{on \"click\" (routeAction \"logout\" )}}>Sign Out</a></li>\n      </ul>\n      {{else}}\n      <div class=\"dropdown-login gradient-border\">\n        <h1>LOGIN</h1>\n        <form {{on \"submit\" this.authenticate}}>\n          <div class=\"field\">\n            <Input @id=\"login-id-mobile\" placeholder=\"EMAIL\" @value={{this.identification}}\n              disabled={{this.mfaRequired}} />\n          </div>\n          <div class=\"field\">\n            <Input @id=\"login-pass-mobile\" @type=\"password\" placeholder=\"PASSWORD\" @value={{this.password}}\n              disabled={{this.mfaRequired}} />\n          </div>\n  \n          {{#if this.mfaRequired}}\n          <div class=\"field\">\n            <Input @id=\"login-mfa-mobile\" placeholder=\"AUTHENTICATOR CODE\" @value={{this.mfaCode}} />\n          </div>\n          <p class=\"mfa-help\">\n            Open your authenticator app and enter the 6-digit code.\n          </p>\n          {{/if}}\n  \n          {{#if this.errorMessage}}\n          <p class=\"error\">{{this.errorMessage}}</p>\n          {{/if}}\n  \n          <button type=\"submit\" disabled={{this.isSubmitting}}>\n            {{if this.mfaRequired \"Verify Code\" \"Log In\"}}\n          </button>\n          <LinkTo @route=\"sign-up\" class=\"btn\">Sign Up</LinkTo>\n        </form>\n      </div>\n      {{/if}}\n    </div>\n  </div>\n  */\n  {\n    \"id\": \"U5s3djDh\",\n    \"block\": \"[[[11,\\\"header\\\"],[24,0,\\\"cp-header\\\"],[4,[38,1],[[30,0,[\\\"registerGlobalClick\\\"]]],null],[4,[38,2],[[30,0,[\\\"unregisterGlobalClick\\\"]]],null],[12],[1,\\\"\\\\n  \\\"],[3,\\\" Logo \\\"],[1,\\\"\\\\n  \\\"],[10,0],[12],[1,\\\"\\\\n    \\\"],[8,[39,4],null,[[\\\"@route\\\"],[\\\"discovery\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n      \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,0,[\\\"siteLogoUrl\\\"]]],[15,\\\"alt\\\",[29,[[30,0,[\\\"siteTitle\\\"]]]]],[14,0,\\\"cp-header-logo\\\"],[12],[13],[1,\\\"\\\\n    \\\"]],[1]]]]],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[3,\\\" Nav \\\"],[1,\\\"\\\\n  \\\"],[10,\\\"nav\\\"],[14,0,\\\"cp-head-nav\\\"],[12],[1,\\\"\\\\n    \\\"],[3,\\\" Optional action button (desktop only) \\\"],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"optional-action\\\"],[14,1,\\\"optionalAction\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"ui\\\",\\\"showHeaderAction\\\"]],[[[1,\\\"      \\\"],[11,\\\"button\\\"],[24,0,\\\"optional-action-btn\\\"],[24,4,\\\"button\\\"],[4,[38,9],[\\\"click\\\",[30,0,[\\\"ui\\\",\\\"headerAction\\\",\\\"onClick\\\"]]],null],[12],[1,\\\"\\\\n        \\\"],[1,[30,0,[\\\"ui\\\",\\\"headerAction\\\",\\\"label\\\"]]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" Quick Admin Tool \\\"],[1,\\\"\\\\n\\\"],[41,[28,[37,10],[[30,0,[\\\"isLoggedIn\\\"]],[30,0,[\\\"currentUser\\\",\\\"admin\\\"]]],null],[[[1,\\\"    \\\"],[11,\\\"li\\\"],[24,0,\\\"cp-head-link-qat\\\"],[4,[38,9],[\\\"click\\\",[30,0,[\\\"closeQatOnOutsideClick\\\"]]],null],[12],[1,\\\"\\\\n      \\\"],[11,\\\"button\\\"],[24,1,\\\"qat-toggle-btn\\\"],[4,[38,9],[\\\"click\\\",[30,0,[\\\"toggleQat\\\"]]],null],[12],[1,\\\"\\\\n        QAT\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[8,[39,12],[[16,0,[29,[[52,[28,[37,13],[[30,0,[\\\"isQatOpen\\\"]]],null],\\\" closed\\\"]]]]],null,null],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n    \\\"],[3,\\\" Hamburger toggle \\\"],[1,\\\"\\\\n    \\\"],[11,\\\"button\\\"],[24,0,\\\"cp-nav-toggle\\\"],[24,\\\"aria-label\\\",\\\"Open menu\\\"],[16,\\\"aria-expanded\\\",[30,0,[\\\"isMobileNavOpen\\\"]]],[24,\\\"aria-controls\\\",\\\"cp-mobile-menu\\\"],[24,4,\\\"button\\\"],[4,[38,9],[\\\"click\\\",[30,0,[\\\"toggleMobileNav\\\"]]],null],[12],[1,\\\"\\\\n      \\\"],[1,[28,[35,14],[[52,[30,0,[\\\"isMobileNavOpen\\\"]],\\\"x\\\",\\\"bars\\\"]],null]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" Desktop nav links \\\"],[1,\\\"\\\\n    \\\"],[10,\\\"ul\\\"],[14,0,\\\"cp-head-links\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n        \\\"],[8,[39,4],null,[[\\\"@route\\\"],[\\\"promotions-index\\\"]],[[\\\"default\\\"],[[[[1,\\\"promotions\\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n        \\\"],[8,[39,4],null,[[\\\"@route\\\"],[\\\"blogs-index\\\"]],[[\\\"default\\\"],[[[[1,\\\"news\\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n        \\\"],[8,[39,4],null,[[\\\"@route\\\"],[\\\"discovery.categories\\\"]],[[\\\"default\\\"],[[[[1,\\\"forums\\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isLoggedIn\\\"]],[[[1,\\\"      \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n        \\\"],[8,[39,4],null,[[\\\"@route\\\"],[\\\"rewards-index\\\"]],[[\\\"default\\\"],[[[[1,\\\"rewards\\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[41,[30,0,[\\\"isLoggedIn\\\"]],[[[1,\\\"      \\\"],[11,\\\"li\\\"],[24,0,\\\"cp-head-link-notifications\\\"],[4,[38,9],[\\\"click\\\",[30,0,[\\\"closeNotifMenuOnOutsideClick\\\"]]],null],[4,[38,9],[\\\"click\\\",[30,0,[\\\"updateNotificationCount\\\"]]],null],[12],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,1,\\\"user-menu-btn\\\"],[16,0,[29,[[52,[28,[37,16],[[30,0,[\\\"notificationCount\\\"]],0],null],\\\" pad-right\\\"]]]],[4,[38,9],[\\\"click\\\",[30,0,[\\\"toggleNotifMenu\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,16],[[30,0,[\\\"notificationCount\\\"]],0],null],[[[1,\\\"          \\\"],[1,[28,[35,14],[\\\"far-bell\\\"],null]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"          \\\"],[1,[28,[35,14],[\\\"bell\\\"],null]],[1,\\\"\\\\n          \\\"],[10,1],[14,0,\\\"badge-notification notification-counter\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[1,[30,0,[\\\"notificationCount\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"        \\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,18],[[16,0,[29,[[52,[28,[37,13],[[30,0,[\\\"isNotifMenuOpen\\\"]]],null],\\\" closed\\\"]]]],[4,[38,1],[[30,0,[\\\"registerProfileTabClick\\\"]]],null]],[[\\\"@toggleUserMenu\\\"],[[30,0,[\\\"doNothing\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" User / login \\\"],[1,\\\"\\\\n    \\\"],[11,0],[24,0,\\\"cp-head-user\\\"],[4,[38,9],[\\\"click\\\",[30,0,[\\\"closeOnOutsideClick\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isLoggedIn\\\"]],[[[1,\\\"      \\\"],[10,0],[15,0,[29,[\\\"dropdown \\\",[52,[30,0,[\\\"isMenuOpen\\\"]],\\\" open\\\"]]]],[12],[1,\\\"\\\\n        \\\"],[11,0],[24,0,\\\"cp-avatar-button\\\"],[4,[38,9],[\\\"click\\\",[30,0,[\\\"toggleMenu\\\"]]],null],[12],[1,\\\"\\\\n          \\\"],[1,[28,[35,19],[[30,0,[\\\"currentUser\\\"]]],[[\\\"imageSize\\\",\\\"class\\\"],[30,\\\"cp-avatar\\\"]]]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"isMenuOpen\\\"]],[[[1,\\\"        \\\"],[10,\\\"ul\\\"],[14,0,\\\"dropdown-menu\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"currentUser\\\",\\\"two_factor_enabled\\\"]],[[[41,[30,0,[\\\"currentUser\\\",\\\"admin\\\"]],[[[1,\\\"          \\\"],[10,\\\"li\\\"],[12],[11,3],[24,6,\\\"/admin\\\"],[4,[38,9],[\\\"click\\\",[30,0,[\\\"closeMenu\\\"]]],null],[12],[1,\\\"Admin Dashboard\\\"],[13],[13],[1,\\\"\\\\n\\\"]],[]],null],[41,[30,0,[\\\"currentUser\\\",\\\"amd_admin\\\"]],[[[1,\\\"          \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n            \\\"],[8,[39,4],[[4,[38,9],[\\\"click\\\",[30,0,[\\\"closeMenu\\\"]]],null]],[[\\\"@route\\\"],[\\\"amd-admin\\\"]],[[\\\"default\\\"],[[[[1,\\\"Site Management\\\"]],[]]]]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],null],[1,\\\"          \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n            \\\"],[8,[39,4],[[4,[38,9],[\\\"click\\\",[30,0,[\\\"closeMenu\\\"]]],null]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"cp-profile\\\",[30,0,[\\\"userSlug\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"Profile\\\"]],[]]]]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n            \\\"],[8,[39,4],[[4,[38,9],[\\\"click\\\",[30,0,[\\\"closeMenu\\\"]]],null]],[[\\\"@route\\\"],[\\\"cp-edit-profile\\\"]],[[\\\"default\\\"],[[[[1,\\\"Edit Profile\\\"]],[]]]]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n            \\\"],[8,[39,4],[[4,[38,9],[\\\"click\\\",[30,0,[\\\"closeMenu\\\"]]],null]],[[\\\"@route\\\"],[\\\"cp-account-settings\\\"]],[[\\\"default\\\"],[[[[1,\\\"Account Settings\\\"]],[]]]]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"li\\\"],[12],[11,3],[24,6,\\\"#\\\"],[4,[38,9],[\\\"click\\\",[28,[37,21],[\\\"logout\\\"],null]],null],[12],[1,\\\"Sign Out\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"      \\\"],[10,0],[15,0,[29,[\\\"dropdown \\\",[52,[30,0,[\\\"isMenuOpen\\\"]],\\\" open\\\"]]]],[12],[1,\\\"\\\\n        \\\"],[11,0],[24,0,\\\"cp-avatar-button\\\"],[4,[38,9],[\\\"click\\\",[30,0,[\\\"toggleMenu\\\"]]],null],[12],[1,\\\"\\\\n          \\\"],[1,[28,[35,14],[\\\"user\\\"],null]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"isMenuOpen\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"dropdown-login gradient-border\\\"],[12],[1,\\\"\\\\n          \\\"],[10,0],[12],[1,\\\"\\\\n            \\\"],[10,\\\"center\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"h1\\\"],[12],[1,\\\"LOGIN\\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"hr\\\"],[12],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[11,\\\"form\\\"],[4,[38,9],[\\\"submit\\\",[30,0,[\\\"authenticate\\\"]]],null],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"field\\\"],[12],[1,\\\"\\\\n              \\\"],[8,[39,26],[[24,\\\"placeholder\\\",\\\"EMAIL\\\"],[16,\\\"disabled\\\",[30,0,[\\\"mfaRequired\\\"]]]],[[\\\"@id\\\",\\\"@value\\\"],[\\\"login-id\\\",[30,0,[\\\"identification\\\"]]]],null],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"field\\\"],[12],[1,\\\"\\\\n              \\\"],[8,[39,26],[[24,\\\"placeholder\\\",\\\"PASSWORD\\\"],[16,\\\"disabled\\\",[30,0,[\\\"mfaRequired\\\"]]]],[[\\\"@id\\\",\\\"@type\\\",\\\"@value\\\"],[\\\"login-pass\\\",\\\"password\\\",[30,0,[\\\"password\\\"]]]],null],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"mfaRequired\\\"]],[[[1,\\\"            \\\"],[10,0],[14,0,\\\"field\\\"],[12],[1,\\\"\\\\n              \\\"],[8,[39,26],[[24,\\\"placeholder\\\",\\\"AUTHENTICATOR CODE\\\"]],[[\\\"@id\\\",\\\"@value\\\"],[\\\"login-mfa\\\",[30,0,[\\\"mfaCode\\\"]]]],null],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,2],[14,0,\\\"mfa-help\\\"],[12],[1,\\\"\\\\n              Open your authenticator app and enter the 6-digit code.\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"errorMessage\\\"]],[[[1,\\\"            \\\"],[10,2],[14,0,\\\"error\\\"],[12],[1,[30,0,[\\\"errorMessage\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n            \\\"],[10,\\\"button\\\"],[15,\\\"disabled\\\",[30,0,[\\\"isSubmitting\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n              \\\"],[1,[52,[30,0,[\\\"mfaRequired\\\"]],\\\"Verify Code\\\",\\\"Log In\\\"]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[8,[39,4],[[24,0,\\\"btn\\\"],[4,[38,9],[\\\"click\\\",[30,0,[\\\"closeMenu\\\"]]],null]],[[\\\"@route\\\"],[\\\"sign-up\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n              Sign Up\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"cp-forgot-password\\\"],[12],[1,\\\"\\\\n            \\\"],[8,[39,4],null,[[\\\"@route\\\"],[\\\"cp-forgot-password\\\"]],[[\\\"default\\\"],[[[[1,\\\"Forgot password\\\"]],[]]]]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"social-auth\\\"],[12],[1,\\\"\\\\n            \\\"],[10,1],[14,0,\\\"social-auth__label\\\"],[12],[1,\\\"Or sign in with\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"ul\\\"],[14,0,\\\"social-auth__list\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                \\\"],[11,3],[24,0,\\\"icon-token\\\"],[24,\\\"title\\\",\\\"Sign in with Google\\\"],[24,\\\"aria-label\\\",\\\"Sign in with Google\\\"],[24,\\\"role\\\",\\\"button\\\"],[4,[38,9],[\\\"click\\\",[28,[37,28],[[30,0,[\\\"startOidc\\\"]],\\\"Google\\\"],null]],null],[12],[1,\\\"\\\\n                  \\\"],[1,[28,[35,14],[\\\"fab-google\\\"],null]],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n              \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                \\\"],[11,3],[24,0,\\\"icon-token\\\"],[24,\\\"title\\\",\\\"Sign in with Twitch\\\"],[24,\\\"aria-label\\\",\\\"Sign in with Twitch\\\"],[24,\\\"role\\\",\\\"button\\\"],[4,[38,9],[\\\"click\\\",[28,[37,28],[[30,0,[\\\"startOidc\\\"]],\\\"Twitch\\\"],null]],null],[12],[1,\\\"\\\\n                  \\\"],[1,[28,[35,14],[\\\"fab-twitch\\\"],null]],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n\\\"],[1,\\\"              \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                \\\"],[11,3],[24,0,\\\"icon-token\\\"],[24,\\\"title\\\",\\\"Microsoft\\\"],[24,\\\"aria-label\\\",\\\"Sign in with Microsoft\\\"],[24,\\\"role\\\",\\\"button\\\"],[4,[38,9],[\\\"click\\\",[28,[37,28],[[30,0,[\\\"startOidc\\\"]],\\\"Microsoft\\\"],null]],null],[12],[1,\\\"\\\\n                  \\\"],[1,[28,[35,14],[\\\"fab-windows\\\"],null]],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[3,\\\" Mobile drawer \\\"],[1,\\\"\\\\n\\\"],[10,0],[14,1,\\\"cp-mobile-menu\\\"],[15,0,[29,[\\\"cp-mobile-menu \\\",[52,[30,0,[\\\"isMobileNavOpen\\\"]],\\\" open\\\"]]]],[12],[1,\\\"\\\\n  \\\"],[10,\\\"ul\\\"],[14,0,\\\"cp-head-links\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n      \\\"],[8,[39,4],[[4,[38,9],[\\\"click\\\",[30,0,[\\\"toggleMobileNav\\\"]]],null]],[[\\\"@route\\\"],[\\\"promotions-index\\\"]],[[\\\"default\\\"],[[[[1,\\\"promotions\\\"]],[]]]]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n      \\\"],[8,[39,4],[[4,[38,9],[\\\"click\\\",[30,0,[\\\"toggleMobileNav\\\"]]],null]],[[\\\"@route\\\"],[\\\"blogs-index\\\"]],[[\\\"default\\\"],[[[[1,\\\"news\\\"]],[]]]]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n      \\\"],[8,[39,4],[[4,[38,9],[\\\"click\\\",[30,0,[\\\"toggleMobileNav\\\"]]],null]],[[\\\"@route\\\"],[\\\"discovery.categories\\\"]],[[\\\"default\\\"],[[[[1,\\\"forums\\\"]],[]]]]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n      \\\"],[8,[39,4],[[4,[38,9],[\\\"click\\\",[30,0,[\\\"toggleMobileNav\\\"]]],null]],[[\\\"@route\\\"],[\\\"rewards-index\\\"]],[[\\\"default\\\"],[[[[1,\\\"rewards\\\"]],[]]]]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isLoggedIn\\\"]],[[[1,\\\"    \\\"],[11,\\\"li\\\"],[24,0,\\\"cp-head-link-notifications\\\"],[4,[38,9],[\\\"click\\\",[30,0,[\\\"closeNotifMenuOnOutsideClick\\\"]]],null],[4,[38,9],[\\\"click\\\",[30,0,[\\\"updateNotificationCount\\\"]]],null],[12],[1,\\\"\\\\n      \\\"],[11,\\\"button\\\"],[24,1,\\\"user-menu-btn-list\\\"],[4,[38,9],[\\\"click\\\",[30,0,[\\\"toggleNotifMenu\\\"]]],null],[12],[1,\\\"\\\\n        notifications\\\\n\\\"],[41,[51,[28,[37,16],[[30,0,[\\\"notificationCount\\\"]],0],null]],[[[1,\\\"        \\\"],[10,1],[14,0,\\\"badge-notification notification-counter\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[1,[30,0,[\\\"notificationCount\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n      \\\"],[8,[39,18],[[16,0,[29,[[52,[28,[37,13],[[30,0,[\\\"isNotifMenuOpen\\\"]]],null],\\\" closed\\\"]]]],[4,[38,1],[[30,0,[\\\"registerProfileTabClick\\\"]]],null]],[[\\\"@toggleUserMenu\\\"],[[30,0,[\\\"doNothing\\\"]]]],null],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,0],[14,0,\\\"cp-head-user\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isLoggedIn\\\"]],[[[1,\\\"    \\\"],[10,\\\"ul\\\"],[14,0,\\\"dropdown-menu open\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"currentUser\\\",\\\"admin\\\"]],[[[1,\\\"      \\\"],[10,\\\"li\\\"],[12],[10,3],[14,6,\\\"/admin\\\"],[12],[1,\\\"Admin Dashboard\\\"],[13],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"      \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n        \\\"],[8,[39,4],null,[[\\\"@route\\\",\\\"@model\\\"],[\\\"cp-profile\\\",[30,0,[\\\"userSlug\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"Profile\\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n        \\\"],[8,[39,4],null,[[\\\"@route\\\"],[\\\"cp-edit-profile\\\"]],[[\\\"default\\\"],[[[[1,\\\"Edit Profile\\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n        \\\"],[8,[39,4],null,[[\\\"@route\\\"],[\\\"cp-account-settings\\\"]],[[\\\"default\\\"],[[[[1,\\\"Account Settings\\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[11,3],[24,6,\\\"#\\\"],[4,[38,9],[\\\"click\\\",[28,[37,21],[\\\"logout\\\"],null]],null],[12],[1,\\\"Sign Out\\\"],[13],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"dropdown-login gradient-border\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h1\\\"],[12],[1,\\\"LOGIN\\\"],[13],[1,\\\"\\\\n      \\\"],[11,\\\"form\\\"],[4,[38,9],[\\\"submit\\\",[30,0,[\\\"authenticate\\\"]]],null],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"field\\\"],[12],[1,\\\"\\\\n          \\\"],[8,[39,26],[[24,\\\"placeholder\\\",\\\"EMAIL\\\"],[16,\\\"disabled\\\",[30,0,[\\\"mfaRequired\\\"]]]],[[\\\"@id\\\",\\\"@value\\\"],[\\\"login-id-mobile\\\",[30,0,[\\\"identification\\\"]]]],null],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"field\\\"],[12],[1,\\\"\\\\n          \\\"],[8,[39,26],[[24,\\\"placeholder\\\",\\\"PASSWORD\\\"],[16,\\\"disabled\\\",[30,0,[\\\"mfaRequired\\\"]]]],[[\\\"@id\\\",\\\"@type\\\",\\\"@value\\\"],[\\\"login-pass-mobile\\\",\\\"password\\\",[30,0,[\\\"password\\\"]]]],null],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"mfaRequired\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"field\\\"],[12],[1,\\\"\\\\n          \\\"],[8,[39,26],[[24,\\\"placeholder\\\",\\\"AUTHENTICATOR CODE\\\"]],[[\\\"@id\\\",\\\"@value\\\"],[\\\"login-mfa-mobile\\\",[30,0,[\\\"mfaCode\\\"]]]],null],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[10,2],[14,0,\\\"mfa-help\\\"],[12],[1,\\\"\\\\n          Open your authenticator app and enter the 6-digit code.\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"errorMessage\\\"]],[[[1,\\\"        \\\"],[10,2],[14,0,\\\"error\\\"],[12],[1,[30,0,[\\\"errorMessage\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n        \\\"],[10,\\\"button\\\"],[15,\\\"disabled\\\",[30,0,[\\\"isSubmitting\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n          \\\"],[1,[52,[30,0,[\\\"mfaRequired\\\"]],\\\"Verify Code\\\",\\\"Log In\\\"]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,4],[[24,0,\\\"btn\\\"]],[[\\\"@route\\\"],[\\\"sign-up\\\"]],[[\\\"default\\\"],[[[[1,\\\"Sign Up\\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"link\\\"],false,[\\\"header\\\",\\\"did-insert\\\",\\\"will-destroy\\\",\\\"div\\\",\\\"link-to\\\",\\\"img\\\",\\\"nav\\\",\\\"if\\\",\\\"button\\\",\\\"on\\\",\\\"both\\\",\\\"li\\\",\\\"quick-admin-tool\\\",\\\"not\\\",\\\"d-icon\\\",\\\"ul\\\",\\\"eq\\\",\\\"span\\\",\\\"header/user-menu-wrapper\\\",\\\"avatar\\\",\\\"a\\\",\\\"routeAction\\\",\\\"center\\\",\\\"h1\\\",\\\"hr\\\",\\\"form\\\",\\\"input\\\",\\\"p\\\",\\\"fn\\\",\\\"unless\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-header.hbs\",\n    \"isStrictMode\": false\n  });\n  class CpHeaderComponent extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n    #router = (() => (dt7948.i(this, \"router\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"toast\", [_service.service]))();\n    #toast = (() => (dt7948.i(this, \"toast\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"ui\", [_service.service]))();\n    #ui = (() => (dt7948.i(this, \"ui\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"notificationCount\", [_tracking.tracked], function () {\n      return Object.values(this.currentUser.grouped_unread_notifications).reduce((num, curr) => num + curr, 0);\n    }))();\n    #notificationCount = (() => (dt7948.i(this, \"notificationCount\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"identification\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #identification = (() => (dt7948.i(this, \"identification\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"password\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #password = (() => (dt7948.i(this, \"password\"), void 0))();\n    static #_9 = (() => dt7948.g(this.prototype, \"errorMessage\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #errorMessage = (() => (dt7948.i(this, \"errorMessage\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"isMobileNavOpen\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isMobileNavOpen = (() => (dt7948.i(this, \"isMobileNavOpen\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"isNotifMenuOpen\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isNotifMenuOpen = (() => (dt7948.i(this, \"isNotifMenuOpen\"), void 0))();\n    static #_12 = (() => dt7948.g(this.prototype, \"isQatOpen\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isQatOpen = (() => (dt7948.i(this, \"isQatOpen\"), void 0))();\n    static #_13 = (() => dt7948.g(this.prototype, \"mfaRequired\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #mfaRequired = (() => (dt7948.i(this, \"mfaRequired\"), void 0))();\n    static #_14 = (() => dt7948.g(this.prototype, \"mfaSession\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #mfaSession = (() => (dt7948.i(this, \"mfaSession\"), void 0))();\n    static #_15 = (() => dt7948.g(this.prototype, \"mfaCode\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #mfaCode = (() => (dt7948.i(this, \"mfaCode\"), void 0))();\n    static #_16 = (() => dt7948.g(this.prototype, \"isSubmitting\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isSubmitting = (() => (dt7948.i(this, \"isSubmitting\"), void 0))();\n    constructor() {\n      super(...arguments);\n      this._syncFromQueryParam();\n      this._onRouteDidChange = () => {\n        const wantsOpen = this._syncFromQueryParam();\n        if (!wantsOpen) {\n          this.ui.closeLogin();\n          this.closeMobileNav();\n        }\n      };\n      this.router.on?.(\"routeDidChange\", this._onRouteDidChange);\n    }\n    willDestroy() {\n      super.willDestroy(...arguments);\n      this.router.off?.(\"routeDidChange\", this._onRouteDidChange);\n      document.removeEventListener(\"click\", this.closeOnOutsideClick);\n      document.removeEventListener(\"click\", this.closeNotifMenuOnOutsideClick);\n      $(\"#user-menu-button-profile\").off(\"click\");\n      this.closeMobileNav();\n    }\n    get siteLogoUrl() {\n      return this.siteSettings.site_logo_url;\n    }\n    get siteTitle() {\n      return this.siteSettings.title;\n    }\n    get isLoggedIn() {\n      return !!this.currentUser;\n    }\n    get userSlug() {\n      return this.currentUser?.username;\n    }\n    get isMenuOpen() {\n      return this.ui.loginOpen;\n    }\n    set isMenuOpen(val) {\n      this.ui.loginOpen = !!val;\n    }\n    get isNotifMenuOpen() {\n      return this.isNotifMenuOpen;\n    }\n    set isNotifMenuOpen(val) {\n      this.isNotifMenuOpen = val;\n    }\n    get isQatOpen() {\n      return this.isQatOpen;\n    }\n    set isQatOpen(val) {\n      this.isQatOpen = val;\n    }\n    _syncFromQueryParam() {\n      const qpVal = this.router.currentRoute?.queryParams?.loginOpen;\n      const wantsOpen = qpVal === true || qpVal === \"true\" || qpVal === \"1\";\n      if (!this.isLoggedIn && wantsOpen) {\n        (0, _runloop.scheduleOnce)(\"afterRender\", this, () => {\n          this.isMenuOpen = true;\n        });\n        this._stripLoginOpenFromUrl();\n      }\n      return wantsOpen;\n    }\n    _stripLoginOpenFromUrl() {\n      try {\n        const url = new URL(window.location.href);\n        if (url.searchParams.has(\"loginOpen\")) {\n          url.searchParams.delete(\"loginOpen\");\n          window.history.replaceState({}, document.title, url.pathname + url.search + url.hash);\n          this.toast.info(\"Please Log In\");\n        }\n      } catch {\n        /* ignore */\n      }\n    }\n\n    // ===== Menu actions =====\n\n    toggleMenu() {\n      this.ui.toggleLogin();\n    }\n    static #_17 = (() => dt7948.n(this.prototype, \"toggleMenu\", [_object.action]))();\n    closeMenu() {\n      this.ui.closeLogin();\n    }\n    static #_18 = (() => dt7948.n(this.prototype, \"closeMenu\", [_object.action]))();\n    toggleMobileNav(e) {\n      e?.stopPropagation?.();\n      this.isMobileNavOpen = !this.isMobileNavOpen;\n      document.body.classList.toggle(\"is-mobile-nav-open\", this.isMobileNavOpen);\n    }\n    static #_19 = (() => dt7948.n(this.prototype, \"toggleMobileNav\", [_object.action]))();\n    closeMobileNav() {\n      if (!this.isMobileNavOpen) return;\n      this.isMobileNavOpen = false;\n      document.body.classList.remove(\"is-mobile-nav-open\");\n    }\n\n    // Close login + drawer when clicking outside\n    static #_20 = (() => dt7948.n(this.prototype, \"closeMobileNav\", [_object.action]))();\n    closeOnOutsideClick(event) {\n      const t = event.target;\n      const insideUser = t.closest(\".cp-head-user\");\n      const insideMobileMenu = t.closest(\"#cp-mobile-menu\");\n      const hitToggle = t.closest(\".cp-nav-toggle\");\n      if (!insideUser) this.ui.closeLogin();\n      if (!insideMobileMenu && !hitToggle) this.closeMobileNav();\n    }\n    static #_21 = (() => dt7948.n(this.prototype, \"closeOnOutsideClick\", [_object.action]))();\n    registerGlobalClick() {\n      document.addEventListener(\"click\", this.closeOnOutsideClick);\n      document.addEventListener(\"click\", this.closeNotifMenuOnOutsideClick);\n      document.addEventListener(\"click\", this.closeQatOnOutsideClick);\n    }\n    static #_22 = (() => dt7948.n(this.prototype, \"registerGlobalClick\", [_object.action]))();\n    unregisterGlobalClick() {\n      document.removeEventListener(\"click\", this.closeOnOutsideClick);\n      document.removeEventListener(\"click\", this.closeNotifMenuOnOutsideClick);\n      document.removeEventListener(\"click\", this.closeQatOnOutsideClick);\n    }\n\n    // Toggling Quick Admin Tool popup\n    static #_23 = (() => dt7948.n(this.prototype, \"unregisterGlobalClick\", [_object.action]))();\n    toggleQat() {\n      this.isQatOpen = !this.isQatOpen;\n    }\n\n    // Close Quick Admin Tool when clicking outside\n    static #_24 = (() => dt7948.n(this.prototype, \"toggleQat\", [_object.action]))();\n    closeQatOnOutsideClick(event) {\n      const t = event.target;\n      const insideNotifMenu = t.closest(\".cp-head-link-qat\") || t.closest(\".select2-container\") || t.closest(\".qat-note-editor\");\n      if (!insideNotifMenu) {\n        this.isQatOpen = false;\n      }\n    }\n\n    // Toggling notification popup\n    static #_25 = (() => dt7948.n(this.prototype, \"closeQatOnOutsideClick\", [_object.action]))();\n    toggleNotifMenu() {\n      this.isNotifMenuOpen = !this.isNotifMenuOpen;\n    }\n\n    // Close notification menu when clicking outside\n    static #_26 = (() => dt7948.n(this.prototype, \"toggleNotifMenu\", [_object.action]))();\n    closeNotifMenuOnOutsideClick(event) {\n      const t = event.target;\n      const insideNotifMenu = t.closest(\".cp-head-link-notifications\");\n      if (!insideNotifMenu) {\n        this.isNotifMenuOpen = false;\n      }\n    }\n\n    // Remove invites, preferences, and log out from notification menu\n    static #_27 = (() => dt7948.n(this.prototype, \"closeNotifMenuOnOutsideClick\", [_object.action]))();\n    registerProfileTabClick() {\n      $(\"#user-menu-button-profile\").on(\"click\", () => {\n        $(\"#quick-access-profile\").find(\"li.invites, li.preferences, li.logout\").remove();\n      });\n    }\n\n    // The notification menu component expects a function but we're overriding the functionality, so this prevents console errors\n    static #_28 = (() => dt7948.n(this.prototype, \"registerProfileTabClick\", [_object.action]))();\n    doNothing() {\n      return;\n    }\n    static #_29 = (() => dt7948.n(this.prototype, \"doNothing\", [_object.action]))();\n    updateNotificationCount() {\n      this.notificationCount = Object.values(this.currentUser.grouped_unread_notifications).reduce((num, curr) => num + curr, 0);\n    }\n\n    // ===== Auth actions =====\n    static #_30 = (() => dt7948.n(this.prototype, \"updateNotificationCount\", [_object.action]))();\n    handleLogout(event) {\n      event.preventDefault();\n      this.ui.closeLogin();\n      window.location = \"/logout\";\n    }\n    static #_31 = (() => dt7948.n(this.prototype, \"handleLogout\", [_object.action]))();\n    async authenticate(e) {\n      e.preventDefault();\n      this.errorMessage = null;\n      if (this.mfaRequired) {\n        return this.verifyMfa();\n      }\n      this.isSubmitting = true;\n      this.mfaRequired = false;\n      this.mfaSession = null;\n      this.mfaCode = \"\";\n      this.mfaUsername = \"\";\n      this.mfaChallengeName = null;\n      try {\n        const resp = await (0, _ajax.ajax)(\"/cp_auth/login\", {\n          type: \"POST\",\n          data: {\n            username: this.identification,\n            password: this.password\n          }\n        });\n\n        // If backend signals that MFA is required, flip into MFA mode instead of logging in\n        if (resp && resp.mfa_required) {\n          this.mfaRequired = true;\n          this.mfaSession = resp.mfa_session || resp.session || null;\n          this.mfaUsername = resp.username || this.identification;\n          this.mfaChallengeName = resp.challenge_name || \"SOFTWARE_TOKEN_MFA\";\n          this.errorMessage = null;\n\n          // Focus MFA field after it renders\n          (0, _runloop.scheduleOnce)(\"afterRender\", this, () => {\n            document.getElementById(\"login-mfa\")?.focus();\n          });\n          return;\n        }\n        this.ui.closeLogin();\n        this.closeMobileNav();\n        window.location.reload();\n      } catch (xhr) {\n        const payload = xhr.jqXHR?.responseJSON || xhr.responseJSON || {};\n        if (payload.mfa_required) {\n          this.mfaRequired = true;\n          this.mfaSession = payload.mfa_session || payload.session || null;\n          this.mfaUsername = payload.username || this.identification;\n          this.mfaChallengeName = payload.challenge_name || \"SOFTWARE_TOKEN_MFA\";\n          this.errorMessage = null;\n          (0, _runloop.scheduleOnce)(\"afterRender\", this, () => {\n            document.getElementById(\"login-mfa\")?.focus();\n          });\n          return;\n        }\n        this.mfaRequired = false;\n        this.mfaSession = null;\n        this.mfaCode = \"\";\n        this.mfaUsername = \"\";\n        this.mfaChallengeName = null;\n        this.errorMessage = payload.error || \"Login Failed\";\n      } finally {\n        this.isSubmitting = false;\n      }\n    }\n    static #_32 = (() => dt7948.n(this.prototype, \"authenticate\", [_object.action]))();\n    async verifyMfa() {\n      this.errorMessage = null;\n      if (!this.mfaCode?.trim()) {\n        this.errorMessage = \"Enter the code from your authenticator app.\";\n        return;\n      }\n      if (!this.mfaSession || !this.mfaChallengeName) {\n        this.errorMessage = \"MFA session expired. Please log in again.\";\n        this.mfaRequired = false;\n        return;\n      }\n      this.isSubmitting = true;\n      try {\n        const resp = await (0, _ajax.ajax)(\"/cp_auth/verify_mfa\", {\n          type: \"POST\",\n          data: {\n            username: this.mfaUsername,\n            code: this.mfaCode.trim(),\n            session: this.mfaSession,\n            challenge_name: this.mfaChallengeName\n          }\n        });\n        if (resp && resp.success) {\n          this.ui.closeLogin();\n          this.closeMobileNav();\n          window.location.reload();\n        } else {\n          this.errorMessage = resp?.error || \"The code was not accepted. Please try again.\";\n        }\n      } catch (xhr) {\n        const payload = xhr.jqXHR?.responseJSON || xhr.responseJSON || {};\n        this.errorMessage = payload.error || \"The code was not accepted. Please try again.\";\n      } finally {\n        this.isSubmitting = false;\n      }\n    }\n    static #_33 = (() => dt7948.n(this.prototype, \"verifyMfa\", [_object.action]))();\n    startOidc(provider) {\n      const origin = encodeURIComponent(window.location.pathname + window.location.search + window.location.hash);\n      window.location = `/cp-auth/oidc/start?provider=${encodeURIComponent(provider)}&origin=${origin}`;\n    }\n    static #_34 = (() => dt7948.n(this.prototype, \"startOidc\", [_object.action]))();\n  }\n  _exports.default = CpHeaderComponent;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, CpHeaderComponent);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-modal\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{! Backdrop }}\n  {{#if @isOpen}}\n  <div class=\"cp-modal-backdrop\" data-backdrop=\"true\" {{on \"click\" this.backdropClick}}></div>\n  {{/if}}\n  \n  <div class=\"cp-modal {{if @isOpen \" is-open\"}}\" role=\"dialog\" aria-modal=\"true\" aria-labelledby={{this.labelledById}}\n      aria-describedby={{this.describedById}} {{on \"keydown\" this.onKeydown}} {{did-insert this.handleInsert}}\n      {{did-update this.handleArgsChange @isOpen}} {{will-destroy this.handleWillDestroy}} id={{this.testRootId}}>\n      <div class=\"cp-modal__panel\" tabindex=\"-1\">\n          <header class=\"cp-modal__head\">\n              <h2 id={{this.labelledById}} class=\"cp-modal__title\">{{@title}}</h2>\n          </header>\n  \n          {{#if (has-block)}}\n          <div id={{this.describedById}} class=\"cp-modal__body\">\n              {{yield}}\n          </div>\n          {{else if @description}}\n          <div id={{this.describedById}} class=\"cp-modal__body\">\n              {{@description}}\n          </div>\n          {{/if}}\n  \n          {{#unless @noFooter}}\n          <footer class=\"cp-modal__foot\">\n              {{#if @cancelLabel}}\n              <button type=\"button\" class=\"btn btn-cancel\" {{on \"click\" this.clickCancel}} data-test=\"modal-cancel\">\n                  {{@cancelLabel}}\n              </button>\n              {{/if}}\n  \n              <button type=\"button\" class=\"btn btn-ok\" disabled={{@okDisabled}} {{on \"click\" this.clickOk}}\n                  data-test=\"modal-ok\">\n                  {{this.okLabel}}\n              </button>\n          </footer>\n          {{/unless}}\n      </div>\n  </div>\n  */\n  {\n    \"id\": \"hSh5XaHh\",\n    \"block\": \"[[[41,[30,1],[[[11,0],[24,0,\\\"cp-modal-backdrop\\\"],[24,\\\"data-backdrop\\\",\\\"true\\\"],[4,[38,2],[\\\"click\\\",[30,0,[\\\"backdropClick\\\"]]],null],[12],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[11,0],[16,0,[29,[\\\"cp-modal \\\",[52,[30,1],\\\" is-open\\\"]]]],[24,\\\"role\\\",\\\"dialog\\\"],[24,\\\"aria-modal\\\",\\\"true\\\"],[16,\\\"aria-labelledby\\\",[30,0,[\\\"labelledById\\\"]]],[16,\\\"aria-describedby\\\",[30,0,[\\\"describedById\\\"]]],[16,1,[30,0,[\\\"testRootId\\\"]]],[4,[38,2],[\\\"keydown\\\",[30,0,[\\\"onKeydown\\\"]]],null],[4,[38,3],[[30,0,[\\\"handleInsert\\\"]]],null],[4,[38,4],[[30,0,[\\\"handleArgsChange\\\"]],[30,1]],null],[4,[38,5],[[30,0,[\\\"handleWillDestroy\\\"]]],null],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"cp-modal__panel\\\"],[14,\\\"tabindex\\\",\\\"-1\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"header\\\"],[14,0,\\\"cp-modal__head\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"h2\\\"],[15,1,[30,0,[\\\"labelledById\\\"]]],[14,0,\\\"cp-modal__title\\\"],[12],[1,[30,2]],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[48,[30,7]],[[[1,\\\"        \\\"],[10,0],[15,1,[30,0,[\\\"describedById\\\"]]],[14,0,\\\"cp-modal__body\\\"],[12],[1,\\\"\\\\n            \\\"],[18,7,null],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,3],[[[1,\\\"        \\\"],[10,0],[15,1,[30,0,[\\\"describedById\\\"]]],[14,0,\\\"cp-modal__body\\\"],[12],[1,\\\"\\\\n            \\\"],[1,[30,3]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"]],[]],null]],[]]],[1,\\\"\\\\n\\\"],[41,[51,[30,4]],[[[1,\\\"        \\\"],[10,\\\"footer\\\"],[14,0,\\\"cp-modal__foot\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,5],[[[1,\\\"            \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-cancel\\\"],[24,\\\"data-test\\\",\\\"modal-cancel\\\"],[24,4,\\\"button\\\"],[4,[38,2],[\\\"click\\\",[30,0,[\\\"clickCancel\\\"]]],null],[12],[1,\\\"\\\\n                \\\"],[1,[30,5]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n            \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-ok\\\"],[16,\\\"disabled\\\",[30,6]],[24,\\\"data-test\\\",\\\"modal-ok\\\"],[24,4,\\\"button\\\"],[4,[38,2],[\\\"click\\\",[30,0,[\\\"clickOk\\\"]]],null],[12],[1,\\\"\\\\n                \\\"],[1,[30,0,[\\\"okLabel\\\"]]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"@isOpen\\\",\\\"@title\\\",\\\"@description\\\",\\\"@noFooter\\\",\\\"@cancelLabel\\\",\\\"@okDisabled\\\",\\\"&default\\\"],false,[\\\"if\\\",\\\"div\\\",\\\"on\\\",\\\"did-insert\\\",\\\"did-update\\\",\\\"will-destroy\\\",\\\"header\\\",\\\"h2\\\",\\\"has-block\\\",\\\"yield\\\",\\\"unless\\\",\\\"footer\\\",\\\"button\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-modal.hbs\",\n    \"isStrictMode\": false\n  });\n  let seq = 0;\n  class CpModal extends _component2.default {\n    _lastActive = null;\n    _id = this.instanceId(\"report\");\n    get okLabel() {\n      return this.args.okLabel ?? \"OK\";\n    }\n    get labelledById() {\n      return `cp-modal-title-${this._id}`;\n    }\n    get describedById() {\n      return `cp-modal-desc-${this._id}`;\n    }\n    get testRootId() {\n      return this.args.testId ? `cp-modal-${this.args.testId}` : undefined;\n    }\n    handleInsert(el) {\n      if (this.args.isOpen) {\n        this._captureFocus(el);\n      }\n    }\n    static #_ = (() => dt7948.n(this.prototype, \"handleInsert\", [_object.action]))();\n    handleArgsChange(el) {\n      if (this.args.isOpen) {\n        this._captureFocus(el);\n      } else {\n        this._restoreFocus();\n      }\n    }\n    static #_2 = (() => dt7948.n(this.prototype, \"handleArgsChange\", [_object.action]))();\n    handleWillDestroy() {\n      this._restoreFocus();\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"handleWillDestroy\", [_object.action]))();\n    onKeydown(e) {\n      if (!this.args.isOpen) return;\n      if (e.key === \"Escape\" && this.args.onCancel) {\n        e.preventDefault();\n        this.args.onCancel?.();\n      }\n      if (e.key === \"Tab\") {\n        this._trapTab(e);\n      }\n    }\n    static #_4 = (() => dt7948.n(this.prototype, \"onKeydown\", [_object.action]))();\n    backdropClick(e) {\n      if (this.args.closeOnBackdropClick === false) return;\n      if (e.target && e.target.dataset && e.target.dataset.backdrop === \"true\") {\n        this.args.onCancel?.();\n      }\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"backdropClick\", [_object.action]))();\n    clickOk() {\n      this.args.onOk?.();\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"clickOk\", [_object.action]))();\n    clickCancel() {\n      this.args.onCancel?.();\n    }\n    static #_7 = (() => dt7948.n(this.prototype, \"clickCancel\", [_object.action]))();\n    _captureFocus(root) {\n      if (!this._lastActive) this._lastActive = document.activeElement;\n      const focusables = root.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])');\n      const first = Array.from(focusables).find(el => !el.hasAttribute(\"disabled\"));\n      if (first && typeof first.focus === \"function\") first.focus();\n    }\n    _restoreFocus() {\n      if (this._lastActive && typeof this._lastActive.focus === \"function\") {\n        this._lastActive.focus();\n      }\n      this._lastActive = null;\n    }\n    _trapTab(e) {\n      const root = document.querySelector('.cp-modal.is-open');\n      if (!root) return;\n      const focusables = root.querySelectorAll('.cp-modal [tabindex]:not([tabindex=\"-1\"]), .cp-modal button, .cp-modal [href], .cp-modal input, .cp-modal select, .cp-modal textarea');\n      const list = Array.from(focusables).filter(el => !el.hasAttribute(\"disabled\"));\n      if (list.length === 0) return;\n      const first = list[0];\n      const last = list[list.length - 1];\n      const active = document.activeElement;\n      if (e.shiftKey) {\n        if (active === first) {\n          last.focus();\n          e.preventDefault();\n        }\n      } else {\n        if (active === last) {\n          first.focus();\n          e.preventDefault();\n        }\n      }\n    }\n    instanceId() {\n      let prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"uid\";\n      seq += 1;\n      return `${prefix}-${seq}`;\n    }\n  }\n  _exports.default = CpModal;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, CpModal);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-profile-linked-providers\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"@glimmer/tracking\", \"discourse/lib/ajax\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _tracking, _ajax, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"full-profile-1-panel\" {{did-insert this.loadUsernames}}>\n      <ul class=\"profile-linked-icons\">\n          {{#each this.providerUrls as |p|}}\n          <li>\n              <a class=\"icon-token\" title={{p.name}}\n                  aria-label={{p.name}} href={{p.url}} role=\"link\" target=\"_blank\">\n                  {{d-icon p.icon}}\n              </a>\n          </li>\n          {{/each}}\n      </ul>\n  </div>\n  */\n  {\n    \"id\": \"SgXRyQ/w\",\n    \"block\": \"[[[11,0],[24,0,\\\"full-profile-1-panel\\\"],[4,[38,1],[[30,0,[\\\"loadUsernames\\\"]]],null],[12],[1,\\\"\\\\n    \\\"],[10,\\\"ul\\\"],[14,0,\\\"profile-linked-icons\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,4],[[28,[37,4],[[30,0,[\\\"providerUrls\\\"]]],null]],null],null,[[[1,\\\"        \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n            \\\"],[10,3],[14,0,\\\"icon-token\\\"],[15,\\\"title\\\",[30,1,[\\\"name\\\"]]],[15,\\\"aria-label\\\",[30,1,[\\\"name\\\"]]],[15,6,[30,1,[\\\"url\\\"]]],[14,\\\"role\\\",\\\"link\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"\\\\n                \\\"],[1,[28,[35,7],[[30,1,[\\\"icon\\\"]]],null]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"p\\\"],false,[\\\"div\\\",\\\"did-insert\\\",\\\"ul\\\",\\\"each\\\",\\\"-track-array\\\",\\\"li\\\",\\\"a\\\",\\\"d-icon\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/cp-profile-linked-providers.hbs\",\n    \"isStrictMode\": false\n  });\n  class CpProfileLinkedProviders extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"providerUsernameCache\", [_tracking.tracked], function () {\n      return {};\n    }))();\n    #providerUsernameCache = (() => (dt7948.i(this, \"providerUsernameCache\"), void 0))();\n    async loadUsernames() {\n      for (const p of this.args.linkedProviders || []) {\n        if (p.provider?.toLowerCase() === \"twitch\") {\n          try {\n            const response = await (0, _ajax.ajax)(\"/cp/twitch/username\", {\n              data: {\n                user_id: p.user_id\n              }\n            });\n            if (response.success) {\n              this.providerUsernameCache = {\n                ...this.providerUsernameCache,\n                [p.provider.toLowerCase()]: response.username\n              };\n            }\n          } catch (e) {\n            console.error(\"Failed to fetch Twitch username:\", e);\n          }\n        }\n      }\n    }\n    static #_2 = (() => dt7948.n(this.prototype, \"loadUsernames\", [_object.action]))();\n    getUsernameFor(provider) {\n      const match = this.args.linkedProviders?.find(p => p.provider?.toLowerCase() === provider.toLowerCase());\n      if (!match) return null;\n      if (provider.toLowerCase() === \"twitch\") {\n        return this.providerUsernameCache[\"twitch\"] || null;\n      }\n\n      // if (provider.toLowerCase() === \"facebook\") {\n      //     return match?.user_id || null;\n      // }\n\n      return null;\n    }\n    get providerUrls() {\n      return (this.args.visibleProviders || []).map(p => {\n        const username = this.getUsernameFor(p.name);\n        const url = username ? p.profileUrl(username) : null;\n        return {\n          ...p,\n          username,\n          url\n        };\n      });\n    }\n  }\n  _exports.default = CpProfileLinkedProviders;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, CpProfileLinkedProviders);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/focus-carousel\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/runloop\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _runloop, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"focus-carousel\" role=\"region\" aria-label={{this.ariaLabel}} {{on \"keydown\" this.onKey}} {{did-insert\n    this.setup}} {{will-destroy this.teardown}}>\n    {{#if @title}}\n    <h2 class=\"focus-carousel__title\">{{@title}}</h2>\n    {{/if}}\n  \n    <div class=\"focus-carousel__rail\" {{on \"mouseenter\" this.pause}} {{on \"mouseleave\" this.play}} {{on \"focusin\"\n      this.pause}} {{on \"focusout\" this.play}}>\n      {{#each this.slides as |slide i|}}\n      <div class=\"focus-carousel__slide\" role=\"group\" aria-roledescription=\"slide\"\n        aria-label=\"Image {{inc i}} of {{this.count}}\" data-pos={{slide.pos}} aria-hidden={{slide.hidden}} tabindex={{if\n        (eq slide.pos \"0\" ) \"0\" \"-1\" }} {{on \"click\" (fn this.onSlideClick slide i)}}>\n        <img alt={{slide.alt}} src={{slide.src}} loading=\"lazy\" />\n      </div>\n      {{/each}}\n    </div>\n  \n    <div class=\"focus-carousel__controls\" aria-hidden=\"true\">\n      <button type=\"button\" class=\"focus-carousel__btn prev\" aria-label=\"Previous\" {{on \"click\" (fn this.step\n        -1)}}>&lt;</button>\n  \n      <button type=\"button\" class=\"focus-carousel__btn next\" aria-label=\"Next\" {{on \"click\" (fn this.step\n        1)}}>&gt;</button>\n    </div>\n  </div>\n  */\n  {\n    \"id\": \"1JDCofKT\",\n    \"block\": \"[[[11,0],[24,0,\\\"focus-carousel\\\"],[24,\\\"role\\\",\\\"region\\\"],[16,\\\"aria-label\\\",[30,0,[\\\"ariaLabel\\\"]]],[4,[38,1],[\\\"keydown\\\",[30,0,[\\\"onKey\\\"]]],null],[4,[38,2],[[30,0,[\\\"setup\\\"]]],null],[4,[38,3],[[30,0,[\\\"teardown\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\"  \\\"],[10,\\\"h2\\\"],[14,0,\\\"focus-carousel__title\\\"],[12],[1,[30,1]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n  \\\"],[11,0],[24,0,\\\"focus-carousel__rail\\\"],[4,[38,1],[\\\"mouseenter\\\",[30,0,[\\\"pause\\\"]]],null],[4,[38,1],[\\\"mouseleave\\\",[30,0,[\\\"play\\\"]]],null],[4,[38,1],[\\\"focusin\\\",[30,0,[\\\"pause\\\"]]],null],[4,[38,1],[\\\"focusout\\\",[30,0,[\\\"play\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,7],[[28,[37,7],[[30,0,[\\\"slides\\\"]]],null]],null],null,[[[1,\\\"    \\\"],[11,0],[24,0,\\\"focus-carousel__slide\\\"],[24,\\\"role\\\",\\\"group\\\"],[24,\\\"aria-roledescription\\\",\\\"slide\\\"],[16,\\\"aria-label\\\",[29,[\\\"Image \\\",[28,[37,8],[[30,3]],null],\\\" of \\\",[30,0,[\\\"count\\\"]]]]],[16,\\\"data-pos\\\",[30,2,[\\\"pos\\\"]]],[16,\\\"aria-hidden\\\",[30,2,[\\\"hidden\\\"]]],[16,\\\"tabindex\\\",[52,[28,[37,9],[[30,2,[\\\"pos\\\"]],\\\"0\\\"],null],\\\"0\\\",\\\"-1\\\"]],[4,[38,1],[\\\"click\\\",[28,[37,10],[[30,0,[\\\"onSlideClick\\\"]],[30,2],[30,3]],null]],null],[12],[1,\\\"\\\\n      \\\"],[10,\\\"img\\\"],[15,\\\"alt\\\",[30,2,[\\\"alt\\\"]]],[15,\\\"src\\\",[30,2,[\\\"src\\\"]]],[14,\\\"loading\\\",\\\"lazy\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[2,3]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,0],[14,0,\\\"focus-carousel__controls\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[1,\\\"\\\\n    \\\"],[11,\\\"button\\\"],[24,0,\\\"focus-carousel__btn prev\\\"],[24,\\\"aria-label\\\",\\\"Previous\\\"],[24,4,\\\"button\\\"],[4,[38,1],[\\\"click\\\",[28,[37,10],[[30,0,[\\\"step\\\"]],-1],null]],null],[12],[1,\\\"<\\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[11,\\\"button\\\"],[24,0,\\\"focus-carousel__btn next\\\"],[24,\\\"aria-label\\\",\\\"Next\\\"],[24,4,\\\"button\\\"],[4,[38,1],[\\\"click\\\",[28,[37,10],[[30,0,[\\\"step\\\"]],1],null]],null],[12],[1,\\\">\\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"@title\\\",\\\"slide\\\",\\\"i\\\"],false,[\\\"div\\\",\\\"on\\\",\\\"did-insert\\\",\\\"will-destroy\\\",\\\"if\\\",\\\"h2\\\",\\\"each\\\",\\\"-track-array\\\",\\\"inc\\\",\\\"eq\\\",\\\"fn\\\",\\\"img\\\",\\\"button\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/focus-carousel.hbs\",\n    \"isStrictMode\": false\n  });\n  class FocusCarouselComponent extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"index\", [_tracking.tracked], function () {\n      return 0;\n    }))();\n    #index = (() => (dt7948.i(this, \"index\"), void 0))();\n    timerId = null;\n\n    // Normalize @images into [{ id, src, alt, raw }]\n    get images() {\n      const srcs = this.args.images ?? [];\n      return srcs.map((it, idx) => {\n        if (typeof it === \"string\") {\n          return {\n            id: String(idx),\n            src: it,\n            alt: \"\",\n            raw: it\n          };\n        } else {\n          return {\n            id: it.id != null ? String(it.id) : String(idx),\n            src: it.src ?? it.url ?? \"\",\n            alt: it.alt ?? it.title ?? \"\",\n            raw: it\n          };\n        }\n      });\n    }\n    get count() {\n      return this.images.length;\n    }\n    get ariaLabel() {\n      return this.args.ariaLabel ?? \"Photo carousel\";\n    }\n\n    // Windowed positions\n    get slides() {\n      const n = this.count || 1;\n      const center = this.index % n;\n      return this.images.map((img, i) => {\n        let offset = (i - center + n) % n;\n        let wrapped = offset > n / 2 ? offset - n : offset;\n        let visible = wrapped >= -2 && wrapped <= 2;\n        return {\n          ...img,\n          pos: visible ? String(wrapped) : \"\",\n          hidden: visible ? \"false\" : \"true\"\n        };\n      });\n    }\n\n    // Controls\n    step(delta) {\n      if (this.count === 0) return;\n      this.index = (this.index + delta + this.count) % this.count;\n    }\n    static #_2 = (() => dt7948.n(this.prototype, \"step\", [_object.action]))();\n    onSlideClick(slide, i) {\n      const p = Number(slide.pos);\n      if (p < 0) this.step(+1);else if (p > 0) this.step(-1);else {\n        // Center slide → notify parent\n        this.args.onImageClick?.(this.images[i], i);\n      }\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"onSlideClick\", [_object.action]))();\n    onKey(e) {\n      if (e.key === \"ArrowLeft\") {\n        e.preventDefault();\n        this.step(-1);\n      }\n      if (e.key === \"ArrowRight\") {\n        e.preventDefault();\n        this.step(1);\n      }\n    }\n    static #_4 = (() => dt7948.n(this.prototype, \"onKey\", [_object.action]))();\n    get interval() {\n      return Number(this.args.interval ?? 5000);\n    }\n    setup() {\n      (0, _runloop.scheduleOnce)(\"afterRender\", this, this.play);\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"setup\", [_object.action]))();\n    teardown() {\n      this.stop();\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"teardown\", [_object.action]))();\n    play() {\n      this.stop();\n      if (this.interval > 0 && this.count > 1) {\n        this.timerId = setInterval(() => this.step(1), this.interval);\n      }\n    }\n    static #_7 = (() => dt7948.n(this.prototype, \"play\", [_object.action]))();\n    pause() {\n      this.stop();\n    }\n    static #_8 = (() => dt7948.n(this.prototype, \"pause\", [_object.action]))();\n    stop() {\n      if (this.timerId) {\n        clearInterval(this.timerId);\n        this.timerId = null;\n      }\n    }\n  }\n  _exports.default = FocusCarouselComponent;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, FocusCarouselComponent);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/focus-link-carousel\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"discourse-common/lib/get-url\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _getUrl, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <BlogFocusCarousel\n    @title={{@title}}\n    @images={{this.normalized}}\n    @ariaLabel={{@ariaLabel}}\n    @interval={{@interval}}\n    @onImageClick={{this.go}}\n  />\n  */\n  {\n    \"id\": \"WUc6FtEx\",\n    \"block\": \"[[[8,[39,0],null,[[\\\"@title\\\",\\\"@images\\\",\\\"@ariaLabel\\\",\\\"@interval\\\",\\\"@onImageClick\\\"],[[30,1],[30,0,[\\\"normalized\\\"]],[30,2],[30,3],[30,0,[\\\"go\\\"]]]],null]],[\\\"@title\\\",\\\"@ariaLabel\\\",\\\"@interval\\\"],false,[\\\"blog-focus-carousel\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/focus-link-carousel.hbs\",\n    \"isStrictMode\": false\n  });\n  // app/components/focus-link-carousel.js\n\n  class FocusLinkCarouselComponent extends _component2.default {\n    get normalized() {\n      const items = this.args.images ?? [];\n      return items.map((it, i) => {\n        if (typeof it === \"string\") {\n          return {\n            id: String(i),\n            src: it,\n            alt: \"\"\n          };\n        }\n        return {\n          id: it.id != null ? String(it.id) : String(i),\n          src: it.src ?? it.thumbnail ?? it.image ?? \"\",\n          alt: it.alt ?? it.title ?? \"\",\n          url: it.url ?? it.href ?? (it.slug ? `/blog-news/${it.slug}` : undefined),\n          slug: it.slug\n        };\n      });\n    }\n    go(image /* the wrapper from FocusCarousel */, _index) {\n      const url = image?.url || image?.raw?.url || (image?.raw?.slug ? `/blog-news/${image.raw.slug}` : null);\n      if (!url) return;\n      window.location.assign((0, _getUrl.default)(url));\n    }\n    static #_ = (() => dt7948.n(this.prototype, \"go\", [_object.action]))();\n  }\n  _exports.default = FocusLinkCarouselComponent;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, FocusLinkCarouselComponent);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/fullscreen-image-viewer\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/object\", \"@ember/template-factory\"], function (_exports, _component, _component2, _object, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if @isOpen}}\n  {{#in-element this.bodyElement insertBefore=null}}\n  <div class=\"fs-viewer__backdrop\" data-backdrop=\"true\" {{on \"click\" this.backdropClick}}></div>\n  \n  <div class=\"fs-viewer is-open\" role=\"dialog\" aria-modal=\"true\" {{on \"keydown\" this.onKeydown}}>\n      <div class=\"fs-viewer__stage\">\n          {{#if @image}}\n          <img class=\"fs-viewer__img\" src={{@image.url}} alt={{or @image.alt \"User photo\" }} draggable=\"false\">\n          {{/if}}\n  \n          <button type=\"button\" class=\"fs-viewer__close\" aria-label=\"Close\" {{on \"click\" @onClose}}>\n              X\n          </button>\n  \n          {{#if @hasPrev}}\n          <button type=\"button\" class=\"fs-viewer__nav fs-viewer__nav--prev\" aria-label=\"Previous\" {{on \"click\" @onPrev}}>\n              {{d-icon \"chevron-left\"}}\n          </button>\n          {{/if}}\n  \n          {{#if @hasNext}}\n          <button type=\"button\" class=\"fs-viewer__nav fs-viewer__nav--next\" aria-label=\"Next\" {{on \"click\" @onNext}}>\n              {{d-icon \"chevron-right\"}}\n          </button>\n          {{/if}}\n  \n          <button type=\"button\" class=\"fs-viewer__report\" aria-label=\"Report image\" {{on \"click\" this.report}}>\n              {{d-icon \"flag\"}} <span>Report</span>\n          </button>\n      </div>\n  </div>\n  {{/in-element}}\n  {{/if}}\n  */\n  {\n    \"id\": \"2afqKF5d\",\n    \"block\": \"[[[41,[30,1],[[[40,[[[11,0],[24,0,\\\"fs-viewer__backdrop\\\"],[24,\\\"data-backdrop\\\",\\\"true\\\"],[4,[38,4],[\\\"click\\\",[30,0,[\\\"backdropClick\\\"]]],null],[12],[13],[1,\\\"\\\\n\\\\n\\\"],[11,0],[24,0,\\\"fs-viewer is-open\\\"],[24,\\\"role\\\",\\\"dialog\\\"],[24,\\\"aria-modal\\\",\\\"true\\\"],[4,[38,4],[\\\"keydown\\\",[30,0,[\\\"onKeydown\\\"]]],null],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"fs-viewer__stage\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2],[[[1,\\\"        \\\"],[10,\\\"img\\\"],[14,0,\\\"fs-viewer__img\\\"],[15,\\\"src\\\",[30,2,[\\\"url\\\"]]],[15,\\\"alt\\\",[28,[37,6],[[30,2,[\\\"alt\\\"]],\\\"User photo\\\"],null]],[14,\\\"draggable\\\",\\\"false\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"fs-viewer__close\\\"],[24,\\\"aria-label\\\",\\\"Close\\\"],[24,4,\\\"button\\\"],[4,[38,4],[\\\"click\\\",[30,3]],null],[12],[1,\\\"\\\\n            X\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,4],[[[1,\\\"        \\\"],[11,\\\"button\\\"],[24,0,\\\"fs-viewer__nav fs-viewer__nav--prev\\\"],[24,\\\"aria-label\\\",\\\"Previous\\\"],[24,4,\\\"button\\\"],[4,[38,4],[\\\"click\\\",[30,5]],null],[12],[1,\\\"\\\\n            \\\"],[1,[28,[35,8],[\\\"chevron-left\\\"],null]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,6],[[[1,\\\"        \\\"],[11,\\\"button\\\"],[24,0,\\\"fs-viewer__nav fs-viewer__nav--next\\\"],[24,\\\"aria-label\\\",\\\"Next\\\"],[24,4,\\\"button\\\"],[4,[38,4],[\\\"click\\\",[30,7]],null],[12],[1,\\\"\\\\n            \\\"],[1,[28,[35,8],[\\\"chevron-right\\\"],null]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"fs-viewer__report\\\"],[24,\\\"aria-label\\\",\\\"Report image\\\"],[24,4,\\\"button\\\"],[4,[38,4],[\\\"click\\\",[30,0,[\\\"report\\\"]]],null],[12],[1,\\\"\\\\n            \\\"],[1,[28,[35,8],[\\\"flag\\\"],null]],[1,\\\" \\\"],[10,1],[12],[1,\\\"Report\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,\\\"\\\\n\\\"]],[]],\\\"%cursor:0%\\\",[28,[37,2],[[30,0,[\\\"bodyElement\\\"]]],null],null]],[]],null]],[\\\"@isOpen\\\",\\\"@image\\\",\\\"@onClose\\\",\\\"@hasPrev\\\",\\\"@onPrev\\\",\\\"@hasNext\\\",\\\"@onNext\\\"],false,[\\\"if\\\",\\\"in-element\\\",\\\"-in-el-null\\\",\\\"div\\\",\\\"on\\\",\\\"img\\\",\\\"or\\\",\\\"button\\\",\\\"d-icon\\\",\\\"span\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/fullscreen-image-viewer.hbs\",\n    \"isStrictMode\": false\n  });\n  class FullscreenImageViewer extends _component2.default {\n    _root = null;\n    get bodyElement() {\n      return document.body;\n    }\n    onInsert(el) {\n      this._root = el;\n      if (this.args.isOpen) {\n        this._focus();\n        document.body.classList.add(\"body-has-modal\");\n      }\n    }\n    static #_ = (() => dt7948.n(this.prototype, \"onInsert\", [_object.action]))();\n    onArgsChange() {\n      if (this.args.isOpen) {\n        this._focus();\n        document.body.classList.add(\"body-has-modal\");\n      } else {\n        document.body.classList.remove(\"body-has-modal\");\n      }\n    }\n    static #_2 = (() => dt7948.n(this.prototype, \"onArgsChange\", [_object.action]))();\n    onDestroy() {\n      document.body.classList.remove(\"body-has-modal\");\n      this._root = null;\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"onDestroy\", [_object.action]))();\n    _focus() {\n      this._root?.querySelector(\".fs-viewer__close\")?.focus();\n    }\n    backdropClick(e) {\n      if (e.target?.dataset?.backdrop === \"true\") {\n        this.args.onClose?.();\n      }\n    }\n    static #_4 = (() => dt7948.n(this.prototype, \"backdropClick\", [_object.action]))();\n    onKeydown(e) {\n      if (e.key === \"Escape\") this.args.onClose?.();\n      if (e.key === \"ArrowLeft\") this.args.onPrev?.();\n      if (e.key === \"ArrowRight\") this.args.onNext?.();\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"onKeydown\", [_object.action]))();\n    report() {\n      this.args.onReport?.();\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"report\", [_object.action]))();\n  }\n  _exports.default = FullscreenImageViewer;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, FullscreenImageViewer);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/games-admin\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"discourse/lib/ajax\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _ajax, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"admin-container\" {{did-insert this.onInsert}}>\n    <div class=\"ig-admin-card-head\">\n      <h1>Approve Games</h1>\n      {{#if @backRoute}}\n        <LinkTo @route={{@backRoute}} class=\"btn btn-secondary igames-admin-button\">Back to Settings</LinkTo>\n      {{/if}}\n    </div>\n  \n    {{!-- Controls --}}\n    <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n        <h2 class=\"ig-admin-title\">Moderation Queue</h2>\n      </div>\n  \n      <div class=\"ig-form\">\n        <div class=\"form-row\">\n          <label>Status</label>\n          <select {{on \"change\" this.onStatusChange}} value={{this.status}}>\n            <option value=\"pending\">Pending (Unverified)</option>\n            <option value=\"verified\">Verified</option>\n          </select>\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Page Size</label>\n          <select {{on \"change\" this.onLimitChange}} value={{this.limit}}>\n            <option value=\"25\">25</option>\n            <option value=\"50\">50</option>\n            <option value=\"100\">100</option>\n          </select>\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Filter</label>\n          <input\n            type=\"text\"\n            placeholder=\"Search id or display name…\"\n            value={{this.q}}\n            {{on \"input\" this.onQueryInput}}\n          />\n        </div>\n  \n        <div class=\"ig-actions\">\n          <button type=\"button\" class=\"btn btn-secondary\" {{on \"click\" this.refresh}} disabled={{this.loading}}>\n            {{if this.loading \"Loading...\" \"Refresh\"}}\n          </button>\n        </div>\n  \n        {{#if this.errorMessage}}\n          <div class=\"ig-alert danger\">Error: {{this.errorMessage}}</div>\n        {{/if}}\n  \n        {{#if this.message}}\n          <div class=\"ig-result success\">\n            <div class=\"ig-result-title\">{{this.message}}</div>\n          </div>\n        {{/if}}\n      </div>\n    </div>\n  \n    {{!-- Clear Game Cache --}}\n    <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n        <h2>Clear Game List Cache</h2>\n        <p class=\"muted\">\n          Clear the game list cache for all users to reflect all changes instantly.<br>Note: Cache is cleared automatically whenever a new game is added, a CSV is uploaded to add games, or a pending game is approved or deleted.\n        </p>\n      </div>\n  \n      <div class=\"ig-actions\">\n        <button type=\"button\" class=\"btn btn-secondary\" {{on \"click\" this.clearGamesCache}} disabled={{this.clearingCache}}>\n          {{if this.clearingCache \"Clearing...\" \"Clear Cache\"}}\n        </button>\n      </div>\n  \n      {{#if this.cacheErrorMessage}}\n        <div class=\"ig-alert danger\">Error: {{this.cacheErrorMessage}}</div>\n      {{/if}}\n  \n      {{#if this.cacheMessage}}\n        <div class=\"ig-result success\">\n          <div class=\"ig-result-title\">{{this.cacheMessage}}</div>\n        </div>\n      {{/if}}\n    </div>\n  \n    {{!-- Quick create --}}\n    <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n        <h2>Add a Game</h2>\n        <p class=\"muted\">\n          Enter any name. The backend will normalize the <code>id</code> and compute a pretty\n          <code>display_name</code>.\n        </p>\n      </div>\n  \n      <form class=\"ig-form\" {{on \"submit\" this.createGame}}>\n        <div class=\"form-row\">\n          <label>Game Name</label>\n          <input\n            type=\"text\"\n            placeholder=\"e.g., Call of Duty: Modern Warfare\"\n            value={{this.newGameName}}\n            {{on \"input\" this.updateNewGameName}}\n          />\n        </div>\n        <div class=\"ig-actions\">\n          <button class=\"btn btn-primary\" type=\"submit\" disabled={{this.creating}}>\n            {{if this.creating \"Creating…\" \"Create\"}}\n          </button>\n        </div>\n      </form>\n    </div>\n  \n    {{!-- CSV create --}}\n    <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n        <h2>Add Games from CSV File</h2>\n        <p class=\"muted\">Upload a CSV file of game names. CSV <b>must</b> contain a <code>name</code> header row.</p>\n      </div>\n  \n      <form {{on \"submit\" this.createGamesFromFile}} enctype=\"multipart/form-data\" class=\"ig-form\">\n        <div class=\"form-row\">\n          <label>CSV File</label>\n          <input id=\"game-file-input\" type=\"file\" accept=\".csv,text/csv\" {{on \"change\" this.handleFileChange}} />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>\n            <input type=\"checkbox\" checked={{this.verifyNewGames}} {{on \"change\" this.handleVerifyGamesChange}} />\n            Verify New Games\n          </label>\n        </div>\n  \n        <div class=\"ig-actions\">\n          <button type=\"submit\" class=\"btn btn-primary\" disabled={{this.creating}}>\n            {{if this.creating \"Creating games...\" \"Create Games\"}}\n          </button>\n        </div>\n  \n        {{#if this.fileUploadMessage}}\n          <div class=\"ig-result success\">\n            <div class=\"ig-result-title\">{{this.fileUploadMessage}}</div>\n          </div>\n        {{/if}}\n  \n        {{#if this.fileUploadErrorMessage}}\n          <div class=\"ig-alert danger\">Error: {{this.fileUploadErrorMessage}}</div>\n        {{/if}}\n      </form>\n    </div>\n  \n    {{!-- Results --}}\n    <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n        <h2>{{if (eq this.status \"pending\") \"Pending Games\" \"Verified Games\"}}</h2>\n        <div class=\"ig-actions\">\n          <button class=\"btn btn-secondary\" type=\"button\" {{on \"click\" this.prevPage}} disabled={{not this.hasPrev}}>\n            ← Prev\n          </button>\n          <button class=\"btn btn-secondary\" type=\"button\" {{on \"click\" this.nextPage}} disabled={{not this.hasNext}}>\n            Next →\n          </button>\n        </div>\n      </div>\n  \n      {{#if this.filteredGames.length}}\n        <table class=\"ig-table\">\n          <thead>\n            <tr>\n              <th>Display Name</th>\n              <th>ID (slug)</th>\n              <th>Created</th>\n              <th>Created By</th>\n              <th>Verified?</th>\n              <th>Verified At</th>\n              <th>Verified By</th>\n              <th style=\"width: 240px;\"></th>\n            </tr>\n          </thead>\n          <tbody>\n            {{#each this.filteredGames as |g|}}\n              <tr>\n                <td class=\"truncate\">{{or g.display_name \"—\"}}</td>\n                <td class=\"truncate\"><code>{{g.id}}</code></td>\n                <td>\n                  {{g.created_at}}<br />\n                  <span class=\"muted\">{{g.created_at_fmt}}</span>\n                </td>\n                <td>{{or g.created_by \"—\"}}</td>\n                <td>{{if g.verified \"Yes\" \"No\"}}</td>\n                <td>{{g.verified_at_fmt}}</td>\n                <td>{{or g.verified_by \"—\"}}</td>\n                <td class=\"actions\">\n                  {{#if (eq this.status \"pending\")}}\n                    <button class=\"btn btn-primary\" type=\"button\" {{on \"click\" (fn this.approve g)}} disabled={{this.loadingAction}}>\n                      {{if this.loadingAction \"Working...\" \"Approve\"}}\n                    </button>\n                  {{else}}\n                    <button class=\"btn\" type=\"button\" {{on \"click\" (fn this.unverify g)}} disabled={{this.loadingAction}}>\n                      {{if this.loadingAction \"Working...\" \"Unverify\"}}\n                    </button>\n                  {{/if}}\n                  <button class=\"btn btn-danger\" type=\"button\" {{on \"click\" (fn this.delete g)}} disabled={{this.loadingAction}}>\n                    {{if this.loadingAction \"Working...\" \"Delete\"}}\n                  </button>\n                </td>\n              </tr>\n            {{/each}}\n          </tbody>\n        </table>\n      {{else}}\n        <p>No games found.</p>\n      {{/if}}\n  \n      <div class=\"ig-admin-card-foot\">\n        <div class=\"ig-actions\">\n          <button class=\"btn btn-secondary\" type=\"button\" {{on \"click\" this.prevPage}} disabled={{not this.hasPrev}}>\n            ← Prev\n          </button>\n          <button class=\"btn btn-secondary\" type=\"button\" {{on \"click\" this.nextPage}} disabled={{not this.hasNext}}>\n            Next →\n          </button>\n        </div>\n        <div class=\"muted\">\n          Showing {{this.filteredGames.length}} of {{this.games.length}} item(s).\n        </div>\n      </div>\n    </div>\n  \n    {{!-- Tips --}}\n    <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n        <h3>Tips</h3>\n      </div>\n      <ul>\n        <li>“Pending” shows unverified games (<code>verified_key = 0</code>).</li>\n        <li>“Verified” shows verified games (<code>verified_key = 1</code>).</li>\n        <li>Approve sets <code>verified=true</code>, stores verifier + timestamp.</li>\n        <li>Unverify clears verifier metadata.</li>\n        <li>Use “Add a Game” to seed a title (ID is auto-normalized; UI shows Display Name).</li>\n        <li>Use “Add Games from CSV File” to create multiple games from a valid CSV file.</li>\n      </ul>\n    </div>\n  </div>\n  \n  */\n  {\n    \"id\": \"Km3bEDER\",\n    \"block\": \"[[[11,0],[24,0,\\\"admin-container\\\"],[4,[38,1],[[30,0,[\\\"onInsert\\\"]]],null],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"h1\\\"],[12],[1,\\\"Approve Games\\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\"      \\\"],[8,[39,4],[[24,0,\\\"btn btn-secondary igames-admin-button\\\"]],[[\\\"@route\\\"],[[30,1]]],[[\\\"default\\\"],[[[[1,\\\"Back to Settings\\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"  \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h2\\\"],[14,0,\\\"ig-admin-title\\\"],[12],[1,\\\"Moderation Queue\\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,0],[14,0,\\\"ig-form\\\"],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Status\\\"],[13],[1,\\\"\\\\n        \\\"],[11,\\\"select\\\"],[16,2,[30,0,[\\\"status\\\"]]],[4,[38,8],[\\\"change\\\",[30,0,[\\\"onStatusChange\\\"]]],null],[12],[1,\\\"\\\\n          \\\"],[10,\\\"option\\\"],[14,2,\\\"pending\\\"],[12],[1,\\\"Pending (Unverified)\\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"option\\\"],[14,2,\\\"verified\\\"],[12],[1,\\\"Verified\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Page Size\\\"],[13],[1,\\\"\\\\n        \\\"],[11,\\\"select\\\"],[16,2,[30,0,[\\\"limit\\\"]]],[4,[38,8],[\\\"change\\\",[30,0,[\\\"onLimitChange\\\"]]],null],[12],[1,\\\"\\\\n          \\\"],[10,\\\"option\\\"],[14,2,\\\"25\\\"],[12],[1,\\\"25\\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"option\\\"],[14,2,\\\"50\\\"],[12],[1,\\\"50\\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"option\\\"],[14,2,\\\"100\\\"],[12],[1,\\\"100\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Filter\\\"],[13],[1,\\\"\\\\n        \\\"],[11,\\\"input\\\"],[24,\\\"placeholder\\\",\\\"Search id or display name…\\\"],[16,2,[30,0,[\\\"q\\\"]]],[24,4,\\\"text\\\"],[4,[38,8],[\\\"input\\\",[30,0,[\\\"onQueryInput\\\"]]],null],[12],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[30,0,[\\\"loading\\\"]]],[24,4,\\\"button\\\"],[4,[38,8],[\\\"click\\\",[30,0,[\\\"refresh\\\"]]],null],[12],[1,\\\"\\\\n          \\\"],[1,[52,[30,0,[\\\"loading\\\"]],\\\"Loading...\\\",\\\"Refresh\\\"]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"errorMessage\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"ig-alert danger\\\"],[12],[1,\\\"Error: \\\"],[1,[30,0,[\\\"errorMessage\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"message\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"ig-result success\\\"],[12],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"ig-result-title\\\"],[12],[1,[30,0,[\\\"message\\\"]]],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"  \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h2\\\"],[12],[1,\\\"Clear Game List Cache\\\"],[13],[1,\\\"\\\\n      \\\"],[10,2],[14,0,\\\"muted\\\"],[12],[1,\\\"\\\\n        Clear the game list cache for all users to reflect all changes instantly.\\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"Note: Cache is cleared automatically whenever a new game is added, a CSV is uploaded to add games, or a pending game is approved or deleted.\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n      \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[30,0,[\\\"clearingCache\\\"]]],[24,4,\\\"button\\\"],[4,[38,8],[\\\"click\\\",[30,0,[\\\"clearGamesCache\\\"]]],null],[12],[1,\\\"\\\\n        \\\"],[1,[52,[30,0,[\\\"clearingCache\\\"]],\\\"Clearing...\\\",\\\"Clear Cache\\\"]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"cacheErrorMessage\\\"]],[[[1,\\\"      \\\"],[10,0],[14,0,\\\"ig-alert danger\\\"],[12],[1,\\\"Error: \\\"],[1,[30,0,[\\\"cacheErrorMessage\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"cacheMessage\\\"]],[[[1,\\\"      \\\"],[10,0],[14,0,\\\"ig-result success\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"ig-result-title\\\"],[12],[1,[30,0,[\\\"cacheMessage\\\"]]],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"  \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h2\\\"],[12],[1,\\\"Add a Game\\\"],[13],[1,\\\"\\\\n      \\\"],[10,2],[14,0,\\\"muted\\\"],[12],[1,\\\"\\\\n        Enter any name. The backend will normalize the \\\"],[10,\\\"code\\\"],[12],[1,\\\"id\\\"],[13],[1,\\\" and compute a pretty\\\\n        \\\"],[10,\\\"code\\\"],[12],[1,\\\"display_name\\\"],[13],[1,\\\".\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[11,\\\"form\\\"],[24,0,\\\"ig-form\\\"],[4,[38,8],[\\\"submit\\\",[30,0,[\\\"createGame\\\"]]],null],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Game Name\\\"],[13],[1,\\\"\\\\n        \\\"],[11,\\\"input\\\"],[24,\\\"placeholder\\\",\\\"e.g., Call of Duty: Modern Warfare\\\"],[16,2,[30,0,[\\\"newGameName\\\"]]],[24,4,\\\"text\\\"],[4,[38,8],[\\\"input\\\",[30,0,[\\\"updateNewGameName\\\"]]],null],[12],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"button\\\"],[14,0,\\\"btn btn-primary\\\"],[15,\\\"disabled\\\",[30,0,[\\\"creating\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n          \\\"],[1,[52,[30,0,[\\\"creating\\\"]],\\\"Creating…\\\",\\\"Create\\\"]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"  \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h2\\\"],[12],[1,\\\"Add Games from CSV File\\\"],[13],[1,\\\"\\\\n      \\\"],[10,2],[14,0,\\\"muted\\\"],[12],[1,\\\"Upload a CSV file of game names. CSV \\\"],[10,\\\"b\\\"],[12],[1,\\\"must\\\"],[13],[1,\\\" contain a \\\"],[10,\\\"code\\\"],[12],[1,\\\"name\\\"],[13],[1,\\\" header row.\\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[11,\\\"form\\\"],[24,\\\"enctype\\\",\\\"multipart/form-data\\\"],[24,0,\\\"ig-form\\\"],[4,[38,8],[\\\"submit\\\",[30,0,[\\\"createGamesFromFile\\\"]]],null],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"CSV File\\\"],[13],[1,\\\"\\\\n        \\\"],[11,\\\"input\\\"],[24,1,\\\"game-file-input\\\"],[24,\\\"accept\\\",\\\".csv,text/csv\\\"],[24,4,\\\"file\\\"],[4,[38,8],[\\\"change\\\",[30,0,[\\\"handleFileChange\\\"]]],null],[12],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"\\\\n          \\\"],[11,\\\"input\\\"],[16,\\\"checked\\\",[30,0,[\\\"verifyNewGames\\\"]]],[24,4,\\\"checkbox\\\"],[4,[38,8],[\\\"change\\\",[30,0,[\\\"handleVerifyGamesChange\\\"]]],null],[12],[13],[1,\\\"\\\\n          Verify New Games\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"button\\\"],[14,0,\\\"btn btn-primary\\\"],[15,\\\"disabled\\\",[30,0,[\\\"creating\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n          \\\"],[1,[52,[30,0,[\\\"creating\\\"]],\\\"Creating games...\\\",\\\"Create Games\\\"]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"fileUploadMessage\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"ig-result success\\\"],[12],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"ig-result-title\\\"],[12],[1,[30,0,[\\\"fileUploadMessage\\\"]]],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"fileUploadErrorMessage\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"ig-alert danger\\\"],[12],[1,\\\"Error: \\\"],[1,[30,0,[\\\"fileUploadErrorMessage\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"  \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h2\\\"],[12],[1,[52,[28,[37,17],[[30,0,[\\\"status\\\"]],\\\"pending\\\"],null],\\\"Pending Games\\\",\\\"Verified Games\\\"]],[13],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[28,[37,18],[[30,0,[\\\"hasPrev\\\"]]],null]],[24,4,\\\"button\\\"],[4,[38,8],[\\\"click\\\",[30,0,[\\\"prevPage\\\"]]],null],[12],[1,\\\"\\\\n          ← Prev\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[28,[37,18],[[30,0,[\\\"hasNext\\\"]]],null]],[24,4,\\\"button\\\"],[4,[38,8],[\\\"click\\\",[30,0,[\\\"nextPage\\\"]]],null],[12],[1,\\\"\\\\n          Next →\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"filteredGames\\\",\\\"length\\\"]],[[[1,\\\"      \\\"],[10,\\\"table\\\"],[14,0,\\\"ig-table\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Display Name\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"ID (slug)\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Created\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Created By\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Verified?\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Verified At\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Verified By\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[14,5,\\\"width: 240px;\\\"],[12],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,25],[[28,[37,25],[[30,0,[\\\"filteredGames\\\"]]],null]],null],null,[[[1,\\\"            \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[14,0,\\\"truncate\\\"],[12],[1,[28,[35,27],[[30,2,[\\\"display_name\\\"]],\\\"—\\\"],null]],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[14,0,\\\"truncate\\\"],[12],[10,\\\"code\\\"],[12],[1,[30,2,[\\\"id\\\"]]],[13],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                \\\"],[1,[30,2,[\\\"created_at\\\"]]],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n                \\\"],[10,1],[14,0,\\\"muted\\\"],[12],[1,[30,2,[\\\"created_at_fmt\\\"]]],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,[28,[35,27],[[30,2,[\\\"created_by\\\"]],\\\"—\\\"],null]],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,[52,[30,2,[\\\"verified\\\"]],\\\"Yes\\\",\\\"No\\\"]],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"verified_at_fmt\\\"]]],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,[28,[35,27],[[30,2,[\\\"verified_by\\\"]],\\\"—\\\"],null]],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[14,0,\\\"actions\\\"],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,17],[[30,0,[\\\"status\\\"]],\\\"pending\\\"],null],[[[1,\\\"                  \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[16,\\\"disabled\\\",[30,0,[\\\"loadingAction\\\"]]],[24,4,\\\"button\\\"],[4,[38,8],[\\\"click\\\",[28,[37,29],[[30,0,[\\\"approve\\\"]],[30,2]],null]],null],[12],[1,\\\"\\\\n                    \\\"],[1,[52,[30,0,[\\\"loadingAction\\\"]],\\\"Working...\\\",\\\"Approve\\\"]],[1,\\\"\\\\n                  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                  \\\"],[11,\\\"button\\\"],[24,0,\\\"btn\\\"],[16,\\\"disabled\\\",[30,0,[\\\"loadingAction\\\"]]],[24,4,\\\"button\\\"],[4,[38,8],[\\\"click\\\",[28,[37,29],[[30,0,[\\\"unverify\\\"]],[30,2]],null]],null],[12],[1,\\\"\\\\n                    \\\"],[1,[52,[30,0,[\\\"loadingAction\\\"]],\\\"Working...\\\",\\\"Unverify\\\"]],[1,\\\"\\\\n                  \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-danger\\\"],[16,\\\"disabled\\\",[30,0,[\\\"loadingAction\\\"]]],[24,4,\\\"button\\\"],[4,[38,8],[\\\"click\\\",[28,[37,29],[[30,0,[\\\"delete\\\"]],[30,2]],null]],null],[12],[1,\\\"\\\\n                  \\\"],[1,[52,[30,0,[\\\"loadingAction\\\"]],\\\"Working...\\\",\\\"Delete\\\"]],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"      \\\"],[10,2],[12],[1,\\\"No games found.\\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-foot\\\"],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[28,[37,18],[[30,0,[\\\"hasPrev\\\"]]],null]],[24,4,\\\"button\\\"],[4,[38,8],[\\\"click\\\",[30,0,[\\\"prevPage\\\"]]],null],[12],[1,\\\"\\\\n          ← Prev\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[28,[37,18],[[30,0,[\\\"hasNext\\\"]]],null]],[24,4,\\\"button\\\"],[4,[38,8],[\\\"click\\\",[30,0,[\\\"nextPage\\\"]]],null],[12],[1,\\\"\\\\n          Next →\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"muted\\\"],[12],[1,\\\"\\\\n        Showing \\\"],[1,[30,0,[\\\"filteredGames\\\",\\\"length\\\"]]],[1,\\\" of \\\"],[1,[30,0,[\\\"games\\\",\\\"length\\\"]]],[1,\\\" item(s).\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"  \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h3\\\"],[12],[1,\\\"Tips\\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"“Pending” shows unverified games (\\\"],[10,\\\"code\\\"],[12],[1,\\\"verified_key = 0\\\"],[13],[1,\\\").\\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"“Verified” shows verified games (\\\"],[10,\\\"code\\\"],[12],[1,\\\"verified_key = 1\\\"],[13],[1,\\\").\\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"Approve sets \\\"],[10,\\\"code\\\"],[12],[1,\\\"verified=true\\\"],[13],[1,\\\", stores verifier + timestamp.\\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"Unverify clears verifier metadata.\\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"Use “Add a Game” to seed a title (ID is auto-normalized; UI shows Display Name).\\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"Use “Add Games from CSV File” to create multiple games from a valid CSV file.\\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@backRoute\\\",\\\"g\\\"],false,[\\\"div\\\",\\\"did-insert\\\",\\\"h1\\\",\\\"if\\\",\\\"link-to\\\",\\\"h2\\\",\\\"label\\\",\\\"select\\\",\\\"on\\\",\\\"option\\\",\\\"input\\\",\\\"button\\\",\\\"p\\\",\\\"br\\\",\\\"code\\\",\\\"form\\\",\\\"b\\\",\\\"eq\\\",\\\"not\\\",\\\"table\\\",\\\"thead\\\",\\\"tr\\\",\\\"th\\\",\\\"tbody\\\",\\\"each\\\",\\\"-track-array\\\",\\\"td\\\",\\\"or\\\",\\\"span\\\",\\\"fn\\\",\\\"h3\\\",\\\"ul\\\",\\\"li\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/games-admin.hbs\",\n    \"isStrictMode\": false\n  });\n  class GamesAdmin extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"status\", [_tracking.tracked], function () {\n      return this.args.initialStatus ?? \"pending\";\n    }))();\n    #status = (() => (dt7948.i(this, \"status\"), void 0))(); // Filters / paging / query\n    static #_2 = (() => dt7948.g(this.prototype, \"limit\", [_tracking.tracked], function () {\n      return this.args.initialLimit ?? 50;\n    }))();\n    #limit = (() => (dt7948.i(this, \"limit\"), void 0))(); // \"pending\" | \"verified\"\n    static #_3 = (() => dt7948.g(this.prototype, \"cursor\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #cursor = (() => (dt7948.i(this, \"cursor\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"q\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #q = (() => (dt7948.i(this, \"q\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"games\", [_tracking.tracked], function () {\n      return this.args.initialGames ?? [];\n    }))();\n    #games = (() => (dt7948.i(this, \"games\"), void 0))(); // Data + UI state\n    static #_6 = (() => dt7948.g(this.prototype, \"loading\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loading = (() => (dt7948.i(this, \"loading\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"clearingCache\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #clearingCache = (() => (dt7948.i(this, \"clearingCache\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"loadingAction\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loadingAction = (() => (dt7948.i(this, \"loadingAction\"), void 0))();\n    static #_9 = (() => dt7948.g(this.prototype, \"errorMessage\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #errorMessage = (() => (dt7948.i(this, \"errorMessage\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"message\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #message = (() => (dt7948.i(this, \"message\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"cacheErrorMessage\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #cacheErrorMessage = (() => (dt7948.i(this, \"cacheErrorMessage\"), void 0))();\n    static #_12 = (() => dt7948.g(this.prototype, \"cacheMessage\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #cacheMessage = (() => (dt7948.i(this, \"cacheMessage\"), void 0))();\n    static #_13 = (() => dt7948.g(this.prototype, \"newGameName\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #newGameName = (() => (dt7948.i(this, \"newGameName\"), void 0))(); // Create (single)\n    static #_14 = (() => dt7948.g(this.prototype, \"creating\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #creating = (() => (dt7948.i(this, \"creating\"), void 0))();\n    static #_15 = (() => dt7948.g(this.prototype, \"file\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #file = (() => (dt7948.i(this, \"file\"), void 0))(); // CSV upload\n    static #_16 = (() => dt7948.g(this.prototype, \"verifyNewGames\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #verifyNewGames = (() => (dt7948.i(this, \"verifyNewGames\"), void 0))();\n    static #_17 = (() => dt7948.g(this.prototype, \"fileUploadErrorMessage\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #fileUploadErrorMessage = (() => (dt7948.i(this, \"fileUploadErrorMessage\"), void 0))();\n    static #_18 = (() => dt7948.g(this.prototype, \"fileUploadMessage\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #fileUploadMessage = (() => (dt7948.i(this, \"fileUploadMessage\"), void 0))();\n    static #_19 = (() => dt7948.g(this.prototype, \"nextCursor\", [_tracking.tracked], function () {\n      return this.args.initialCursor ?? null;\n    }))();\n    #nextCursor = (() => (dt7948.i(this, \"nextCursor\"), void 0))(); // Pagination cursors\n    static #_20 = (() => dt7948.g(this.prototype, \"prevStack\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #prevStack = (() => (dt7948.i(this, \"prevStack\"), void 0))();\n    // keep as tracked & always reassign new arrays to trigger updates\n\n    // Initial fetch if route didn't pre-pass data\n    onInsert() {\n      if (typeof this.args.initialGames === \"undefined\") {\n        this.refresh();\n      }\n    }\n\n    // ----- derived -----\n    static #_21 = (() => dt7948.n(this.prototype, \"onInsert\", [_object.action]))();\n    get hasNext() {\n      return !!this.nextCursor;\n    }\n    get hasPrev() {\n      return this.prevStack.length > 0;\n    }\n    fmtEpoch(v) {\n      if (!v && v !== 0) return \"—\";\n      const n = Number(v);\n      if (!Number.isFinite(n) || n <= 0) return \"—\";\n      try {\n        return new Date(n * 1000).toLocaleString();\n      } catch {\n        return String(v);\n      }\n    }\n    get filteredGames() {\n      const t = (this.q || \"\").trim().toLowerCase();\n      if (!t) return this.games;\n      return this.games.filter(g => {\n        const id = (g.id || \"\").toLowerCase();\n        const dn = (g.display_name || \"\").toLowerCase();\n        return id.includes(t) || dn.includes(t);\n      });\n    }\n\n    // ----- data -----\n    async loadGames() {\n      let {\n        cursor = null\n      } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n      this.loading = true;\n      this.errorMessage = null;\n      try {\n        const params = {\n          verified: this.status === \"verified\",\n          limit: this.limit\n        };\n        if (cursor) params.cursor = cursor;\n        const resp = await (0, _ajax.ajax)(\"/cp/games\", {\n          type: \"GET\",\n          data: params\n        });\n        if (!resp?.success) throw new Error(resp?.error || \"Failed to load games\");\n        const items = (resp.games || []).map(g => ({\n          ...g,\n          created_at_fmt: this.fmtEpoch(g.created_at),\n          verified_at_fmt: this.fmtEpoch(g.verified_at)\n        }));\n        this.games = items;\n        this.nextCursor = resp.cursor || null;\n        this.cursor = cursor || null;\n      } catch (e) {\n        this.errorMessage = e?.jqXHR?.responseJSON?.error || e?.message || \"Load failed\";\n      } finally {\n        this.loading = false;\n      }\n    }\n    async refresh() {\n      this.prevStack = [];\n      await this.loadGames({\n        cursor: null\n      });\n    }\n    static #_22 = (() => dt7948.n(this.prototype, \"refresh\", [_object.action]))();\n    async clearGamesCache() {\n      try {\n        this.clearingCache = true;\n        await (0, _ajax.ajax)(\"/clear-cache/game\", {\n          type: \"GET\"\n        });\n        this.cacheMessage = \"Cache successfully cleared.\";\n        await this.refresh();\n      } catch (e) {\n        this.cacheErrorMessage = e?.jqXHR?.responseJSON?.error || e?.message || \"Cache clear failed\";\n      } finally {\n        this.clearingCache = false;\n      }\n    }\n\n    // ----- paging -----\n    static #_23 = (() => dt7948.n(this.prototype, \"clearGamesCache\", [_object.action]))();\n    async nextPage() {\n      if (!this.nextCursor) return;\n      this.prevStack = [...this.prevStack, this.cursor];\n      await this.loadGames({\n        cursor: this.nextCursor\n      });\n    }\n    static #_24 = (() => dt7948.n(this.prototype, \"nextPage\", [_object.action]))();\n    async prevPage() {\n      if (!this.hasPrev) return;\n      const stack = [...this.prevStack];\n      const prev = stack.pop();\n      this.prevStack = stack;\n      await this.loadGames({\n        cursor: prev\n      });\n    }\n\n    // ----- filters / inputs -----\n    static #_25 = (() => dt7948.n(this.prototype, \"prevPage\", [_object.action]))();\n    async onStatusChange(e) {\n      this.status = e.target.value; // \"pending\" | \"verified\"\n      await this.refresh();\n    }\n    static #_26 = (() => dt7948.n(this.prototype, \"onStatusChange\", [_object.action]))();\n    async onLimitChange(e) {\n      this.limit = parseInt(e.target.value || \"50\", 10);\n      await this.refresh();\n    }\n    static #_27 = (() => dt7948.n(this.prototype, \"onLimitChange\", [_object.action]))();\n    onQueryInput(e) {\n      this.q = e.target.value || \"\";\n    }\n    static #_28 = (() => dt7948.n(this.prototype, \"onQueryInput\", [_object.action]))();\n    updateNewGameName(e) {\n      this.newGameName = e.target.value || \"\";\n    }\n    static #_29 = (() => dt7948.n(this.prototype, \"updateNewGameName\", [_object.action]))();\n    handleFileChange(event) {\n      this.file = event.target.files?.[0] || null;\n    }\n    static #_30 = (() => dt7948.n(this.prototype, \"handleFileChange\", [_object.action]))();\n    handleVerifyGamesChange(e) {\n      this.verifyNewGames = e.target.checked;\n    }\n\n    // ----- actions -----\n    static #_31 = (() => dt7948.n(this.prototype, \"handleVerifyGamesChange\", [_object.action]))();\n    async approve(game) {\n      this.loadingAction = true;\n      this.errorMessage = null;\n      this.message = null;\n      try {\n        await (0, _ajax.ajax)(\"/cp/games/verify\", {\n          type: \"POST\",\n          data: {\n            id: game.id,\n            verified: true\n          }\n        });\n        this.message = `Approved “${game.display_name || game.id}”`;\n        await this.refresh();\n      } catch (e) {\n        this.errorMessage = e?.jqXHR?.responseJSON?.error || e?.message || \"Approve failed\";\n      } finally {\n        this.loadingAction = false;\n      }\n    }\n    static #_32 = (() => dt7948.n(this.prototype, \"approve\", [_object.action]))();\n    async unverify(game) {\n      this.loadingAction = true;\n      this.errorMessage = null;\n      this.message = null;\n      try {\n        await (0, _ajax.ajax)(\"/cp/games/verify\", {\n          type: \"POST\",\n          data: {\n            id: game.id,\n            verified: false\n          }\n        });\n        this.message = `Unverified “${game.display_name || game.id}”`;\n        await this.refresh();\n      } catch (e) {\n        this.errorMessage = e?.jqXHR?.responseJSON?.error || e?.message || \"Unverify failed\";\n      } finally {\n        this.loadingAction = false;\n      }\n    }\n    static #_33 = (() => dt7948.n(this.prototype, \"unverify\", [_object.action]))();\n    async delete(game) {\n      if (!window.confirm(`Delete “${game.display_name || game.id}”? This cannot be undone.`)) return;\n      this.loadingAction = true;\n      this.errorMessage = null;\n      this.message = null;\n      try {\n        await (0, _ajax.ajax)(`/cp/games/${encodeURIComponent(game.id)}`, {\n          type: \"DELETE\"\n        });\n        this.message = `Deleted “${game.display_name || game.id}”`;\n        await this.refresh();\n      } catch (e) {\n        this.errorMessage = e?.jqXHR?.responseJSON?.error || e?.message || \"Delete failed\";\n      } finally {\n        this.loadingAction = false;\n      }\n    }\n    static #_34 = (() => dt7948.n(this.prototype, \"delete\", [_object.action]))();\n    async createGame(e) {\n      e?.preventDefault?.();\n      const name = (this.newGameName || \"\").trim();\n      if (!name) return;\n      this.creating = true;\n      this.errorMessage = null;\n      this.message = null;\n      try {\n        const resp = await (0, _ajax.ajax)(\"/cp/games\", {\n          type: \"POST\",\n          data: {\n            id: name\n          }\n        });\n        if (!resp?.success) throw new Error(resp?.error || \"Create failed\");\n        const g = resp.game || {};\n        this.message = `Created “${g.display_name || name}” (id: ${g.id || \"?\"})`;\n        this.newGameName = \"\";\n        if (this.status === \"pending\") await this.refresh();\n      } catch (e2) {\n        this.errorMessage = e2?.jqXHR?.responseJSON?.error || e2?.message || \"Create failed\";\n      } finally {\n        this.creating = false;\n      }\n    }\n    static #_35 = (() => dt7948.n(this.prototype, \"createGame\", [_object.action]))();\n    async createGamesFromFile(e) {\n      e?.preventDefault?.();\n      if (!this.file) {\n        this.fileUploadErrorMessage = \"Please select a file\";\n        return;\n      }\n      const rowCount = await this.countCsvRows(this.file);\n      if (rowCount <= 0) {\n        this.fileUploadErrorMessage = \"The uploaded CSV file is empty\";\n        return;\n      }\n      const proceed = confirm(`You are about to create ${rowCount} ${this.verifyNewGames ? \"verified\" : \"unverified\"} games. Continue?`);\n      if (!proceed) return;\n      this.creating = true;\n      this.fileUploadErrorMessage = null;\n      this.fileUploadMessage = null;\n      try {\n        const formData = new FormData();\n        formData.append(\"file\", this.file);\n        formData.append(\"verify\", this.verifyNewGames);\n        const resp = await (0, _ajax.ajax)(\"/cp/games-upload\", {\n          type: \"POST\",\n          data: formData,\n          processData: false,\n          contentType: false\n        });\n        if (!resp?.success) throw new Error(resp?.error || \"Create failed\");\n\n        // reset input\n        this.file = null;\n        const input = document.getElementById(\"game-file-input\");\n        if (input) input.value = \"\";\n        const parts = [`Successfully created ${resp.created_count} games.`];\n        if (resp.skipped_count > 0) parts.push(`Skipped creating ${resp.skipped_count} games.`);\n        this.fileUploadMessage = parts.join(\"\\n\");\n        if (resp.failed_count > 0) {\n          this.fileUploadErrorMessage = `Failed to create ${resp.failed_count} games.`;\n          // resp.failed may contain details; optionally log:\n          // console.error(resp.failed);\n        }\n        this.status = this.verifyNewGames ? \"verified\" : \"pending\";\n        this.verifyNewGames = false;\n        await this.refresh();\n      } catch (err) {\n        this.fileUploadErrorMessage = err?.jqXHR?.responseJSON?.error || err?.message || \"Create failed\";\n      } finally {\n        this.creating = false;\n      }\n    }\n\n    // ----- helpers -----\n    static #_36 = (() => dt7948.n(this.prototype, \"createGamesFromFile\", [_object.action]))();\n    async countCsvRows(file) {\n      return new Promise((resolve, reject) => {\n        const reader = new FileReader();\n        reader.onload = event => {\n          const text = event.target.result;\n          const lines = text.split(/\\r\\n|\\n/).filter(line => line.trim() !== \"\");\n          const hasHeader = lines.length > 0 && lines[0].toLowerCase().includes(\"name\");\n          resolve(hasHeader ? lines.length - 1 : lines.length);\n        };\n        reader.onerror = err => reject(err);\n        reader.readAsText(file);\n      });\n    }\n  }\n  _exports.default = GamesAdmin;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, GamesAdmin);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/giveaways-admin\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"discourse/lib/ajax\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _ajax, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"admin-container\" {{did-insert this.onInsert}}>\n      <div class=\"ig-admin-card-head\">\n          <h1 class=\"ig-admin-title\">Giveaway Settings</h1>\n          {{#if @backRoute}}\n          <LinkTo @route={{@backRoute}} class=\"btn btn-secondary igames-admin-button\">Back to Settings</LinkTo>\n          {{/if}}\n      </div>\n  \n      <div class=\"ig-admin-card\">\n          <div class=\"ig-admin-card-head\">\n              <h1 class=\"ig-admin-title\">{{if this.editingId \"Edit Giveaway\" \"Create Giveaway\"}}</h1>\n          </div>\n  \n          <form {{on \"submit\" this.saveGiveawaySettings}} enctype=\"multipart/form-data\" class=\"ig-form\">\n              <div class=\"ig-form-row\">\n                  <label class=\"ig-label\" for=\"gw-title\">Title</label>\n                  <input id=\"gw-title\" class=\"ig-input\" type=\"text\" value={{this.title}} {{on \"input\" (fn\n                      this.updateField \"title\" )}} />\n              </div>\n  \n              <div class=\"ig-form-row\">\n                  <label class=\"ig-label\" for=\"gw-slug\">Slug (optional)</label>\n                  <input id=\"gw-slug\" class=\"ig-input\" type=\"text\" value={{this.slug}} {{on \"input\" (fn\n                      this.updateField \"slug\" )}} />\n              </div>\n  \n              <div class=\"ig-grid\">\n                  <div class=\"ig-field\">\n                      <label class=\"ig-label\" for=\"gw-status\">Status</label>\n                      <select id=\"gw-status\" class=\"ig-input\" {{on \"change\" (fn this.updateField \"status\" )}}>\n                          {{#each this.statuses as |s|}}\n                          <option value={{s}} selected={{eq this.status s}}>{{s}}</option>\n                          {{/each}}\n                      </select>\n                  </div>\n  \n                  <div class=\"ig-field\">\n                      <label class=\"ig-label\" for=\"gw-featured\">Featured</label>\n                      <input id=\"gw-featured\" type=\"checkbox\" checked={{this.featured}} {{on \"change\" (fn (mut\n                          this.featured) (not this.featured))}} />\n                  </div>\n  \n                  <div class=\"ig-field\">\n                      <label class=\"ig-label\" for=\"gw-max-ip\">Max Keys / IP (per giveaway)</label>\n                      <input id=\"gw-max-ip\" class=\"ig-input\" type=\"number\" min=\"1\" value={{this.maxKeysPerIp}}\n                          {{on \"input\" (fn this.updateNumberField \"maxKeysPerIp\" )}} />\n                      <div class=\"ig-help\">Applied across all pools for this giveaway.</div>\n                  </div>\n              </div>\n  \n              <div class=\"ig-form-row\">\n                  <label class=\"ig-label\" for=\"gw-content\">Content</label>\n                  <textarea id=\"gw-content\" class=\"ig-input\" rows=\"5\" {{on \"input\" (fn this.updateField \"content\"\n                      )}}>{{this.content}}</textarea>\n              </div>\n  \n              <div class=\"ig-grid\">\n                  <div class=\"ig-field\">\n                      <label>Platform</label>\n                      <input type=\"text\" value={{this.platform}} {{on \"input\" (fn this.updateField \"platform\" )}} />\n                  </div>\n                  <div class=\"ig-field\">\n                      <label>Developer</label>\n                      <input type=\"text\" value={{this.developer}} {{on \"input\" (fn this.updateField \"developer\" )}} />\n                  </div>\n                  <div class=\"ig-field\">\n                      <label>Game Website URL</label>\n                      <input type=\"url\" value={{this.gameWebsiteUrl}} {{on \"input\" (fn this.updateField \"gameWebsiteUrl\"\n                          )}} />\n                  </div>\n                  <div class=\"ig-field\">\n                      <label>Accent Color</label>\n                      <input type=\"text\" placeholder=\"#RRGGBB or name\" value={{this.color}} {{on \"input\" (fn\n                          this.updateField \"color\" )}} />\n                  </div>\n              </div>\n  \n              <div class=\"ig-grid\">\n                  <div class=\"ig-field ig-col-span-2\">\n                      <label>YouTube Video URL (optional if header image uploaded)</label>\n                      <input type=\"url\" value={{this.youtubeUrl}} {{on \"input\" (fn this.updateField \"youtubeUrl\" )}} />\n                  </div>\n                  <div class=\"ig-field\">\n                      <label>Header Image (file)</label>\n                      <input type=\"file\" accept=\"image/*\" {{on \"change\" this.onHeaderImageChange}} />\n                  </div>\n                  <div class=\"ig-field\">\n                      <label>Thumbnail Image (file) {{unless this.editingId \"(required)\"}}</label>\n                      <input type=\"file\" accept=\"image/*\" {{on \"change\" this.onThumbnailImageChange}} />\n                  </div>\n              </div>\n  \n              <div class=\"ig-form-row\">\n                  <label class=\"ig-label\" for=\"gw-tags\">Tags (CSV)</label>\n                  <input id=\"gw-tags\" class=\"ig-input\" type=\"text\" value={{this.tagsCsv}} {{on \"input\" (fn\n                      this.updateField \"tagsCsv\" )}} />\n              </div>\n  \n              <div class=\"ig-form-row\">\n                  <label class=\"ig-label\" for=\"gw-redemption\">Redemption Instructions</label>\n                  <textarea id=\"gw-redemption\" class=\"ig-input\" rows=\"4\" {{on \"input\" (fn\n                      this.updateField \"redemptionInstructions\" )}}>{{this.redemptionInstructions}}</textarea>\n              </div>\n  \n              <div class=\"ig-help\">\n                  On create: Thumbnail file is required. Provide either a YouTube URL or a Header Image file.\n              </div>\n  \n              <div class=\"ig-form-actions\">\n                  <button type=\"submit\" class=\"btn btn-primary\" disabled={{this.saving}}>\n                      {{if this.saving \"Saving...\" (if this.editingId \"Update Giveaway\" \"Create Giveaway\")}}\n                  </button>\n                  {{#if this.editingId}}\n                  <button type=\"button\" class=\"btn btn-outline\" {{on \"click\" this.beginCreate}}>Cancel</button>\n                  {{/if}}\n              </div>\n          </form>\n  \n          {{#if this.saveMessage}}\n          <div class=\"ig-result success\">\n              <div class=\"ig-result-title\">{{this.saveMessage}}</div>\n          </div>\n          {{/if}}\n          {{#if this.errorMessage}}\n          <div class=\"ig-alert danger\">Error: {{this.errorMessage}}</div>\n          {{/if}}\n      </div>\n  \n      <div class=\"ig-admin-card\">\n          <div class=\"ig-admin-card-head\">\n              <h2>Existing Giveaways</h2>\n              <div class=\"ig-inline\" style=\"gap: 0.5rem;\">\n                  <input type=\"text\" class=\"ig-input\" placeholder=\"Consumer ID (optional)\" value={{this.consumerId}}\n                      {{on \"input\" (fn this.updateField \"consumerId\" )}} />\n                  <button type=\"button\" {{on \"click\" this.loadGiveaways}} disabled={{this.loading}}\n                      class=\"btn btn-secondary\">\n                      {{if this.loading \"Refreshing...\" \"Refresh\"}}\n                  </button>\n              </div>\n          </div>\n  \n          {{#if this.giveaways.length}}\n          <table class=\"ig-table\">\n              <thead>\n                  <tr>\n                      <th>Title</th>\n                      <th>Slug</th>\n                      <th>Status</th>\n                      <th>Featured</th>\n                      <th>Max / IP</th>\n                      <th>Created</th>\n                      <th>Updated</th>\n                      <th></th>\n                  </tr>\n              </thead>\n  \n              <tbody>\n                  {{#each this.giveaways as |g|}}\n                  <tr>\n                      <td>{{g.title}}</td>\n                      <td>{{g.slug}}</td>\n                      <td>{{g.status}}</td>\n                      <td>{{if g.featured \"Yes\" \"No\"}}</td>\n                      <td>{{if g.maxKeysPerIp g.maxKeysPerIp \"—\"}}</td>\n                      <td>{{this.ymd g.createdAt}}</td>\n                      <td>{{this.ymd g.updatedAt}}</td>\n                      <td class=\"ig-actions\">\n                          <button type=\"button\" {{on \"click\" (fn this.beginEdit g)}}>Edit</button>\n                          <br>\n                          <button type=\"button\" style=\"margin-top: 5px;\" {{on \"click\" (fn this.deleteGiveaway\n                              g)}}>Delete</button>\n                          <br>\n                          <button type=\"button\" style=\"margin-top: 5px;\" {{on \"click\" (fn this.togglePools g)}}>\n                              {{if (this.isExpanded g.id) \"Hide Pools\" \"Manage Pools\"}}\n                          </button>\n                      </td>\n                  </tr>\n  \n                  {{#if (this.isExpanded g.id)}}\n                  <tr class=\"ig-subrow\">\n                      <td colspan=\"8\">\n                          <div class=\"ig-subcard\">\n                              <div class=\"ig-subcard-head\">\n                                  <h3>Keypools for {{g.title}}</h3>\n                                  <div class=\"ig-inline\" style=\"gap:.5rem;\">\n                                      <button type=\"button\" class=\"btn btn-secondary\" disabled={{get this.poolsLoading\n                                          g.id}} {{on \"click\" (fn this.refreshPools g)}}>\n                                          {{if (get this.poolsLoading g.id) \"Refreshing…\" \"Refresh\"}}\n                                      </button>\n  \n                                      <button type=\"button\" class=\"btn btn-primary\" {{on \"click\" (fn this.newPool g)}}>\n                                          New Pool\n                                      </button>\n                                  </div>\n                              </div>\n  \n                              {{#if (this.hasPools g.id)}}\n                              <table class=\"ig-table\">\n                                  <thead>\n                                      <tr>\n                                          <th>Description</th>\n                                          <th>Total</th>\n                                          <th>Active</th>\n                                          <th>Limits</th>\n                                          <th>Countries</th>\n                                          <th></th>\n                                      </tr>\n                                  </thead>\n                                  <tbody>\n                                      {{#each (this.poolsFor g.id) as |p|}}\n                                      <tr>\n                                          <td>{{if p.description p.description \"—\"}}</td>\n                                          <td>{{p.keysRemaining}}/{{p.totalKeys}}</td>\n                                          <td>{{if p.active \"Yes\" \"No\"}}</td>\n                                          <td>{{if p.lowerLimit p.lowerLimit \"—\"}} – {{if p.upperLimit p.upperLimit \"—\"}}\n                                          </td>\n                                          <td>{{if p.countries p.countries \"—\"}}</td>\n                                          <td class=\"ig-actions\">\n                                              <button type=\"button\" {{on \"click\" (fn this.editPool g p)}}>Edit</button>\n                                              <button type=\"button\" {{on \"click\" (fn\n                                                  this.beginUpload g p)}}>Upload Keys</button>\n                                              <button type=\"button\" {{on \"click\" (fn\n                                                  this.deletePool g p)}}>Delete</button>\n                                          </td>\n                                      </tr>\n                                      {{/each}}\n                                  </tbody>\n                              </table>\n                              {{else}}\n                              <p>Loading pools…</p>\n                              {{/if}}\n  \n                              {{!-- POOL EDIT SUBFORM --}}\n                              {{#if this.poolEditing}}\n                              {{#let this.poolEditing as |ctx|}}\n                              {{#if (this.sameId ctx.gid g.id)}}\n                              <div class=\"ig-subform\">\n                                  <h4>{{if ctx.isNew \"Create Pool\" \"Edit Pool\"}}</h4>\n  \n                                  <div class=\"ig-grid-compact\">\n                                      <div class=\"ig-field ig-col-span-3\">\n                                          <label>Description</label>\n                                          <input type=\"text\" value={{ctx.pool.description}} {{on \"input\" (fn\n                                              this.updatePoolField \"description\" )}} />\n                                      </div>\n  \n                                      <div class=\"ig-field\">\n                                          <label>Active</label>\n                                          <input type=\"checkbox\" checked={{ctx.pool.active}} {{on \"change\" (fn\n                                              this.updatePoolBooleanField \"active\" )}} />\n                                      </div>\n  \n                                      <div class=\"ig-field\">\n                                          <label>Lower Limit</label>\n                                          <input type=\"number\" min=\"0\" value={{ctx.pool.lowerLimit}} {{on \"input\" (fn\n                                              this.updatePoolNumberField \"lowerLimit\" )}} />\n                                      </div>\n  \n                                      <div class=\"ig-field\">\n                                          <label>Upper Limit</label>\n                                          <input type=\"number\" min=\"0\" value={{ctx.pool.upperLimit}} {{on \"input\" (fn\n                                              this.updatePoolNumberField \"upperLimit\" )}} />\n                                      </div>\n  \n                                      <div class=\"ig-field ig-col-span-2\">\n                                          <label>Countries</label>\n                                          <select multiple size=\"14\" {{on \"change\" this.onPoolCountriesChange}}\n                                              {{did-insert this.bindPoolCountriesSelect}} {{did-update\n                                              this.syncPoolCountriesSelect ctx.pool.countries}}>\n                                              <option value=\"AF\">Afghanistan</option>\n                                              <option value=\"AX\">Åland Islands</option>\n                                              <option value=\"AL\">Albania</option>\n                                              <option value=\"DZ\">Algeria</option>\n                                              <option value=\"AS\">American Samoa</option>\n                                              <option value=\"AD\">Andorra</option>\n                                              <option value=\"AO\">Angola</option>\n                                              <option value=\"AI\">Anguilla</option>\n                                              <option value=\"AQ\">Antarctica</option>\n                                              <option value=\"AG\">Antigua and Barbuda</option>\n                                              <option value=\"AR\">Argentina</option>\n                                              <option value=\"AM\">Armenia</option>\n                                              <option value=\"AW\">Aruba</option>\n                                              <option value=\"AU\">Australia</option>\n                                              <option value=\"AT\">Austria</option>\n                                              <option value=\"AZ\">Azerbaijan</option>\n                                              <option value=\"BS\">Bahamas</option>\n                                              <option value=\"BH\">Bahrain</option>\n                                              <option value=\"BD\">Bangladesh</option>\n                                              <option value=\"BB\">Barbados</option>\n                                              <option value=\"BY\">Belarus</option>\n                                              <option value=\"BE\">Belgium</option>\n                                              <option value=\"BZ\">Belize</option>\n                                              <option value=\"BJ\">Benin</option>\n                                              <option value=\"BM\">Bermuda</option>\n                                              <option value=\"BT\">Bhutan</option>\n                                              <option value=\"BO\">Bolivia, Plurinational State of</option>\n                                              <option value=\"BQ\">Bonaire, Sint Eustatius and Saba</option>\n                                              <option value=\"BA\">Bosnia and Herzegovina</option>\n                                              <option value=\"BW\">Botswana</option>\n                                              <option value=\"BV\">Bouvet Island</option>\n                                              <option value=\"BR\">Brazil</option>\n                                              <option value=\"IO\">British Indian Ocean Territory</option>\n                                              <option value=\"BN\">Brunei Darussalam</option>\n                                              <option value=\"BG\">Bulgaria</option>\n                                              <option value=\"BF\">Burkina Faso</option>\n                                              <option value=\"BI\">Burundi</option>\n                                              <option value=\"KH\">Cambodia</option>\n                                              <option value=\"CM\">Cameroon</option>\n                                              <option value=\"CA\">Canada</option>\n                                              <option value=\"CV\">Cape Verde</option>\n                                              <option value=\"KY\">Cayman Islands</option>\n                                              <option value=\"CF\">Central African Republic</option>\n                                              <option value=\"TD\">Chad</option>\n                                              <option value=\"CL\">Chile</option>\n                                              <option value=\"CN\">China</option>\n                                              <option value=\"CX\">Christmas Island</option>\n                                              <option value=\"CC\">Cocos (Keeling) Islands</option>\n                                              <option value=\"CO\">Colombia</option>\n                                              <option value=\"KM\">Comoros</option>\n                                              <option value=\"CG\">Congo</option>\n                                              <option value=\"CD\">Congo, the Democratic Republic of the</option>\n                                              <option value=\"CK\">Cook Islands</option>\n                                              <option value=\"CR\">Costa Rica</option>\n                                              <option value=\"CI\">Côte d'Ivoire</option>\n                                              <option value=\"HR\">Croatia</option>\n                                              <option value=\"CU\">Cuba</option>\n                                              <option value=\"CW\">Curaçao</option>\n                                              <option value=\"CY\">Cyprus</option>\n                                              <option value=\"CZ\">Czech Republic</option>\n                                              <option value=\"DK\">Denmark</option>\n                                              <option value=\"DJ\">Djibouti</option>\n                                              <option value=\"DM\">Dominica</option>\n                                              <option value=\"DO\">Dominican Republic</option>\n                                              <option value=\"EC\">Ecuador</option>\n                                              <option value=\"EG\">Egypt</option>\n                                              <option value=\"SV\">El Salvador</option>\n                                              <option value=\"GQ\">Equatorial Guinea</option>\n                                              <option value=\"ER\">Eritrea</option>\n                                              <option value=\"EE\">Estonia</option>\n                                              <option value=\"ET\">Ethiopia</option>\n                                              <option value=\"FK\">Falkland Islands (Malvinas)</option>\n                                              <option value=\"FO\">Faroe Islands</option>\n                                              <option value=\"FJ\">Fiji</option>\n                                              <option value=\"FI\">Finland</option>\n                                              <option value=\"FR\">France</option>\n                                              <option value=\"GF\">French Guiana</option>\n                                              <option value=\"PF\">French Polynesia</option>\n                                              <option value=\"TF\">French Southern Territories</option>\n                                              <option value=\"GA\">Gabon</option>\n                                              <option value=\"GM\">Gambia</option>\n                                              <option value=\"GE\">Georgia</option>\n                                              <option value=\"DE\">Germany</option>\n                                              <option value=\"GH\">Ghana</option>\n                                              <option value=\"GI\">Gibraltar</option>\n                                              <option value=\"GR\">Greece</option>\n                                              <option value=\"GL\">Greenland</option>\n                                              <option value=\"GD\">Grenada</option>\n                                              <option value=\"GP\">Guadeloupe</option>\n                                              <option value=\"GU\">Guam</option>\n                                              <option value=\"GT\">Guatemala</option>\n                                              <option value=\"GG\">Guernsey</option>\n                                              <option value=\"GN\">Guinea</option>\n                                              <option value=\"GW\">Guinea-Bissau</option>\n                                              <option value=\"GY\">Guyana</option>\n                                              <option value=\"HT\">Haiti</option>\n                                              <option value=\"HM\">Heard Island and McDonald Islands</option>\n                                              <option value=\"VA\">Holy See (Vatican City State)</option>\n                                              <option value=\"HN\">Honduras</option>\n                                              <option value=\"HK\">Hong Kong</option>\n                                              <option value=\"HU\">Hungary</option>\n                                              <option value=\"IS\">Iceland</option>\n                                              <option value=\"IN\">India</option>\n                                              <option value=\"ID\">Indonesia</option>\n                                              <option value=\"IR\">Iran, Islamic Republic of</option>\n                                              <option value=\"IQ\">Iraq</option>\n                                              <option value=\"IE\">Ireland</option>\n                                              <option value=\"IM\">Isle of Man</option>\n                                              <option value=\"IL\">Israel</option>\n                                              <option value=\"IT\">Italy</option>\n                                              <option value=\"JM\">Jamaica</option>\n                                              <option value=\"JP\">Japan</option>\n                                              <option value=\"JE\">Jersey</option>\n                                              <option value=\"JO\">Jordan</option>\n                                              <option value=\"KZ\">Kazakhstan</option>\n                                              <option value=\"KE\">Kenya</option>\n                                              <option value=\"KI\">Kiribati</option>\n                                              <option value=\"KP\">Korea, Democratic People's Republic of</option>\n                                              <option value=\"KR\">Korea, Republic of</option>\n                                              <option value=\"KW\">Kuwait</option>\n                                              <option value=\"KG\">Kyrgyzstan</option>\n                                              <option value=\"LA\">Lao People's Democratic Republic</option>\n                                              <option value=\"LV\">Latvia</option>\n                                              <option value=\"LB\">Lebanon</option>\n                                              <option value=\"LS\">Lesotho</option>\n                                              <option value=\"LR\">Liberia</option>\n                                              <option value=\"LY\">Libya</option>\n                                              <option value=\"LI\">Liechtenstein</option>\n                                              <option value=\"LT\">Lithuania</option>\n                                              <option value=\"LU\">Luxembourg</option>\n                                              <option value=\"MO\">Macao</option>\n                                              <option value=\"MK\">Macedonia, the former Yugoslav Republic of</option>\n                                              <option value=\"MG\">Madagascar</option>\n                                              <option value=\"MW\">Malawi</option>\n                                              <option value=\"MY\">Malaysia</option>\n                                              <option value=\"MV\">Maldives</option>\n                                              <option value=\"ML\">Mali</option>\n                                              <option value=\"MT\">Malta</option>\n                                              <option value=\"MH\">Marshall Islands</option>\n                                              <option value=\"MQ\">Martinique</option>\n                                              <option value=\"MR\">Mauritania</option>\n                                              <option value=\"MU\">Mauritius</option>\n                                              <option value=\"YT\">Mayotte</option>\n                                              <option value=\"MX\">Mexico</option>\n                                              <option value=\"FM\">Micronesia, Federated States of</option>\n                                              <option value=\"MD\">Moldova, Republic of</option>\n                                              <option value=\"MC\">Monaco</option>\n                                              <option value=\"MN\">Mongolia</option>\n                                              <option value=\"ME\">Montenegro</option>\n                                              <option value=\"MS\">Montserrat</option>\n                                              <option value=\"MA\">Morocco</option>\n                                              <option value=\"MZ\">Mozambique</option>\n                                              <option value=\"MM\">Myanmar</option>\n                                              <option value=\"NA\">Namibia</option>\n                                              <option value=\"NR\">Nauru</option>\n                                              <option value=\"NP\">Nepal</option>\n                                              <option value=\"NL\">Netherlands</option>\n                                              <option value=\"NC\">New Caledonia</option>\n                                              <option value=\"NZ\">New Zealand</option>\n                                              <option value=\"NI\">Nicaragua</option>\n                                              <option value=\"NE\">Niger</option>\n                                              <option value=\"NG\">Nigeria</option>\n                                              <option value=\"NU\">Niue</option>\n                                              <option value=\"NF\">Norfolk Island</option>\n                                              <option value=\"MP\">Northern Mariana Islands</option>\n                                              <option value=\"NO\">Norway</option>\n                                              <option value=\"OM\">Oman</option>\n                                              <option value=\"PK\">Pakistan</option>\n                                              <option value=\"PW\">Palau</option>\n                                              <option value=\"PS\">Palestinian Territory, Occupied</option>\n                                              <option value=\"PA\">Panama</option>\n                                              <option value=\"PG\">Papua New Guinea</option>\n                                              <option value=\"PY\">Paraguay</option>\n                                              <option value=\"PE\">Peru</option>\n                                              <option value=\"PH\">Philippines</option>\n                                              <option value=\"PN\">Pitcairn</option>\n                                              <option value=\"PL\">Poland</option>\n                                              <option value=\"PT\">Portugal</option>\n                                              <option value=\"PR\">Puerto Rico</option>\n                                              <option value=\"QA\">Qatar</option>\n                                              <option value=\"RE\">Réunion</option>\n                                              <option value=\"RO\">Romania</option>\n                                              <option value=\"RU\">Russian Federation</option>\n                                              <option value=\"RW\">Rwanda</option>\n                                              <option value=\"BL\">Saint Barthélemy</option>\n                                              <option value=\"SH\">Saint Helena, Ascension and Tristan da Cunha</option>\n                                              <option value=\"KN\">Saint Kitts and Nevis</option>\n                                              <option value=\"LC\">Saint Lucia</option>\n                                              <option value=\"MF\">Saint Martin (French part)</option>\n                                              <option value=\"PM\">Saint Pierre and Miquelon</option>\n                                              <option value=\"VC\">Saint Vincent and the Grenadines</option>\n                                              <option value=\"WS\">Samoa</option>\n                                              <option value=\"SM\">San Marino</option>\n                                              <option value=\"ST\">Sao Tome and Principe</option>\n                                              <option value=\"SA\">Saudi Arabia</option>\n                                              <option value=\"SN\">Senegal</option>\n                                              <option value=\"RS\">Serbia</option>\n                                              <option value=\"SC\">Seychelles</option>\n                                              <option value=\"SL\">Sierra Leone</option>\n                                              <option value=\"SG\">Singapore</option>\n                                              <option value=\"SX\">Sint Maarten (Dutch part)</option>\n                                              <option value=\"SK\">Slovakia</option>\n                                              <option value=\"SI\">Slovenia</option>\n                                              <option value=\"SB\">Solomon Islands</option>\n                                              <option value=\"SO\">Somalia</option>\n                                              <option value=\"ZA\">South Africa</option>\n                                              <option value=\"GS\">South Georgia and the South Sandwich Islands</option>\n                                              <option value=\"SS\">South Sudan</option>\n                                              <option value=\"ES\">Spain</option>\n                                              <option value=\"LK\">Sri Lanka</option>\n                                              <option value=\"SD\">Sudan</option>\n                                              <option value=\"SR\">Suriname</option>\n                                              <option value=\"SJ\">Svalbard and Jan Mayen</option>\n                                              <option value=\"SZ\">Swaziland</option>\n                                              <option value=\"SE\">Sweden</option>\n                                              <option value=\"CH\">Switzerland</option>\n                                              <option value=\"SY\">Syrian Arab Republic</option>\n                                              <option value=\"TW\">Taiwan, Province of China</option>\n                                              <option value=\"TJ\">Tajikistan</option>\n                                              <option value=\"TZ\">Tanzania, United Republic of</option>\n                                              <option value=\"TH\">Thailand</option>\n                                              <option value=\"TL\">Timor-Leste</option>\n                                              <option value=\"TG\">Togo</option>\n                                              <option value=\"TK\">Tokelau</option>\n                                              <option value=\"TO\">Tonga</option>\n                                              <option value=\"TT\">Trinidad and Tobago</option>\n                                              <option value=\"TN\">Tunisia</option>\n                                              <option value=\"TR\">Turkey</option>\n                                              <option value=\"TM\">Turkmenistan</option>\n                                              <option value=\"TC\">Turks and Caicos Islands</option>\n                                              <option value=\"TV\">Tuvalu</option>\n                                              <option value=\"UG\">Uganda</option>\n                                              <option value=\"UA\">Ukraine</option>\n                                              <option value=\"AE\">United Arab Emirates</option>\n                                              <option value=\"GB\">United Kingdom</option>\n                                              <option value=\"US\">United States</option>\n                                              <option value=\"UM\">United States Minor Outlying Islands</option>\n                                              <option value=\"UY\">Uruguay</option>\n                                              <option value=\"UZ\">Uzbekistan</option>\n                                              <option value=\"VU\">Vanuatu</option>\n                                              <option value=\"VE\">Venezuela, Bolivarian Republic of</option>\n                                              <option value=\"VN\">Viet Nam</option>\n                                              <option value=\"VG\">Virgin Islands, British</option>\n                                              <option value=\"VI\">Virgin Islands, U.S.</option>\n                                              <option value=\"WF\">Wallis and Futuna</option>\n                                              <option value=\"EH\">Western Sahara</option>\n                                              <option value=\"YE\">Yemen</option>\n                                              <option value=\"ZM\">Zambia</option>\n                                              <option value=\"ZW\">Zimbabwe</option>\n                                          </select>\n                                          <div class=\"ig-help\">Hold Ctrl/Cmd to select multiple. Selected:\n                                              {{ctx.pool.countries}}</div>\n                                      </div>\n                                  </div>\n  \n                                  <div class=\"ig-form-actions ig-subform-actions\">\n                                      <button type=\"button\" class=\"btn btn-primary\" {{on \"click\" this.savePool}}>\n                                          {{if ctx.isNew \"Create Pool\" \"Save Changes\"}}\n                                      </button>\n                                      <button type=\"button\" class=\"btn btn-outline\" {{on \"click\"\n                                          this.cancelPoolEdit}}>Cancel</button>\n                                  </div>\n                              </div>\n                              {{/if}}\n                              {{/let}}\n                              {{/if}}\n  \n                              {{!-- UPLOAD KEYS PANEL --}}\n                              {{#if this.keyUpload}}\n                              {{#let this.keyUpload as |u|}}\n                              {{#if (this.sameId u.gid g.id)}}\n                              <div class=\"ig-subform\">\n                                  <h4>Upload Keys to Pool {{u.pid}}</h4>\n  \n                                  {{#if u.message}}\n                                  <div class=\"ig-result success\">\n                                      <div class=\"ig-result-title\">{{u.message}}</div>\n                                  </div>\n                                  {{/if}}\n                                  {{#if u.error}}\n                                  <div class=\"ig-alert danger\">Error: {{u.error}}</div>\n                                  {{/if}}\n  \n                                  <div class=\"ig-grid-compact\">\n                                      <div class=\"ig-field ig-col-span-3\">\n                                          <label>CSV File</label>\n                                          <input type=\"file\" accept=\".csv,text/csv\" {{on \"change\"\n                                              this.onUploadFileChange}} />\n                                          <div class=\"ig-actions\" style=\"margin-top:.5rem;\">\n                                              <button type=\"button\" class=\"btn btn-primary\" disabled={{u.uploading}}\n                                                  {{on \"click\" this.sendUploadFile}}>\n                                                  {{if u.uploading \"Uploading…\" \"Upload File\"}}\n                                              </button>\n                                          </div>\n                                      </div>\n                                  </div>\n  \n                                  {{#if u.importId}}\n                                  <div class=\"ig-subcard\" style=\"margin-top: .75rem;\">\n                                      <h5>Import Status</h5>\n                                      <p class=\"mono\">ID: {{u.importId}}</p>\n                                      <p>Status: {{u.status}}</p>\n                                      {{#if u.stats}}\n                                      <ul class=\"mono\">\n                                          {{#if u.stats.total}}<li>Total: {{u.stats.total}}</li>{{/if}}\n                                          {{#if u.stats.processed}}<li>Processed: {{u.stats.processed}}</li>{{/if}}\n                                          {{#if u.stats.added}}<li>Added: {{u.stats.added}}</li>{{/if}}\n                                          {{#if u.stats.errors}}<li>Errors: {{u.stats.errors}}</li>{{/if}}\n                                      </ul>\n                                      {{/if}}\n                                  </div>\n                                  {{/if}}\n  \n                                  <div class=\"ig-form-actions ig-subform-actions\">\n                                      <button type=\"button\" class=\"btn btn-outline\" {{on \"click\"\n                                          this.cancelUpload}}>Close</button>\n                                  </div>\n                              </div>\n                              {{/if}}\n                              {{/let}}\n                              {{/if}}\n                          </div>\n                      </td>\n                  </tr>\n                  {{/if}}\n                  {{/each}}\n              </tbody>\n          </table>\n          {{else}}\n          <p>No giveaways yet.</p>\n          {{/if}}\n  \n          {{#if this.deleteMessage}}\n          <div class=\"ig-result success\">\n              <div class=\"ig-result-title\">{{this.deleteMessage}}</div>\n          </div>\n          {{/if}}\n  \n          {{#if this.deleteErrorMessage}}\n          <div class=\"ig-alert danger\">Error: {{this.deleteErrorMessage}}</div>\n          {{/if}}\n      </div>\n  </div>\n  */\n  {\n    \"id\": \"O+bREscd\",\n    \"block\": \"[[[11,0],[24,0,\\\"admin-container\\\"],[4,[38,1],[[30,0,[\\\"onInsert\\\"]]],null],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"h1\\\"],[14,0,\\\"ig-admin-title\\\"],[12],[1,\\\"Giveaway Settings\\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\"        \\\"],[8,[39,4],[[24,0,\\\"btn btn-secondary igames-admin-button\\\"]],[[\\\"@route\\\"],[[30,1]]],[[\\\"default\\\"],[[[[1,\\\"Back to Settings\\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"h1\\\"],[14,0,\\\"ig-admin-title\\\"],[12],[1,[52,[30,0,[\\\"editingId\\\"]],\\\"Edit Giveaway\\\",\\\"Create Giveaway\\\"]],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[11,\\\"form\\\"],[24,\\\"enctype\\\",\\\"multipart/form-data\\\"],[24,0,\\\"ig-form\\\"],[4,[38,6],[\\\"submit\\\",[30,0,[\\\"saveGiveawaySettings\\\"]]],null],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"ig-form-row\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"label\\\"],[14,0,\\\"ig-label\\\"],[14,\\\"for\\\",\\\"gw-title\\\"],[12],[1,\\\"Title\\\"],[13],[1,\\\"\\\\n                \\\"],[11,\\\"input\\\"],[24,1,\\\"gw-title\\\"],[24,0,\\\"ig-input\\\"],[16,2,[30,0,[\\\"title\\\"]]],[24,4,\\\"text\\\"],[4,[38,6],[\\\"input\\\",[28,[37,9],[[30,0,[\\\"updateField\\\"]],\\\"title\\\"],null]],null],[12],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"ig-form-row\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"label\\\"],[14,0,\\\"ig-label\\\"],[14,\\\"for\\\",\\\"gw-slug\\\"],[12],[1,\\\"Slug (optional)\\\"],[13],[1,\\\"\\\\n                \\\"],[11,\\\"input\\\"],[24,1,\\\"gw-slug\\\"],[24,0,\\\"ig-input\\\"],[16,2,[30,0,[\\\"slug\\\"]]],[24,4,\\\"text\\\"],[4,[38,6],[\\\"input\\\",[28,[37,9],[[30,0,[\\\"updateField\\\"]],\\\"slug\\\"],null]],null],[12],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"ig-grid\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"ig-field\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[14,0,\\\"ig-label\\\"],[14,\\\"for\\\",\\\"gw-status\\\"],[12],[1,\\\"Status\\\"],[13],[1,\\\"\\\\n                    \\\"],[11,\\\"select\\\"],[24,1,\\\"gw-status\\\"],[24,0,\\\"ig-input\\\"],[4,[38,6],[\\\"change\\\",[28,[37,9],[[30,0,[\\\"updateField\\\"]],\\\"status\\\"],null]],null],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,12],[[28,[37,12],[[30,0,[\\\"statuses\\\"]]],null]],null],null,[[[1,\\\"                        \\\"],[10,\\\"option\\\"],[15,2,[30,2]],[15,\\\"selected\\\",[28,[37,14],[[30,0,[\\\"status\\\"]],[30,2]],null]],[12],[1,[30,2]],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,0,\\\"ig-field\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[14,0,\\\"ig-label\\\"],[14,\\\"for\\\",\\\"gw-featured\\\"],[12],[1,\\\"Featured\\\"],[13],[1,\\\"\\\\n                    \\\"],[11,\\\"input\\\"],[24,1,\\\"gw-featured\\\"],[16,\\\"checked\\\",[30,0,[\\\"featured\\\"]]],[24,4,\\\"checkbox\\\"],[4,[38,6],[\\\"change\\\",[28,[37,9],[[28,[37,15],[[30,0,[\\\"featured\\\"]]],null],[28,[37,16],[[30,0,[\\\"featured\\\"]]],null]],null]],null],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,0,\\\"ig-field\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[14,0,\\\"ig-label\\\"],[14,\\\"for\\\",\\\"gw-max-ip\\\"],[12],[1,\\\"Max Keys / IP (per giveaway)\\\"],[13],[1,\\\"\\\\n                    \\\"],[11,\\\"input\\\"],[24,1,\\\"gw-max-ip\\\"],[24,0,\\\"ig-input\\\"],[24,\\\"min\\\",\\\"1\\\"],[16,2,[30,0,[\\\"maxKeysPerIp\\\"]]],[24,4,\\\"number\\\"],[4,[38,6],[\\\"input\\\",[28,[37,9],[[30,0,[\\\"updateNumberField\\\"]],\\\"maxKeysPerIp\\\"],null]],null],[12],[13],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"ig-help\\\"],[12],[1,\\\"Applied across all pools for this giveaway.\\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"ig-form-row\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"label\\\"],[14,0,\\\"ig-label\\\"],[14,\\\"for\\\",\\\"gw-content\\\"],[12],[1,\\\"Content\\\"],[13],[1,\\\"\\\\n                \\\"],[11,\\\"textarea\\\"],[24,1,\\\"gw-content\\\"],[24,0,\\\"ig-input\\\"],[24,\\\"rows\\\",\\\"5\\\"],[4,[38,6],[\\\"input\\\",[28,[37,9],[[30,0,[\\\"updateField\\\"]],\\\"content\\\"],null]],null],[12],[1,[30,0,[\\\"content\\\"]]],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"ig-grid\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"ig-field\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[12],[1,\\\"Platform\\\"],[13],[1,\\\"\\\\n                    \\\"],[11,\\\"input\\\"],[16,2,[30,0,[\\\"platform\\\"]]],[24,4,\\\"text\\\"],[4,[38,6],[\\\"input\\\",[28,[37,9],[[30,0,[\\\"updateField\\\"]],\\\"platform\\\"],null]],null],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"ig-field\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[12],[1,\\\"Developer\\\"],[13],[1,\\\"\\\\n                    \\\"],[11,\\\"input\\\"],[16,2,[30,0,[\\\"developer\\\"]]],[24,4,\\\"text\\\"],[4,[38,6],[\\\"input\\\",[28,[37,9],[[30,0,[\\\"updateField\\\"]],\\\"developer\\\"],null]],null],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"ig-field\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[12],[1,\\\"Game Website URL\\\"],[13],[1,\\\"\\\\n                    \\\"],[11,\\\"input\\\"],[16,2,[30,0,[\\\"gameWebsiteUrl\\\"]]],[24,4,\\\"url\\\"],[4,[38,6],[\\\"input\\\",[28,[37,9],[[30,0,[\\\"updateField\\\"]],\\\"gameWebsiteUrl\\\"],null]],null],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"ig-field\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[12],[1,\\\"Accent Color\\\"],[13],[1,\\\"\\\\n                    \\\"],[11,\\\"input\\\"],[24,\\\"placeholder\\\",\\\"#RRGGBB or name\\\"],[16,2,[30,0,[\\\"color\\\"]]],[24,4,\\\"text\\\"],[4,[38,6],[\\\"input\\\",[28,[37,9],[[30,0,[\\\"updateField\\\"]],\\\"color\\\"],null]],null],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"ig-grid\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"ig-field ig-col-span-2\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[12],[1,\\\"YouTube Video URL (optional if header image uploaded)\\\"],[13],[1,\\\"\\\\n                    \\\"],[11,\\\"input\\\"],[16,2,[30,0,[\\\"youtubeUrl\\\"]]],[24,4,\\\"url\\\"],[4,[38,6],[\\\"input\\\",[28,[37,9],[[30,0,[\\\"updateField\\\"]],\\\"youtubeUrl\\\"],null]],null],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"ig-field\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[12],[1,\\\"Header Image (file)\\\"],[13],[1,\\\"\\\\n                    \\\"],[11,\\\"input\\\"],[24,\\\"accept\\\",\\\"image/*\\\"],[24,4,\\\"file\\\"],[4,[38,6],[\\\"change\\\",[30,0,[\\\"onHeaderImageChange\\\"]]],null],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"ig-field\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[12],[1,\\\"Thumbnail Image (file) \\\"],[1,[52,[51,[30,0,[\\\"editingId\\\"]]],\\\"(required)\\\"]],[13],[1,\\\"\\\\n                    \\\"],[11,\\\"input\\\"],[24,\\\"accept\\\",\\\"image/*\\\"],[24,4,\\\"file\\\"],[4,[38,6],[\\\"change\\\",[30,0,[\\\"onThumbnailImageChange\\\"]]],null],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"ig-form-row\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"label\\\"],[14,0,\\\"ig-label\\\"],[14,\\\"for\\\",\\\"gw-tags\\\"],[12],[1,\\\"Tags (CSV)\\\"],[13],[1,\\\"\\\\n                \\\"],[11,\\\"input\\\"],[24,1,\\\"gw-tags\\\"],[24,0,\\\"ig-input\\\"],[16,2,[30,0,[\\\"tagsCsv\\\"]]],[24,4,\\\"text\\\"],[4,[38,6],[\\\"input\\\",[28,[37,9],[[30,0,[\\\"updateField\\\"]],\\\"tagsCsv\\\"],null]],null],[12],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"ig-form-row\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"label\\\"],[14,0,\\\"ig-label\\\"],[14,\\\"for\\\",\\\"gw-redemption\\\"],[12],[1,\\\"Redemption Instructions\\\"],[13],[1,\\\"\\\\n                \\\"],[11,\\\"textarea\\\"],[24,1,\\\"gw-redemption\\\"],[24,0,\\\"ig-input\\\"],[24,\\\"rows\\\",\\\"4\\\"],[4,[38,6],[\\\"input\\\",[28,[37,9],[[30,0,[\\\"updateField\\\"]],\\\"redemptionInstructions\\\"],null]],null],[12],[1,[30,0,[\\\"redemptionInstructions\\\"]]],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"ig-help\\\"],[12],[1,\\\"\\\\n                On create: Thumbnail file is required. Provide either a YouTube URL or a Header Image file.\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"ig-form-actions\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"button\\\"],[14,0,\\\"btn btn-primary\\\"],[15,\\\"disabled\\\",[30,0,[\\\"saving\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n                    \\\"],[1,[52,[30,0,[\\\"saving\\\"]],\\\"Saving...\\\",[52,[30,0,[\\\"editingId\\\"]],\\\"Update Giveaway\\\",\\\"Create Giveaway\\\"]]],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"editingId\\\"]],[[[1,\\\"                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-outline\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"beginCreate\\\"]]],null],[12],[1,\\\"Cancel\\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"saveMessage\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"ig-result success\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"ig-result-title\\\"],[12],[1,[30,0,[\\\"saveMessage\\\"]]],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[41,[30,0,[\\\"errorMessage\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"ig-alert danger\\\"],[12],[1,\\\"Error: \\\"],[1,[30,0,[\\\"errorMessage\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"h2\\\"],[12],[1,\\\"Existing Giveaways\\\"],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"ig-inline\\\"],[14,5,\\\"gap: 0.5rem;\\\"],[12],[1,\\\"\\\\n                \\\"],[11,\\\"input\\\"],[24,0,\\\"ig-input\\\"],[24,\\\"placeholder\\\",\\\"Consumer ID (optional)\\\"],[16,2,[30,0,[\\\"consumerId\\\"]]],[24,4,\\\"text\\\"],[4,[38,6],[\\\"input\\\",[28,[37,9],[[30,0,[\\\"updateField\\\"]],\\\"consumerId\\\"],null]],null],[12],[13],[1,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[16,\\\"disabled\\\",[30,0,[\\\"loading\\\"]]],[24,0,\\\"btn btn-secondary\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"loadGiveaways\\\"]]],null],[12],[1,\\\"\\\\n                    \\\"],[1,[52,[30,0,[\\\"loading\\\"]],\\\"Refreshing...\\\",\\\"Refresh\\\"]],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"giveaways\\\",\\\"length\\\"]],[[[1,\\\"        \\\"],[10,\\\"table\\\"],[14,0,\\\"ig-table\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Title\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Slug\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Status\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Featured\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Max / IP\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Created\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Updated\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,12],[[28,[37,12],[[30,0,[\\\"giveaways\\\"]]],null]],null],null,[[[1,\\\"                \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"title\\\"]]],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"slug\\\"]]],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,[30,3,[\\\"status\\\"]]],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,[52,[30,3,[\\\"featured\\\"]],\\\"Yes\\\",\\\"No\\\"]],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,[52,[30,3,[\\\"maxKeysPerIp\\\"]],[30,3,[\\\"maxKeysPerIp\\\"]],\\\"—\\\"]],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,[28,[30,0,[\\\"ymd\\\"]],[[30,3,[\\\"createdAt\\\"]]],null]],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,[28,[30,0,[\\\"ymd\\\"]],[[30,3,[\\\"updatedAt\\\"]]],null]],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n                        \\\"],[11,\\\"button\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,9],[[30,0,[\\\"beginEdit\\\"]],[30,3]],null]],null],[12],[1,\\\"Edit\\\"],[13],[1,\\\"\\\\n                        \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n                        \\\"],[11,\\\"button\\\"],[24,5,\\\"margin-top: 5px;\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,9],[[30,0,[\\\"deleteGiveaway\\\"]],[30,3]],null]],null],[12],[1,\\\"Delete\\\"],[13],[1,\\\"\\\\n                        \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n                        \\\"],[11,\\\"button\\\"],[24,5,\\\"margin-top: 5px;\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,9],[[30,0,[\\\"togglePools\\\"]],[30,3]],null]],null],[12],[1,\\\"\\\\n                            \\\"],[1,[52,[28,[30,0,[\\\"isExpanded\\\"]],[[30,3,[\\\"id\\\"]]],null],\\\"Hide Pools\\\",\\\"Manage Pools\\\"]],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[28,[30,0,[\\\"isExpanded\\\"]],[[30,3,[\\\"id\\\"]]],null],[[[1,\\\"                \\\"],[10,\\\"tr\\\"],[14,0,\\\"ig-subrow\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[14,\\\"colspan\\\",\\\"8\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"ig-subcard\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"ig-subcard-head\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"h3\\\"],[12],[1,\\\"Keypools for \\\"],[1,[30,3,[\\\"title\\\"]]],[13],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"ig-inline\\\"],[14,5,\\\"gap:.5rem;\\\"],[12],[1,\\\"\\\\n                                    \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[28,[37,29],[[30,0,[\\\"poolsLoading\\\"]],[30,3,[\\\"id\\\"]]],null]],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,9],[[30,0,[\\\"refreshPools\\\"]],[30,3]],null]],null],[12],[1,\\\"\\\\n                                        \\\"],[1,[52,[28,[37,29],[[30,0,[\\\"poolsLoading\\\"]],[30,3,[\\\"id\\\"]]],null],\\\"Refreshing…\\\",\\\"Refresh\\\"]],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\\n                                    \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,9],[[30,0,[\\\"newPool\\\"]],[30,3]],null]],null],[12],[1,\\\"\\\\n                                        New Pool\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[28,[30,0,[\\\"hasPools\\\"]],[[30,3,[\\\"id\\\"]]],null],[[[1,\\\"                            \\\"],[10,\\\"table\\\"],[14,0,\\\"ig-table\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"th\\\"],[12],[1,\\\"Description\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"th\\\"],[12],[1,\\\"Total\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"th\\\"],[12],[1,\\\"Active\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"th\\\"],[12],[1,\\\"Limits\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"th\\\"],[12],[1,\\\"Countries\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                                \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,12],[[28,[37,12],[[28,[30,0,[\\\"poolsFor\\\"]],[[30,3,[\\\"id\\\"]]],null]],null]],null],null,[[[1,\\\"                                    \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"td\\\"],[12],[1,[52,[30,4,[\\\"description\\\"]],[30,4,[\\\"description\\\"]],\\\"—\\\"]],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"td\\\"],[12],[1,[30,4,[\\\"keysRemaining\\\"]]],[1,\\\"/\\\"],[1,[30,4,[\\\"totalKeys\\\"]]],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"td\\\"],[12],[1,[52,[30,4,[\\\"active\\\"]],\\\"Yes\\\",\\\"No\\\"]],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"td\\\"],[12],[1,[52,[30,4,[\\\"lowerLimit\\\"]],[30,4,[\\\"lowerLimit\\\"]],\\\"—\\\"]],[1,\\\" – \\\"],[1,[52,[30,4,[\\\"upperLimit\\\"]],[30,4,[\\\"upperLimit\\\"]],\\\"—\\\"]],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"td\\\"],[12],[1,[52,[30,4,[\\\"countries\\\"]],[30,4,[\\\"countries\\\"]],\\\"—\\\"]],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"td\\\"],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n                                            \\\"],[11,\\\"button\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,9],[[30,0,[\\\"editPool\\\"]],[30,3],[30,4]],null]],null],[12],[1,\\\"Edit\\\"],[13],[1,\\\"\\\\n                                            \\\"],[11,\\\"button\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,9],[[30,0,[\\\"beginUpload\\\"]],[30,3],[30,4]],null]],null],[12],[1,\\\"Upload Keys\\\"],[13],[1,\\\"\\\\n                                            \\\"],[11,\\\"button\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,9],[[30,0,[\\\"deletePool\\\"]],[30,3],[30,4]],null]],null],[12],[1,\\\"Delete\\\"],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\"]],[4]],null],[1,\\\"                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                            \\\"],[10,2],[12],[1,\\\"Loading pools…\\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"poolEditing\\\"]],[[[44,[[30,0,[\\\"poolEditing\\\"]]],[[[41,[28,[30,0,[\\\"sameId\\\"]],[[30,5,[\\\"gid\\\"]],[30,3,[\\\"id\\\"]]],null],[[[1,\\\"                            \\\"],[10,0],[14,0,\\\"ig-subform\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"h4\\\"],[12],[1,[52,[30,5,[\\\"isNew\\\"]],\\\"Create Pool\\\",\\\"Edit Pool\\\"]],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,0],[14,0,\\\"ig-grid-compact\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"ig-field ig-col-span-3\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Description\\\"],[13],[1,\\\"\\\\n                                        \\\"],[11,\\\"input\\\"],[16,2,[30,5,[\\\"pool\\\",\\\"description\\\"]]],[24,4,\\\"text\\\"],[4,[38,6],[\\\"input\\\",[28,[37,9],[[30,0,[\\\"updatePoolField\\\"]],\\\"description\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\\n                                    \\\"],[10,0],[14,0,\\\"ig-field\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Active\\\"],[13],[1,\\\"\\\\n                                        \\\"],[11,\\\"input\\\"],[16,\\\"checked\\\",[30,5,[\\\"pool\\\",\\\"active\\\"]]],[24,4,\\\"checkbox\\\"],[4,[38,6],[\\\"change\\\",[28,[37,9],[[30,0,[\\\"updatePoolBooleanField\\\"]],\\\"active\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\\n                                    \\\"],[10,0],[14,0,\\\"ig-field\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Lower Limit\\\"],[13],[1,\\\"\\\\n                                        \\\"],[11,\\\"input\\\"],[24,\\\"min\\\",\\\"0\\\"],[16,2,[30,5,[\\\"pool\\\",\\\"lowerLimit\\\"]]],[24,4,\\\"number\\\"],[4,[38,6],[\\\"input\\\",[28,[37,9],[[30,0,[\\\"updatePoolNumberField\\\"]],\\\"lowerLimit\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\\n                                    \\\"],[10,0],[14,0,\\\"ig-field\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Upper Limit\\\"],[13],[1,\\\"\\\\n                                        \\\"],[11,\\\"input\\\"],[24,\\\"min\\\",\\\"0\\\"],[16,2,[30,5,[\\\"pool\\\",\\\"upperLimit\\\"]]],[24,4,\\\"number\\\"],[4,[38,6],[\\\"input\\\",[28,[37,9],[[30,0,[\\\"updatePoolNumberField\\\"]],\\\"upperLimit\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\\n                                    \\\"],[10,0],[14,0,\\\"ig-field ig-col-span-2\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Countries\\\"],[13],[1,\\\"\\\\n                                        \\\"],[11,\\\"select\\\"],[24,\\\"multiple\\\",\\\"\\\"],[24,\\\"size\\\",\\\"14\\\"],[4,[38,6],[\\\"change\\\",[30,0,[\\\"onPoolCountriesChange\\\"]]],null],[4,[38,1],[[30,0,[\\\"bindPoolCountriesSelect\\\"]]],null],[4,[38,33],[[30,0,[\\\"syncPoolCountriesSelect\\\"]],[30,5,[\\\"pool\\\",\\\"countries\\\"]]],null],[12],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AF\\\"],[12],[1,\\\"Afghanistan\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AX\\\"],[12],[1,\\\"Åland Islands\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AL\\\"],[12],[1,\\\"Albania\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"DZ\\\"],[12],[1,\\\"Algeria\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AS\\\"],[12],[1,\\\"American Samoa\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AD\\\"],[12],[1,\\\"Andorra\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AO\\\"],[12],[1,\\\"Angola\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AI\\\"],[12],[1,\\\"Anguilla\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AQ\\\"],[12],[1,\\\"Antarctica\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AG\\\"],[12],[1,\\\"Antigua and Barbuda\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AR\\\"],[12],[1,\\\"Argentina\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AM\\\"],[12],[1,\\\"Armenia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AW\\\"],[12],[1,\\\"Aruba\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AU\\\"],[12],[1,\\\"Australia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AT\\\"],[12],[1,\\\"Austria\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AZ\\\"],[12],[1,\\\"Azerbaijan\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BS\\\"],[12],[1,\\\"Bahamas\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BH\\\"],[12],[1,\\\"Bahrain\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BD\\\"],[12],[1,\\\"Bangladesh\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BB\\\"],[12],[1,\\\"Barbados\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BY\\\"],[12],[1,\\\"Belarus\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BE\\\"],[12],[1,\\\"Belgium\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BZ\\\"],[12],[1,\\\"Belize\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BJ\\\"],[12],[1,\\\"Benin\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BM\\\"],[12],[1,\\\"Bermuda\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BT\\\"],[12],[1,\\\"Bhutan\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BO\\\"],[12],[1,\\\"Bolivia, Plurinational State of\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BQ\\\"],[12],[1,\\\"Bonaire, Sint Eustatius and Saba\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BA\\\"],[12],[1,\\\"Bosnia and Herzegovina\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BW\\\"],[12],[1,\\\"Botswana\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BV\\\"],[12],[1,\\\"Bouvet Island\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BR\\\"],[12],[1,\\\"Brazil\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"IO\\\"],[12],[1,\\\"British Indian Ocean Territory\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BN\\\"],[12],[1,\\\"Brunei Darussalam\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BG\\\"],[12],[1,\\\"Bulgaria\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BF\\\"],[12],[1,\\\"Burkina Faso\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BI\\\"],[12],[1,\\\"Burundi\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"KH\\\"],[12],[1,\\\"Cambodia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CM\\\"],[12],[1,\\\"Cameroon\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CA\\\"],[12],[1,\\\"Canada\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CV\\\"],[12],[1,\\\"Cape Verde\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"KY\\\"],[12],[1,\\\"Cayman Islands\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CF\\\"],[12],[1,\\\"Central African Republic\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TD\\\"],[12],[1,\\\"Chad\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CL\\\"],[12],[1,\\\"Chile\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CN\\\"],[12],[1,\\\"China\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CX\\\"],[12],[1,\\\"Christmas Island\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CC\\\"],[12],[1,\\\"Cocos (Keeling) Islands\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CO\\\"],[12],[1,\\\"Colombia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"KM\\\"],[12],[1,\\\"Comoros\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CG\\\"],[12],[1,\\\"Congo\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CD\\\"],[12],[1,\\\"Congo, the Democratic Republic of the\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CK\\\"],[12],[1,\\\"Cook Islands\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CR\\\"],[12],[1,\\\"Costa Rica\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CI\\\"],[12],[1,\\\"Côte d'Ivoire\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"HR\\\"],[12],[1,\\\"Croatia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CU\\\"],[12],[1,\\\"Cuba\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CW\\\"],[12],[1,\\\"Curaçao\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CY\\\"],[12],[1,\\\"Cyprus\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CZ\\\"],[12],[1,\\\"Czech Republic\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"DK\\\"],[12],[1,\\\"Denmark\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"DJ\\\"],[12],[1,\\\"Djibouti\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"DM\\\"],[12],[1,\\\"Dominica\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"DO\\\"],[12],[1,\\\"Dominican Republic\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"EC\\\"],[12],[1,\\\"Ecuador\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"EG\\\"],[12],[1,\\\"Egypt\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SV\\\"],[12],[1,\\\"El Salvador\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GQ\\\"],[12],[1,\\\"Equatorial Guinea\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"ER\\\"],[12],[1,\\\"Eritrea\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"EE\\\"],[12],[1,\\\"Estonia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"ET\\\"],[12],[1,\\\"Ethiopia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"FK\\\"],[12],[1,\\\"Falkland Islands (Malvinas)\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"FO\\\"],[12],[1,\\\"Faroe Islands\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"FJ\\\"],[12],[1,\\\"Fiji\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"FI\\\"],[12],[1,\\\"Finland\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"FR\\\"],[12],[1,\\\"France\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GF\\\"],[12],[1,\\\"French Guiana\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"PF\\\"],[12],[1,\\\"French Polynesia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TF\\\"],[12],[1,\\\"French Southern Territories\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GA\\\"],[12],[1,\\\"Gabon\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GM\\\"],[12],[1,\\\"Gambia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GE\\\"],[12],[1,\\\"Georgia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"DE\\\"],[12],[1,\\\"Germany\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GH\\\"],[12],[1,\\\"Ghana\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GI\\\"],[12],[1,\\\"Gibraltar\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GR\\\"],[12],[1,\\\"Greece\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GL\\\"],[12],[1,\\\"Greenland\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GD\\\"],[12],[1,\\\"Grenada\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GP\\\"],[12],[1,\\\"Guadeloupe\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GU\\\"],[12],[1,\\\"Guam\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GT\\\"],[12],[1,\\\"Guatemala\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GG\\\"],[12],[1,\\\"Guernsey\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GN\\\"],[12],[1,\\\"Guinea\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GW\\\"],[12],[1,\\\"Guinea-Bissau\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GY\\\"],[12],[1,\\\"Guyana\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"HT\\\"],[12],[1,\\\"Haiti\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"HM\\\"],[12],[1,\\\"Heard Island and McDonald Islands\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"VA\\\"],[12],[1,\\\"Holy See (Vatican City State)\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"HN\\\"],[12],[1,\\\"Honduras\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"HK\\\"],[12],[1,\\\"Hong Kong\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"HU\\\"],[12],[1,\\\"Hungary\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"IS\\\"],[12],[1,\\\"Iceland\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"IN\\\"],[12],[1,\\\"India\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"ID\\\"],[12],[1,\\\"Indonesia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"IR\\\"],[12],[1,\\\"Iran, Islamic Republic of\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"IQ\\\"],[12],[1,\\\"Iraq\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"IE\\\"],[12],[1,\\\"Ireland\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"IM\\\"],[12],[1,\\\"Isle of Man\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"IL\\\"],[12],[1,\\\"Israel\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"IT\\\"],[12],[1,\\\"Italy\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"JM\\\"],[12],[1,\\\"Jamaica\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"JP\\\"],[12],[1,\\\"Japan\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"JE\\\"],[12],[1,\\\"Jersey\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"JO\\\"],[12],[1,\\\"Jordan\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"KZ\\\"],[12],[1,\\\"Kazakhstan\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"KE\\\"],[12],[1,\\\"Kenya\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"KI\\\"],[12],[1,\\\"Kiribati\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"KP\\\"],[12],[1,\\\"Korea, Democratic People's Republic of\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"KR\\\"],[12],[1,\\\"Korea, Republic of\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"KW\\\"],[12],[1,\\\"Kuwait\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"KG\\\"],[12],[1,\\\"Kyrgyzstan\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"LA\\\"],[12],[1,\\\"Lao People's Democratic Republic\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"LV\\\"],[12],[1,\\\"Latvia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"LB\\\"],[12],[1,\\\"Lebanon\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"LS\\\"],[12],[1,\\\"Lesotho\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"LR\\\"],[12],[1,\\\"Liberia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"LY\\\"],[12],[1,\\\"Libya\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"LI\\\"],[12],[1,\\\"Liechtenstein\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"LT\\\"],[12],[1,\\\"Lithuania\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"LU\\\"],[12],[1,\\\"Luxembourg\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MO\\\"],[12],[1,\\\"Macao\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MK\\\"],[12],[1,\\\"Macedonia, the former Yugoslav Republic of\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MG\\\"],[12],[1,\\\"Madagascar\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MW\\\"],[12],[1,\\\"Malawi\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MY\\\"],[12],[1,\\\"Malaysia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MV\\\"],[12],[1,\\\"Maldives\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"ML\\\"],[12],[1,\\\"Mali\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MT\\\"],[12],[1,\\\"Malta\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MH\\\"],[12],[1,\\\"Marshall Islands\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MQ\\\"],[12],[1,\\\"Martinique\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MR\\\"],[12],[1,\\\"Mauritania\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MU\\\"],[12],[1,\\\"Mauritius\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"YT\\\"],[12],[1,\\\"Mayotte\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MX\\\"],[12],[1,\\\"Mexico\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"FM\\\"],[12],[1,\\\"Micronesia, Federated States of\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MD\\\"],[12],[1,\\\"Moldova, Republic of\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MC\\\"],[12],[1,\\\"Monaco\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MN\\\"],[12],[1,\\\"Mongolia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"ME\\\"],[12],[1,\\\"Montenegro\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MS\\\"],[12],[1,\\\"Montserrat\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MA\\\"],[12],[1,\\\"Morocco\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MZ\\\"],[12],[1,\\\"Mozambique\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MM\\\"],[12],[1,\\\"Myanmar\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"NA\\\"],[12],[1,\\\"Namibia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"NR\\\"],[12],[1,\\\"Nauru\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"NP\\\"],[12],[1,\\\"Nepal\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"NL\\\"],[12],[1,\\\"Netherlands\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"NC\\\"],[12],[1,\\\"New Caledonia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"NZ\\\"],[12],[1,\\\"New Zealand\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"NI\\\"],[12],[1,\\\"Nicaragua\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"NE\\\"],[12],[1,\\\"Niger\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"NG\\\"],[12],[1,\\\"Nigeria\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"NU\\\"],[12],[1,\\\"Niue\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"NF\\\"],[12],[1,\\\"Norfolk Island\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MP\\\"],[12],[1,\\\"Northern Mariana Islands\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"NO\\\"],[12],[1,\\\"Norway\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"OM\\\"],[12],[1,\\\"Oman\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"PK\\\"],[12],[1,\\\"Pakistan\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"PW\\\"],[12],[1,\\\"Palau\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"PS\\\"],[12],[1,\\\"Palestinian Territory, Occupied\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"PA\\\"],[12],[1,\\\"Panama\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"PG\\\"],[12],[1,\\\"Papua New Guinea\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"PY\\\"],[12],[1,\\\"Paraguay\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"PE\\\"],[12],[1,\\\"Peru\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"PH\\\"],[12],[1,\\\"Philippines\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"PN\\\"],[12],[1,\\\"Pitcairn\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"PL\\\"],[12],[1,\\\"Poland\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"PT\\\"],[12],[1,\\\"Portugal\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"PR\\\"],[12],[1,\\\"Puerto Rico\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"QA\\\"],[12],[1,\\\"Qatar\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"RE\\\"],[12],[1,\\\"Réunion\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"RO\\\"],[12],[1,\\\"Romania\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"RU\\\"],[12],[1,\\\"Russian Federation\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"RW\\\"],[12],[1,\\\"Rwanda\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"BL\\\"],[12],[1,\\\"Saint Barthélemy\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SH\\\"],[12],[1,\\\"Saint Helena, Ascension and Tristan da Cunha\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"KN\\\"],[12],[1,\\\"Saint Kitts and Nevis\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"LC\\\"],[12],[1,\\\"Saint Lucia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"MF\\\"],[12],[1,\\\"Saint Martin (French part)\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"PM\\\"],[12],[1,\\\"Saint Pierre and Miquelon\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"VC\\\"],[12],[1,\\\"Saint Vincent and the Grenadines\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"WS\\\"],[12],[1,\\\"Samoa\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SM\\\"],[12],[1,\\\"San Marino\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"ST\\\"],[12],[1,\\\"Sao Tome and Principe\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SA\\\"],[12],[1,\\\"Saudi Arabia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SN\\\"],[12],[1,\\\"Senegal\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"RS\\\"],[12],[1,\\\"Serbia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SC\\\"],[12],[1,\\\"Seychelles\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SL\\\"],[12],[1,\\\"Sierra Leone\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SG\\\"],[12],[1,\\\"Singapore\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SX\\\"],[12],[1,\\\"Sint Maarten (Dutch part)\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SK\\\"],[12],[1,\\\"Slovakia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SI\\\"],[12],[1,\\\"Slovenia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SB\\\"],[12],[1,\\\"Solomon Islands\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SO\\\"],[12],[1,\\\"Somalia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"ZA\\\"],[12],[1,\\\"South Africa\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GS\\\"],[12],[1,\\\"South Georgia and the South Sandwich Islands\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SS\\\"],[12],[1,\\\"South Sudan\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"ES\\\"],[12],[1,\\\"Spain\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"LK\\\"],[12],[1,\\\"Sri Lanka\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SD\\\"],[12],[1,\\\"Sudan\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SR\\\"],[12],[1,\\\"Suriname\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SJ\\\"],[12],[1,\\\"Svalbard and Jan Mayen\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SZ\\\"],[12],[1,\\\"Swaziland\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SE\\\"],[12],[1,\\\"Sweden\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"CH\\\"],[12],[1,\\\"Switzerland\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"SY\\\"],[12],[1,\\\"Syrian Arab Republic\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TW\\\"],[12],[1,\\\"Taiwan, Province of China\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TJ\\\"],[12],[1,\\\"Tajikistan\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TZ\\\"],[12],[1,\\\"Tanzania, United Republic of\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TH\\\"],[12],[1,\\\"Thailand\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TL\\\"],[12],[1,\\\"Timor-Leste\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TG\\\"],[12],[1,\\\"Togo\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TK\\\"],[12],[1,\\\"Tokelau\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TO\\\"],[12],[1,\\\"Tonga\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TT\\\"],[12],[1,\\\"Trinidad and Tobago\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TN\\\"],[12],[1,\\\"Tunisia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TR\\\"],[12],[1,\\\"Turkey\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TM\\\"],[12],[1,\\\"Turkmenistan\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TC\\\"],[12],[1,\\\"Turks and Caicos Islands\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"TV\\\"],[12],[1,\\\"Tuvalu\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"UG\\\"],[12],[1,\\\"Uganda\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"UA\\\"],[12],[1,\\\"Ukraine\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"AE\\\"],[12],[1,\\\"United Arab Emirates\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"GB\\\"],[12],[1,\\\"United Kingdom\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"US\\\"],[12],[1,\\\"United States\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"UM\\\"],[12],[1,\\\"United States Minor Outlying Islands\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"UY\\\"],[12],[1,\\\"Uruguay\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"UZ\\\"],[12],[1,\\\"Uzbekistan\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"VU\\\"],[12],[1,\\\"Vanuatu\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"VE\\\"],[12],[1,\\\"Venezuela, Bolivarian Republic of\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"VN\\\"],[12],[1,\\\"Viet Nam\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"VG\\\"],[12],[1,\\\"Virgin Islands, British\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"VI\\\"],[12],[1,\\\"Virgin Islands, U.S.\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"WF\\\"],[12],[1,\\\"Wallis and Futuna\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"EH\\\"],[12],[1,\\\"Western Sahara\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"YE\\\"],[12],[1,\\\"Yemen\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"ZM\\\"],[12],[1,\\\"Zambia\\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"option\\\"],[14,2,\\\"ZW\\\"],[12],[1,\\\"Zimbabwe\\\"],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"ig-help\\\"],[12],[1,\\\"Hold Ctrl/Cmd to select multiple. Selected:\\\\n                                            \\\"],[1,[30,5,[\\\"pool\\\",\\\"countries\\\"]]],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,0],[14,0,\\\"ig-form-actions ig-subform-actions\\\"],[12],[1,\\\"\\\\n                                    \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"savePool\\\"]]],null],[12],[1,\\\"\\\\n                                        \\\"],[1,[52,[30,5,[\\\"isNew\\\"]],\\\"Create Pool\\\",\\\"Save Changes\\\"]],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                    \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-outline\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"cancelPoolEdit\\\"]]],null],[12],[1,\\\"Cancel\\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[5]]]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"keyUpload\\\"]],[[[44,[[30,0,[\\\"keyUpload\\\"]]],[[[41,[28,[30,0,[\\\"sameId\\\"]],[[30,6,[\\\"gid\\\"]],[30,3,[\\\"id\\\"]]],null],[[[1,\\\"                            \\\"],[10,0],[14,0,\\\"ig-subform\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"h4\\\"],[12],[1,\\\"Upload Keys to Pool \\\"],[1,[30,6,[\\\"pid\\\"]]],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,6,[\\\"message\\\"]],[[[1,\\\"                                \\\"],[10,0],[14,0,\\\"ig-result success\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"ig-result-title\\\"],[12],[1,[30,6,[\\\"message\\\"]]],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[41,[30,6,[\\\"error\\\"]],[[[1,\\\"                                \\\"],[10,0],[14,0,\\\"ig-alert danger\\\"],[12],[1,\\\"Error: \\\"],[1,[30,6,[\\\"error\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"ig-grid-compact\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"ig-field ig-col-span-3\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"label\\\"],[12],[1,\\\"CSV File\\\"],[13],[1,\\\"\\\\n                                        \\\"],[11,\\\"input\\\"],[24,\\\"accept\\\",\\\".csv,text/csv\\\"],[24,4,\\\"file\\\"],[4,[38,6],[\\\"change\\\",[30,0,[\\\"onUploadFileChange\\\"]]],null],[12],[13],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[14,5,\\\"margin-top:.5rem;\\\"],[12],[1,\\\"\\\\n                                            \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[16,\\\"disabled\\\",[30,6,[\\\"uploading\\\"]]],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"sendUploadFile\\\"]]],null],[12],[1,\\\"\\\\n                                                \\\"],[1,[52,[30,6,[\\\"uploading\\\"]],\\\"Uploading…\\\",\\\"Upload File\\\"]],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,6,[\\\"importId\\\"]],[[[1,\\\"                                \\\"],[10,0],[14,0,\\\"ig-subcard\\\"],[14,5,\\\"margin-top: .75rem;\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,\\\"h5\\\"],[12],[1,\\\"Import Status\\\"],[13],[1,\\\"\\\\n                                    \\\"],[10,2],[14,0,\\\"mono\\\"],[12],[1,\\\"ID: \\\"],[1,[30,6,[\\\"importId\\\"]]],[13],[1,\\\"\\\\n                                    \\\"],[10,2],[12],[1,\\\"Status: \\\"],[1,[30,6,[\\\"status\\\"]]],[13],[1,\\\"\\\\n\\\"],[41,[30,6,[\\\"stats\\\"]],[[[1,\\\"                                    \\\"],[10,\\\"ul\\\"],[14,0,\\\"mono\\\"],[12],[1,\\\"\\\\n                                        \\\"],[41,[30,6,[\\\"stats\\\",\\\"total\\\"]],[[[10,\\\"li\\\"],[12],[1,\\\"Total: \\\"],[1,[30,6,[\\\"stats\\\",\\\"total\\\"]]],[13]],[]],null],[1,\\\"\\\\n                                        \\\"],[41,[30,6,[\\\"stats\\\",\\\"processed\\\"]],[[[10,\\\"li\\\"],[12],[1,\\\"Processed: \\\"],[1,[30,6,[\\\"stats\\\",\\\"processed\\\"]]],[13]],[]],null],[1,\\\"\\\\n                                        \\\"],[41,[30,6,[\\\"stats\\\",\\\"added\\\"]],[[[10,\\\"li\\\"],[12],[1,\\\"Added: \\\"],[1,[30,6,[\\\"stats\\\",\\\"added\\\"]]],[13]],[]],null],[1,\\\"\\\\n                                        \\\"],[41,[30,6,[\\\"stats\\\",\\\"errors\\\"]],[[[10,\\\"li\\\"],[12],[1,\\\"Errors: \\\"],[1,[30,6,[\\\"stats\\\",\\\"errors\\\"]]],[13]],[]],null],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                                \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"ig-form-actions ig-subform-actions\\\"],[12],[1,\\\"\\\\n                                    \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-outline\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"cancelUpload\\\"]]],null],[12],[1,\\\"Close\\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[6]]]],[]],null],[1,\\\"                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[3]],null],[1,\\\"            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"        \\\"],[10,2],[12],[1,\\\"No giveaways yet.\\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"deleteMessage\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"ig-result success\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"ig-result-title\\\"],[12],[1,[30,0,[\\\"deleteMessage\\\"]]],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"deleteErrorMessage\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"ig-alert danger\\\"],[12],[1,\\\"Error: \\\"],[1,[30,0,[\\\"deleteErrorMessage\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"@backRoute\\\",\\\"s\\\",\\\"g\\\",\\\"p\\\",\\\"ctx\\\",\\\"u\\\"],false,[\\\"div\\\",\\\"did-insert\\\",\\\"h1\\\",\\\"if\\\",\\\"link-to\\\",\\\"form\\\",\\\"on\\\",\\\"label\\\",\\\"input\\\",\\\"fn\\\",\\\"select\\\",\\\"each\\\",\\\"-track-array\\\",\\\"option\\\",\\\"eq\\\",\\\"mut\\\",\\\"not\\\",\\\"textarea\\\",\\\"unless\\\",\\\"button\\\",\\\"h2\\\",\\\"table\\\",\\\"thead\\\",\\\"tr\\\",\\\"th\\\",\\\"tbody\\\",\\\"td\\\",\\\"br\\\",\\\"h3\\\",\\\"get\\\",\\\"p\\\",\\\"let\\\",\\\"h4\\\",\\\"did-update\\\",\\\"h5\\\",\\\"ul\\\",\\\"li\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/giveaways-admin.hbs\",\n    \"isStrictMode\": false\n  });\n  const STATUSES = [\"draft\", \"active\", \"inactive\", \"disabled\"];\n  const IMPORT_POLL_MS = 5000; // 5s\n  const IMPORT_POLL_MAX = 1200;\n  function toIsoFromEpochish(x) {\n    if (x === null || x === undefined || x === \"\") return null;\n    const n = typeof x === \"string\" ? Number(x) : x;\n    if (Number.isFinite(n)) {\n      const ms = n < 1e12 ? n * 1000 : n;\n      const d = new Date(ms);\n      return Number.isNaN(d.getTime()) ? null : d.toISOString();\n    }\n    const d = new Date(x);\n    return Number.isNaN(d.getTime()) ? null : d.toISOString();\n  }\n  function normalizeTags(t) {\n    if (Array.isArray(t)) return t;\n    if (typeof t === \"string\") {\n      return t.split(\",\").map(s => s.trim()).filter(Boolean);\n    }\n    return [];\n  }\n  function normalizeGiveaway() {\n    let item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    return {\n      id: item.id,\n      consumerId: item.consumerId || \"\",\n      title: item.title || \"\",\n      slug: item.slug || \"\",\n      content: item.content || \"\",\n      status: (item.status || \"draft\").toLowerCase(),\n      featured: !!item.featured,\n      maxKeysPerIp: Number.isFinite(Number(item.maxKeysPerIp)) ? Number(item.maxKeysPerIp) : null,\n      tags: normalizeTags(item.tags),\n      platform: item.platform || \"\",\n      developer: item.developer || \"\",\n      gameWebsiteUrl: item.gameWebsiteUrl || \"\",\n      color: item.color || \"\",\n      youtubeUrl: item.youtubeUrl || \"\",\n      headerImageUrl: item.headerImageUrl || \"\",\n      thumbnailImageUrl: item.thumbnailImageUrl || \"\",\n      redemptionInstructions: item.redemptionInstructions || \"\",\n      createdAt: toIsoFromEpochish(item.createdAt),\n      updatedAt: toIsoFromEpochish(item.updatedAt),\n      deleted: !!item.deleted\n    };\n  }\n  function normalizePool() {\n    let item = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    return {\n      id: item.id,\n      giveawayId: item.giveawayId,\n      description: item.description || \"\",\n      totalKeys: Number(item.totalKeys ?? 0),\n      keysRemaining: Number(item.keysRemaining ?? 0),\n      lowerLimit: Number(item.lowerLimit ?? 0),\n      upperLimit: Number(item.upperLimit ?? 0),\n      countries: typeof item.countries === \"string\" ? item.countries : \"\",\n      active: item.active !== false,\n      createdAt: toIsoFromEpochish(item.createdAt),\n      updatedAt: toIsoFromEpochish(item.updatedAt),\n      deleted: !!item.deleted\n    };\n  }\n  function csvToArray(v) {\n    if (!v) return [];\n    if (Array.isArray(v)) return v;\n    return String(v).split(\",\").map(s => s.trim()).filter(Boolean);\n  }\n  class GiveawaysAdmin extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"giveaways\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #giveaways = (() => (dt7948.i(this, \"giveaways\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"loading\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loading = (() => (dt7948.i(this, \"loading\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"saving\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #saving = (() => (dt7948.i(this, \"saving\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"consumerId\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #consumerId = (() => (dt7948.i(this, \"consumerId\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"expanded\", [_tracking.tracked], function () {\n      return new Set();\n    }))();\n    #expanded = (() => (dt7948.i(this, \"expanded\"), void 0))(); // pools state per giveaway\n    static #_6 = (() => dt7948.g(this.prototype, \"pools\", [_tracking.tracked], function () {\n      return new Map();\n    }))();\n    #pools = (() => (dt7948.i(this, \"pools\"), void 0))(); // Set<giveawayId>\n    static #_7 = (() => dt7948.g(this.prototype, \"poolEditing\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #poolEditing = (() => (dt7948.i(this, \"poolEditing\"), void 0))(); // Map<giveawayId, Pool[]>\n    static #_8 = (() => dt7948.g(this.prototype, \"keyUpload\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #keyUpload = (() => (dt7948.i(this, \"keyUpload\"), void 0))(); // { gid, pool: {...}, isNew: boolean }\n    static #_9 = (() => dt7948.g(this.prototype, \"editingId\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #editingId = (() => (dt7948.i(this, \"editingId\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"title\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #title = (() => (dt7948.i(this, \"title\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"slug\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #slug = (() => (dt7948.i(this, \"slug\"), void 0))();\n    static #_12 = (() => dt7948.g(this.prototype, \"status\", [_tracking.tracked], function () {\n      return \"draft\";\n    }))();\n    #status = (() => (dt7948.i(this, \"status\"), void 0))();\n    static #_13 = (() => dt7948.g(this.prototype, \"featured\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #featured = (() => (dt7948.i(this, \"featured\"), void 0))();\n    static #_14 = (() => dt7948.g(this.prototype, \"maxKeysPerIp\", [_tracking.tracked], function () {\n      return 1;\n    }))();\n    #maxKeysPerIp = (() => (dt7948.i(this, \"maxKeysPerIp\"), void 0))();\n    static #_15 = (() => dt7948.g(this.prototype, \"content\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #content = (() => (dt7948.i(this, \"content\"), void 0))();\n    static #_16 = (() => dt7948.g(this.prototype, \"tagsCsv\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #tagsCsv = (() => (dt7948.i(this, \"tagsCsv\"), void 0))();\n    static #_17 = (() => dt7948.g(this.prototype, \"platform\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #platform = (() => (dt7948.i(this, \"platform\"), void 0))();\n    static #_18 = (() => dt7948.g(this.prototype, \"developer\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #developer = (() => (dt7948.i(this, \"developer\"), void 0))();\n    static #_19 = (() => dt7948.g(this.prototype, \"gameWebsiteUrl\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #gameWebsiteUrl = (() => (dt7948.i(this, \"gameWebsiteUrl\"), void 0))();\n    static #_20 = (() => dt7948.g(this.prototype, \"color\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #color = (() => (dt7948.i(this, \"color\"), void 0))();\n    static #_21 = (() => dt7948.g(this.prototype, \"youtubeUrl\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #youtubeUrl = (() => (dt7948.i(this, \"youtubeUrl\"), void 0))();\n    static #_22 = (() => dt7948.g(this.prototype, \"redemptionInstructions\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #redemptionInstructions = (() => (dt7948.i(this, \"redemptionInstructions\"), void 0))();\n    static #_23 = (() => dt7948.g(this.prototype, \"headerImageFile\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #headerImageFile = (() => (dt7948.i(this, \"headerImageFile\"), void 0))();\n    static #_24 = (() => dt7948.g(this.prototype, \"thumbnailImageFile\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #thumbnailImageFile = (() => (dt7948.i(this, \"thumbnailImageFile\"), void 0))();\n    static #_25 = (() => dt7948.g(this.prototype, \"saveMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #saveMessage = (() => (dt7948.i(this, \"saveMessage\"), void 0))(); // required on create\n    static #_26 = (() => dt7948.g(this.prototype, \"errorMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #errorMessage = (() => (dt7948.i(this, \"errorMessage\"), void 0))();\n    static #_27 = (() => dt7948.g(this.prototype, \"deleteMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #deleteMessage = (() => (dt7948.i(this, \"deleteMessage\"), void 0))();\n    static #_28 = (() => dt7948.g(this.prototype, \"deleteErrorMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #deleteErrorMessage = (() => (dt7948.i(this, \"deleteErrorMessage\"), void 0))();\n    static #_29 = (() => dt7948.g(this.prototype, \"poolsLoading\", [_tracking.tracked], function () {\n      return Object.create(null);\n    }))();\n    #poolsLoading = (() => (dt7948.i(this, \"poolsLoading\"), void 0))();\n    get statuses() {\n      return STATUSES;\n    }\n\n    // ---------- TEMPLATE HELPERS ----------\n    ymd(iso) {\n      if (!iso) return \"—\";\n      const d = new Date(iso);\n      return Number.isNaN(d.getTime()) ? \"—\" : d.toISOString().slice(0, 10);\n    }\n    static #_30 = (() => dt7948.n(this.prototype, \"ymd\", [_object.action]))();\n    isExpanded(id) {\n      return !!this.expanded?.has?.(id);\n    }\n    static #_31 = (() => dt7948.n(this.prototype, \"isExpanded\", [_object.action]))();\n    hasPools(id) {\n      return !!this.pools?.has?.(id);\n    }\n    static #_32 = (() => dt7948.n(this.prototype, \"hasPools\", [_object.action]))();\n    poolsFor(id) {\n      return this.pools?.get?.(id) ?? [];\n    }\n    static #_33 = (() => dt7948.n(this.prototype, \"poolsFor\", [_object.action]))();\n    sameId(a, b) {\n      return String(a) === String(b);\n    }\n\n    // ---------- LIFECYCLE ----------\n    static #_34 = (() => dt7948.n(this.prototype, \"sameId\", [_object.action]))();\n    onInsert() {\n      this.loadGiveaways();\n    }\n\n    // ---------- GIVEAWAYS ----------\n    static #_35 = (() => dt7948.n(this.prototype, \"onInsert\", [_object.action]))();\n    async loadGiveaways() {\n      this.loading = true;\n      this.errorMessage = \"\";\n      try {\n        const list = await this._apiListGiveaways(this.consumerId || undefined);\n        const items = Array.isArray(list?.items) ? list.items : [];\n        const norm = items.map(normalizeGiveaway);\n\n        // sort desc by createdAt\n        const toMs = iso => iso ? Date.parse(iso) || 0 : 0;\n        norm.sort((a, b) => toMs(b.createdAt) - toMs(a.createdAt));\n        this.giveaways = norm;\n      } catch (e) {\n        console.error(e);\n        this.errorMessage = e?.message || \"Failed to load giveaways.\";\n      } finally {\n        this.loading = false;\n      }\n    }\n    static #_36 = (() => dt7948.n(this.prototype, \"loadGiveaways\", [_object.action]))();\n    beginCreate() {\n      this._resetForm();\n      this._scrollTop();\n    }\n    static #_37 = (() => dt7948.n(this.prototype, \"beginCreate\", [_object.action]))();\n    beginEdit(g) {\n      this.editingId = g.id;\n      this.title = g.title || \"\";\n      this.slug = g.slug || \"\";\n      this.status = g.status || \"draft\";\n      this.featured = !!g.featured;\n      this.maxKeysPerIp = Number.isFinite(Number(g.maxKeysPerIp)) ? Number(g.maxKeysPerIp) : 1;\n      this.content = g.content || \"\";\n      this.tagsCsv = (g.tags || []).join(\", \");\n      this.platform = g.platform || \"\";\n      this.developer = g.developer || \"\";\n      this.gameWebsiteUrl = g.gameWebsiteUrl || \"\";\n      this.color = g.color || \"\";\n      this.youtubeUrl = g.youtubeUrl || \"\";\n      this.redemptionInstructions = g.redemptionInstructions || \"\";\n      this.headerImageFile = null;\n      this.thumbnailImageFile = null;\n      this._scrollTop();\n    }\n    static #_38 = (() => dt7948.n(this.prototype, \"beginEdit\", [_object.action]))();\n    onHeaderImageChange(e) {\n      this.headerImageFile = e?.target?.files?.[0] || null;\n    }\n    static #_39 = (() => dt7948.n(this.prototype, \"onHeaderImageChange\", [_object.action]))();\n    onThumbnailImageChange(e) {\n      this.thumbnailImageFile = e?.target?.files?.[0] || null;\n    }\n    static #_40 = (() => dt7948.n(this.prototype, \"onThumbnailImageChange\", [_object.action]))();\n    async saveGiveawaySettings(ev) {\n      ev?.preventDefault?.();\n      this.saveMessage = \"\";\n      this.errorMessage = \"\";\n      try {\n        if (!this.title.trim()) throw new Error(\"Title is required.\");\n        if (!this.status) throw new Error(\"Status is required.\");\n        if (!this.editingId) {\n          if (!this.thumbnailImageFile) {\n            throw new Error(\"Thumbnail image file is required.\");\n          }\n          if (!this.youtubeUrl?.trim() && !this.headerImageFile) {\n            throw new Error(\"Either YouTube URL or Header Image file is required.\");\n          }\n        }\n        const tagsArr = csvToArray(this.tagsCsv);\n        const fd = new FormData();\n        fd.append(\"giveaway[title]\", this.title.trim());\n        if (this.slug?.trim()) fd.append(\"giveaway[slug]\", this.slug.trim());\n        if (this.content?.trim()) fd.append(\"giveaway[content]\", this.content);\n        if (this.status) fd.append(\"giveaway[status]\", this.status);\n        fd.append(\"giveaway[featured]\", this.featured ? \"true\" : \"false\");\n        const cap = Number(this.maxKeysPerIp);\n        if (Number.isFinite(cap) && cap > 0) {\n          fd.append(\"giveaway[max_keys_per_ip]\", String(cap));\n        }\n        if (this.platform?.trim()) fd.append(\"giveaway[platform]\", this.platform.trim());\n        if (this.developer?.trim()) fd.append(\"giveaway[developer]\", this.developer.trim());\n        if (this.gameWebsiteUrl?.trim()) fd.append(\"giveaway[game_website_url]\", this.gameWebsiteUrl.trim());\n        if (this.color?.trim()) fd.append(\"giveaway[color]\", this.color.trim());\n        if (this.youtubeUrl?.trim()) fd.append(\"giveaway[youtube_url]\", this.youtubeUrl.trim());\n        if (this.redemptionInstructions?.trim()) fd.append(\"giveaway[redemption_instructions]\", this.redemptionInstructions.trim());\n\n        // tags[]\n        for (const t of tagsArr) {\n          fd.append(\"giveaway[tags][]\", t);\n        }\n\n        // Files (file-only flow)\n        if (this.headerImageFile) {\n          fd.append(\"giveaway[header_image]\", this.headerImageFile, this.headerImageFile.name || \"header\");\n        }\n        if (this.thumbnailImageFile) {\n          fd.append(\"giveaway[thumbnail_image]\", this.thumbnailImageFile, this.thumbnailImageFile.name || \"thumbnail\");\n        }\n        this.saving = true;\n        if (this.editingId) {\n          const res = await this._apiUpdateGiveaway(this.editingId, fd);\n          const updated = normalizeGiveaway(res);\n          this.giveaways = this.giveaways.map(x => x.id === updated.id ? updated : x);\n          this.saveMessage = \"Giveaway updated.\";\n        } else {\n          const res = await this._apiCreateGiveaway(fd);\n          const created = normalizeGiveaway(res);\n          this.giveaways = [created, ...this.giveaways];\n          this.saveMessage = \"Giveaway created.\";\n        }\n        this._resetForm();\n      } catch (e) {\n        console.error(e);\n        this.errorMessage = e?.message || \"Save failed.\";\n      } finally {\n        this.saving = false;\n      }\n    }\n    static #_41 = (() => dt7948.n(this.prototype, \"saveGiveawaySettings\", [_object.action]))();\n    async deleteGiveaway(g) {\n      this.deleteMessage = \"\";\n      this.deleteErrorMessage = \"\";\n      try {\n        await this._apiDeleteGiveaway(g.id);\n        this.giveaways = this.giveaways.filter(x => x.id !== g.id);\n        this.expanded.delete(g.id);\n        this.pools.delete(g.id);\n        if (this.editingId === g.id) this._resetForm();\n        this.deleteMessage = `Deleted \"${g.title || g.slug || g.id}\".`;\n      } catch (e) {\n        console.error(e);\n        this.deleteErrorMessage = e?.message || \"Failed to delete giveaway.\";\n      }\n    }\n\n    // ---------- POOLS ----------\n    static #_42 = (() => dt7948.n(this.prototype, \"deleteGiveaway\", [_object.action]))();\n    async togglePools(g) {\n      const gid = g.id;\n      if (this.expanded.has(gid)) {\n        this.expanded.delete(gid);\n        this.expanded = new Set(this.expanded);\n        return;\n      }\n      this.expanded.add(gid);\n      this.expanded = new Set(this.expanded);\n      if (!this.pools.has(gid)) {\n        try {\n          const list = await this._apiListPools(gid);\n          const items = Array.isArray(list) ? list : Array.isArray(list?.items) ? list.items : [];\n          this.pools.set(gid, items.map(normalizePool));\n          this.pools = new Map(this.pools);\n        } catch (e) {\n          console.error(e);\n          this.errorMessage = e?.message || \"Failed to load keypools.\";\n        }\n      }\n    }\n    static #_43 = (() => dt7948.n(this.prototype, \"togglePools\", [_object.action]))();\n    newPool(g) {\n      this.poolEditing = {\n        gid: g.id,\n        isNew: true,\n        pool: {\n          description: \"\",\n          totalKeys: 0,\n          lowerLimit: 0,\n          upperLimit: 0,\n          countries: \"\",\n          // CSV string\n          active: false\n        }\n      };\n    }\n    static #_44 = (() => dt7948.n(this.prototype, \"newPool\", [_object.action]))();\n    editPool(g, pool) {\n      this.poolEditing = {\n        gid: g.id,\n        isNew: false,\n        pool: {\n          ...pool\n        }\n      };\n    }\n    static #_45 = (() => dt7948.n(this.prototype, \"editPool\", [_object.action]))();\n    cancelPoolEdit() {\n      this.poolEditing = null;\n    }\n    static #_46 = (() => dt7948.n(this.prototype, \"cancelPoolEdit\", [_object.action]))();\n    async savePool() {\n      const ctx = this.poolEditing;\n      if (!ctx) return;\n      const gid = ctx.gid;\n      const p = ctx.pool;\n      const payload = {\n        description: (p.description || \"\").trim(),\n        totalKeys: Number(p.totalKeys ?? 0),\n        lowerLimit: Number(p.lowerLimit ?? 0),\n        upperLimit: Number(p.upperLimit ?? 0),\n        countries: p.countries || \"\",\n        active: !!p.active\n      };\n      try {\n        let saved;\n        if (ctx.isNew) {\n          const res = await this._apiCreatePool(gid, payload);\n          saved = normalizePool(res);\n          const arr = this.pools.get(gid) || [];\n          this.pools.set(gid, [saved, ...arr]);\n        } else {\n          const res = await this._apiUpdatePool(gid, p.id, payload);\n          saved = normalizePool(res);\n          const arr = (this.pools.get(gid) || []).map(x => x.id === saved.id ? saved : x);\n          this.pools.set(gid, arr);\n        }\n        this.pools = new Map(this.pools);\n        this.poolEditing = null;\n        this.saveMessage = ctx.isNew ? \"Keypool created.\" : \"Keypool updated.\";\n      } catch (e) {\n        console.error(e);\n        this.errorMessage = e?.message || \"Failed to save keypool.\";\n      }\n    }\n    static #_47 = (() => dt7948.n(this.prototype, \"savePool\", [_object.action]))();\n    async deletePool(g, p) {\n      try {\n        await this._apiDeletePool(g.id, p.id);\n        const next = (this.pools.get(g.id) || []).filter(x => x.id !== p.id);\n        this.pools.set(g.id, next);\n        this.pools = new Map(this.pools);\n        this.saveMessage = `Deleted pool.`;\n      } catch (e) {\n        console.error(e);\n        this.errorMessage = e?.message || \"Failed to delete keypool.\";\n      }\n    }\n    static #_48 = (() => dt7948.n(this.prototype, \"deletePool\", [_object.action]))();\n    async refreshPools(g) {\n      const gid = g.id;\n      this.poolsLoading = {\n        ...this.poolsLoading,\n        [gid]: true\n      };\n      try {\n        await this._refreshPools(gid);\n        this.saveMessage = \"Pools refreshed.\";\n      } catch (e) {\n        console.error(e);\n        this.errorMessage = e?.message || \"Failed to refresh pools.\";\n      } finally {\n        const next = {\n          ...this.poolsLoading\n        };\n        delete next[gid];\n        this.poolsLoading = next;\n      }\n    }\n\n    // ---------- UPLOAD / IMPORT (ASYNC) ----------\n    static #_49 = (() => dt7948.n(this.prototype, \"refreshPools\", [_object.action]))();\n    beginUpload(g, p) {\n      // stop any previous poller\n      this._stopImportPolling();\n      this.keyUpload = {\n        gid: g.id,\n        pid: p.id,\n        file: null,\n        keysText: \"\",\n        code: \"\",\n        uploading: false,\n        message: \"\",\n        error: \"\",\n        importId: null,\n        status: null,\n        stats: null,\n        _polls: 0,\n        _timer: null\n      };\n    }\n    static #_50 = (() => dt7948.n(this.prototype, \"beginUpload\", [_object.action]))();\n    cancelUpload() {\n      this._stopImportPolling();\n      this.keyUpload = null;\n    }\n    static #_51 = (() => dt7948.n(this.prototype, \"cancelUpload\", [_object.action]))();\n    onUploadFileChange(e) {\n      const file = e?.target?.files?.[0] || null;\n      if (this.keyUpload) this.keyUpload = {\n        ...this.keyUpload,\n        file,\n        message: \"\",\n        error: \"\"\n      };\n    }\n    static #_52 = (() => dt7948.n(this.prototype, \"onUploadFileChange\", [_object.action]))();\n    updateUploadText(e) {\n      const keysText = e?.target?.value ?? \"\";\n      if (this.keyUpload) this.keyUpload = {\n        ...this.keyUpload,\n        keysText,\n        message: \"\",\n        error: \"\"\n      };\n    }\n    static #_53 = (() => dt7948.n(this.prototype, \"updateUploadText\", [_object.action]))();\n    updateUploadCode(e) {\n      const code = e?.target?.value ?? \"\";\n      if (this.keyUpload) this.keyUpload = {\n        ...this.keyUpload,\n        code,\n        message: \"\",\n        error: \"\"\n      };\n    }\n    static #_54 = (() => dt7948.n(this.prototype, \"updateUploadCode\", [_object.action]))();\n    async sendUploadFile() {\n      const u = this.keyUpload;\n      if (!u?.file) {\n        this.keyUpload = {\n          ...u,\n          error: \"Choose a CSV file first.\",\n          message: \"\"\n        };\n        return;\n      }\n      this.keyUpload = {\n        ...u,\n        uploading: true,\n        error: \"\",\n        message: \"Uploading file…\"\n      };\n      try {\n        const res = await this._apiUploadPoolKeysFile(u.gid, u.pid, u.file);\n        const importId = res?.importId || res?.import_id;\n        if (!importId) {\n          const msg = res?.message || \"Upload finished, but no import id received.\";\n          this.keyUpload = {\n            ...this.keyUpload,\n            uploading: false,\n            message: msg,\n            error: \"\"\n          };\n          return;\n        }\n        this.keyUpload = {\n          ...this.keyUpload,\n          uploading: false,\n          importId,\n          status: \"pending\",\n          message: \"Import started…\",\n          _polls: 0\n        };\n\n        // Kick off polling\n        this._scheduleImportPoll();\n      } catch (e) {\n        console.error(e);\n        const msg = this._extractAjaxError(e);\n        this.keyUpload = {\n          ...this.keyUpload,\n          uploading: false,\n          error: msg,\n          message: \"\"\n        };\n      }\n    }\n\n    // ---------- POLLING HELPERS ----------\n    static #_55 = (() => dt7948.n(this.prototype, \"sendUploadFile\", [_object.action]))();\n    _scheduleImportPoll() {\n      // Clear any previous timer\n      this._stopImportPolling();\n\n      // Guard\n      if (!this.keyUpload?.importId) return;\n      const timer = setTimeout(() => this._pollImportStatus(), IMPORT_POLL_MS);\n      this.keyUpload = {\n        ...this.keyUpload,\n        _timer: timer\n      };\n    }\n    _stopImportPolling() {\n      const t = this.keyUpload?._timer;\n      if (t) {\n        clearTimeout(t);\n        if (this.keyUpload) this.keyUpload = {\n          ...this.keyUpload,\n          _timer: null\n        };\n      }\n    }\n    async _pollImportStatus() {\n      const u = this.keyUpload;\n      if (!u || !u.importId) return;\n      try {\n        const status = await this._apiImportStatus(u.gid, u.pid, u.importId);\n        const state = (status?.status || status?.state || \"\").toLowerCase();\n        const stats = status?.stats || {\n          added: status?.added,\n          total: status?.total,\n          processed: status?.processed,\n          errors: status?.errors\n        };\n\n        // Update UI\n        this.keyUpload = {\n          ...this.keyUpload,\n          status: state || \"running\",\n          stats,\n          message: this._humanizeImportStatus(state, stats, status?.message),\n          error: state === \"failed\" ? status?.error || status?.message || \"Import failed.\" : \"\",\n          _polls: (this.keyUpload?._polls || 0) + 1\n        };\n\n        // Terminal states\n        if (state === \"completed\" || state === \"succeeded\" || state === \"success\") {\n          this._stopImportPolling();\n          await this._refreshPools(u.gid);\n          return;\n        }\n        if (state === \"failed\" || state === \"error\" || state === \"cancelled\") {\n          this._stopImportPolling();\n          return;\n        }\n        if ((this.keyUpload?._polls || 0) > IMPORT_POLL_MAX) {\n          this._stopImportPolling();\n          this.keyUpload = {\n            ...this.keyUpload,\n            error: \"Import polling timeout. Please check again later.\"\n          };\n          return;\n        }\n\n        // Continue polling\n        this._scheduleImportPoll();\n      } catch (e) {\n        console.error(e);\n        const msg = this._extractAjaxError(e);\n        // Keep polling a bit despite transient errors\n        const polls = (this.keyUpload?._polls || 0) + 1;\n        this.keyUpload = {\n          ...this.keyUpload,\n          _polls: polls,\n          message: `Checking status… (${polls})`,\n          error: \"\"\n        };\n        if (polls <= IMPORT_POLL_MAX) {\n          this._scheduleImportPoll();\n        } else {\n          this._stopImportPolling();\n          this.keyUpload = {\n            ...this.keyUpload,\n            error: msg || \"Status check failed.\"\n          };\n        }\n      }\n    }\n    _humanizeImportStatus(state, stats, fallback) {\n      const s = (state || \"\").toLowerCase();\n      if (s === \"pending\") return \"Queued…\";\n      if (s === \"running\" || s === \"processing\") {\n        const p = stats?.processed ?? stats?.added ?? 0;\n        const t = stats?.total ?? 0;\n        if (t > 0) return `Importing… ${p}/${t}`;\n        return `Importing… ${p}`;\n      }\n      if (s === \"completed\" || s === \"succeeded\" || s === \"success\") {\n        const a = stats?.added ?? 0;\n        return `Import completed. Added ${a} keys.`;\n      }\n      if (s === \"failed\" || s === \"error\") return fallback || \"Import failed.\";\n      return fallback || (s ? `Status: ${s}` : \"Import in progress…\");\n    }\n\n    // ---------- FIELD HELPERS ----------\n\n    updateField(prop, e) {\n      this[prop] = e?.target?.value ?? \"\";\n    }\n    static #_56 = (() => dt7948.n(this.prototype, \"updateField\", [_object.action]))();\n    updateNumberField(prop, e) {\n      const v = e?.target?.value ?? \"\";\n      this[prop] = v === \"\" ? \"\" : Number(v);\n    }\n    static #_57 = (() => dt7948.n(this.prototype, \"updateNumberField\", [_object.action]))();\n    updatePoolField(prop, e) {\n      const v = e?.target?.value ?? \"\";\n      const current = this.poolEditing?.pool ?? {};\n      const pool = {\n        ...current,\n        [prop]: v\n      };\n      this.poolEditing = {\n        ...(this.poolEditing || {}),\n        pool\n      };\n    }\n    static #_58 = (() => dt7948.n(this.prototype, \"updatePoolField\", [_object.action]))();\n    updatePoolNumberField(prop, e) {\n      const v = e?.target?.value ?? \"\";\n      const num = v === \"\" ? \"\" : Number(v);\n      const current = this.poolEditing?.pool ?? {};\n      const pool = {\n        ...current,\n        [prop]: num\n      };\n      this.poolEditing = {\n        ...(this.poolEditing || {}),\n        pool\n      };\n    }\n    static #_59 = (() => dt7948.n(this.prototype, \"updatePoolNumberField\", [_object.action]))();\n    bindPoolCountriesSelect(el) {\n      this._countriesSelectEl = el;\n      this.syncPoolCountriesSelect();\n    }\n    static #_60 = (() => dt7948.n(this.prototype, \"bindPoolCountriesSelect\", [_object.action]))();\n    syncPoolCountriesSelect() {\n      const el = this._countriesSelectEl;\n      if (!el) return;\n      const csv = this.poolEditing?.pool?.countries || \"\";\n      const set = new Set(csv.split(\",\").map(s => s.trim()).filter(Boolean));\n      for (const opt of el.options) {\n        opt.selected = set.has(opt.value);\n      }\n    }\n    static #_61 = (() => dt7948.n(this.prototype, \"syncPoolCountriesSelect\", [_object.action]))();\n    onPoolCountriesChange(e) {\n      const codes = Array.from(e.target.selectedOptions).map(o => o.value);\n      const csv = codes.join(\",\");\n      const current = this.poolEditing?.pool ?? {};\n      const pool = {\n        ...current,\n        countries: csv\n      };\n      this.poolEditing = {\n        ...(this.poolEditing || {}),\n        pool\n      };\n    }\n    static #_62 = (() => dt7948.n(this.prototype, \"onPoolCountriesChange\", [_object.action]))();\n    updatePoolBooleanField(prop, e) {\n      const v = !!e?.target?.checked;\n      const current = this.poolEditing?.pool ?? {};\n      const pool = {\n        ...current,\n        [prop]: v\n      };\n      this.poolEditing = {\n        ...(this.poolEditing || {}),\n        pool\n      };\n    }\n\n    // ---------- UTILS ----------\n    static #_63 = (() => dt7948.n(this.prototype, \"updatePoolBooleanField\", [_object.action]))();\n    _resetForm() {\n      this.editingId = null;\n      this.title = \"\";\n      this.slug = \"\";\n      this.status = \"draft\";\n      this.featured = false;\n      this.maxKeysPerIp = 1;\n      this.content = \"\";\n      this.tagsCsv = \"\";\n      this.platform = \"\";\n      this.developer = \"\";\n      this.gameWebsiteUrl = \"\";\n      this.color = \"\";\n      this.youtubeUrl = \"\";\n      this.redemptionInstructions = \"\";\n      this.headerImageFile = null;\n      this.thumbnailImageFile = null;\n    }\n    _scrollTop() {\n      document.querySelector(\".admin-container\")?.scrollIntoView({\n        behavior: \"smooth\",\n        block: \"start\"\n      });\n    }\n    _extractAjaxError(e) {\n      return e?.responseJSON?.error || e?.responseJSON?.message || e?.jqXHR?.responseJSON?.error || e?.jqXHR?.responseJSON?.message || e?.message || \"Upload failed.\";\n    }\n    async _refreshPools(gid) {\n      try {\n        const list = await this._apiListPools(gid);\n        const items = Array.isArray(list) ? list : Array.isArray(list?.items) ? list.items : [];\n        this.pools.set(gid, items.map(normalizePool));\n        this.pools = new Map(this.pools);\n      } catch (e) {\n        console.error(e);\n      }\n    }\n\n    // ---------- API ----------\n    _apiListGiveaways(consumerId) {\n      const data = consumerId ? {\n        consumer_id: consumerId\n      } : {};\n      return (0, _ajax.ajax)(\"/cp/giveaways\", {\n        type: \"GET\",\n        data\n      });\n    }\n    _apiCreateGiveaway(formData) {\n      return (0, _ajax.ajax)(\"/cp/giveaways\", {\n        type: \"POST\",\n        data: formData,\n        processData: false,\n        contentType: false\n      });\n    }\n    _apiUpdateGiveaway(id, formData) {\n      return (0, _ajax.ajax)(`/cp/giveaways/${encodeURIComponent(id)}`, {\n        type: \"PUT\",\n        data: formData,\n        processData: false,\n        contentType: false\n      });\n    }\n    _apiDeleteGiveaway(id) {\n      return (0, _ajax.ajax)(`/cp/giveaways/${encodeURIComponent(id)}`, {\n        type: \"DELETE\"\n      });\n    }\n    _apiListPools(giveawayId) {\n      return (0, _ajax.ajax)(`/cp/giveaways/${encodeURIComponent(giveawayId)}/keypools`, {\n        type: \"GET\"\n      });\n    }\n    _apiCreatePool(giveawayId, attrs) {\n      return (0, _ajax.ajax)(`/cp/giveaways/${encodeURIComponent(giveawayId)}/keypools`, {\n        type: \"POST\",\n        data: {\n          keypool: attrs\n        }\n      });\n    }\n    _apiUpdatePool(giveawayId, poolId, attrs) {\n      return (0, _ajax.ajax)(`/cp/giveaways/${encodeURIComponent(giveawayId)}/keypools/${encodeURIComponent(poolId)}`, {\n        type: \"PUT\",\n        data: {\n          keypool: attrs\n        }\n      });\n    }\n    _apiDeletePool(giveawayId, poolId) {\n      return (0, _ajax.ajax)(`/cp/giveaways/${encodeURIComponent(giveawayId)}/keypools/${encodeURIComponent(poolId)}`, {\n        type: \"DELETE\"\n      });\n    }\n    _apiUploadPoolKeysFile(giveawayId, poolId, file) {\n      const fd = new FormData();\n      fd.append(\"pool\", file, file?.name || \"keys.csv\");\n      return (0, _ajax.ajax)(`/cp/giveaways/${encodeURIComponent(giveawayId)}/keypools/${encodeURIComponent(poolId)}/upload-keys`, {\n        type: \"POST\",\n        data: fd,\n        processData: false,\n        contentType: false\n      });\n    }\n\n    // Poll the status of an import\n    _apiImportStatus(giveawayId, poolId, importId) {\n      return (0, _ajax.ajax)(`/cp/giveaways/${encodeURIComponent(giveawayId)}/keypools/${encodeURIComponent(poolId)}/import-status/${encodeURIComponent(importId)}`, {\n        type: \"GET\"\n      });\n    }\n    _apiStartImportViaUrl(giveawayId, poolId, presignedUrl, filename, contentType, size) {\n      return (0, _ajax.ajax)(`/cp/giveaways/${encodeURIComponent(giveawayId)}/keypools/${encodeURIComponent(poolId)}/import-keys`, {\n        type: \"POST\",\n        data: {\n          presigned_url: presignedUrl,\n          filename,\n          content_type: contentType,\n          size\n        }\n      });\n    }\n  }\n  _exports.default = GiveawaysAdmin;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, GiveawaysAdmin);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/homepage-admin\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"discourse/lib/ajax\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _ajax, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"admin-container\" {{did-insert this.onInsert}}>\n    <div class=\"ig-admin-card-head\">\n      <h1 class=\"ig-admin-title\">Homepage Settings</h1>\n      {{#if @backRoute}}\n      <LinkTo @route={{@backRoute}} class=\"btn btn-secondary igames-admin-button\">Back to Settings</LinkTo>\n      {{/if}}\n    </div>\n  \n    <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n        <h1 class=\"ig-admin-title\">{{if this.editingId \"Edit Banner\" \"Create Banner\"}}</h1>\n      </div>\n  \n      <form {{on \"submit\" this.saveHomepageSettings}} enctype=\"multipart/form-data\" class=\"ig-form\">\n        <div class=\"form-row\">\n          <label>Banner Image (Desktop) {{if this.editingId \"(leave empty to keep existing)\"}}</label>\n          <input id=\"ad-banner-file-input\" type=\"file\" accept=\"image/*\" {{on \"change\" this.handleBannerFileChange}} />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Mobile Banner Image {{if this.editingId \"(leave empty to keep existing)\"}}</label>\n          <input id=\"ad-mobile-banner-file-input\" type=\"file\" accept=\"image/*\" {{on \"change\"\n            this.handleMobileBannerFileChange}} />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Icon Image {{if this.editingId \"(leave empty to keep existing)\"}}</label>\n          <input id=\"ad-icon-file-input\" type=\"file\" accept=\"image/*\" {{on \"change\" this.handleIconFileChange}} />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Accent Color (optional)</label>\n          <Input @type=\"color\" @value={{this.accentColor}} />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Banner Target URL</label>\n          <Input @value={{this.targetUrl}} placeholder=\"https://example.com/promo\" />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Position</label>\n          <Input @value={{this.position}} type=\"number\" min=\"1\" max=\"5\" placeholder=\"1-5\" />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Active From</label>\n          <Input @type=\"datetime-local\" @value={{this.activeFrom}} />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Active To</label>\n          <Input @type=\"datetime-local\" @value={{this.activeTo}} />\n        </div>\n  \n        <div class=\"ig-actions\">\n          {{#if this.editingId}}\n          <button type=\"submit\" class=\"btn btn-primary\" disabled={{this.isSaving}}>\n            {{if this.isSaving \"Saving...\" \"Update Banner\"}}\n          </button>\n          <button type=\"button\" class=\"btn btn-secondary\" {{on \"click\" this.cancelEdit}}>Cancel</button>\n          {{else}}\n          <button type=\"submit\" class=\"btn btn-primary\" disabled={{this.isSaving}}>\n            {{if this.isSaving \"Uploading...\" \"Create Banner\"}}\n          </button>\n          {{/if}}\n        </div>\n      </form>\n  \n      {{#if this.saveMessage}}\n      <div class=\"ig-result success\">\n        <div class=\"ig-result-title\">{{this.saveMessage}}</div>\n      </div>\n      {{/if}}\n      {{#if this.errorMessage}}\n      <div class=\"ig-alert danger\">Error: {{this.errorMessage}}</div>\n      {{/if}}\n    </div>\n  \n    <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n        <h2>Existing Banners</h2>\n        <button type=\"button\" {{on \"click\" this.loadBanners}} disabled={{this.loading}} class=\"btn btn-secondary\">\n          {{if this.loading \"Refreshing...\" \"Refresh\"}}\n        </button>\n      </div>\n  \n      {{#if this.banners.length}}\n      <table class=\"ig-table\">\n        <thead>\n          <tr>\n            <th>Banner (Desktop)</th>\n            <th>Banner (Mobile)</th>\n            <th>Icon</th>\n            <th>Accent Color</th>\n            <th>Position</th>\n            <th>Target URL</th>\n            <th>Active Window</th>\n            <th>Created</th>\n            <th></th>\n          </tr>\n        </thead>\n  \n        <tbody>\n          {{#each this.banners as |banner|}}\n          <tr>\n            <td>\n              {{#if banner.banner_image_url}}\n              <a href={{banner.banner_image_url}} target=\"_blank\" rel=\"noopener\">\n                <img class=\"ig-thumb ig-thumb--desktop\" src={{banner.banner_image_url}} alt=\"banner preview\"\n                  loading=\"lazy\" decoding=\"async\">\n              </a>\n              {{else}} — {{/if}}\n            </td>\n  \n            <td>\n              {{#if banner.mobile_banner_image_url}}\n              <a href={{banner.mobile_banner_image_url}} target=\"_blank\" rel=\"noopener\">\n                <img class=\"ig-thumb ig-thumb--mobile\" src={{banner.mobile_banner_image_url}} alt=\"mobile banner preview\"\n                  loading=\"lazy\" decoding=\"async\">\n              </a>\n              {{else}} — {{/if}}\n            </td>\n  \n            <td>\n              {{#if banner.icon_image_url}}\n              <a href={{banner.icon_image_url}} target=\"_blank\" rel=\"noopener\">\n                <img class=\"ig-thumb ig-thumb--icon\" src={{banner.icon_image_url}} alt=\"icon preview\" loading=\"lazy\"\n                  decoding=\"async\">\n              </a>\n              {{else}} — {{/if}}\n            </td>\n  \n            <td>\n              {{#if banner.accent_color}}\n              <span class=\"ig-swatch\" style={{concat \"background:\" banner.accent_color \";\" }}\n                title={{banner.accent_color}} aria-label={{concat \"Accent color \" banner.accent_color}}></span>\n              <span class=\"mono\">{{banner.accent_color}}</span>\n              {{else}}\n              —\n              {{/if}}\n            </td>\n  \n            <td class=\"mono\">{{banner.position}}</td>\n  \n            <td class=\"clip\">\n              {{#if banner.target_url}}\n              <a href={{banner.target_url}} target=\"_blank\" rel=\"noopener\">{{banner.target_url}}</a>\n              {{else}} — {{/if}}\n            </td>\n  \n            <td>{{if banner.active_from banner.active_from \"—\"}} – {{if banner.active_to banner.active_to \"—\"}}</td>\n            <td>{{banner.created_at}}</td>\n  \n            <td>\n              <button type=\"button\" class=\"btn btn-outline\" {{on \"click\" (fn this.beginEdit banner)}}>Edit</button>\n              <button type=\"button\" class=\"btn btn-danger\" {{on \"click\" (fn this.deleteBanner banner)}}>Delete</button>\n            </td>\n          </tr>\n          {{/each}}\n        </tbody>\n      </table>\n      {{else}}\n      <p>No banners yet.</p>\n      {{/if}}\n  \n      {{#if this.deleteMessage}}\n      <div class=\"ig-result success\">\n        <div class=\"ig-result-title\">{{this.deleteMessage}}</div>\n      </div>\n      {{/if}}\n  \n      {{#if this.deleteErrorMessage}}\n      <div class=\"ig-alert danger\">Error: {{this.deleteErrorMessage}}</div>\n      {{/if}}\n    </div>\n  </div>\n  */\n  {\n    \"id\": \"LNZewDyF\",\n    \"block\": \"[[[11,0],[24,0,\\\"admin-container\\\"],[4,[38,1],[[30,0,[\\\"onInsert\\\"]]],null],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"h1\\\"],[14,0,\\\"ig-admin-title\\\"],[12],[1,\\\"Homepage Settings\\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\"    \\\"],[8,[39,4],[[24,0,\\\"btn btn-secondary igames-admin-button\\\"]],[[\\\"@route\\\"],[[30,1]]],[[\\\"default\\\"],[[[[1,\\\"Back to Settings\\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h1\\\"],[14,0,\\\"ig-admin-title\\\"],[12],[1,[52,[30,0,[\\\"editingId\\\"]],\\\"Edit Banner\\\",\\\"Create Banner\\\"]],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[11,\\\"form\\\"],[24,\\\"enctype\\\",\\\"multipart/form-data\\\"],[24,0,\\\"ig-form\\\"],[4,[38,6],[\\\"submit\\\",[30,0,[\\\"saveHomepageSettings\\\"]]],null],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Banner Image (Desktop) \\\"],[1,[52,[30,0,[\\\"editingId\\\"]],\\\"(leave empty to keep existing)\\\"]],[13],[1,\\\"\\\\n        \\\"],[11,\\\"input\\\"],[24,1,\\\"ad-banner-file-input\\\"],[24,\\\"accept\\\",\\\"image/*\\\"],[24,4,\\\"file\\\"],[4,[38,6],[\\\"change\\\",[30,0,[\\\"handleBannerFileChange\\\"]]],null],[12],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Mobile Banner Image \\\"],[1,[52,[30,0,[\\\"editingId\\\"]],\\\"(leave empty to keep existing)\\\"]],[13],[1,\\\"\\\\n        \\\"],[11,\\\"input\\\"],[24,1,\\\"ad-mobile-banner-file-input\\\"],[24,\\\"accept\\\",\\\"image/*\\\"],[24,4,\\\"file\\\"],[4,[38,6],[\\\"change\\\",[30,0,[\\\"handleMobileBannerFileChange\\\"]]],null],[12],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Icon Image \\\"],[1,[52,[30,0,[\\\"editingId\\\"]],\\\"(leave empty to keep existing)\\\"]],[13],[1,\\\"\\\\n        \\\"],[11,\\\"input\\\"],[24,1,\\\"ad-icon-file-input\\\"],[24,\\\"accept\\\",\\\"image/*\\\"],[24,4,\\\"file\\\"],[4,[38,6],[\\\"change\\\",[30,0,[\\\"handleIconFileChange\\\"]]],null],[12],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Accent Color (optional)\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,8],null,[[\\\"@type\\\",\\\"@value\\\"],[\\\"color\\\",[30,0,[\\\"accentColor\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Banner Target URL\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,8],[[24,\\\"placeholder\\\",\\\"https://example.com/promo\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"targetUrl\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Position\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,8],[[24,\\\"min\\\",\\\"1\\\"],[24,\\\"max\\\",\\\"5\\\"],[24,\\\"placeholder\\\",\\\"1-5\\\"],[24,4,\\\"number\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"position\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Active From\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,8],null,[[\\\"@type\\\",\\\"@value\\\"],[\\\"datetime-local\\\",[30,0,[\\\"activeFrom\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Active To\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,8],null,[[\\\"@type\\\",\\\"@value\\\"],[\\\"datetime-local\\\",[30,0,[\\\"activeTo\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"editingId\\\"]],[[[1,\\\"        \\\"],[10,\\\"button\\\"],[14,0,\\\"btn btn-primary\\\"],[15,\\\"disabled\\\",[30,0,[\\\"isSaving\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n          \\\"],[1,[52,[30,0,[\\\"isSaving\\\"]],\\\"Saving...\\\",\\\"Update Banner\\\"]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"cancelEdit\\\"]]],null],[12],[1,\\\"Cancel\\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"        \\\"],[10,\\\"button\\\"],[14,0,\\\"btn btn-primary\\\"],[15,\\\"disabled\\\",[30,0,[\\\"isSaving\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n          \\\"],[1,[52,[30,0,[\\\"isSaving\\\"]],\\\"Uploading...\\\",\\\"Create Banner\\\"]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"saveMessage\\\"]],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"ig-result success\\\"],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"ig-result-title\\\"],[12],[1,[30,0,[\\\"saveMessage\\\"]]],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[41,[30,0,[\\\"errorMessage\\\"]],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"ig-alert danger\\\"],[12],[1,\\\"Error: \\\"],[1,[30,0,[\\\"errorMessage\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h2\\\"],[12],[1,\\\"Existing Banners\\\"],[13],[1,\\\"\\\\n      \\\"],[11,\\\"button\\\"],[16,\\\"disabled\\\",[30,0,[\\\"loading\\\"]]],[24,0,\\\"btn btn-secondary\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"loadBanners\\\"]]],null],[12],[1,\\\"\\\\n        \\\"],[1,[52,[30,0,[\\\"loading\\\"]],\\\"Refreshing...\\\",\\\"Refresh\\\"]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"banners\\\",\\\"length\\\"]],[[[1,\\\"    \\\"],[10,\\\"table\\\"],[14,0,\\\"ig-table\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"th\\\"],[12],[1,\\\"Banner (Desktop)\\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"th\\\"],[12],[1,\\\"Banner (Mobile)\\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"th\\\"],[12],[1,\\\"Icon\\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"th\\\"],[12],[1,\\\"Accent Color\\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"th\\\"],[12],[1,\\\"Position\\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"th\\\"],[12],[1,\\\"Target URL\\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"th\\\"],[12],[1,\\\"Active Window\\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"th\\\"],[12],[1,\\\"Created\\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,17],[[28,[37,17],[[30,0,[\\\"banners\\\"]]],null]],null],null,[[[1,\\\"        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"banner_image_url\\\"]],[[[1,\\\"            \\\"],[10,3],[15,6,[30,2,[\\\"banner_image_url\\\"]]],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"img\\\"],[14,0,\\\"ig-thumb ig-thumb--desktop\\\"],[15,\\\"src\\\",[30,2,[\\\"banner_image_url\\\"]]],[14,\\\"alt\\\",\\\"banner preview\\\"],[14,\\\"loading\\\",\\\"lazy\\\"],[14,\\\"decoding\\\",\\\"async\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"]],[]],[[[1,\\\" — \\\"]],[]]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"mobile_banner_image_url\\\"]],[[[1,\\\"            \\\"],[10,3],[15,6,[30,2,[\\\"mobile_banner_image_url\\\"]]],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"img\\\"],[14,0,\\\"ig-thumb ig-thumb--mobile\\\"],[15,\\\"src\\\",[30,2,[\\\"mobile_banner_image_url\\\"]]],[14,\\\"alt\\\",\\\"mobile banner preview\\\"],[14,\\\"loading\\\",\\\"lazy\\\"],[14,\\\"decoding\\\",\\\"async\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"]],[]],[[[1,\\\" — \\\"]],[]]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"icon_image_url\\\"]],[[[1,\\\"            \\\"],[10,3],[15,6,[30,2,[\\\"icon_image_url\\\"]]],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"img\\\"],[14,0,\\\"ig-thumb ig-thumb--icon\\\"],[15,\\\"src\\\",[30,2,[\\\"icon_image_url\\\"]]],[14,\\\"alt\\\",\\\"icon preview\\\"],[14,\\\"loading\\\",\\\"lazy\\\"],[14,\\\"decoding\\\",\\\"async\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"]],[]],[[[1,\\\" — \\\"]],[]]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"accent_color\\\"]],[[[1,\\\"            \\\"],[10,1],[14,0,\\\"ig-swatch\\\"],[15,5,[28,[37,22],[\\\"background:\\\",[30,2,[\\\"accent_color\\\"]],\\\";\\\"],null]],[15,\\\"title\\\",[30,2,[\\\"accent_color\\\"]]],[15,\\\"aria-label\\\",[28,[37,22],[\\\"Accent color \\\",[30,2,[\\\"accent_color\\\"]]],null]],[12],[13],[1,\\\"\\\\n            \\\"],[10,1],[14,0,\\\"mono\\\"],[12],[1,[30,2,[\\\"accent_color\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"            —\\\\n\\\"]],[]]],[1,\\\"          \\\"],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,\\\"td\\\"],[14,0,\\\"mono\\\"],[12],[1,[30,2,[\\\"position\\\"]]],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,\\\"td\\\"],[14,0,\\\"clip\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"target_url\\\"]],[[[1,\\\"            \\\"],[10,3],[15,6,[30,2,[\\\"target_url\\\"]]],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener\\\"],[12],[1,[30,2,[\\\"target_url\\\"]]],[13],[1,\\\"\\\\n            \\\"]],[]],[[[1,\\\" — \\\"]],[]]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,[52,[30,2,[\\\"active_from\\\"]],[30,2,[\\\"active_from\\\"]],\\\"—\\\"]],[1,\\\" – \\\"],[1,[52,[30,2,[\\\"active_to\\\"]],[30,2,[\\\"active_to\\\"]],\\\"—\\\"]],[13],[1,\\\"\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"created_at\\\"]]],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n            \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-outline\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,23],[[30,0,[\\\"beginEdit\\\"]],[30,2]],null]],null],[12],[1,\\\"Edit\\\"],[13],[1,\\\"\\\\n            \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-danger\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,23],[[30,0,[\\\"deleteBanner\\\"]],[30,2]],null]],null],[12],[1,\\\"Delete\\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"    \\\"],[10,2],[12],[1,\\\"No banners yet.\\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"deleteMessage\\\"]],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"ig-result success\\\"],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"ig-result-title\\\"],[12],[1,[30,0,[\\\"deleteMessage\\\"]]],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"deleteErrorMessage\\\"]],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"ig-alert danger\\\"],[12],[1,\\\"Error: \\\"],[1,[30,0,[\\\"deleteErrorMessage\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"@backRoute\\\",\\\"banner\\\"],false,[\\\"div\\\",\\\"did-insert\\\",\\\"h1\\\",\\\"if\\\",\\\"link-to\\\",\\\"form\\\",\\\"on\\\",\\\"label\\\",\\\"input\\\",\\\"button\\\",\\\"h2\\\",\\\"table\\\",\\\"thead\\\",\\\"tr\\\",\\\"th\\\",\\\"tbody\\\",\\\"each\\\",\\\"-track-array\\\",\\\"td\\\",\\\"a\\\",\\\"img\\\",\\\"span\\\",\\\"concat\\\",\\\"fn\\\",\\\"p\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/homepage-admin.hbs\",\n    \"isStrictMode\": false\n  });\n  class HomepageAdmin extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"banners\", [_tracking.tracked], function () {\n      return this.args.initialBanners ?? [];\n    }))();\n    #banners = (() => (dt7948.i(this, \"banners\"), void 0))(); // list + loading\n    static #_2 = (() => dt7948.g(this.prototype, \"loading\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loading = (() => (dt7948.i(this, \"loading\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"isSaving\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isSaving = (() => (dt7948.i(this, \"isSaving\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"bannerFile\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #bannerFile = (() => (dt7948.i(this, \"bannerFile\"), void 0))(); // form fields\n    static #_5 = (() => dt7948.g(this.prototype, \"mobileBannerFile\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #mobileBannerFile = (() => (dt7948.i(this, \"mobileBannerFile\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"iconFile\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #iconFile = (() => (dt7948.i(this, \"iconFile\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"accentColor\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #accentColor = (() => (dt7948.i(this, \"accentColor\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"targetUrl\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #targetUrl = (() => (dt7948.i(this, \"targetUrl\"), void 0))();\n    static #_9 = (() => dt7948.g(this.prototype, \"position\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #position = (() => (dt7948.i(this, \"position\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"activeFrom\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #activeFrom = (() => (dt7948.i(this, \"activeFrom\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"activeTo\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #activeTo = (() => (dt7948.i(this, \"activeTo\"), void 0))();\n    static #_12 = (() => dt7948.g(this.prototype, \"editingId\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #editingId = (() => (dt7948.i(this, \"editingId\"), void 0))();\n    static #_13 = (() => dt7948.g(this.prototype, \"saveMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #saveMessage = (() => (dt7948.i(this, \"saveMessage\"), void 0))(); // messages\n    static #_14 = (() => dt7948.g(this.prototype, \"errorMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #errorMessage = (() => (dt7948.i(this, \"errorMessage\"), void 0))();\n    static #_15 = (() => dt7948.g(this.prototype, \"deleteMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #deleteMessage = (() => (dt7948.i(this, \"deleteMessage\"), void 0))();\n    static #_16 = (() => dt7948.g(this.prototype, \"deleteErrorMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #deleteErrorMessage = (() => (dt7948.i(this, \"deleteErrorMessage\"), void 0))();\n    onInsert() {\n      if (typeof this.args.initialBanners === \"undefined\") {\n        this.loadBanners();\n      }\n    }\n    static #_17 = (() => dt7948.n(this.prototype, \"onInsert\", [_object.action]))();\n    toEpochSecondsLocal(dtStr) {\n      if (!dtStr) return null;\n      const d = new Date(dtStr);\n      return Number.isNaN(d.getTime()) ? null : Math.floor(d.getTime() / 1000);\n    }\n    epochToLocalInput(epoch) {\n      if (!epoch) return \"\";\n      const d = new Date(parseFloat(epoch) * 1000);\n      const pad = n => String(n).padStart(2, \"0\");\n      const y = d.getFullYear();\n      const m = pad(d.getMonth() + 1);\n      const day = pad(d.getDate());\n      const h = pad(d.getHours());\n      const min = pad(d.getMinutes());\n      return `${y}-${m}-${day}T${h}:${min}`;\n    }\n    formatToMonthDayYear(date) {\n      const mm = String(date.getMonth() + 1).padStart(2, \"0\");\n      const dd = String(date.getDate()).padStart(2, \"0\");\n      const yyyy = date.getFullYear();\n      return `${mm}/${dd}/${yyyy}`;\n    }\n    clearFileInput(id) {\n      const el = document.getElementById(id);\n      if (el) el.value = \"\";\n    }\n    async loadBanners() {\n      this.loading = true;\n      this.deleteMessage = \"\";\n      this.deleteErrorMessage = \"\";\n      try {\n        const resp = await (0, _ajax.ajax)(\"/cp_banners\", {\n          type: \"GET\"\n        });\n        this.banners = (resp?.banners || []).map(b => {\n          const afEpoch = b.active_from || null;\n          const atEpoch = b.active_to || null;\n          const crEpoch = b.created_at || null;\n          const activeFromDate = afEpoch ? new Date(parseFloat(afEpoch) * 1000) : null;\n          const activeToDate = atEpoch ? new Date(parseFloat(atEpoch) * 1000) : null;\n          const createdAtDate = crEpoch ? new Date(parseFloat(crEpoch) * 1000) : null;\n          return {\n            ...b,\n            active_from_raw: afEpoch,\n            active_to_raw: atEpoch,\n            created_at_raw: crEpoch,\n            position: b.position == null ? \"\" : parseInt(b.position, 10),\n            active_from: activeFromDate ? this.formatToMonthDayYear(activeFromDate) : \"—\",\n            active_to: activeToDate ? this.formatToMonthDayYear(activeToDate) : \"—\",\n            created_at: createdAtDate ? this.formatToMonthDayYear(createdAtDate) : \"—\"\n          };\n        });\n      } catch (e) {\n        this.deleteErrorMessage = e?.jqXHR?.responseJSON?.error || e?.message || \"Failed to load banners\";\n      } finally {\n        this.loading = false;\n      }\n    }\n    static #_18 = (() => dt7948.n(this.prototype, \"loadBanners\", [_object.action]))();\n    handleBannerFileChange(e) {\n      this.bannerFile = e.target.files?.[0] || null;\n    }\n    static #_19 = (() => dt7948.n(this.prototype, \"handleBannerFileChange\", [_object.action]))();\n    handleMobileBannerFileChange(e) {\n      this.mobileBannerFile = e.target.files?.[0] || null;\n    }\n    static #_20 = (() => dt7948.n(this.prototype, \"handleMobileBannerFileChange\", [_object.action]))();\n    handleIconFileChange(e) {\n      this.iconFile = e.target.files?.[0] || null;\n    }\n    static #_21 = (() => dt7948.n(this.prototype, \"handleIconFileChange\", [_object.action]))();\n    beginEdit(banner) {\n      this.saveMessage = \"\";\n      this.errorMessage = \"\";\n      this.editingId = banner?.id || null;\n      this.targetUrl = banner?.target_url || \"\";\n      this.position = banner?.position == null ? \"\" : String(Math.trunc(Number(banner.position)));\n      this.accentColor = banner?.accent_color || \"\";\n      this.activeFrom = this.epochToLocalInput(banner?.active_from_raw);\n      this.activeTo = this.epochToLocalInput(banner?.active_to_raw);\n      this.bannerFile = this.mobileBannerFile = this.iconFile = null;\n      this.clearFileInput(\"ad-banner-file-input\");\n      this.clearFileInput(\"ad-mobile-banner-file-input\");\n      this.clearFileInput(\"ad-icon-file-input\");\n      document.querySelector(\".ig-admin-card\")?.scrollIntoView({\n        behavior: \"smooth\"\n      });\n    }\n    static #_22 = (() => dt7948.n(this.prototype, \"beginEdit\", [_object.action]))();\n    cancelEdit() {\n      this.editingId = null;\n      this.saveMessage = \"\";\n      this.errorMessage = \"\";\n      this.bannerFile = this.mobileBannerFile = this.iconFile = null;\n      this.targetUrl = this.position = this.activeFrom = this.activeTo = this.accentColor = \"\";\n      this.clearFileInput(\"ad-banner-file-input\");\n      this.clearFileInput(\"ad-mobile-banner-file-input\");\n      this.clearFileInput(\"ad-icon-file-input\");\n    }\n    static #_23 = (() => dt7948.n(this.prototype, \"cancelEdit\", [_object.action]))();\n    async saveHomepageSettings(e) {\n      e?.preventDefault?.();\n      this.saveMessage = \"\";\n      this.errorMessage = \"\";\n      const isEdit = !!this.editingId;\n      if (!isEdit) {\n        if (!this.bannerFile) return this.errorMessage = \"Please choose a banner image file.\";\n        if (!this.mobileBannerFile) return this.errorMessage = \"Please choose a mobile banner image file.\";\n        if (!this.iconFile) return this.errorMessage = \"Please choose an icon image file.\";\n        if (!this.targetUrl) return this.errorMessage = \"Please provide a target URL.\";\n        if (!this.activeFrom) return this.errorMessage = \"Please provide an active from value.\";\n        if (!this.activeTo) return this.errorMessage = \"Please provide an active to value.\";\n      }\n      if (this.position) {\n        const n = parseInt(this.position, 10);\n        if (Number.isNaN(n) || n < 1 || n > 5) {\n          return this.errorMessage = \"Position must be a number between 1 and 5.\";\n        }\n      }\n      const form = new FormData();\n      if (this.bannerFile) form.append(\"bannerFile\", this.bannerFile);\n      if (this.mobileBannerFile) form.append(\"mobileBannerFile\", this.mobileBannerFile);\n      if (this.iconFile) form.append(\"iconFile\", this.iconFile);\n      if (this.targetUrl) form.append(\"targetUrl\", this.targetUrl);\n      if (this.position) form.append(\"position\", this.position);\n      if (this.accentColor) form.append(\"accentColor\", this.accentColor);\n      const fromEpoch = this.toEpochSecondsLocal(this.activeFrom);\n      const toEpoch = this.toEpochSecondsLocal(this.activeTo);\n      if (fromEpoch) form.append(\"activeFrom\", String(fromEpoch));\n      if (toEpoch) form.append(\"activeTo\", String(toEpoch));\n      this.isSaving = true;\n      try {\n        let resp;\n        if (isEdit) {\n          resp = await (0, _ajax.ajax)(`/cp_banners/${encodeURIComponent(this.editingId)}`, {\n            type: \"PUT\",\n            data: form,\n            processData: false,\n            contentType: false\n          });\n        } else {\n          resp = await (0, _ajax.ajax)(\"/cp_banners\", {\n            type: \"POST\",\n            data: form,\n            processData: false,\n            contentType: false\n          });\n        }\n        if (resp?.success) {\n          await this.loadBanners();\n          this.saveMessage = isEdit ? \"Banner updated!\" : \"Banner created!\";\n          this.cancelEdit();\n        } else {\n          this.errorMessage = resp?.error || (isEdit ? \"Failed to update banner\" : \"Failed to create banner\");\n        }\n      } catch (e2) {\n        this.errorMessage = e2?.jqXHR?.responseJSON?.error || e2?.message || (isEdit ? \"Failed to update banner\" : \"Failed to create banner\");\n      } finally {\n        this.isSaving = false;\n      }\n    }\n    static #_24 = (() => dt7948.n(this.prototype, \"saveHomepageSettings\", [_object.action]))();\n    async deleteBanner(banner) {\n      this.deleteMessage = \"\";\n      this.deleteErrorMessage = \"\";\n      if (!banner?.id) return;\n      if (!confirm(\"Delete this banner?\")) return;\n      try {\n        await (0, _ajax.ajax)(`/cp_banners/${encodeURIComponent(banner.id)}`, {\n          type: \"DELETE\"\n        });\n        await this.loadBanners();\n        this.deleteMessage = \"Banner deleted!\";\n      } catch (e) {\n        this.deleteErrorMessage = e?.jqXHR?.responseJSON?.error || e?.message || \"Failed to delete banner\";\n      }\n    }\n    static #_25 = (() => dt7948.n(this.prototype, \"deleteBanner\", [_object.action]))();\n  }\n  _exports.default = HomepageAdmin;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, HomepageAdmin);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/homepage\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/helper\", \"@ember/template-factory\"], function (_exports, _component, _component2, _helper, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container\">\n    <main class=\"cp-main\">\n      {{#if @banners.length}}\n      <BannerRotator @banners={{@banners}} @intervalMs={{6000}} @showWelcome={{not @isLoggedIn}} />\n      {{/if}}\n  \n      <div class=\"homepage-content-container\">\n        <section class=\"homepage-panel\">\n          <header class=\"panel__heading\">\n            <h3>Stay Wired IN</h3>\n            <span class=\"panel__sub\">- See what’s coming</span>\n          </header>\n          <hr>\n          {{#if @upcomingEvents.length}}\n          <ul class=\"panel-list panel-list--dates\">\n            {{#each @upcomingEvents as |e|}}\n            <li>\n              <time>{{this.mmdd e.upcoming_at}}</time>\n              {{#if e.url}}\n              <a href={{e.url}} rel=\"noopener\" target=\"_blank\">{{e.message}}</a>\n              {{else}}\n              {{e.message}}\n              {{/if}}\n            </li>\n            {{/each}}\n          </ul>\n          {{else}}\n          <p class=\"panel-empty\">No upcoming events.</p>\n          {{/if}}\n        </section>\n  \n        <div class=\"homepage-img-container\">\n          <div class=\"img-ratio\">\n            <CpAd @ad={{@ad}} />\n          </div>\n        </div>\n  \n        <section class=\"homepage-panel\">\n          <header class=\"panel__heading\">\n            <h3>Latest News</h3>\n          </header>\n          <hr>\n  \n          {{#if @latestTopics}}\n          <ul class=\"panel-list panel-list--dates\">\n            {{#each @latestTopics as |t|}}\n            <li>\n              <time>{{this.mmdd t.created_at}}</time>\n              <a href={{concat \"/blog-news/\" t.id }}>\n                {{or t.unicode_title t.fancy_title t.title}}\n              </a>\n            </li>\n            {{/each}}\n          </ul>\n          {{else}}\n          <p class=\"panel-empty\">No News posts yet.</p>\n          {{/if}}\n        </section>\n      </div>\n    </main>\n  \n  </div>\n  */\n  {\n    \"id\": \"jEoxQQyO\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container\\\"],[12],[1,\\\"\\\\n  \\\"],[10,\\\"main\\\"],[14,0,\\\"cp-main\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"length\\\"]],[[[1,\\\"    \\\"],[8,[39,3],null,[[\\\"@banners\\\",\\\"@intervalMs\\\",\\\"@showWelcome\\\"],[[30,1],6000,[28,[37,4],[[30,2]],null]]],null],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"homepage-content-container\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"section\\\"],[14,0,\\\"homepage-panel\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"header\\\"],[14,0,\\\"panel__heading\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"h3\\\"],[12],[1,\\\"Stay Wired IN\\\"],[13],[1,\\\"\\\\n          \\\"],[10,1],[14,0,\\\"panel__sub\\\"],[12],[1,\\\"- See what’s coming\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"hr\\\"],[12],[13],[1,\\\"\\\\n\\\"],[41,[30,3,[\\\"length\\\"]],[[[1,\\\"        \\\"],[10,\\\"ul\\\"],[14,0,\\\"panel-list panel-list--dates\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,12],[[28,[37,12],[[30,3]],null]],null],null,[[[1,\\\"          \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"time\\\"],[12],[1,[28,[30,0,[\\\"mmdd\\\"]],[[30,4,[\\\"upcoming_at\\\"]]],null]],[13],[1,\\\"\\\\n\\\"],[41,[30,4,[\\\"url\\\"]],[[[1,\\\"            \\\"],[10,3],[15,6,[30,4,[\\\"url\\\"]]],[14,\\\"rel\\\",\\\"noopener\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,[30,4,[\\\"message\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"            \\\"],[1,[30,4,[\\\"message\\\"]]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"          \\\"],[13],[1,\\\"\\\\n\\\"]],[4]],null],[1,\\\"        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"        \\\"],[10,2],[14,0,\\\"panel-empty\\\"],[12],[1,\\\"No upcoming events.\\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"homepage-img-container\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"img-ratio\\\"],[12],[1,\\\"\\\\n          \\\"],[8,[39,17],null,[[\\\"@ad\\\"],[[30,5]]],null],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,\\\"section\\\"],[14,0,\\\"homepage-panel\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"header\\\"],[14,0,\\\"panel__heading\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"h3\\\"],[12],[1,\\\"Latest News\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"hr\\\"],[12],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,6],[[[1,\\\"        \\\"],[10,\\\"ul\\\"],[14,0,\\\"panel-list panel-list--dates\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,12],[[28,[37,12],[[30,6]],null]],null],null,[[[1,\\\"          \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"time\\\"],[12],[1,[28,[30,0,[\\\"mmdd\\\"]],[[30,7,[\\\"created_at\\\"]]],null]],[13],[1,\\\"\\\\n            \\\"],[10,3],[15,6,[28,[37,18],[\\\"/blog-news/\\\",[30,7,[\\\"id\\\"]]],null]],[12],[1,\\\"\\\\n              \\\"],[1,[28,[35,19],[[30,7,[\\\"unicode_title\\\"]],[30,7,[\\\"fancy_title\\\"]],[30,7,[\\\"title\\\"]]],null]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\"]],[7]],null],[1,\\\"        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"        \\\"],[10,2],[14,0,\\\"panel-empty\\\"],[12],[1,\\\"No News posts yet.\\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[13]],[\\\"@banners\\\",\\\"@isLoggedIn\\\",\\\"@upcomingEvents\\\",\\\"e\\\",\\\"@ad\\\",\\\"@latestTopics\\\",\\\"t\\\"],false,[\\\"div\\\",\\\"main\\\",\\\"if\\\",\\\"banner-rotator\\\",\\\"not\\\",\\\"section\\\",\\\"header\\\",\\\"h3\\\",\\\"span\\\",\\\"hr\\\",\\\"ul\\\",\\\"each\\\",\\\"-track-array\\\",\\\"li\\\",\\\"time\\\",\\\"a\\\",\\\"p\\\",\\\"cp-ad\\\",\\\"concat\\\",\\\"or\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/homepage.hbs\",\n    \"isStrictMode\": false\n  });\n  class Homepage extends _component2.default {\n    mmdd = epoch => {\n      if (epoch == null) return \"\";\n      const n = Math.floor(Number(epoch));\n      if (!Number.isFinite(n)) return \"\";\n      const d = new Date(n * 1000);\n      const mm = String(d.getMonth() + 1).padStart(2, \"0\");\n      const dd = String(d.getDate()).padStart(2, \"0\");\n      return `${mm}.${dd}`;\n    };\n  }\n  _exports.default = Homepage;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, Homepage);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/manage-blog-admin\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/service\", \"@glimmer/tracking\", \"@ember/object\", \"discourse/lib/ajax\", \"discourse/plugins/discourse-plugin-content-platform/discourse/lib/date-time-formatter\", \"discourse-common/lib/get-url\", \"@ember/template-factory\"], function (_exports, _component, _component2, _service, _tracking, _object, _ajax, _dateTimeFormatter, _getUrl, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"ig-admin-card-head\" {{did-insert this.onInsert}}>\n      <h1>Manage Blog</h1>\n      {{#if @backRoute}}\n          <LinkTo @route={{@backRoute}} class=\"btn btn-secondary igames-admin-button\">\n              Back to Settings\n          </LinkTo>\n      {{/if}}\n  </div>\n  \n  {{!-- Clear Blog Index Cache --}}\n  <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n          <h2>Clear Blog Index Cache</h2>\n          <p class=\"muted\">\n          Clear the cached list of blog posts for the main landing page.<br>Note: Cache is cleared automatically whenever a blog post is created, updated, or deleted.\n          </p>\n      </div>\n  \n      <div class=\"ig-actions\">\n          <button type=\"button\" class=\"btn btn-secondary\" {{on \"click\" this.clearBlogIndexCache}} disabled={{this.clearingCache}}>\n          {{if this.clearingCache \"Clearing...\" \"Clear Cache\"}}\n          </button>\n      </div>\n  </div>\n  \n  <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n      <h2>Recent Posts</h2>\n      <button type=\"button\" {{on \"click\" this.getAllPosts}} disabled={{this.loading}} class=\"btn btn-secondary\">\n          {{if this.loading \"Refreshing...\" \"Refresh\"}}\n      </button>\n      </div>\n  \n      {{#if this.loading}}\n          <div class=\"spinner\" aria-hidden=\"true\"></div>\n      {{else}}\n          {{#if this.allPosts.length}}\n              <table class=\"ig-table manage-post-table\">\n              <thead>\n                  <tr class=\"centered-row\">\n                      <th class=\"wrap centered-cell\">Header Image (Desktop)</th>\n                      <th class=\"wrap centered-cell\">Header Image (Mobile)</th>\n                      <th>Title</th>\n                      <th>Slug</th>\n                      <th>Tags</th>\n                      <th class=\"wrap centered-cell\">Created At</th>\n                      <th class=\"wrap centered-cell\">Featured Position</th>\n                      <th></th>\n                  </tr>\n              </thead>\n  \n              <tbody>\n                  {{#each this.allPosts as |post|}}\n                  <tr data-post-id=\"{{post.id}}\" class=\"centered-row\">\n                      <td>\n                          {{#if post.desktopHeaderImg}}\n                          <a href={{post.desktopHeaderImg}} target=\"_blank\" rel=\"noopener\">\n                              <img class=\"ig-thumb ig-thumb--desktop\" src={{post.desktopHeaderImg}} alt=\"header image preview\"\n                                  loading=\"lazy\" decoding=\"async\">\n                          </a>\n                          {{else}} — {{/if}}\n                      </td>\n  \n                      <td>\n                          {{#if post.mobileHeaderImg}}\n                          <a href={{post.mobileHeaderImg}} target=\"_blank\" rel=\"noopener\">\n                              <img class=\"ig-thumb ig-thumb--square\" src={{post.mobileHeaderImg}} alt=\"mobile header image preview\"\n                                  loading=\"lazy\" decoding=\"async\">\n                          </a>\n                          {{else}} — {{/if}}\n                      </td>\n  \n                      <td>\n                          {{#if post.title}}\n                              <p>{{post.title}}</p>\n                          {{else}} — {{/if}}\n                      </td>\n  \n                      <td>\n                          {{#if post.slug}}\n                              <p>{{post.slug}}</p>\n                          {{else}} — {{/if}}\n                      </td>\n  \n                      <td class=\"wrap\">\n                          {{#if post.tags}}\n                              <p>{{post.tags}}</p>\n                          {{else}} — {{/if}}\n                      </td>\n  \n                      <td>\n                          {{#if post.createdAt}}\n                              <p>{{this.formatCreatedAtDate post.createdAt}}</p>\n                          {{else}} — {{/if}}\n                      </td>\n  \n                      <td>\n                              <select id=\"featured-select-{{post.id}}\" name=\"featuredPositionSelector\" class=\"ig-featured-selector wrap\" {{on \"change\" (fn this.handleFeaturedChange post)}}>\n                              <option value=\"false\" selected={{eq post.featured 0}}>Not Featured</option>\n                              <option value=\"1\" selected={{eq post.featured 1}}>1</option>\n                              <option value=\"2\" selected={{eq post.featured 2}}>2</option>\n                              <option value=\"3\" selected={{eq post.featured 3}}>3</option>\n                              <option value=\"4\" selected={{eq post.featured 4}}>4</option>\n                              <option value=\"5\" selected={{eq post.featured 5}}>5</option>\n                              <option value=\"6\" selected={{eq post.featured 6}}>6</option>\n                              <option value=\"7\" selected={{eq post.featured 7}}>7</option>\n                              <option value=\"8\" selected={{eq post.featured 8}}>8</option>\n                              <option value=\"9\" selected={{eq post.featured 9}}>9</option>\n                              <option value=\"10\" selected={{eq post.featured 10}}>10</option>\n                          </select>\n                      </td>\n  \n                      <td class=\"wrap centered-cell\">\n                          <LinkTo @route=\"blog-post\" @model={{post.slug}} type=\"button\" class=\"btn btn-outline\" style=\"margin-bottom: 5px;\">View</LinkTo>\n                          <button type=\"button\" class=\"btn btn-danger\" {{on \"click\" (fn this.deletePost post.id)}}>Delete</button>\n                      </td>\n                  </tr>\n                  {{/each}}\n              </tbody>\n              </table>\n          {{else}}\n              <p>No posts yet.</p>\n          {{/if}}\n      {{/if}}\n  </div>\n  \n  */\n  {\n    \"id\": \"jIVF3bDe\",\n    \"block\": \"[[[11,0],[24,0,\\\"ig-admin-card-head\\\"],[4,[38,1],[[30,0,[\\\"onInsert\\\"]]],null],[12],[1,\\\"\\\\n    \\\"],[10,\\\"h1\\\"],[12],[1,\\\"Manage Blog\\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\"        \\\"],[8,[39,4],[[24,0,\\\"btn btn-secondary igames-admin-button\\\"]],[[\\\"@route\\\"],[[30,1]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n            Back to Settings\\\\n        \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[13],[1,\\\"\\\\n\\\\n\\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"h2\\\"],[12],[1,\\\"Clear Blog Index Cache\\\"],[13],[1,\\\"\\\\n        \\\"],[10,2],[14,0,\\\"muted\\\"],[12],[1,\\\"\\\\n        Clear the cached list of blog posts for the main landing page.\\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"Note: Cache is cleared automatically whenever a blog post is created, updated, or deleted.\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[30,0,[\\\"clearingCache\\\"]]],[24,4,\\\"button\\\"],[4,[38,9],[\\\"click\\\",[30,0,[\\\"clearBlogIndexCache\\\"]]],null],[12],[1,\\\"\\\\n        \\\"],[1,[52,[30,0,[\\\"clearingCache\\\"]],\\\"Clearing...\\\",\\\"Clear Cache\\\"]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"h2\\\"],[12],[1,\\\"Recent Posts\\\"],[13],[1,\\\"\\\\n    \\\"],[11,\\\"button\\\"],[16,\\\"disabled\\\",[30,0,[\\\"loading\\\"]]],[24,0,\\\"btn btn-secondary\\\"],[24,4,\\\"button\\\"],[4,[38,9],[\\\"click\\\",[30,0,[\\\"getAllPosts\\\"]]],null],[12],[1,\\\"\\\\n        \\\"],[1,[52,[30,0,[\\\"loading\\\"]],\\\"Refreshing...\\\",\\\"Refresh\\\"]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"loading\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"spinner\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"allPosts\\\",\\\"length\\\"]],[[[1,\\\"            \\\"],[10,\\\"table\\\"],[14,0,\\\"ig-table manage-post-table\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"tr\\\"],[14,0,\\\"centered-row\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[14,0,\\\"wrap centered-cell\\\"],[12],[1,\\\"Header Image (Desktop)\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[14,0,\\\"wrap centered-cell\\\"],[12],[1,\\\"Header Image (Mobile)\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Title\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Slug\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Tags\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[14,0,\\\"wrap centered-cell\\\"],[12],[1,\\\"Created At\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[14,0,\\\"wrap centered-cell\\\"],[12],[1,\\\"Featured Position\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,16],[[28,[37,16],[[30,0,[\\\"allPosts\\\"]]],null]],null],null,[[[1,\\\"                \\\"],[10,\\\"tr\\\"],[15,\\\"data-post-id\\\",[29,[[30,2,[\\\"id\\\"]]]]],[14,0,\\\"centered-row\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"desktopHeaderImg\\\"]],[[[1,\\\"                        \\\"],[10,3],[15,6,[30,2,[\\\"desktopHeaderImg\\\"]]],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"img\\\"],[14,0,\\\"ig-thumb ig-thumb--desktop\\\"],[15,\\\"src\\\",[30,2,[\\\"desktopHeaderImg\\\"]]],[14,\\\"alt\\\",\\\"header image preview\\\"],[14,\\\"loading\\\",\\\"lazy\\\"],[14,\\\"decoding\\\",\\\"async\\\"],[12],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"]],[]],[[[1,\\\" — \\\"]],[]]],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"mobileHeaderImg\\\"]],[[[1,\\\"                        \\\"],[10,3],[15,6,[30,2,[\\\"mobileHeaderImg\\\"]]],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"img\\\"],[14,0,\\\"ig-thumb ig-thumb--square\\\"],[15,\\\"src\\\",[30,2,[\\\"mobileHeaderImg\\\"]]],[14,\\\"alt\\\",\\\"mobile header image preview\\\"],[14,\\\"loading\\\",\\\"lazy\\\"],[14,\\\"decoding\\\",\\\"async\\\"],[12],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"]],[]],[[[1,\\\" — \\\"]],[]]],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"title\\\"]],[[[1,\\\"                            \\\"],[10,2],[12],[1,[30,2,[\\\"title\\\"]]],[13],[1,\\\"\\\\n                        \\\"]],[]],[[[1,\\\" — \\\"]],[]]],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"slug\\\"]],[[[1,\\\"                            \\\"],[10,2],[12],[1,[30,2,[\\\"slug\\\"]]],[13],[1,\\\"\\\\n                        \\\"]],[]],[[[1,\\\" — \\\"]],[]]],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"td\\\"],[14,0,\\\"wrap\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"tags\\\"]],[[[1,\\\"                            \\\"],[10,2],[12],[1,[30,2,[\\\"tags\\\"]]],[13],[1,\\\"\\\\n                        \\\"]],[]],[[[1,\\\" — \\\"]],[]]],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"createdAt\\\"]],[[[1,\\\"                            \\\"],[10,2],[12],[1,[28,[30,0,[\\\"formatCreatedAtDate\\\"]],[[30,2,[\\\"createdAt\\\"]]],null]],[13],[1,\\\"\\\\n                        \\\"]],[]],[[[1,\\\" — \\\"]],[]]],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                            \\\"],[11,\\\"select\\\"],[16,1,[29,[\\\"featured-select-\\\",[30,2,[\\\"id\\\"]]]]],[24,3,\\\"featuredPositionSelector\\\"],[24,0,\\\"ig-featured-selector wrap\\\"],[4,[38,9],[\\\"change\\\",[28,[37,21],[[30,0,[\\\"handleFeaturedChange\\\"]],[30,2]],null]],null],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"option\\\"],[14,2,\\\"false\\\"],[15,\\\"selected\\\",[28,[37,23],[[30,2,[\\\"featured\\\"]],0],null]],[12],[1,\\\"Not Featured\\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"option\\\"],[14,2,\\\"1\\\"],[15,\\\"selected\\\",[28,[37,23],[[30,2,[\\\"featured\\\"]],1],null]],[12],[1,\\\"1\\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"option\\\"],[14,2,\\\"2\\\"],[15,\\\"selected\\\",[28,[37,23],[[30,2,[\\\"featured\\\"]],2],null]],[12],[1,\\\"2\\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"option\\\"],[14,2,\\\"3\\\"],[15,\\\"selected\\\",[28,[37,23],[[30,2,[\\\"featured\\\"]],3],null]],[12],[1,\\\"3\\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"option\\\"],[14,2,\\\"4\\\"],[15,\\\"selected\\\",[28,[37,23],[[30,2,[\\\"featured\\\"]],4],null]],[12],[1,\\\"4\\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"option\\\"],[14,2,\\\"5\\\"],[15,\\\"selected\\\",[28,[37,23],[[30,2,[\\\"featured\\\"]],5],null]],[12],[1,\\\"5\\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"option\\\"],[14,2,\\\"6\\\"],[15,\\\"selected\\\",[28,[37,23],[[30,2,[\\\"featured\\\"]],6],null]],[12],[1,\\\"6\\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"option\\\"],[14,2,\\\"7\\\"],[15,\\\"selected\\\",[28,[37,23],[[30,2,[\\\"featured\\\"]],7],null]],[12],[1,\\\"7\\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"option\\\"],[14,2,\\\"8\\\"],[15,\\\"selected\\\",[28,[37,23],[[30,2,[\\\"featured\\\"]],8],null]],[12],[1,\\\"8\\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"option\\\"],[14,2,\\\"9\\\"],[15,\\\"selected\\\",[28,[37,23],[[30,2,[\\\"featured\\\"]],9],null]],[12],[1,\\\"9\\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"option\\\"],[14,2,\\\"10\\\"],[15,\\\"selected\\\",[28,[37,23],[[30,2,[\\\"featured\\\"]],10],null]],[12],[1,\\\"10\\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"td\\\"],[14,0,\\\"wrap centered-cell\\\"],[12],[1,\\\"\\\\n                        \\\"],[8,[39,4],[[24,0,\\\"btn btn-outline\\\"],[24,5,\\\"margin-bottom: 5px;\\\"],[24,4,\\\"button\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"blog-post\\\",[30,2,[\\\"slug\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"View\\\"]],[]]]]],[1,\\\"\\\\n                        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-danger\\\"],[24,4,\\\"button\\\"],[4,[38,9],[\\\"click\\\",[28,[37,21],[[30,0,[\\\"deletePost\\\"]],[30,2,[\\\"id\\\"]]],null]],null],[12],[1,\\\"Delete\\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"            \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"            \\\"],[10,2],[12],[1,\\\"No posts yet.\\\"],[13],[1,\\\"\\\\n\\\"]],[]]]],[]]],[13],[1,\\\"\\\\n\\\"]],[\\\"@backRoute\\\",\\\"post\\\"],false,[\\\"div\\\",\\\"did-insert\\\",\\\"h1\\\",\\\"if\\\",\\\"link-to\\\",\\\"h2\\\",\\\"p\\\",\\\"br\\\",\\\"button\\\",\\\"on\\\",\\\"table\\\",\\\"thead\\\",\\\"tr\\\",\\\"th\\\",\\\"tbody\\\",\\\"each\\\",\\\"-track-array\\\",\\\"td\\\",\\\"a\\\",\\\"img\\\",\\\"select\\\",\\\"fn\\\",\\\"option\\\",\\\"eq\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/manage-blog-admin.hbs\",\n    \"isStrictMode\": false\n  });\n  class ManageBlogAdmin extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"toast\", [_service.service]))();\n    #toast = (() => (dt7948.i(this, \"toast\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"allPosts\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #allPosts = (() => (dt7948.i(this, \"allPosts\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"loading\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loading = (() => (dt7948.i(this, \"loading\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"clearingCache\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #clearingCache = (() => (dt7948.i(this, \"clearingCache\"), void 0))();\n    constructor() {\n      super(...arguments);\n      if (this.args.initialPosts) {\n        this.allPosts = this.args.initialPosts;\n      }\n    }\n    formatCreatedAtDate(rawCreatedAtDate) {\n      return (0, _dateTimeFormatter.formatDate)(new Date(rawCreatedAtDate * 1000), \"/\");\n    }\n\n    // If the route didn't pass initialPosts, fetch once on mount\n    onInsert() {\n      if (typeof this.args.initialPosts === \"undefined\") {\n        this.getAllPosts();\n      }\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"onInsert\", [_object.action]))();\n    async getAllPosts() {\n      this.loading = true;\n      try {\n        const resp = await (0, _ajax.ajax)((0, _getUrl.default)(\"/blog-news\"));\n        this.allPosts = resp.posts.items;\n      } catch (e) {\n        console.log(\"Error while retrieving posts:\", e);\n      }\n      this.loading = false;\n    }\n    static #_7 = (() => dt7948.n(this.prototype, \"getAllPosts\", [_object.action]))();\n    async deletePost(postId) {\n      if (!this.currentUser?.admin || !postId) return;\n      if (!confirm(\"Delete this post? This cannot be undone.\")) return;\n      try {\n        await (0, _ajax.ajax)(`/cp_blog/posts/${encodeURIComponent(postId)}`, {\n          type: \"DELETE\"\n        });\n        $(`tr[data-post-id='${postId}'`).remove();\n        this.toast?.success?.(\"Post deleted.\");\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(\"Delete post failed\", e);\n        this.toast?.error?.(e.message);\n      }\n    }\n    static #_8 = (() => dt7948.n(this.prototype, \"deletePost\", [_object.action]))();\n    async handleFeaturedChange(post, event) {\n      const newPos = event.target.value;\n      try {\n        const payload = {\n          featured: newPos,\n          title: post.title,\n          subtitle: post.subtitle,\n          content: post.content,\n          blurb: post.blurb,\n          tags: post.tags,\n          desktopHeaderImg: post.desktopHeaderImg,\n          mobileHeaderImg: post.mobileHeaderImg,\n          thumbnailImg: post.thumbnailImg\n        };\n        await (0, _ajax.ajax)(`/cp_blog/posts/${encodeURIComponent(post.id)}`, {\n          type: \"PUT\",\n          data: payload\n        });\n        this.toast?.success?.(`Featured position updated to ${newPos}`);\n      } catch (e) {\n        console.error(\"Featured position update failed\", e);\n        this.toast?.error?.(`Failed to update featured position: ${e.message}`);\n      }\n    }\n    static #_9 = (() => dt7948.n(this.prototype, \"handleFeaturedChange\", [_object.action]))();\n    async clearBlogIndexCache() {\n      try {\n        this.clearingCache = true;\n        await (0, _ajax.ajax)(\"/clear-cache/blog\", {\n          type: \"GET\"\n        });\n        this.toast?.success?.(\"Blog cache successfully cleared!\");\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(\"Blog cache clear failed\", e);\n        this.toast?.error?.(e.message);\n      } finally {\n        this.clearingCache = false;\n      }\n    }\n    static #_10 = (() => dt7948.n(this.prototype, \"clearBlogIndexCache\", [_object.action]))();\n  }\n  _exports.default = ManageBlogAdmin;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, ManageBlogAdmin);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/quick-admin-tool\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"@ember/service\", \"discourse/lib/ajax\", \"discourse/plugins/discourse-plugin-content-platform/discourse/lib/date-time-formatter\", \"discourse/models/user\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _service, _ajax, _dateTimeFormatter, _user, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div id=\"quick-admin-tool\" ...attributes>\n      <h1>Quick Admin Tool</h1>\n      <div class=\"qat-search\">\n          <UserChooser\n              @id=\"qat-user-search\"\n              @value={{this.selectedUser.username}}\n              @onChange={{this.onChangeSearchTermForUsername}}\n              @options={{hash\n                      headerAriaLabel=(i18n \"Select a user\")\n                      maximum=1\n                      excludeCurrentUser=false\n                      translatedFilterPlaceholder=\"Search by username...\"\n                      allowClear=true\n                      }}\n          />\n      </div>\n  \n      {{#if this.selectedUser}}\n          <div id=\"qat-main\">\n              <div class=\"qat-user-info\">\n                  <div class=\"qat-avatar\">{{avatar this.selectedUser imageSize=152}}</div>\n                  <div class=\"qat-username\">{{this.selectedUser.username}}</div>\n                  <div class=\"qat-join-date\">Joined: {{this.formatDateForOverview this.selectedUser.created_at}}</div>\n                  <div class=\"qat-user-label\">{{this.selectedLabel}}</div>\n              </div>\n              <div class=\"qat-divider\"></div>\n              <div class=\"qat-actions\">\n                  <div class=\"qat-top-container\">\n                      <div class=\"labels-stats-container\">\n                          <!-- Add/Remove Labels -->\n                          <select {{select2 options=this.select2Options}} {{did-insert this.registerSelectListener}} {{will-destroy this.unregisterSelectListener}}>\n                              <option value=\"\"></option>\n                              {{#each this.userLabels as |label|}}\n                                  <option value={{label}} selected={{eq this.selectedLabel label}}>{{label}}</option>\n                              {{/each}}\n                          </select>\n  \n                          <!-- Add/Remove Stats -->\n                      </div>\n                      <div class=\"timeout-container\">\n                          {{d-icon \"far-clock\"}}\n                          <span>Timeout User</span>\n                      </div>\n                  </div>\n                  <div class=\"qat-bottom-container notes-container\">\n                      <span class=\"qat-notes-header\">\n                          <span class=\"qat-notes-header-label\">Notes</span>\n                          <button class=\"qat-add-note\" title=\"Create new note\" {{on \"click\" this.openNoteEditorNew}}>\n                              <span class=\"qat-add-note-plus\">{{d-icon \"plus\"}}</span>\n                          </button>\n                      </span>\n  \n                      {{#if this.loadingNotes}}\n                          <div class=\"qat-loading-notes\">\n                              <div class=\"spinner\" aria-hidden=\"true\"></div>\n                          </div>\n                      {{else}}\n                          {{#if (eq this.notes.length 0)}}\n                              <div class=\"qat-no-notes\">No notes available.</div>\n                          {{else}}\n                              <div class=\"qat-note-container\">\n                                  {{#each this.notes as |note|}}\n                                      <div class=\"qat-note\">\n                                          <span class=\"qat-note-content\">\n                                              <a class=\"qat-note-preview\" {{on \"click\" (fn this.openNoteEditorExisting note)}}>\n                                                  {{note.content}}\n                                              </a>\n                                              <span class=\"qat-note-creation-data\">\n                                                  {{this.formatDateForNote note.created_at}} by <LinkTo @route=\"cp-profile\" @model={{note.created_by}}>{{note.created_by}}</LinkTo>\n                                              </span>\n                                          </span>\n                                      </div>\n                                  {{/each}}\n                              </div>\n                          {{/if}}\n                      {{/if}}\n                  </div>\n                  {{#if this.isNoteEditorOpen}}\n                      <div class=\"qat-note-editor\">\n                          <textarea\n                              class=\"qat-note-textarea\"\n                              placeholder=\"Enter note content...\"\n                              value={{this.noteContent}}\n                              {{on \"input\" this.updateNoteContent}}\n                          ></textarea>\n                          <div class=\"qat-char-limit\">{{this.charCount}}/512</div>\n                          <div class=\"qat-note-editor-actions\">\n                              {{#if this.isEditingNote}}\n                                  <button class=\"qat-delete-note-btn delete-btn\" type=\"button\" title=\"Delete note\" aria-label=\"Delete note\" tabindex=\"-1\" {{on \"click\" this.deleteNoteAction}}>\n                                      <svg class=\"fa d-icon d-icon-trash-can delete-btn svg-icon svg-string\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\">\n                                          <use href=\"#trash-can\"></use>\n                                      </svg>\n                                  </button>\n                              {{/if}}\n                              <button class=\"qat-save-note\" {{on \"click\" this.saveNote}}>\n                                  {{#if this.isEditingNote}}Save Changes{{else}}Create Note{{/if}}\n                              </button>\n                              <button class=\"qat-back-note\" {{on \"click\" this.closeNoteEditor}}>Close</button>\n                          </div>\n                      </div>\n                  {{/if}}\n              </div>\n          </div>\n      {{else}}\n          {{#if this.isLoadingUser}}\n              <div class=\"loading-user\">\n                  <div class=\"spinner\" aria-hidden=\"true\"></div>\n              </div>\n          {{/if}}\n      {{/if}}\n  </div>\n  */\n  {\n    \"id\": \"tSdGT65K\",\n    \"block\": \"[[[11,0],[24,1,\\\"quick-admin-tool\\\"],[17,1],[12],[1,\\\"\\\\n    \\\"],[10,\\\"h1\\\"],[12],[1,\\\"Quick Admin Tool\\\"],[13],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"qat-search\\\"],[12],[1,\\\"\\\\n        \\\"],[8,[39,2],null,[[\\\"@id\\\",\\\"@value\\\",\\\"@onChange\\\",\\\"@options\\\"],[\\\"qat-user-search\\\",[30,0,[\\\"selectedUser\\\",\\\"username\\\"]],[30,0,[\\\"onChangeSearchTermForUsername\\\"]],[28,[37,3],null,[[\\\"headerAriaLabel\\\",\\\"maximum\\\",\\\"excludeCurrentUser\\\",\\\"translatedFilterPlaceholder\\\",\\\"allowClear\\\"],[[28,[37,4],[\\\"Select a user\\\"],null],1,false,\\\"Search by username...\\\",true]]]]],null],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"selectedUser\\\"]],[[[1,\\\"        \\\"],[10,0],[14,1,\\\"qat-main\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"qat-user-info\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"qat-avatar\\\"],[12],[1,[28,[35,6],[[30,0,[\\\"selectedUser\\\"]]],[[\\\"imageSize\\\"],[152]]]],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"qat-username\\\"],[12],[1,[30,0,[\\\"selectedUser\\\",\\\"username\\\"]]],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"qat-join-date\\\"],[12],[1,\\\"Joined: \\\"],[1,[28,[30,0,[\\\"formatDateForOverview\\\"]],[[30,0,[\\\"selectedUser\\\",\\\"created_at\\\"]]],null]],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"qat-user-label\\\"],[12],[1,[30,0,[\\\"selectedLabel\\\"]]],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"qat-divider\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"qat-actions\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"qat-top-container\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"labels-stats-container\\\"],[12],[1,\\\"\\\\n                        \\\"],[3,\\\" Add/Remove Labels \\\"],[1,\\\"\\\\n                        \\\"],[11,\\\"select\\\"],[4,[38,8],null,[[\\\"options\\\"],[[30,0,[\\\"select2Options\\\"]]]]],[4,[38,9],[[30,0,[\\\"registerSelectListener\\\"]]],null],[4,[38,10],[[30,0,[\\\"unregisterSelectListener\\\"]]],null],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"option\\\"],[14,2,\\\"\\\"],[12],[13],[1,\\\"\\\\n\\\"],[42,[28,[37,13],[[28,[37,13],[[30,0,[\\\"userLabels\\\"]]],null]],null],null,[[[1,\\\"                                \\\"],[10,\\\"option\\\"],[15,2,[30,2]],[15,\\\"selected\\\",[28,[37,14],[[30,0,[\\\"selectedLabel\\\"]],[30,2]],null]],[12],[1,[30,2]],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"                        \\\"],[13],[1,\\\"\\\\n\\\\n                        \\\"],[3,\\\" Add/Remove Stats \\\"],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"timeout-container\\\"],[12],[1,\\\"\\\\n                        \\\"],[1,[28,[35,15],[\\\"far-clock\\\"],null]],[1,\\\"\\\\n                        \\\"],[10,1],[12],[1,\\\"Timeout User\\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"qat-bottom-container notes-container\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,1],[14,0,\\\"qat-notes-header\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,1],[14,0,\\\"qat-notes-header-label\\\"],[12],[1,\\\"Notes\\\"],[13],[1,\\\"\\\\n                        \\\"],[11,\\\"button\\\"],[24,0,\\\"qat-add-note\\\"],[24,\\\"title\\\",\\\"Create new note\\\"],[4,[38,18],[\\\"click\\\",[30,0,[\\\"openNoteEditorNew\\\"]]],null],[12],[1,\\\"\\\\n                            \\\"],[10,1],[14,0,\\\"qat-add-note-plus\\\"],[12],[1,[28,[35,15],[\\\"plus\\\"],null]],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"loadingNotes\\\"]],[[[1,\\\"                        \\\"],[10,0],[14,0,\\\"qat-loading-notes\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"spinner\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[37,14],[[30,0,[\\\"notes\\\",\\\"length\\\"]],0],null],[[[1,\\\"                            \\\"],[10,0],[14,0,\\\"qat-no-notes\\\"],[12],[1,\\\"No notes available.\\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                            \\\"],[10,0],[14,0,\\\"qat-note-container\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,13],[[28,[37,13],[[30,0,[\\\"notes\\\"]]],null]],null],null,[[[1,\\\"                                    \\\"],[10,0],[14,0,\\\"qat-note\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,1],[14,0,\\\"qat-note-content\\\"],[12],[1,\\\"\\\\n                                            \\\"],[11,3],[24,0,\\\"qat-note-preview\\\"],[4,[38,18],[\\\"click\\\",[28,[37,20],[[30,0,[\\\"openNoteEditorExisting\\\"]],[30,3]],null]],null],[12],[1,\\\"\\\\n                                                \\\"],[1,[30,3,[\\\"content\\\"]]],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,1],[14,0,\\\"qat-note-creation-data\\\"],[12],[1,\\\"\\\\n                                                \\\"],[1,[28,[30,0,[\\\"formatDateForNote\\\"]],[[30,3,[\\\"created_at\\\"]]],null]],[1,\\\" by \\\"],[8,[39,21],null,[[\\\"@route\\\",\\\"@model\\\"],[\\\"cp-profile\\\",[30,3,[\\\"created_by\\\"]]]],[[\\\"default\\\"],[[[[1,[30,3,[\\\"created_by\\\"]]]],[]]]]],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\"]],[3]],null],[1,\\\"                            \\\"],[13],[1,\\\"\\\\n\\\"]],[]]]],[]]],[1,\\\"                \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isNoteEditorOpen\\\"]],[[[1,\\\"                    \\\"],[10,0],[14,0,\\\"qat-note-editor\\\"],[12],[1,\\\"\\\\n                        \\\"],[11,\\\"textarea\\\"],[24,0,\\\"qat-note-textarea\\\"],[24,\\\"placeholder\\\",\\\"Enter note content...\\\"],[16,2,[30,0,[\\\"noteContent\\\"]]],[4,[38,18],[\\\"input\\\",[30,0,[\\\"updateNoteContent\\\"]]],null],[12],[13],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"qat-char-limit\\\"],[12],[1,[30,0,[\\\"charCount\\\"]]],[1,\\\"/512\\\"],[13],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"qat-note-editor-actions\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isEditingNote\\\"]],[[[1,\\\"                                \\\"],[11,\\\"button\\\"],[24,0,\\\"qat-delete-note-btn delete-btn\\\"],[24,\\\"title\\\",\\\"Delete note\\\"],[24,\\\"aria-label\\\",\\\"Delete note\\\"],[24,\\\"tabindex\\\",\\\"-1\\\"],[24,4,\\\"button\\\"],[4,[38,18],[\\\"click\\\",[30,0,[\\\"deleteNoteAction\\\"]]],null],[12],[1,\\\"\\\\n                                    \\\"],[10,\\\"svg\\\"],[14,0,\\\"fa d-icon d-icon-trash-can delete-btn svg-icon svg-string\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"use\\\"],[14,6,\\\"#trash-can\\\"],[12],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                            \\\"],[11,\\\"button\\\"],[24,0,\\\"qat-save-note\\\"],[4,[38,18],[\\\"click\\\",[30,0,[\\\"saveNote\\\"]]],null],[12],[1,\\\"\\\\n                                \\\"],[41,[30,0,[\\\"isEditingNote\\\"]],[[[1,\\\"Save Changes\\\"]],[]],[[[1,\\\"Create Note\\\"]],[]]],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[11,\\\"button\\\"],[24,0,\\\"qat-back-note\\\"],[4,[38,18],[\\\"click\\\",[30,0,[\\\"closeNoteEditor\\\"]]],null],[12],[1,\\\"Close\\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"isLoadingUser\\\"]],[[[1,\\\"            \\\"],[10,0],[14,0,\\\"loading-user\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"spinner\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]]],[13]],[\\\"&attrs\\\",\\\"label\\\",\\\"note\\\"],false,[\\\"div\\\",\\\"h1\\\",\\\"user-chooser\\\",\\\"hash\\\",\\\"i18n\\\",\\\"if\\\",\\\"avatar\\\",\\\"select\\\",\\\"select2\\\",\\\"did-insert\\\",\\\"will-destroy\\\",\\\"option\\\",\\\"each\\\",\\\"-track-array\\\",\\\"eq\\\",\\\"d-icon\\\",\\\"span\\\",\\\"button\\\",\\\"on\\\",\\\"a\\\",\\\"fn\\\",\\\"link-to\\\",\\\"textarea\\\",\\\"svg\\\",\\\"use\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/quick-admin-tool.hbs\",\n    \"isStrictMode\": false\n  });\n  class QuickAdminTool extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"toast\", [_service.service]))();\n    #toast = (() => (dt7948.i(this, \"toast\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"selectedUser\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #selectedUser = (() => (dt7948.i(this, \"selectedUser\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"selectedLabel\", [_tracking.tracked], function () {\n      return this.selectedUser ? this.selectedUser.label : null;\n    }))();\n    #selectedLabel = (() => (dt7948.i(this, \"selectedLabel\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"userLabels\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #userLabels = (() => (dt7948.i(this, \"userLabels\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"notes\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #notes = (() => (dt7948.i(this, \"notes\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"loadingNotes\", [_tracking.tracked], function () {\n      return true;\n    }))();\n    #loadingNotes = (() => (dt7948.i(this, \"loadingNotes\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"isNoteEditorOpen\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isNoteEditorOpen = (() => (dt7948.i(this, \"isNoteEditorOpen\"), void 0))();\n    static #_9 = (() => dt7948.g(this.prototype, \"noteContent\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #noteContent = (() => (dt7948.i(this, \"noteContent\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"charCount\", [_tracking.tracked], function () {\n      return 0;\n    }))();\n    #charCount = (() => (dt7948.i(this, \"charCount\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"isEditingNote\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isEditingNote = (() => (dt7948.i(this, \"isEditingNote\"), void 0))();\n    static #_12 = (() => dt7948.g(this.prototype, \"editingNoteId\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #editingNoteId = (() => (dt7948.i(this, \"editingNoteId\"), void 0))();\n    static #_13 = (() => dt7948.g(this.prototype, \"errorMessage\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #errorMessage = (() => (dt7948.i(this, \"errorMessage\"), void 0))();\n    static #_14 = (() => dt7948.g(this.prototype, \"isLoadingUser\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isLoadingUser = (() => (dt7948.i(this, \"isLoadingUser\"), void 0))();\n    constructor() {\n      super(...arguments);\n      if (this.currentUser.admin) {\n        this.loadUserLabels();\n      }\n    }\n\n    // ==============================\n    // Getters\n    // ==============================\n\n    get select2Options() {\n      const self = this;\n      return {\n        allowClear: true,\n        tags: true,\n        placeholder: \"Add/Remove Labels\",\n        templateResult: function (data) {\n          if (!data.id) return data.text;\n          const $row = $('<div class=\"select2-result-row\"></div>');\n          const $text = $(`<div class=\"select2-result-text\"></div>`).text(data.text);\n          const $deleteBtn = $(`\n                    <button class=\"delete-label-btn delete-btn\" type=\"button\" aria-label=\"Delete label\" tabindex=\"-1\">\n                        <svg class=\"fa d-icon d-icon-trash-can delete-btn svg-icon svg-string\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\">\n                            <use href=\"#trash-can\"></use>\n                        </svg>\n                    </button>\n                `);\n\n          // Prevent Select2 from selecting the item when clicking delete\n          $deleteBtn.on('mousedown', function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n            self.deleteLabel(data.id);\n          });\n          $row.append($text).append($deleteBtn);\n          return $row;\n        }\n      };\n    }\n    formatDateForOverview(rawUserJoinDate) {\n      return (0, _dateTimeFormatter.formatDate)(new Date(rawUserJoinDate), \"/\");\n    }\n    formatDateForNote(rawNoteDate) {\n      return (0, _dateTimeFormatter.formatDate)(new Date(rawNoteDate * 1000));\n    }\n\n    // ===============================\n    // Actions\n    // ===============================\n\n    registerSelectListener() {\n      // Handle adding, updating, and deleting labels via Select2 listener\n      $(\".qat-top-container select\").on(\"select2:selecting\", e => {\n        const selected = e?.params?.args?.originalEvent?.target;\n        const label = e?.params?.args?.data?.id;\n\n        // If the click was on the delete button, ignore the change event (delete is handled by listener on delete btn)\n        if (selected !== undefined && selected.classList.contains(\"delete-btn\")) {\n          e.preventDefault();\n          e.stopPropagation();\n          return false;\n        }\n\n        // Click was not on delete button, proceed with creation/update\n        this.onSelectLabel(label);\n        return true;\n      });\n\n      // Handle removing label via Select2 listener\n      $(\".qat-top-container select\").on(\"select2:unselecting\", e => {\n        this.onSelectLabel(null);\n        return true;\n      });\n    }\n    static #_15 = (() => dt7948.n(this.prototype, \"registerSelectListener\", [_object.action]))();\n    unregisterSelectListener() {\n      $(\".qat-top-container select\").off(\"select2:selecting\");\n    }\n    static #_16 = (() => dt7948.n(this.prototype, \"unregisterSelectListener\", [_object.action]))();\n    onChangeSearchTermForUsername(username) {\n      this.isLoadingUser = true;\n      this.updateSelectedUser(username.length ? username : null);\n    }\n    static #_17 = (() => dt7948.n(this.prototype, \"onChangeSearchTermForUsername\", [_object.action]))();\n    onSelectLabel(newLabel) {\n      return (0, _ajax.ajax)(`/cp/qat/user-label/${this.selectedUser.id}`, {\n        data: {\n          label: newLabel\n        },\n        type: \"POST\"\n      }).then(resp => {\n        if (resp?.success) {\n          this.selectedLabel = newLabel;\n\n          // Add label to userLabels array if it's new\n          if (resp?.new) {\n            this.userLabels = [...this.userLabels, newLabel];\n            this.toast.success(\"Label created successfully\");\n          } else {\n            this.toast.success(\"Label updated successfully\");\n          }\n        } else {\n          throw new Error(resp?.error || \"Failed to update user label\");\n        }\n      }).catch(e => {\n        console.log(\"caught error:\", e);\n        const payload = xhr.jqXHR?.responseJSON || {};\n        this.errorMessage = payload.error || \"Update Failed\";\n        this.toast.error(this.errorMessage);\n      });\n    }\n    static #_18 = (() => dt7948.n(this.prototype, \"onSelectLabel\", [_object.action]))();\n    openNoteEditorNew() {\n      this.isNoteEditorOpen = true;\n      this.isEditingNote = false;\n      this.noteContent = \"\";\n      this.charCount = 0;\n    }\n    static #_19 = (() => dt7948.n(this.prototype, \"openNoteEditorNew\", [_object.action]))();\n    openNoteEditorExisting(note) {\n      this.isNoteEditorOpen = true;\n      this.isEditingNote = true;\n      this.editingNoteId = note.id;\n      this.noteContent = note.content;\n      this.charCount = this.noteContent.length;\n    }\n    static #_20 = (() => dt7948.n(this.prototype, \"openNoteEditorExisting\", [_object.action]))();\n    closeNoteEditor() {\n      this.isNoteEditorOpen = false;\n    }\n    static #_21 = (() => dt7948.n(this.prototype, \"closeNoteEditor\", [_object.action]))();\n    updateNoteContent(event) {\n      this.noteContent = event.target.value;\n      this.charCount = this.noteContent.length;\n    }\n    static #_22 = (() => dt7948.n(this.prototype, \"updateNoteContent\", [_object.action]))();\n    async saveNote() {\n      if (!this.noteContent?.trim()) {\n        this.toast.error(\"Note content cannot be empty.\");\n        return;\n      }\n      if (this.charCount > 512) {\n        this.toast.error(\"Note content must be 512 characters or less.\");\n        return;\n      }\n      try {\n        if (this.isEditingNote) {\n          // Update existing\n          await this.updateNote(this.editingNoteId, this.noteContent);\n        } else {\n          // Create new\n          console.log(\"Creating note with content:\", this.noteContent);\n          await this.createNote(this.noteContent);\n        }\n      } catch (error) {\n        console.error(\"Failed to save note:\", error);\n        this.toast.error(\"Failed to save note.\");\n      } finally {\n        this.closeNoteEditor();\n      }\n    }\n    static #_23 = (() => dt7948.n(this.prototype, \"saveNote\", [_object.action]))();\n    async deleteNoteAction() {\n      if (this.selectedUser === null) {\n        this.toast.error(\"No user selected for note deletion.\");\n        return;\n      }\n      if (this.editingNoteId === null) {\n        this.toast.error(\"No note selected for deletion.\");\n        return;\n      }\n      if (!confirm(\"Are you sure you want to delete this note? This action cannot be undone.\")) {\n        preventDefault();\n        return;\n      }\n      try {\n        await this.deleteNote(this.selectedUser.id, this.editingNoteId);\n        this.toast.success(\"Note deleted successfully.\");\n      } catch (error) {\n        console.error(\"Failed to delete note:\", error);\n        this.toast.error(\"Failed to delete note.\");\n      } finally {\n        this.closeNoteEditor();\n      }\n    }\n\n    // ===============================\n    // Creates\n    // ===============================\n    static #_24 = (() => dt7948.n(this.prototype, \"deleteNoteAction\", [_object.action]))();\n    async createNote(content) {\n      try {\n        const resp = await (0, _ajax.ajax)(\"/cp/qat/user-notes\", {\n          type: \"POST\",\n          data: {\n            user_id: this.selectedUser.id,\n            content\n          }\n        });\n        this.notes = [resp[\"note\"], ...this.notes];\n        this.toast.success(\"Note created successfully.\");\n        return resp;\n      } catch (error) {\n        console.error(\"Failed to create note:\", error);\n        this.toast.error(\"Failed to create note.\");\n      }\n    }\n\n    // ===============================\n    // Reads\n    // ===============================\n\n    async loadUserLabels() {\n      this.errorMessage = null;\n      try {\n        const resp = await (0, _ajax.ajax)(\"/cp/qat/user-label\", {\n          type: \"GET\"\n        });\n        if (!resp?.success) throw new Error(resp?.error || \"Failed to load user labels\");\n        const items = resp.labels || [];\n        this.userLabels = items;\n      } catch (e) {\n        const payload = e?.jqXHR?.responseJSON;\n        this.errorMessage = payload?.error || e?.message || \"Load failed\";\n        // console.error(\"loadUserLabels error\", e);\n      }\n    }\n    async loadNotes() {\n      try {\n        this.loadingNotes = true;\n        const data = await (0, _ajax.ajax)(\"/cp/qat/user-notes\", {\n          type: \"GET\",\n          data: {\n            user_id: this.selectedUser.id\n          }\n        });\n        this.notes = data.notes || [];\n        return data;\n      } catch (error) {\n        console.error(\"Failed to load notes:\", error);\n        this.toast.error(\"Failed to load notes.\");\n      } finally {\n        this.loadingNotes = false;\n      }\n    }\n\n    // ===============================\n    // Updates\n    // ===============================\n\n    async updateSelectedUser(username) {\n      if (username === null || username === \"\") {\n        this.selectedUser = null;\n        this.selectedLabel = null;\n        this.isLoadingUser = false;\n        return;\n      }\n      _user.default.findByUsername(username).then(user => {\n        this.selectedUser = user;\n        this.selectedLabel = user.label;\n        this.isLoadingUser = false;\n        this.notes = [];\n        this.isNoteEditorOpen = false;\n        this.noteContent = \"\";\n        this.isEditingNote = false;\n        this.editingNoteId = null;\n        this.loadNotes();\n      });\n    }\n    async updateNote(id, content) {\n      try {\n        const resp = await (0, _ajax.ajax)(`/cp/qat/user-notes/${this.selectedUser.id}`, {\n          type: \"PUT\",\n          data: {\n            note_id: id,\n            content\n          }\n        });\n        const idx = this.notes.findIndex(n => n.id === id);\n        if (idx !== -1) {\n          this.notes = this.notes.map((n, i) => i === idx ? resp[\"note\"] : n);\n        } else {\n          console.warn(\"Updated note not found in local notes array\");\n          this.toast.error(\"Updated note not found locally.\");\n        }\n        this.toast.success(\"Note updated successfully.\");\n        return resp;\n      } catch (error) {\n        console.error(\"Failed to update note:\", error);\n        this.toast.error(\"Failed to update note.\");\n      }\n    }\n\n    // ===============================\n    // Deletes\n    // ===============================\n\n    async deleteLabel(label) {\n      this.errorMessage = null;\n      return (0, _ajax.ajax)(`/cp/qat/user-label`, {\n        data: {\n          label: label\n        },\n        type: \"DELETE\"\n      }).then(resp => {\n        if (resp?.success) {\n          this.userLabels = this.userLabels.filter(originalLabel => originalLabel !== label);\n          $(\".select2-results__options\").find(`li[id$='-${label}']`).remove();\n          this.toast.success(\"Label deleted successfully\");\n        } else {\n          throw new Error(resp?.error || \"Failed to delete user label\");\n        }\n      }).catch(e => {\n        console.log(\"caught error:\", e);\n        const payload = xhr.jqXHR?.responseJSON || {};\n        this.errorMessage = payload.error || \"Delete Failed\";\n        this.toast.error(this.errorMessage);\n      });\n    }\n    async deleteNote(user_id, note_id) {\n      try {\n        await (0, _ajax.ajax)(\"/cp/qat/user-notes\", {\n          type: \"DELETE\",\n          data: {\n            user_id: user_id,\n            note_id: note_id\n          }\n        });\n        console.log(this.notes);\n        this.notes = this.notes.filter(n => n.id !== note_id);\n        return true;\n      } catch (error) {\n        console.error(\"Failed to delete note:\", error);\n        this.toast.error(\"Failed to delete note.\");\n      }\n    }\n  }\n  _exports.default = QuickAdminTool;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, QuickAdminTool);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/report-content-modal\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"discourse/lib/ajax\", \"@ember/service\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _ajax, _service, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <CpModal @isOpen={{@isOpen}} @title={{or @title \"Report content\" }} @cancelLabel=\"Cancel\" @okLabel={{if\n      this.isSubmitting \"Submitting…\" \"Submit report\" }} @okDisabled={{this.isSubmitting}} @onCancel={{this.handleCancel}}\n      @onOk={{this.submit}}>\n      <form class=\"cp-report-form\" {{on \"submit\" this.onFormSubmit}}>\n          {{#if this.error}}\n          <div class=\"cp-report-error\">{{this.error}}</div>\n          {{/if}}\n  \n          {{#if (eq @targetType \"about_me\")}}\n          <div class=\"cp-report-field\">\n              <label class=\"cp-label\">About me preview</label>\n              <div class=\"cp-snapshot cp-snapshot--aboutme\">\n                  {{or @snapshot.about_me_excerpt \"No about me text available.\"}}\n              </div>\n          </div>\n          {{/if}}\n  \n          {{#if (eq @targetType \"user_image\")}}\n          <div class=\"cp-report-field\">\n              <label class=\"cp-label\">Image</label>\n              <div class=\"cp-snapshot cp-snapshot--image\">\n                  {{#if @snapshot.image_url}}\n                  <img alt=\"Reported image preview\" src={{@snapshot.image_url}}>\n                  {{else}}\n                  <div class=\"cp-snapshot__placeholder\">Image ID: {{@targetId}}</div>\n                  {{/if}}\n              </div>\n          </div>\n          {{/if}}\n  \n          <div class=\"cp-report-field\">\n              <label class=\"cp-label\" for={{this.reasonId}}>Reason</label>\n              <select id={{this.reasonId}} class=\"cp-input\" {{on \"change\" this.onReasonChange}}>\n                  {{#each this.reasonOptions as |opt|}}\n                  <option value={{opt.value}} selected={{eq opt.value this.reasonCode}}>{{opt.label}}</option>\n                  {{/each}}\n              </select>\n              <p class=\"cp-help\">Pick the closest match. You can add details below.</p>\n          </div>\n  \n          <div class=\"cp-report-field\">\n              <label class=\"cp-label\" for={{this.textId}}>Details (optional)</label>\n              <textarea id={{this.textId}} class=\"cp-input\" maxlength=\"2000\" placeholder=\"Describe what's inappropriate…\"\n                  {{on \"input\" this.onReasonTextChange}}>{{this.reasonText}}</textarea>\n              <div class=\"cp-count\">{{this.reasonText.length}} / 2000</div>\n          </div>\n  \n          <input type=\"hidden\" value={{@targetType}}>\n          <input type=\"hidden\" value={{@targetId}}>\n          <input type=\"hidden\" value={{@reportedUserId}}>\n      </form>\n  </CpModal>\n  */\n  {\n    \"id\": \"EklDpHZ5\",\n    \"block\": \"[[[8,[39,0],null,[[\\\"@isOpen\\\",\\\"@title\\\",\\\"@cancelLabel\\\",\\\"@okLabel\\\",\\\"@okDisabled\\\",\\\"@onCancel\\\",\\\"@onOk\\\"],[[30,1],[28,[37,1],[[30,2],\\\"Report content\\\"],null],\\\"Cancel\\\",[52,[30,0,[\\\"isSubmitting\\\"]],\\\"Submitting…\\\",\\\"Submit report\\\"],[30,0,[\\\"isSubmitting\\\"]],[30,0,[\\\"handleCancel\\\"]],[30,0,[\\\"submit\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n    \\\"],[11,\\\"form\\\"],[24,0,\\\"cp-report-form\\\"],[4,[38,4],[\\\"submit\\\",[30,0,[\\\"onFormSubmit\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"error\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"cp-report-error\\\"],[12],[1,[30,0,[\\\"error\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[28,[37,6],[[30,3],\\\"about_me\\\"],null],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"cp-report-field\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-label\\\"],[12],[1,\\\"About me preview\\\"],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"cp-snapshot cp-snapshot--aboutme\\\"],[12],[1,\\\"\\\\n                \\\"],[1,[28,[35,1],[[30,4,[\\\"about_me_excerpt\\\"]],\\\"No about me text available.\\\"],null]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[28,[37,6],[[30,3],\\\"user_image\\\"],null],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"cp-report-field\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-label\\\"],[12],[1,\\\"Image\\\"],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"cp-snapshot cp-snapshot--image\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,4,[\\\"image_url\\\"]],[[[1,\\\"                \\\"],[10,\\\"img\\\"],[14,\\\"alt\\\",\\\"Reported image preview\\\"],[15,\\\"src\\\",[30,4,[\\\"image_url\\\"]]],[12],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                \\\"],[10,0],[14,0,\\\"cp-snapshot__placeholder\\\"],[12],[1,\\\"Image ID: \\\"],[1,[30,5]],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"cp-report-field\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-label\\\"],[15,\\\"for\\\",[30,0,[\\\"reasonId\\\"]]],[12],[1,\\\"Reason\\\"],[13],[1,\\\"\\\\n            \\\"],[11,\\\"select\\\"],[16,1,[30,0,[\\\"reasonId\\\"]]],[24,0,\\\"cp-input\\\"],[4,[38,4],[\\\"change\\\",[30,0,[\\\"onReasonChange\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,11],[[28,[37,11],[[30,0,[\\\"reasonOptions\\\"]]],null]],null],null,[[[1,\\\"                \\\"],[10,\\\"option\\\"],[15,2,[30,6,[\\\"value\\\"]]],[15,\\\"selected\\\",[28,[37,6],[[30,6,[\\\"value\\\"]],[30,0,[\\\"reasonCode\\\"]]],null]],[12],[1,[30,6,[\\\"label\\\"]]],[13],[1,\\\"\\\\n\\\"]],[6]],null],[1,\\\"            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,2],[14,0,\\\"cp-help\\\"],[12],[1,\\\"Pick the closest match. You can add details below.\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"cp-report-field\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-label\\\"],[15,\\\"for\\\",[30,0,[\\\"textId\\\"]]],[12],[1,\\\"Details (optional)\\\"],[13],[1,\\\"\\\\n            \\\"],[11,\\\"textarea\\\"],[16,1,[30,0,[\\\"textId\\\"]]],[24,0,\\\"cp-input\\\"],[24,\\\"maxlength\\\",\\\"2000\\\"],[24,\\\"placeholder\\\",\\\"Describe what's inappropriate…\\\"],[4,[38,4],[\\\"input\\\",[30,0,[\\\"onReasonTextChange\\\"]]],null],[12],[1,[30,0,[\\\"reasonText\\\"]]],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"cp-count\\\"],[12],[1,[30,0,[\\\"reasonText\\\",\\\"length\\\"]]],[1,\\\" / 2000\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,\\\"input\\\"],[15,2,[30,3]],[14,4,\\\"hidden\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[10,\\\"input\\\"],[15,2,[30,5]],[14,4,\\\"hidden\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[10,\\\"input\\\"],[15,2,[30,7]],[14,4,\\\"hidden\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]]]]]],[\\\"@isOpen\\\",\\\"@title\\\",\\\"@targetType\\\",\\\"@snapshot\\\",\\\"@targetId\\\",\\\"opt\\\",\\\"@reportedUserId\\\"],false,[\\\"cp-modal\\\",\\\"or\\\",\\\"if\\\",\\\"form\\\",\\\"on\\\",\\\"div\\\",\\\"eq\\\",\\\"label\\\",\\\"img\\\",\\\"select\\\",\\\"each\\\",\\\"-track-array\\\",\\\"option\\\",\\\"p\\\",\\\"textarea\\\",\\\"input\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/report-content-modal.hbs\",\n    \"isStrictMode\": false\n  });\n  const DEFAULT_REASONS = [{\n    value: \"sexual\",\n    label: \"Sexual content\"\n  }, {\n    value: \"violent\",\n    label: \"Violent or gory\"\n  }, {\n    value: \"harassment\",\n    label: \"Harassment or bullying\"\n  }, {\n    value: \"hate\",\n    label: \"Hate or hateful symbols\"\n  }, {\n    value: \"spam\",\n    label: \"Spam or scams\"\n  }, {\n    value: \"copyright\",\n    label: \"Copyright/IP issue\"\n  }, {\n    value: \"other\",\n    label: \"Other\"\n  }];\n  let seq = 0;\n  class ReportContentModal extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"toast\", [_service.service]))();\n    #toast = (() => (dt7948.i(this, \"toast\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"reasonCode\", [_tracking.tracked], function () {\n      return this.args.defaultReason ?? \"other\";\n    }))();\n    #reasonCode = (() => (dt7948.i(this, \"reasonCode\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"reasonText\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #reasonText = (() => (dt7948.i(this, \"reasonText\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"isSubmitting\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isSubmitting = (() => (dt7948.i(this, \"isSubmitting\"), void 0))();\n    _id = this.instanceId(\"report\");\n    get reasonOptions() {\n      return this.args.reasonOptions ?? DEFAULT_REASONS;\n    }\n    get reasonId() {\n      return `${this._id}-reason`;\n    }\n    get textId() {\n      return `${this._id}-text`;\n    }\n    onReasonChange(e) {\n      this.reasonCode = e.target.value;\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"onReasonChange\", [_object.action]))();\n    onReasonTextChange(e) {\n      this.reasonText = e.target.value?.slice(0, 2000) ?? \"\";\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"onReasonTextChange\", [_object.action]))();\n    onFormSubmit(e) {\n      e?.preventDefault();\n      this.submit();\n    }\n    static #_7 = (() => dt7948.n(this.prototype, \"onFormSubmit\", [_object.action]))();\n    handleCancel() {\n      if (this.isSubmitting) return;\n      this.args.onClose?.();\n    }\n    static #_8 = (() => dt7948.n(this.prototype, \"handleCancel\", [_object.action]))();\n    async submit() {\n      if (this.isSubmitting) return;\n      const targetType = this.args.targetType;\n      const targetId = String(this.args.targetId ?? \"\");\n      const reportedUserId = Number(this.args.reportedUserId ?? 0);\n      if (!targetType || !targetId || !reportedUserId) {\n        this.toast.error(\"Missing target or user information.\");\n        return;\n      }\n      this.isSubmitting = true;\n      try {\n        const payload = {\n          target_type: targetType,\n          target_id: targetId,\n          reported_user_id: reportedUserId,\n          reason_code: this.reasonCode || \"other\",\n          reason_text: this.reasonText || \"\"\n        };\n\n        // POST to your controller\n        const resp = await (0, _ajax.ajax)(\"/cp/report-content\", {\n          type: \"POST\",\n          data: payload\n        });\n        console.log(resp);\n        if (resp?.success) {\n          this.args.onSubmitted?.(resp.report);\n          this.toast.success(\"Report submitted\");\n          this.args.onClose?.();\n        } else {\n          this.toast.error(\"Report failed. Please try again.\");\n        }\n      } catch (e) {\n        console.log(e);\n        const status = e?.jqXHR?.status ?? e?.status;\n        if (status === 429) {\n          this.toast.error(\"Too many requests. Please try again later.\");\n        } else {\n          this.toast.error(\"Report failed. Please try again.\");\n        }\n      } finally {\n        this.isSubmitting = false;\n      }\n    }\n    static #_9 = (() => dt7948.n(this.prototype, \"submit\", [_object.action]))();\n    instanceId() {\n      let prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"uid\";\n      seq += 1;\n      return `${prefix}-${seq}`;\n    }\n  }\n  _exports.default = ReportContentModal;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, ReportContentModal);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/the-game-awards-logos\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@ember/template-factory\"], function (_exports, _component, _component2, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"tga-logos {{if (eq @size 'small') 'size-small'}}\">\n      <div class=\"tga-amd-logo tga-logo-lg\">\n          <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/amd-header-logo.svg\" alt=\"AMD Logo\">\n      </div>\n      <div class=\"tga-x-logo tga-logo-sm\">\n          <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/multiplier.svg\" alt=\"X\">\n      </div>\n      <div class=\"tga-tga-logo tga-logo-lg\">\n          <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/tga-white-logo-25.svg\" alt=\"The Game Awards Logo\">\n      </div>\n  </div>\n  \n  */\n  {\n    \"id\": \"cweSXt2X\",\n    \"block\": \"[[[10,0],[15,0,[29,[\\\"tga-logos \\\",[52,[28,[37,2],[[30,1],\\\"small\\\"],null],\\\"size-small\\\"]]]],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"tga-amd-logo tga-logo-lg\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/amd-header-logo.svg\\\"],[14,\\\"alt\\\",\\\"AMD Logo\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"tga-x-logo tga-logo-sm\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/multiplier.svg\\\"],[14,\\\"alt\\\",\\\"X\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"tga-tga-logo tga-logo-lg\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/tga-white-logo-25.svg\\\"],[14,\\\"alt\\\",\\\"The Game Awards Logo\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@size\\\"],false,[\\\"div\\\",\\\"if\\\",\\\"eq\\\",\\\"img\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/the-game-awards-logos.hbs\",\n    \"isStrictMode\": false\n  });\n  class TheGameAwardsLogos extends _component2.default {}\n  _exports.default = TheGameAwardsLogos;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, TheGameAwardsLogos);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/components/upcoming-events-admin\", [\"exports\", \"@ember/component\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"discourse/lib/ajax\", \"@ember/template-factory\"], function (_exports, _component, _component2, _tracking, _object, _ajax, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"admin-container\" {{did-insert this.onInsert}}>\n    <div class=\"ig-admin-card-head\">\n      <h1>Upcoming Events</h1>\n      {{#if @backRoute}}\n        <LinkTo @route={{@backRoute}} class=\"btn btn-secondary igames-admin-button\">Back to Settings</LinkTo>\n      {{/if}}\n    </div>\n  \n    <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n        <h1 class=\"ig-admin-title\">{{if this.editingId \"Edit Event\" \"Create New Event\"}}</h1>\n      </div>\n  \n      <form {{on \"submit\" this.save}} class=\"ig-form\">\n        <div class=\"form-row\">\n          <label>Message</label>\n          <Input @value={{this.formMessage}} placeholder=\"Retro Weekend Stream\" />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Optional URL</label>\n          <Input @value={{this.formOptionalUrl}} placeholder=\"https://www.google.com\" />\n        </div>\n  \n        <div class=\"form-row\">\n          <label>Upcoming Date/Time</label>\n          <Input @type=\"datetime-local\" @value={{this.formUpcoming}} />\n        </div>\n  \n        <div class=\"ig-actions\">\n          <button type=\"submit\" class=\"btn btn-primary\" disabled={{this.saving}}>\n            {{if this.editingId \"Update Event\" \"Create Event\"}}\n          </button>\n  \n          {{#if this.editingId}}\n            <button type=\"button\" class=\"btn btn-secondary\" {{on \"click\" this.cancelEdit}}>Cancel</button>\n          {{/if}}\n        </div>\n  \n        {{#if this.message}}\n          <div class=\"ig-result success\"><div class=\"ig-result-title\">{{this.message}}</div></div>\n        {{/if}}\n  \n        {{#if this.error}}\n          <div class=\"ig-alert danger\">Error: {{this.error}}</div>\n        {{/if}}\n      </form>\n    </div>\n  \n    <div class=\"ig-admin-card\">\n      <div class=\"ig-admin-card-head\">\n        <h2>Existing Events</h2>\n        <button type=\"button\" {{on \"click\" this.reload}} disabled={{this.loading}} class=\"btn btn-secondary\">\n          {{if this.loading \"Refreshing...\" \"Refresh\"}}\n        </button>\n      </div>\n  \n      {{#if this.events.length}}\n        <table class=\"ig-table\">\n          <thead>\n            <tr>\n              <th>Date Created</th>\n              <th>Upcoming Date</th>\n              <th>Message</th>\n              <th>URL</th>\n              <th>Creator</th>\n              <th></th>\n            </tr>\n          </thead>\n          <tbody>\n            {{#each this.events as |ev|}}\n              <tr>\n                <td>{{this.formatMDY ev.created_at}}</td>\n                <td>{{this.formatMDY ev.upcoming_at}}</td>\n                <td class=\"truncate\">{{ev.message}}</td>\n                <td class=\"truncate\">{{if ev.url ev.url \"-\"}}</td>\n                <td>{{ev.creator_username}}</td>\n                <td>\n                  <button type=\"button\" class=\"btn btn-secondary\" {{on \"click\" (fn this.edit ev)}}>Edit</button>\n                  <button type=\"button\" class=\"btn btn-danger\" {{on \"click\" (fn this.remove ev)}}>Delete</button>\n                </td>\n              </tr>\n            {{/each}}\n          </tbody>\n        </table>\n      {{else}}\n        <p>No upcoming events yet.</p>\n      {{/if}}\n  \n      {{#if this.deleteMessage}}\n        <div class=\"ig-result success\"><div class=\"ig-result-title\">{{this.deleteMessage}}</div></div>\n      {{/if}}\n  \n      {{#if this.deleteErrorMessage}}\n        <div class=\"ig-alert danger\">Error: {{this.deleteErrorMessage}}</div>\n      {{/if}}\n    </div>\n  </div>\n  */\n  {\n    \"id\": \"ylPrbH4L\",\n    \"block\": \"[[[11,0],[24,0,\\\"admin-container\\\"],[4,[38,1],[[30,0,[\\\"onInsert\\\"]]],null],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"h1\\\"],[12],[1,\\\"Upcoming Events\\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,1],[[[1,\\\"      \\\"],[8,[39,4],[[24,0,\\\"btn btn-secondary igames-admin-button\\\"]],[[\\\"@route\\\"],[[30,1]]],[[\\\"default\\\"],[[[[1,\\\"Back to Settings\\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h1\\\"],[14,0,\\\"ig-admin-title\\\"],[12],[1,[52,[30,0,[\\\"editingId\\\"]],\\\"Edit Event\\\",\\\"Create New Event\\\"]],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[11,\\\"form\\\"],[24,0,\\\"ig-form\\\"],[4,[38,6],[\\\"submit\\\",[30,0,[\\\"save\\\"]]],null],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Message\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,8],[[24,\\\"placeholder\\\",\\\"Retro Weekend Stream\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"formMessage\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Optional URL\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,8],[[24,\\\"placeholder\\\",\\\"https://www.google.com\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"formOptionalUrl\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Upcoming Date/Time\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,8],null,[[\\\"@type\\\",\\\"@value\\\"],[\\\"datetime-local\\\",[30,0,[\\\"formUpcoming\\\"]]]],null],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"button\\\"],[14,0,\\\"btn btn-primary\\\"],[15,\\\"disabled\\\",[30,0,[\\\"saving\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n          \\\"],[1,[52,[30,0,[\\\"editingId\\\"]],\\\"Update Event\\\",\\\"Create Event\\\"]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"editingId\\\"]],[[[1,\\\"          \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"cancelEdit\\\"]]],null],[12],[1,\\\"Cancel\\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"message\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"ig-result success\\\"],[12],[10,0],[14,0,\\\"ig-result-title\\\"],[12],[1,[30,0,[\\\"message\\\"]]],[13],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"error\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"ig-alert danger\\\"],[12],[1,\\\"Error: \\\"],[1,[30,0,[\\\"error\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h2\\\"],[12],[1,\\\"Existing Events\\\"],[13],[1,\\\"\\\\n      \\\"],[11,\\\"button\\\"],[16,\\\"disabled\\\",[30,0,[\\\"loading\\\"]]],[24,0,\\\"btn btn-secondary\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"reload\\\"]]],null],[12],[1,\\\"\\\\n        \\\"],[1,[52,[30,0,[\\\"loading\\\"]],\\\"Refreshing...\\\",\\\"Refresh\\\"]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"events\\\",\\\"length\\\"]],[[[1,\\\"      \\\"],[10,\\\"table\\\"],[14,0,\\\"ig-table\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Date Created\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Upcoming Date\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Message\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"URL\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Creator\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,17],[[28,[37,17],[[30,0,[\\\"events\\\"]]],null]],null],null,[[[1,\\\"            \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,[28,[30,0,[\\\"formatMDY\\\"]],[[30,2,[\\\"created_at\\\"]]],null]],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,[28,[30,0,[\\\"formatMDY\\\"]],[[30,2,[\\\"upcoming_at\\\"]]],null]],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[14,0,\\\"truncate\\\"],[12],[1,[30,2,[\\\"message\\\"]]],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[14,0,\\\"truncate\\\"],[12],[1,[52,[30,2,[\\\"url\\\"]],[30,2,[\\\"url\\\"]],\\\"-\\\"]],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,[30,2,[\\\"creator_username\\\"]]],[13],[1,\\\"\\\\n              \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,19],[[30,0,[\\\"edit\\\"]],[30,2]],null]],null],[12],[1,\\\"Edit\\\"],[13],[1,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-danger\\\"],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,19],[[30,0,[\\\"remove\\\"]],[30,2]],null]],null],[12],[1,\\\"Delete\\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"      \\\"],[10,2],[12],[1,\\\"No upcoming events yet.\\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"deleteMessage\\\"]],[[[1,\\\"      \\\"],[10,0],[14,0,\\\"ig-result success\\\"],[12],[10,0],[14,0,\\\"ig-result-title\\\"],[12],[1,[30,0,[\\\"deleteMessage\\\"]]],[13],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"deleteErrorMessage\\\"]],[[[1,\\\"      \\\"],[10,0],[14,0,\\\"ig-alert danger\\\"],[12],[1,\\\"Error: \\\"],[1,[30,0,[\\\"deleteErrorMessage\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"@backRoute\\\",\\\"ev\\\"],false,[\\\"div\\\",\\\"did-insert\\\",\\\"h1\\\",\\\"if\\\",\\\"link-to\\\",\\\"form\\\",\\\"on\\\",\\\"label\\\",\\\"input\\\",\\\"button\\\",\\\"h2\\\",\\\"table\\\",\\\"thead\\\",\\\"tr\\\",\\\"th\\\",\\\"tbody\\\",\\\"each\\\",\\\"-track-array\\\",\\\"td\\\",\\\"fn\\\",\\\"p\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/components/upcoming-events-admin.hbs\",\n    \"isStrictMode\": false\n  });\n  class IgUpcomingEventsPanel extends _component2.default {\n    static #_ = (() => dt7948.g(this.prototype, \"events\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #events = (() => (dt7948.i(this, \"events\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"loading\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loading = (() => (dt7948.i(this, \"loading\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"saving\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #saving = (() => (dt7948.i(this, \"saving\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"message\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #message = (() => (dt7948.i(this, \"message\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"error\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #error = (() => (dt7948.i(this, \"error\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"deleteMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #deleteMessage = (() => (dt7948.i(this, \"deleteMessage\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"deleteErrorMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #deleteErrorMessage = (() => (dt7948.i(this, \"deleteErrorMessage\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"editingId\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #editingId = (() => (dt7948.i(this, \"editingId\"), void 0))();\n    static #_9 = (() => dt7948.g(this.prototype, \"formMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #formMessage = (() => (dt7948.i(this, \"formMessage\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"formUpcoming\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #formUpcoming = (() => (dt7948.i(this, \"formUpcoming\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"formOptionalUrl\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #formOptionalUrl = (() => (dt7948.i(this, \"formOptionalUrl\"), void 0))();\n    constructor() {\n      super(...arguments);\n      if (this.args.initialEvents) {\n        this.events = this.args.initialEvents;\n      }\n    }\n\n    // If the route didn't pass initialEvents, fetch once on mount.\n    onInsert() {\n      if (typeof this.args.initialEvents === \"undefined\") {\n        this.reload();\n      }\n    }\n\n    // -------- utilities --------\n    static #_12 = (() => dt7948.n(this.prototype, \"onInsert\", [_object.action]))();\n    toEpochSecondsLocal(dtStr) {\n      if (!dtStr) return null;\n      const d = new Date(dtStr);\n      return Number.isNaN(d.getTime()) ? null : Math.floor(d.getTime() / 1000);\n    }\n    epochToLocalInput(epoch) {\n      if (!epoch) return \"\";\n      const d = new Date(Number(epoch) * 1000);\n      const yyyy = d.getFullYear();\n      const mm = String(d.getMonth() + 1).padStart(2, \"0\");\n      const dd = String(d.getDate()).padStart(2, \"0\");\n      const hh = String(d.getHours()).padStart(2, \"0\");\n      const mi = String(d.getMinutes()).padStart(2, \"0\");\n      return `${yyyy}-${mm}-${dd}T${hh}:${mi}`;\n    }\n    formatMDY(epoch) {\n      if (!epoch) return \"—\";\n      const d = new Date(Number(epoch) * 1000);\n      const mm = String(d.getMonth() + 1).padStart(2, \"0\");\n      const dd = String(d.getDate()).padStart(2, \"0\");\n      const yyyy = d.getFullYear();\n      return `${mm}/${dd}/${yyyy}`;\n    }\n    resetForm() {\n      this.editingId = null;\n      this.formMessage = \"\";\n      this.formUpcoming = \"\";\n      this.formOptionalUrl = \"\";\n    }\n\n    // -------- ajax helpers (no service) --------\n    async fetchIndex() {\n      let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n      const qs = new URLSearchParams();\n      if (opts.hoursPast) qs.append(\"hours_past\", opts.hoursPast);\n      if (opts.hoursFuture) qs.append(\"hours_future\", opts.hoursFuture);\n      if (opts.limit) qs.append(\"limit\", opts.limit);\n      const url = `/cp_upcoming${qs.toString() ? `?${qs}` : \"\"}`;\n      return (0, _ajax.ajax)(url, {\n        type: \"GET\"\n      }); // -> { success, events }\n    }\n    createEvent(payload) {\n      return (0, _ajax.ajax)(\"/cp_upcoming\", {\n        type: \"POST\",\n        data: payload\n      });\n    }\n    updateEvent(id, payload) {\n      return (0, _ajax.ajax)(`/cp_upcoming/${encodeURIComponent(id)}`, {\n        type: \"PATCH\",\n        data: payload\n      });\n    }\n    deleteEvent(id) {\n      return (0, _ajax.ajax)(`/cp_upcoming/${encodeURIComponent(id)}`, {\n        type: \"DELETE\"\n      });\n    }\n\n    // -------- actions --------\n    async reload() {\n      this.loading = true;\n      this.deleteMessage = \"\";\n      this.deleteErrorMessage = \"\";\n      try {\n        const resp = await this.fetchIndex();\n        this.events = resp?.events ?? [];\n      } catch (e) {\n        this.deleteErrorMessage = e?.jqXHR?.responseJSON?.error || e?.message || \"Failed to load events\";\n      } finally {\n        this.loading = false;\n      }\n    }\n    static #_13 = (() => dt7948.n(this.prototype, \"reload\", [_object.action]))();\n    edit(ev) {\n      this.editingId = ev.id;\n      this.formMessage = ev.message || \"\";\n      this.formOptionalUrl = ev.url || \"\";\n      this.formUpcoming = this.epochToLocalInput(ev.upcoming_at);\n      this.message = \"\";\n      this.error = \"\";\n    }\n    static #_14 = (() => dt7948.n(this.prototype, \"edit\", [_object.action]))();\n    cancelEdit() {\n      this.resetForm();\n    }\n    static #_15 = (() => dt7948.n(this.prototype, \"cancelEdit\", [_object.action]))();\n    async save(e) {\n      e?.preventDefault?.();\n      this.message = \"\";\n      this.error = \"\";\n      this.saving = true;\n      const upcomingAt = this.toEpochSecondsLocal(this.formUpcoming);\n      const url = (this.formOptionalUrl || \"\").trim();\n      if (!this.formMessage?.trim()) {\n        this.error = \"Please enter a message.\";\n        this.saving = false;\n        return;\n      }\n      if (!upcomingAt) {\n        this.error = \"Please choose a valid date/time.\";\n        this.saving = false;\n        return;\n      }\n      try {\n        if (this.editingId) {\n          await this.updateEvent(this.editingId, {\n            message: this.formMessage.trim(),\n            upcomingAt,\n            url\n          });\n          this.message = \"Event updated.\";\n        } else {\n          await this.createEvent({\n            message: this.formMessage.trim(),\n            upcomingAt,\n            url\n          });\n          this.message = \"Event created.\";\n        }\n        this.resetForm();\n        await this.reload();\n      } catch (e2) {\n        this.error = e2?.jqXHR?.responseJSON?.error || e2?.message || \"Save failed\";\n      } finally {\n        this.saving = false;\n      }\n    }\n    static #_16 = (() => dt7948.n(this.prototype, \"save\", [_object.action]))();\n    async remove(ev) {\n      this.deleteMessage = \"\";\n      this.deleteErrorMessage = \"\";\n      if (!ev?.id) {\n        this.deleteErrorMessage = \"Missing event id.\";\n        return;\n      }\n      if (!confirm(\"Delete this event?\")) return;\n      try {\n        await this.deleteEvent(ev.id);\n        this.deleteMessage = \"Event deleted.\";\n        await this.reload();\n      } catch (e) {\n        this.deleteErrorMessage = e?.jqXHR?.responseJSON?.error || e?.message || \"Delete failed\";\n      }\n    }\n    static #_17 = (() => dt7948.n(this.prototype, \"remove\", [_object.action]))();\n  }\n  _exports.default = IgUpcomingEventsPanel;\n  (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, IgUpcomingEventsPanel);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/connectors/above-discovery-categories/forum-index-topic-list\", [\"exports\", \"@glimmer/component\", \"@glimmer/tracking\", \"@ember/object\", \"discourse/lib/ajax\", \"discourse/lib/formatter\"], function (_exports, _component, _tracking, _object, _ajax, _formatter) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class ForumIndexTopicList extends _component.default {\n    static #_ = (() => dt7948.g(this.prototype, \"categoryData\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #categoryData = (() => (dt7948.i(this, \"categoryData\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"isLoading\", [_tracking.tracked], function () {\n      return true;\n    }))();\n    #isLoading = (() => (dt7948.i(this, \"isLoading\"), void 0))();\n    constructor(owner, args) {\n      super(owner, args);\n      this.desiredCatSlugs = ['announcements', 'missions', 'pc-gaming', 'console-handheld-gaming', 'pc-building-parts', 'tech-deals', 'off-topic'];\n      this.latestTopics = [];\n      this.categories = [];\n    }\n    async initialize() {\n      await this.initLatestTopics();\n      await this.initCategories();\n      this.categoryData = this.loadCategoryData();\n      this.isLoading = false;\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"initialize\", [_object.action]))();\n    async initLatestTopics() {\n      try {\n        // 50 latest topics site-wide\n        const data = await (0, _ajax.ajax)(\"/latest.json?order=activity&ascending=false&per_page=50\");\n        this.latestTopics = Array.isArray(data?.topic_list?.topics) ? data.topic_list.topics : [];\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(\"initLatestTopics failed\", e);\n        this.latestTopics = [];\n      }\n    }\n    async initCategories() {\n      try {\n        const data = await (0, _ajax.ajax)(\"/categories.json?include_subcategories=true\");\n        const list = data?.category_list?.categories ?? [];\n        this.categories = this.filterCategories(list);\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(\"initCategories failed\", e);\n        this.categories = [];\n      }\n    }\n    filterCategories(categoryList) {\n      // Further filter categories to only those in the desired list\n      categoryList = categoryList.filter(c => {\n        const slug = (c.slug || '').toLowerCase();\n        return this.desiredCatSlugs.includes(slug);\n      });\n      return categoryList;\n    }\n    getLatestTopicForCategory(category) {\n      const subId = category?.subcategory_list?.[0]?.id;\n      const candidates = this.latestTopics.filter(t => t?.category_id === category.id || subId && t?.category_id === subId);\n      if (candidates.length === 0) return null;\n\n      // Sort descending by last_posted_at\n      candidates.sort((a, b) => new Date(b.last_posted_at).getTime() - new Date(a.last_posted_at).getTime());\n      return candidates[0];\n    }\n    loadCategoryData() {\n      const categoryData = (this.categories || []).map(c => {\n        const sub = c?.subcategory_list?.[0] ?? null;\n\n        // Note: this is a *topic* count, not post count.\n        const topicCount = (Number(c?.topic_count) || 0) + (Number(sub?.topic_count) || 0);\n        const latest = this.getLatestTopicForCategory(c);\n        let latestPostedAt = null;\n        if (latest?.last_posted_at) {\n          const seconds = Math.max(0, Math.floor((Date.now() - new Date(latest.last_posted_at).getTime()) / 1000));\n          const rel = (0, _formatter.relativeAgeMediumSpan)(seconds, true);\n          latestPostedAt = rel === \"0 years ago\" ? \"just now\" : rel;\n        }\n        return {\n          id: c.id,\n          slug: c.slug,\n          name: c.name,\n          post_count: topicCount,\n          // (label says \"Posts\", but this is topics)\n          latest: latest ? {\n            title: latest.title,\n            url: `/t/${latest.slug}/${latest.id}`,\n            lastPoster: latest.last_poster?.username || latest.last_poster_username,\n            lastPostedAt: latestPostedAt\n          } : null\n        };\n      });\n\n      // Reorder to match desired order\n      categoryData.sort((a, b) => this.desiredCatSlugs.indexOf(a.slug) - this.desiredCatSlugs.indexOf(b.slug));\n\n      // Group into pairs for styling\n      let categoryPairs = [];\n      for (let i = 0; i < categoryData.length; i += 2) {\n        categoryPairs.push({\n          first: categoryData[i],\n          second: categoryData[i + 1] || null\n        });\n      }\n      return categoryPairs;\n    }\n    static #_4 = (() => dt7948.n(this.prototype, \"loadCategoryData\", [_object.action]))();\n  }\n  _exports.default = ForumIndexTopicList;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/connectors/after-create-topic-button/0-new-topic-btn\", [\"exports\", \"@glimmer/component\", \"@ember/object\", \"discourse/lib/plugin-api\"], function (_exports, _component, _object, _pluginApi) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class NewTopicBtn extends _component.default {\n    async handleClick() {\n      (0, _pluginApi.withPluginApi)(\"0.8.7\", api => {\n        const composerModel = api.container.lookup(\"service:composer\");\n        composerModel.open({\n          action: \"createTopic\",\n          draftKey: \"new_topic\",\n          categoryId: this.args.category?.id\n        });\n      });\n    }\n    static #_ = (() => dt7948.n(this.prototype, \"handleClick\", [_object.action]))();\n  }\n  _exports.default = NewTopicBtn;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/connectors/after-create-topic-button/new-question-btn\", [\"exports\", \"@glimmer/component\", \"discourse/models/category\", \"@ember/object\", \"discourse/lib/plugin-api\"], function (_exports, _component, _category, _object, _pluginApi) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class newQuestionBtn extends _component.default {\n    async handleClick() {\n      const categories = _category.default.list();\n      let questionCategoryId = null;\n      if (this.args.category) {\n        // Find the first child (if any)\n        const child = categories.find(c => c.parent_category_id === this.args.category.id);\n        if (child) {\n          questionCategoryId = child.id;\n        } else {\n          questionCategoryId = this.args.category.id; // Just use the current category if there's no child\n        }\n      }\n      (0, _pluginApi.withPluginApi)(\"0.8.7\", api => {\n        const composerModel = api.container.lookup(\"service:composer\");\n        composerModel.open({\n          action: \"createTopic\",\n          draftKey: \"new_question\",\n          categoryId: questionCategoryId\n        });\n      });\n    }\n    static #_ = (() => dt7948.n(this.prototype, \"handleClick\", [_object.action]))();\n  }\n  _exports.default = newQuestionBtn;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/connectors/custom-homepage/custom-homepage\", [\"exports\", \"@ember/application\"], function (_exports, _application) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    setupComponent(_attrs, component) {\n      const ctrl = (0, _application.getOwner)(component).lookup(\"controller:discovery/custom\");\n      if (!ctrl) return;\n      component.setProperties({\n        banners: ctrl.banners,\n        ad: ctrl.ad,\n        latestTopics: ctrl.latestTopics,\n        isLoggedIn: ctrl.isLoggedIn,\n        upcomingEvents: ctrl.upcomingEvents\n      });\n    }\n  };\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/connectors/post-avatar-flair/post-user-info\", [\"exports\", \"@glimmer/component\", \"@ember/service\", \"discourse/plugins/discourse-plugin-content-platform/discourse/lib/date-time-formatter\"], function (_exports, _component, _service, _dateTimeFormatter) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class PostMetadata extends _component.default {\n    static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    get memberSince() {\n      const memberSince = this.args.post.user_member_since;\n      if (memberSince !== undefined) {\n        return (0, _dateTimeFormatter.formatDate)(new Date(memberSince));\n      } else if (this.currentUser) {\n        return (0, _dateTimeFormatter.formatDate)(new Date(this.currentUser.created_at));\n      }\n      return (0, _dateTimeFormatter.formatDate)(new Date());\n    }\n  }\n  _exports.default = PostMetadata;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/connectors/post-metadata/post-metadata\", [\"exports\", \"@glimmer/component\", \"discourse/plugins/discourse-plugin-content-platform/discourse/lib/date-time-formatter\"], function (_exports, _component, _dateTimeFormatter) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class PostMetadata extends _component.default {\n    constructor(owner, args) {\n      super(owner, args);\n      this.createdAt = (0, _dateTimeFormatter.formatDateTime)(new Date(this.args.post.created_at));\n    }\n  }\n  _exports.default = PostMetadata;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/connectors/topic-category-wrapper/cp-topic-tags\", [\"exports\", \"@glimmer/component\", \"discourse/plugins/discourse-plugin-content-platform/discourse/lib/date-time-formatter\"], function (_exports, _component, _dateTimeFormatter) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class CpTopicTags extends _component.default {\n    constructor(owner, args) {\n      super(owner, args);\n      this.createdAt = (0, _dateTimeFormatter.formatDateTime)(new Date(this.args.topic.created_at));\n    }\n  }\n  _exports.default = CpTopicTags;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/connectors/topic-list-item/cp-topic-list-item\", [\"exports\", \"@glimmer/component\", \"discourse/lib/formatter\"], function (_exports, _component, _formatter) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class CpTopicListItem extends _component.default {\n    constructor(owner, args) {\n      super(owner, args);\n      this.bumpedAt = this.args.topic.bumpedAt;\n    }\n    get lastPostedAt() {\n      let lastPostedAt = null;\n      if (this.bumpedAt) {\n        const calculatedPostedAt = (0, _formatter.relativeAgeMediumSpan)((Date.now() - new Date(this.bumpedAt).getTime()) / 1000, true);\n        lastPostedAt = calculatedPostedAt === \"0 years ago\" ? \"just now\" : calculatedPostedAt;\n      }\n      return lastPostedAt;\n    }\n  }\n  _exports.default = CpTopicListItem;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-advertisement\", [\"exports\", \"@ember/controller\"], function (_exports, _controller) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminPluginsIgamesCpAdvertisementController extends _controller.default {}\n  _exports.default = AdminPluginsIgamesCpAdvertisementController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-campaigns\", [\"exports\", \"@ember/controller\"], function (_exports, _controller) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminIgamesCpCampaignsController extends _controller.default {}\n  _exports.default = AdminIgamesCpCampaignsController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-giveaways\", [\"exports\", \"@ember/controller\"], function (_exports, _controller) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminPluginsIgamesCpGiveawaysController extends _controller.default {\n    init() {\n      super.init(...arguments);\n      console.log(\"AdminPluginsIgamesCpGiveawaysController init()\");\n    }\n  }\n  _exports.default = AdminPluginsIgamesCpGiveawaysController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-homepage\", [\"exports\", \"@ember/controller\"], function (_exports, _controller) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminPluginsIgamesCpHomepageController extends _controller.default {}\n  _exports.default = AdminPluginsIgamesCpHomepageController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-img-upload\", [\"exports\", \"@ember/controller\", \"@ember/object\", \"@glimmer/tracking\", \"discourse/lib/ajax\"], function (_exports, _controller, _object, _tracking, _ajax) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminPluginsIgamesCpImgUploadController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"selectedFile\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #selectedFile = (() => (dt7948.i(this, \"selectedFile\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"uploadResponse\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #uploadResponse = (() => (dt7948.i(this, \"uploadResponse\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"errorMessage\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #errorMessage = (() => (dt7948.i(this, \"errorMessage\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"selectedFileName\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #selectedFileName = (() => (dt7948.i(this, \"selectedFileName\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"isUploading\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isUploading = (() => (dt7948.i(this, \"isUploading\"), void 0))();\n    init() {\n      super.init(...arguments);\n    }\n    handleFileChange(event) {\n      this.selectedFile = event.target.files[0];\n      this.selectedFileName = this.selectedFile.name;\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"handleFileChange\", [_object.action]))();\n    async uploadImage(event) {\n      event.preventDefault();\n      this.uploadResponse = null;\n      this.errorMessage = null;\n      if (!this.selectedFile) {\n        this.errorMessage = \"Please choose a file.\";\n        return;\n      }\n      const formData = new FormData();\n      formData.append(\"file\", this.selectedFile);\n      try {\n        this.isUploading = true;\n        const result = await (0, _ajax.ajax)(\"/cp_img/upload\", {\n          method: \"POST\",\n          processData: false,\n          contentType: false,\n          data: formData\n        });\n        this.uploadResponse = result;\n      } catch (e) {\n        console.log(e);\n        this.errorMessage = e.jqXHR?.responseJSON?.error || \"Upload failed.\";\n      } finally {\n        this.isUploading = false;\n      }\n    }\n    static #_7 = (() => dt7948.n(this.prototype, \"uploadImage\", [_object.action]))();\n  }\n  _exports.default = AdminPluginsIgamesCpImgUploadController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-manage-blog\", [\"exports\", \"@ember/controller\"], function (_exports, _controller) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminPluginsIgamesCpManageBlogController extends _controller.default {}\n  _exports.default = AdminPluginsIgamesCpManageBlogController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-reported-content\", [\"exports\", \"@ember/controller\", \"@glimmer/tracking\", \"@ember/object\", \"discourse/lib/ajax\"], function (_exports, _controller, _tracking, _object, _ajax) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const ALLOWED_STATUSES = [\"open\", \"approved\", \"denied\"];\n  class AdminPluginsIgamesCpReportedContentController extends _controller.default {\n    // URL state\n    queryParams = [\"status\", \"limit\", \"cursor\", \"q\"];\n\n    // Controls\n    static #_ = (() => dt7948.g(this.prototype, \"status\", [_tracking.tracked], function () {\n      return \"open\";\n    }))();\n    #status = (() => (dt7948.i(this, \"status\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"limit\", [_tracking.tracked], function () {\n      return 50;\n    }))();\n    #limit = (() => (dt7948.i(this, \"limit\"), void 0))(); // \"open\" | \"approved\" | \"denied\"\n    static #_3 = (() => dt7948.g(this.prototype, \"cursor\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #cursor = (() => (dt7948.i(this, \"cursor\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"q\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #q = (() => (dt7948.i(this, \"q\"), void 0))(); // urlsafe base64 string\n    static #_5 = (() => dt7948.g(this.prototype, \"reports\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #reports = (() => (dt7948.i(this, \"reports\"), void 0))(); // filter text\n    // Data\n    static #_6 = (() => dt7948.g(this.prototype, \"loading\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loading = (() => (dt7948.i(this, \"loading\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"loadingAction\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loadingAction = (() => (dt7948.i(this, \"loadingAction\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"errorMessage\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #errorMessage = (() => (dt7948.i(this, \"errorMessage\"), void 0))();\n    static #_9 = (() => dt7948.g(this.prototype, \"message\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #message = (() => (dt7948.i(this, \"message\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"nextCursor\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #nextCursor = (() => (dt7948.i(this, \"nextCursor\"), void 0))(); // Paging\n    // from backend next_key\n    prevStack = [];\n\n    // Notes map (per report_id)\n    static #_11 = (() => dt7948.g(this.prototype, \"notes\", [_tracking.tracked], function () {\n      return Object.create(null);\n    }))();\n    #notes = (() => (dt7948.i(this, \"notes\"), void 0))();\n    // ---------- lifecycle ----------\n    init() {\n      super.init(...arguments);\n      if (!ALLOWED_STATUSES.includes(this.status)) {\n        this.status = \"open\";\n      }\n      this.refresh();\n    }\n\n    // ---------- computed helpers ----------\n    get hasNext() {\n      return !!this.nextCursor;\n    }\n    get hasPrev() {\n      return this.prevStack.length > 0;\n    }\n    fmtEpoch(v) {\n      if (!v && v !== 0) return \"—\";\n      const n = Number(v);\n      if (!Number.isFinite(n) || n <= 0) return \"—\";\n      try {\n        return new Date(n * 1000).toLocaleString();\n      } catch {\n        return String(v);\n      }\n    }\n\n    // text filter over a few useful fields\n    get filteredReports() {\n      const t = (this.q || \"\").trim().toLowerCase();\n      if (!t) return this.reports;\n      return this.reports.filter(r => {\n        const fields = [r.id, r.status, r.target_type, r.target_id, r.reason_code, r.reason_text, String(r.reporter_user_id), String(r.reported_user_id)].map(x => (x || \"\").toString().toLowerCase());\n        return fields.some(f => f.includes(t));\n      });\n    }\n\n    // snapshot helpers for display\n    aboutExcerptFor(r) {\n      return r?.content_snapshot?.about_me_excerpt || \"\";\n    }\n    imageIdFor(r) {\n      return r?.content_snapshot?.image_id || \"\";\n    }\n\n    // bound accessor for notes (avoid undefined this)\n    noteFor = id => this.notes?.[id] ?? \"\";\n\n    // ---------- data fetch ----------\n    async loadReports() {\n      let {\n        cursor = null\n      } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n      this.loading = true;\n      this.errorMessage = null;\n      try {\n        const params = {\n          status: this.status,\n          limit: this.limit\n        };\n        if (cursor) params.last_key = cursor; // urlsafe b64 from server\n\n        const resp = await (0, _ajax.ajax)(\"/cp/reported-content\", {\n          type: \"GET\",\n          data: params\n        });\n        if (!resp?.success) throw new Error(resp?.error || \"Failed to load reports\");\n\n        // keep raw shape; optionally normalize timestamps for display\n        const items = (resp.reports || []).map(r => ({\n          ...r,\n          created_at_fmt: this.fmtEpoch(r.created_at),\n          decision_at_fmt: this.fmtEpoch(r.decision_at)\n        }));\n        this.reports = items;\n        this.nextCursor = resp.next_key || null;\n        this.cursor = cursor || null;\n      } catch (e) {\n        const payload = e?.jqXHR?.responseJSON;\n        this.errorMessage = payload?.error || e?.message || \"Load failed\";\n        // console.error(\"loadReports error\", e);\n      } finally {\n        this.loading = false;\n      }\n    }\n\n    // ---------- actions ----------\n    async refresh() {\n      this.prevStack = [];\n      await this.loadReports({\n        cursor: null\n      });\n    }\n    static #_12 = (() => dt7948.n(this.prototype, \"refresh\", [_object.action]))();\n    async nextPage() {\n      if (!this.nextCursor) return;\n      this.prevStack.push(this.cursor);\n      await this.loadReports({\n        cursor: this.nextCursor\n      });\n    }\n    static #_13 = (() => dt7948.n(this.prototype, \"nextPage\", [_object.action]))();\n    async prevPage() {\n      if (!this.hasPrev) return;\n      const cursor = this.prevStack.pop();\n      await this.loadReports({\n        cursor\n      });\n    }\n    static #_14 = (() => dt7948.n(this.prototype, \"prevPage\", [_object.action]))();\n    async onStatusChange(e) {\n      this.status = e.target.value || \"open\";\n      await this.refresh();\n    }\n    static #_15 = (() => dt7948.n(this.prototype, \"onStatusChange\", [_object.action]))();\n    async onLimitChange(e) {\n      this.limit = parseInt(e.target.value || \"50\", 10);\n      await this.refresh();\n    }\n    static #_16 = (() => dt7948.n(this.prototype, \"onLimitChange\", [_object.action]))();\n    onQueryInput(e) {\n      this.q = e.target.value || \"\";\n    }\n    static #_17 = (() => dt7948.n(this.prototype, \"onQueryInput\", [_object.action]))();\n    updateNote(id, e) {\n      const v = (e?.target?.value ?? \"\").slice(0, 2000);\n      this.notes = {\n        ...this.notes,\n        [id]: v\n      }; // retrack\n    }\n    static #_18 = (() => dt7948.n(this.prototype, \"updateNote\", [_object.action]))();\n    async approveReport(r) {\n      if (!r?.id) return;\n      this.loadingAction = true;\n      this.errorMessage = null;\n      this.message = null;\n      try {\n        await (0, _ajax.ajax)(\"/cp/review-content\", {\n          type: \"POST\",\n          data: {\n            report_id: r.id,\n            decision: \"approve\",\n            moderator_note: this.noteFor(r.id)\n          }\n        });\n        this.message = `Approved report ${r.id}`;\n        await this.refresh();\n      } catch (e) {\n        console.log(e);\n        this.errorMessage = e?.jqXHR?.responseJSON?.error || e?.message || \"Approve failed\";\n      } finally {\n        this.loadingAction = false;\n      }\n    }\n    static #_19 = (() => dt7948.n(this.prototype, \"approveReport\", [_object.action]))();\n    async denyReport(r) {\n      if (!r?.id) return;\n      this.loadingAction = true;\n      this.errorMessage = null;\n      this.message = null;\n      try {\n        await (0, _ajax.ajax)(\"/cp/review-content\", {\n          type: \"POST\",\n          data: {\n            report_id: r.id,\n            decision: \"deny\",\n            moderator_note: this.noteFor(r.id)\n          }\n        });\n        this.message = `Denied report ${r.id}`;\n        await this.refresh();\n      } catch (e) {\n        this.errorMessage = e?.jqXHR?.responseJSON?.error || e?.message || \"Deny failed\";\n      } finally {\n        this.loadingAction = false;\n      }\n    }\n    static #_20 = (() => dt7948.n(this.prototype, \"denyReport\", [_object.action]))();\n  }\n  _exports.default = AdminPluginsIgamesCpReportedContentController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-settings\", [\"exports\", \"@ember/controller\"], function (_exports, _controller) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminPluginsIgamesCpSettingsController extends _controller.default {\n    init() {\n      super.init(...arguments);\n    }\n  }\n  _exports.default = AdminPluginsIgamesCpSettingsController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-upcoming-events\", [\"exports\", \"@ember/controller\"], function (_exports, _controller) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminPluginsIgamesCpUpcomingEventsController extends _controller.default {}\n  _exports.default = AdminPluginsIgamesCpUpcomingEventsController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/admin-plugins/igames-cp-user-game\", [\"exports\", \"@ember/controller\"], function (_exports, _controller) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AdminPluginsIgamesCpUserGameController extends _controller.default {}\n  _exports.default = AdminPluginsIgamesCpUserGameController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/amd-black-ops-7\", [\"exports\", \"@ember/controller\", \"@ember/object\"], function (_exports, _controller, _object) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AmdBlackOps7Controller extends _controller.default {\n    observers = [];\n    muteVideos() {\n      const videos = document.querySelectorAll('#bo7-fsr-vid, #blue-orange-bg-vid');\n      if (!videos) return;\n      videos.forEach(video => {\n        video.muted = true;\n      });\n    }\n    static #_ = (() => dt7948.n(this.prototype, \"muteVideos\", [_object.action]))();\n    setupFadeIn(element) {\n      const els = element.querySelectorAll('.bo7-fade-in-target');\n      const debounceMs = 50;\n      const timers = new WeakMap();\n      const io = new IntersectionObserver(entries => {\n        entries.forEach(entry => {\n          const target = entry.target;\n\n          // small debounce to prevent flicker\n          if (debounceMs) {\n            if (timers.has(target)) clearTimeout(timers.get(target));\n            timers.set(target, setTimeout(() => {\n              timers.delete(target);\n              toggleVisibility(entry, io);\n            }, debounceMs));\n          } else {\n            toggleVisibility(entry, io);\n          }\n        });\n      }, {\n        threshold: 0.2,\n        rootMargin: '0px 0px -10% 0px'\n      });\n      function toggleVisibility(entry) {\n        if (entry.isIntersecting) {\n          entry.target.classList.add('bo7-is-visible');\n        } else {\n          entry.target.classList.remove('bo7-is-visible');\n        }\n      }\n      els.forEach(el => io.observe(el));\n      this.observers.push(io);\n    }\n    static #_2 = (() => dt7948.n(this.prototype, \"setupFadeIn\", [_object.action]))();\n    willDestroy() {\n      super.willDestroy(...arguments);\n      this.observers.forEach(io => io.disconnect());\n      this.observers = [];\n    }\n  }\n  _exports.default = AmdBlackOps7Controller;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/amd-products\", [\"exports\", \"@ember/controller\", \"@ember/object\"], function (_exports, _controller, _object) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AmdProductsController extends _controller.default {\n    observers = [];\n    timeouts = [];\n    setupFadeIn(element) {\n      const targets = element.querySelectorAll(\"[data-aos]\");\n      if (!targets.length) return;\n      const initStartState = el => {\n        const mode = (el.getAttribute(\"data-aos\") || \"fade\").toLowerCase();\n        const distance = parseInt(el.getAttribute(\"data-aos-distance\") || \"100\", 10);\n        el.style.setProperty(\"opacity\", \"0\", \"important\");\n        let t = \"none\";\n        if (mode === \"fade-right\") t = `translateX(${distance}px)`;else if (mode === \"fade-left\") t = `translateX(-${distance}px)`;else if (mode === \"fade-up\") t = `translateY(${distance}px)`;else if (mode === \"fade-down\") t = `translateY(-${distance}px)`;else if (mode === \"zoom-in\") t = \"scale(0.95)\";\n        el.style.setProperty(\"transform\", t, \"important\");\n        el.style.setProperty(\"transition\", \"opacity 400ms ease, transform 400ms ease\", \"important\");\n      };\n      const reveal = el => {\n        const delay = parseInt(el.getAttribute(\"data-aos-delay\") || \"0\", 10);\n        const id = setTimeout(() => {\n          el.style.setProperty(\"opacity\", \"1\", \"important\");\n          el.style.setProperty(\"transform\", \"none\", \"important\");\n        }, Math.max(0, delay));\n        this.timeouts.push(id);\n      };\n      const io = new IntersectionObserver(entries => {\n        entries.forEach(e => {\n          if (e.isIntersecting) {\n            reveal(e.target);\n            io.unobserve(e.target);\n          }\n        });\n      }, {\n        threshold: 0.15\n      });\n      targets.forEach(el => {\n        initStartState(el);\n        io.observe(el);\n      });\n      this.observers.push(io);\n    }\n    static #_ = (() => dt7948.n(this.prototype, \"setupFadeIn\", [_object.action]))();\n    willDestroy() {\n      super.willDestroy(...arguments);\n      this.observers.forEach(io => io.disconnect());\n      this.timeouts.forEach(t => clearTimeout(t));\n      this.observers = [];\n      this.timeouts = [];\n    }\n  }\n  _exports.default = AmdProductsController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/amd-the-game-awards\", [\"exports\", \"@ember/controller\", \"@ember/object\"], function (_exports, _controller, _object) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class AmdTheGameAwardsController extends _controller.default {\n    observers = [];\n    get brandLinks() {\n      return this.model.brandLinks;\n    }\n    get activeSweep() {\n      return this.model.activeSweep;\n    }\n    get gleamEmbed1() {\n      return this.model.gleamEmbed1;\n    }\n    get gleamEmbed2() {\n      return this.model.gleamEmbed2;\n    }\n    get gleamEmbed3() {\n      return this.model.gleamEmbed3;\n    }\n    get gleamEmbed4() {\n      return this.model.gleamEmbed4;\n    }\n    get gleamEmbedArray() {\n      return [this.gleamEmbed1, this.gleamEmbed2, this.gleamEmbed3, this.gleamEmbed4];\n    }\n    get currentGleamEmbedUrl() {\n      const code = this.activeSweep < 5 ? this.gleamEmbedArray[this.activeSweep - 1] : \"\";\n      return this.generateGleamEmbedUrl(code);\n    }\n    renderGleamSweep() {\n      if (this.activeSweep > 0 && this.activeSweep < 5 && this.gleamEmbedArray[this.activeSweep - 1] !== \"\") {\n        return true;\n      }\n      return false;\n    }\n    static #_ = (() => dt7948.n(this.prototype, \"renderGleamSweep\", [_object.action]))();\n    generateGleamEmbedUrl(embedCode) {\n      return `https://gleam.io/${embedCode}/gleam-giveaway`;\n    }\n    static #_2 = (() => dt7948.n(this.prototype, \"generateGleamEmbedUrl\", [_object.action]))();\n    generateGleamSiteUrl(embedCode) {\n      return `https://gleam.io/competitions/${embedCode}`;\n    }\n    static #_3 = (() => dt7948.n(this.prototype, \"generateGleamSiteUrl\", [_object.action]))();\n    loadGleamEmbed() {\n      let script = document.createElement('script');\n      script.src = 'https://widget.gleamjs.io/e.js';\n      script.async = true;\n      document.body.appendChild(script);\n    }\n    static #_4 = (() => dt7948.n(this.prototype, \"loadGleamEmbed\", [_object.action]))();\n    loadTwitchEmbed() {\n      if (!document.querySelector('script[src=\"https://embed.twitch.tv/embed/v1.js\"]')) {\n        const script = document.createElement(\"script\");\n        script.src = \"https://embed.twitch.tv/embed/v1.js\";\n        script.onload = () => {\n          new Twitch.Embed(\"tga-twitch-embed\", {\n            width: \"80%\",\n            height: \"100%\",\n            channel: \"amd\",\n            muted: true,\n            autoplay: false\n          });\n        };\n        document.body.appendChild(script);\n      } else {\n        // Script already loaded\n        new Twitch.Embed(\"tga-twitch-embed\", {\n          width: \"80%\",\n          height: \"100%\",\n          channel: \"amd\",\n          muted: true,\n          autoplay: false\n        });\n      }\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"loadTwitchEmbed\", [_object.action]))();\n    duplicateBrands(element) {\n      const scrollerInner = element.querySelector('.scroller__inner');\n      const scrollerContent = Array.from(scrollerInner.children);\n      scrollerContent.forEach(item => {\n        const duplicatedItem = item.cloneNode(true);\n        duplicatedItem.setAttribute('aria-hidden', true);\n        scrollerInner.appendChild(duplicatedItem);\n      });\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"duplicateBrands\", [_object.action]))();\n    muteAndPlayVideo() {\n      const videos = document.querySelectorAll('#tga-bg-vid');\n      if (!videos) return;\n      videos.forEach(video => {\n        video.muted = true;\n        video.play();\n      });\n    }\n    static #_7 = (() => dt7948.n(this.prototype, \"muteAndPlayVideo\", [_object.action]))();\n    willDestroy() {\n      super.willDestroy(...arguments);\n      this.observers.forEach(io => io.disconnect());\n      this.observers = [];\n    }\n  }\n  _exports.default = AmdTheGameAwardsController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/blog-post\", [\"exports\", \"@ember/controller\", \"@glimmer/tracking\", \"@ember/service\", \"@ember/object\", \"discourse/lib/ajax\", \"discourse/lib/text\", \"@ember/template\", \"discourse/models/composer\", \"discourse/models/topic\", \"discourse/lib/get-url\", \"discourse/lib/url\", \"@ember/runloop\"], function (_exports, _controller, _tracking, _service, _object, _ajax, _text, _template, _composer3, _topic, _getUrl, _url, _runloop) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const EMPTY_FILES = {\n    desktop: null,\n    mobile: null,\n    thumb: null\n  };\n  const EMPTY_PREVIEW = {\n    desktop: null,\n    mobile: null,\n    thumb: null\n  };\n  function slugify() {\n    let str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n    return String(str).normalize(\"NFKD\").toLowerCase().replace(/[^a-z0-9]+/g, \"-\").replace(/^-+|-+$/g, \"\").replace(/-{2,}/g, \"-\");\n  }\n  function fmtDate(dt) {\n    return new Date(dt).toLocaleString([], {\n      month: \"short\",\n      day: \"2-digit\",\n      year: \"numeric\"\n    });\n  }\n  function mapNode(p) {\n    let likeActionId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n    const likeSummary = (p.actions_summary || []).find(a => a.id === likeActionId);\n    const like_count = p.like_count ?? (likeSummary && typeof likeSummary.count === \"number\" ? likeSummary.count : 0);\n    const liked = !!(likeSummary && likeSummary.acted);\n    return {\n      id: p.id,\n      user_id: p.user_id,\n      post_number: p.post_number,\n      reply_to_post_number: p.reply_to_post_number || null,\n      username: p.display_username || p.username,\n      avatarUrl: (p.avatar_template || \"\").replace(\"{size}\", \"120\"),\n      cooked: p.cooked,\n      createdAt: new Date(p.created_at).toLocaleString([], {\n        month: \"2-digit\",\n        day: \"2-digit\",\n        year: \"2-digit\",\n        hour: \"2-digit\",\n        minute: \"2-digit\"\n      }),\n      isoCreatedAt: p.created_at,\n      post_url: p.post_url,\n      like_count,\n      liked,\n      children: []\n    };\n  }\n  function mapCommentsTree(posts) {\n    let likeActionId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n    const byNumber = new Map();\n    const roots = [];\n    (posts || []).filter(p => p.post_number > 1 && p.post_type === 1 && !p.deleted_at).forEach(p => byNumber.set(p.post_number, mapNode(p, likeActionId)));\n    (posts || []).filter(p => p.post_number > 1 && p.post_type === 1 && !p.deleted_at).forEach(p => {\n      const node = byNumber.get(p.post_number);\n      const parentNo = p.reply_to_post_number;\n      if (parentNo && byNumber.has(parentNo)) {\n        byNumber.get(parentNo).children.push(node);\n      } else {\n        roots.push(node);\n      }\n    });\n    return roots;\n  }\n  function flattenComments(nodes) {\n    let depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n    let out = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n    (nodes || []).forEach(n => {\n      out.push({\n        ...n,\n        depth\n      });\n      if (n.children?.length) {\n        flattenComments(n.children, depth + 1, out);\n      }\n    });\n    return out;\n  }\n  class BlogPostController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"ui\", [_service.service]))();\n    #ui = (() => (dt7948.i(this, \"ui\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"toast\", [_service.service]))();\n    #toast = (() => (dt7948.i(this, \"toast\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n    #router = (() => (dt7948.i(this, \"router\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"composer\", [_service.service]))();\n    #composer = (() => (dt7948.i(this, \"composer\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"store\", [_service.service]))();\n    #store = (() => (dt7948.i(this, \"store\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"appEvents\", [_service.service]))();\n    #appEvents = (() => (dt7948.i(this, \"appEvents\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"post\", [_tracking.tracked]))();\n    #post = (() => (dt7948.i(this, \"post\"), void 0))();\n    static #_9 = (() => dt7948.g(this.prototype, \"author\", [_tracking.tracked]))();\n    #author = (() => (dt7948.i(this, \"author\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"isAdmin\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isAdmin = (() => (dt7948.i(this, \"isAdmin\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"blogId\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #blogId = (() => (dt7948.i(this, \"blogId\"), void 0))();\n    static #_12 = (() => dt7948.g(this.prototype, \"topicId\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #topicId = (() => (dt7948.i(this, \"topicId\"), void 0))();\n    static #_13 = (() => dt7948.g(this.prototype, \"postTitle\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #postTitle = (() => (dt7948.i(this, \"postTitle\"), void 0))();\n    static #_14 = (() => dt7948.g(this.prototype, \"postSubtitle\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #postSubtitle = (() => (dt7948.i(this, \"postSubtitle\"), void 0))();\n    static #_15 = (() => dt7948.g(this.prototype, \"postContent\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #postContent = (() => (dt7948.i(this, \"postContent\"), void 0))();\n    static #_16 = (() => dt7948.g(this.prototype, \"postContentCooked\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #postContentCooked = (() => (dt7948.i(this, \"postContentCooked\"), void 0))();\n    static #_17 = (() => dt7948.g(this.prototype, \"headerDesktopUrl\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #headerDesktopUrl = (() => (dt7948.i(this, \"headerDesktopUrl\"), void 0))();\n    static #_18 = (() => dt7948.g(this.prototype, \"headerMobileUrl\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #headerMobileUrl = (() => (dt7948.i(this, \"headerMobileUrl\"), void 0))();\n    static #_19 = (() => dt7948.g(this.prototype, \"updatedAt\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #updatedAt = (() => (dt7948.i(this, \"updatedAt\"), void 0))();\n    static #_20 = (() => dt7948.g(this.prototype, \"canReply\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #canReply = (() => (dt7948.i(this, \"canReply\"), void 0))();\n    static #_21 = (() => dt7948.g(this.prototype, \"commentsClosed\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #commentsClosed = (() => (dt7948.i(this, \"commentsClosed\"), void 0))();\n    likeActionId = 2;\n    static #_22 = (() => dt7948.g(this.prototype, \"reactionsCount\", [_tracking.tracked], function () {\n      return 0;\n    }))();\n    #reactionsCount = (() => (dt7948.i(this, \"reactionsCount\"), void 0))();\n    static #_23 = (() => dt7948.g(this.prototype, \"likedFirstPost\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #likedFirstPost = (() => (dt7948.i(this, \"likedFirstPost\"), void 0))();\n    static #_24 = (() => dt7948.g(this.prototype, \"likeBusy\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #likeBusy = (() => (dt7948.i(this, \"likeBusy\"), void 0))();\n    firstPostId = null;\n    static #_25 = (() => dt7948.g(this.prototype, \"commentsTree\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #commentsTree = (() => (dt7948.i(this, \"commentsTree\"), void 0))();\n    get commentsFlat() {\n      return flattenComments(this.commentsTree);\n    }\n    get continueDiscussionUrl() {\n      return this.topicId ? (0, _getUrl.default)(`/t/${this.topicId}`) : null;\n    }\n    static #_26 = (() => dt7948.g(this.prototype, \"editing\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #editing = (() => (dt7948.i(this, \"editing\"), void 0))();\n    static #_27 = (() => dt7948.g(this.prototype, \"isSaving\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isSaving = (() => (dt7948.i(this, \"isSaving\"), void 0))();\n    static #_28 = (() => dt7948.g(this.prototype, \"mode\", [_tracking.tracked], function () {\n      return \"edit\";\n    }))();\n    #mode = (() => (dt7948.i(this, \"mode\"), void 0))();\n    static #_29 = (() => dt7948.g(this.prototype, \"title\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #title = (() => (dt7948.i(this, \"title\"), void 0))();\n    static #_30 = (() => dt7948.g(this.prototype, \"subtitle\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #subtitle = (() => (dt7948.i(this, \"subtitle\"), void 0))();\n    static #_31 = (() => dt7948.g(this.prototype, \"raw\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #raw = (() => (dt7948.i(this, \"raw\"), void 0))();\n    static #_32 = (() => dt7948.g(this.prototype, \"featured\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #featured = (() => (dt7948.i(this, \"featured\"), void 0))();\n    static #_33 = (() => dt7948.g(this.prototype, \"files\", [_tracking.tracked], function () {\n      return {\n        ...EMPTY_FILES\n      };\n    }))();\n    #files = (() => (dt7948.i(this, \"files\"), void 0))();\n    static #_34 = (() => dt7948.g(this.prototype, \"preview\", [_tracking.tracked], function () {\n      return {\n        ...EMPTY_PREVIEW\n      };\n    }))();\n    #preview = (() => (dt7948.i(this, \"preview\"), void 0))();\n    static #_35 = (() => dt7948.g(this.prototype, \"categories\", [_tracking.tracked], function () {\n      return [{\n        slug: \"game-news\",\n        name: \"Game News\"\n      }, {\n        slug: \"amd-news\",\n        name: \"AMD News\"\n      }, {\n        slug: \"ai-news\",\n        name: \"AI News\"\n      }];\n    }))();\n    #categories = (() => (dt7948.i(this, \"categories\"), void 0))();\n    static #_36 = (() => dt7948.g(this.prototype, \"selectedMap\", [_tracking.tracked], function () {\n      return {};\n    }))();\n    #selectedMap = (() => (dt7948.i(this, \"selectedMap\"), void 0))();\n    get selectedCatsArr() {\n      return Object.keys(this.selectedMap).filter(k => this.selectedMap[k]);\n    }\n    get selectedCatsCsv() {\n      return this.selectedCatsArr.join(\",\");\n    }\n    toggleFixed(slug, ev) {\n      this.selectedMap = {\n        ...this.selectedMap,\n        [slug]: !!ev.target.checked\n      };\n    }\n\n    // draft clock\n    static #_37 = (() => dt7948.n(this.prototype, \"toggleFixed\", [_object.action]))();\n    static #_38 = (() => dt7948.g(this.prototype, \"now\", [_tracking.tracked], function () {\n      return new Date();\n    }))();\n    #now = (() => (dt7948.i(this, \"now\"), void 0))();\n    #fmt = (() => new Intl.DateTimeFormat([], {\n      hour: \"2-digit\",\n      minute: \"2-digit\"\n    }))();\n    get draftTime() {\n      return this.#fmt.format(this.now);\n    }\n    _GUARD_MS = (() => 10 * 60 * 1000)(); // 10 minutes\n    _blocking = false;\n    _guardTimer = null;\n    _activityHandler = null;\n    _stayHereOff = null;\n    _origRouteTo = null;\n    _origRedirectTo = null;\n    _onPostCreated = null;\n    static #_39 = (() => dt7948.g(this.prototype, \"_scrollToPostId\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #_scrollToPostId = (() => (dt7948.i(this, \"_scrollToPostId\"), void 0))();\n    _postBodyEl = null;\n    init() {\n      super.init?.(...arguments);\n      this.primePage();\n    }\n    willDestroy() {\n      super.willDestroy?.(...arguments);\n      this._blockTopicNavStop();\n      if (this._onPostCreated) {\n        this.appEvents.off(\"post:created\", this._onPostCreated);\n        this._onPostCreated = null;\n      }\n      this._postBodyEl = null;\n    }\n    primePage() {\n      if (this.isAdmin) {\n        this.ui.setHeaderAction({\n          label: \"EDIT\",\n          onClick: this.openEdit\n        });\n      }\n      this._initFirstPostReactions();\n      this._maybeHydrateEmbedsSoon();\n    }\n    setCommentsResponse(payload) {\n      if (!payload) return;\n      this.topicId = payload.topic_id ?? null;\n      this.canReply = !!payload.can_reply;\n      this.likeActionId = payload.like_action_id || 2;\n      this.commentsTree = mapCommentsTree(payload.posts, this.likeActionId);\n      this.commentsClosed = !!payload.closed || !!payload.topic_closed || !!payload.topicClosed || payload.topic_details && payload.topic_details.closed === true;\n      this._initFirstPostReactions();\n    }\n    static #_40 = (() => dt7948.n(this.prototype, \"setCommentsResponse\", [_object.action]))();\n    async _loadTopicModel(topicId) {\n      const data = await _topic.default.find(topicId, {});\n      return this.store.createRecord(\"topic\", data);\n    }\n    async _loadPostModel(_ref) {\n      let {\n        topicModel,\n        id,\n        post_number\n      } = _ref;\n      let pj = null;\n      if (id) {\n        pj = await (0, _ajax.ajax)(`/posts/${id}.json`);\n      } else if (post_number) {\n        const resp = await (0, _ajax.ajax)(`/t/${topicModel.id}/posts.json?post_numbers[]=${post_number}`);\n        pj = resp?.post_stream?.posts?.[0] || null;\n      }\n      if (!pj) return null;\n      const postModel = this.store.createRecord(\"post\", pj);\n      postModel.set(\"topic\", topicModel);\n      return postModel;\n    }\n    _isTopicPath(path) {\n      try {\n        if (typeof path !== \"string\") return false;\n        if (/^\\/t\\//.test(path)) return true;\n        const u = new URL(path, window.location.origin);\n        return /^\\/t\\//.test(u.pathname);\n      } catch {\n        return false;\n      }\n    }\n    _resetGuardTimer() {\n      if (this._guardTimer) clearTimeout(this._guardTimer);\n      this._guardTimer = setTimeout(() => {\n        this._blockTopicNavStop();\n      }, this._GUARD_MS);\n    }\n    _startKeepAlive() {\n      if (this._activityHandler) return;\n      this._activityHandler = () => this._resetGuardTimer();\n      window.addEventListener(\"keydown\", this._activityHandler, {\n        passive: true\n      });\n      window.addEventListener(\"pointerdown\", this._activityHandler, {\n        passive: true\n      });\n      window.addEventListener(\"visibilitychange\", this._activityHandler, {\n        passive: true\n      });\n    }\n    _stopKeepAlive() {\n      if (!this._activityHandler) return;\n      window.removeEventListener(\"keydown\", this._activityHandler);\n      window.removeEventListener(\"pointerdown\", this._activityHandler);\n      window.removeEventListener(\"visibilitychange\", this._activityHandler);\n      this._activityHandler = null;\n    }\n    _blockTopicNavStart() {\n      if (this._blocking) return;\n      this._blocking = true;\n      this._origRouteTo = _url.default.routeTo;\n      this._origRedirectTo = _url.default.redirectTo;\n      _url.default.routeTo = (path, opts) => {\n        if (this._blocking && this._isTopicPath(path)) return;\n        return this._origRouteTo.call(_url.default, path, opts);\n      };\n      _url.default.redirectTo = (path, opts) => {\n        if (this._blocking && this._isTopicPath(path)) return;\n        return this._origRedirectTo.call(_url.default, path, opts);\n      };\n      const onWillChange = transition => {\n        const url = transition?.intent?.url || \"\";\n        const toName = transition?.to?.name || \"\";\n        if (this._blocking && (this._isTopicPath(url) || toName.startsWith(\"topic\"))) {\n          transition.abort();\n        }\n      };\n      this.router.on(\"routeWillChange\", onWillChange);\n      this._stayHereOff = () => this.router.off(\"routeWillChange\", onWillChange);\n      this._startKeepAlive();\n      this._resetGuardTimer();\n    }\n    _blockTopicNavStop() {\n      this._blocking = false;\n      if (this._stayHereOff) {\n        this._stayHereOff();\n        this._stayHereOff = null;\n      }\n      if (this._guardTimer) {\n        clearTimeout(this._guardTimer);\n        this._guardTimer = null;\n      }\n      this._stopKeepAlive();\n      if (this._origRouteTo) {\n        _url.default.routeTo = this._origRouteTo;\n        this._origRouteTo = null;\n      }\n      if (this._origRedirectTo) {\n        _url.default.redirectTo = this._origRedirectTo;\n        this._origRedirectTo = null;\n      }\n    }\n    _scrollToComment(postId) {\n      if (!postId) return;\n      const el = document.getElementById(`cp-comment-${postId}`) || document.querySelector(`[data-post-id=\"${postId}\"]`);\n      if (!el) return;\n      el.scrollIntoView({\n        behavior: \"smooth\",\n        block: \"start\"\n      });\n      el.classList.add(\"cp-comment-flash\");\n      (0, _runloop.later)(() => el.classList.remove(\"cp-comment-flash\"), 1600);\n    }\n    _installPostCreatedHook() {\n      if (this._onPostCreated) return;\n      this._onPostCreated = async created => {\n        if (created?.topic_id !== this.topicId) return;\n        try {\n          this._scrollToPostId = created?.id ?? null;\n          await this._reloadAllComments(this._scrollToPostId);\n          this.toast?.success?.(\"Comment posted!\");\n        } catch (e) {\n          // eslint-disable-next-line no-console\n          console.error(\"Refresh comments failed\", e);\n        } finally {\n          this._blockTopicNavStop();\n          if (this._onPostCreated) {\n            this.appEvents.off(\"post:created\", this._onPostCreated);\n            this._onPostCreated = null;\n          }\n        }\n      };\n      this.appEvents.on(\"post:created\", this._onPostCreated);\n    }\n    async _reloadAllComments() {\n      let scrollToId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n      if (!this.topicId) return;\n      const t = await (0, _ajax.ajax)(`/t/${this.topicId}.json`);\n      const posts = t?.post_stream?.posts || [];\n      this.commentsTree = mapCommentsTree(posts, this.likeActionId);\n      this.commentsClosed = !!t?.closed;\n      this.canReply = !!t?.details?.can_reply;\n      if (scrollToId) {\n        (0, _runloop.scheduleOnce)(\"afterRender\", this, () => this._scrollToComment(scrollToId));\n        this._scrollToPostId = null;\n      }\n    }\n    async _initFirstPostReactions() {\n      if (this.post?.first_like_count != null) {\n        this.reactionsCount = this.post.first_like_count;\n      }\n      if (this.post?.first_liked != null) {\n        this.likedFirstPost = !!this.post.first_liked;\n      }\n      if (!this.topicId) return;\n      try {\n        const resp = await (0, _ajax.ajax)((0, _getUrl.default)(`/t/${this.topicId}/posts.json?post_numbers[]=1`));\n        const fp = resp?.post_stream?.posts?.[0];\n        if (fp) {\n          const likeRow = (fp.actions_summary || []).find(a => a.id === (this.likeActionId || 2));\n          this.firstPostId = fp.id;\n          this.reactionsCount = fp.like_count ?? likeRow?.count ?? 0;\n          this.likedFirstPost = !!likeRow?.acted;\n        }\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(\"first-post meta fetch failed\", e);\n      }\n    }\n    async toggleBlogLike() {\n      if (!this.isLoggedIn || !this.topicId || this.likeBusy) return;\n\n      // Ensure we know the first post id and current state\n      if (!this.firstPostId) {\n        await this._initFirstPostReactions();\n        if (!this.firstPostId) return;\n      }\n      const was = !!this.likedFirstPost;\n      const delta = was ? -1 : 1;\n      this.likedFirstPost = !was;\n      this.reactionsCount = Math.max(0, (this.reactionsCount || 0) + delta);\n      this.likeBusy = true;\n      try {\n        if (was) {\n          await (0, _ajax.ajax)((0, _getUrl.default)(`/post_actions/${this.firstPostId}`), {\n            type: \"DELETE\",\n            data: {\n              post_action_type_id: this.likeActionId || 2\n            }\n          });\n        } else {\n          await (0, _ajax.ajax)((0, _getUrl.default)(\"/post_actions\"), {\n            type: \"POST\",\n            data: {\n              id: this.firstPostId,\n              post_action_type_id: this.likeActionId || 2\n            }\n          });\n        }\n      } catch (e) {\n        // Revert on error\n        this.likedFirstPost = was;\n        this.reactionsCount = Math.max(0, (this.reactionsCount || 0) - delta);\n        this.toast?.error?.(this.#errMessage(e));\n      } finally {\n        this.likeBusy = false;\n      }\n    }\n\n    // Reply to a specific post\n    static #_41 = (() => dt7948.n(this.prototype, \"toggleBlogLike\", [_object.action]))();\n    async replyToPost(c) {\n      if (!this.canReply || this.commentsClosed || !this.topicId || !c) return;\n      const topicModel = await this._loadTopicModel(this.topicId);\n      const postModel = await this._loadPostModel({\n        topicModel,\n        id: c.id,\n        post_number: c.post_number\n      });\n      if (!postModel) {\n        this.toast?.error?.(\"Could not resolve the target post.\");\n        return;\n      }\n      this._blockTopicNavStart();\n      this._installPostCreatedHook();\n      this.composer.open({\n        action: _composer3.default.REPLY,\n        topic: topicModel,\n        post: postModel,\n        draftKey: topicModel.draft_key || `topic_${topicModel.id}`,\n        draftSequence: topicModel.draft_sequence ?? 0\n      });\n    }\n\n    // Reply to the topic (no specific post)\n    static #_42 = (() => dt7948.n(this.prototype, \"replyToPost\", [_object.action]))();\n    async replyToTopic() {\n      if (!this.topicId || !this.canReply || this.commentsClosed) return;\n      const topicModel = await this._loadTopicModel(this.topicId);\n      this._blockTopicNavStart();\n      this._installPostCreatedHook();\n      this.composer.open({\n        action: _composer3.default.REPLY,\n        topic: topicModel,\n        draftKey: topicModel.draft_key || `topic_${topicModel.id}`,\n        draftSequence: topicModel.draft_sequence ?? 0\n      });\n    }\n    static #_43 = (() => dt7948.n(this.prototype, \"replyToTopic\", [_object.action]))();\n    shareComment(c) {\n      if (!c?.post_url) return;\n      const url = window.location.origin + (0, _getUrl.default)(c.post_url);\n      navigator.clipboard?.writeText(url);\n      this.toast?.success?.(\"Comment link copied\");\n    }\n    static #_44 = (() => dt7948.n(this.prototype, \"shareComment\", [_object.action]))();\n    get isLoggedIn() {\n      return !!this.currentUser?.id;\n    }\n    isOwn = c => {\n      if (!c) return false;\n      const cu = this.currentUser;\n      if (!cu) return false;\n      if (c.user_id && cu.id && c.user_id === cu.id) return true;\n      const a = (c.username || c.display_username || \"\").toLowerCase();\n      const b = (cu.username || \"\").toLowerCase();\n      return a && b && a === b;\n    };\n    async toggleLike(node) {\n      if (!this.isLoggedIn || !node) return;\n      if (this.isOwn(node)) return;\n      const wasLiked = !!node.liked;\n      const delta = wasLiked ? -1 : 1;\n      const updateTree = list => list.map(n => {\n        if (n.id === node.id) {\n          return {\n            ...n,\n            liked: !wasLiked,\n            like_count: (n.like_count || 0) + delta\n          };\n        }\n        if (n.children?.length) {\n          return {\n            ...n,\n            children: updateTree(n.children)\n          };\n        }\n        return n;\n      });\n      const prev = this.commentsTree;\n      this.commentsTree = updateTree(prev);\n      try {\n        if (wasLiked) {\n          await (0, _ajax.ajax)((0, _getUrl.default)(`/post_actions/${node.id}`), {\n            type: \"DELETE\",\n            data: {\n              post_action_type_id: this.likeActionId\n            }\n          });\n        } else {\n          await (0, _ajax.ajax)((0, _getUrl.default)(\"/post_actions\"), {\n            type: \"POST\",\n            data: {\n              id: node.id,\n              post_action_type_id: this.likeActionId\n            }\n          });\n        }\n      } catch (e) {\n        // revert on error\n        this.commentsTree = prev;\n        this.toast?.error?.(this.#errMessage(e));\n      }\n    }\n\n    // indent style for flattened tree\n    static #_45 = (() => dt7948.n(this.prototype, \"toggleLike\", [_object.action]))();\n    indentStyle() {\n      let depth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n      const px = Math.min(24 * depth, 180);\n      return (0, _template.htmlSafe)(`margin-left: ${px}px`);\n    }\n    onShare(e) {\n      e?.preventDefault?.();\n      const url = location.href;\n      if (navigator.share) {\n        navigator.share({\n          title: this.postTitle,\n          text: this.postSubtitle,\n          url\n        }).catch(() => {});\n      } else {\n        navigator.clipboard?.writeText(url);\n      }\n    }\n\n    // Edit / Create\n    static #_46 = (() => dt7948.n(this.prototype, \"onShare\", [_object.action]))();\n    onEditClick() {\n      this.openEdit();\n    }\n    static #_47 = (() => dt7948.n(this.prototype, \"onEditClick\", [_object.action]))();\n    onNewClick() {\n      this.openCreate();\n    }\n    static #_48 = (() => dt7948.n(this.prototype, \"onNewClick\", [_object.action]))();\n    openEdit() {\n      if (!this.isAdmin || !this.post) return;\n      this.mode = \"edit\";\n      this.now = new Date();\n      this._prefillFromPost();\n      this.editing = true;\n      this.ui.setHeaderAction({\n        label: \"<- BACK\",\n        onClick: this.closeEdit\n      });\n    }\n    static #_49 = (() => dt7948.n(this.prototype, \"openEdit\", [_object.action]))();\n    openCreate() {\n      if (!this.isAdmin) return;\n      this.mode = \"create\";\n      this.now = new Date();\n      this._clearForm();\n      this.editing = true;\n      this.ui.setHeaderAction({\n        label: \"<- BACK\",\n        onClick: this.closeEdit\n      });\n    }\n    static #_50 = (() => dt7948.n(this.prototype, \"openCreate\", [_object.action]))();\n    closeEdit() {\n      this.editing = false;\n      this._revokeAllPreviews();\n      this.files = {\n        ...EMPTY_FILES\n      };\n      this.preview = {\n        ...EMPTY_PREVIEW\n      };\n      this.ui.setHeaderAction({\n        label: \"EDIT\",\n        onClick: this.openEdit\n      });\n    }\n    static #_51 = (() => dt7948.n(this.prototype, \"closeEdit\", [_object.action]))();\n    _prefillFromPost() {\n      this.title = this.post?.title || this.postTitle || \"\";\n      this.subtitle = this.post?.subtitle || this.postSubtitle || \"\";\n      this.featured = this.post?.featured || \"\";\n      this.raw = this.post?.content || this.postContent || \"\";\n      const csv = (this.post?.tags || \"\").trim();\n      const next = {};\n      (csv ? csv.split(\",\") : []).map(s => s.trim()).filter(Boolean).forEach(t => next[t] = true);\n      this.selectedMap = next;\n      this._revokeAllPreviews();\n      this.files = {\n        ...EMPTY_FILES\n      };\n      this.preview = {\n        ...EMPTY_PREVIEW\n      };\n    }\n    _clearForm() {\n      this.title = \"\";\n      this.subtitle = \"\";\n      this.featured = \"\";\n      this.raw = \"\";\n      this.selectedMap = {};\n      this._revokeAllPreviews();\n      this.files = {\n        ...EMPTY_FILES\n      };\n      this.preview = {\n        ...EMPTY_PREVIEW\n      };\n    }\n    #errMessage(e) {\n      return e?.jqXHR?.responseJSON?.error || e?.jqXHR?.responseJSON?.message || e?.message || \"Something went wrong\";\n    }\n    async #ensureBlogId() {\n      if (this.blogId) return this.blogId;\n      const resp = await (0, _ajax.ajax)(\"/blog-news\", {\n        type: \"GET\"\n      });\n      const id = resp?.blog_id || resp?.blogId;\n      if (!id) throw new Error(\"blogId missing from /blog-news\");\n      this.blogId = id;\n      return id;\n    }\n    stripMarkdown() {\n      let md = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n      return md.replace(/```[\\s\\S]*?```/g, \"\") // fenced code\n      .replace(/`[^`]*`/g, \"\") // inline code\n      .replace(/!\\[([^\\]]*)\\]\\([^)]+\\)/g, \"$1\") // images -> alt\n      .replace(/\\[([^\\]]+)\\]\\([^)]+\\)/g, \"$1\") // links -> text\n      .replace(/^\\s{0,3}>\\s?/gm, \"\") // blockquotes\n      .replace(/^\\s{0,3}#{1,6}\\s*/gm, \"\") // headings\n      .replace(/(\\*{1,3}|_{1,3})(?=\\S)(.*?)(?<=\\S)\\1/g, \"$2\") // bold/italic\n      .replace(/~~(?=\\S)(.*?)(?<=\\S)~~/g, \"$1\") // strikethrough\n      .replace(/^\\s*[-*+]\\s+/gm, \"\") // ul bullets\n      .replace(/^\\s*\\d+\\.\\s+/gm, \"\") // ol numbers\n      .replace(/<sup>(.*?)<\\/sup>/gi, \"[$1]\") // superscripts -> [n]\n      .replace(/<\\/?[^>]+>/g, \"\") // drop remaining HTML tags\n      .replace(/\\r?\\n+/g, \" \").replace(/\\s+/g, \" \").trim();\n    }\n    _blurbFromContent() {\n      let text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n      let max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 256;\n      const plain = this.stripMarkdown(text);\n      if (plain.length <= max) return plain;\n      const slice = plain.slice(0, max);\n      const lastSpace = slice.lastIndexOf(\" \");\n      return (lastSpace > 0 ? slice.slice(0, lastSpace) : slice).trim();\n    }\n    pickerEl = null;\n    _capturePickerRef(el) {\n      this.pickerEl = el;\n    }\n    static #_52 = (() => dt7948.n(this.prototype, \"_capturePickerRef\", [_object.action]))();\n    _triggerFilePick() {\n      this.pickerEl?.click();\n    }\n    static #_53 = (() => dt7948.n(this.prototype, \"_triggerFilePick\", [_object.action]))();\n    async _handlePickedFile(e) {\n      const file = e.target?.files?.[0];\n      if (!file) return;\n      await this.handleUpload([file]);\n      e.target.value = \"\";\n    }\n    static #_54 = (() => dt7948.n(this.prototype, \"_handlePickedFile\", [_object.action]))();\n    async _uploadImageFile(file) {\n      const fd = new FormData();\n      fd.append(\"file\", file);\n      const resp = await (0, _ajax.ajax)(\"/cp_blog/upload-image\", {\n        type: \"POST\",\n        data: fd,\n        processData: false,\n        contentType: false\n      });\n      const url = resp?.url;\n      if (!url) throw new Error(\"Upload failed: no URL returned\");\n      return url;\n    }\n    async handleUpload(files) {\n      const file = files?.[0];\n      if (!file) return;\n      try {\n        this.toast?.info?.(\"Uploading image…\");\n        const url = await this._uploadImageFile(file);\n        this.raw = `${this.raw || \"\"}\\n\\n![image](${url})\\n\\n`;\n        this.toast?.success?.(\"Image uploaded and inserted.\");\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(\"Upload failed\", e);\n        this.toast?.error?.(`Image upload failed: ${this.#errMessage(e)}`);\n      }\n    }\n    static #_55 = (() => dt7948.n(this.prototype, \"handleUpload\", [_object.action]))();\n    onDragOver(_kind, e) {\n      e.preventDefault();\n    }\n    static #_56 = (() => dt7948.n(this.prototype, \"onDragOver\", [_object.action]))();\n    onDrop(kind, e) {\n      e.preventDefault();\n      const file = e.dataTransfer?.files?.[0];\n      if (file) this._setFile(kind, file);\n    }\n    static #_57 = (() => dt7948.n(this.prototype, \"onDrop\", [_object.action]))();\n    onPick(kind, e) {\n      const file = e.target?.files?.[0];\n      if (file) this._setFile(kind, file);\n    }\n    static #_58 = (() => dt7948.n(this.prototype, \"onPick\", [_object.action]))();\n    _setFile(kind, file) {\n      if (!file.type?.startsWith?.(\"image/\")) {\n        this.toast?.error?.(\"Please upload an image file.\");\n        return;\n      }\n      const oldUrl = this.preview[kind];\n      if (oldUrl) URL.revokeObjectURL(oldUrl);\n      this.files = {\n        ...this.files,\n        [kind]: file\n      };\n      this.preview = {\n        ...this.preview,\n        [kind]: URL.createObjectURL(file)\n      };\n    }\n    _revokeAllPreviews() {\n      [\"desktop\", \"mobile\", \"thumb\"].forEach(k => {\n        if (this.preview[k]) URL.revokeObjectURL(this.preview[k]);\n      });\n      this.preview = {\n        ...EMPTY_PREVIEW\n      };\n    }\n    async savePost(e) {\n      e?.preventDefault?.();\n      if (!this.isAdmin) return;\n      const creating = this.mode === \"create\";\n      const editingExisting = this.mode === \"edit\" && this.post?.id;\n\n      // validate\n      if (!this.title?.trim()) {\n        this.toast.error(\"Title is required.\");\n        return;\n      }\n      if (!this.subtitle?.trim()) {\n        this.toast.error(\"Subtitle is required.\");\n        return;\n      }\n      if (this.featured < 0 || this.featured > 10) {\n        this.toast.error(\"Featured position should be a number 1-10 if included\");\n      }\n      if (!this.raw?.trim()) {\n        this.toast.error(\"Content is required.\");\n        return;\n      }\n      if (creating) {\n        if (!this.files.desktop) {\n          this.toast.error(\"Desktop header image is required.\");\n          return;\n        }\n        if (!this.files.mobile) {\n          this.toast.error(\"Mobile header image is required.\");\n          return;\n        }\n        if (!this.files.thumb) {\n          this.toast.error(\"Thumbnail image is required.\");\n          return;\n        }\n      }\n      const blurb = this._blurbFromContent(this.raw, 256);\n      try {\n        this.isSaving = true;\n        let desktopHeaderImg = editingExisting ? this.post?.desktopHeaderImg || this.headerDesktopUrl : \"\";\n        let mobileHeaderImg = editingExisting ? this.post?.mobileHeaderImg || this.headerMobileUrl : \"\";\n        let thumbnailImg = editingExisting ? this.post?.thumbnailImg || \"\" : \"\";\n        if (this.files.desktop) desktopHeaderImg = await this._uploadImageFile(this.files.desktop);\n        if (this.files.mobile) mobileHeaderImg = await this._uploadImageFile(this.files.mobile);\n        if (this.files.thumb) thumbnailImg = await this._uploadImageFile(this.files.thumb);\n        const featured = this.featured || 0;\n        if (creating) {\n          const blogId = await this.#ensureBlogId();\n          const tagsCsv = (this.selectedCatsCsv || \"\").trim();\n          if (!tagsCsv) {\n            this.toast.error(\"Pick at least one tag.\");\n            return;\n          }\n          const payload = {\n            blogId,\n            authorId: this.currentUser?.id,\n            title: this.title,\n            subtitle: this.subtitle,\n            content: this.raw,\n            blurb,\n            tags: tagsCsv,\n            featured: featured,\n            desktopHeaderImg,\n            mobileHeaderImg,\n            thumbnailImg\n          };\n          const resp = await (0, _ajax.ajax)(\"/cp_blog/posts\", {\n            type: \"POST\",\n            data: payload\n          });\n          this.toast?.success?.(\"Post created!\");\n          const created = resp?.item || resp?.post || resp;\n          const idOrSlug = created?.id || created?.slug || slugify(this.title);\n          this.closeEdit();\n          this.router.transitionTo(\"blog-post\", idOrSlug);\n        } else if (editingExisting) {\n          const tagsCsv = (this.selectedCatsCsv || \"\").trim();\n          if (!tagsCsv) {\n            this.toast.error(\"Pick at least one tag.\");\n            return;\n          }\n          const payload = {\n            title: this.title,\n            subtitle: this.subtitle,\n            content: this.raw,\n            blurb,\n            tags: tagsCsv,\n            featured: featured,\n            desktopHeaderImg,\n            mobileHeaderImg,\n            thumbnailImg\n          };\n          await (0, _ajax.ajax)(`/cp_blog/posts/${encodeURIComponent(this.post.id)}`, {\n            type: \"PUT\",\n            data: payload\n          });\n          this.postTitle = this.title;\n          this.postSubtitle = this.subtitle;\n          this.headerDesktopUrl = desktopHeaderImg;\n          this.headerMobileUrl = mobileHeaderImg;\n          if (this.post) {\n            this.post.title = this.title;\n            this.post.subtitle = this.subtitle;\n            this.post.content = this.raw;\n            this.post.blurb = blurb;\n            this.post.tags = this.selectedCatsCsv;\n            this.post.featured = this.featured;\n            this.post.desktopHeaderImg = desktopHeaderImg;\n            this.post.mobileHeaderImg = mobileHeaderImg;\n            this.post.thumbnailImg = thumbnailImg;\n            this.post.updatedAt = Date.now();\n          }\n          const cooked = await (0, _text.cook)(this.raw);\n          this.postContentCooked = (0, _template.htmlSafe)(cooked);\n          this.updatedAt = fmtDate(Date.now());\n          this.toast?.success?.(\"Post updated.\");\n          this.closeEdit();\n          this._maybeHydrateEmbedsSoon();\n        }\n      } catch (e2) {\n        // eslint-disable-next-line no-console\n        console.error(\"Save failed\", e2);\n        this.toast?.error?.(this.#errMessage(e2));\n      } finally {\n        this.isSaving = false;\n      }\n    }\n    static #_59 = (() => dt7948.n(this.prototype, \"savePost\", [_object.action]))();\n    async onDelete() {\n      if (!this.isAdmin || !this.post?.id) return;\n      if (!confirm(\"Delete this post? This cannot be undone.\")) return;\n      try {\n        await (0, _ajax.ajax)(`/cp_blog/posts/${encodeURIComponent(this.post.id)}`, {\n          type: \"DELETE\"\n        });\n        this.toast?.success?.(\"Post deleted.\");\n        this.router.transitionTo(\"blogs-index\");\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(\"Delete post failed\", e);\n        this.toast?.error?.(this.#errMessage(e));\n      }\n    }\n    static #_60 = (() => dt7948.n(this.prototype, \"onDelete\", [_object.action]))();\n    updateRaw(nextValue) {\n      this.raw = nextValue ?? \"\";\n    }\n    static #_61 = (() => dt7948.n(this.prototype, \"updateRaw\", [_object.action]))();\n    _maybeHydrateEmbedsSoon() {\n      (0, _runloop.scheduleOnce)(\"afterRender\", this, () => {\n        const root = this._postBodyEl || document.querySelector(\".post-body\");\n        if (root) this._hydrateEmbeds(root);\n      });\n    }\n    _onBodyInsert(el) {\n      this._postBodyEl = el;\n      this._maybeHydrateEmbedsSoon();\n    }\n    static #_62 = (() => dt7948.n(this.prototype, \"_onBodyInsert\", [_object.action]))();\n    _onBodyUpdate() {\n      this._maybeHydrateEmbedsSoon();\n    }\n    static #_63 = (() => dt7948.n(this.prototype, \"_onBodyUpdate\", [_object.action]))();\n    _hydrateEmbeds(root) {\n      if (!root) return;\n\n      // Transform classic onebox anchors (what PrettyText produced) into iframes\n      const anchors = root.querySelectorAll(\"p > a.onebox[href]\");\n      anchors.forEach(a => {\n        if (!this._isStandaloneLink(a)) return;\n        const url = a.getAttribute(\"href\");\n        const embed = this._buildEmbed(url);\n        if (!embed) return;\n        const wrap = document.createElement(\"div\");\n        wrap.className = \"cp-embed\";\n        wrap.innerHTML = `\n        <iframe\n          src=\"${embed.src}\"\n          title=\"${embed.title}\"\n          loading=\"lazy\"\n          sandbox=\"allow-scripts allow-same-origin allow-presentation allow-popups\"\n          allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n          allowfullscreen>\n        </iframe>\n      `;\n        a.parentElement.replaceWith(wrap);\n      });\n    }\n    _isStandaloneLink(a) {\n      const p = a.parentElement;\n      if (!p || p.tagName !== \"P\") return false;\n      const onlyChild = p.childNodes.length === 1 && p.firstChild === a;\n      const txtMatches = (a.textContent || \"\").trim() === a.getAttribute(\"href\");\n      return onlyChild && txtMatches;\n    }\n    _buildEmbed(urlStr) {\n      let u;\n      try {\n        u = new URL(urlStr, window.location.origin);\n      } catch {\n        return null;\n      }\n      const host = u.hostname.replace(/^www\\./, \"\");\n\n      // YouTube\n      if (host === \"youtube.com\" || host === \"youtu.be\" || host === \"youtube-nocookie.com\") {\n        const id = this._ytId(u);\n        if (!id) return null;\n        const start = this._ytStartSeconds(u);\n        const qs = new URLSearchParams({\n          rel: \"0\",\n          modestbranding: \"1\"\n        });\n        if (start) qs.set(\"start\", String(start));\n        return {\n          title: \"YouTube video\",\n          src: `https://www.youtube-nocookie.com/embed/${id}?${qs}`\n        };\n      }\n\n      // Vimeo\n      if (host === \"vimeo.com\" || host === \"player.vimeo.com\") {\n        const m = u.href.match(/vimeo\\.com\\/(?:.*\\/)?(\\d+)/);\n        if (!m) return null;\n        return {\n          title: \"Vimeo video\",\n          src: `https://player.vimeo.com/video/${m[1]}?title=0&byline=0&portrait=0`\n        };\n      }\n\n      // Twitch (channel, VOD, clip)\n      if (host === \"twitch.tv\" || host === \"player.twitch.tv\" || host === \"clips.twitch.tv\") {\n        // Clip\n        if (host === \"clips.twitch.tv\") {\n          const slug = u.pathname.split(\"/\").filter(Boolean)[0];\n          if (!slug) return null;\n          return {\n            title: \"Twitch clip\",\n            src: `https://clips.twitch.tv/embed?clip=${encodeURIComponent(slug)}&parent=${location.hostname}`\n          };\n        }\n        // VOD\n        if (u.pathname.startsWith(\"/videos/\")) {\n          const id = u.pathname.split(\"/\")[2];\n          if (!/^\\d+$/.test(id)) return null;\n          return {\n            title: \"Twitch video\",\n            src: `https://player.twitch.tv/?video=v${id}&parent=${location.hostname}`\n          };\n        }\n        // Channel\n        const channel = u.pathname.split(\"/\").filter(Boolean)[0];\n        if (channel) {\n          return {\n            title: \"Twitch channel\",\n            src: `https://player.twitch.tv/?channel=${encodeURIComponent(channel)}&parent=${location.hostname}`\n          };\n        }\n      }\n      return null;\n    }\n    _ytId(u) {\n      const host = u.hostname.replace(/^www\\./, \"\");\n      if (host === \"youtu.be\") return u.pathname.slice(1);\n      if (u.pathname.startsWith(\"/watch\")) return u.searchParams.get(\"v\");\n      const m = u.pathname.match(/^\\/(embed|shorts|live)\\/([A-Za-z0-9_-]{6,})/);\n      return m ? m[2] : null;\n    }\n    _ytStartSeconds(u) {\n      const t = u.searchParams.get(\"t\") || u.searchParams.get(\"start\");\n      if (!t) return 0;\n      if (/^\\d+$/.test(t)) return parseInt(t, 10);\n      const m = t.match(/(?:(\\d+)h)?(?:(\\d+)m)?(?:(\\d+)s)?/i);\n      if (!m) return 0;\n      return parseInt(m[1] || \"0\", 10) * 3600 + parseInt(m[2] || \"0\", 10) * 60 + parseInt(m[3] || \"0\", 10);\n    }\n  }\n  _exports.default = BlogPostController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/blogs-index\", [\"exports\", \"@ember/controller\", \"@glimmer/tracking\", \"@ember/service\", \"@ember/object\", \"discourse/lib/ajax\"], function (_exports, _controller, _tracking, _service, _object, _ajax) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const EMPTY_FILES = {\n    desktop: null,\n    mobile: null,\n    thumb: null\n  };\n  const EMPTY_PREVIEW = {\n    desktop: null,\n    mobile: null,\n    thumb: null\n  };\n  class BlogIndexController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"ui\", [_service.service]))();\n    #ui = (() => (dt7948.i(this, \"ui\"), void 0))(); // Services & query params\n    static #_2 = (() => dt7948.g(this.prototype, \"toast\", [_service.service]))();\n    #toast = (() => (dt7948.i(this, \"toast\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    queryParams = [\"cats\"];\n\n    // Tracked state\n    static #_4 = (() => dt7948.g(this.prototype, \"isAdmin\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isAdmin = (() => (dt7948.i(this, \"isAdmin\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"blogId\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #blogId = (() => (dt7948.i(this, \"blogId\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"cats\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #cats = (() => (dt7948.i(this, \"cats\"), void 0))(); // filters / categories\n    static #_7 = (() => dt7948.g(this.prototype, \"selected\", [_tracking.tracked], function () {\n      return new Set();\n    }))();\n    #selected = (() => (dt7948.i(this, \"selected\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"categories\", [_tracking.tracked], function () {\n      return [{\n        slug: \"game-news\",\n        name: \"Game News\"\n      }, {\n        slug: \"amd-news\",\n        name: \"AMD News\"\n      }, {\n        slug: \"ai-news\",\n        name: \"AI News\"\n      }];\n    }))();\n    #categories = (() => (dt7948.i(this, \"categories\"), void 0))();\n    static #_9 = (() => dt7948.g(this.prototype, \"selectedMap\", [_tracking.tracked], function () {\n      return {};\n    }))();\n    #selectedMap = (() => (dt7948.i(this, \"selectedMap\"), void 0))();\n    get selectedCatsArr() {\n      return Object.keys(this.selectedMap).filter(k => this.selectedMap[k]);\n    }\n    get selectedCatsCsv() {\n      return this.selectedCatsArr.join(\",\");\n    }\n\n    // lists\n    static #_10 = (() => dt7948.g(this.prototype, \"posts\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #posts = (() => (dt7948.i(this, \"posts\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"ad\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #ad = (() => (dt7948.i(this, \"ad\"), void 0))();\n    static #_12 = (() => dt7948.g(this.prototype, \"title\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #title = (() => (dt7948.i(this, \"title\"), void 0))(); // editor panel state\n    static #_13 = (() => dt7948.g(this.prototype, \"subtitle\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #subtitle = (() => (dt7948.i(this, \"subtitle\"), void 0))();\n    static #_14 = (() => dt7948.g(this.prototype, \"isFeatured\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isFeatured = (() => (dt7948.i(this, \"isFeatured\"), void 0))();\n    static #_15 = (() => dt7948.g(this.prototype, \"featured\", [_tracking.tracked], function () {\n      return 0;\n    }))();\n    #featured = (() => (dt7948.i(this, \"featured\"), void 0))();\n    static #_16 = (() => dt7948.g(this.prototype, \"editing\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #editing = (() => (dt7948.i(this, \"editing\"), void 0))();\n    static #_17 = (() => dt7948.g(this.prototype, \"raw\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #raw = (() => (dt7948.i(this, \"raw\"), void 0))();\n    static #_18 = (() => dt7948.g(this.prototype, \"files\", [_tracking.tracked], function () {\n      return {\n        ...EMPTY_FILES\n      };\n    }))();\n    #files = (() => (dt7948.i(this, \"files\"), void 0))();\n    static #_19 = (() => dt7948.g(this.prototype, \"preview\", [_tracking.tracked], function () {\n      return {\n        ...EMPTY_PREVIEW\n      };\n    }))();\n    #preview = (() => (dt7948.i(this, \"preview\"), void 0))();\n    static #_20 = (() => dt7948.g(this.prototype, \"isSaving\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isSaving = (() => (dt7948.i(this, \"isSaving\"), void 0))();\n    pickerEl = null;\n\n    // draft clock\n    static #_21 = (() => dt7948.g(this.prototype, \"now\", [_tracking.tracked], function () {\n      return new Date();\n    }))();\n    #now = (() => (dt7948.i(this, \"now\"), void 0))();\n    #fmt = (() => new Intl.DateTimeFormat([], {\n      hour: \"2-digit\",\n      minute: \"2-digit\"\n    }))();\n\n    // author cache\n    _authorCache = (() => new Map())();\n    init() {\n      super.init(...arguments);\n    }\n    primePage() {\n      if (!this.isAdmin) return;\n      this.ui.setHeaderAction({\n        label: \"+ BLOG\",\n        onClick: this.openEdit\n      });\n    }\n\n    // helpers\n    #errMessage(e) {\n      return e?.jqXHR?.responseJSON?.error || e?.jqXHR?.responseJSON?.message || e?.message || \"Something went wrong\";\n    }\n    _fmtDate(ts) {\n      const n = Number(ts ?? Date.now());\n      const ms = n < 1e12 ? n * 1000 : n; // seconds or ms\n      return new Date(ms).toLocaleDateString(\"en-US\", {\n        month: \"short\",\n        day: \"numeric\",\n        year: \"numeric\"\n      });\n    }\n    async _fetchAuthor(authorId) {\n      if (!authorId) return null;\n      if (this._authorCache.has(authorId)) return this._authorCache.get(authorId);\n      try {\n        const u = await (0, _ajax.ajax)(`/cp_blog/author/${authorId}`);\n        const author = {\n          username: u.username,\n          name: u.username,\n          title: u.title,\n          bio: u.bio_raw || \"\",\n          avatarUrl: (u.avatar_template || \"\").replace(\"{size}\", \"120\")\n        };\n        this._authorCache.set(authorId, author);\n        return author;\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(\"author fetch failed\", e);\n        this._authorCache.set(authorId, null);\n        return null;\n      }\n    }\n    async _ensureAuthors(items) {\n      const ids = Array.from(new Set(items.map(i => i.authorId).filter(Boolean)));\n      await Promise.all(ids.map(id => this._fetchAuthor(id)));\n    }\n    _mapPost(item) {\n      const rawContent = item.content || \"\";\n\n      // blurb\n      let blurb = item.blurb || rawContent.slice(0, 160);\n      if (!item.blurb && rawContent.length > 160) {\n        blurb = blurb.replace(/\\s+\\S*$/, \"\") + \"…\";\n      }\n\n      // tags\n      const tagsCsv = (item.tags || \"\").trim();\n      const tags = tagsCsv ? tagsCsv.split(\",\").map(t => t.trim()).filter(Boolean) : [];\n      const allCaps = new Set([\"AMD\", \"AI\"]);\n      const tagsPretty = tags.map(slug => slug.split(\"-\").map(s => {\n        const upper = s.toUpperCase();\n        return allCaps.has(upper) ? upper : s[0].toUpperCase() + s.slice(1);\n      }).join(\" \"));\n      const author = this._authorCache.get(item.authorId) || null;\n      return {\n        id: item.id,\n        title: item.title,\n        subtitle: item.subtitle || \"\",\n        slug: item.slug,\n        thumbnail: item.thumbnailImg || item.desktopHeaderImg || item.mobileHeaderImg,\n        desktopHeaderImg: item.desktopHeaderImg || null,\n        mobileHeaderImg: item.mobileHeaderImg || null,\n        date: this._fmtDate(item.createdAt || item.updatedAt || Date.now()),\n        authorId: item.authorId,\n        author,\n        tags,\n        tagsCsv,\n        tagsPretty,\n        blurb,\n        rawContent,\n        likes: Number(item.likes ?? item.like_count ?? 0),\n        replyCount: Number(item.reply_count ?? item.replies ?? 0),\n        liked: !!(item.liked ?? item.you_liked),\n        topicId: item.topic_id ?? item.topicId ?? null,\n        firstPostId: item.first_post_id ?? item.firstPostId ?? null\n      };\n    }\n\n    // getters\n    get draftTime() {\n      return this.#fmt.format(this.now);\n    }\n    get filteredPosts() {\n      if (this.selected.size === 0) return this.posts;\n      return this.posts.filter(p => Array.isArray(p.tags) && p.tags.some(t => this.selected.has(t)));\n    }\n    updateRaw(nextValue) {\n      this.raw = nextValue ?? \"\";\n    }\n    static #_22 = (() => dt7948.n(this.prototype, \"updateRaw\", [_object.action]))();\n    async _uploadImageFile(file) {\n      const fd = new FormData();\n      fd.append(\"file\", file);\n      const resp = await (0, _ajax.ajax)(\"/cp_blog/upload-image\", {\n        type: \"POST\",\n        data: fd,\n        processData: false,\n        contentType: false\n      });\n      const url = resp?.url;\n      if (!url) throw new Error(\"Upload failed: no URL returned\");\n      return url;\n    }\n    async handleUpload(files) {\n      const file = files?.[0];\n      if (!file) return;\n      const fd = new FormData();\n      fd.append(\"file\", file);\n      try {\n        this.toast.info(\"Uploading image…\");\n        const resp = await (0, _ajax.ajax)(\"/cp_blog/upload-image\", {\n          type: \"POST\",\n          data: fd,\n          processData: false,\n          contentType: false\n        });\n        const url = resp?.url;\n        if (url) {\n          this.raw = `${this.raw || \"\"}\\n\\n![image](${url})\\n\\n`;\n          this.toast.success(\"Image uploaded and inserted.\");\n        } else {\n          throw new Error(\"No URL returned\");\n        }\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(\"Upload failed\", e);\n        this.toast.error(`Image upload failed: ${this.#errMessage(e)}`);\n      }\n    }\n    static #_23 = (() => dt7948.n(this.prototype, \"handleUpload\", [_object.action]))();\n    _capturePickerRef(el) {\n      this.pickerEl = el;\n    }\n    static #_24 = (() => dt7948.n(this.prototype, \"_capturePickerRef\", [_object.action]))();\n    _triggerFilePick() {\n      this.pickerEl?.click();\n    }\n    static #_25 = (() => dt7948.n(this.prototype, \"_triggerFilePick\", [_object.action]))();\n    async _handlePickedFile(e) {\n      const file = e.target?.files?.[0];\n      if (!file) return;\n      await this.handleUpload([file]);\n      e.target.value = \"\";\n    }\n\n    // Edit panel open/close\n    static #_26 = (() => dt7948.n(this.prototype, \"_handlePickedFile\", [_object.action]))();\n    openEdit() {\n      this.now = new Date();\n      this.editing = true;\n      this.selectedMap = {};\n      this.ui.setHeaderAction({\n        label: \"<- BACK\",\n        onClick: this.closeEdit\n      });\n    }\n    static #_27 = (() => dt7948.n(this.prototype, \"openEdit\", [_object.action]))();\n    closeEdit() {\n      this.editing = false;\n      this._clearForm();\n      this.ui.setHeaderAction({\n        label: \"+ BLOG\",\n        onClick: this.openEdit\n      });\n    }\n    static #_28 = (() => dt7948.n(this.prototype, \"closeEdit\", [_object.action]))();\n    _clearForm() {\n      this.raw = \"\";\n      this.title = \"\";\n      this.subtitle = \"\";\n      this.isFeatured = false;\n      this.featured = 0;\n      this.selectedMap = {};\n      this._revokeAllPreviews();\n      this.files = {\n        ...EMPTY_FILES\n      };\n      this.preview = {\n        ...EMPTY_PREVIEW\n      };\n    }\n    _selectedFromQp() {\n      const slugs = (this.cats || \"\").split(\",\").filter(Boolean);\n      this.selected = new Set(slugs);\n    }\n    _syncQp() {\n      this.cats = Array.from(this.selected).join(\",\");\n    }\n    toggleIsFeatured() {\n      this.isFeatured = !this.isFeatured;\n      this.featured = this.isFeatured ? 1 : 0;\n    }\n    static #_29 = (() => dt7948.n(this.prototype, \"toggleIsFeatured\", [_object.action]))();\n    toggleCategory(slug, event) {\n      const checked = event?.target?.checked;\n      const next = new Set(this.selected);\n      checked ? next.add(slug) : next.delete(slug);\n      this.selected = next;\n      this._syncQp();\n      this.loadPosts();\n    }\n    static #_30 = (() => dt7948.n(this.prototype, \"toggleCategory\", [_object.action]))();\n    toggleFixed(slug, ev) {\n      this.selectedMap = {\n        ...this.selectedMap,\n        [slug]: !!ev.target.checked\n      };\n    }\n    static #_31 = (() => dt7948.n(this.prototype, \"toggleFixed\", [_object.action]))();\n    async loadPosts() {\n      try {\n        if (this.selected.size) {\n          const csv = Array.from(this.selected).join(\",\");\n          const safe = csv.split(\",\").map(encodeURIComponent).join(\",\");\n          const resp = await (0, _ajax.ajax)(`/cp_blog/tags/${safe}`, {\n            type: \"GET\"\n          });\n          const rawItems = Array.isArray(resp) ? resp : resp?.items ?? resp?.posts?.items ?? resp?.posts ?? [];\n          await this._ensureAuthors(rawItems);\n          this.posts = rawItems.map(item => this._mapPost(item));\n        } else {\n          const resp = await (0, _ajax.ajax)(\"/blog-news\", {\n            type: \"GET\"\n          });\n          const rawItems = Array.isArray(resp?.posts) ? resp.posts : resp?.posts?.items ?? [];\n          await this._ensureAuthors(rawItems);\n          this.posts = rawItems.map(item => this._mapPost(item));\n          await this._refreshAd();\n        }\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(\"loadPosts failed\", e);\n        this.toast?.error?.(\"Failed to load posts.\");\n      }\n    }\n    async _refreshAd() {\n      try {\n        const adResp = await (0, _ajax.ajax)(\"/cp_ads_slot\", {\n          type: \"GET\",\n          data: {\n            section: \"blog-news-index\",\n            location: \"1\"\n          }\n        });\n        this.ad = adResp?.ad ?? [];\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(\"ad slot fetch failed\", e);\n        this.ad = [];\n      }\n    }\n\n    // Uploads (drag/drop cards in the top section)\n    onDragOver(_kind, e) {\n      e.preventDefault();\n    }\n    static #_32 = (() => dt7948.n(this.prototype, \"onDragOver\", [_object.action]))();\n    onDrop(kind, e) {\n      e.preventDefault();\n      const file = e.dataTransfer?.files?.[0];\n      if (file) this._setFile(kind, file);\n    }\n    static #_33 = (() => dt7948.n(this.prototype, \"onDrop\", [_object.action]))();\n    onPick(kind, e) {\n      const file = e.target?.files?.[0];\n      if (file) this._setFile(kind, file);\n    }\n    static #_34 = (() => dt7948.n(this.prototype, \"onPick\", [_object.action]))();\n    _setFile(kind, file) {\n      if (!file.type?.startsWith?.(\"image/\")) {\n        this.toast.error(\"Please upload an image file.\");\n        return;\n      }\n      const oldUrl = this.preview[kind];\n      if (oldUrl) URL.revokeObjectURL(oldUrl);\n      this.files = {\n        ...this.files,\n        [kind]: file\n      };\n      this.preview = {\n        ...this.preview,\n        [kind]: URL.createObjectURL(file)\n      };\n      this.toast.success(`Selected ${kind} image: ${file.name}`);\n    }\n    _revokeAllPreviews() {\n      [\"desktop\", \"mobile\", \"thumb\"].forEach(k => {\n        if (this.preview[k]) URL.revokeObjectURL(this.preview[k]);\n      });\n      this.preview = {\n        ...EMPTY_PREVIEW\n      };\n    }\n    stripMarkdown() {\n      let md = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n      return md.replace(/```[\\s\\S]*?```/g, \"\") // fenced code\n      .replace(/`[^`]*`/g, \"\") // inline code\n      .replace(/!\\[([^\\]]*)\\]\\([^)]+\\)/g, \"$1\") // images -> alt\n      .replace(/\\[([^\\]]+)\\]\\([^)]+\\)/g, \"$1\") // links -> text\n      .replace(/^\\s{0,3}>\\s?/gm, \"\") // blockquotes\n      .replace(/^\\s{0,3}#{1,6}\\s*/gm, \"\") // headings\n      .replace(/(\\*{1,3}|_{1,3})(?=\\S)(.*?)(?<=\\S)\\1/g, \"$2\") // bold/italic\n      .replace(/~~(?=\\S)(.*?)(?<=\\S)~~/g, \"$1\") // strikethrough\n      .replace(/^\\s*[-*+]\\s+/gm, \"\") // ul bullets\n      .replace(/^\\s*\\d+\\.\\s+/gm, \"\") // ol numbers\n      .replace(/<sup>(.*?)<\\/sup>/gi, \"[$1]\") // superscripts -> [n]\n      .replace(/<\\/?[^>]+>/g, \"\") // drop remaining HTML tags\n      .replace(/\\r?\\n+/g, \" \").replace(/\\s+/g, \" \").trim();\n    }\n    _blurbFromContent() {\n      let text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n      let max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 256;\n      const plain = this.stripMarkdown(text);\n      if (plain.length <= max) return plain;\n      const slice = plain.slice(0, max);\n      const lastSpace = slice.lastIndexOf(\" \");\n      return (lastSpace > 0 ? slice.slice(0, lastSpace) : slice).trim();\n    }\n    async createPost(e) {\n      e.preventDefault();\n      if (!this.blogId) {\n        this.toast.error(\"Missing blogId.\");\n        return;\n      }\n      if (!this.title?.trim()) {\n        this.toast.error(\"Title is required.\");\n        return;\n      }\n      if (!this.subtitle?.trim()) {\n        this.toast.error(\"Subtitle is required.\");\n        return;\n      }\n      if (!this.raw?.trim()) {\n        this.toast.error(\"Content is required.\");\n        return;\n      }\n      if (!this.files.desktop) {\n        this.toast.error(\"Desktop header image is required.\");\n        return;\n      }\n      if (!this.files.mobile) {\n        this.toast.error(\"Mobile header image is required.\");\n        return;\n      }\n      if (!this.files.thumb) {\n        this.toast.error(\"Thumbnail image is required.\");\n        return;\n      }\n      const blurb = this._blurbFromContent(this.raw, 256);\n      const tagsCsv = (this.selectedCatsCsv || \"\").trim();\n      if (!tagsCsv) {\n        this.toast.error(\"Pick at least one tag.\");\n        return;\n      }\n      const payload = {\n        blogId: this.blogId,\n        authorId: this.currentUser?.id,\n        title: this.title,\n        subtitle: this.subtitle,\n        content: this.raw,\n        blurb,\n        tags: tagsCsv,\n        featured: this.featured\n      };\n      try {\n        this.isSaving = true;\n        this.toast.info(\"Uploading images…\");\n        const [desktopUrl, mobileUrl, thumbUrl] = await Promise.all([this._uploadImageFile(this.files.desktop), this._uploadImageFile(this.files.mobile), this._uploadImageFile(this.files.thumb)]);\n        payload.desktopHeaderImg = desktopUrl;\n        payload.mobileHeaderImg = mobileUrl;\n        payload.thumbnailImg = thumbUrl;\n        this.toast.info(\"Creating post…\");\n        const resp = await (0, _ajax.ajax)(\"/cp_blog/posts\", {\n          type: \"POST\",\n          data: payload\n        });\n        console.log(resp);\n        this.toast.success(\"Post created!\");\n        await this.loadPosts();\n        this.closeEdit?.();\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(\"Create post failed\", e);\n        this.toast.error(`Failed to create post: ${this.#errMessage(e)}`);\n      } finally {\n        this.isSaving = false;\n      }\n    }\n    static #_35 = (() => dt7948.n(this.prototype, \"createPost\", [_object.action]))();\n  }\n  _exports.default = BlogIndexController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/complete-oauth-signup\", [\"exports\", \"@ember/controller\", \"@ember/object\", \"@glimmer/tracking\", \"discourse/lib/ajax\", \"@ember/service\"], function (_exports, _controller, _object, _tracking, _ajax, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class CompleteOauthSignupController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n    #router = (() => (dt7948.i(this, \"router\"), void 0))();\n    queryParams = [{\n      qpPid: \"pid\"\n    }];\n    static #_2 = (() => dt7948.g(this.prototype, \"qpPid\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #qpPid = (() => (dt7948.i(this, \"qpPid\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"idx\", [_tracking.tracked], function () {\n      return 0;\n    }))();\n    #idx = (() => (dt7948.i(this, \"idx\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"email\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #email = (() => (dt7948.i(this, \"email\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"code\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #code = (() => (dt7948.i(this, \"code\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"birthdate\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #birthdate = (() => (dt7948.i(this, \"birthdate\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"username\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #username = (() => (dt7948.i(this, \"username\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"avatarKey\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #avatarKey = (() => (dt7948.i(this, \"avatarKey\"), void 0))();\n    static #_9 = (() => dt7948.g(this.prototype, \"busy\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #busy = (() => (dt7948.i(this, \"busy\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"error\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #error = (() => (dt7948.i(this, \"error\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"resendCooldown\", [_tracking.tracked], function () {\n      return 0;\n    }))();\n    #resendCooldown = (() => (dt7948.i(this, \"resendCooldown\"), void 0))();\n    _timer = null;\n    get pid() {\n      return this.model?.pid || this.qpPid || this.router.currentRoute?.queryParams?.pid;\n    }\n    get steps() {\n      return this.model?.steps || [];\n    }\n    get fields() {\n      return this.model?.fields || {};\n    }\n    get stepKey() {\n      return this.steps[this.idx];\n    }\n    get progressPercent() {\n      return (this.idx + 1) / Math.max(this.steps.length, 1) * 100;\n    }\n    _tick(seconds) {\n      this.resendCooldown = seconds;\n      clearInterval(this._timer);\n      this._timer = setInterval(() => {\n        if (this.resendCooldown <= 1) {\n          clearInterval(this._timer);\n          this._timer = null;\n          this.resendCooldown = 0;\n        } else {\n          this.resendCooldown = this.resendCooldown - 1;\n        }\n      }, 1000);\n    }\n    async next() {\n      this.error = null;\n      if (!this.pid) {\n        this.error = \"This link has expired. Please start over.\";\n        return;\n      }\n      switch (this.stepKey) {\n        case \"email\":\n          {\n            if (!this.email) {\n              this.error = \"Enter your email.\";\n              return;\n            }\n            this.busy = true;\n            try {\n              await (0, _ajax.ajax)(`/cp-auth/complete/set_attributes?pid=${encodeURIComponent(this.pid)}`, {\n                type: \"POST\",\n                data: {\n                  attributes: {\n                    email: this.email\n                  }\n                }\n              });\n              this._tick(60);\n              this.idx++;\n            } catch (e) {\n              this.error = e?.jqXHR?.responseJSON?.error || \"Could not set email.\";\n            } finally {\n              this.busy = false;\n            }\n            break;\n          }\n        case \"email_code\":\n          {\n            if (!this.code) {\n              this.error = \"Enter the code.\";\n              return;\n            }\n            this.busy = true;\n            try {\n              await (0, _ajax.ajax)(`/cp-auth/complete/verify_code?pid=${encodeURIComponent(this.pid)}`, {\n                type: \"POST\",\n                data: {\n                  code: this.code\n                }\n              });\n              this.idx++;\n            } catch (e) {\n              this.error = e?.jqXHR?.responseJSON?.error || \"Invalid or expired code.\";\n            } finally {\n              this.busy = false;\n            }\n            break;\n          }\n        case \"birthdate\":\n          {\n            if (!this.birthdate) {\n              this.error = \"Enter your birthdate.\";\n              return;\n            }\n\n            // --- Age validation ---\n            const entered = new Date(this.birthdate);\n            const today = new Date();\n            const cutoff = new Date(today.getFullYear() - 13, today.getMonth(), today.getDate());\n            if (entered > cutoff) {\n              this.error = \"You must be at least 13 years old to create an account.\";\n              return;\n            }\n            this.busy = true;\n            try {\n              await (0, _ajax.ajax)(`/cp-auth/complete/set_attributes?pid=${encodeURIComponent(this.pid)}`, {\n                type: \"POST\",\n                data: {\n                  attributes: {\n                    birthdate: this.birthdate\n                  }\n                }\n              });\n              this.idx++;\n            } catch (e) {\n              this.error = e?.jqXHR?.responseJSON?.error || \"Could not save birthdate.\";\n            } finally {\n              this.busy = false;\n            }\n            break;\n          }\n        case \"avatar\":\n          {\n            if (!this.avatarKey) {\n              this.error = \"Pick an avatar.\";\n              return;\n            }\n            this.idx++;\n            break;\n          }\n        case \"username\":\n          {\n            if (!this.username?.trim()) {\n              this.error = \"Pick a username.\";\n              return;\n            }\n            this.busy = true;\n            try {\n              await (0, _ajax.ajax)(`/cp-auth/complete/finalize?pid=${encodeURIComponent(this.pid)}`, {\n                type: \"POST\",\n                data: {\n                  username: this.username,\n                  avatar_key: this.avatarKey\n                }\n              });\n              // server returns origin in bootstrap payload\n              window.location = this.model?.origin || \"/\";\n            } catch (e) {\n              this.error = e?.jqXHR?.responseJSON?.error || \"Could not finish signup.\";\n            } finally {\n              this.busy = false;\n            }\n            break;\n          }\n      }\n    }\n    static #_12 = (() => dt7948.n(this.prototype, \"next\", [_object.action]))();\n    resendCode() {\n      if (this.resendCooldown || this.busy) return;\n      if (!this.pid) {\n        this.error = \"This link has expired. Please start over.\";\n        return;\n      }\n      this.busy = true;\n      (0, _ajax.ajax)(`/cp-auth/complete/send_code?pid=${encodeURIComponent(this.pid)}`, {\n        type: \"POST\"\n      }).then(() => this._tick(60)).catch(e => this.error = e?.jqXHR?.responseJSON?.error || \"Could not resend code.\").finally(() => {\n        this.busy = false;\n      });\n    }\n    static #_13 = (() => dt7948.n(this.prototype, \"resendCode\", [_object.action]))();\n    willDestroy() {\n      super.willDestroy?.();\n      clearInterval(this._timer);\n    }\n  }\n  _exports.default = CompleteOauthSignupController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/confirm\", [\"exports\", \"@ember/controller\", \"@ember/object\", \"@glimmer/tracking\", \"discourse/lib/ajax\", \"@ember/service\"], function (_exports, _controller, _object, _tracking, _ajax, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class ConfirmController extends _controller.default {\n    queryParams = [\"email\"];\n    static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n    #router = (() => (dt7948.i(this, \"router\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"email\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #email = (() => (dt7948.i(this, \"email\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"code\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #code = (() => (dt7948.i(this, \"code\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"username\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #username = (() => (dt7948.i(this, \"username\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"step\", [_tracking.tracked], function () {\n      return 4;\n    }))();\n    #step = (() => (dt7948.i(this, \"step\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"isSubmitting\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isSubmitting = (() => (dt7948.i(this, \"isSubmitting\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"resultMessage\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #resultMessage = (() => (dt7948.i(this, \"resultMessage\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"avatarKey\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #avatarKey = (() => (dt7948.i(this, \"avatarKey\"), void 0))();\n    static #_9 = (() => dt7948.g(this.prototype, \"isHelpOpen\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isHelpOpen = (() => (dt7948.i(this, \"isHelpOpen\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"isResending\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isResending = (() => (dt7948.i(this, \"isResending\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"resendCooldown\", [_tracking.tracked], function () {\n      return 0;\n    }))();\n    #resendCooldown = (() => (dt7948.i(this, \"resendCooldown\"), void 0))();\n    _cooldownTimer = null;\n    openHelp() {\n      this.isHelpOpen = true;\n    }\n    static #_12 = (() => dt7948.n(this.prototype, \"openHelp\", [_object.action]))();\n    closeHelp() {\n      this.isHelpOpen = false;\n    }\n    static #_13 = (() => dt7948.n(this.prototype, \"closeHelp\", [_object.action]))();\n    handleKeydown(e) {\n      if (e.key !== \"Enter\") return;\n      e.preventDefault();\n      if (this.step === 4) {\n        if (!this.isSubmitting) {\n          this.handleConfirm();\n        }\n      } else if (this.step === 5) {\n        if (!this.isSubmitting) {\n          this.handleFinalizeAccount();\n        }\n      }\n    }\n    static #_14 = (() => dt7948.n(this.prototype, \"handleKeydown\", [_object.action]))();\n    async resendCode() {\n      if (this.resendCooldown || this.isResending) return;\n      this.isResending = true;\n      this.resultMessage = null;\n      try {\n        const res = await (0, _ajax.ajax)(\"/cp_auth/resend\", {\n          type: \"POST\",\n          data: {\n            email: this.email\n          }\n        });\n        this.resultMessage = \"Verification code sent.\";\n        this.startCooldown(60); // 60s throttle\n      } catch (xhr) {\n        const msg = \"Could not resend code.\";\n        this.resultMessage = msg;\n      } finally {\n        this.isResending = false;\n      }\n    }\n    static #_15 = (() => dt7948.n(this.prototype, \"resendCode\", [_object.action]))();\n    async handleConfirm() {\n      if (this.code == \"\") {\n        this.resultMessage = \"You must enter a code.\";\n        return;\n      }\n      try {\n        this.isSubmitting = true;\n        const response = await (0, _ajax.ajax)(\"/cp_auth/confirm\", {\n          type: \"POST\",\n          data: {\n            email: this.email,\n            code: this.code\n          }\n        });\n        this.resultMessage = null;\n        this.step++;\n      } catch (error) {\n        const jq = error?.jqXHR;\n        let msg = jq?.responseJSON?.error || jq?.responseJSON?.message || (() => {\n          try {\n            return JSON.parse(jq?.responseText || \"{}\").error;\n          } catch {\n            return null;\n          }\n        })() || error?.message || String(error || \"\");\n        msg = (msg || \"\").toString();\n        if (/already\\s*confirmed/i.test(msg) || /current status is\\s*confirmed/i.test(msg)) {\n          this.resultMessage = \"Your account is already verified. Please log in.\";\n        } else {\n          this.resultMessage = \"Error confirming code.\";\n        }\n      } finally {\n        this.isSubmitting = false;\n      }\n    }\n    static #_16 = (() => dt7948.n(this.prototype, \"handleConfirm\", [_object.action]))();\n    selectAvatar(key) {\n      this.avatarKey = key;\n    }\n    static #_17 = (() => dt7948.n(this.prototype, \"selectAvatar\", [_object.action]))();\n    async handleFinalizeAccount() {\n      if (!this.username?.trim()) {\n        this.resultMessage = \"Please enter a username.\";\n        return;\n      }\n      if (!this.avatarKey) {\n        this.resultMessage = \"Please select an avatar.\";\n        return;\n      }\n      try {\n        this.isSubmitting = true;\n        const response = await (0, _ajax.ajax)(\"/cp_auth/finalize\", {\n          type: \"POST\",\n          data: {\n            email: this.email,\n            username: this.username,\n            avatar_key: this.avatarKey\n          }\n        });\n        if (response.success) {\n          this.router.transitionTo(\"homepage\", {\n            queryParams: {\n              loginOpen: true\n            }\n          });\n        } else {\n          this.resultMessage = \"An error occurred.\";\n        }\n      } catch (error) {\n        this.resultMessage = \"Error finalizing account.\";\n        console.error(error);\n      } finally {\n        this.isSubmitting = false;\n      }\n    }\n    static #_18 = (() => dt7948.n(this.prototype, \"handleFinalizeAccount\", [_object.action]))();\n    get progressPercent() {\n      return this.step / 5 * 100;\n    }\n    startCooldown(seconds) {\n      this.resendCooldown = seconds;\n      clearInterval(this._cooldownTimer);\n      this._cooldownTimer = setInterval(() => {\n        if (this.resendCooldown <= 1) {\n          clearInterval(this._cooldownTimer);\n          this._cooldownTimer = null;\n          this.resendCooldown = 0;\n        } else {\n          this.resendCooldown = this.resendCooldown - 1;\n        }\n      }, 1000);\n    }\n    willDestroy() {\n      super.willDestroy?.();\n      clearInterval(this._cooldownTimer);\n    }\n  }\n  _exports.default = ConfirmController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/cp-account-settings\", [\"exports\", \"@ember/controller\", \"@ember/object\", \"@glimmer/tracking\", \"discourse/lib/ajax\", \"@ember/service\", \"discourse/plugins/discourse-plugin-content-platform/discourse/app/constants/auth-providers\"], function (_exports, _controller, _object, _tracking, _ajax, _service, _authProviders) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class CpAccountSettingsController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"toast\", [_service.service]))();\n    #toast = (() => (dt7948.i(this, \"toast\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"user\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #user = (() => (dt7948.i(this, \"user\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"ad\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #ad = (() => (dt7948.i(this, \"ad\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"errorMessage\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #errorMessage = (() => (dt7948.i(this, \"errorMessage\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"name\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #name = (() => (dt7948.i(this, \"name\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"email\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #email = (() => (dt7948.i(this, \"email\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"username\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #username = (() => (dt7948.i(this, \"username\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"timezone\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #timezone = (() => (dt7948.i(this, \"timezone\"), void 0))();\n    static #_9 = (() => dt7948.g(this.prototype, \"amdNewsletter\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #amdNewsletter = (() => (dt7948.i(this, \"amdNewsletter\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"communityNewsletter\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #communityNewsletter = (() => (dt7948.i(this, \"communityNewsletter\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"currentPassword\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #currentPassword = (() => (dt7948.i(this, \"currentPassword\"), void 0))();\n    static #_12 = (() => dt7948.g(this.prototype, \"newPassword\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #newPassword = (() => (dt7948.i(this, \"newPassword\"), void 0))();\n    static #_13 = (() => dt7948.g(this.prototype, \"emailNotVerified\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #emailNotVerified = (() => (dt7948.i(this, \"emailNotVerified\"), void 0))();\n    static #_14 = (() => dt7948.g(this.prototype, \"verificationCode\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #verificationCode = (() => (dt7948.i(this, \"verificationCode\"), void 0))();\n    static #_15 = (() => dt7948.g(this.prototype, \"linkedProviders\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #linkedProviders = (() => (dt7948.i(this, \"linkedProviders\"), void 0))();\n    static #_16 = (() => dt7948.g(this.prototype, \"mfaEnabled\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #mfaEnabled = (() => (dt7948.i(this, \"mfaEnabled\"), void 0))();\n    static #_17 = (() => dt7948.g(this.prototype, \"mfaLoading\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #mfaLoading = (() => (dt7948.i(this, \"mfaLoading\"), void 0))();\n    static #_18 = (() => dt7948.g(this.prototype, \"mfaSecret\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #mfaSecret = (() => (dt7948.i(this, \"mfaSecret\"), void 0))();\n    static #_19 = (() => dt7948.g(this.prototype, \"mfaSetupStage\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #mfaSetupStage = (() => (dt7948.i(this, \"mfaSetupStage\"), void 0))();\n    static #_20 = (() => dt7948.g(this.prototype, \"mfaCode\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #mfaCode = (() => (dt7948.i(this, \"mfaCode\"), void 0))(); // null | \"verify\"\n    static #_21 = (() => dt7948.g(this.prototype, \"mfaOtpUri\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #mfaOtpUri = (() => (dt7948.i(this, \"mfaOtpUri\"), void 0))();\n    static #_22 = (() => dt7948.g(this.prototype, \"savingName\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #savingName = (() => (dt7948.i(this, \"savingName\"), void 0))();\n    static #_23 = (() => dt7948.g(this.prototype, \"savingEmail\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #savingEmail = (() => (dt7948.i(this, \"savingEmail\"), void 0))();\n    static #_24 = (() => dt7948.g(this.prototype, \"verifyingEmail\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #verifyingEmail = (() => (dt7948.i(this, \"verifyingEmail\"), void 0))();\n    static #_25 = (() => dt7948.g(this.prototype, \"savingPassword\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #savingPassword = (() => (dt7948.i(this, \"savingPassword\"), void 0))();\n    static #_26 = (() => dt7948.g(this.prototype, \"savingUsername\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #savingUsername = (() => (dt7948.i(this, \"savingUsername\"), void 0))();\n    static #_27 = (() => dt7948.g(this.prototype, \"savingTimezone\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #savingTimezone = (() => (dt7948.i(this, \"savingTimezone\"), void 0))();\n    providerList = (() => _authProviders.providerList)();\n    init() {\n      super.init(...arguments);\n    }\n    primeFromUser() {\n      this.name = this.user.name ?? \"\";\n      this.email = this.user.email ?? \"\";\n      this.username = this.user.username ?? \"\";\n      this.timezone = this.user.timezone;\n      this.amdNewsletter = this.user.subs.amd_newsletter;\n      this.communityNewsletter = this.user.subs.community_newsletter;\n      this.emailNotVerified = this.user.email_not_verified;\n    }\n    get nameChanged() {\n      return (this.name ?? \"\").trim() !== (this.user.name ?? \"\").trim();\n    }\n    get emailChanged() {\n      return (this.email ?? \"\").trim() !== (this.user.email ?? \"\").trim();\n    }\n    get usernameChanged() {\n      return (this.username ?? \"\").trim() !== (this.user.username ?? \"\").trim();\n    }\n    get passwordChanged() {\n      if (this.currentPassword != \"\" && this.newPassword != \"\" && this.currentPassword != this.newPassword && this.checkPassword()) {\n        return true;\n      }\n    }\n    get verificationCodeChanged() {\n      return (this.verificationCode ?? \"\").trim().length > 0;\n    }\n    async editName(e) {\n      e.preventDefault();\n      this.savingName = true;\n      this.errorMessage = null;\n      try {\n        const response = await (0, _ajax.ajax)(\"/cp/account/name\", {\n          type: \"POST\",\n          data: {\n            name: this.name\n          }\n        });\n        if (response.success) {\n          const newName = response.user?.name;\n          this.user = {\n            ...this.user,\n            name: newName\n          };\n          this.name = newName;\n          this.toast.success(\"Name Updated\");\n        }\n      } catch (xhr) {\n        const payload = xhr.jqXHR?.responseJSON || {};\n        this.errorMessage = payload.error || \"Update Failed\";\n        this.toast.error(this.errorMessage);\n      } finally {\n        this.savingName = false;\n      }\n    }\n    static #_28 = (() => dt7948.n(this.prototype, \"editName\", [_object.action]))();\n    async editEmail(e) {\n      e.preventDefault();\n      this.errorMessage = null;\n      this.savingEmail = true;\n      try {\n        const response = await (0, _ajax.ajax)(\"/cp-auth/start-email-change\", {\n          type: \"POST\",\n          data: {\n            new_email: this.email\n          }\n        });\n        if (response.success) {\n          const newVal = response.user?.custom_fields?.email_not_verified;\n          this.user = {\n            ...this.user,\n            email_not_verified: newVal\n          };\n          this.emailNotVerified = newVal;\n          this.verificationCode = \"\";\n          this.toast.success(\"Verification code sent. Please check your email for the code.\");\n        }\n      } catch (xhr) {\n        const payload = xhr.jqXHR?.responseJSON || {};\n        this.errorMessage = payload.error || \"Update Failed\";\n        this.toast.error(this.errorMessage);\n      } finally {\n        this.savingEmail = false;\n      }\n    }\n    static #_29 = (() => dt7948.n(this.prototype, \"editEmail\", [_object.action]))();\n    async verifyEmail(e) {\n      e.preventDefault();\n      this.errorMessage = null;\n      this.savingEmail = true;\n      try {\n        const response = await (0, _ajax.ajax)(\"/cp-auth/verify-email-change\", {\n          type: \"POST\",\n          data: {\n            code: this.verificationCode\n          }\n        });\n        if (response.success) {\n          const newEmail = response.user?.email;\n          const newFlag = response.user?.custom_fields?.email_not_verified;\n          this.user = {\n            ...this.user,\n            email: newEmail,\n            email_not_verified: newFlag\n          };\n          this.email = newEmail;\n          this.emailNotVerified = !!newFlag;\n          this.verificationCode = \"\";\n          this.toast.success(\"Email Updated\");\n        }\n      } catch (xhr) {\n        const payload = xhr.jqXHR?.responseJSON || {};\n        this.errorMessage = payload.error || \"Update Failed\";\n        this.toast.error(this.errorMessage);\n      } finally {\n        this.savingEmail = false;\n      }\n    }\n    static #_30 = (() => dt7948.n(this.prototype, \"verifyEmail\", [_object.action]))();\n    async editPassword(e) {\n      e.preventDefault();\n      this.errorMessage = null;\n      this.savingPassword = true;\n      try {\n        const response = await (0, _ajax.ajax)(\"/cp-auth/change-password\", {\n          type: \"POST\",\n          data: {\n            current_password: this.currentPassword,\n            new_password: this.newPassword\n          }\n        });\n        if (response.success) {\n          this.currentPassword = \"\";\n          this.newPassword = \"\";\n          this.toast.success(\"Password Updated\");\n        }\n      } catch (xhr) {\n        const payload = xhr.jqXHR?.responseJSON || {};\n        this.errorMessage = payload.error || \"Update Failed\";\n        this.toast.error(this.errorMessage);\n      } finally {\n        this.savingPassword = false;\n      }\n    }\n    static #_31 = (() => dt7948.n(this.prototype, \"editPassword\", [_object.action]))();\n    async editGamertag(e) {\n      e.preventDefault();\n      this.errorMessage = null;\n      this.savingUsername = true;\n      try {\n        const response = await (0, _ajax.ajax)(\"/cp/account/username\", {\n          type: \"POST\",\n          data: {\n            username: this.username\n          }\n        });\n        if (response.success) {\n          const newUsername = response.user?.username;\n          this.user = {\n            ...this.user,\n            username: newUsername\n          };\n          this.username = newUsername;\n          this.toast.success(\"Gamertag Updated\");\n        }\n      } catch (xhr) {\n        const payload = xhr.jqXHR?.responseJSON || {};\n        this.errorMessage = payload.error || \"Update Failed\";\n        this.toast.error(this.errorMessage);\n      } finally {\n        this.savingUsername = false;\n      }\n    }\n    static #_32 = (() => dt7948.n(this.prototype, \"editGamertag\", [_object.action]))();\n    async saveTimezone(e) {\n      e?.preventDefault?.();\n      this.savingTimezone = true;\n      try {\n        const resp = await (0, _ajax.ajax)(\"/cp/account/timezone\", {\n          type: \"POST\",\n          data: {\n            timezone: e\n          }\n        });\n        if (resp.success) {\n          this.user = {\n            ...this.user,\n            timezone: resp.user.timezone\n          };\n          this.timezone = e;\n          this.toast.success(\"Timezone Updated\");\n        }\n      } catch (xhr) {\n        const payload = xhr.jqXHR?.responseJSON || {};\n        this.errorMessage = payload.error || \"Update Failed\";\n        this.toast.error(this.errorMessage);\n      } finally {\n        this.savingTimezone = false;\n      }\n    }\n    static #_33 = (() => dt7948.n(this.prototype, \"saveTimezone\", [_object.action]))();\n    async useCurrentTz(e) {\n      e?.preventDefault?.();\n      await this.saveTimezone(moment.tz.guess());\n    }\n    static #_34 = (() => dt7948.n(this.prototype, \"useCurrentTz\", [_object.action]))();\n    async toggleAMDNewsletter(e) {\n      try {\n        const response = await (0, _ajax.ajax)(\"/cp/account/amd-newsletter\", {\n          type: \"POST\",\n          data: {\n            amd_newsletter: e.target.checked\n          }\n        });\n        if (response.success) {\n          const newVal = response.user?.custom_fields?.amd_newsletter;\n          this.user = {\n            ...this.user,\n            amd_newsletter: newVal\n          };\n          this.amdNewsletter = newVal;\n          this.toast.success(\"Subscription Updated\");\n        }\n      } catch (xhr) {\n        const payload = xhr.jqXHR?.responseJSON || {};\n        this.errorMessage = payload.error || \"Update Failed\";\n        this.toast.error(this.errorMessage);\n      }\n    }\n    static #_35 = (() => dt7948.n(this.prototype, \"toggleAMDNewsletter\", [_object.action]))();\n    async toggleCommunityNewsletter(e) {\n      try {\n        const response = await (0, _ajax.ajax)(\"/cp/account/community-newsletter\", {\n          type: \"POST\",\n          data: {\n            community_newsletter: e.target.checked\n          }\n        });\n        if (response.success) {\n          const newVal = response.user?.custom_fields?.community_newsletter;\n          this.user = {\n            ...this.user,\n            community_newsletter: newVal\n          };\n          this.communityNewsletter = newVal;\n          this.toast.success(\"Subscription Updated\");\n        }\n      } catch (xhr) {\n        const payload = xhr.jqXHR?.responseJSON || {};\n        this.errorMessage = payload.error || \"Update Failed\";\n        this.toast.error(this.errorMessage);\n      }\n    }\n    static #_36 = (() => dt7948.n(this.prototype, \"toggleCommunityNewsletter\", [_object.action]))();\n    startOidc(providerName) {\n      if (this.isLinked(providerName)) {\n        this.toast.success(`${providerName} already linked`);\n        return;\n      }\n      const origin = encodeURIComponent(window.location.pathname + window.location.search + window.location.hash);\n      window.location.assign(`/cp-auth/oidc/start?provider=${encodeURIComponent(providerName)}&origin=${origin}&link=true`);\n    }\n    static #_37 = (() => dt7948.n(this.prototype, \"startOidc\", [_object.action]))();\n    async unlinkOidc(providerName) {\n      this.errorMessage = null;\n      try {\n        const resp = await (0, _ajax.ajax)(`/cp-auth/oidc/unlink?provider=${encodeURIComponent(providerName)}`, {\n          type: \"DELETE\"\n        });\n        if (resp?.success) {\n          this.toast.success(`${providerName} unlinked`);\n          await this._refreshLinked();\n        } else {\n          throw new Error(resp?.error || \"Unlink failed\");\n        }\n      } catch (xhr) {\n        const payload = xhr?.jqXHR?.responseJSON || {};\n        const msg = payload.error || \"Unlink failed\";\n        this.errorMessage = msg;\n        this.toast.error(msg);\n      }\n    }\n    static #_38 = (() => dt7948.n(this.prototype, \"unlinkOidc\", [_object.action]))();\n    async refreshLinkedOnShow() {\n      await this._refreshLinked();\n    }\n    static #_39 = (() => dt7948.n(this.prototype, \"refreshLinkedOnShow\", [_object.action]))();\n    async loadMfaStatus() {\n      this.mfaLoading = true;\n      try {\n        const resp = await (0, _ajax.ajax)(\"/cp-auth/mfa/status\", {\n          type: \"GET\"\n        });\n        this.mfaEnabled = !!resp.enabled;\n      } catch (xhr) {\n        const payload = xhr?.jqXHR?.responseJSON || {};\n        if (payload.error) {\n          this.errorMessage = payload.error;\n        }\n      } finally {\n        this.mfaLoading = false;\n      }\n    }\n    static #_40 = (() => dt7948.n(this.prototype, \"loadMfaStatus\", [_object.action]))();\n    async beginMfaSetup(e) {\n      e?.preventDefault?.();\n      this.errorMessage = null;\n      this.mfaLoading = true;\n      this.mfaCode = \"\";\n      this.mfaSecret = \"\";\n      this.mfaSetupStage = null;\n      this.mfaOtpUri = \"\";\n      try {\n        const resp = await (0, _ajax.ajax)(\"/cp-auth/mfa/begin\", {\n          type: \"POST\"\n        });\n        this.mfaSecret = resp.secret;\n        this.mfaOtpUri = resp.otpauth_uri || \"\";\n        this.mfaSetupStage = \"verify\";\n        this.toast.info(\"Scan the QR code in your authenticator app, then enter the 6-digit code below.\");\n      } catch (xhr) {\n        const payload = xhr.jqXHR?.responseJSON || {};\n        this.errorMessage = payload.error || \"Could not start authenticator app setup.\";\n        this.toast.error(this.errorMessage);\n      } finally {\n        this.mfaLoading = false;\n      }\n    }\n    static #_41 = (() => dt7948.n(this.prototype, \"beginMfaSetup\", [_object.action]))();\n    async confirmMfaSetup(e) {\n      e?.preventDefault?.();\n      this.errorMessage = null;\n      if (!this.mfaCode?.trim()) {\n        this.errorMessage = \"Enter the code from your authenticator app.\";\n        this.toast.error(this.errorMessage);\n        return;\n      }\n      this.mfaLoading = true;\n      try {\n        const resp = await (0, _ajax.ajax)(\"/cp-auth/mfa/confirm\", {\n          type: \"POST\",\n          data: {\n            code: this.mfaCode\n          }\n        });\n        if (resp.success) {\n          this.mfaEnabled = true;\n          this.mfaSetupStage = null;\n          this.mfaSecret = \"\";\n          this.mfaCode = \"\";\n          this.toast.success(\"Authenticator app enabled.\");\n        } else {\n          throw resp;\n        }\n      } catch (xhr) {\n        const payload = xhr.jqXHR?.responseJSON || xhr.responseJSON || {};\n        this.errorMessage = payload.error || \"Verification failed. Please try again.\";\n        this.toast.error(this.errorMessage);\n      } finally {\n        this.mfaLoading = false;\n      }\n    }\n    static #_42 = (() => dt7948.n(this.prototype, \"confirmMfaSetup\", [_object.action]))();\n    async disableMfa(e) {\n      e?.preventDefault?.();\n      this.errorMessage = null;\n      this.mfaLoading = true;\n      try {\n        const resp = await (0, _ajax.ajax)(\"/cp-auth/mfa/disable\", {\n          type: \"POST\"\n        });\n        if (resp.success) {\n          this.mfaEnabled = false;\n          this.mfaSecret = \"\";\n          this.mfaCode = \"\";\n          this.mfaSetupStage = null;\n          this.toast.success(\"Authenticator app disabled.\");\n        } else {\n          throw resp;\n        }\n      } catch (xhr) {\n        const payload = xhr.jqXHR?.responseJSON || xhr.responseJSON || {};\n        this.errorMessage = payload.error || \"Could not disable authenticator app.\";\n        this.toast.error(this.errorMessage);\n      } finally {\n        this.mfaLoading = false;\n      }\n    }\n    static #_43 = (() => dt7948.n(this.prototype, \"disableMfa\", [_object.action]))();\n    checkPassword() {\n      const pRaw = this.newPassword ?? \"\";\n      if (!pRaw.trim()) {\n        this.resultMessage = \"Please enter your password.\";\n        return false;\n      }\n      const p = pRaw;\n      const issues = [];\n      if (p.length < 8) issues.push(\"Must be at least 8 characters long.\");\n      if (!/[A-Z]/.test(p)) issues.push(\"Must include at least 1 uppercase letter.\");\n      if (!/[a-z]/.test(p)) issues.push(\"Must include at least 1 lowercase letter.\");\n      if (!/[0-9]/.test(p)) issues.push(\"Must include at least 1 number.\");\n      if (!/[ !\\\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^_`{|}~]/.test(p)) {\n        issues.push(\"Must include at least 1 special character.\");\n      }\n      if (issues.length) {\n        this.resultMessage = `Password requirements:\\n• ${issues.join(\"\\n• \")}`;\n        return false;\n      }\n      this.resultMessage = \"\";\n      return true;\n    }\n    isLinked = name => {\n      const hit = this.linkedProviders?.find(p => p.name?.toLowerCase() === name?.toLowerCase());\n      return !!hit;\n    };\n    canUnlink = name => {\n      const hit = this.linkedProviders?.find(p => p.name?.toLowerCase() === name?.toLowerCase());\n      return !!hit?.can_unlink;\n    };\n    async _refreshLinked() {\n      try {\n        const resp = await (0, _ajax.ajax)(\"/cp-auth/oidc/linked\");\n        this.linkedProviders = resp?.providers ?? [];\n      } catch (e) {}\n    }\n  }\n  _exports.default = CpAccountSettingsController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/cp-edit-profile\", [\"exports\", \"@ember/controller\", \"@ember/object\", \"@glimmer/tracking\", \"discourse/lib/ajax\", \"@ember/service\", \"discourse/plugins/discourse-plugin-content-platform/discourse/app/constants/auth-providers\", \"discourse-common/lib/get-url\"], function (_exports, _controller, _object, _tracking, _ajax, _service, _authProviders, _getUrl) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const DEFAULT_COLOR = \"#000000\";\n  const HEX_6 = /^#[0-9a-fA-F]{6}$/;\n  const MAX_USER_IMAGES = 20;\n  class CpEditProfileController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"toast\", [_service.service]))();\n    #toast = (() => (dt7948.i(this, \"toast\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"user\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #user = (() => (dt7948.i(this, \"user\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"ad\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #ad = (() => (dt7948.i(this, \"ad\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"aboutMe\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #aboutMe = (() => (dt7948.i(this, \"aboutMe\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"savingAboutMe\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #savingAboutMe = (() => (dt7948.i(this, \"savingAboutMe\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"slots\", [_tracking.tracked], function () {\n      return Array.from({\n        length: 5\n      }, (_, i) => ({\n        position: i + 1,\n        game: \"\",\n        color: DEFAULT_COLOR\n      }));\n    }))();\n    #slots = (() => (dt7948.i(this, \"slots\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"availableGames\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #availableGames = (() => (dt7948.i(this, \"availableGames\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"gamesCursor\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #gamesCursor = (() => (dt7948.i(this, \"gamesCursor\"), void 0))();\n    static #_9 = (() => dt7948.g(this.prototype, \"loadingGames\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loadingGames = (() => (dt7948.i(this, \"loadingGames\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"savingGames\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #savingGames = (() => (dt7948.i(this, \"savingGames\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"userImages\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #userImages = (() => (dt7948.i(this, \"userImages\"), void 0))();\n    static #_12 = (() => dt7948.g(this.prototype, \"uploading\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #uploading = (() => (dt7948.i(this, \"uploading\"), void 0))();\n    static #_13 = (() => dt7948.g(this.prototype, \"uploadCountTotal\", [_tracking.tracked], function () {\n      return 0;\n    }))();\n    #uploadCountTotal = (() => (dt7948.i(this, \"uploadCountTotal\"), void 0))();\n    static #_14 = (() => dt7948.g(this.prototype, \"uploadCountDone\", [_tracking.tracked], function () {\n      return 0;\n    }))();\n    #uploadCountDone = (() => (dt7948.i(this, \"uploadCountDone\"), void 0))();\n    static #_15 = (() => dt7948.g(this.prototype, \"dragging\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #dragging = (() => (dt7948.i(this, \"dragging\"), void 0))();\n    static #_16 = (() => dt7948.g(this.prototype, \"linkedProviders\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #linkedProviders = (() => (dt7948.i(this, \"linkedProviders\"), void 0))();\n    static #_17 = (() => dt7948.g(this.prototype, \"profileShowProviders\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #profileShowProviders = (() => (dt7948.i(this, \"profileShowProviders\"), void 0))();\n    providerList = (() => _authProviders.providerList)();\n    static #_18 = (() => dt7948.g(this.prototype, \"isConfirmOpen\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isConfirmOpen = (() => (dt7948.i(this, \"isConfirmOpen\"), void 0))();\n    static #_19 = (() => dt7948.g(this.prototype, \"confirmTitle\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #confirmTitle = (() => (dt7948.i(this, \"confirmTitle\"), void 0))();\n    static #_20 = (() => dt7948.g(this.prototype, \"confirmDesc\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #confirmDesc = (() => (dt7948.i(this, \"confirmDesc\"), void 0))();\n    static #_21 = (() => dt7948.g(this.prototype, \"confirmOkLabel\", [_tracking.tracked], function () {\n      return \"OK\";\n    }))();\n    #confirmOkLabel = (() => (dt7948.i(this, \"confirmOkLabel\"), void 0))();\n    static #_22 = (() => dt7948.g(this.prototype, \"confirmCancelLabel\", [_tracking.tracked], function () {\n      return \"Cancel\";\n    }))();\n    #confirmCancelLabel = (() => (dt7948.i(this, \"confirmCancelLabel\"), void 0))();\n    _confirmResolver = null;\n    init() {\n      super.init(...arguments);\n    }\n    primeFromUser() {\n      this.aboutMe = this.user.about_me ?? \"\";\n      this.userImages = this.user.user_images ?? [];\n      this.profileShowProviders = this.user.profile_show_socials ?? [];\n    }\n    get aboutMeChanged() {\n      return (this.aboutMe ?? \"\").trim() !== (this.user.about_me ?? \"\").trim();\n    }\n    get gameOptions() {\n      const out = [];\n      const seen = new Set();\n      for (const name of this.availableGames || []) {\n        if (name && !seen.has(name)) {\n          seen.add(name);\n          out.push({\n            id: name,\n            text: name\n          });\n        }\n      }\n      return out;\n    }\n    get canEditAlbum() {\n      const cu = this.currentUser;\n      return !!cu && (cu.admin || cu.id === this.user?.id);\n    }\n    get userImagesLimitReached() {\n      return (this.userImages?.length || 0) >= MAX_USER_IMAGES;\n    }\n    get isAlbumEmpty() {\n      return (this.userImages?.length || 0) === 0 && !this.uploading;\n    }\n    get getShowProfile() {\n      return providerName => {\n        return this.profileShowProviders?.[providerName.toLowerCase()] === true;\n      };\n    }\n    get hasVisibleProviders() {\n      return Object.values(this.profileShowProviders).some(Boolean);\n    }\n    confirm(_ref) {\n      let {\n        title,\n        description,\n        okLabel = \"OK\",\n        cancelLabel = \"Cancel\"\n      } = _ref;\n      this.confirmTitle = title;\n      this.confirmDesc = description;\n      this.confirmOkLabel = okLabel;\n      this.confirmCancelLabel = cancelLabel;\n      this.isConfirmOpen = true;\n      document.body.classList.add(\"body-has-modal\");\n      return new Promise(resolve => {\n        this._confirmResolver = resolve;\n      });\n    }\n    confirmOk() {\n      if (this._confirmResolver) this._confirmResolver(true);\n      this._closeConfirm();\n    }\n    static #_23 = (() => dt7948.n(this.prototype, \"confirmOk\", [_object.action]))();\n    confirmCancel() {\n      if (this._confirmResolver) this._confirmResolver(false);\n      this._closeConfirm();\n    }\n    static #_24 = (() => dt7948.n(this.prototype, \"confirmCancel\", [_object.action]))();\n    _closeConfirm() {\n      this.isConfirmOpen = false;\n      this._confirmResolver = null;\n      document.body.classList.remove(\"body-has-modal\");\n    }\n    async editAboutMe(e) {\n      e.preventDefault();\n      this.savingAboutMe = true;\n      this.errorMessage = null;\n      try {\n        const response = await (0, _ajax.ajax)(\"/cp/edit-profile/about-me\", {\n          type: \"POST\",\n          data: {\n            about_me: this.aboutMe\n          }\n        });\n        if (response.success) {\n          const newVal = response.user?.about_me;\n          this.user = {\n            ...this.user,\n            about_me: newVal\n          };\n          this.aboutMe = newVal;\n          ;\n          this.toast.success(\"About me updated\");\n        }\n      } catch (xhr) {\n        const payload = xhr.jqXHR?.responseJSON || {};\n        this.errorMessage = payload.error || \"Update Failed\";\n        this.toast.error(this.errorMessage);\n      } finally {\n        this.savingAboutMe = false;\n      }\n    }\n    static #_25 = (() => dt7948.n(this.prototype, \"editAboutMe\", [_object.action]))();\n    async loadMoreGames() {\n      if (!this.gamesCursor || this.loadingGames) return;\n      this.loadingGames = true;\n      try {\n        const resp = await (0, _ajax.ajax)((0, _getUrl.default)(\"/cp/games\"), {\n          type: \"GET\",\n          data: {\n            verified: true,\n            limit: 200,\n            cursor: this.gamesCursor\n          }\n        });\n        if (resp?.success) {\n          const names = (resp.games || []).map(g => g.id).filter(Boolean);\n          const seen = new Set(this.availableGames);\n          const merged = [...this.availableGames];\n          for (const n of names) if (!seen.has(n)) {\n            seen.add(n);\n            merged.push(n);\n          }\n          this.availableGames = merged;\n          this.gamesCursor = resp.cursor || null;\n        }\n      } catch {\n        // non-fatal; ignore\n      } finally {\n        this.loadingGames = false;\n      }\n    }\n    static #_26 = (() => dt7948.n(this.prototype, \"loadMoreGames\", [_object.action]))();\n    async onSelectGame(slot, value) {\n      const v = (value || \"\").trim();\n      slot.game = v;\n      this.slots = this.slots;\n      if (!v) return;\n\n      // If this isn't in the verified list, offer to suggest it\n      if (!this.knownGame(v)) {\n        const yes = await this.confirm({\n          title: \"Suggest unverified game?\",\n          description: `“${v}” isn’t in our verified list. Suggest it for review?`,\n          okLabel: \"Suggest\",\n          cancelLabel: \"Cancel\"\n        });\n        if (yes) {\n          try {\n            await (0, _ajax.ajax)(\"/cp/games\", {\n              type: \"POST\",\n              data: {\n                id: v\n              }\n            });\n            this.toast.success(`“${v}” suggested. An admin will review it soon.`);\n            // Do NOT add to availableGames here; it’ll appear once verified.\n          } catch (xhr) {\n            const msg = xhr?.jqXHR?.responseJSON?.error || \"Couldn’t suggest that game.\";\n            this.toast.error(msg);\n          }\n        }\n      }\n    }\n    static #_27 = (() => dt7948.n(this.prototype, \"onSelectGame\", [_object.action]))();\n    updateColor(slot, ev) {\n      const v = (ev?.target?.value || \"\").trim();\n      slot.color = v;\n      this.slots = this.slots;\n    }\n    static #_28 = (() => dt7948.n(this.prototype, \"updateColor\", [_object.action]))();\n    updateColor2(slot, ev) {\n      const v = (ev?.target?.value || \"\").trim();\n      slot.color2 = v;\n      this.slots = this.slots;\n    }\n    static #_29 = (() => dt7948.n(this.prototype, \"updateColor2\", [_object.action]))();\n    async saveGames(e) {\n      e.preventDefault();\n      this.savingGames = true;\n      try {\n        const games = this.slots.map((s, i) => ({\n          game: (s.game || \"\").trim(),\n          color: (s.color || DEFAULT_COLOR).trim(),\n          color2: (s.color2 || DEFAULT_COLOR).trim(),\n          position: i + 1\n        })).filter(g => g.game.length > 0);\n        for (const g of games) {\n          if (!HEX_6.test(g.color)) {\n            throw new Error(`Invalid color \"${g.color}\" for \"${g.game}\". Use #RRGGBB (e.g., #000000).`);\n          }\n          if (!HEX_6.test(g.color2)) {\n            throw new Error(`Invalid color \"${g.color2}\" for \"${g.game}\". Use #RRGGBB (e.g., #000000).`);\n          }\n        }\n        await (0, _ajax.ajax)((0, _getUrl.default)(\"/cp/user-games/me\"), {\n          type: \"POST\",\n          data: {\n            game_data: JSON.stringify({\n              games\n            })\n          }\n        });\n        this.toast.success(\"Top 5 Games Saved\");\n      } catch (xhr) {\n        const payload = xhr?.jqXHR?.responseJSON || {};\n        this.toast.error(payload.error || xhr?.message || \"Save failed\");\n      } finally {\n        this.savingGames = false;\n      }\n    }\n    static #_30 = (() => dt7948.n(this.prototype, \"saveGames\", [_object.action]))();\n    preventAndIndicate(ev) {\n      ev.preventDefault();\n      ev.stopPropagation();\n      this.dragging = true;\n    }\n    static #_31 = (() => dt7948.n(this.prototype, \"preventAndIndicate\", [_object.action]))();\n    clearDragIndication() {\n      this.dragging = false;\n    }\n    static #_32 = (() => dt7948.n(this.prototype, \"clearDragIndication\", [_object.action]))();\n    async handleDrop(ev) {\n      ev.preventDefault();\n      this.dragging = false;\n      const files = Array.from(ev.dataTransfer?.files || []);\n      await this.uploadFiles(files);\n    }\n    static #_33 = (() => dt7948.n(this.prototype, \"handleDrop\", [_object.action]))();\n    async handleFileInput(ev) {\n      const files = Array.from(ev.target?.files || []);\n      // reset input to allow re-selecting same file later\n      ev.target.value = \"\";\n      await this.uploadFiles(files);\n    }\n    static #_34 = (() => dt7948.n(this.prototype, \"handleFileInput\", [_object.action]))();\n    async deleteImage(imageId) {\n      if (!this.canEditAlbum) return;\n      if (!imageId) return;\n      try {\n        await (0, _ajax.ajax)((0, _getUrl.default)(`/cp/edit-profile/images/${imageId}`), {\n          type: \"DELETE\"\n        });\n        this.userImages = (this.userImages || []).filter(i => i.id !== imageId);\n        this.toast.success(\"Removed.\");\n      } catch (xhr) {\n        const payload = xhr?.jqXHR?.responseJSON || {};\n        this.toast.error(payload.error || \"Delete failed.\");\n      }\n    }\n    static #_35 = (() => dt7948.n(this.prototype, \"deleteImage\", [_object.action]))();\n    async toggleShowProfile(providerName, event) {\n      event?.preventDefault();\n      const key = providerName.toLowerCase();\n      const match = this.providerList.find(p => p.name.toLowerCase() === key.toLowerCase());\n      if (!match?.profileVisible) {\n        this.toast.error(`Cannot display ${providerName} on public profile.`);\n        return;\n      }\n      const currentValue = !!this.profileShowProviders?.[key];\n      const newValue = !currentValue; // toggle value\n\n      const socials = {\n        ...this.profileShowProviders,\n        [key]: newValue\n      };\n      try {\n        const response = await (0, _ajax.ajax)(`/cp/edit-profile/profile-show-socials`, {\n          type: \"POST\",\n          contentType: \"application/json; charset=utf-8\",\n          data: JSON.stringify({\n            profile_show_socials: socials\n          })\n        });\n        if (response.success) {\n          this.profileShowProviders = response.profile_show_socials;\n        }\n      } catch (xhr) {\n        const payload = xhr?.jqXHR?.responseJSON || {};\n        this.toast.error(payload.error || \"Social profile visibility update failed.\");\n      }\n    }\n    static #_36 = (() => dt7948.n(this.prototype, \"toggleShowProfile\", [_object.action]))();\n    getProviderClass(p) {\n      const shown = this.isShownOnProfile(p.name);\n      const linked = this.isLinked(p.name);\n      if (shown) return \"is-shown\";\n      if (linked) return \"is-linked\";\n      return \"is-off\";\n    }\n    static #_37 = (() => dt7948.n(this.prototype, \"getProviderClass\", [_object.action]))();\n    async uploadFiles(files) {\n      if (!files.length) return;\n      if (!this.canEditAlbum) {\n        this.toast.error(\"You can’t upload to this album.\");\n        return;\n      }\n      const remaining = MAX_USER_IMAGES - (this.userImages?.length || 0);\n      const toSend = files.slice(0, Math.max(0, remaining));\n      if (toSend.length === 0) {\n        this.toast.info(\"Album is full (max 20).\");\n        return;\n      }\n      this.uploading = true;\n      this.uploadCountTotal = toSend.length;\n      this.uploadCountDone = 0;\n      try {\n        for (const f of toSend) {\n          const fd = new FormData();\n          fd.append(\"file\", f);\n          const resp = await (0, _ajax.ajax)((0, _getUrl.default)(\"/cp/edit-profile/images\"), {\n            type: \"POST\",\n            data: fd,\n            processData: false,\n            contentType: false\n          });\n          if (resp?.success && resp.image) {\n            this.userImages = [resp.image, ...(this.userImages || [])].slice(0, MAX_USER_IMAGES);\n          }\n          this.uploadCountDone++;\n        }\n        this.toast.success(\"Upload complete.\");\n      } catch (xhr) {\n        const payload = xhr?.jqXHR?.responseJSON || {};\n        this.toast.error(payload.error || \"Upload failed.\");\n      } finally {\n        this.uploading = false;\n      }\n    }\n    knownGame(name) {\n      return (this.availableGames || []).includes(name);\n    }\n    isLinked = name => {\n      const hit = this.linkedProviders?.find(p => p.name?.toLowerCase() === name?.toLowerCase());\n      return !!hit;\n    };\n    canShowProfile = name => {\n      if (!name) return false;\n      const linked = this.linkedProviders?.find(p => p.name?.toLowerCase() === name.toLowerCase());\n      if (!linked) return false;\n      const provider = this.providerList?.find(p => p.name?.toLowerCase() === name.toLowerCase() && p.profileVisible);\n      return !!provider;\n    };\n    isShownOnProfile = name => {\n      if (!this.profileShowProviders || !name) return false;\n      return Object.prototype.hasOwnProperty.call(this.profileShowProviders, name.toLowerCase()) && this.profileShowProviders[name.toLowerCase()] === true;\n    };\n  }\n  _exports.default = CpEditProfileController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/cp-forgot-password\", [\"exports\", \"@ember/controller\", \"@ember/object\", \"@glimmer/tracking\", \"discourse/lib/ajax\", \"@ember/service\"], function (_exports, _controller, _object, _tracking, _ajax, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class ForgotPasswordController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n    #router = (() => (dt7948.i(this, \"router\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"step\", [_tracking.tracked], function () {\n      return 1;\n    }))();\n    #step = (() => (dt7948.i(this, \"step\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"email\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #email = (() => (dt7948.i(this, \"email\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"code\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #code = (() => (dt7948.i(this, \"code\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"password\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #password = (() => (dt7948.i(this, \"password\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"passwordConfirm\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #passwordConfirm = (() => (dt7948.i(this, \"passwordConfirm\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"isSubmitting\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isSubmitting = (() => (dt7948.i(this, \"isSubmitting\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"resultMessage\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #resultMessage = (() => (dt7948.i(this, \"resultMessage\"), void 0))();\n    async handleEmail(e) {\n      e.preventDefault();\n      try {\n        this.isSubmitting = true;\n        const response = await (0, _ajax.ajax)(\"/cp_auth/forgot\", {\n          type: \"POST\",\n          data: {\n            email: this.email\n          }\n        });\n        if (response?.success) {\n          if (response.verification_resent === true) {\n            this.router.transitionTo(\"confirm\", {\n              queryParams: {\n                email: this.email\n              }\n            });\n            return; // stop the normal flow\n          }\n\n          // Normal forgot-password flow\n          this.resultMessage = response.message ?? null;\n          this.step = 2;\n        } else {\n          this.resultMessage = response?.message || \"An error occurred.\";\n        }\n      } catch (error) {\n        console.log(error);\n        this.resultMessage = error?.responseJSON?.error || \"Error.\";\n      } finally {\n        this.isSubmitting = false;\n      }\n    }\n    static #_9 = (() => dt7948.n(this.prototype, \"handleEmail\", [_object.action]))();\n    async handleReset(e) {\n      e.preventDefault();\n      if (this.checkPassword()) {\n        return;\n      }\n      try {\n        this.isSubmitting = true;\n        const response = await (0, _ajax.ajax)(\"/cp_auth/forgot/confirm\", {\n          type: \"POST\",\n          data: {\n            email: this.email,\n            code: this.code,\n            new_password: this.password\n          }\n        });\n        if (response.success) {\n          this.router.transitionTo(\"homepage\", {\n            queryParams: {\n              loginOpen: true\n            }\n          });\n        } else {\n          this.resultMessage = response.message || \"An error occurred.\";\n        }\n      } catch (error) {\n        this.resultMessage = error?.responseJSON?.error || \"Error.\";\n      } finally {\n        this.isSubmitting = false;\n      }\n    }\n    static #_10 = (() => dt7948.n(this.prototype, \"handleReset\", [_object.action]))();\n    get progressPercent() {\n      return this.step / 2 * 100;\n    }\n    checkPassword() {\n      const pRaw = this.password ?? \"\";\n      const cRaw = this.passwordConfirm ?? \"\";\n      if (!pRaw.trim() || !cRaw.trim()) {\n        this.resultMessage = \"Please enter your password.\";\n        return true;\n      }\n      const p = pRaw; // keep spaces if the user intentionally includes them\n      const c = cRaw;\n      if (p !== c) {\n        this.resultMessage = \"The passwords must match.\";\n        return true;\n      }\n      const issues = [];\n      if (p.length < 8) issues.push(\"Must be at least 8 characters long.\");\n      if (!/[A-Z]/.test(p)) issues.push(\"Must include at least 1 uppercase letter.\");\n      if (!/[a-z]/.test(p)) issues.push(\"Must include at least 1 lowercase letter.\");\n      if (!/[0-9]/.test(p)) issues.push(\"Must include at least 1 number.\");\n      if (!/[ !\\\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^_`{|}~]/.test(p)) {\n        issues.push(\"Must include at least 1 special character.\");\n      }\n      if (issues.length) {\n        this.resultMessage = `Password requirements:\\n• ${issues.join(\"\\n• \")}`;\n        return true;\n      }\n      this.resultMessage = \"\";\n      return false;\n    }\n  }\n  _exports.default = ForgotPasswordController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/cp-privacy\", [\"exports\", \"@ember/controller\", \"@ember/service\", \"@ember/object\"], function (_exports, _controller, _service, _object) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class CpPrivacyController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    init() {\n      super.init(...arguments);\n    }\n    get isLoggedIn() {\n      return !!this.currentUser;\n    }\n    openLogin() {\n      $(function () {\n        $(\".cp-avatar-button\").trigger(\"click\");\n      });\n    }\n    static #_2 = (() => dt7948.n(this.prototype, \"openLogin\", [_object.action]))();\n  }\n  _exports.default = CpPrivacyController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/cp-profile\", [\"exports\", \"@ember/controller\", \"@ember/object\", \"@ember/service\", \"@glimmer/tracking\", \"discourse/plugins/discourse-plugin-content-platform/discourse/app/constants/auth-providers\", \"discourse-common/lib/get-url\"], function (_exports, _controller, _object, _service, _tracking, _authProviders, _getUrl) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class CpProfileController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))(); // ===============================\n    // Data\n    // ===============================\n    static #_2 = (() => dt7948.g(this.prototype, \"user\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #user = (() => (dt7948.i(this, \"user\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"ad\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #ad = (() => (dt7948.i(this, \"ad\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"userGames\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #userGames = (() => (dt7948.i(this, \"userGames\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"userActions\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #userActions = (() => (dt7948.i(this, \"userActions\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"linkedProviders\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #linkedProviders = (() => (dt7948.i(this, \"linkedProviders\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"provileShowProviders\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #provileShowProviders = (() => (dt7948.i(this, \"provileShowProviders\"), void 0))();\n    providerList = (() => _authProviders.providerList)();\n\n    // ===============================\n    // Confirm Modal (generic)\n    // ===============================\n    static #_8 = (() => dt7948.g(this.prototype, \"isConfirmOpen\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isConfirmOpen = (() => (dt7948.i(this, \"isConfirmOpen\"), void 0))();\n    static #_9 = (() => dt7948.g(this.prototype, \"confirmTitle\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #confirmTitle = (() => (dt7948.i(this, \"confirmTitle\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"confirmDesc\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #confirmDesc = (() => (dt7948.i(this, \"confirmDesc\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"confirmOkLabel\", [_tracking.tracked], function () {\n      return \"OK\";\n    }))();\n    #confirmOkLabel = (() => (dt7948.i(this, \"confirmOkLabel\"), void 0))();\n    static #_12 = (() => dt7948.g(this.prototype, \"confirmCancelLabel\", [_tracking.tracked], function () {\n      return \"Cancel\";\n    }))();\n    #confirmCancelLabel = (() => (dt7948.i(this, \"confirmCancelLabel\"), void 0))();\n    _confirmResolver = null;\n\n    // ===============================\n    // Report Modal\n    // ===============================\n    static #_13 = (() => dt7948.g(this.prototype, \"isReportOpen\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isReportOpen = (() => (dt7948.i(this, \"isReportOpen\"), void 0))();\n    static #_14 = (() => dt7948.g(this.prototype, \"reportTargetType\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #reportTargetType = (() => (dt7948.i(this, \"reportTargetType\"), void 0))();\n    static #_15 = (() => dt7948.g(this.prototype, \"reportTargetId\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #reportTargetId = (() => (dt7948.i(this, \"reportTargetId\"), void 0))();\n    static #_16 = (() => dt7948.g(this.prototype, \"reportSnapshot\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #reportSnapshot = (() => (dt7948.i(this, \"reportSnapshot\"), void 0))();\n    static #_17 = (() => dt7948.g(this.prototype, \"isViewerOpen\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isViewerOpen = (() => (dt7948.i(this, \"isViewerOpen\"), void 0))(); // ===============================\n    // Fullscreen Viewer\n    // ===============================\n    static #_18 = (() => dt7948.g(this.prototype, \"viewerIndex\", [_tracking.tracked], function () {\n      return -1;\n    }))();\n    #viewerIndex = (() => (dt7948.i(this, \"viewerIndex\"), void 0))();\n    init() {\n      super.init(...arguments);\n    }\n    primeFromUser() {}\n\n    // ===============================\n    // Derived getters\n    // ===============================\n    get viewerImage() {\n      return this.user?.user_images?.[this.viewerIndex] ?? null;\n    }\n    get viewerHasPrev() {\n      return this.viewerIndex > 0;\n    }\n    get viewerHasNext() {\n      const n = this.user?.user_images?.length || 0;\n      return this.viewerIndex >= 0 && this.viewerIndex < n - 1;\n    }\n    get currentUsername() {\n      return this.currentUser ? this.currentUser.username : \"\";\n    }\n    get visibleProviders() {\n      const showSocials = this.user?.profile_show_socials || {};\n      return this.providerList.filter(p => p.profileVisible && this.linkedProviders?.some(lp => lp.provider?.toLowerCase() === p.name.toLowerCase()) && showSocials[p.name.toLowerCase()] === true);\n    }\n\n    // ===============================\n    // Confirm Modal actions\n    // ===============================\n    confirm(_ref) {\n      let {\n        title,\n        description,\n        okLabel = \"OK\",\n        cancelLabel = \"Cancel\"\n      } = _ref;\n      this.confirmTitle = title;\n      this.confirmDesc = description;\n      this.confirmOkLabel = okLabel;\n      this.confirmCancelLabel = cancelLabel;\n      this.isConfirmOpen = true;\n      this._toggleBodyModalClass(true);\n      return new Promise(resolve => {\n        this._confirmResolver = resolve;\n      });\n    }\n    static #_19 = (() => dt7948.n(this.prototype, \"confirm\", [_object.action]))();\n    confirmOk() {\n      if (this._confirmResolver) this._confirmResolver(true);\n      this._closeConfirm();\n    }\n    static #_20 = (() => dt7948.n(this.prototype, \"confirmOk\", [_object.action]))();\n    confirmCancel() {\n      if (this._confirmResolver) this._confirmResolver(false);\n      this._closeConfirm();\n    }\n    static #_21 = (() => dt7948.n(this.prototype, \"confirmCancel\", [_object.action]))();\n    _closeConfirm() {\n      this.isConfirmOpen = false;\n      this._confirmResolver = null;\n      this._toggleBodyModalClass(false);\n    }\n\n    // ===============================\n    // Report Modal actions\n    // ===============================\n    reportProfile() {\n      const about = this.user?.about_me ?? \"\";\n      this._openReport(\"about_me\", String(this.user?.id ?? \"\"), {\n        about_me_excerpt: about.slice(0, 500)\n      });\n    }\n    static #_22 = (() => dt7948.n(this.prototype, \"reportProfile\", [_object.action]))();\n    openReportForImage(img) {\n      if (!img) return;\n      this._openReport(\"user_image\", String(img.id), {\n        image_url: img.url\n      });\n    }\n    static #_23 = (() => dt7948.n(this.prototype, \"openReportForImage\", [_object.action]))();\n    closeReport() {\n      this.isReportOpen = false;\n      this.reportTargetType = null;\n      this.reportTargetId = null;\n      this.reportSnapshot = null;\n    }\n    static #_24 = (() => dt7948.n(this.prototype, \"closeReport\", [_object.action]))();\n    _openReport(type, id, snapshot) {\n      this.reportTargetType = type;\n      this.reportTargetId = id;\n      this.reportSnapshot = snapshot;\n      this.isReportOpen = true;\n    }\n\n    // ===============================\n    // Fullscreen Viewer actions\n    // ===============================\n    openImageViewer(img, index) {\n      const imgs = this.user?.user_images || [];\n      let i = typeof index === \"number\" ? index : imgs.findIndex(x => String(x.id) === String(img?.id));\n      if (i < 0) i = 0;\n      this.viewerIndex = i;\n      this.isViewerOpen = true;\n    }\n    static #_25 = (() => dt7948.n(this.prototype, \"openImageViewer\", [_object.action]))();\n    closeViewer() {\n      this.isViewerOpen = false;\n    }\n    static #_26 = (() => dt7948.n(this.prototype, \"closeViewer\", [_object.action]))();\n    nextImage() {\n      const n = this.user?.user_images?.length || 0;\n      if (n && this.viewerIndex < n - 1) this.viewerIndex++;\n    }\n    static #_27 = (() => dt7948.n(this.prototype, \"nextImage\", [_object.action]))();\n    prevImage() {\n      if (this.viewerIndex > 0) this.viewerIndex--;\n    }\n    static #_28 = (() => dt7948.n(this.prototype, \"prevImage\", [_object.action]))();\n    reportCurrentImage() {\n      const img = this.viewerImage;\n      if (!img) return;\n      this.openReportForImage(img); // opens ReportContentModal pre-filled\n    }\n\n    // ===============================\n    // Utilities\n    // ===============================\n    static #_29 = (() => dt7948.n(this.prototype, \"reportCurrentImage\", [_object.action]))();\n    linkFor(action) {\n      if (action.post_id) {\n        return (0, _getUrl.default)(`/p/${action.post_id}`);\n      }\n      return (0, _getUrl.default)(action.post_url);\n    }\n    formatDate(value) {\n      if (!value) return \"\";\n      let ts;\n      if (value instanceof Date) ts = value.getTime();else if (typeof value === \"number\") ts = value > 1e12 ? value : value * 1000;else if (typeof value === \"string\") ts = Date.parse(value);else ts = NaN;\n      if (Number.isNaN(ts)) return \"\";\n      const d = new Date(ts);\n      const mm = String(d.getMonth() + 1);\n      const dd = String(d.getDate());\n      const yy = String(d.getFullYear()).slice(-2);\n      return `${mm}.${dd}.${yy}`;\n    }\n    _toggleBodyModalClass(on) {\n      document.body.classList.toggle(\"body-has-modal\", !!on);\n    }\n    isLinked = name => {\n      if (!name) return false;\n      const needle = String(name).toLowerCase();\n      const list = Array.isArray(this.linkedProviders) ? this.linkedProviders : [];\n      return list.some(n => String(n.provider).toLowerCase() === needle);\n    };\n  }\n  _exports.default = CpProfileController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/cp-tos\", [\"exports\", \"@ember/controller\"], function (_exports, _controller) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class CpTosController extends _controller.default {\n    init() {\n      super.init(...arguments);\n    }\n  }\n  _exports.default = CpTosController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/discovery/custom\", [\"exports\", \"@ember/controller\", \"@glimmer/tracking\", \"@ember/service\"], function (_exports, _controller, _tracking, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class DiscoveryCustomController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    queryParams = [\"loginOpen\"];\n    static #_2 = (() => dt7948.g(this.prototype, \"loginOpen\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loginOpen = (() => (dt7948.i(this, \"loginOpen\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"banners\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #banners = (() => (dt7948.i(this, \"banners\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"ad\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #ad = (() => (dt7948.i(this, \"ad\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"latestTopics\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #latestTopics = (() => (dt7948.i(this, \"latestTopics\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"upcomingEvents\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #upcomingEvents = (() => (dt7948.i(this, \"upcomingEvents\"), void 0))();\n    init() {\n      super.init(...arguments);\n    }\n    get isLoggedIn() {\n      return !!this.currentUser;\n    }\n  }\n  _exports.default = DiscoveryCustomController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/homepage\", [\"exports\", \"@ember/controller\", \"@glimmer/tracking\", \"@ember/service\"], function (_exports, _controller, _tracking, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class HomepageController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    queryParams = [\"loginOpen\"];\n    static #_2 = (() => dt7948.g(this.prototype, \"loginOpen\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #loginOpen = (() => (dt7948.i(this, \"loginOpen\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"banners\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #banners = (() => (dt7948.i(this, \"banners\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"ad\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #ad = (() => (dt7948.i(this, \"ad\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"latestTopics\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #latestTopics = (() => (dt7948.i(this, \"latestTopics\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"upcomingEvents\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #upcomingEvents = (() => (dt7948.i(this, \"upcomingEvents\"), void 0))();\n    init() {\n      super.init(...arguments);\n    }\n    get isLoggedIn() {\n      return !!this.currentUser;\n    }\n  }\n  _exports.default = HomepageController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/my-loot\", [\"exports\", \"@ember/controller\", \"@glimmer/tracking\", \"@ember/service\", \"@ember/object\", \"discourse/plugins/discourse-plugin-content-platform/discourse/lib/date-time-formatter\"], function (_exports, _controller, _tracking, _service, _object, _dateTimeFormatter) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class LootIndexController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"toast\", [_service.service]))();\n    #toast = (() => (dt7948.i(this, \"toast\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"codeCopyFlag\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #codeCopyFlag = (() => (dt7948.i(this, \"codeCopyFlag\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"copiedCode\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #copiedCode = (() => (dt7948.i(this, \"copiedCode\"), void 0))();\n    formatClaimDate(rawClaimDate) {\n      return (0, _dateTimeFormatter.formatDate)(new Date(rawClaimDate * 1000), \"/\");\n    }\n    resetArgs() {\n      this.codeCopyFlag = false;\n      this.copiedCode = \"\";\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"resetArgs\", [_object.action]))();\n    async copyKeyToClipboard(gameKey) {\n      try {\n        await navigator.clipboard.writeText(gameKey);\n        if (!this.codeCopyFlag || this.copiedCode && this.copiedCode !== gameKey) {\n          this.copiedCode = gameKey;\n          this.codeCopyFlag = true;\n          this.toast.success(\"Code successfully copied!\");\n        }\n      } catch (err) {\n        console.error(\"Failed to copy: \", err);\n        this.toast.error(\"Failed to copy code.\");\n      }\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"copyKeyToClipboard\", [_object.action]))();\n  }\n  _exports.default = LootIndexController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/promotion-page\", [\"exports\", \"@ember/controller\", \"@glimmer/tracking\", \"@ember/service\", \"@ember/object\", \"discourse/lib/ajax\", \"discourse/lib/get-url\"], function (_exports, _controller, _tracking, _service, _object, _ajax, _getUrl) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class PromotionPageController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"toast\", [_service.service]))();\n    #toast = (() => (dt7948.i(this, \"toast\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"giveawayId\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #giveawayId = (() => (dt7948.i(this, \"giveawayId\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"keyClaimedWindowOpen\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #keyClaimedWindowOpen = (() => (dt7948.i(this, \"keyClaimedWindowOpen\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"copiedCode\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #copiedCode = (() => (dt7948.i(this, \"copiedCode\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"claimingKey\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #claimingKey = (() => (dt7948.i(this, \"claimingKey\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"keyCode\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #keyCode = (() => (dt7948.i(this, \"keyCode\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"instructionsCooked\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #instructionsCooked = (() => (dt7948.i(this, \"instructionsCooked\"), void 0))();\n    static #_9 = (() => dt7948.g(this.prototype, \"descCooked\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #descCooked = (() => (dt7948.i(this, \"descCooked\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"title\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #title = (() => (dt7948.i(this, \"title\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"platform\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #platform = (() => (dt7948.i(this, \"platform\"), void 0))();\n    static #_12 = (() => dt7948.g(this.prototype, \"developer\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #developer = (() => (dt7948.i(this, \"developer\"), void 0))();\n    static #_13 = (() => dt7948.g(this.prototype, \"gameWebsite\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #gameWebsite = (() => (dt7948.i(this, \"gameWebsite\"), void 0))();\n    static #_14 = (() => dt7948.g(this.prototype, \"keysRemaining\", [_tracking.tracked], function () {\n      return 0;\n    }))();\n    #keysRemaining = (() => (dt7948.i(this, \"keysRemaining\"), void 0))();\n    static #_15 = (() => dt7948.g(this.prototype, \"mediaType\", [_tracking.tracked], function () {\n      return \"unknown\";\n    }))();\n    #mediaType = (() => (dt7948.i(this, \"mediaType\"), void 0))();\n    static #_16 = (() => dt7948.g(this.prototype, \"mediaUrl\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #mediaUrl = (() => (dt7948.i(this, \"mediaUrl\"), void 0))();\n    init() {\n      super.init?.(...arguments);\n    }\n    openLogin() {\n      $(function () {\n        $(\".cp-avatar-button\").trigger(\"click\");\n      });\n    }\n    static #_17 = (() => dt7948.n(this.prototype, \"openLogin\", [_object.action]))();\n    async claimKey() {\n      this.claimingKey = true;\n      this.toast.info(\"Claiming key...\");\n      try {\n        const resp = await (0, _ajax.ajax)((0, _getUrl.default)(\"/cp/giveaway/claim\"), {\n          type: \"POST\",\n          data: {\n            giveaway_id: this.giveawayId\n          }\n        });\n        if (resp.error) {\n          this.toast.error(resp.error);\n        } else {\n          this.toast.success(resp.message);\n          this.keyCode = resp.item.code;\n          this.keyClaimedWindowOpen = true;\n        }\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.log(e);\n        this.toast.error(\"Claim failed. Please try again.\");\n      } finally {\n        this.claimingKey = false;\n      }\n    }\n    static #_18 = (() => dt7948.n(this.prototype, \"claimKey\", [_object.action]))();\n    closeClaimedWindow() {\n      this.keyClaimedWindowOpen = false;\n      this.copiedCode = false;\n    }\n    static #_19 = (() => dt7948.n(this.prototype, \"closeClaimedWindow\", [_object.action]))();\n    async copyKeyToClipboard() {\n      try {\n        await navigator.clipboard.writeText(this.keyCode);\n        if (!this.copiedCode) {\n          this.copiedCode = true;\n          this.toast.success(\"Code successfully copied!\");\n        }\n      } catch (err) {\n        // eslint-disable-next-line no-console\n        console.error(\"Failed to copy: \", err);\n        this.toast.error(\"Failed to copy code.\");\n      }\n    }\n    static #_20 = (() => dt7948.n(this.prototype, \"copyKeyToClipboard\", [_object.action]))();\n  }\n  _exports.default = PromotionPageController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/promotions-index\", [\"exports\", \"@ember/controller\", \"@ember/service\", \"@glimmer/tracking\"], function (_exports, _controller, _service, _tracking) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class PromotionsIndexController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))(); // ===============================\n    // Data\n    // ===============================\n    static #_2 = (() => dt7948.g(this.prototype, \"user\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #user = (() => (dt7948.i(this, \"user\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"ad\", [_tracking.tracked], function () {\n      return [];\n    }))();\n    #ad = (() => (dt7948.i(this, \"ad\"), void 0))();\n    init() {\n      super.init(...arguments);\n    }\n  }\n  _exports.default = PromotionsIndexController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/rewards-index\", [\"exports\", \"@ember/controller\", \"@glimmer/tracking\", \"@ember/service\", \"@ember/object\", \"discourse/plugins/discourse-plugin-content-platform/discourse/lib/date-time-formatter\"], function (_exports, _controller, _tracking, _service, _object, _dateTimeFormatter) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  // Same as my-loot.js for now\n\n  class RewardsIndexController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"toast\", [_service.service]))();\n    #toast = (() => (dt7948.i(this, \"toast\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"currentUser\", [_service.service]))();\n    #currentUser = (() => (dt7948.i(this, \"currentUser\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"codeCopyFlag\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #codeCopyFlag = (() => (dt7948.i(this, \"codeCopyFlag\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"copiedCode\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #copiedCode = (() => (dt7948.i(this, \"copiedCode\"), void 0))();\n    formatClaimDate(rawClaimDate) {\n      return (0, _dateTimeFormatter.formatDate)(new Date(rawClaimDate * 1000), \"/\");\n    }\n    resetArgs() {\n      this.codeCopyFlag = false;\n      this.copiedCode = \"\";\n    }\n    static #_5 = (() => dt7948.n(this.prototype, \"resetArgs\", [_object.action]))();\n    async copyKeyToClipboard(gameKey) {\n      try {\n        await navigator.clipboard.writeText(gameKey);\n        if (!this.codeCopyFlag || this.copiedCode && this.copiedCode !== gameKey) {\n          this.copiedCode = gameKey;\n          this.codeCopyFlag = true;\n          this.toast.success(\"Code successfully copied!\");\n        }\n      } catch (err) {\n        console.error(\"Failed to copy: \", err);\n        this.toast.error(\"Failed to copy code.\");\n      }\n    }\n    static #_6 = (() => dt7948.n(this.prototype, \"copyKeyToClipboard\", [_object.action]))();\n  }\n  _exports.default = RewardsIndexController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/controllers/sign-up\", [\"exports\", \"@ember/controller\", \"@ember/object\", \"@glimmer/tracking\", \"@ember/service\", \"discourse/lib/ajax\", \"@ember/template\"], function (_exports, _controller, _object, _tracking, _service, _ajax, _template) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  class SignUpController extends _controller.default {\n    static #_ = (() => dt7948.g(this.prototype, \"router\", [_service.service]))();\n    #router = (() => (dt7948.i(this, \"router\"), void 0))();\n    static #_2 = (() => dt7948.g(this.prototype, \"siteSettings\", [_service.service]))();\n    #siteSettings = (() => (dt7948.i(this, \"siteSettings\"), void 0))();\n    static #_3 = (() => dt7948.g(this.prototype, \"step\", [_tracking.tracked], function () {\n      return 1;\n    }))();\n    #step = (() => (dt7948.i(this, \"step\"), void 0))();\n    static #_4 = (() => dt7948.g(this.prototype, \"email\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #email = (() => (dt7948.i(this, \"email\"), void 0))();\n    static #_5 = (() => dt7948.g(this.prototype, \"privacyPolicy\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #privacyPolicy = (() => (dt7948.i(this, \"privacyPolicy\"), void 0))();\n    static #_6 = (() => dt7948.g(this.prototype, \"amdNewsletter\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #amdNewsletter = (() => (dt7948.i(this, \"amdNewsletter\"), void 0))();\n    static #_7 = (() => dt7948.g(this.prototype, \"amdMarketing\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #amdMarketing = (() => (dt7948.i(this, \"amdMarketing\"), void 0))();\n    static #_8 = (() => dt7948.g(this.prototype, \"birthdate\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #birthdate = (() => (dt7948.i(this, \"birthdate\"), void 0))();\n    static #_9 = (() => dt7948.g(this.prototype, \"isPwTipOpen\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isPwTipOpen = (() => (dt7948.i(this, \"isPwTipOpen\"), void 0))();\n    static #_10 = (() => dt7948.g(this.prototype, \"password\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #password = (() => (dt7948.i(this, \"password\"), void 0))();\n    static #_11 = (() => dt7948.g(this.prototype, \"passwordConfirm\", [_tracking.tracked], function () {\n      return \"\";\n    }))();\n    #passwordConfirm = (() => (dt7948.i(this, \"passwordConfirm\"), void 0))();\n    static #_12 = (() => dt7948.g(this.prototype, \"isSubmitting\", [_tracking.tracked], function () {\n      return false;\n    }))();\n    #isSubmitting = (() => (dt7948.i(this, \"isSubmitting\"), void 0))();\n    static #_13 = (() => dt7948.g(this.prototype, \"resultMessage\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #resultMessage = (() => (dt7948.i(this, \"resultMessage\"), void 0))();\n    static #_14 = (() => dt7948.g(this.prototype, \"hcaptchaWidgetId\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #hcaptchaWidgetId = (() => (dt7948.i(this, \"hcaptchaWidgetId\"), void 0))();\n    static #_15 = (() => dt7948.g(this.prototype, \"hcaptchaToken\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #hcaptchaToken = (() => (dt7948.i(this, \"hcaptchaToken\"), void 0))();\n    static #_16 = (() => dt7948.g(this.prototype, \"hcaptchaError\", [_tracking.tracked], function () {\n      return null;\n    }))();\n    #hcaptchaError = (() => (dt7948.i(this, \"hcaptchaError\"), void 0))();\n    get showCaptcha() {\n      return this.siteSettings.igames_cp_hcaptcha_enabled && !!this.siteSettings.igames_cp_hcaptcha_site_key;\n    }\n    get pw() {\n      return this.password ?? \"\";\n    }\n    get pwHasMin() {\n      return this.pw.length >= 8;\n    }\n    get pwHasUpper() {\n      return /[A-Z]/.test(this.pw);\n    }\n    get pwHasLower() {\n      return /[a-z]/.test(this.pw);\n    }\n    get pwHasDigit() {\n      return /[0-9]/.test(this.pw);\n    }\n    get pwHasSpecial() {\n      return /[ !\\\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^_`{|}~]/.test(this.pw);\n    }\n    get progressPercent() {\n      return this.step / 5 * 100;\n    }\n    get progressStyle() {\n      return (0, _template.htmlSafe)(`width: ${this.progressPercent}%;`);\n    }\n    formatDateForInput(d) {\n      const y = d.getFullYear();\n      const m = String(d.getMonth() + 1).padStart(2, \"0\");\n      const day = String(d.getDate()).padStart(2, \"0\");\n      return `${y}-${m}-${day}`;\n    }\n    get birthdateMin() {\n      const d = new Date();\n      d.setFullYear(d.getFullYear() - 100);\n      return this.formatDateForInput(d);\n    }\n    get birthdateMax() {\n      const d = new Date();\n      d.setFullYear(d.getFullYear() - 13);\n      return this.formatDateForInput(d);\n    }\n    togglePwTip() {\n      this.isPwTipOpen = !this.isPwTipOpen;\n    }\n    static #_17 = (() => dt7948.n(this.prototype, \"togglePwTip\", [_object.action]))();\n    handleKeydown(e) {\n      if (e.key !== \"Enter\") return;\n      if (this.step < 3) {\n        e.preventDefault();\n        this.nextStep();\n      }\n    }\n    static #_18 = (() => dt7948.n(this.prototype, \"handleKeydown\", [_object.action]))();\n    ensureHCaptchaScript() {\n      if (window.hcaptcha?.render) return Promise.resolve();\n      const existing = document.querySelector('script[data-hcaptcha-api]');\n      if (existing) {\n        return new Promise(resolve => {\n          const poll = () => window.hcaptcha?.render ? resolve() : setTimeout(poll, 50);\n          poll();\n        });\n      }\n      return new Promise((resolve, reject) => {\n        window.__hcReadyQueue = window.__hcReadyQueue || [];\n        window.__hcReadyQueue.push(resolve);\n        if (!window.__hcOnLoad) {\n          window.__hcOnLoad = () => {\n            (window.__hcReadyQueue || []).splice(0).forEach(fn => fn());\n          };\n        }\n        const s = document.createElement(\"script\");\n        s.src = \"https://js.hcaptcha.com/1/api.js?render=explicit&recaptchacompat=off&onload=__hcOnLoad\";\n        s.async = true;\n        s.defer = true;\n        s.setAttribute(\"data-hcaptcha-api\", \"1\");\n        s.onerror = () => reject(new Error(\"Failed to load hCaptcha\"));\n        document.head.appendChild(s);\n      });\n    }\n    async setupHCaptcha(element) {\n      if (!this.showCaptcha) return;\n      try {\n        await this.ensureHCaptchaScript();\n        await new Promise(r => requestAnimationFrame(r));\n        if (this.hcaptchaWidgetId != null && window.hcaptcha?.reset) {\n          try {\n            window.hcaptcha.reset(this.hcaptchaWidgetId);\n          } catch {}\n          return;\n        }\n        if (!window.hcaptcha?.render) {\n          this.hcaptchaError = \"Captcha not available. Please reload.\";\n          return;\n        }\n        this.hcaptchaWidgetId = window.hcaptcha.render(element, {\n          sitekey: this.siteSettings.igames_cp_hcaptcha_site_key,\n          size: \"invisible\"\n        });\n      } catch (e) {\n        this.hcaptchaError = \"Captcha failed to load. Please try again.\";\n      }\n    }\n    static #_19 = (() => dt7948.n(this.prototype, \"setupHCaptcha\", [_object.action]))();\n    async getHCaptchaToken() {\n      if (!this.showCaptcha) return null;\n      if (!window.hcaptcha || this.hcaptchaWidgetId == null) {\n        const el = document.getElementById(\"hcaptcha-root\");\n        if (el) await this.setupHCaptcha(el);\n      }\n      const api = window.hcaptcha;\n      if (!api) {\n        this.hcaptchaError = \"Captcha not ready. Please reload.\";\n        return null;\n      }\n      try {\n        let token;\n        if (typeof api.executeAsync === \"function\") {\n          token = await api.executeAsync(this.hcaptchaWidgetId);\n        } else {\n          const res = await api.execute(this.hcaptchaWidgetId, {\n            async: true\n          });\n          token = res && typeof res === \"object\" ? res.response : res;\n        }\n        if (typeof token !== \"string\" || !token.trim()) {\n          throw new Error(\"No token returned\");\n        }\n        this.hcaptchaToken = token;\n        this.hcaptchaError = null;\n        return token;\n      } catch (err) {\n        this.hcaptchaToken = null;\n        this.hcaptchaError = \"Captcha error. Please try again.\";\n        return null;\n      }\n    }\n    async nextStep() {\n      if (this.step === 1 && !this.email.trim()) {\n        this.resultMessage = \"Please enter your email.\";\n        return;\n      }\n      if (this.step === 1 && !this.privacyPolicy) {\n        this.resultMessage = \"Please accept the Terms of Service\";\n        return;\n      }\n      if (this.step === 1) {\n        this.resultMessage = \"\";\n        this.isSubmitting = true;\n        try {\n          const response = await (0, _ajax.ajax)(\"/cp-auth/email-in-use\", {\n            type: \"POST\",\n            data: {\n              email: this.email\n            }\n          });\n          if (response.inUse) {\n            this.resultMessage = \"Email in Use\";\n            return;\n          }\n        } catch {\n          this.resultMessage = \"Error checking email.\";\n        } finally {\n          this.isSubmitting = false;\n        }\n      }\n      if (this.step === 2 && !this.birthdate.trim()) {\n        this.resultMessage = \"Please enter your date of birth.\";\n        return;\n      }\n      if (this.step === 2) {\n        const entered = new Date(this.birthdate);\n        const today = new Date();\n        const minAllowed = new Date(today.getFullYear() - 100, today.getMonth(), today.getDate());\n        const ageCutoff = new Date(today.getFullYear() - 13, today.getMonth(), today.getDate());\n        if (entered < minAllowed) {\n          this.resultMessage = \"Birthdate can’t be more than 100 years ago.\";\n          return;\n        }\n        if (entered > ageCutoff) {\n          this.resultMessage = \"You must be at least 13 years old to create an account.\";\n          return;\n        }\n      }\n      if (this.step < 3) {\n        this.resultMessage = null;\n        this.step++;\n        if (this.step === 3 && this.showCaptcha) {\n          const el = document.getElementById(\"hcaptcha-root\");\n          if (el) {\n            requestAnimationFrame(() => this.setupHCaptcha(el));\n          }\n        }\n      }\n    }\n    static #_20 = (() => dt7948.n(this.prototype, \"nextStep\", [_object.action]))();\n    async handleSubmit(e) {\n      e.preventDefault();\n      if (this.checkPassword()) return;\n      let token = null;\n      if (this.showCaptcha) {\n        token = await this.getHCaptchaToken();\n        if (!token) {\n          this.resultMessage = this.hcaptchaError || \"Captcha failed. Please try again.\";\n          return;\n        }\n      }\n      this.isSubmitting = true;\n      try {\n        const response = await (0, _ajax.ajax)(\"/cp_auth/signup\", {\n          type: \"POST\",\n          data: {\n            email: this.email,\n            newsletter: this.amdNewsletter,\n            marketing: this.amdMarketing,\n            password: this.password,\n            birthdate: this.birthdate,\n            hcaptcha_token: token\n          }\n        });\n        this.resultMessage = response.message;\n        this.router.transitionTo(\"confirm\", {\n          queryParams: {\n            email: this.email\n          }\n        });\n      } catch (xhr) {\n        if (xhr?.jqXHR?.status == 429) {\n          this.resultMessage = xhr.jqXHR?.responseJSON?.error;\n        } else {\n          this.resultMessage = \"Error submitting email.\";\n        }\n      } finally {\n        this.isSubmitting = false;\n        try {\n          window.hcaptcha?.reset?.(this.hcaptchaWidgetId);\n        } catch {}\n        this.hcaptchaToken = null;\n      }\n    }\n    static #_21 = (() => dt7948.n(this.prototype, \"handleSubmit\", [_object.action]))();\n    checkPassword() {\n      const pRaw = this.password ?? \"\";\n      const cRaw = this.passwordConfirm ?? \"\";\n      if (!pRaw.trim() || !cRaw.trim()) {\n        this.resultMessage = \"Please enter your password.\";\n        return true;\n      }\n      const p = pRaw;\n      const c = cRaw;\n      if (p !== c) {\n        this.resultMessage = \"The passwords must match.\";\n        return true;\n      }\n      const issues = [];\n      if (p.length < 8) issues.push(\"Must be at least 8 characters long.\");\n      if (!/[A-Z]/.test(p)) issues.push(\"Must include at least 1 uppercase letter.\");\n      if (!/[a-z]/.test(p)) issues.push(\"Must include at least 1 lowercase letter.\");\n      if (!/[0-9]/.test(p)) issues.push(\"Must include at least 1 number.\");\n      if (!/[ !\\\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^_`{|}~]/.test(p)) {\n        issues.push(\"Must include at least 1 special character.\");\n      }\n      if (issues.length) {\n        this.resultMessage = `Password requirements:\\n• ${issues.join(\"\\n• \")}`;\n        return true;\n      }\n      this.resultMessage = \"\";\n      return false;\n    }\n  }\n  _exports.default = SignUpController;\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/igames-cp-route-map\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = _default;\n  function _default() {\n    // Public routes\n    this.route(\"homepage\", {\n      path: \"/homepage\"\n    });\n    this.route(\"complete-oauth-signup\", {\n      path: \"/complete-signup\"\n    });\n    this.route(\"sign-up\", {\n      path: \"/create-account\"\n    });\n    this.route(\"confirm\", {\n      path: \"/create-account/confirm\"\n    });\n    this.route(\"cp-forgot-password\", {\n      path: \"/cp-forgot-password\"\n    });\n    this.route(\"cp-profile\", {\n      path: \"/user-profile/:slug\"\n    });\n    this.route(\"cp-edit-profile\", {\n      path: \"/edit-user-profile\"\n    });\n    this.route(\"cp-account-settings\", {\n      path: \"/account-settings\"\n    });\n    this.route(\"campaign\", {\n      path: \"/campaign/:slug\"\n    });\n    this.route(\"promotions-index\", {\n      path: \"/promotions\"\n    });\n    this.route(\"promotion-page\", {\n      path: \"/promotions/:slug\"\n    });\n    this.route(\"forums\", {\n      path: \"/forums\"\n    });\n    this.route(\"blogs-index\", {\n      path: \"/blog-news\"\n    });\n    this.route(\"blog-post\", {\n      path: \"/blog-news/:slug\"\n    });\n    this.route(\"rewards-index\", {\n      path: \"/rewards\"\n    });\n    this.route(\"my-loot\", {\n      path: \"/rewards/my-loot\"\n    });\n    this.route(\"cp-tos\", {\n      path: \"/legal/tos\"\n    });\n    this.route(\"cp-privacy\", {\n      path: \"/legal/privacy\"\n    });\n\n    // AMD admin route\n    this.route(\"amd-admin\", {\n      path: \"/igames-cp/admin\"\n    });\n    this.route(\"amd-admin-hp-settings\", {\n      path: \"/igames-cp/admin/hp-settings\"\n    });\n    this.route(\"amd-admin-advertisements\", {\n      path: \"/igames-cp/admin/advertisements\"\n    });\n    this.route(\"amd-admin-manage-blog\", {\n      path: \"/igames-cp/admin/manage-blog\"\n    });\n    this.route(\"amd-admin-user-game\", {\n      path: \"/igames-cp/admin/user-game\"\n    });\n    this.route(\"amd-admin-reported-content\", {\n      path: \"/igames-cp/admin/reported-content\"\n    });\n    this.route(\"amd-admin-campaigns\", {\n      path: \"/igames-cp/admin/campaigns\"\n    });\n    this.route(\"amd-admin-upcoming-events\", {\n      path: \"/igames-cp/admin/upcoming-events\"\n    });\n\n    // temp pages\n    this.route(\"amd-products\", {\n      path: \"/products\"\n    });\n    this.route(\"amd-black-ops-7\", {\n      path: \"/cod-black-ops-7\"\n    });\n    this.route(\"amd-the-game-awards\", {\n      path: \"/thegameawards\"\n    });\n\n    // Admin plugin route (MUST be nested under admin.adminPlugins)\n    this.route(\"adminPlugins\", {\n      path: \"/admin/plugins\"\n    }, function () {\n      this.route(\"igames-cp-settings\", {\n        path: \"/igames-cp/settings\"\n      });\n      this.route(\"igames-cp-reported-content\", {\n        path: \"/igames-cp/reported-content\"\n      });\n      this.route(\"igames-cp-homepage\", {\n        path: \"/igames-cp/hp-settings\"\n      });\n      this.route(\"igames-cp-advertisement\", {\n        path: \"/igames-cp/advertisements\"\n      });\n      this.route(\"igames-cp-manage-blog\", {\n        path: \"/igames-cp/manage-blog\"\n      });\n      this.route(\"igames-cp-user-game\", {\n        path: \"/igames-cp/user-game\"\n      });\n      this.route(\"igames-cp-img-upload\", {\n        path: \"/igames-cp/img-upload\"\n      });\n      this.route(\"igames-cp-campaigns\", {\n        path: \"/igames-cp/campaigns\"\n      });\n      this.route(\"igames-cp-upcoming-events\", {\n        path: \"/igames-cp/upcoming-events\"\n      });\n      this.route(\"igames-cp-giveaways\", {\n        path: \"/igames-cp/giveaways\"\n      });\n    });\n  }\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/initializers/alert\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    name: \"alert\",\n    initialize() {\n      // alert(\"alert boxes are annoying!\");\n      // Javascript files placed in assets/javascripts/discourse/initializers are executed automatically when the Discourse application loads up.\n    }\n  };\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/initializers/customize-sidebar\", [\"exports\", \"discourse/lib/api\"], function (_exports, _api) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _api.apiInitializer)(\"0.11.0\", api => {\n    api.addCommunitySectionLink({\n      name: \"homepage\",\n      // a unique key for your link\n      title: \"Homepage\",\n      // hover-tooltip text\n      text: \"Homepage\",\n      // what users actually see\n      icon: \"house\",\n      // any FontAwesome icon name\n\n      // For internal Discourse routes use `route`; for external URLs use `href`\n      route: \"homepage\" // Ember route name\n      // href: \"https://example.com\"   // uncomment for an external link\n    });\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/initializers/hide\", [\"exports\", \"discourse/lib/plugin-api\"], function (_exports, _pluginApi) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    name: \"hide-discourse-chrome-for-plugin-pages\",\n    initialize() {\n      (0, _pluginApi.withPluginApi)(\"0.8.7\", api => {\n        let bodyClassObserver = null;\n        const NEVER_PLUGIN = [/^\\/t(?:\\/|$)/,\n        // topics: /t/<slug>/<id>\n        /^\\/p(?:\\/|$)/,\n        // posts\n        /^\\/u(?:\\/|$)/,\n        // user pages\n        /^\\/c(?:\\/|$)/,\n        // categories\n        /^\\/tag(?:s)?(?:\\/|$)/,\n        // tags\n        /^\\/g(?:\\/|$)/,\n        // groups\n        /^\\/admin(?:\\/|$)/ // admin\n        ];\n        const isNeverPlugin = path => NEVER_PLUGIN.some(rx => rx.test(path));\n        const isRoot = () => window.location.pathname === \"/\";\n        const isPluginPage = url => url.includes(\"/homepage\") || url.includes(\"/create-account\") || url.includes(\"/cp-forgot-password\") || url.includes(\"/user-profile\") || url.includes(\"/edit-user-profile\") || url.includes(\"/account-settings\") || url.includes(\"/campaign/\") || url.includes(\"/promotions\") || url.includes(\"/blog-news\") || url.includes(\"/rewards\") || url.includes(\"/products\") || url.includes(\"/cod-black-ops-7\") || url.includes(\"/thegameawards\") || url.includes(\"/legal/privacy\") || url.includes(\"/legal/tos\") || url.includes(\"/igames-cp/admin\");\n        const isForumPage = url => url.startsWith(\"/t/\") || url.startsWith(\"/c/\") || url.startsWith(\"/u/\") || url.startsWith(\"/latest\") || url.startsWith(\"/new\") || url.startsWith(\"/top\") || url.startsWith(\"/categories\") || url.startsWith(\"/tags/\") || url.startsWith(\"/hot\");\n        const isForumIndex = url => url === \"/categories\";\n        const isUserPage = url => url.startsWith(\"/u/\");\n        const isAdminPage = url => url.startsWith(\"/admin\");\n        const applyPluginChrome = () => {\n          $(\".drop-down-mode, .sidebar-wrapper, .d-header-wrap, .powered-by-discourse, .profiler-results\").addClass(\"hidden\");\n          $(\"body\").removeClass(\"has-sidebar-page forum-page forum-index-page\");\n          $(\"#main-outlet-wrapper\").removeClass(\"wrap\");\n          document.body.classList.add(\"cp-plugin-page\");\n        };\n        const applyDefaultChrome = () => {\n          $(\".drop-down-mode, .sidebar-wrapper, .d-header-wrap, .profiler-results\").removeClass(\"hidden\");\n          $(\".powered-by-discourse\").remove(); // remove \"Powered by Discourse\" on default pages\n          $(\"body\").removeClass(\"has-sidebar-page\");\n          $(\"body\").addClass(\"forum-page\");\n          $(\"#main-outlet-wrapper\").addClass(\"wrap\");\n          document.body.classList.remove(\"cp-plugin-page\");\n        };\n        const applyForum = () => {\n          // Remove welcome banner\n          $(\"#main-outlet div.welcome-banner div.welcome-banner__title\").remove();\n\n          // Remove navbar controls\n          $(\"li.nav-item_latest, #create-category, #create-topic\").remove();\n\n          // Remove topic-specific features\n          $(`.post__topic-map.topic-map, #topic-footer-buttons, .more-topics__container, \n           footer.topic-list-bottom`).remove(); // topic view counter, footer btns, more topics container, & footer text\n\n          // Remove Top page time filter\n          $(\".top-lists\").remove();\n\n          // Hide default left sidebar so we can replace with our own (cp-forum-sidebar) and still use on admin pages\n          $(\"div.sidebar-wrapper\").hide();\n\n          // Update body classes\n          $(\"body\").addClass(\"forum-page\");\n          $(\"body\").removeClass(\"forum-index-page has-sidebar-page\");\n\n          // Update table header\n          $(\"table.topic-list thead th.posters > span\").removeClass(\"sr-only\");\n        };\n        const applyForumIndex = () => {\n          $(\"body\").addClass(\"forum-index-page\");\n          $(\".categories-and-latest\").remove();\n          $(\".category-list\").remove();\n        };\n        const applyUser = () => {\n          // Remove unwanted features\n          $(\".controls .btn.user-admin\").remove(); // Admin console btn\n          $(`.user-navigation.user-navigation-primary .user-nav__invites, \n           .user-navigation.user-navigation-primary .user-nav__badges, \n           .user-navigation.user-navigation-primary .user-nav__preferences`).remove(); // Invites, Badges, Preferences\n          $(\".user-navigation.user-navigation-secondary\").remove(); // Bottom navbar\n          $(\".user-nav__admin\").remove(); // Manage user btn\n        };\n        const applyAdmin = () => {\n          $(\"body\").removeClass(\"forum-page forum-index-page\");\n          $(\"body\").addClass(\"has-sidebar-page\");\n          $(\"div.sidebar-wrapper\").show();\n        };\n        const stopObserver = () => {\n          if (bodyClassObserver) {\n            bodyClassObserver.disconnect();\n            bodyClassObserver = null;\n          }\n        };\n        const startObserver = () => {\n          stopObserver(); // safety\n          bodyClassObserver = new MutationObserver(() => {\n            // If we’re on a plugin page, immediately neutralize Discourse toggles\n            if (document.body.classList.contains(\"cp-plugin-page\")) {\n              if (document.body.classList.contains(\"has-sidebar-page\")) {\n                document.body.classList.remove(\"has-sidebar-page\");\n              }\n              const outlet = document.getElementById(\"main-outlet-wrapper\");\n              if (outlet && outlet.classList.contains(\"wrap\")) {\n                outlet.classList.remove(\"wrap\");\n              }\n              // Make sure chrome stays hidden if Discourse tries to reveal\n              const $chrome = $(\".drop-down-mode, .sidebar-wrapper, .d-header-wrap, .powered-by-discourse, .profiler-results\");\n              if ($chrome.length) {\n                $chrome.addClass(\"hidden\");\n              }\n            }\n          });\n          bodyClassObserver.observe(document.body, {\n            attributes: true,\n            attributeFilter: [\"class\"]\n          });\n        };\n        api.onPageChange(url => {\n          // Reset any previous bindings\n          stopObserver();\n          $(window).off(\"resize.cpPlugin\");\n          if (!isNeverPlugin(url) && (isPluginPage(url) || isRoot())) {\n            applyPluginChrome();\n            startObserver();\n            $(window).on(\"resize.cpPlugin\", () => applyPluginChrome());\n          } else {\n            applyDefaultChrome();\n          }\n          if (isForumPage(url)) {\n            applyForum();\n            if (isForumIndex(url)) {\n              applyForumIndex();\n            }\n            if (isUserPage(url)) {\n              applyUser();\n            }\n          }\n          if (isAdminPage(url)) {\n            applyAdmin();\n          }\n        });\n      });\n    }\n  };\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/initializers/login-redirect\", [\"exports\", \"discourse/lib/plugin-api\"], function (_exports, _pluginApi) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const LOG_PREFIX = \"[login redirect]\";\n  const DEBUG = false;\n  const log = function () {\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n    return DEBUG && console.log(LOG_PREFIX, ...args);\n  };\n  const whereAmI = () => window.location.pathname + window.location.search + window.location.hash;\n  const isAdminHref = href => {\n    try {\n      const u = new URL(href, window.location.origin);\n      return u.pathname.startsWith(\"/admin/\");\n    } catch {\n      return false;\n    }\n  };\n  var _default = _exports.default = {\n    name: \"cp-cognito-login-redirect\",\n    initialize() {\n      (0, _pluginApi.withPluginApi)(\"1.8.0\", api => {\n        const lookup = k => api?.container?.lookup?.(k) || window?.Discourse?.__container__?.lookup?.(k);\n        const router = lookup(\"service:router\");\n        const session = lookup(\"service:session\");\n        const currentUserSvc = lookup(\"service:current-user\");\n        const isLoggedIn = () => {\n          try {\n            if (currentUserSvc?.current?.()) return true;\n            if (api.getCurrentUser?.()) return true;\n            if (window.Discourse?.User?.current?.()) return true;\n            if (session?.currentUser) return true;\n          } catch {}\n          return false;\n        };\n        const homepageLoginUrl = returnTo => {\n          const u = new URL(\"/homepage\", window.location.origin);\n          u.searchParams.set(\"loginOpen\", \"1\");\n          if (returnTo) u.searchParams.set(\"return_to\", returnTo);\n          return u.pathname + u.search + u.hash;\n        };\n\n        // /login -> /homepage?loginOpen=1\n        {\n          const path = window.location.pathname || \"\";\n          if (!isLoggedIn() && (path === \"/login\" || path.startsWith(\"/login/\"))) {\n            const usp = new URLSearchParams(window.location.search);\n            let rt = null;\n            try {\n              const raw = usp.get(\"return_to\");\n              if (raw) {\n                const same = new URL(raw, window.location.origin);\n                rt = same.pathname + same.search + same.hash;\n              }\n            } catch {}\n            const newPath = homepageLoginUrl(rt);\n            log(\"redirecting /login ->\", newPath);\n            window.location.replace(newPath);\n            return;\n          }\n        }\n\n        // /signup → /create-account\n        {\n          const path = window.location.pathname || \"\";\n          if ((path === \"/signup\" || path.startsWith(\"/signup/\")) && path !== \"/create-account\") {\n            const usp = new URLSearchParams(window.location.search);\n            const returnToRaw = usp.get(\"return_to\");\n            const qp = returnToRaw ? \"?return_to=\" + encodeURIComponent(returnToRaw) : \"\";\n            const newPath = \"/create-account\" + qp;\n            log(\"redirecting /signup ->\", newPath);\n            window.location.replace(newPath);\n            return;\n          }\n        }\n        const openLoginHere = source => {\n          const returnTo = whereAmI();\n          try {\n            const url = new URL(window.location.href);\n            url.searchParams.set(\"loginOpen\", \"1\");\n            url.searchParams.set(\"return_to\", returnTo);\n            const newPath = url.pathname + url.search + url.hash;\n            log(\"open login on current page\", {\n              source,\n              newPath\n            });\n            router?.replaceWith?.(newPath);\n          } catch (e) {\n            log(\"URL parse failed, hard reload fallback\", e);\n            window.location.assign(window.location.pathname + (window.location.search ? window.location.search + \"&\" : \"?\") + \"loginOpen=1&return_to=\" + encodeURIComponent(returnTo) + window.location.hash);\n          }\n        };\n\n        // Intercept login modal\n        try {\n          const modal = lookup(\"service:modal\");\n          if (modal && !modal.__cpPatchedShow) {\n            const origShow = modal.show.bind(modal);\n            modal.show = function (name, opts) {\n              if (!isLoggedIn() && (name === \"login\" || name === \"login-modal\")) {\n                log(\"intercept modal.show:\", name, opts);\n                openLoginHere(\"modal.service.show\");\n                return;\n              }\n              return origShow(name, opts);\n            };\n            modal.__cpPatchedShow = true;\n            log(\"patched service:modal.show\");\n          }\n        } catch (e) {\n          log(\"ERR patching service:modal.show\", e);\n        }\n\n        // App event path\n        api.onAppEvent?.(\"showLogin\", () => {\n          log(\"onAppEvent: showLogin\");\n          if (!isLoggedIn()) openLoginHere(\"onAppEvent:showLogin\");\n        });\n\n        // Guard requireLogin if present\n        if (session?.requireLogin && !session.requireLogin.__cpWrapped) {\n          const origRequireLogin = session.requireLogin.bind(session);\n          session.requireLogin = function () {\n            let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n            log(\"session.requireLogin called\", {\n              loggedIn: isLoggedIn(),\n              opts\n            });\n            if (isLoggedIn()) {\n              return origRequireLogin ? origRequireLogin(opts) : Promise.resolve();\n            }\n            openLoginHere(\"requireLogin\");\n            return Promise.reject(\"redirected-to-cognito\");\n          };\n          session.requireLogin.__cpWrapped = true;\n          log(\"patched session.requireLogin\");\n        } else {\n          log(\"requireLogin not present or already patched\");\n        }\n\n        // Like button\n        document.addEventListener(\"click\", e => {\n          if (e.defaultPrevented) return;\n          let el = e.target;\n          while (el && el !== document.body) {\n            if (el.tagName === \"BUTTON\" && (el.classList?.contains(\"post-action-menu__like\") || el.classList?.contains(\"toggle-like\")) && el.classList?.contains(\"like\")) {\n              log(\"click on LIKE button detected\", {\n                loggedIn: isLoggedIn(),\n                postId: el.dataset?.postId\n              });\n              if (!isLoggedIn()) {\n                e.preventDefault();\n                e.stopImmediatePropagation();\n                openLoginHere(\"like-button\");\n              }\n              return;\n            }\n            el = el.parentElement;\n          }\n        }, {\n          capture: true\n        });\n\n        // Footer Reply button\n        document.addEventListener(\"click\", e => {\n          if (e.defaultPrevented) return;\n          let el = e.target;\n          while (el && el !== document.body) {\n            const inFooter = el.closest?.(\".topic-footer-main-buttons\");\n            const isButton = el.tagName === \"BUTTON\";\n            const hasReplyIcon = el.querySelector?.(\".d-icon-reply\") || el.classList?.contains(\"d-icon-reply\");\n            const saysReply = el.textContent && el.textContent.trim().startsWith(\"Reply\") || el.querySelector?.(\".d-button-label\")?.textContent?.trim() === \"Reply\";\n            if (inFooter && isButton && (hasReplyIcon || saysReply)) {\n              log(\"click on FOOTER REPLY detected\", {\n                loggedIn: isLoggedIn()\n              });\n              if (!isLoggedIn()) {\n                e.preventDefault();\n                e.stopImmediatePropagation();\n                openLoginHere(\"footer-reply\");\n              }\n              return;\n            }\n            el = el.parentElement;\n          }\n        }, {\n          capture: true\n        });\n\n        // Any anchor to /login, bounce to homepage login\n        document.addEventListener(\"click\", e => {\n          if (e.defaultPrevented) return;\n          const anchor = e.target.closest?.('a[href*=\"/login\"]');\n          if (anchor && !isLoggedIn()) {\n            e.preventDefault();\n            e.stopImmediatePropagation();\n            let rt = null;\n            try {\n              const href = anchor.getAttribute(\"href\") || \"\";\n              const u = new URL(href, window.location.origin);\n              const r = u.searchParams.get(\"return_to\");\n              if (r) {\n                const same = new URL(r, window.location.origin);\n                rt = same.pathname + same.search + same.hash;\n              }\n            } catch {}\n            const newPath = homepageLoginUrl(rt);\n            log(\"intercept anchor -> /login, bouncing to homepage\", {\n              newPath\n            });\n            router?.replaceWith?.(newPath) || (window.location.href = newPath);\n          }\n        }, {\n          capture: true\n        });\n\n        // Any anchor to /signup -> /create-account\n        document.addEventListener(\"click\", e => {\n          if (e.defaultPrevented) return;\n          const anchor = e.target.closest?.('a[href*=\"/signup\"]');\n          if (!anchor) return;\n          const href = anchor.getAttribute(\"href\") || \"\";\n\n          // Allow admin signup report\n          if (isAdminHref(href)) {\n            log(\"allow admin signup-related link without redirect\", {\n              href\n            });\n            return;\n          }\n          e.preventDefault();\n          e.stopImmediatePropagation();\n          try {\n            const u = new URL(href, window.location.origin);\n            const r = u.searchParams.get(\"return_to\");\n            const url = new URL(\"/create-account\", window.location.origin);\n            if (r) url.searchParams.set(\"return_to\", r);\n            const newPath = url.pathname + url.search + url.hash;\n            log(\"intercept anchor -> /signup, to /create-account\", {\n              newPath\n            });\n            router?.replaceWith?.(newPath) || (window.location.href = newPath);\n          } catch {\n            router?.replaceWith?.(\"/create-account\") || (window.location.href = \"/create-account\");\n          }\n        }, {\n          capture: true\n        });\n\n        // Ember route\n\n        api.modifyClass(\"route:login\", {\n          pluginId: \"cp-login-redirect\",\n          beforeModel() {\n            if (this.currentUser) return;\n            const usp = new URLSearchParams(window.location.search);\n            const r = usp.get(\"return_to\");\n            let rt = null;\n            try {\n              if (r) {\n                const u = new URL(r, window.location.origin);\n                rt = u.pathname + u.search + u.hash;\n              }\n            } catch {}\n            const newPath = homepageLoginUrl(rt);\n            log(\"route:login redirect to homepage\", {\n              newPath\n            });\n            return this.router.replaceWith(newPath);\n          }\n        });\n        api.modifyClass(\"route:signup\", {\n          pluginId: \"cp-cognito-login-redirect\",\n          beforeModel() {\n            log(\"route:signup beforeModel -> /create-account\");\n            return this.router.replaceWith(\"sign-up\");\n          }\n        });\n      });\n    }\n  };\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/initializers/redirect\", [\"exports\", \"discourse/lib/plugin-api\"], function (_exports, _pluginApi) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    name: \"redirect-user-profile\",\n    initialize() {\n      (0, _pluginApi.withPluginApi)(\"0.8.7\", api => {\n        const PLUGIN_ID = \"discourse-plugin-content-platform\";\n        api.modifyClass(\"route:user.index\", {\n          pluginId: PLUGIN_ID,\n          beforeModel() {\n            if (this.router.currentRouteName?.startsWith(\"cp-\")) {\n              return;\n            }\n            const params = this.paramsFor?.(\"user\") || {};\n            const userFromParams = params.username;\n            const userFromModel = this.modelFor?.(\"user\");\n            const username = userFromParams || userFromModel?.username || this.currentUser?.username;\n            if (username) {\n              this.router.replaceWith(\"cp-profile\", username);\n            } else {\n              this.router.replaceWith(\"cp-profile\");\n            }\n          }\n        });\n        [\"route:preferences\", \"route:preferences.index\", \"route:preferences.account\", \"route:preferences.security\", \"route:preferences.profile\", \"route:preferences.emails\", \"route:preferences.notifications\", \"route:preferences.tracking\", \"route:preferences.users\", \"route:preferences.tags\", \"route:preferences.interface\", \"route:preferences.apps\", \"route:preferences.navigation-menu\"].forEach(routeName => {\n          api.modifyClass(routeName, {\n            pluginId: PLUGIN_ID,\n            beforeModel() {\n              if (this.router.currentRouteName !== \"cp-account-settings\") {\n                this.router.replaceWith(\"cp-account-settings\");\n              }\n            }\n          });\n        });\n      });\n    }\n  };\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/initializers/remove-header\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = {\n    name: \"remove-header\",\n    initialize() {\n      document.body.classList.toggle(\"cp-mode\", true);\n    }\n  };\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/lib/date-time-formatter\", [\"exports\"], function (_exports) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.formatDate = formatDate;\n  _exports.formatDateTime = formatDateTime;\n  // assets/javascripts/discourse/lib/date-time-formatter.js\n\n  /**\n   * Formats a Date object into MM.DD.YY format\n   * @param {Date} date The date to format\n   * @param {String} dateSeparator The desired separator between month, day, and year (default is \".\")\n   * @returns String in MM.DD.YY format\n   */\n  function formatDate(date) {\n    let dateSeparator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \".\";\n    // Get month, day, and year (last two digits)\n    const mm = String(date.getMonth() + 1).padStart(2, '0'); // Months are 0-indexed\n    const dd = String(date.getDate()).padStart(2, '0');\n    const yy = String(date.getFullYear()).slice(-2);\n    return `${mm}${dateSeparator}${dd}${dateSeparator}${yy}`;\n  }\n\n  /**\n   * Formats a Date object into MM.DD.YY HH:MM AM/PM format, where the time is in the \"12-hour clock\" format\n   * @param {Date} date The date to format\n   * @param {String} dateSeparator The desired separator between month, day, and year (default is \".\")\n   * @returns String in MM.DD.YY HH:MM AM/PM format\n   */\n  function formatDateTime(date) {\n    let dateSeparator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \".\";\n    // Get month, day, and year (last two digits)\n    const mm = String(date.getMonth() + 1).padStart(2, '0'); // Months are 0-indexed\n    const dd = String(date.getDate()).padStart(2, '0');\n    const yy = String(date.getFullYear()).slice(-2);\n\n    // Get hours and minutes\n    let hh = date.getHours();\n    const min = String(date.getMinutes()).padStart(2, '0');\n\n    // Determine AM/PM and convert to 12-hour format\n    const ampm = hh >= 12 ? 'PM' : 'AM';\n    hh = hh % 12;\n    hh = hh ? hh : 12; // The hour '0' should be '12'\n    hh = String(hh).padStart(2, '0');\n    return `${mm}${dateSeparator}${dd}${dateSeparator}${yy} ${hh}:${min} ${ampm}`;\n  }\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/lib/qrcode\", [], function () {\n  \"use strict\";\n\n  /**\n   * @fileoverview\n   * - Using the 'QRCode for Javascript library'\n   * - Fixed dataset of 'QRCode for Javascript library' for support full-spec.\n   * - this library has no dependencies.\n   * \n   * @author davidshimjs\n   * @see <a href=\"http://www.d-project.com/\" target=\"_blank\">http://www.d-project.com/</a>\n   * @see <a href=\"http://jeromeetienne.github.com/jquery-qrcode/\" target=\"_blank\">http://jeromeetienne.github.com/jquery-qrcode/</a>\n   */\n  var QRCode;\n  (function () {\n    //---------------------------------------------------------------------\n    // QRCode for JavaScript\n    //\n    // Copyright (c) 2009 Kazuhiko Arase\n    //\n    // URL: http://www.d-project.com/\n    //\n    // Licensed under the MIT license:\n    //   http://www.opensource.org/licenses/mit-license.php\n    //\n    // The word \"QR Code\" is registered trademark of \n    // DENSO WAVE INCORPORATED\n    //   http://www.denso-wave.com/qrcode/faqpatent-e.html\n    //\n    //---------------------------------------------------------------------\n    function QR8bitByte(data) {\n      this.mode = QRMode.MODE_8BIT_BYTE;\n      this.data = data;\n      this.parsedData = [];\n\n      // Added to support UTF-8 Characters\n      for (var i = 0, l = this.data.length; i < l; i++) {\n        var byteArray = [];\n        var code = this.data.charCodeAt(i);\n        if (code > 0x10000) {\n          byteArray[0] = 0xF0 | (code & 0x1C0000) >>> 18;\n          byteArray[1] = 0x80 | (code & 0x3F000) >>> 12;\n          byteArray[2] = 0x80 | (code & 0xFC0) >>> 6;\n          byteArray[3] = 0x80 | code & 0x3F;\n        } else if (code > 0x800) {\n          byteArray[0] = 0xE0 | (code & 0xF000) >>> 12;\n          byteArray[1] = 0x80 | (code & 0xFC0) >>> 6;\n          byteArray[2] = 0x80 | code & 0x3F;\n        } else if (code > 0x80) {\n          byteArray[0] = 0xC0 | (code & 0x7C0) >>> 6;\n          byteArray[1] = 0x80 | code & 0x3F;\n        } else {\n          byteArray[0] = code;\n        }\n        this.parsedData.push(byteArray);\n      }\n      this.parsedData = Array.prototype.concat.apply([], this.parsedData);\n      if (this.parsedData.length != this.data.length) {\n        this.parsedData.unshift(191);\n        this.parsedData.unshift(187);\n        this.parsedData.unshift(239);\n      }\n    }\n    QR8bitByte.prototype = {\n      getLength: function (buffer) {\n        return this.parsedData.length;\n      },\n      write: function (buffer) {\n        for (var i = 0, l = this.parsedData.length; i < l; i++) {\n          buffer.put(this.parsedData[i], 8);\n        }\n      }\n    };\n    function QRCodeModel(typeNumber, errorCorrectLevel) {\n      this.typeNumber = typeNumber;\n      this.errorCorrectLevel = errorCorrectLevel;\n      this.modules = null;\n      this.moduleCount = 0;\n      this.dataCache = null;\n      this.dataList = [];\n    }\n    QRCodeModel.prototype = {\n      addData: function (data) {\n        var newData = new QR8bitByte(data);\n        this.dataList.push(newData);\n        this.dataCache = null;\n      },\n      isDark: function (row, col) {\n        if (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n          throw new Error(row + \",\" + col);\n        }\n        return this.modules[row][col];\n      },\n      getModuleCount: function () {\n        return this.moduleCount;\n      },\n      make: function () {\n        this.makeImpl(false, this.getBestMaskPattern());\n      },\n      makeImpl: function (test, maskPattern) {\n        this.moduleCount = this.typeNumber * 4 + 17;\n        this.modules = new Array(this.moduleCount);\n        for (var row = 0; row < this.moduleCount; row++) {\n          this.modules[row] = new Array(this.moduleCount);\n          for (var col = 0; col < this.moduleCount; col++) {\n            this.modules[row][col] = null;\n          }\n        }\n        this.setupPositionProbePattern(0, 0);\n        this.setupPositionProbePattern(this.moduleCount - 7, 0);\n        this.setupPositionProbePattern(0, this.moduleCount - 7);\n        this.setupPositionAdjustPattern();\n        this.setupTimingPattern();\n        this.setupTypeInfo(test, maskPattern);\n        if (this.typeNumber >= 7) {\n          this.setupTypeNumber(test);\n        }\n        if (this.dataCache == null) {\n          this.dataCache = QRCodeModel.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);\n        }\n        this.mapData(this.dataCache, maskPattern);\n      },\n      setupPositionProbePattern: function (row, col) {\n        for (var r = -1; r <= 7; r++) {\n          if (row + r <= -1 || this.moduleCount <= row + r) continue;\n          for (var c = -1; c <= 7; c++) {\n            if (col + c <= -1 || this.moduleCount <= col + c) continue;\n            if (0 <= r && r <= 6 && (c == 0 || c == 6) || 0 <= c && c <= 6 && (r == 0 || r == 6) || 2 <= r && r <= 4 && 2 <= c && c <= 4) {\n              this.modules[row + r][col + c] = true;\n            } else {\n              this.modules[row + r][col + c] = false;\n            }\n          }\n        }\n      },\n      getBestMaskPattern: function () {\n        var minLostPoint = 0;\n        var pattern = 0;\n        for (var i = 0; i < 8; i++) {\n          this.makeImpl(true, i);\n          var lostPoint = QRUtil.getLostPoint(this);\n          if (i == 0 || minLostPoint > lostPoint) {\n            minLostPoint = lostPoint;\n            pattern = i;\n          }\n        }\n        return pattern;\n      },\n      createMovieClip: function (target_mc, instance_name, depth) {\n        var qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);\n        var cs = 1;\n        this.make();\n        for (var row = 0; row < this.modules.length; row++) {\n          var y = row * cs;\n          for (var col = 0; col < this.modules[row].length; col++) {\n            var x = col * cs;\n            var dark = this.modules[row][col];\n            if (dark) {\n              qr_mc.beginFill(0, 100);\n              qr_mc.moveTo(x, y);\n              qr_mc.lineTo(x + cs, y);\n              qr_mc.lineTo(x + cs, y + cs);\n              qr_mc.lineTo(x, y + cs);\n              qr_mc.endFill();\n            }\n          }\n        }\n        return qr_mc;\n      },\n      setupTimingPattern: function () {\n        for (var r = 8; r < this.moduleCount - 8; r++) {\n          if (this.modules[r][6] != null) {\n            continue;\n          }\n          this.modules[r][6] = r % 2 == 0;\n        }\n        for (var c = 8; c < this.moduleCount - 8; c++) {\n          if (this.modules[6][c] != null) {\n            continue;\n          }\n          this.modules[6][c] = c % 2 == 0;\n        }\n      },\n      setupPositionAdjustPattern: function () {\n        var pos = QRUtil.getPatternPosition(this.typeNumber);\n        for (var i = 0; i < pos.length; i++) {\n          for (var j = 0; j < pos.length; j++) {\n            var row = pos[i];\n            var col = pos[j];\n            if (this.modules[row][col] != null) {\n              continue;\n            }\n            for (var r = -2; r <= 2; r++) {\n              for (var c = -2; c <= 2; c++) {\n                if (r == -2 || r == 2 || c == -2 || c == 2 || r == 0 && c == 0) {\n                  this.modules[row + r][col + c] = true;\n                } else {\n                  this.modules[row + r][col + c] = false;\n                }\n              }\n            }\n          }\n        }\n      },\n      setupTypeNumber: function (test) {\n        var bits = QRUtil.getBCHTypeNumber(this.typeNumber);\n        for (var i = 0; i < 18; i++) {\n          var mod = !test && (bits >> i & 1) == 1;\n          this.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;\n        }\n        for (var i = 0; i < 18; i++) {\n          var mod = !test && (bits >> i & 1) == 1;\n          this.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;\n        }\n      },\n      setupTypeInfo: function (test, maskPattern) {\n        var data = this.errorCorrectLevel << 3 | maskPattern;\n        var bits = QRUtil.getBCHTypeInfo(data);\n        for (var i = 0; i < 15; i++) {\n          var mod = !test && (bits >> i & 1) == 1;\n          if (i < 6) {\n            this.modules[i][8] = mod;\n          } else if (i < 8) {\n            this.modules[i + 1][8] = mod;\n          } else {\n            this.modules[this.moduleCount - 15 + i][8] = mod;\n          }\n        }\n        for (var i = 0; i < 15; i++) {\n          var mod = !test && (bits >> i & 1) == 1;\n          if (i < 8) {\n            this.modules[8][this.moduleCount - i - 1] = mod;\n          } else if (i < 9) {\n            this.modules[8][15 - i - 1 + 1] = mod;\n          } else {\n            this.modules[8][15 - i - 1] = mod;\n          }\n        }\n        this.modules[this.moduleCount - 8][8] = !test;\n      },\n      mapData: function (data, maskPattern) {\n        var inc = -1;\n        var row = this.moduleCount - 1;\n        var bitIndex = 7;\n        var byteIndex = 0;\n        for (var col = this.moduleCount - 1; col > 0; col -= 2) {\n          if (col == 6) col--;\n          while (true) {\n            for (var c = 0; c < 2; c++) {\n              if (this.modules[row][col - c] == null) {\n                var dark = false;\n                if (byteIndex < data.length) {\n                  dark = (data[byteIndex] >>> bitIndex & 1) == 1;\n                }\n                var mask = QRUtil.getMask(maskPattern, row, col - c);\n                if (mask) {\n                  dark = !dark;\n                }\n                this.modules[row][col - c] = dark;\n                bitIndex--;\n                if (bitIndex == -1) {\n                  byteIndex++;\n                  bitIndex = 7;\n                }\n              }\n            }\n            row += inc;\n            if (row < 0 || this.moduleCount <= row) {\n              row -= inc;\n              inc = -inc;\n              break;\n            }\n          }\n        }\n      }\n    };\n    QRCodeModel.PAD0 = 0xEC;\n    QRCodeModel.PAD1 = 0x11;\n    QRCodeModel.createData = function (typeNumber, errorCorrectLevel, dataList) {\n      var rsBlocks = QRRSBlock.getRSBlocks(typeNumber, errorCorrectLevel);\n      var buffer = new QRBitBuffer();\n      for (var i = 0; i < dataList.length; i++) {\n        var data = dataList[i];\n        buffer.put(data.mode, 4);\n        buffer.put(data.getLength(), QRUtil.getLengthInBits(data.mode, typeNumber));\n        data.write(buffer);\n      }\n      var totalDataCount = 0;\n      for (var i = 0; i < rsBlocks.length; i++) {\n        totalDataCount += rsBlocks[i].dataCount;\n      }\n      if (buffer.getLengthInBits() > totalDataCount * 8) {\n        throw new Error(\"code length overflow. (\" + buffer.getLengthInBits() + \">\" + totalDataCount * 8 + \")\");\n      }\n      if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n        buffer.put(0, 4);\n      }\n      while (buffer.getLengthInBits() % 8 != 0) {\n        buffer.putBit(false);\n      }\n      while (true) {\n        if (buffer.getLengthInBits() >= totalDataCount * 8) {\n          break;\n        }\n        buffer.put(QRCodeModel.PAD0, 8);\n        if (buffer.getLengthInBits() >= totalDataCount * 8) {\n          break;\n        }\n        buffer.put(QRCodeModel.PAD1, 8);\n      }\n      return QRCodeModel.createBytes(buffer, rsBlocks);\n    };\n    QRCodeModel.createBytes = function (buffer, rsBlocks) {\n      var offset = 0;\n      var maxDcCount = 0;\n      var maxEcCount = 0;\n      var dcdata = new Array(rsBlocks.length);\n      var ecdata = new Array(rsBlocks.length);\n      for (var r = 0; r < rsBlocks.length; r++) {\n        var dcCount = rsBlocks[r].dataCount;\n        var ecCount = rsBlocks[r].totalCount - dcCount;\n        maxDcCount = Math.max(maxDcCount, dcCount);\n        maxEcCount = Math.max(maxEcCount, ecCount);\n        dcdata[r] = new Array(dcCount);\n        for (var i = 0; i < dcdata[r].length; i++) {\n          dcdata[r][i] = 0xff & buffer.buffer[i + offset];\n        }\n        offset += dcCount;\n        var rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount);\n        var rawPoly = new QRPolynomial(dcdata[r], rsPoly.getLength() - 1);\n        var modPoly = rawPoly.mod(rsPoly);\n        ecdata[r] = new Array(rsPoly.getLength() - 1);\n        for (var i = 0; i < ecdata[r].length; i++) {\n          var modIndex = i + modPoly.getLength() - ecdata[r].length;\n          ecdata[r][i] = modIndex >= 0 ? modPoly.get(modIndex) : 0;\n        }\n      }\n      var totalCodeCount = 0;\n      for (var i = 0; i < rsBlocks.length; i++) {\n        totalCodeCount += rsBlocks[i].totalCount;\n      }\n      var data = new Array(totalCodeCount);\n      var index = 0;\n      for (var i = 0; i < maxDcCount; i++) {\n        for (var r = 0; r < rsBlocks.length; r++) {\n          if (i < dcdata[r].length) {\n            data[index++] = dcdata[r][i];\n          }\n        }\n      }\n      for (var i = 0; i < maxEcCount; i++) {\n        for (var r = 0; r < rsBlocks.length; r++) {\n          if (i < ecdata[r].length) {\n            data[index++] = ecdata[r][i];\n          }\n        }\n      }\n      return data;\n    };\n    var QRMode = {\n      MODE_NUMBER: 1 << 0,\n      MODE_ALPHA_NUM: 1 << 1,\n      MODE_8BIT_BYTE: 1 << 2,\n      MODE_KANJI: 1 << 3\n    };\n    var QRErrorCorrectLevel = {\n      L: 1,\n      M: 0,\n      Q: 3,\n      H: 2\n    };\n    var QRMaskPattern = {\n      PATTERN000: 0,\n      PATTERN001: 1,\n      PATTERN010: 2,\n      PATTERN011: 3,\n      PATTERN100: 4,\n      PATTERN101: 5,\n      PATTERN110: 6,\n      PATTERN111: 7\n    };\n    var QRUtil = {\n      PATTERN_POSITION_TABLE: [[], [6, 18], [6, 22], [6, 26], [6, 30], [6, 34], [6, 22, 38], [6, 24, 42], [6, 26, 46], [6, 28, 50], [6, 30, 54], [6, 32, 58], [6, 34, 62], [6, 26, 46, 66], [6, 26, 48, 70], [6, 26, 50, 74], [6, 30, 54, 78], [6, 30, 56, 82], [6, 30, 58, 86], [6, 34, 62, 90], [6, 28, 50, 72, 94], [6, 26, 50, 74, 98], [6, 30, 54, 78, 102], [6, 28, 54, 80, 106], [6, 32, 58, 84, 110], [6, 30, 58, 86, 114], [6, 34, 62, 90, 118], [6, 26, 50, 74, 98, 122], [6, 30, 54, 78, 102, 126], [6, 26, 52, 78, 104, 130], [6, 30, 56, 82, 108, 134], [6, 34, 60, 86, 112, 138], [6, 30, 58, 86, 114, 142], [6, 34, 62, 90, 118, 146], [6, 30, 54, 78, 102, 126, 150], [6, 24, 50, 76, 102, 128, 154], [6, 28, 54, 80, 106, 132, 158], [6, 32, 58, 84, 110, 136, 162], [6, 26, 54, 82, 110, 138, 166], [6, 30, 58, 86, 114, 142, 170]],\n      G15: 1 << 10 | 1 << 8 | 1 << 5 | 1 << 4 | 1 << 2 | 1 << 1 | 1 << 0,\n      G18: 1 << 12 | 1 << 11 | 1 << 10 | 1 << 9 | 1 << 8 | 1 << 5 | 1 << 2 | 1 << 0,\n      G15_MASK: 1 << 14 | 1 << 12 | 1 << 10 | 1 << 4 | 1 << 1,\n      getBCHTypeInfo: function (data) {\n        var d = data << 10;\n        while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n          d ^= QRUtil.G15 << QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15);\n        }\n        return (data << 10 | d) ^ QRUtil.G15_MASK;\n      },\n      getBCHTypeNumber: function (data) {\n        var d = data << 12;\n        while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n          d ^= QRUtil.G18 << QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18);\n        }\n        return data << 12 | d;\n      },\n      getBCHDigit: function (data) {\n        var digit = 0;\n        while (data != 0) {\n          digit++;\n          data >>>= 1;\n        }\n        return digit;\n      },\n      getPatternPosition: function (typeNumber) {\n        return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];\n      },\n      getMask: function (maskPattern, i, j) {\n        switch (maskPattern) {\n          case QRMaskPattern.PATTERN000:\n            return (i + j) % 2 == 0;\n          case QRMaskPattern.PATTERN001:\n            return i % 2 == 0;\n          case QRMaskPattern.PATTERN010:\n            return j % 3 == 0;\n          case QRMaskPattern.PATTERN011:\n            return (i + j) % 3 == 0;\n          case QRMaskPattern.PATTERN100:\n            return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0;\n          case QRMaskPattern.PATTERN101:\n            return i * j % 2 + i * j % 3 == 0;\n          case QRMaskPattern.PATTERN110:\n            return (i * j % 2 + i * j % 3) % 2 == 0;\n          case QRMaskPattern.PATTERN111:\n            return (i * j % 3 + (i + j) % 2) % 2 == 0;\n          default:\n            throw new Error(\"bad maskPattern:\" + maskPattern);\n        }\n      },\n      getErrorCorrectPolynomial: function (errorCorrectLength) {\n        var a = new QRPolynomial([1], 0);\n        for (var i = 0; i < errorCorrectLength; i++) {\n          a = a.multiply(new QRPolynomial([1, QRMath.gexp(i)], 0));\n        }\n        return a;\n      },\n      getLengthInBits: function (mode, type) {\n        if (1 <= type && type < 10) {\n          switch (mode) {\n            case QRMode.MODE_NUMBER:\n              return 10;\n            case QRMode.MODE_ALPHA_NUM:\n              return 9;\n            case QRMode.MODE_8BIT_BYTE:\n              return 8;\n            case QRMode.MODE_KANJI:\n              return 8;\n            default:\n              throw new Error(\"mode:\" + mode);\n          }\n        } else if (type < 27) {\n          switch (mode) {\n            case QRMode.MODE_NUMBER:\n              return 12;\n            case QRMode.MODE_ALPHA_NUM:\n              return 11;\n            case QRMode.MODE_8BIT_BYTE:\n              return 16;\n            case QRMode.MODE_KANJI:\n              return 10;\n            default:\n              throw new Error(\"mode:\" + mode);\n          }\n        } else if (type < 41) {\n          switch (mode) {\n            case QRMode.MODE_NUMBER:\n              return 14;\n            case QRMode.MODE_ALPHA_NUM:\n              return 13;\n            case QRMode.MODE_8BIT_BYTE:\n              return 16;\n            case QRMode.MODE_KANJI:\n              return 12;\n            default:\n              throw new Error(\"mode:\" + mode);\n          }\n        } else {\n          throw new Error(\"type:\" + type);\n        }\n      },\n      getLostPoint: function (qrCode) {\n        var moduleCount = qrCode.getModuleCount();\n        var lostPoint = 0;\n        for (var row = 0; row < moduleCount; row++) {\n          for (var col = 0; col < moduleCount; col++) {\n            var sameCount = 0;\n            var dark = qrCode.isDark(row, col);\n            for (var r = -1; r <= 1; r++) {\n              if (row + r < 0 || moduleCount <= row + r) {\n                continue;\n              }\n              for (var c = -1; c <= 1; c++) {\n                if (col + c < 0 || moduleCount <= col + c) {\n                  continue;\n                }\n                if (r == 0 && c == 0) {\n                  continue;\n                }\n                if (dark == qrCode.isDark(row + r, col + c)) {\n                  sameCount++;\n                }\n              }\n            }\n            if (sameCount > 5) {\n              lostPoint += 3 + sameCount - 5;\n            }\n          }\n        }\n        for (var row = 0; row < moduleCount - 1; row++) {\n          for (var col = 0; col < moduleCount - 1; col++) {\n            var count = 0;\n            if (qrCode.isDark(row, col)) count++;\n            if (qrCode.isDark(row + 1, col)) count++;\n            if (qrCode.isDark(row, col + 1)) count++;\n            if (qrCode.isDark(row + 1, col + 1)) count++;\n            if (count == 0 || count == 4) {\n              lostPoint += 3;\n            }\n          }\n        }\n        for (var row = 0; row < moduleCount; row++) {\n          for (var col = 0; col < moduleCount - 6; col++) {\n            if (qrCode.isDark(row, col) && !qrCode.isDark(row, col + 1) && qrCode.isDark(row, col + 2) && qrCode.isDark(row, col + 3) && qrCode.isDark(row, col + 4) && !qrCode.isDark(row, col + 5) && qrCode.isDark(row, col + 6)) {\n              lostPoint += 40;\n            }\n          }\n        }\n        for (var col = 0; col < moduleCount; col++) {\n          for (var row = 0; row < moduleCount - 6; row++) {\n            if (qrCode.isDark(row, col) && !qrCode.isDark(row + 1, col) && qrCode.isDark(row + 2, col) && qrCode.isDark(row + 3, col) && qrCode.isDark(row + 4, col) && !qrCode.isDark(row + 5, col) && qrCode.isDark(row + 6, col)) {\n              lostPoint += 40;\n            }\n          }\n        }\n        var darkCount = 0;\n        for (var col = 0; col < moduleCount; col++) {\n          for (var row = 0; row < moduleCount; row++) {\n            if (qrCode.isDark(row, col)) {\n              darkCount++;\n            }\n          }\n        }\n        var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;\n        lostPoint += ratio * 10;\n        return lostPoint;\n      }\n    };\n    var QRMath = {\n      glog: function (n) {\n        if (n < 1) {\n          throw new Error(\"glog(\" + n + \")\");\n        }\n        return QRMath.LOG_TABLE[n];\n      },\n      gexp: function (n) {\n        while (n < 0) {\n          n += 255;\n        }\n        while (n >= 256) {\n          n -= 255;\n        }\n        return QRMath.EXP_TABLE[n];\n      },\n      EXP_TABLE: new Array(256),\n      LOG_TABLE: new Array(256)\n    };\n    for (var i = 0; i < 8; i++) {\n      QRMath.EXP_TABLE[i] = 1 << i;\n    }\n    for (var i = 8; i < 256; i++) {\n      QRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4] ^ QRMath.EXP_TABLE[i - 5] ^ QRMath.EXP_TABLE[i - 6] ^ QRMath.EXP_TABLE[i - 8];\n    }\n    for (var i = 0; i < 255; i++) {\n      QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i;\n    }\n    function QRPolynomial(num, shift) {\n      if (num.length == undefined) {\n        throw new Error(num.length + \"/\" + shift);\n      }\n      var offset = 0;\n      while (offset < num.length && num[offset] == 0) {\n        offset++;\n      }\n      this.num = new Array(num.length - offset + shift);\n      for (var i = 0; i < num.length - offset; i++) {\n        this.num[i] = num[i + offset];\n      }\n    }\n    QRPolynomial.prototype = {\n      get: function (index) {\n        return this.num[index];\n      },\n      getLength: function () {\n        return this.num.length;\n      },\n      multiply: function (e) {\n        var num = new Array(this.getLength() + e.getLength() - 1);\n        for (var i = 0; i < this.getLength(); i++) {\n          for (var j = 0; j < e.getLength(); j++) {\n            num[i + j] ^= QRMath.gexp(QRMath.glog(this.get(i)) + QRMath.glog(e.get(j)));\n          }\n        }\n        return new QRPolynomial(num, 0);\n      },\n      mod: function (e) {\n        if (this.getLength() - e.getLength() < 0) {\n          return this;\n        }\n        var ratio = QRMath.glog(this.get(0)) - QRMath.glog(e.get(0));\n        var num = new Array(this.getLength());\n        for (var i = 0; i < this.getLength(); i++) {\n          num[i] = this.get(i);\n        }\n        for (var i = 0; i < e.getLength(); i++) {\n          num[i] ^= QRMath.gexp(QRMath.glog(e.get(i)) + ratio);\n        }\n        return new QRPolynomial(num, 0).mod(e);\n      }\n    };\n    function QRRSBlock(totalCount, dataCount) {\n      this.totalCount = totalCount;\n      this.dataCount = dataCount;\n    }\n    QRRSBlock.RS_BLOCK_TABLE = [[1, 26, 19], [1, 26, 16], [1, 26, 13], [1, 26, 9], [1, 44, 34], [1, 44, 28], [1, 44, 22], [1, 44, 16], [1, 70, 55], [1, 70, 44], [2, 35, 17], [2, 35, 13], [1, 100, 80], [2, 50, 32], [2, 50, 24], [4, 25, 9], [1, 134, 108], [2, 67, 43], [2, 33, 15, 2, 34, 16], [2, 33, 11, 2, 34, 12], [2, 86, 68], [4, 43, 27], [4, 43, 19], [4, 43, 15], [2, 98, 78], [4, 49, 31], [2, 32, 14, 4, 33, 15], [4, 39, 13, 1, 40, 14], [2, 121, 97], [2, 60, 38, 2, 61, 39], [4, 40, 18, 2, 41, 19], [4, 40, 14, 2, 41, 15], [2, 146, 116], [3, 58, 36, 2, 59, 37], [4, 36, 16, 4, 37, 17], [4, 36, 12, 4, 37, 13], [2, 86, 68, 2, 87, 69], [4, 69, 43, 1, 70, 44], [6, 43, 19, 2, 44, 20], [6, 43, 15, 2, 44, 16], [4, 101, 81], [1, 80, 50, 4, 81, 51], [4, 50, 22, 4, 51, 23], [3, 36, 12, 8, 37, 13], [2, 116, 92, 2, 117, 93], [6, 58, 36, 2, 59, 37], [4, 46, 20, 6, 47, 21], [7, 42, 14, 4, 43, 15], [4, 133, 107], [8, 59, 37, 1, 60, 38], [8, 44, 20, 4, 45, 21], [12, 33, 11, 4, 34, 12], [3, 145, 115, 1, 146, 116], [4, 64, 40, 5, 65, 41], [11, 36, 16, 5, 37, 17], [11, 36, 12, 5, 37, 13], [5, 109, 87, 1, 110, 88], [5, 65, 41, 5, 66, 42], [5, 54, 24, 7, 55, 25], [11, 36, 12], [5, 122, 98, 1, 123, 99], [7, 73, 45, 3, 74, 46], [15, 43, 19, 2, 44, 20], [3, 45, 15, 13, 46, 16], [1, 135, 107, 5, 136, 108], [10, 74, 46, 1, 75, 47], [1, 50, 22, 15, 51, 23], [2, 42, 14, 17, 43, 15], [5, 150, 120, 1, 151, 121], [9, 69, 43, 4, 70, 44], [17, 50, 22, 1, 51, 23], [2, 42, 14, 19, 43, 15], [3, 141, 113, 4, 142, 114], [3, 70, 44, 11, 71, 45], [17, 47, 21, 4, 48, 22], [9, 39, 13, 16, 40, 14], [3, 135, 107, 5, 136, 108], [3, 67, 41, 13, 68, 42], [15, 54, 24, 5, 55, 25], [15, 43, 15, 10, 44, 16], [4, 144, 116, 4, 145, 117], [17, 68, 42], [17, 50, 22, 6, 51, 23], [19, 46, 16, 6, 47, 17], [2, 139, 111, 7, 140, 112], [17, 74, 46], [7, 54, 24, 16, 55, 25], [34, 37, 13], [4, 151, 121, 5, 152, 122], [4, 75, 47, 14, 76, 48], [11, 54, 24, 14, 55, 25], [16, 45, 15, 14, 46, 16], [6, 147, 117, 4, 148, 118], [6, 73, 45, 14, 74, 46], [11, 54, 24, 16, 55, 25], [30, 46, 16, 2, 47, 17], [8, 132, 106, 4, 133, 107], [8, 75, 47, 13, 76, 48], [7, 54, 24, 22, 55, 25], [22, 45, 15, 13, 46, 16], [10, 142, 114, 2, 143, 115], [19, 74, 46, 4, 75, 47], [28, 50, 22, 6, 51, 23], [33, 46, 16, 4, 47, 17], [8, 152, 122, 4, 153, 123], [22, 73, 45, 3, 74, 46], [8, 53, 23, 26, 54, 24], [12, 45, 15, 28, 46, 16], [3, 147, 117, 10, 148, 118], [3, 73, 45, 23, 74, 46], [4, 54, 24, 31, 55, 25], [11, 45, 15, 31, 46, 16], [7, 146, 116, 7, 147, 117], [21, 73, 45, 7, 74, 46], [1, 53, 23, 37, 54, 24], [19, 45, 15, 26, 46, 16], [5, 145, 115, 10, 146, 116], [19, 75, 47, 10, 76, 48], [15, 54, 24, 25, 55, 25], [23, 45, 15, 25, 46, 16], [13, 145, 115, 3, 146, 116], [2, 74, 46, 29, 75, 47], [42, 54, 24, 1, 55, 25], [23, 45, 15, 28, 46, 16], [17, 145, 115], [10, 74, 46, 23, 75, 47], [10, 54, 24, 35, 55, 25], [19, 45, 15, 35, 46, 16], [17, 145, 115, 1, 146, 116], [14, 74, 46, 21, 75, 47], [29, 54, 24, 19, 55, 25], [11, 45, 15, 46, 46, 16], [13, 145, 115, 6, 146, 116], [14, 74, 46, 23, 75, 47], [44, 54, 24, 7, 55, 25], [59, 46, 16, 1, 47, 17], [12, 151, 121, 7, 152, 122], [12, 75, 47, 26, 76, 48], [39, 54, 24, 14, 55, 25], [22, 45, 15, 41, 46, 16], [6, 151, 121, 14, 152, 122], [6, 75, 47, 34, 76, 48], [46, 54, 24, 10, 55, 25], [2, 45, 15, 64, 46, 16], [17, 152, 122, 4, 153, 123], [29, 74, 46, 14, 75, 47], [49, 54, 24, 10, 55, 25], [24, 45, 15, 46, 46, 16], [4, 152, 122, 18, 153, 123], [13, 74, 46, 32, 75, 47], [48, 54, 24, 14, 55, 25], [42, 45, 15, 32, 46, 16], [20, 147, 117, 4, 148, 118], [40, 75, 47, 7, 76, 48], [43, 54, 24, 22, 55, 25], [10, 45, 15, 67, 46, 16], [19, 148, 118, 6, 149, 119], [18, 75, 47, 31, 76, 48], [34, 54, 24, 34, 55, 25], [20, 45, 15, 61, 46, 16]];\n    QRRSBlock.getRSBlocks = function (typeNumber, errorCorrectLevel) {\n      var rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);\n      if (rsBlock == undefined) {\n        throw new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel);\n      }\n      var length = rsBlock.length / 3;\n      var list = [];\n      for (var i = 0; i < length; i++) {\n        var count = rsBlock[i * 3 + 0];\n        var totalCount = rsBlock[i * 3 + 1];\n        var dataCount = rsBlock[i * 3 + 2];\n        for (var j = 0; j < count; j++) {\n          list.push(new QRRSBlock(totalCount, dataCount));\n        }\n      }\n      return list;\n    };\n    QRRSBlock.getRsBlockTable = function (typeNumber, errorCorrectLevel) {\n      switch (errorCorrectLevel) {\n        case QRErrorCorrectLevel.L:\n          return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];\n        case QRErrorCorrectLevel.M:\n          return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];\n        case QRErrorCorrectLevel.Q:\n          return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];\n        case QRErrorCorrectLevel.H:\n          return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];\n        default:\n          return undefined;\n      }\n    };\n    function QRBitBuffer() {\n      this.buffer = [];\n      this.length = 0;\n    }\n    QRBitBuffer.prototype = {\n      get: function (index) {\n        var bufIndex = Math.floor(index / 8);\n        return (this.buffer[bufIndex] >>> 7 - index % 8 & 1) == 1;\n      },\n      put: function (num, length) {\n        for (var i = 0; i < length; i++) {\n          this.putBit((num >>> length - i - 1 & 1) == 1);\n        }\n      },\n      getLengthInBits: function () {\n        return this.length;\n      },\n      putBit: function (bit) {\n        var bufIndex = Math.floor(this.length / 8);\n        if (this.buffer.length <= bufIndex) {\n          this.buffer.push(0);\n        }\n        if (bit) {\n          this.buffer[bufIndex] |= 0x80 >>> this.length % 8;\n        }\n        this.length++;\n      }\n    };\n    var QRCodeLimitLength = [[17, 14, 11, 7], [32, 26, 20, 14], [53, 42, 32, 24], [78, 62, 46, 34], [106, 84, 60, 44], [134, 106, 74, 58], [154, 122, 86, 64], [192, 152, 108, 84], [230, 180, 130, 98], [271, 213, 151, 119], [321, 251, 177, 137], [367, 287, 203, 155], [425, 331, 241, 177], [458, 362, 258, 194], [520, 412, 292, 220], [586, 450, 322, 250], [644, 504, 364, 280], [718, 560, 394, 310], [792, 624, 442, 338], [858, 666, 482, 382], [929, 711, 509, 403], [1003, 779, 565, 439], [1091, 857, 611, 461], [1171, 911, 661, 511], [1273, 997, 715, 535], [1367, 1059, 751, 593], [1465, 1125, 805, 625], [1528, 1190, 868, 658], [1628, 1264, 908, 698], [1732, 1370, 982, 742], [1840, 1452, 1030, 790], [1952, 1538, 1112, 842], [2068, 1628, 1168, 898], [2188, 1722, 1228, 958], [2303, 1809, 1283, 983], [2431, 1911, 1351, 1051], [2563, 1989, 1423, 1093], [2699, 2099, 1499, 1139], [2809, 2213, 1579, 1219], [2953, 2331, 1663, 1273]];\n    function _isSupportCanvas() {\n      return typeof CanvasRenderingContext2D != \"undefined\";\n    }\n\n    // android 2.x doesn't support Data-URI spec\n    function _getAndroid() {\n      var android = false;\n      var sAgent = navigator.userAgent;\n      if (/android/i.test(sAgent)) {\n        // android\n        android = true;\n        var aMat = sAgent.toString().match(/android ([0-9]\\.[0-9])/i);\n        if (aMat && aMat[1]) {\n          android = parseFloat(aMat[1]);\n        }\n      }\n      return android;\n    }\n    var svgDrawer = function () {\n      var Drawing = function (el, htOption) {\n        this._el = el;\n        this._htOption = htOption;\n      };\n      Drawing.prototype.draw = function (oQRCode) {\n        var _htOption = this._htOption;\n        var _el = this._el;\n        var nCount = oQRCode.getModuleCount();\n        var nWidth = Math.floor(_htOption.width / nCount);\n        var nHeight = Math.floor(_htOption.height / nCount);\n        this.clear();\n        function makeSVG(tag, attrs) {\n          var el = document.createElementNS('http://www.w3.org/2000/svg', tag);\n          for (var k in attrs) if (attrs.hasOwnProperty(k)) el.setAttribute(k, attrs[k]);\n          return el;\n        }\n        var svg = makeSVG(\"svg\", {\n          'viewBox': '0 0 ' + String(nCount) + \" \" + String(nCount),\n          'width': '100%',\n          'height': '100%',\n          'fill': _htOption.colorLight\n        });\n        svg.setAttributeNS(\"http://www.w3.org/2000/xmlns/\", \"xmlns:xlink\", \"http://www.w3.org/1999/xlink\");\n        _el.appendChild(svg);\n        svg.appendChild(makeSVG(\"rect\", {\n          \"fill\": _htOption.colorLight,\n          \"width\": \"100%\",\n          \"height\": \"100%\"\n        }));\n        svg.appendChild(makeSVG(\"rect\", {\n          \"fill\": _htOption.colorDark,\n          \"width\": \"1\",\n          \"height\": \"1\",\n          \"id\": \"template\"\n        }));\n        for (var row = 0; row < nCount; row++) {\n          for (var col = 0; col < nCount; col++) {\n            if (oQRCode.isDark(row, col)) {\n              var child = makeSVG(\"use\", {\n                \"x\": String(col),\n                \"y\": String(row)\n              });\n              child.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", \"#template\");\n              svg.appendChild(child);\n            }\n          }\n        }\n      };\n      Drawing.prototype.clear = function () {\n        while (this._el.hasChildNodes()) this._el.removeChild(this._el.lastChild);\n      };\n      return Drawing;\n    }();\n    var useSVG = document.documentElement.tagName.toLowerCase() === \"svg\";\n\n    // Drawing in DOM by using Table tag\n    var Drawing = useSVG ? svgDrawer : !_isSupportCanvas() ? function () {\n      var Drawing = function (el, htOption) {\n        this._el = el;\n        this._htOption = htOption;\n      };\n\n      /**\n       * Draw the QRCode\n       * \n       * @param {QRCode} oQRCode\n       */\n      Drawing.prototype.draw = function (oQRCode) {\n        var _htOption = this._htOption;\n        var _el = this._el;\n        var nCount = oQRCode.getModuleCount();\n        var nWidth = Math.floor(_htOption.width / nCount);\n        var nHeight = Math.floor(_htOption.height / nCount);\n        var aHTML = ['<table style=\"border:0;border-collapse:collapse;\">'];\n        for (var row = 0; row < nCount; row++) {\n          aHTML.push('<tr>');\n          for (var col = 0; col < nCount; col++) {\n            aHTML.push('<td style=\"border:0;border-collapse:collapse;padding:0;margin:0;width:' + nWidth + 'px;height:' + nHeight + 'px;background-color:' + (oQRCode.isDark(row, col) ? _htOption.colorDark : _htOption.colorLight) + ';\"></td>');\n          }\n          aHTML.push('</tr>');\n        }\n        aHTML.push('</table>');\n        _el.innerHTML = aHTML.join('');\n\n        // Fix the margin values as real size.\n        var elTable = _el.childNodes[0];\n        var nLeftMarginTable = (_htOption.width - elTable.offsetWidth) / 2;\n        var nTopMarginTable = (_htOption.height - elTable.offsetHeight) / 2;\n        if (nLeftMarginTable > 0 && nTopMarginTable > 0) {\n          elTable.style.margin = nTopMarginTable + \"px \" + nLeftMarginTable + \"px\";\n        }\n      };\n\n      /**\n       * Clear the QRCode\n       */\n      Drawing.prototype.clear = function () {\n        this._el.innerHTML = '';\n      };\n      return Drawing;\n    }() : function () {\n      // Drawing in Canvas\n      function _onMakeImage() {\n        this._elImage.src = this._elCanvas.toDataURL(\"image/png\");\n        this._elImage.style.display = \"block\";\n        this._elCanvas.style.display = \"none\";\n      }\n\n      // Android 2.1 bug workaround\n      // http://code.google.com/p/android/issues/detail?id=5141\n      var androidVersion = _getAndroid();\n      if (androidVersion && androidVersion <= 2.1) {\n        var factor = 1 / window.devicePixelRatio;\n        var drawImage = CanvasRenderingContext2D.prototype.drawImage;\n        CanvasRenderingContext2D.prototype.drawImage = function (image, sx, sy, sw, sh, dx, dy, dw, dh) {\n          if (\"nodeName\" in image && /img/i.test(image.nodeName)) {\n            for (var i = arguments.length - 1; i >= 1; i--) {\n              arguments[i] = arguments[i] * factor;\n            }\n          } else if (typeof dw == \"undefined\") {\n            arguments[1] *= factor;\n            arguments[2] *= factor;\n            arguments[3] *= factor;\n            arguments[4] *= factor;\n          }\n          drawImage.apply(this, arguments);\n        };\n      }\n\n      /**\n       * Check whether the user's browser supports Data URI or not\n       * \n       * @private\n       * @param {Function} fSuccess Occurs if it supports Data URI\n       * @param {Function} fFail Occurs if it doesn't support Data URI\n       */\n      function _safeSetDataURI(fSuccess, fFail) {\n        var self = this;\n        self._fFail = fFail;\n        self._fSuccess = fSuccess;\n\n        // Check it just once\n        if (self._bSupportDataURI === null) {\n          var el = document.createElement(\"img\");\n          var fOnError = function () {\n            self._bSupportDataURI = false;\n            if (self._fFail) {\n              self._fFail.call(self);\n            }\n          };\n          var fOnSuccess = function () {\n            self._bSupportDataURI = true;\n            if (self._fSuccess) {\n              self._fSuccess.call(self);\n            }\n          };\n          el.onabort = fOnError;\n          el.onerror = fOnError;\n          el.onload = fOnSuccess;\n          el.src = \"data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==\"; // the Image contains 1px data.\n          return;\n        } else if (self._bSupportDataURI === true && self._fSuccess) {\n          self._fSuccess.call(self);\n        } else if (self._bSupportDataURI === false && self._fFail) {\n          self._fFail.call(self);\n        }\n      }\n      ;\n\n      /**\n       * Drawing QRCode by using canvas\n       * \n       * @constructor\n       * @param {HTMLElement} el\n       * @param {Object} htOption QRCode Options \n       */\n      var Drawing = function (el, htOption) {\n        this._bIsPainted = false;\n        this._android = _getAndroid();\n        this._htOption = htOption;\n        this._elCanvas = document.createElement(\"canvas\");\n        this._elCanvas.width = htOption.width;\n        this._elCanvas.height = htOption.height;\n        el.appendChild(this._elCanvas);\n        this._el = el;\n        this._oContext = this._elCanvas.getContext(\"2d\");\n        this._bIsPainted = false;\n        this._elImage = document.createElement(\"img\");\n        this._elImage.alt = \"Scan me!\";\n        this._elImage.style.display = \"none\";\n        this._el.appendChild(this._elImage);\n        this._bSupportDataURI = null;\n      };\n\n      /**\n       * Draw the QRCode\n       * \n       * @param {QRCode} oQRCode \n       */\n      Drawing.prototype.draw = function (oQRCode) {\n        var _elImage = this._elImage;\n        var _oContext = this._oContext;\n        var _htOption = this._htOption;\n        var nCount = oQRCode.getModuleCount();\n        var nWidth = _htOption.width / nCount;\n        var nHeight = _htOption.height / nCount;\n        var nRoundedWidth = Math.round(nWidth);\n        var nRoundedHeight = Math.round(nHeight);\n        _elImage.style.display = \"none\";\n        this.clear();\n        for (var row = 0; row < nCount; row++) {\n          for (var col = 0; col < nCount; col++) {\n            var bIsDark = oQRCode.isDark(row, col);\n            var nLeft = col * nWidth;\n            var nTop = row * nHeight;\n            _oContext.strokeStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight;\n            _oContext.lineWidth = 1;\n            _oContext.fillStyle = bIsDark ? _htOption.colorDark : _htOption.colorLight;\n            _oContext.fillRect(nLeft, nTop, nWidth, nHeight);\n\n            // 안티 앨리어싱 방지 처리\n            _oContext.strokeRect(Math.floor(nLeft) + 0.5, Math.floor(nTop) + 0.5, nRoundedWidth, nRoundedHeight);\n            _oContext.strokeRect(Math.ceil(nLeft) - 0.5, Math.ceil(nTop) - 0.5, nRoundedWidth, nRoundedHeight);\n          }\n        }\n        this._bIsPainted = true;\n      };\n\n      /**\n       * Make the image from Canvas if the browser supports Data URI.\n       */\n      Drawing.prototype.makeImage = function () {\n        if (this._bIsPainted) {\n          _safeSetDataURI.call(this, _onMakeImage);\n        }\n      };\n\n      /**\n       * Return whether the QRCode is painted or not\n       * \n       * @return {Boolean}\n       */\n      Drawing.prototype.isPainted = function () {\n        return this._bIsPainted;\n      };\n\n      /**\n       * Clear the QRCode\n       */\n      Drawing.prototype.clear = function () {\n        this._oContext.clearRect(0, 0, this._elCanvas.width, this._elCanvas.height);\n        this._bIsPainted = false;\n      };\n\n      /**\n       * @private\n       * @param {Number} nNumber\n       */\n      Drawing.prototype.round = function (nNumber) {\n        if (!nNumber) {\n          return nNumber;\n        }\n        return Math.floor(nNumber * 1000) / 1000;\n      };\n      return Drawing;\n    }();\n\n    /**\n     * Get the type by string length\n     * \n     * @private\n     * @param {String} sText\n     * @param {Number} nCorrectLevel\n     * @return {Number} type\n     */\n    function _getTypeNumber(sText, nCorrectLevel) {\n      var nType = 1;\n      var length = _getUTF8Length(sText);\n      for (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {\n        var nLimit = 0;\n        switch (nCorrectLevel) {\n          case QRErrorCorrectLevel.L:\n            nLimit = QRCodeLimitLength[i][0];\n            break;\n          case QRErrorCorrectLevel.M:\n            nLimit = QRCodeLimitLength[i][1];\n            break;\n          case QRErrorCorrectLevel.Q:\n            nLimit = QRCodeLimitLength[i][2];\n            break;\n          case QRErrorCorrectLevel.H:\n            nLimit = QRCodeLimitLength[i][3];\n            break;\n        }\n        if (length <= nLimit) {\n          break;\n        } else {\n          nType++;\n        }\n      }\n      if (nType > QRCodeLimitLength.length) {\n        throw new Error(\"Too long data\");\n      }\n      return nType;\n    }\n    function _getUTF8Length(sText) {\n      var replacedText = encodeURI(sText).toString().replace(/\\%[0-9a-fA-F]{2}/g, 'a');\n      return replacedText.length + (replacedText.length != sText ? 3 : 0);\n    }\n\n    /**\n     * @class QRCode\n     * @constructor\n     * @example \n     * new QRCode(document.getElementById(\"test\"), \"http://jindo.dev.naver.com/collie\");\n     *\n     * @example\n     * var oQRCode = new QRCode(\"test\", {\n     *    text : \"http://naver.com\",\n     *    width : 128,\n     *    height : 128\n     * });\n     * \n     * oQRCode.clear(); // Clear the QRCode.\n     * oQRCode.makeCode(\"http://map.naver.com\"); // Re-create the QRCode.\n     *\n     * @param {HTMLElement|String} el target element or 'id' attribute of element.\n     * @param {Object|String} vOption\n     * @param {String} vOption.text QRCode link data\n     * @param {Number} [vOption.width=256]\n     * @param {Number} [vOption.height=256]\n     * @param {String} [vOption.colorDark=\"#000000\"]\n     * @param {String} [vOption.colorLight=\"#ffffff\"]\n     * @param {QRCode.CorrectLevel} [vOption.correctLevel=QRCode.CorrectLevel.H] [L|M|Q|H] \n     */\n    QRCode = function (el, vOption) {\n      this._htOption = {\n        width: 256,\n        height: 256,\n        typeNumber: 4,\n        colorDark: \"#000000\",\n        colorLight: \"#ffffff\",\n        correctLevel: QRErrorCorrectLevel.H\n      };\n      if (typeof vOption === 'string') {\n        vOption = {\n          text: vOption\n        };\n      }\n\n      // Overwrites options\n      if (vOption) {\n        for (var i in vOption) {\n          this._htOption[i] = vOption[i];\n        }\n      }\n      if (typeof el == \"string\") {\n        el = document.getElementById(el);\n      }\n      if (this._htOption.useSVG) {\n        Drawing = svgDrawer;\n      }\n      this._android = _getAndroid();\n      this._el = el;\n      this._oQRCode = null;\n      this._oDrawing = new Drawing(this._el, this._htOption);\n      if (this._htOption.text) {\n        this.makeCode(this._htOption.text);\n      }\n    };\n\n    /**\n     * Make the QRCode\n     * \n     * @param {String} sText link data\n     */\n    QRCode.prototype.makeCode = function (sText) {\n      this._oQRCode = new QRCodeModel(_getTypeNumber(sText, this._htOption.correctLevel), this._htOption.correctLevel);\n      this._oQRCode.addData(sText);\n      this._oQRCode.make();\n      this._el.title = sText;\n      this._oDrawing.draw(this._oQRCode);\n      this.makeImage();\n    };\n\n    /**\n     * Make the Image from Canvas element\n     * - It occurs automatically\n     * - Android below 3 doesn't support Data-URI spec.\n     * \n     * @private\n     */\n    QRCode.prototype.makeImage = function () {\n      if (typeof this._oDrawing.makeImage == \"function\" && (!this._android || this._android >= 3)) {\n        this._oDrawing.makeImage();\n      }\n    };\n\n    /**\n     * Clear the QRCode\n     */\n    QRCode.prototype.clear = function () {\n      this._oDrawing.clear();\n    };\n\n    /**\n     * @name QRCode.CorrectLevel\n     */\n    QRCode.CorrectLevel = QRErrorCorrectLevel;\n    if (typeof window !== \"undefined\") {\n      window.QRCode = QRCode;\n    }\n  }).call(window);\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/lib/select2.min\", [], function () {\n  \"use strict\";\n\n  /*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n  !function (n) {\n    \"function\" == typeof define && define.amd ? define([\"jquery\"], n) : \"object\" == typeof module && module.exports ? module.exports = function (e, t) {\n      return void 0 === t && (t = \"undefined\" != typeof window ? require(\"jquery\") : require(\"jquery\")(e)), n(t), t;\n    } : n(jQuery);\n  }(function (t) {\n    var e,\n      n,\n      s,\n      p,\n      r,\n      o,\n      h,\n      f,\n      g,\n      m,\n      y,\n      v,\n      i,\n      a,\n      _,\n      s = ((u = t && t.fn && t.fn.select2 && t.fn.select2.amd ? t.fn.select2.amd : u) && u.requirejs || (u ? n = u : u = {}, g = {}, m = {}, y = {}, v = {}, i = Object.prototype.hasOwnProperty, a = [].slice, _ = /\\.js$/, h = function (e, t) {\n        var n,\n          s,\n          i = c(e),\n          r = i[0],\n          t = t[1];\n        return e = i[1], r && (n = x(r = l(r, t))), r ? e = n && n.normalize ? n.normalize(e, (s = t, function (e) {\n          return l(e, s);\n        })) : l(e, t) : (r = (i = c(e = l(e, t)))[0], e = i[1], r && (n = x(r))), {\n          f: r ? r + \"!\" + e : e,\n          n: e,\n          pr: r,\n          p: n\n        };\n      }, f = {\n        require: function (e) {\n          return w(e);\n        },\n        exports: function (e) {\n          var t = g[e];\n          return void 0 !== t ? t : g[e] = {};\n        },\n        module: function (e) {\n          return {\n            id: e,\n            uri: \"\",\n            exports: g[e],\n            config: (t = e, function () {\n              return y && y.config && y.config[t] || {};\n            })\n          };\n          var t;\n        }\n      }, r = function (e, t, n, s) {\n        var i,\n          r,\n          o,\n          a,\n          l,\n          c = [],\n          u = typeof n,\n          d = A(s = s || e);\n        if (\"undefined\" == u || \"function\" == u) {\n          for (t = !t.length && n.length ? [\"require\", \"exports\", \"module\"] : t, a = 0; a < t.length; a += 1) if (\"require\" === (r = (o = h(t[a], d)).f)) c[a] = f.require(e);else if (\"exports\" === r) c[a] = f.exports(e), l = !0;else if (\"module\" === r) i = c[a] = f.module(e);else if (b(g, r) || b(m, r) || b(v, r)) c[a] = x(r);else {\n            if (!o.p) throw new Error(e + \" missing \" + r);\n            o.p.load(o.n, w(s, !0), function (t) {\n              return function (e) {\n                g[t] = e;\n              };\n            }(r), {}), c[a] = g[r];\n          }\n          u = n ? n.apply(g[e], c) : void 0, e && (i && i.exports !== p && i.exports !== g[e] ? g[e] = i.exports : u === p && l || (g[e] = u));\n        } else e && (g[e] = n);\n      }, e = n = o = function (e, t, n, s, i) {\n        if (\"string\" == typeof e) return f[e] ? f[e](t) : x(h(e, A(t)).f);\n        if (!e.splice) {\n          if ((y = e).deps && o(y.deps, y.callback), !t) return;\n          t.splice ? (e = t, t = n, n = null) : e = p;\n        }\n        return t = t || function () {}, \"function\" == typeof n && (n = s, s = i), s ? r(p, e, t, n) : setTimeout(function () {\n          r(p, e, t, n);\n        }, 4), o;\n      }, o.config = function (e) {\n        return o(e);\n      }, e._defined = g, (s = function (e, t, n) {\n        if (\"string\" != typeof e) throw new Error(\"See almond README: incorrect module build, no module name\");\n        t.splice || (n = t, t = []), b(g, e) || b(m, e) || (m[e] = [e, t, n]);\n      }).amd = {\n        jQuery: !0\n      }, u.requirejs = e, u.require = n, u.define = s), u.define(\"almond\", function () {}), u.define(\"jquery\", [], function () {\n        var e = t || $;\n        return null == e && console && console.error && console.error(\"Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page.\"), e;\n      }), u.define(\"select2/utils\", [\"jquery\"], function (r) {\n        var s = {};\n        function c(e) {\n          var t,\n            n = e.prototype,\n            s = [];\n          for (t in n) \"function\" == typeof n[t] && \"constructor\" !== t && s.push(t);\n          return s;\n        }\n        s.Extend = function (e, t) {\n          var n,\n            s = {}.hasOwnProperty;\n          function i() {\n            this.constructor = e;\n          }\n          for (n in t) s.call(t, n) && (e[n] = t[n]);\n          return i.prototype = t.prototype, e.prototype = new i(), e.__super__ = t.prototype, e;\n        }, s.Decorate = function (s, i) {\n          var e = c(i),\n            t = c(s);\n          function r() {\n            var e = Array.prototype.unshift,\n              t = i.prototype.constructor.length,\n              n = s.prototype.constructor;\n            0 < t && (e.call(arguments, s.prototype.constructor), n = i.prototype.constructor), n.apply(this, arguments);\n          }\n          i.displayName = s.displayName, r.prototype = new function () {\n            this.constructor = r;\n          }();\n          for (var n = 0; n < t.length; n++) {\n            var o = t[n];\n            r.prototype[o] = s.prototype[o];\n          }\n          for (var a = 0; a < e.length; a++) {\n            var l = e[a];\n            r.prototype[l] = function (e) {\n              var t = function () {};\n              e in r.prototype && (t = r.prototype[e]);\n              var n = i.prototype[e];\n              return function () {\n                return Array.prototype.unshift.call(arguments, t), n.apply(this, arguments);\n              };\n            }(l);\n          }\n          return r;\n        };\n        function e() {\n          this.listeners = {};\n        }\n        e.prototype.on = function (e, t) {\n          this.listeners = this.listeners || {}, e in this.listeners ? this.listeners[e].push(t) : this.listeners[e] = [t];\n        }, e.prototype.trigger = function (e) {\n          var t = Array.prototype.slice,\n            n = t.call(arguments, 1);\n          this.listeners = this.listeners || {}, 0 === (n = null == n ? [] : n).length && n.push({}), (n[0]._type = e) in this.listeners && this.invoke(this.listeners[e], t.call(arguments, 1)), \"*\" in this.listeners && this.invoke(this.listeners[\"*\"], arguments);\n        }, e.prototype.invoke = function (e, t) {\n          for (var n = 0, s = e.length; n < s; n++) e[n].apply(this, t);\n        }, s.Observable = e, s.generateChars = function (e) {\n          for (var t = \"\", n = 0; n < e; n++) t += Math.floor(36 * Math.random()).toString(36);\n          return t;\n        }, s.bind = function (e, t) {\n          return function () {\n            e.apply(t, arguments);\n          };\n        }, s._convertData = function (e) {\n          for (var t in e) {\n            var n = t.split(\"-\"),\n              s = e;\n            if (1 !== n.length) {\n              for (var i = 0; i < n.length; i++) {\n                var r = n[i];\n                (r = r.substring(0, 1).toLowerCase() + r.substring(1)) in s || (s[r] = {}), i == n.length - 1 && (s[r] = e[t]), s = s[r];\n              }\n              delete e[t];\n            }\n          }\n          return e;\n        }, s.hasScroll = function (e, t) {\n          var n = r(t),\n            s = t.style.overflowX,\n            i = t.style.overflowY;\n          return (s !== i || \"hidden\" !== i && \"visible\" !== i) && (\"scroll\" === s || \"scroll\" === i || n.innerHeight() < t.scrollHeight || n.innerWidth() < t.scrollWidth);\n        }, s.escapeMarkup = function (e) {\n          var t = {\n            \"\\\\\": \"&#92;\",\n            \"&\": \"&amp;\",\n            \"<\": \"&lt;\",\n            \">\": \"&gt;\",\n            '\"': \"&quot;\",\n            \"'\": \"&#39;\",\n            \"/\": \"&#47;\"\n          };\n          return \"string\" != typeof e ? e : String(e).replace(/[&<>\"'\\/\\\\]/g, function (e) {\n            return t[e];\n          });\n        }, s.__cache = {};\n        var n = 0;\n        return s.GetUniqueElementId = function (e) {\n          var t = e.getAttribute(\"data-select2-id\");\n          return null != t || (t = e.id ? \"select2-data-\" + e.id : \"select2-data-\" + (++n).toString() + \"-\" + s.generateChars(4), e.setAttribute(\"data-select2-id\", t)), t;\n        }, s.StoreData = function (e, t, n) {\n          e = s.GetUniqueElementId(e);\n          s.__cache[e] || (s.__cache[e] = {}), s.__cache[e][t] = n;\n        }, s.GetData = function (e, t) {\n          var n = s.GetUniqueElementId(e);\n          return t ? s.__cache[n] && null != s.__cache[n][t] ? s.__cache[n][t] : r(e).data(t) : s.__cache[n];\n        }, s.RemoveData = function (e) {\n          var t = s.GetUniqueElementId(e);\n          null != s.__cache[t] && delete s.__cache[t], e.removeAttribute(\"data-select2-id\");\n        }, s.copyNonInternalCssClasses = function (e, t) {\n          var n = (n = e.getAttribute(\"class\").trim().split(/\\s+/)).filter(function (e) {\n              return 0 === e.indexOf(\"select2-\");\n            }),\n            t = (t = t.getAttribute(\"class\").trim().split(/\\s+/)).filter(function (e) {\n              return 0 !== e.indexOf(\"select2-\");\n            }),\n            t = n.concat(t);\n          e.setAttribute(\"class\", t.join(\" \"));\n        }, s;\n      }), u.define(\"select2/results\", [\"jquery\", \"./utils\"], function (d, p) {\n        function s(e, t, n) {\n          this.$element = e, this.data = n, this.options = t, s.__super__.constructor.call(this);\n        }\n        return p.Extend(s, p.Observable), s.prototype.render = function () {\n          var e = d('<ul class=\"select2-results__options\" role=\"listbox\"></ul>');\n          return this.options.get(\"multiple\") && e.attr(\"aria-multiselectable\", \"true\"), this.$results = e;\n        }, s.prototype.clear = function () {\n          this.$results.empty();\n        }, s.prototype.displayMessage = function (e) {\n          var t = this.options.get(\"escapeMarkup\");\n          this.clear(), this.hideLoading();\n          var n = d('<li role=\"alert\" aria-live=\"assertive\" class=\"select2-results__option\"></li>'),\n            s = this.options.get(\"translations\").get(e.message);\n          n.append(t(s(e.args))), n[0].className += \" select2-results__message\", this.$results.append(n);\n        }, s.prototype.hideMessages = function () {\n          this.$results.find(\".select2-results__message\").remove();\n        }, s.prototype.append = function (e) {\n          this.hideLoading();\n          var t = [];\n          if (null != e.results && 0 !== e.results.length) {\n            e.results = this.sort(e.results);\n            for (var n = 0; n < e.results.length; n++) {\n              var s = e.results[n],\n                s = this.option(s);\n              t.push(s);\n            }\n            this.$results.append(t);\n          } else 0 === this.$results.children().length && this.trigger(\"results:message\", {\n            message: \"noResults\"\n          });\n        }, s.prototype.position = function (e, t) {\n          t.find(\".select2-results\").append(e);\n        }, s.prototype.sort = function (e) {\n          return this.options.get(\"sorter\")(e);\n        }, s.prototype.highlightFirstItem = function () {\n          var e = this.$results.find(\".select2-results__option--selectable\"),\n            t = e.filter(\".select2-results__option--selected\");\n          (0 < t.length ? t : e).first().trigger(\"mouseenter\"), this.ensureHighlightVisible();\n        }, s.prototype.setClasses = function () {\n          var t = this;\n          this.data.current(function (e) {\n            var s = e.map(function (e) {\n              return e.id.toString();\n            });\n            t.$results.find(\".select2-results__option--selectable\").each(function () {\n              var e = d(this),\n                t = p.GetData(this, \"data\"),\n                n = \"\" + t.id;\n              null != t.element && t.element.selected || null == t.element && -1 < s.indexOf(n) ? (this.classList.add(\"select2-results__option--selected\"), e.attr(\"aria-selected\", \"true\")) : (this.classList.remove(\"select2-results__option--selected\"), e.attr(\"aria-selected\", \"false\"));\n            });\n          });\n        }, s.prototype.showLoading = function (e) {\n          this.hideLoading();\n          e = {\n            disabled: !0,\n            loading: !0,\n            text: this.options.get(\"translations\").get(\"searching\")(e)\n          }, e = this.option(e);\n          e.className += \" loading-results\", this.$results.prepend(e);\n        }, s.prototype.hideLoading = function () {\n          this.$results.find(\".loading-results\").remove();\n        }, s.prototype.option = function (e) {\n          var t = document.createElement(\"li\");\n          t.classList.add(\"select2-results__option\"), t.classList.add(\"select2-results__option--selectable\");\n          var n,\n            s = {\n              role: \"option\"\n            },\n            i = window.Element.prototype.matches || window.Element.prototype.msMatchesSelector || window.Element.prototype.webkitMatchesSelector;\n          for (n in (null != e.element && i.call(e.element, \":disabled\") || null == e.element && e.disabled) && (s[\"aria-disabled\"] = \"true\", t.classList.remove(\"select2-results__option--selectable\"), t.classList.add(\"select2-results__option--disabled\")), null == e.id && t.classList.remove(\"select2-results__option--selectable\"), null != e._resultId && (t.id = e._resultId), e.title && (t.title = e.title), e.children && (s.role = \"group\", s[\"aria-label\"] = e.text, t.classList.remove(\"select2-results__option--selectable\"), t.classList.add(\"select2-results__option--group\")), s) {\n            var r = s[n];\n            t.setAttribute(n, r);\n          }\n          if (e.children) {\n            var o = d(t),\n              a = document.createElement(\"strong\");\n            a.className = \"select2-results__group\", this.template(e, a);\n            for (var l = [], c = 0; c < e.children.length; c++) {\n              var u = e.children[c],\n                u = this.option(u);\n              l.push(u);\n            }\n            i = d(\"<ul></ul>\", {\n              class: \"select2-results__options select2-results__options--nested\",\n              role: \"none\"\n            });\n            i.append(l), o.append(a), o.append(i);\n          } else this.template(e, t);\n          return p.StoreData(t, \"data\", e), t;\n        }, s.prototype.bind = function (t, e) {\n          var i = this,\n            n = t.id + \"-results\";\n          this.$results.attr(\"id\", n), t.on(\"results:all\", function (e) {\n            i.clear(), i.append(e.data), t.isOpen() && (i.setClasses(), i.highlightFirstItem());\n          }), t.on(\"results:append\", function (e) {\n            i.append(e.data), t.isOpen() && i.setClasses();\n          }), t.on(\"query\", function (e) {\n            i.hideMessages(), i.showLoading(e);\n          }), t.on(\"select\", function () {\n            t.isOpen() && (i.setClasses(), i.options.get(\"scrollAfterSelect\") && i.highlightFirstItem());\n          }), t.on(\"unselect\", function () {\n            t.isOpen() && (i.setClasses(), i.options.get(\"scrollAfterSelect\") && i.highlightFirstItem());\n          }), t.on(\"open\", function () {\n            i.$results.attr(\"aria-expanded\", \"true\"), i.$results.attr(\"aria-hidden\", \"false\"), i.setClasses(), i.ensureHighlightVisible();\n          }), t.on(\"close\", function () {\n            i.$results.attr(\"aria-expanded\", \"false\"), i.$results.attr(\"aria-hidden\", \"true\"), i.$results.removeAttr(\"aria-activedescendant\");\n          }), t.on(\"results:toggle\", function () {\n            var e = i.getHighlightedResults();\n            0 !== e.length && e.trigger(\"mouseup\");\n          }), t.on(\"results:select\", function () {\n            var e,\n              t = i.getHighlightedResults();\n            0 !== t.length && (e = p.GetData(t[0], \"data\"), t.hasClass(\"select2-results__option--selected\") ? i.trigger(\"close\", {}) : i.trigger(\"select\", {\n              data: e\n            }));\n          }), t.on(\"results:previous\", function () {\n            var e,\n              t = i.getHighlightedResults(),\n              n = i.$results.find(\".select2-results__option--selectable\"),\n              s = n.index(t);\n            s <= 0 || (e = s - 1, 0 === t.length && (e = 0), (s = n.eq(e)).trigger(\"mouseenter\"), t = i.$results.offset().top, n = s.offset().top, s = i.$results.scrollTop() + (n - t), 0 === e ? i.$results.scrollTop(0) : n - t < 0 && i.$results.scrollTop(s));\n          }), t.on(\"results:next\", function () {\n            var e,\n              t = i.getHighlightedResults(),\n              n = i.$results.find(\".select2-results__option--selectable\"),\n              s = n.index(t) + 1;\n            s >= n.length || ((e = n.eq(s)).trigger(\"mouseenter\"), t = i.$results.offset().top + i.$results.outerHeight(!1), n = e.offset().top + e.outerHeight(!1), e = i.$results.scrollTop() + n - t, 0 === s ? i.$results.scrollTop(0) : t < n && i.$results.scrollTop(e));\n          }), t.on(\"results:focus\", function (e) {\n            e.element[0].classList.add(\"select2-results__option--highlighted\"), e.element[0].setAttribute(\"aria-selected\", \"true\");\n          }), t.on(\"results:message\", function (e) {\n            i.displayMessage(e);\n          }), d.fn.mousewheel && this.$results.on(\"mousewheel\", function (e) {\n            var t = i.$results.scrollTop(),\n              n = i.$results.get(0).scrollHeight - t + e.deltaY,\n              t = 0 < e.deltaY && t - e.deltaY <= 0,\n              n = e.deltaY < 0 && n <= i.$results.height();\n            t ? (i.$results.scrollTop(0), e.preventDefault(), e.stopPropagation()) : n && (i.$results.scrollTop(i.$results.get(0).scrollHeight - i.$results.height()), e.preventDefault(), e.stopPropagation());\n          }), this.$results.on(\"mouseup\", \".select2-results__option--selectable\", function (e) {\n            var t = d(this),\n              n = p.GetData(this, \"data\");\n            t.hasClass(\"select2-results__option--selected\") ? i.options.get(\"multiple\") ? i.trigger(\"unselect\", {\n              originalEvent: e,\n              data: n\n            }) : i.trigger(\"close\", {}) : i.trigger(\"select\", {\n              originalEvent: e,\n              data: n\n            });\n          }), this.$results.on(\"mouseenter\", \".select2-results__option--selectable\", function (e) {\n            var t = p.GetData(this, \"data\");\n            i.getHighlightedResults().removeClass(\"select2-results__option--highlighted\").attr(\"aria-selected\", \"false\"), i.trigger(\"results:focus\", {\n              data: t,\n              element: d(this)\n            });\n          });\n        }, s.prototype.getHighlightedResults = function () {\n          return this.$results.find(\".select2-results__option--highlighted\");\n        }, s.prototype.destroy = function () {\n          this.$results.remove();\n        }, s.prototype.ensureHighlightVisible = function () {\n          var e,\n            t,\n            n,\n            s,\n            i = this.getHighlightedResults();\n          0 !== i.length && (e = this.$results.find(\".select2-results__option--selectable\").index(i), s = this.$results.offset().top, t = i.offset().top, n = this.$results.scrollTop() + (t - s), s = t - s, n -= 2 * i.outerHeight(!1), e <= 2 ? this.$results.scrollTop(0) : (s > this.$results.outerHeight() || s < 0) && this.$results.scrollTop(n));\n        }, s.prototype.template = function (e, t) {\n          var n = this.options.get(\"templateResult\"),\n            s = this.options.get(\"escapeMarkup\"),\n            e = n(e, t);\n          null == e ? t.style.display = \"none\" : \"string\" == typeof e ? t.innerHTML = s(e) : d(t).append(e);\n        }, s;\n      }), u.define(\"select2/keys\", [], function () {\n        return {\n          BACKSPACE: 8,\n          TAB: 9,\n          ENTER: 13,\n          SHIFT: 16,\n          CTRL: 17,\n          ALT: 18,\n          ESC: 27,\n          SPACE: 32,\n          PAGE_UP: 33,\n          PAGE_DOWN: 34,\n          END: 35,\n          HOME: 36,\n          LEFT: 37,\n          UP: 38,\n          RIGHT: 39,\n          DOWN: 40,\n          DELETE: 46\n        };\n      }), u.define(\"select2/selection/base\", [\"jquery\", \"../utils\", \"../keys\"], function (n, s, i) {\n        function r(e, t) {\n          this.$element = e, this.options = t, r.__super__.constructor.call(this);\n        }\n        return s.Extend(r, s.Observable), r.prototype.render = function () {\n          var e = n('<span class=\"select2-selection\" role=\"combobox\"  aria-haspopup=\"true\" aria-expanded=\"false\"></span>');\n          return this._tabindex = 0, null != s.GetData(this.$element[0], \"old-tabindex\") ? this._tabindex = s.GetData(this.$element[0], \"old-tabindex\") : null != this.$element.attr(\"tabindex\") && (this._tabindex = this.$element.attr(\"tabindex\")), e.attr(\"title\", this.$element.attr(\"title\")), e.attr(\"tabindex\", this._tabindex), e.attr(\"aria-disabled\", \"false\"), this.$selection = e;\n        }, r.prototype.bind = function (e, t) {\n          var n = this,\n            s = e.id + \"-results\";\n          this.container = e, this.$selection.on(\"focus\", function (e) {\n            n.trigger(\"focus\", e);\n          }), this.$selection.on(\"blur\", function (e) {\n            n._handleBlur(e);\n          }), this.$selection.on(\"keydown\", function (e) {\n            n.trigger(\"keypress\", e), e.which === i.SPACE && e.preventDefault();\n          }), e.on(\"results:focus\", function (e) {\n            n.$selection.attr(\"aria-activedescendant\", e.data._resultId);\n          }), e.on(\"selection:update\", function (e) {\n            n.update(e.data);\n          }), e.on(\"open\", function () {\n            n.$selection.attr(\"aria-expanded\", \"true\"), n.$selection.attr(\"aria-owns\", s), n._attachCloseHandler(e);\n          }), e.on(\"close\", function () {\n            n.$selection.attr(\"aria-expanded\", \"false\"), n.$selection.removeAttr(\"aria-activedescendant\"), n.$selection.removeAttr(\"aria-owns\"), n.$selection.trigger(\"focus\"), n._detachCloseHandler(e);\n          }), e.on(\"enable\", function () {\n            n.$selection.attr(\"tabindex\", n._tabindex), n.$selection.attr(\"aria-disabled\", \"false\");\n          }), e.on(\"disable\", function () {\n            n.$selection.attr(\"tabindex\", \"-1\"), n.$selection.attr(\"aria-disabled\", \"true\");\n          });\n        }, r.prototype._handleBlur = function (e) {\n          var t = this;\n          window.setTimeout(function () {\n            document.activeElement == t.$selection[0] || n.contains(t.$selection[0], document.activeElement) || t.trigger(\"blur\", e);\n          }, 1);\n        }, r.prototype._attachCloseHandler = function (e) {\n          n(document.body).on(\"mousedown.select2.\" + e.id, function (e) {\n            var t = n(e.target).closest(\".select2\");\n            n(\".select2.select2-container--open\").each(function () {\n              this != t[0] && s.GetData(this, \"element\").select2(\"close\");\n            });\n          });\n        }, r.prototype._detachCloseHandler = function (e) {\n          n(document.body).off(\"mousedown.select2.\" + e.id);\n        }, r.prototype.position = function (e, t) {\n          t.find(\".selection\").append(e);\n        }, r.prototype.destroy = function () {\n          this._detachCloseHandler(this.container);\n        }, r.prototype.update = function (e) {\n          throw new Error(\"The `update` method must be defined in child classes.\");\n        }, r.prototype.isEnabled = function () {\n          return !this.isDisabled();\n        }, r.prototype.isDisabled = function () {\n          return this.options.get(\"disabled\");\n        }, r;\n      }), u.define(\"select2/selection/single\", [\"jquery\", \"./base\", \"../utils\", \"../keys\"], function (e, t, n, s) {\n        function i() {\n          i.__super__.constructor.apply(this, arguments);\n        }\n        return n.Extend(i, t), i.prototype.render = function () {\n          var e = i.__super__.render.call(this);\n          return e[0].classList.add(\"select2-selection--single\"), e.html('<span class=\"select2-selection__rendered\"></span><span class=\"select2-selection__arrow\" role=\"presentation\"><b role=\"presentation\"></b></span>'), e;\n        }, i.prototype.bind = function (t, e) {\n          var n = this;\n          i.__super__.bind.apply(this, arguments);\n          var s = t.id + \"-container\";\n          this.$selection.find(\".select2-selection__rendered\").attr(\"id\", s).attr(\"role\", \"textbox\").attr(\"aria-readonly\", \"true\"), this.$selection.attr(\"aria-labelledby\", s), this.$selection.attr(\"aria-controls\", s), this.$selection.on(\"mousedown\", function (e) {\n            1 === e.which && n.trigger(\"toggle\", {\n              originalEvent: e\n            });\n          }), this.$selection.on(\"focus\", function (e) {}), this.$selection.on(\"blur\", function (e) {}), t.on(\"focus\", function (e) {\n            t.isOpen() || n.$selection.trigger(\"focus\");\n          });\n        }, i.prototype.clear = function () {\n          var e = this.$selection.find(\".select2-selection__rendered\");\n          e.empty(), e.removeAttr(\"title\");\n        }, i.prototype.display = function (e, t) {\n          var n = this.options.get(\"templateSelection\");\n          return this.options.get(\"escapeMarkup\")(n(e, t));\n        }, i.prototype.selectionContainer = function () {\n          return e(\"<span></span>\");\n        }, i.prototype.update = function (e) {\n          var t, n;\n          0 !== e.length ? (n = e[0], t = this.$selection.find(\".select2-selection__rendered\"), e = this.display(n, t), t.empty().append(e), (n = n.title || n.text) ? t.attr(\"title\", n) : t.removeAttr(\"title\")) : this.clear();\n        }, i;\n      }), u.define(\"select2/selection/multiple\", [\"jquery\", \"./base\", \"../utils\"], function (i, e, c) {\n        function r(e, t) {\n          r.__super__.constructor.apply(this, arguments);\n        }\n        return c.Extend(r, e), r.prototype.render = function () {\n          var e = r.__super__.render.call(this);\n          return e[0].classList.add(\"select2-selection--multiple\"), e.html('<ul class=\"select2-selection__rendered\"></ul>'), e;\n        }, r.prototype.bind = function (e, t) {\n          var n = this;\n          r.__super__.bind.apply(this, arguments);\n          var s = e.id + \"-container\";\n          this.$selection.find(\".select2-selection__rendered\").attr(\"id\", s), this.$selection.on(\"click\", function (e) {\n            n.trigger(\"toggle\", {\n              originalEvent: e\n            });\n          }), this.$selection.on(\"click\", \".select2-selection__choice__remove\", function (e) {\n            var t;\n            n.isDisabled() || (t = i(this).parent(), t = c.GetData(t[0], \"data\"), n.trigger(\"unselect\", {\n              originalEvent: e,\n              data: t\n            }));\n          }), this.$selection.on(\"keydown\", \".select2-selection__choice__remove\", function (e) {\n            n.isDisabled() || e.stopPropagation();\n          });\n        }, r.prototype.clear = function () {\n          var e = this.$selection.find(\".select2-selection__rendered\");\n          e.empty(), e.removeAttr(\"title\");\n        }, r.prototype.display = function (e, t) {\n          var n = this.options.get(\"templateSelection\");\n          return this.options.get(\"escapeMarkup\")(n(e, t));\n        }, r.prototype.selectionContainer = function () {\n          return i('<li class=\"select2-selection__choice\"><button type=\"button\" class=\"select2-selection__choice__remove\" tabindex=\"-1\"><span aria-hidden=\"true\">&times;</span></button><span class=\"select2-selection__choice__display\"></span></li>');\n        }, r.prototype.update = function (e) {\n          if (this.clear(), 0 !== e.length) {\n            for (var t = [], n = this.$selection.find(\".select2-selection__rendered\").attr(\"id\") + \"-choice-\", s = 0; s < e.length; s++) {\n              var i = e[s],\n                r = this.selectionContainer(),\n                o = this.display(i, r),\n                a = n + c.generateChars(4) + \"-\";\n              i.id ? a += i.id : a += c.generateChars(4), r.find(\".select2-selection__choice__display\").append(o).attr(\"id\", a);\n              var l = i.title || i.text;\n              l && r.attr(\"title\", l);\n              o = this.options.get(\"translations\").get(\"removeItem\"), l = r.find(\".select2-selection__choice__remove\");\n              l.attr(\"title\", o()), l.attr(\"aria-label\", o()), l.attr(\"aria-describedby\", a), c.StoreData(r[0], \"data\", i), t.push(r);\n            }\n            this.$selection.find(\".select2-selection__rendered\").append(t);\n          }\n        }, r;\n      }), u.define(\"select2/selection/placeholder\", [], function () {\n        function e(e, t, n) {\n          this.placeholder = this.normalizePlaceholder(n.get(\"placeholder\")), e.call(this, t, n);\n        }\n        return e.prototype.normalizePlaceholder = function (e, t) {\n          return t = \"string\" == typeof t ? {\n            id: \"\",\n            text: t\n          } : t;\n        }, e.prototype.createPlaceholder = function (e, t) {\n          var n = this.selectionContainer();\n          n.html(this.display(t)), n[0].classList.add(\"select2-selection__placeholder\"), n[0].classList.remove(\"select2-selection__choice\");\n          t = t.title || t.text || n.text();\n          return this.$selection.find(\".select2-selection__rendered\").attr(\"title\", t), n;\n        }, e.prototype.update = function (e, t) {\n          var n = 1 == t.length && t[0].id != this.placeholder.id;\n          if (1 < t.length || n) return e.call(this, t);\n          this.clear();\n          t = this.createPlaceholder(this.placeholder);\n          this.$selection.find(\".select2-selection__rendered\").append(t);\n        }, e;\n      }), u.define(\"select2/selection/allowClear\", [\"jquery\", \"../keys\", \"../utils\"], function (i, s, a) {\n        function e() {}\n        return e.prototype.bind = function (e, t, n) {\n          var s = this;\n          e.call(this, t, n), null == this.placeholder && this.options.get(\"debug\") && window.console && console.error && console.error(\"Select2: The `allowClear` option should be used in combination with the `placeholder` option.\"), this.$selection.on(\"mousedown\", \".select2-selection__clear\", function (e) {\n            s._handleClear(e);\n          }), t.on(\"keypress\", function (e) {\n            s._handleKeyboardClear(e, t);\n          });\n        }, e.prototype._handleClear = function (e, t) {\n          if (!this.isDisabled()) {\n            var n = this.$selection.find(\".select2-selection__clear\");\n            if (0 !== n.length) {\n              t.stopPropagation();\n              var s = a.GetData(n[0], \"data\"),\n                i = this.$element.val();\n              this.$element.val(this.placeholder.id);\n              var r = {\n                data: s\n              };\n              if (this.trigger(\"clear\", r), r.prevented) this.$element.val(i);else {\n                for (var o = 0; o < s.length; o++) if (r = {\n                  data: s[o]\n                }, this.trigger(\"unselect\", r), r.prevented) return void this.$element.val(i);\n                this.$element.trigger(\"input\").trigger(\"change\"), this.trigger(\"toggle\", {});\n              }\n            }\n          }\n        }, e.prototype._handleKeyboardClear = function (e, t, n) {\n          n.isOpen() || t.which != s.DELETE && t.which != s.BACKSPACE || this._handleClear(t);\n        }, e.prototype.update = function (e, t) {\n          var n, s;\n          e.call(this, t), this.$selection.find(\".select2-selection__clear\").remove(), this.$selection[0].classList.remove(\"select2-selection--clearable\"), 0 < this.$selection.find(\".select2-selection__placeholder\").length || 0 === t.length || (n = this.$selection.find(\".select2-selection__rendered\").attr(\"id\"), s = this.options.get(\"translations\").get(\"removeAllItems\"), (e = i('<button type=\"button\" class=\"select2-selection__clear\" tabindex=\"-1\"><span aria-hidden=\"true\">&times;</span></button>')).attr(\"title\", s()), e.attr(\"aria-label\", s()), e.attr(\"aria-describedby\", n), a.StoreData(e[0], \"data\", t), this.$selection.prepend(e), this.$selection[0].classList.add(\"select2-selection--clearable\"));\n        }, e;\n      }), u.define(\"select2/selection/search\", [\"jquery\", \"../utils\", \"../keys\"], function (s, a, l) {\n        function e(e, t, n) {\n          e.call(this, t, n);\n        }\n        return e.prototype.render = function (e) {\n          var t = this.options.get(\"translations\").get(\"search\"),\n            n = s('<span class=\"select2-search select2-search--inline\"><textarea class=\"select2-search__field\" type=\"search\" tabindex=\"-1\" autocorrect=\"off\" autocapitalize=\"none\" spellcheck=\"false\" role=\"searchbox\" aria-autocomplete=\"list\" ></textarea></span>');\n          this.$searchContainer = n, this.$search = n.find(\"textarea\"), this.$search.prop(\"autocomplete\", this.options.get(\"autocomplete\")), this.$search.attr(\"aria-label\", t());\n          e = e.call(this);\n          return this._transferTabIndex(), e.append(this.$searchContainer), e;\n        }, e.prototype.bind = function (e, t, n) {\n          var s = this,\n            i = t.id + \"-results\",\n            r = t.id + \"-container\";\n          e.call(this, t, n), s.$search.attr(\"aria-describedby\", r), t.on(\"open\", function () {\n            s.$search.attr(\"aria-controls\", i), s.$search.trigger(\"focus\");\n          }), t.on(\"close\", function () {\n            s.$search.val(\"\"), s.resizeSearch(), s.$search.removeAttr(\"aria-controls\"), s.$search.removeAttr(\"aria-activedescendant\"), s.$search.trigger(\"focus\");\n          }), t.on(\"enable\", function () {\n            s.$search.prop(\"disabled\", !1), s._transferTabIndex();\n          }), t.on(\"disable\", function () {\n            s.$search.prop(\"disabled\", !0);\n          }), t.on(\"focus\", function (e) {\n            s.$search.trigger(\"focus\");\n          }), t.on(\"results:focus\", function (e) {\n            e.data._resultId ? s.$search.attr(\"aria-activedescendant\", e.data._resultId) : s.$search.removeAttr(\"aria-activedescendant\");\n          }), this.$selection.on(\"focusin\", \".select2-search--inline\", function (e) {\n            s.trigger(\"focus\", e);\n          }), this.$selection.on(\"focusout\", \".select2-search--inline\", function (e) {\n            s._handleBlur(e);\n          }), this.$selection.on(\"keydown\", \".select2-search--inline\", function (e) {\n            var t;\n            e.stopPropagation(), s.trigger(\"keypress\", e), s._keyUpPrevented = e.isDefaultPrevented(), e.which !== l.BACKSPACE || \"\" !== s.$search.val() || 0 < (t = s.$selection.find(\".select2-selection__choice\").last()).length && (t = a.GetData(t[0], \"data\"), s.searchRemoveChoice(t), e.preventDefault());\n          }), this.$selection.on(\"click\", \".select2-search--inline\", function (e) {\n            s.$search.val() && e.stopPropagation();\n          });\n          var t = document.documentMode,\n            o = t && t <= 11;\n          this.$selection.on(\"input.searchcheck\", \".select2-search--inline\", function (e) {\n            o ? s.$selection.off(\"input.search input.searchcheck\") : s.$selection.off(\"keyup.search\");\n          }), this.$selection.on(\"keyup.search input.search\", \".select2-search--inline\", function (e) {\n            var t;\n            o && \"input\" === e.type ? s.$selection.off(\"input.search input.searchcheck\") : (t = e.which) != l.SHIFT && t != l.CTRL && t != l.ALT && t != l.TAB && s.handleSearch(e);\n          });\n        }, e.prototype._transferTabIndex = function (e) {\n          this.$search.attr(\"tabindex\", this.$selection.attr(\"tabindex\")), this.$selection.attr(\"tabindex\", \"-1\");\n        }, e.prototype.createPlaceholder = function (e, t) {\n          this.$search.attr(\"placeholder\", t.text);\n        }, e.prototype.update = function (e, t) {\n          var n = this.$search[0] == document.activeElement;\n          this.$search.attr(\"placeholder\", \"\"), e.call(this, t), this.resizeSearch(), n && this.$search.trigger(\"focus\");\n        }, e.prototype.handleSearch = function () {\n          var e;\n          this.resizeSearch(), this._keyUpPrevented || (e = this.$search.val(), this.trigger(\"query\", {\n            term: e\n          })), this._keyUpPrevented = !1;\n        }, e.prototype.searchRemoveChoice = function (e, t) {\n          this.trigger(\"unselect\", {\n            data: t\n          }), this.$search.val(t.text), this.handleSearch();\n        }, e.prototype.resizeSearch = function () {\n          this.$search.css(\"width\", \"25px\");\n          var e = \"100%\";\n          \"\" === this.$search.attr(\"placeholder\") && (e = .75 * (this.$search.val().length + 1) + \"em\"), this.$search.css(\"width\", e);\n        }, e;\n      }), u.define(\"select2/selection/selectionCss\", [\"../utils\"], function (n) {\n        function e() {}\n        return e.prototype.render = function (e) {\n          var t = e.call(this),\n            e = this.options.get(\"selectionCssClass\") || \"\";\n          return -1 !== e.indexOf(\":all:\") && (e = e.replace(\":all:\", \"\"), n.copyNonInternalCssClasses(t[0], this.$element[0])), t.addClass(e), t;\n        }, e;\n      }), u.define(\"select2/selection/eventRelay\", [\"jquery\"], function (o) {\n        function e() {}\n        return e.prototype.bind = function (e, t, n) {\n          var s = this,\n            i = [\"open\", \"opening\", \"close\", \"closing\", \"select\", \"selecting\", \"unselect\", \"unselecting\", \"clear\", \"clearing\"],\n            r = [\"opening\", \"closing\", \"selecting\", \"unselecting\", \"clearing\"];\n          e.call(this, t, n), t.on(\"*\", function (e, t) {\n            var n;\n            -1 !== i.indexOf(e) && (t = t || {}, n = o.Event(\"select2:\" + e, {\n              params: t\n            }), s.$element.trigger(n), -1 !== r.indexOf(e) && (t.prevented = n.isDefaultPrevented()));\n          });\n        }, e;\n      }), u.define(\"select2/translation\", [\"jquery\", \"require\"], function (t, n) {\n        function s(e) {\n          this.dict = e || {};\n        }\n        return s.prototype.all = function () {\n          return this.dict;\n        }, s.prototype.get = function (e) {\n          return this.dict[e];\n        }, s.prototype.extend = function (e) {\n          this.dict = t.extend({}, e.all(), this.dict);\n        }, s._cache = {}, s.loadPath = function (e) {\n          var t;\n          return e in s._cache || (t = n(e), s._cache[e] = t), new s(s._cache[e]);\n        }, s;\n      }), u.define(\"select2/diacritics\", [], function () {\n        return {\n          \"Ⓐ\": \"A\",\n          \"Ａ\": \"A\",\n          \"À\": \"A\",\n          \"Á\": \"A\",\n          \"Â\": \"A\",\n          \"Ầ\": \"A\",\n          \"Ấ\": \"A\",\n          \"Ẫ\": \"A\",\n          \"Ẩ\": \"A\",\n          \"Ã\": \"A\",\n          \"Ā\": \"A\",\n          \"Ă\": \"A\",\n          \"Ằ\": \"A\",\n          \"Ắ\": \"A\",\n          \"Ẵ\": \"A\",\n          \"Ẳ\": \"A\",\n          \"Ȧ\": \"A\",\n          \"Ǡ\": \"A\",\n          \"Ä\": \"A\",\n          \"Ǟ\": \"A\",\n          \"Ả\": \"A\",\n          \"Å\": \"A\",\n          \"Ǻ\": \"A\",\n          \"Ǎ\": \"A\",\n          \"Ȁ\": \"A\",\n          \"Ȃ\": \"A\",\n          \"Ạ\": \"A\",\n          \"Ậ\": \"A\",\n          \"Ặ\": \"A\",\n          \"Ḁ\": \"A\",\n          \"Ą\": \"A\",\n          \"Ⱥ\": \"A\",\n          \"Ɐ\": \"A\",\n          \"Ꜳ\": \"AA\",\n          \"Æ\": \"AE\",\n          \"Ǽ\": \"AE\",\n          \"Ǣ\": \"AE\",\n          \"Ꜵ\": \"AO\",\n          \"Ꜷ\": \"AU\",\n          \"Ꜹ\": \"AV\",\n          \"Ꜻ\": \"AV\",\n          \"Ꜽ\": \"AY\",\n          \"Ⓑ\": \"B\",\n          \"Ｂ\": \"B\",\n          \"Ḃ\": \"B\",\n          \"Ḅ\": \"B\",\n          \"Ḇ\": \"B\",\n          \"Ƀ\": \"B\",\n          \"Ƃ\": \"B\",\n          \"Ɓ\": \"B\",\n          \"Ⓒ\": \"C\",\n          \"Ｃ\": \"C\",\n          \"Ć\": \"C\",\n          \"Ĉ\": \"C\",\n          \"Ċ\": \"C\",\n          \"Č\": \"C\",\n          \"Ç\": \"C\",\n          \"Ḉ\": \"C\",\n          \"Ƈ\": \"C\",\n          \"Ȼ\": \"C\",\n          \"Ꜿ\": \"C\",\n          \"Ⓓ\": \"D\",\n          \"Ｄ\": \"D\",\n          \"Ḋ\": \"D\",\n          \"Ď\": \"D\",\n          \"Ḍ\": \"D\",\n          \"Ḑ\": \"D\",\n          \"Ḓ\": \"D\",\n          \"Ḏ\": \"D\",\n          \"Đ\": \"D\",\n          \"Ƌ\": \"D\",\n          \"Ɗ\": \"D\",\n          \"Ɖ\": \"D\",\n          \"Ꝺ\": \"D\",\n          \"Ǳ\": \"DZ\",\n          \"Ǆ\": \"DZ\",\n          \"ǲ\": \"Dz\",\n          \"ǅ\": \"Dz\",\n          \"Ⓔ\": \"E\",\n          \"Ｅ\": \"E\",\n          \"È\": \"E\",\n          \"É\": \"E\",\n          \"Ê\": \"E\",\n          \"Ề\": \"E\",\n          \"Ế\": \"E\",\n          \"Ễ\": \"E\",\n          \"Ể\": \"E\",\n          \"Ẽ\": \"E\",\n          \"Ē\": \"E\",\n          \"Ḕ\": \"E\",\n          \"Ḗ\": \"E\",\n          \"Ĕ\": \"E\",\n          \"Ė\": \"E\",\n          \"Ë\": \"E\",\n          \"Ẻ\": \"E\",\n          \"Ě\": \"E\",\n          \"Ȅ\": \"E\",\n          \"Ȇ\": \"E\",\n          \"Ẹ\": \"E\",\n          \"Ệ\": \"E\",\n          \"Ȩ\": \"E\",\n          \"Ḝ\": \"E\",\n          \"Ę\": \"E\",\n          \"Ḙ\": \"E\",\n          \"Ḛ\": \"E\",\n          \"Ɛ\": \"E\",\n          \"Ǝ\": \"E\",\n          \"Ⓕ\": \"F\",\n          \"Ｆ\": \"F\",\n          \"Ḟ\": \"F\",\n          \"Ƒ\": \"F\",\n          \"Ꝼ\": \"F\",\n          \"Ⓖ\": \"G\",\n          \"Ｇ\": \"G\",\n          \"Ǵ\": \"G\",\n          \"Ĝ\": \"G\",\n          \"Ḡ\": \"G\",\n          \"Ğ\": \"G\",\n          \"Ġ\": \"G\",\n          \"Ǧ\": \"G\",\n          \"Ģ\": \"G\",\n          \"Ǥ\": \"G\",\n          \"Ɠ\": \"G\",\n          \"Ꞡ\": \"G\",\n          \"Ᵹ\": \"G\",\n          \"Ꝿ\": \"G\",\n          \"Ⓗ\": \"H\",\n          \"Ｈ\": \"H\",\n          \"Ĥ\": \"H\",\n          \"Ḣ\": \"H\",\n          \"Ḧ\": \"H\",\n          \"Ȟ\": \"H\",\n          \"Ḥ\": \"H\",\n          \"Ḩ\": \"H\",\n          \"Ḫ\": \"H\",\n          \"Ħ\": \"H\",\n          \"Ⱨ\": \"H\",\n          \"Ⱶ\": \"H\",\n          \"Ɥ\": \"H\",\n          \"Ⓘ\": \"I\",\n          \"Ｉ\": \"I\",\n          \"Ì\": \"I\",\n          \"Í\": \"I\",\n          \"Î\": \"I\",\n          \"Ĩ\": \"I\",\n          \"Ī\": \"I\",\n          \"Ĭ\": \"I\",\n          \"İ\": \"I\",\n          \"Ï\": \"I\",\n          \"Ḯ\": \"I\",\n          \"Ỉ\": \"I\",\n          \"Ǐ\": \"I\",\n          \"Ȉ\": \"I\",\n          \"Ȋ\": \"I\",\n          \"Ị\": \"I\",\n          \"Į\": \"I\",\n          \"Ḭ\": \"I\",\n          \"Ɨ\": \"I\",\n          \"Ⓙ\": \"J\",\n          \"Ｊ\": \"J\",\n          \"Ĵ\": \"J\",\n          \"Ɉ\": \"J\",\n          \"Ⓚ\": \"K\",\n          \"Ｋ\": \"K\",\n          \"Ḱ\": \"K\",\n          \"Ǩ\": \"K\",\n          \"Ḳ\": \"K\",\n          \"Ķ\": \"K\",\n          \"Ḵ\": \"K\",\n          \"Ƙ\": \"K\",\n          \"Ⱪ\": \"K\",\n          \"Ꝁ\": \"K\",\n          \"Ꝃ\": \"K\",\n          \"Ꝅ\": \"K\",\n          \"Ꞣ\": \"K\",\n          \"Ⓛ\": \"L\",\n          \"Ｌ\": \"L\",\n          \"Ŀ\": \"L\",\n          \"Ĺ\": \"L\",\n          \"Ľ\": \"L\",\n          \"Ḷ\": \"L\",\n          \"Ḹ\": \"L\",\n          \"Ļ\": \"L\",\n          \"Ḽ\": \"L\",\n          \"Ḻ\": \"L\",\n          \"Ł\": \"L\",\n          \"Ƚ\": \"L\",\n          \"Ɫ\": \"L\",\n          \"Ⱡ\": \"L\",\n          \"Ꝉ\": \"L\",\n          \"Ꝇ\": \"L\",\n          \"Ꞁ\": \"L\",\n          \"Ǉ\": \"LJ\",\n          \"ǈ\": \"Lj\",\n          \"Ⓜ\": \"M\",\n          \"Ｍ\": \"M\",\n          \"Ḿ\": \"M\",\n          \"Ṁ\": \"M\",\n          \"Ṃ\": \"M\",\n          \"Ɱ\": \"M\",\n          \"Ɯ\": \"M\",\n          \"Ⓝ\": \"N\",\n          \"Ｎ\": \"N\",\n          \"Ǹ\": \"N\",\n          \"Ń\": \"N\",\n          \"Ñ\": \"N\",\n          \"Ṅ\": \"N\",\n          \"Ň\": \"N\",\n          \"Ṇ\": \"N\",\n          \"Ņ\": \"N\",\n          \"Ṋ\": \"N\",\n          \"Ṉ\": \"N\",\n          \"Ƞ\": \"N\",\n          \"Ɲ\": \"N\",\n          \"Ꞑ\": \"N\",\n          \"Ꞥ\": \"N\",\n          \"Ǌ\": \"NJ\",\n          \"ǋ\": \"Nj\",\n          \"Ⓞ\": \"O\",\n          \"Ｏ\": \"O\",\n          \"Ò\": \"O\",\n          \"Ó\": \"O\",\n          \"Ô\": \"O\",\n          \"Ồ\": \"O\",\n          \"Ố\": \"O\",\n          \"Ỗ\": \"O\",\n          \"Ổ\": \"O\",\n          \"Õ\": \"O\",\n          \"Ṍ\": \"O\",\n          \"Ȭ\": \"O\",\n          \"Ṏ\": \"O\",\n          \"Ō\": \"O\",\n          \"Ṑ\": \"O\",\n          \"Ṓ\": \"O\",\n          \"Ŏ\": \"O\",\n          \"Ȯ\": \"O\",\n          \"Ȱ\": \"O\",\n          \"Ö\": \"O\",\n          \"Ȫ\": \"O\",\n          \"Ỏ\": \"O\",\n          \"Ő\": \"O\",\n          \"Ǒ\": \"O\",\n          \"Ȍ\": \"O\",\n          \"Ȏ\": \"O\",\n          \"Ơ\": \"O\",\n          \"Ờ\": \"O\",\n          \"Ớ\": \"O\",\n          \"Ỡ\": \"O\",\n          \"Ở\": \"O\",\n          \"Ợ\": \"O\",\n          \"Ọ\": \"O\",\n          \"Ộ\": \"O\",\n          \"Ǫ\": \"O\",\n          \"Ǭ\": \"O\",\n          \"Ø\": \"O\",\n          \"Ǿ\": \"O\",\n          \"Ɔ\": \"O\",\n          \"Ɵ\": \"O\",\n          \"Ꝋ\": \"O\",\n          \"Ꝍ\": \"O\",\n          \"Œ\": \"OE\",\n          \"Ƣ\": \"OI\",\n          \"Ꝏ\": \"OO\",\n          \"Ȣ\": \"OU\",\n          \"Ⓟ\": \"P\",\n          \"Ｐ\": \"P\",\n          \"Ṕ\": \"P\",\n          \"Ṗ\": \"P\",\n          \"Ƥ\": \"P\",\n          \"Ᵽ\": \"P\",\n          \"Ꝑ\": \"P\",\n          \"Ꝓ\": \"P\",\n          \"Ꝕ\": \"P\",\n          \"Ⓠ\": \"Q\",\n          \"Ｑ\": \"Q\",\n          \"Ꝗ\": \"Q\",\n          \"Ꝙ\": \"Q\",\n          \"Ɋ\": \"Q\",\n          \"Ⓡ\": \"R\",\n          \"Ｒ\": \"R\",\n          \"Ŕ\": \"R\",\n          \"Ṙ\": \"R\",\n          \"Ř\": \"R\",\n          \"Ȑ\": \"R\",\n          \"Ȓ\": \"R\",\n          \"Ṛ\": \"R\",\n          \"Ṝ\": \"R\",\n          \"Ŗ\": \"R\",\n          \"Ṟ\": \"R\",\n          \"Ɍ\": \"R\",\n          \"Ɽ\": \"R\",\n          \"Ꝛ\": \"R\",\n          \"Ꞧ\": \"R\",\n          \"Ꞃ\": \"R\",\n          \"Ⓢ\": \"S\",\n          \"Ｓ\": \"S\",\n          \"ẞ\": \"S\",\n          \"Ś\": \"S\",\n          \"Ṥ\": \"S\",\n          \"Ŝ\": \"S\",\n          \"Ṡ\": \"S\",\n          \"Š\": \"S\",\n          \"Ṧ\": \"S\",\n          \"Ṣ\": \"S\",\n          \"Ṩ\": \"S\",\n          \"Ș\": \"S\",\n          \"Ş\": \"S\",\n          \"Ȿ\": \"S\",\n          \"Ꞩ\": \"S\",\n          \"Ꞅ\": \"S\",\n          \"Ⓣ\": \"T\",\n          \"Ｔ\": \"T\",\n          \"Ṫ\": \"T\",\n          \"Ť\": \"T\",\n          \"Ṭ\": \"T\",\n          \"Ț\": \"T\",\n          \"Ţ\": \"T\",\n          \"Ṱ\": \"T\",\n          \"Ṯ\": \"T\",\n          \"Ŧ\": \"T\",\n          \"Ƭ\": \"T\",\n          \"Ʈ\": \"T\",\n          \"Ⱦ\": \"T\",\n          \"Ꞇ\": \"T\",\n          \"Ꜩ\": \"TZ\",\n          \"Ⓤ\": \"U\",\n          \"Ｕ\": \"U\",\n          \"Ù\": \"U\",\n          \"Ú\": \"U\",\n          \"Û\": \"U\",\n          \"Ũ\": \"U\",\n          \"Ṹ\": \"U\",\n          \"Ū\": \"U\",\n          \"Ṻ\": \"U\",\n          \"Ŭ\": \"U\",\n          \"Ü\": \"U\",\n          \"Ǜ\": \"U\",\n          \"Ǘ\": \"U\",\n          \"Ǖ\": \"U\",\n          \"Ǚ\": \"U\",\n          \"Ủ\": \"U\",\n          \"Ů\": \"U\",\n          \"Ű\": \"U\",\n          \"Ǔ\": \"U\",\n          \"Ȕ\": \"U\",\n          \"Ȗ\": \"U\",\n          \"Ư\": \"U\",\n          \"Ừ\": \"U\",\n          \"Ứ\": \"U\",\n          \"Ữ\": \"U\",\n          \"Ử\": \"U\",\n          \"Ự\": \"U\",\n          \"Ụ\": \"U\",\n          \"Ṳ\": \"U\",\n          \"Ų\": \"U\",\n          \"Ṷ\": \"U\",\n          \"Ṵ\": \"U\",\n          \"Ʉ\": \"U\",\n          \"Ⓥ\": \"V\",\n          \"Ｖ\": \"V\",\n          \"Ṽ\": \"V\",\n          \"Ṿ\": \"V\",\n          \"Ʋ\": \"V\",\n          \"Ꝟ\": \"V\",\n          \"Ʌ\": \"V\",\n          \"Ꝡ\": \"VY\",\n          \"Ⓦ\": \"W\",\n          \"Ｗ\": \"W\",\n          \"Ẁ\": \"W\",\n          \"Ẃ\": \"W\",\n          \"Ŵ\": \"W\",\n          \"Ẇ\": \"W\",\n          \"Ẅ\": \"W\",\n          \"Ẉ\": \"W\",\n          \"Ⱳ\": \"W\",\n          \"Ⓧ\": \"X\",\n          \"Ｘ\": \"X\",\n          \"Ẋ\": \"X\",\n          \"Ẍ\": \"X\",\n          \"Ⓨ\": \"Y\",\n          \"Ｙ\": \"Y\",\n          \"Ỳ\": \"Y\",\n          \"Ý\": \"Y\",\n          \"Ŷ\": \"Y\",\n          \"Ỹ\": \"Y\",\n          \"Ȳ\": \"Y\",\n          \"Ẏ\": \"Y\",\n          \"Ÿ\": \"Y\",\n          \"Ỷ\": \"Y\",\n          \"Ỵ\": \"Y\",\n          \"Ƴ\": \"Y\",\n          \"Ɏ\": \"Y\",\n          \"Ỿ\": \"Y\",\n          \"Ⓩ\": \"Z\",\n          \"Ｚ\": \"Z\",\n          \"Ź\": \"Z\",\n          \"Ẑ\": \"Z\",\n          \"Ż\": \"Z\",\n          \"Ž\": \"Z\",\n          \"Ẓ\": \"Z\",\n          \"Ẕ\": \"Z\",\n          \"Ƶ\": \"Z\",\n          \"Ȥ\": \"Z\",\n          \"Ɀ\": \"Z\",\n          \"Ⱬ\": \"Z\",\n          \"Ꝣ\": \"Z\",\n          \"ⓐ\": \"a\",\n          \"ａ\": \"a\",\n          \"ẚ\": \"a\",\n          \"à\": \"a\",\n          \"á\": \"a\",\n          \"â\": \"a\",\n          \"ầ\": \"a\",\n          \"ấ\": \"a\",\n          \"ẫ\": \"a\",\n          \"ẩ\": \"a\",\n          \"ã\": \"a\",\n          \"ā\": \"a\",\n          \"ă\": \"a\",\n          \"ằ\": \"a\",\n          \"ắ\": \"a\",\n          \"ẵ\": \"a\",\n          \"ẳ\": \"a\",\n          \"ȧ\": \"a\",\n          \"ǡ\": \"a\",\n          \"ä\": \"a\",\n          \"ǟ\": \"a\",\n          \"ả\": \"a\",\n          \"å\": \"a\",\n          \"ǻ\": \"a\",\n          \"ǎ\": \"a\",\n          \"ȁ\": \"a\",\n          \"ȃ\": \"a\",\n          \"ạ\": \"a\",\n          \"ậ\": \"a\",\n          \"ặ\": \"a\",\n          \"ḁ\": \"a\",\n          \"ą\": \"a\",\n          \"ⱥ\": \"a\",\n          \"ɐ\": \"a\",\n          \"ꜳ\": \"aa\",\n          \"æ\": \"ae\",\n          \"ǽ\": \"ae\",\n          \"ǣ\": \"ae\",\n          \"ꜵ\": \"ao\",\n          \"ꜷ\": \"au\",\n          \"ꜹ\": \"av\",\n          \"ꜻ\": \"av\",\n          \"ꜽ\": \"ay\",\n          \"ⓑ\": \"b\",\n          \"ｂ\": \"b\",\n          \"ḃ\": \"b\",\n          \"ḅ\": \"b\",\n          \"ḇ\": \"b\",\n          \"ƀ\": \"b\",\n          \"ƃ\": \"b\",\n          \"ɓ\": \"b\",\n          \"ⓒ\": \"c\",\n          \"ｃ\": \"c\",\n          \"ć\": \"c\",\n          \"ĉ\": \"c\",\n          \"ċ\": \"c\",\n          \"č\": \"c\",\n          \"ç\": \"c\",\n          \"ḉ\": \"c\",\n          \"ƈ\": \"c\",\n          \"ȼ\": \"c\",\n          \"ꜿ\": \"c\",\n          \"ↄ\": \"c\",\n          \"ⓓ\": \"d\",\n          \"ｄ\": \"d\",\n          \"ḋ\": \"d\",\n          \"ď\": \"d\",\n          \"ḍ\": \"d\",\n          \"ḑ\": \"d\",\n          \"ḓ\": \"d\",\n          \"ḏ\": \"d\",\n          \"đ\": \"d\",\n          \"ƌ\": \"d\",\n          \"ɖ\": \"d\",\n          \"ɗ\": \"d\",\n          \"ꝺ\": \"d\",\n          \"ǳ\": \"dz\",\n          \"ǆ\": \"dz\",\n          \"ⓔ\": \"e\",\n          \"ｅ\": \"e\",\n          \"è\": \"e\",\n          \"é\": \"e\",\n          \"ê\": \"e\",\n          \"ề\": \"e\",\n          \"ế\": \"e\",\n          \"ễ\": \"e\",\n          \"ể\": \"e\",\n          \"ẽ\": \"e\",\n          \"ē\": \"e\",\n          \"ḕ\": \"e\",\n          \"ḗ\": \"e\",\n          \"ĕ\": \"e\",\n          \"ė\": \"e\",\n          \"ë\": \"e\",\n          \"ẻ\": \"e\",\n          \"ě\": \"e\",\n          \"ȅ\": \"e\",\n          \"ȇ\": \"e\",\n          \"ẹ\": \"e\",\n          \"ệ\": \"e\",\n          \"ȩ\": \"e\",\n          \"ḝ\": \"e\",\n          \"ę\": \"e\",\n          \"ḙ\": \"e\",\n          \"ḛ\": \"e\",\n          \"ɇ\": \"e\",\n          \"ɛ\": \"e\",\n          \"ǝ\": \"e\",\n          \"ⓕ\": \"f\",\n          \"ｆ\": \"f\",\n          \"ḟ\": \"f\",\n          \"ƒ\": \"f\",\n          \"ꝼ\": \"f\",\n          \"ⓖ\": \"g\",\n          \"ｇ\": \"g\",\n          \"ǵ\": \"g\",\n          \"ĝ\": \"g\",\n          \"ḡ\": \"g\",\n          \"ğ\": \"g\",\n          \"ġ\": \"g\",\n          \"ǧ\": \"g\",\n          \"ģ\": \"g\",\n          \"ǥ\": \"g\",\n          \"ɠ\": \"g\",\n          \"ꞡ\": \"g\",\n          \"ᵹ\": \"g\",\n          \"ꝿ\": \"g\",\n          \"ⓗ\": \"h\",\n          \"ｈ\": \"h\",\n          \"ĥ\": \"h\",\n          \"ḣ\": \"h\",\n          \"ḧ\": \"h\",\n          \"ȟ\": \"h\",\n          \"ḥ\": \"h\",\n          \"ḩ\": \"h\",\n          \"ḫ\": \"h\",\n          \"ẖ\": \"h\",\n          \"ħ\": \"h\",\n          \"ⱨ\": \"h\",\n          \"ⱶ\": \"h\",\n          \"ɥ\": \"h\",\n          \"ƕ\": \"hv\",\n          \"ⓘ\": \"i\",\n          \"ｉ\": \"i\",\n          \"ì\": \"i\",\n          \"í\": \"i\",\n          \"î\": \"i\",\n          \"ĩ\": \"i\",\n          \"ī\": \"i\",\n          \"ĭ\": \"i\",\n          \"ï\": \"i\",\n          \"ḯ\": \"i\",\n          \"ỉ\": \"i\",\n          \"ǐ\": \"i\",\n          \"ȉ\": \"i\",\n          \"ȋ\": \"i\",\n          \"ị\": \"i\",\n          \"į\": \"i\",\n          \"ḭ\": \"i\",\n          \"ɨ\": \"i\",\n          \"ı\": \"i\",\n          \"ⓙ\": \"j\",\n          \"ｊ\": \"j\",\n          \"ĵ\": \"j\",\n          \"ǰ\": \"j\",\n          \"ɉ\": \"j\",\n          \"ⓚ\": \"k\",\n          \"ｋ\": \"k\",\n          \"ḱ\": \"k\",\n          \"ǩ\": \"k\",\n          \"ḳ\": \"k\",\n          \"ķ\": \"k\",\n          \"ḵ\": \"k\",\n          \"ƙ\": \"k\",\n          \"ⱪ\": \"k\",\n          \"ꝁ\": \"k\",\n          \"ꝃ\": \"k\",\n          \"ꝅ\": \"k\",\n          \"ꞣ\": \"k\",\n          \"ⓛ\": \"l\",\n          \"ｌ\": \"l\",\n          \"ŀ\": \"l\",\n          \"ĺ\": \"l\",\n          \"ľ\": \"l\",\n          \"ḷ\": \"l\",\n          \"ḹ\": \"l\",\n          \"ļ\": \"l\",\n          \"ḽ\": \"l\",\n          \"ḻ\": \"l\",\n          \"ſ\": \"l\",\n          \"ł\": \"l\",\n          \"ƚ\": \"l\",\n          \"ɫ\": \"l\",\n          \"ⱡ\": \"l\",\n          \"ꝉ\": \"l\",\n          \"ꞁ\": \"l\",\n          \"ꝇ\": \"l\",\n          \"ǉ\": \"lj\",\n          \"ⓜ\": \"m\",\n          \"ｍ\": \"m\",\n          \"ḿ\": \"m\",\n          \"ṁ\": \"m\",\n          \"ṃ\": \"m\",\n          \"ɱ\": \"m\",\n          \"ɯ\": \"m\",\n          \"ⓝ\": \"n\",\n          \"ｎ\": \"n\",\n          \"ǹ\": \"n\",\n          \"ń\": \"n\",\n          \"ñ\": \"n\",\n          \"ṅ\": \"n\",\n          \"ň\": \"n\",\n          \"ṇ\": \"n\",\n          \"ņ\": \"n\",\n          \"ṋ\": \"n\",\n          \"ṉ\": \"n\",\n          \"ƞ\": \"n\",\n          \"ɲ\": \"n\",\n          \"ŉ\": \"n\",\n          \"ꞑ\": \"n\",\n          \"ꞥ\": \"n\",\n          \"ǌ\": \"nj\",\n          \"ⓞ\": \"o\",\n          \"ｏ\": \"o\",\n          \"ò\": \"o\",\n          \"ó\": \"o\",\n          \"ô\": \"o\",\n          \"ồ\": \"o\",\n          \"ố\": \"o\",\n          \"ỗ\": \"o\",\n          \"ổ\": \"o\",\n          \"õ\": \"o\",\n          \"ṍ\": \"o\",\n          \"ȭ\": \"o\",\n          \"ṏ\": \"o\",\n          \"ō\": \"o\",\n          \"ṑ\": \"o\",\n          \"ṓ\": \"o\",\n          \"ŏ\": \"o\",\n          \"ȯ\": \"o\",\n          \"ȱ\": \"o\",\n          \"ö\": \"o\",\n          \"ȫ\": \"o\",\n          \"ỏ\": \"o\",\n          \"ő\": \"o\",\n          \"ǒ\": \"o\",\n          \"ȍ\": \"o\",\n          \"ȏ\": \"o\",\n          \"ơ\": \"o\",\n          \"ờ\": \"o\",\n          \"ớ\": \"o\",\n          \"ỡ\": \"o\",\n          \"ở\": \"o\",\n          \"ợ\": \"o\",\n          \"ọ\": \"o\",\n          \"ộ\": \"o\",\n          \"ǫ\": \"o\",\n          \"ǭ\": \"o\",\n          \"ø\": \"o\",\n          \"ǿ\": \"o\",\n          \"ɔ\": \"o\",\n          \"ꝋ\": \"o\",\n          \"ꝍ\": \"o\",\n          \"ɵ\": \"o\",\n          \"œ\": \"oe\",\n          \"ƣ\": \"oi\",\n          \"ȣ\": \"ou\",\n          \"ꝏ\": \"oo\",\n          \"ⓟ\": \"p\",\n          \"ｐ\": \"p\",\n          \"ṕ\": \"p\",\n          \"ṗ\": \"p\",\n          \"ƥ\": \"p\",\n          \"ᵽ\": \"p\",\n          \"ꝑ\": \"p\",\n          \"ꝓ\": \"p\",\n          \"ꝕ\": \"p\",\n          \"ⓠ\": \"q\",\n          \"ｑ\": \"q\",\n          \"ɋ\": \"q\",\n          \"ꝗ\": \"q\",\n          \"ꝙ\": \"q\",\n          \"ⓡ\": \"r\",\n          \"ｒ\": \"r\",\n          \"ŕ\": \"r\",\n          \"ṙ\": \"r\",\n          \"ř\": \"r\",\n          \"ȑ\": \"r\",\n          \"ȓ\": \"r\",\n          \"ṛ\": \"r\",\n          \"ṝ\": \"r\",\n          \"ŗ\": \"r\",\n          \"ṟ\": \"r\",\n          \"ɍ\": \"r\",\n          \"ɽ\": \"r\",\n          \"ꝛ\": \"r\",\n          \"ꞧ\": \"r\",\n          \"ꞃ\": \"r\",\n          \"ⓢ\": \"s\",\n          \"ｓ\": \"s\",\n          \"ß\": \"s\",\n          \"ś\": \"s\",\n          \"ṥ\": \"s\",\n          \"ŝ\": \"s\",\n          \"ṡ\": \"s\",\n          \"š\": \"s\",\n          \"ṧ\": \"s\",\n          \"ṣ\": \"s\",\n          \"ṩ\": \"s\",\n          \"ș\": \"s\",\n          \"ş\": \"s\",\n          \"ȿ\": \"s\",\n          \"ꞩ\": \"s\",\n          \"ꞅ\": \"s\",\n          \"ẛ\": \"s\",\n          \"ⓣ\": \"t\",\n          \"ｔ\": \"t\",\n          \"ṫ\": \"t\",\n          \"ẗ\": \"t\",\n          \"ť\": \"t\",\n          \"ṭ\": \"t\",\n          \"ț\": \"t\",\n          \"ţ\": \"t\",\n          \"ṱ\": \"t\",\n          \"ṯ\": \"t\",\n          \"ŧ\": \"t\",\n          \"ƭ\": \"t\",\n          \"ʈ\": \"t\",\n          \"ⱦ\": \"t\",\n          \"ꞇ\": \"t\",\n          \"ꜩ\": \"tz\",\n          \"ⓤ\": \"u\",\n          \"ｕ\": \"u\",\n          \"ù\": \"u\",\n          \"ú\": \"u\",\n          \"û\": \"u\",\n          \"ũ\": \"u\",\n          \"ṹ\": \"u\",\n          \"ū\": \"u\",\n          \"ṻ\": \"u\",\n          \"ŭ\": \"u\",\n          \"ü\": \"u\",\n          \"ǜ\": \"u\",\n          \"ǘ\": \"u\",\n          \"ǖ\": \"u\",\n          \"ǚ\": \"u\",\n          \"ủ\": \"u\",\n          \"ů\": \"u\",\n          \"ű\": \"u\",\n          \"ǔ\": \"u\",\n          \"ȕ\": \"u\",\n          \"ȗ\": \"u\",\n          \"ư\": \"u\",\n          \"ừ\": \"u\",\n          \"ứ\": \"u\",\n          \"ữ\": \"u\",\n          \"ử\": \"u\",\n          \"ự\": \"u\",\n          \"ụ\": \"u\",\n          \"ṳ\": \"u\",\n          \"ų\": \"u\",\n          \"ṷ\": \"u\",\n          \"ṵ\": \"u\",\n          \"ʉ\": \"u\",\n          \"ⓥ\": \"v\",\n          \"ｖ\": \"v\",\n          \"ṽ\": \"v\",\n          \"ṿ\": \"v\",\n          \"ʋ\": \"v\",\n          \"ꝟ\": \"v\",\n          \"ʌ\": \"v\",\n          \"ꝡ\": \"vy\",\n          \"ⓦ\": \"w\",\n          \"ｗ\": \"w\",\n          \"ẁ\": \"w\",\n          \"ẃ\": \"w\",\n          \"ŵ\": \"w\",\n          \"ẇ\": \"w\",\n          \"ẅ\": \"w\",\n          \"ẘ\": \"w\",\n          \"ẉ\": \"w\",\n          \"ⱳ\": \"w\",\n          \"ⓧ\": \"x\",\n          \"ｘ\": \"x\",\n          \"ẋ\": \"x\",\n          \"ẍ\": \"x\",\n          \"ⓨ\": \"y\",\n          \"ｙ\": \"y\",\n          \"ỳ\": \"y\",\n          \"ý\": \"y\",\n          \"ŷ\": \"y\",\n          \"ỹ\": \"y\",\n          \"ȳ\": \"y\",\n          \"ẏ\": \"y\",\n          \"ÿ\": \"y\",\n          \"ỷ\": \"y\",\n          \"ẙ\": \"y\",\n          \"ỵ\": \"y\",\n          \"ƴ\": \"y\",\n          \"ɏ\": \"y\",\n          \"ỿ\": \"y\",\n          \"ⓩ\": \"z\",\n          \"ｚ\": \"z\",\n          \"ź\": \"z\",\n          \"ẑ\": \"z\",\n          \"ż\": \"z\",\n          \"ž\": \"z\",\n          \"ẓ\": \"z\",\n          \"ẕ\": \"z\",\n          \"ƶ\": \"z\",\n          \"ȥ\": \"z\",\n          \"ɀ\": \"z\",\n          \"ⱬ\": \"z\",\n          \"ꝣ\": \"z\",\n          \"Ά\": \"Α\",\n          \"Έ\": \"Ε\",\n          \"Ή\": \"Η\",\n          \"Ί\": \"Ι\",\n          \"Ϊ\": \"Ι\",\n          \"Ό\": \"Ο\",\n          \"Ύ\": \"Υ\",\n          \"Ϋ\": \"Υ\",\n          \"Ώ\": \"Ω\",\n          \"ά\": \"α\",\n          \"έ\": \"ε\",\n          \"ή\": \"η\",\n          \"ί\": \"ι\",\n          \"ϊ\": \"ι\",\n          \"ΐ\": \"ι\",\n          \"ό\": \"ο\",\n          \"ύ\": \"υ\",\n          \"ϋ\": \"υ\",\n          \"ΰ\": \"υ\",\n          \"ώ\": \"ω\",\n          \"ς\": \"σ\",\n          \"’\": \"'\"\n        };\n      }), u.define(\"select2/data/base\", [\"../utils\"], function (n) {\n        function s(e, t) {\n          s.__super__.constructor.call(this);\n        }\n        return n.Extend(s, n.Observable), s.prototype.current = function (e) {\n          throw new Error(\"The `current` method must be defined in child classes.\");\n        }, s.prototype.query = function (e, t) {\n          throw new Error(\"The `query` method must be defined in child classes.\");\n        }, s.prototype.bind = function (e, t) {}, s.prototype.destroy = function () {}, s.prototype.generateResultId = function (e, t) {\n          e = e.id + \"-result-\";\n          return e += n.generateChars(4), null != t.id ? e += \"-\" + t.id.toString() : e += \"-\" + n.generateChars(4), e;\n        }, s;\n      }), u.define(\"select2/data/select\", [\"./base\", \"../utils\", \"jquery\"], function (e, a, l) {\n        function n(e, t) {\n          this.$element = e, this.options = t, n.__super__.constructor.call(this);\n        }\n        return a.Extend(n, e), n.prototype.current = function (e) {\n          var t = this;\n          e(Array.prototype.map.call(this.$element[0].querySelectorAll(\":checked\"), function (e) {\n            return t.item(l(e));\n          }));\n        }, n.prototype.select = function (i) {\n          var e,\n            r = this;\n          if (i.selected = !0, null != i.element && \"option\" === i.element.tagName.toLowerCase()) return i.element.selected = !0, void this.$element.trigger(\"input\").trigger(\"change\");\n          this.$element.prop(\"multiple\") ? this.current(function (e) {\n            var t = [];\n            (i = [i]).push.apply(i, e);\n            for (var n = 0; n < i.length; n++) {\n              var s = i[n].id;\n              -1 === t.indexOf(s) && t.push(s);\n            }\n            r.$element.val(t), r.$element.trigger(\"input\").trigger(\"change\");\n          }) : (e = i.id, this.$element.val(e), this.$element.trigger(\"input\").trigger(\"change\"));\n        }, n.prototype.unselect = function (i) {\n          var r = this;\n          if (this.$element.prop(\"multiple\")) {\n            if (i.selected = !1, null != i.element && \"option\" === i.element.tagName.toLowerCase()) return i.element.selected = !1, void this.$element.trigger(\"input\").trigger(\"change\");\n            this.current(function (e) {\n              for (var t = [], n = 0; n < e.length; n++) {\n                var s = e[n].id;\n                s !== i.id && -1 === t.indexOf(s) && t.push(s);\n              }\n              r.$element.val(t), r.$element.trigger(\"input\").trigger(\"change\");\n            });\n          }\n        }, n.prototype.bind = function (e, t) {\n          var n = this;\n          (this.container = e).on(\"select\", function (e) {\n            n.select(e.data);\n          }), e.on(\"unselect\", function (e) {\n            n.unselect(e.data);\n          });\n        }, n.prototype.destroy = function () {\n          this.$element.find(\"*\").each(function () {\n            a.RemoveData(this);\n          });\n        }, n.prototype.query = function (t, e) {\n          var n = [],\n            s = this;\n          this.$element.children().each(function () {\n            var e;\n            \"option\" !== this.tagName.toLowerCase() && \"optgroup\" !== this.tagName.toLowerCase() || (e = l(this), e = s.item(e), null !== (e = s.matches(t, e)) && n.push(e));\n          }), e({\n            results: n\n          });\n        }, n.prototype.addOptions = function (e) {\n          this.$element.append(e);\n        }, n.prototype.option = function (e) {\n          var t;\n          e.children ? (t = document.createElement(\"optgroup\")).label = e.text : void 0 !== (t = document.createElement(\"option\")).textContent ? t.textContent = e.text : t.innerText = e.text, void 0 !== e.id && (t.value = e.id), e.disabled && (t.disabled = !0), e.selected && (t.selected = !0), e.title && (t.title = e.title);\n          e = this._normalizeItem(e);\n          return e.element = t, a.StoreData(t, \"data\", e), l(t);\n        }, n.prototype.item = function (e) {\n          var t = {};\n          if (null != (t = a.GetData(e[0], \"data\"))) return t;\n          var n = e[0];\n          if (\"option\" === n.tagName.toLowerCase()) t = {\n            id: e.val(),\n            text: e.text(),\n            disabled: e.prop(\"disabled\"),\n            selected: e.prop(\"selected\"),\n            title: e.prop(\"title\")\n          };else if (\"optgroup\" === n.tagName.toLowerCase()) {\n            t = {\n              text: e.prop(\"label\"),\n              children: [],\n              title: e.prop(\"title\")\n            };\n            for (var s = e.children(\"option\"), i = [], r = 0; r < s.length; r++) {\n              var o = l(s[r]),\n                o = this.item(o);\n              i.push(o);\n            }\n            t.children = i;\n          }\n          return (t = this._normalizeItem(t)).element = e[0], a.StoreData(e[0], \"data\", t), t;\n        }, n.prototype._normalizeItem = function (e) {\n          e !== Object(e) && (e = {\n            id: e,\n            text: e\n          });\n          return null != (e = l.extend({}, {\n            text: \"\"\n          }, e)).id && (e.id = e.id.toString()), null != e.text && (e.text = e.text.toString()), null == e._resultId && e.id && null != this.container && (e._resultId = this.generateResultId(this.container, e)), l.extend({}, {\n            selected: !1,\n            disabled: !1\n          }, e);\n        }, n.prototype.matches = function (e, t) {\n          return this.options.get(\"matcher\")(e, t);\n        }, n;\n      }), u.define(\"select2/data/array\", [\"./select\", \"../utils\", \"jquery\"], function (e, t, c) {\n        function s(e, t) {\n          this._dataToConvert = t.get(\"data\") || [], s.__super__.constructor.call(this, e, t);\n        }\n        return t.Extend(s, e), s.prototype.bind = function (e, t) {\n          s.__super__.bind.call(this, e, t), this.addOptions(this.convertToOptions(this._dataToConvert));\n        }, s.prototype.select = function (n) {\n          var e = this.$element.find(\"option\").filter(function (e, t) {\n            return t.value == n.id.toString();\n          });\n          0 === e.length && (e = this.option(n), this.addOptions(e)), s.__super__.select.call(this, n);\n        }, s.prototype.convertToOptions = function (e) {\n          var t = this,\n            n = this.$element.find(\"option\"),\n            s = n.map(function () {\n              return t.item(c(this)).id;\n            }).get(),\n            i = [];\n          for (var r = 0; r < e.length; r++) {\n            var o,\n              a,\n              l = this._normalizeItem(e[r]);\n            0 <= s.indexOf(l.id) ? (o = n.filter(function (e) {\n              return function () {\n                return c(this).val() == e.id;\n              };\n            }(l)), a = this.item(o), a = c.extend(!0, {}, l, a), a = this.option(a), o.replaceWith(a)) : (a = this.option(l), l.children && (l = this.convertToOptions(l.children), a.append(l)), i.push(a));\n          }\n          return i;\n        }, s;\n      }), u.define(\"select2/data/ajax\", [\"./array\", \"../utils\", \"jquery\"], function (e, t, r) {\n        function n(e, t) {\n          this.ajaxOptions = this._applyDefaults(t.get(\"ajax\")), null != this.ajaxOptions.processResults && (this.processResults = this.ajaxOptions.processResults), n.__super__.constructor.call(this, e, t);\n        }\n        return t.Extend(n, e), n.prototype._applyDefaults = function (e) {\n          var t = {\n            data: function (e) {\n              return r.extend({}, e, {\n                q: e.term\n              });\n            },\n            transport: function (e, t, n) {\n              e = r.ajax(e);\n              return e.then(t), e.fail(n), e;\n            }\n          };\n          return r.extend({}, t, e, !0);\n        }, n.prototype.processResults = function (e) {\n          return e;\n        }, n.prototype.query = function (t, n) {\n          var s = this;\n          null != this._request && (\"function\" == typeof this._request.abort && this._request.abort(), this._request = null);\n          var i = r.extend({\n            type: \"GET\"\n          }, this.ajaxOptions);\n          function e() {\n            var e = i.transport(i, function (e) {\n              e = s.processResults(e, t);\n              s.options.get(\"debug\") && window.console && console.error && (e && e.results && Array.isArray(e.results) || console.error(\"Select2: The AJAX results did not return an array in the `results` key of the response.\")), n(e);\n            }, function () {\n              \"status\" in e && (0 === e.status || \"0\" === e.status) || s.trigger(\"results:message\", {\n                message: \"errorLoading\"\n              });\n            });\n            s._request = e;\n          }\n          \"function\" == typeof i.url && (i.url = i.url.call(this.$element, t)), \"function\" == typeof i.data && (i.data = i.data.call(this.$element, t)), this.ajaxOptions.delay && null != t.term ? (this._queryTimeout && window.clearTimeout(this._queryTimeout), this._queryTimeout = window.setTimeout(e, this.ajaxOptions.delay)) : e();\n        }, n;\n      }), u.define(\"select2/data/tags\", [\"jquery\"], function (t) {\n        function e(e, t, n) {\n          var s = n.get(\"tags\"),\n            i = n.get(\"createTag\");\n          void 0 !== i && (this.createTag = i);\n          i = n.get(\"insertTag\");\n          if (void 0 !== i && (this.insertTag = i), e.call(this, t, n), Array.isArray(s)) for (var r = 0; r < s.length; r++) {\n            var o = s[r],\n              o = this._normalizeItem(o),\n              o = this.option(o);\n            this.$element.append(o);\n          }\n        }\n        return e.prototype.query = function (e, c, u) {\n          var d = this;\n          this._removeOldTags(), null != c.term && null == c.page ? e.call(this, c, function e(t, n) {\n            for (var s = t.results, i = 0; i < s.length; i++) {\n              var r = s[i],\n                o = null != r.children && !e({\n                  results: r.children\n                }, !0);\n              if ((r.text || \"\").toUpperCase() === (c.term || \"\").toUpperCase() || o) return !n && (t.data = s, void u(t));\n            }\n            if (n) return !0;\n            var a,\n              l = d.createTag(c);\n            null != l && ((a = d.option(l)).attr(\"data-select2-tag\", \"true\"), d.addOptions([a]), d.insertTag(s, l)), t.results = s, u(t);\n          }) : e.call(this, c, u);\n        }, e.prototype.createTag = function (e, t) {\n          if (null == t.term) return null;\n          t = t.term.trim();\n          return \"\" === t ? null : {\n            id: t,\n            text: t\n          };\n        }, e.prototype.insertTag = function (e, t, n) {\n          t.unshift(n);\n        }, e.prototype._removeOldTags = function (e) {\n          this.$element.find(\"option[data-select2-tag]\").each(function () {\n            this.selected || t(this).remove();\n          });\n        }, e;\n      }), u.define(\"select2/data/tokenizer\", [\"jquery\"], function (c) {\n        function e(e, t, n) {\n          var s = n.get(\"tokenizer\");\n          void 0 !== s && (this.tokenizer = s), e.call(this, t, n);\n        }\n        return e.prototype.bind = function (e, t, n) {\n          e.call(this, t, n), this.$search = t.dropdown.$search || t.selection.$search || n.find(\".select2-search__field\");\n        }, e.prototype.query = function (e, t, n) {\n          var s = this;\n          t.term = t.term || \"\";\n          var i = this.tokenizer(t, this.options, function (e) {\n            var t,\n              n = s._normalizeItem(e);\n            s.$element.find(\"option\").filter(function () {\n              return c(this).val() === n.id;\n            }).length || ((t = s.option(n)).attr(\"data-select2-tag\", !0), s._removeOldTags(), s.addOptions([t])), t = n, s.trigger(\"select\", {\n              data: t\n            });\n          });\n          i.term !== t.term && (this.$search.length && (this.$search.val(i.term), this.$search.trigger(\"focus\")), t.term = i.term), e.call(this, t, n);\n        }, e.prototype.tokenizer = function (e, t, n, s) {\n          for (var i = n.get(\"tokenSeparators\") || [], r = t.term, o = 0, a = this.createTag || function (e) {\n              return {\n                id: e.term,\n                text: e.term\n              };\n            }; o < r.length;) {\n            var l = r[o];\n            -1 !== i.indexOf(l) ? (l = r.substr(0, o), null != (l = a(c.extend({}, t, {\n              term: l\n            }))) ? (s(l), r = r.substr(o + 1) || \"\", o = 0) : o++) : o++;\n          }\n          return {\n            term: r\n          };\n        }, e;\n      }), u.define(\"select2/data/minimumInputLength\", [], function () {\n        function e(e, t, n) {\n          this.minimumInputLength = n.get(\"minimumInputLength\"), e.call(this, t, n);\n        }\n        return e.prototype.query = function (e, t, n) {\n          t.term = t.term || \"\", t.term.length < this.minimumInputLength ? this.trigger(\"results:message\", {\n            message: \"inputTooShort\",\n            args: {\n              minimum: this.minimumInputLength,\n              input: t.term,\n              params: t\n            }\n          }) : e.call(this, t, n);\n        }, e;\n      }), u.define(\"select2/data/maximumInputLength\", [], function () {\n        function e(e, t, n) {\n          this.maximumInputLength = n.get(\"maximumInputLength\"), e.call(this, t, n);\n        }\n        return e.prototype.query = function (e, t, n) {\n          t.term = t.term || \"\", 0 < this.maximumInputLength && t.term.length > this.maximumInputLength ? this.trigger(\"results:message\", {\n            message: \"inputTooLong\",\n            args: {\n              maximum: this.maximumInputLength,\n              input: t.term,\n              params: t\n            }\n          }) : e.call(this, t, n);\n        }, e;\n      }), u.define(\"select2/data/maximumSelectionLength\", [], function () {\n        function e(e, t, n) {\n          this.maximumSelectionLength = n.get(\"maximumSelectionLength\"), e.call(this, t, n);\n        }\n        return e.prototype.bind = function (e, t, n) {\n          var s = this;\n          e.call(this, t, n), t.on(\"select\", function () {\n            s._checkIfMaximumSelected();\n          });\n        }, e.prototype.query = function (e, t, n) {\n          var s = this;\n          this._checkIfMaximumSelected(function () {\n            e.call(s, t, n);\n          });\n        }, e.prototype._checkIfMaximumSelected = function (e, t) {\n          var n = this;\n          this.current(function (e) {\n            e = null != e ? e.length : 0;\n            0 < n.maximumSelectionLength && e >= n.maximumSelectionLength ? n.trigger(\"results:message\", {\n              message: \"maximumSelected\",\n              args: {\n                maximum: n.maximumSelectionLength\n              }\n            }) : t && t();\n          });\n        }, e;\n      }), u.define(\"select2/dropdown\", [\"jquery\", \"./utils\"], function (t, e) {\n        function n(e, t) {\n          this.$element = e, this.options = t, n.__super__.constructor.call(this);\n        }\n        return e.Extend(n, e.Observable), n.prototype.render = function () {\n          var e = t('<span class=\"select2-dropdown\"><span class=\"select2-results\"></span></span>');\n          return e.attr(\"dir\", this.options.get(\"dir\")), this.$dropdown = e;\n        }, n.prototype.bind = function () {}, n.prototype.position = function (e, t) {}, n.prototype.destroy = function () {\n          this.$dropdown.remove();\n        }, n;\n      }), u.define(\"select2/dropdown/search\", [\"jquery\"], function (r) {\n        function e() {}\n        return e.prototype.render = function (e) {\n          var t = e.call(this),\n            n = this.options.get(\"translations\").get(\"search\"),\n            e = r('<span class=\"select2-search select2-search--dropdown\"><input class=\"select2-search__field\" type=\"search\" tabindex=\"-1\" autocorrect=\"off\" autocapitalize=\"none\" spellcheck=\"false\" role=\"searchbox\" aria-autocomplete=\"list\" /></span>');\n          return this.$searchContainer = e, this.$search = e.find(\"input\"), this.$search.prop(\"autocomplete\", this.options.get(\"autocomplete\")), this.$search.attr(\"aria-label\", n()), t.prepend(e), t;\n        }, e.prototype.bind = function (e, t, n) {\n          var s = this,\n            i = t.id + \"-results\";\n          e.call(this, t, n), this.$search.on(\"keydown\", function (e) {\n            s.trigger(\"keypress\", e), s._keyUpPrevented = e.isDefaultPrevented();\n          }), this.$search.on(\"input\", function (e) {\n            r(this).off(\"keyup\");\n          }), this.$search.on(\"keyup input\", function (e) {\n            s.handleSearch(e);\n          }), t.on(\"open\", function () {\n            s.$search.attr(\"tabindex\", 0), s.$search.attr(\"aria-controls\", i), s.$search.trigger(\"focus\"), window.setTimeout(function () {\n              s.$search.trigger(\"focus\");\n            }, 0);\n          }), t.on(\"close\", function () {\n            s.$search.attr(\"tabindex\", -1), s.$search.removeAttr(\"aria-controls\"), s.$search.removeAttr(\"aria-activedescendant\"), s.$search.val(\"\"), s.$search.trigger(\"blur\");\n          }), t.on(\"focus\", function () {\n            t.isOpen() || s.$search.trigger(\"focus\");\n          }), t.on(\"results:all\", function (e) {\n            null != e.query.term && \"\" !== e.query.term || (s.showSearch(e) ? s.$searchContainer[0].classList.remove(\"select2-search--hide\") : s.$searchContainer[0].classList.add(\"select2-search--hide\"));\n          }), t.on(\"results:focus\", function (e) {\n            e.data._resultId ? s.$search.attr(\"aria-activedescendant\", e.data._resultId) : s.$search.removeAttr(\"aria-activedescendant\");\n          });\n        }, e.prototype.handleSearch = function (e) {\n          var t;\n          this._keyUpPrevented || (t = this.$search.val(), this.trigger(\"query\", {\n            term: t\n          })), this._keyUpPrevented = !1;\n        }, e.prototype.showSearch = function (e, t) {\n          return !0;\n        }, e;\n      }), u.define(\"select2/dropdown/hidePlaceholder\", [], function () {\n        function e(e, t, n, s) {\n          this.placeholder = this.normalizePlaceholder(n.get(\"placeholder\")), e.call(this, t, n, s);\n        }\n        return e.prototype.append = function (e, t) {\n          t.results = this.removePlaceholder(t.results), e.call(this, t);\n        }, e.prototype.normalizePlaceholder = function (e, t) {\n          return t = \"string\" == typeof t ? {\n            id: \"\",\n            text: t\n          } : t;\n        }, e.prototype.removePlaceholder = function (e, t) {\n          for (var n = t.slice(0), s = t.length - 1; 0 <= s; s--) {\n            var i = t[s];\n            this.placeholder.id === i.id && n.splice(s, 1);\n          }\n          return n;\n        }, e;\n      }), u.define(\"select2/dropdown/infiniteScroll\", [\"jquery\"], function (n) {\n        function e(e, t, n, s) {\n          this.lastParams = {}, e.call(this, t, n, s), this.$loadingMore = this.createLoadingMore(), this.loading = !1;\n        }\n        return e.prototype.append = function (e, t) {\n          this.$loadingMore.remove(), this.loading = !1, e.call(this, t), this.showLoadingMore(t) && (this.$results.append(this.$loadingMore), this.loadMoreIfNeeded());\n        }, e.prototype.bind = function (e, t, n) {\n          var s = this;\n          e.call(this, t, n), t.on(\"query\", function (e) {\n            s.lastParams = e, s.loading = !0;\n          }), t.on(\"query:append\", function (e) {\n            s.lastParams = e, s.loading = !0;\n          }), this.$results.on(\"scroll\", this.loadMoreIfNeeded.bind(this));\n        }, e.prototype.loadMoreIfNeeded = function () {\n          var e = n.contains(document.documentElement, this.$loadingMore[0]);\n          !this.loading && e && (e = this.$results.offset().top + this.$results.outerHeight(!1), this.$loadingMore.offset().top + this.$loadingMore.outerHeight(!1) <= e + 50 && this.loadMore());\n        }, e.prototype.loadMore = function () {\n          this.loading = !0;\n          var e = n.extend({}, {\n            page: 1\n          }, this.lastParams);\n          e.page++, this.trigger(\"query:append\", e);\n        }, e.prototype.showLoadingMore = function (e, t) {\n          return t.pagination && t.pagination.more;\n        }, e.prototype.createLoadingMore = function () {\n          var e = n('<li class=\"select2-results__option select2-results__option--load-more\"role=\"option\" aria-disabled=\"true\"></li>'),\n            t = this.options.get(\"translations\").get(\"loadingMore\");\n          return e.html(t(this.lastParams)), e;\n        }, e;\n      }), u.define(\"select2/dropdown/attachBody\", [\"jquery\", \"../utils\"], function (u, o) {\n        function e(e, t, n) {\n          this.$dropdownParent = u(n.get(\"dropdownParent\") || document.body), e.call(this, t, n);\n        }\n        return e.prototype.bind = function (e, t, n) {\n          var s = this;\n          e.call(this, t, n), t.on(\"open\", function () {\n            s._showDropdown(), s._attachPositioningHandler(t), s._bindContainerResultHandlers(t);\n          }), t.on(\"close\", function () {\n            s._hideDropdown(), s._detachPositioningHandler(t);\n          }), this.$dropdownContainer.on(\"mousedown\", function (e) {\n            e.stopPropagation();\n          });\n        }, e.prototype.destroy = function (e) {\n          e.call(this), this.$dropdownContainer.remove();\n        }, e.prototype.position = function (e, t, n) {\n          t.attr(\"class\", n.attr(\"class\")), t[0].classList.remove(\"select2\"), t[0].classList.add(\"select2-container--open\"), t.css({\n            position: \"absolute\",\n            top: -999999\n          }), this.$container = n;\n        }, e.prototype.render = function (e) {\n          var t = u(\"<span></span>\"),\n            e = e.call(this);\n          return t.append(e), this.$dropdownContainer = t;\n        }, e.prototype._hideDropdown = function (e) {\n          this.$dropdownContainer.detach();\n        }, e.prototype._bindContainerResultHandlers = function (e, t) {\n          var n;\n          this._containerResultsHandlersBound || (n = this, t.on(\"results:all\", function () {\n            n._positionDropdown(), n._resizeDropdown();\n          }), t.on(\"results:append\", function () {\n            n._positionDropdown(), n._resizeDropdown();\n          }), t.on(\"results:message\", function () {\n            n._positionDropdown(), n._resizeDropdown();\n          }), t.on(\"select\", function () {\n            n._positionDropdown(), n._resizeDropdown();\n          }), t.on(\"unselect\", function () {\n            n._positionDropdown(), n._resizeDropdown();\n          }), this._containerResultsHandlersBound = !0);\n        }, e.prototype._attachPositioningHandler = function (e, t) {\n          var n = this,\n            s = \"scroll.select2.\" + t.id,\n            i = \"resize.select2.\" + t.id,\n            r = \"orientationchange.select2.\" + t.id,\n            t = this.$container.parents().filter(o.hasScroll);\n          t.each(function () {\n            o.StoreData(this, \"select2-scroll-position\", {\n              x: u(this).scrollLeft(),\n              y: u(this).scrollTop()\n            });\n          }), t.on(s, function (e) {\n            var t = o.GetData(this, \"select2-scroll-position\");\n            u(this).scrollTop(t.y);\n          }), u(window).on(s + \" \" + i + \" \" + r, function (e) {\n            n._positionDropdown(), n._resizeDropdown();\n          });\n        }, e.prototype._detachPositioningHandler = function (e, t) {\n          var n = \"scroll.select2.\" + t.id,\n            s = \"resize.select2.\" + t.id,\n            t = \"orientationchange.select2.\" + t.id;\n          this.$container.parents().filter(o.hasScroll).off(n), u(window).off(n + \" \" + s + \" \" + t);\n        }, e.prototype._positionDropdown = function () {\n          var e = u(window),\n            t = this.$dropdown[0].classList.contains(\"select2-dropdown--above\"),\n            n = this.$dropdown[0].classList.contains(\"select2-dropdown--below\"),\n            s = null,\n            i = this.$container.offset();\n          i.bottom = i.top + this.$container.outerHeight(!1);\n          var r = {\n            height: this.$container.outerHeight(!1)\n          };\n          r.top = i.top, r.bottom = i.top + r.height;\n          var o = this.$dropdown.outerHeight(!1),\n            a = e.scrollTop(),\n            l = e.scrollTop() + e.height(),\n            c = a < i.top - o,\n            e = l > i.bottom + o,\n            a = {\n              left: i.left,\n              top: r.bottom\n            },\n            l = this.$dropdownParent;\n          \"static\" === l.css(\"position\") && (l = l.offsetParent());\n          i = {\n            top: 0,\n            left: 0\n          };\n          (u.contains(document.body, l[0]) || l[0].isConnected) && (i = l.offset()), a.top -= i.top, a.left -= i.left, t || n || (s = \"below\"), e || !c || t ? !c && e && t && (s = \"below\") : s = \"above\", (\"above\" == s || t && \"below\" !== s) && (a.top = r.top - i.top - o), null != s && (this.$dropdown[0].classList.remove(\"select2-dropdown--below\"), this.$dropdown[0].classList.remove(\"select2-dropdown--above\"), this.$dropdown[0].classList.add(\"select2-dropdown--\" + s), this.$container[0].classList.remove(\"select2-container--below\"), this.$container[0].classList.remove(\"select2-container--above\"), this.$container[0].classList.add(\"select2-container--\" + s)), this.$dropdownContainer.css(a);\n        }, e.prototype._resizeDropdown = function () {\n          var e = {\n            width: this.$container.outerWidth(!1) + \"px\"\n          };\n          this.options.get(\"dropdownAutoWidth\") && (e.minWidth = e.width, e.position = \"relative\", e.width = \"auto\"), this.$dropdown.css(e);\n        }, e.prototype._showDropdown = function (e) {\n          this.$dropdownContainer.appendTo(this.$dropdownParent), this._positionDropdown(), this._resizeDropdown();\n        }, e;\n      }), u.define(\"select2/dropdown/minimumResultsForSearch\", [], function () {\n        function e(e, t, n, s) {\n          this.minimumResultsForSearch = n.get(\"minimumResultsForSearch\"), this.minimumResultsForSearch < 0 && (this.minimumResultsForSearch = 1 / 0), e.call(this, t, n, s);\n        }\n        return e.prototype.showSearch = function (e, t) {\n          return !(function e(t) {\n            for (var n = 0, s = 0; s < t.length; s++) {\n              var i = t[s];\n              i.children ? n += e(i.children) : n++;\n            }\n            return n;\n          }(t.data.results) < this.minimumResultsForSearch) && e.call(this, t);\n        }, e;\n      }), u.define(\"select2/dropdown/selectOnClose\", [\"../utils\"], function (s) {\n        function e() {}\n        return e.prototype.bind = function (e, t, n) {\n          var s = this;\n          e.call(this, t, n), t.on(\"close\", function (e) {\n            s._handleSelectOnClose(e);\n          });\n        }, e.prototype._handleSelectOnClose = function (e, t) {\n          if (t && null != t.originalSelect2Event) {\n            var n = t.originalSelect2Event;\n            if (\"select\" === n._type || \"unselect\" === n._type) return;\n          }\n          n = this.getHighlightedResults();\n          n.length < 1 || null != (n = s.GetData(n[0], \"data\")).element && n.element.selected || null == n.element && n.selected || this.trigger(\"select\", {\n            data: n\n          });\n        }, e;\n      }), u.define(\"select2/dropdown/closeOnSelect\", [], function () {\n        function e() {}\n        return e.prototype.bind = function (e, t, n) {\n          var s = this;\n          e.call(this, t, n), t.on(\"select\", function (e) {\n            s._selectTriggered(e);\n          }), t.on(\"unselect\", function (e) {\n            s._selectTriggered(e);\n          });\n        }, e.prototype._selectTriggered = function (e, t) {\n          var n = t.originalEvent;\n          n && (n.ctrlKey || n.metaKey) || this.trigger(\"close\", {\n            originalEvent: n,\n            originalSelect2Event: t\n          });\n        }, e;\n      }), u.define(\"select2/dropdown/dropdownCss\", [\"../utils\"], function (n) {\n        function e() {}\n        return e.prototype.render = function (e) {\n          var t = e.call(this),\n            e = this.options.get(\"dropdownCssClass\") || \"\";\n          return -1 !== e.indexOf(\":all:\") && (e = e.replace(\":all:\", \"\"), n.copyNonInternalCssClasses(t[0], this.$element[0])), t.addClass(e), t;\n        }, e;\n      }), u.define(\"select2/dropdown/tagsSearchHighlight\", [\"../utils\"], function (s) {\n        function e() {}\n        return e.prototype.highlightFirstItem = function (e) {\n          var t = this.$results.find(\".select2-results__option--selectable:not(.select2-results__option--selected)\");\n          if (0 < t.length) {\n            var n = t.first(),\n              t = s.GetData(n[0], \"data\").element;\n            if (t && t.getAttribute && \"true\" === t.getAttribute(\"data-select2-tag\")) return void n.trigger(\"mouseenter\");\n          }\n          e.call(this);\n        }, e;\n      }), u.define(\"select2/i18n/en\", [], function () {\n        return {\n          errorLoading: function () {\n            return \"The results could not be loaded.\";\n          },\n          inputTooLong: function (e) {\n            var t = e.input.length - e.maximum,\n              e = \"Please delete \" + t + \" character\";\n            return 1 != t && (e += \"s\"), e;\n          },\n          inputTooShort: function (e) {\n            return \"Please enter \" + (e.minimum - e.input.length) + \" or more characters\";\n          },\n          loadingMore: function () {\n            return \"Loading more results…\";\n          },\n          maximumSelected: function (e) {\n            var t = \"You can only select \" + e.maximum + \" item\";\n            return 1 != e.maximum && (t += \"s\"), t;\n          },\n          noResults: function () {\n            return \"No results found\";\n          },\n          searching: function () {\n            return \"Searching…\";\n          },\n          removeAllItems: function () {\n            return \"Remove all items\";\n          },\n          removeItem: function () {\n            return \"Remove item\";\n          },\n          search: function () {\n            return \"Search\";\n          }\n        };\n      }), u.define(\"select2/defaults\", [\"jquery\", \"./results\", \"./selection/single\", \"./selection/multiple\", \"./selection/placeholder\", \"./selection/allowClear\", \"./selection/search\", \"./selection/selectionCss\", \"./selection/eventRelay\", \"./utils\", \"./translation\", \"./diacritics\", \"./data/select\", \"./data/array\", \"./data/ajax\", \"./data/tags\", \"./data/tokenizer\", \"./data/minimumInputLength\", \"./data/maximumInputLength\", \"./data/maximumSelectionLength\", \"./dropdown\", \"./dropdown/search\", \"./dropdown/hidePlaceholder\", \"./dropdown/infiniteScroll\", \"./dropdown/attachBody\", \"./dropdown/minimumResultsForSearch\", \"./dropdown/selectOnClose\", \"./dropdown/closeOnSelect\", \"./dropdown/dropdownCss\", \"./dropdown/tagsSearchHighlight\", \"./i18n/en\"], function (l, r, o, a, c, u, d, p, h, f, g, t, m, y, v, _, b, $, w, x, A, D, S, E, O, C, L, T, q, I, e) {\n        function n() {\n          this.reset();\n        }\n        return n.prototype.apply = function (e) {\n          var t;\n          null == (e = l.extend(!0, {}, this.defaults, e)).dataAdapter && (null != e.ajax ? e.dataAdapter = v : null != e.data ? e.dataAdapter = y : e.dataAdapter = m, 0 < e.minimumInputLength && (e.dataAdapter = f.Decorate(e.dataAdapter, $)), 0 < e.maximumInputLength && (e.dataAdapter = f.Decorate(e.dataAdapter, w)), 0 < e.maximumSelectionLength && (e.dataAdapter = f.Decorate(e.dataAdapter, x)), e.tags && (e.dataAdapter = f.Decorate(e.dataAdapter, _)), null == e.tokenSeparators && null == e.tokenizer || (e.dataAdapter = f.Decorate(e.dataAdapter, b))), null == e.resultsAdapter && (e.resultsAdapter = r, null != e.ajax && (e.resultsAdapter = f.Decorate(e.resultsAdapter, E)), null != e.placeholder && (e.resultsAdapter = f.Decorate(e.resultsAdapter, S)), e.selectOnClose && (e.resultsAdapter = f.Decorate(e.resultsAdapter, L)), e.tags && (e.resultsAdapter = f.Decorate(e.resultsAdapter, I))), null == e.dropdownAdapter && (e.multiple ? e.dropdownAdapter = A : (t = f.Decorate(A, D), e.dropdownAdapter = t), 0 !== e.minimumResultsForSearch && (e.dropdownAdapter = f.Decorate(e.dropdownAdapter, C)), e.closeOnSelect && (e.dropdownAdapter = f.Decorate(e.dropdownAdapter, T)), null != e.dropdownCssClass && (e.dropdownAdapter = f.Decorate(e.dropdownAdapter, q)), e.dropdownAdapter = f.Decorate(e.dropdownAdapter, O)), null == e.selectionAdapter && (e.multiple ? e.selectionAdapter = a : e.selectionAdapter = o, null != e.placeholder && (e.selectionAdapter = f.Decorate(e.selectionAdapter, c)), e.allowClear && (e.selectionAdapter = f.Decorate(e.selectionAdapter, u)), e.multiple && (e.selectionAdapter = f.Decorate(e.selectionAdapter, d)), null != e.selectionCssClass && (e.selectionAdapter = f.Decorate(e.selectionAdapter, p)), e.selectionAdapter = f.Decorate(e.selectionAdapter, h)), e.language = this._resolveLanguage(e.language), e.language.push(\"en\");\n          for (var n = [], s = 0; s < e.language.length; s++) {\n            var i = e.language[s];\n            -1 === n.indexOf(i) && n.push(i);\n          }\n          return e.language = n, e.translations = this._processTranslations(e.language, e.debug), e;\n        }, n.prototype.reset = function () {\n          function a(e) {\n            return e.replace(/[^\\u0000-\\u007E]/g, function (e) {\n              return t[e] || e;\n            });\n          }\n          this.defaults = {\n            amdLanguageBase: \"./i18n/\",\n            autocomplete: \"off\",\n            closeOnSelect: !0,\n            debug: !1,\n            dropdownAutoWidth: !1,\n            escapeMarkup: f.escapeMarkup,\n            language: {},\n            matcher: function e(t, n) {\n              if (null == t.term || \"\" === t.term.trim()) return n;\n              if (n.children && 0 < n.children.length) {\n                for (var s = l.extend(!0, {}, n), i = n.children.length - 1; 0 <= i; i--) null == e(t, n.children[i]) && s.children.splice(i, 1);\n                return 0 < s.children.length ? s : e(t, s);\n              }\n              var r = a(n.text).toUpperCase(),\n                o = a(t.term).toUpperCase();\n              return -1 < r.indexOf(o) ? n : null;\n            },\n            minimumInputLength: 0,\n            maximumInputLength: 0,\n            maximumSelectionLength: 0,\n            minimumResultsForSearch: 0,\n            selectOnClose: !1,\n            scrollAfterSelect: !1,\n            sorter: function (e) {\n              return e;\n            },\n            templateResult: function (e) {\n              return e.text;\n            },\n            templateSelection: function (e) {\n              return e.text;\n            },\n            theme: \"default\",\n            width: \"resolve\"\n          };\n        }, n.prototype.applyFromElement = function (e, t) {\n          var n = e.language,\n            s = this.defaults.language,\n            i = t.prop(\"lang\"),\n            t = t.closest(\"[lang]\").prop(\"lang\"),\n            t = Array.prototype.concat.call(this._resolveLanguage(i), this._resolveLanguage(n), this._resolveLanguage(s), this._resolveLanguage(t));\n          return e.language = t, e;\n        }, n.prototype._resolveLanguage = function (e) {\n          if (!e) return [];\n          if (l.isEmptyObject(e)) return [];\n          if (l.isPlainObject(e)) return [e];\n          for (var t, n = Array.isArray(e) ? e : [e], s = [], i = 0; i < n.length; i++) s.push(n[i]), \"string\" == typeof n[i] && 0 < n[i].indexOf(\"-\") && (t = n[i].split(\"-\")[0], s.push(t));\n          return s;\n        }, n.prototype._processTranslations = function (e, t) {\n          for (var n = new g(), s = 0; s < e.length; s++) {\n            var i = new g(),\n              r = e[s];\n            if (\"string\" == typeof r) try {\n              i = g.loadPath(r);\n            } catch (e) {\n              try {\n                r = this.defaults.amdLanguageBase + r, i = g.loadPath(r);\n              } catch (e) {\n                t && window.console && console.warn && console.warn('Select2: The language file for \"' + r + '\" could not be automatically loaded. A fallback will be used instead.');\n              }\n            } else i = l.isPlainObject(r) ? new g(r) : r;\n            n.extend(i);\n          }\n          return n;\n        }, n.prototype.set = function (e, t) {\n          var n = {};\n          n[l.camelCase(e)] = t;\n          n = f._convertData(n);\n          l.extend(!0, this.defaults, n);\n        }, new n();\n      }), u.define(\"select2/options\", [\"jquery\", \"./defaults\", \"./utils\"], function (c, n, u) {\n        function e(e, t) {\n          this.options = e, null != t && this.fromElement(t), null != t && (this.options = n.applyFromElement(this.options, t)), this.options = n.apply(this.options);\n        }\n        return e.prototype.fromElement = function (e) {\n          var t = [\"select2\"];\n          null == this.options.multiple && (this.options.multiple = e.prop(\"multiple\")), null == this.options.disabled && (this.options.disabled = e.prop(\"disabled\")), null == this.options.autocomplete && e.prop(\"autocomplete\") && (this.options.autocomplete = e.prop(\"autocomplete\")), null == this.options.dir && (e.prop(\"dir\") ? this.options.dir = e.prop(\"dir\") : e.closest(\"[dir]\").prop(\"dir\") ? this.options.dir = e.closest(\"[dir]\").prop(\"dir\") : this.options.dir = \"ltr\"), e.prop(\"disabled\", this.options.disabled), e.prop(\"multiple\", this.options.multiple), u.GetData(e[0], \"select2Tags\") && (this.options.debug && window.console && console.warn && console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags=\"true\"` attributes and will be removed in future versions of Select2.'), u.StoreData(e[0], \"data\", u.GetData(e[0], \"select2Tags\")), u.StoreData(e[0], \"tags\", !0)), u.GetData(e[0], \"ajaxUrl\") && (this.options.debug && window.console && console.warn && console.warn(\"Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2.\"), e.attr(\"ajax--url\", u.GetData(e[0], \"ajaxUrl\")), u.StoreData(e[0], \"ajax-Url\", u.GetData(e[0], \"ajaxUrl\")));\n          var n = {};\n          function s(e, t) {\n            return t.toUpperCase();\n          }\n          for (var i = 0; i < e[0].attributes.length; i++) {\n            var r = e[0].attributes[i].name,\n              o = \"data-\";\n            r.substr(0, o.length) == o && (r = r.substring(o.length), o = u.GetData(e[0], r), n[r.replace(/-([a-z])/g, s)] = o);\n          }\n          c.fn.jquery && \"1.\" == c.fn.jquery.substr(0, 2) && e[0].dataset && (n = c.extend(!0, {}, e[0].dataset, n));\n          var a,\n            l = c.extend(!0, {}, u.GetData(e[0]), n);\n          for (a in l = u._convertData(l)) -1 < t.indexOf(a) || (c.isPlainObject(this.options[a]) ? c.extend(this.options[a], l[a]) : this.options[a] = l[a]);\n          return this;\n        }, e.prototype.get = function (e) {\n          return this.options[e];\n        }, e.prototype.set = function (e, t) {\n          this.options[e] = t;\n        }, e;\n      }), u.define(\"select2/core\", [\"jquery\", \"./options\", \"./utils\", \"./keys\"], function (t, i, r, s) {\n        var o = function (e, t) {\n          null != r.GetData(e[0], \"select2\") && r.GetData(e[0], \"select2\").destroy(), this.$element = e, this.id = this._generateId(e), t = t || {}, this.options = new i(t, e), o.__super__.constructor.call(this);\n          var n = e.attr(\"tabindex\") || 0;\n          r.StoreData(e[0], \"old-tabindex\", n), e.attr(\"tabindex\", \"-1\");\n          t = this.options.get(\"dataAdapter\");\n          this.dataAdapter = new t(e, this.options);\n          n = this.render();\n          this._placeContainer(n);\n          t = this.options.get(\"selectionAdapter\");\n          this.selection = new t(e, this.options), this.$selection = this.selection.render(), this.selection.position(this.$selection, n);\n          t = this.options.get(\"dropdownAdapter\");\n          this.dropdown = new t(e, this.options), this.$dropdown = this.dropdown.render(), this.dropdown.position(this.$dropdown, n);\n          n = this.options.get(\"resultsAdapter\");\n          this.results = new n(e, this.options, this.dataAdapter), this.$results = this.results.render(), this.results.position(this.$results, this.$dropdown);\n          var s = this;\n          this._bindAdapters(), this._registerDomEvents(), this._registerDataEvents(), this._registerSelectionEvents(), this._registerDropdownEvents(), this._registerResultsEvents(), this._registerEvents(), this.dataAdapter.current(function (e) {\n            s.trigger(\"selection:update\", {\n              data: e\n            });\n          }), e[0].classList.add(\"select2-hidden-accessible\"), e.attr(\"aria-hidden\", \"true\"), this._syncAttributes(), r.StoreData(e[0], \"select2\", this), e.data(\"select2\", this);\n        };\n        return r.Extend(o, r.Observable), o.prototype._generateId = function (e) {\n          return \"select2-\" + (null != e.attr(\"id\") ? e.attr(\"id\") : null != e.attr(\"name\") ? e.attr(\"name\") + \"-\" + r.generateChars(2) : r.generateChars(4)).replace(/(:|\\.|\\[|\\]|,)/g, \"\");\n        }, o.prototype._placeContainer = function (e) {\n          e.insertAfter(this.$element);\n          var t = this._resolveWidth(this.$element, this.options.get(\"width\"));\n          null != t && e.css(\"width\", t);\n        }, o.prototype._resolveWidth = function (e, t) {\n          var n = /^width:(([-+]?([0-9]*\\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;\n          if (\"resolve\" == t) {\n            var s = this._resolveWidth(e, \"style\");\n            return null != s ? s : this._resolveWidth(e, \"element\");\n          }\n          if (\"element\" == t) {\n            s = e.outerWidth(!1);\n            return s <= 0 ? \"auto\" : s + \"px\";\n          }\n          if (\"style\" != t) return \"computedstyle\" != t ? t : window.getComputedStyle(e[0]).width;\n          e = e.attr(\"style\");\n          if (\"string\" != typeof e) return null;\n          for (var i = e.split(\";\"), r = 0, o = i.length; r < o; r += 1) {\n            var a = i[r].replace(/\\s/g, \"\").match(n);\n            if (null !== a && 1 <= a.length) return a[1];\n          }\n          return null;\n        }, o.prototype._bindAdapters = function () {\n          this.dataAdapter.bind(this, this.$container), this.selection.bind(this, this.$container), this.dropdown.bind(this, this.$container), this.results.bind(this, this.$container);\n        }, o.prototype._registerDomEvents = function () {\n          var t = this;\n          this.$element.on(\"change.select2\", function () {\n            t.dataAdapter.current(function (e) {\n              t.trigger(\"selection:update\", {\n                data: e\n              });\n            });\n          }), this.$element.on(\"focus.select2\", function (e) {\n            t.trigger(\"focus\", e);\n          }), this._syncA = r.bind(this._syncAttributes, this), this._syncS = r.bind(this._syncSubtree, this), this._observer = new window.MutationObserver(function (e) {\n            t._syncA(), t._syncS(e);\n          }), this._observer.observe(this.$element[0], {\n            attributes: !0,\n            childList: !0,\n            subtree: !1\n          });\n        }, o.prototype._registerDataEvents = function () {\n          var n = this;\n          this.dataAdapter.on(\"*\", function (e, t) {\n            n.trigger(e, t);\n          });\n        }, o.prototype._registerSelectionEvents = function () {\n          var n = this,\n            s = [\"toggle\", \"focus\"];\n          this.selection.on(\"toggle\", function () {\n            n.toggleDropdown();\n          }), this.selection.on(\"focus\", function (e) {\n            n.focus(e);\n          }), this.selection.on(\"*\", function (e, t) {\n            -1 === s.indexOf(e) && n.trigger(e, t);\n          });\n        }, o.prototype._registerDropdownEvents = function () {\n          var n = this;\n          this.dropdown.on(\"*\", function (e, t) {\n            n.trigger(e, t);\n          });\n        }, o.prototype._registerResultsEvents = function () {\n          var n = this;\n          this.results.on(\"*\", function (e, t) {\n            n.trigger(e, t);\n          });\n        }, o.prototype._registerEvents = function () {\n          var n = this;\n          this.on(\"open\", function () {\n            n.$container[0].classList.add(\"select2-container--open\");\n          }), this.on(\"close\", function () {\n            n.$container[0].classList.remove(\"select2-container--open\");\n          }), this.on(\"enable\", function () {\n            n.$container[0].classList.remove(\"select2-container--disabled\");\n          }), this.on(\"disable\", function () {\n            n.$container[0].classList.add(\"select2-container--disabled\");\n          }), this.on(\"blur\", function () {\n            n.$container[0].classList.remove(\"select2-container--focus\");\n          }), this.on(\"query\", function (t) {\n            n.isOpen() || n.trigger(\"open\", {}), this.dataAdapter.query(t, function (e) {\n              n.trigger(\"results:all\", {\n                data: e,\n                query: t\n              });\n            });\n          }), this.on(\"query:append\", function (t) {\n            this.dataAdapter.query(t, function (e) {\n              n.trigger(\"results:append\", {\n                data: e,\n                query: t\n              });\n            });\n          }), this.on(\"keypress\", function (e) {\n            var t = e.which;\n            n.isOpen() ? t === s.ESC || t === s.UP && e.altKey ? (n.close(e), e.preventDefault()) : t === s.ENTER || t === s.TAB ? (n.trigger(\"results:select\", {}), e.preventDefault()) : t === s.SPACE && e.ctrlKey ? (n.trigger(\"results:toggle\", {}), e.preventDefault()) : t === s.UP ? (n.trigger(\"results:previous\", {}), e.preventDefault()) : t === s.DOWN && (n.trigger(\"results:next\", {}), e.preventDefault()) : (t === s.ENTER || t === s.SPACE || t === s.DOWN && e.altKey) && (n.open(), e.preventDefault());\n          });\n        }, o.prototype._syncAttributes = function () {\n          this.options.set(\"disabled\", this.$element.prop(\"disabled\")), this.isDisabled() ? (this.isOpen() && this.close(), this.trigger(\"disable\", {})) : this.trigger(\"enable\", {});\n        }, o.prototype._isChangeMutation = function (e) {\n          var t = this;\n          if (e.addedNodes && 0 < e.addedNodes.length) {\n            for (var n = 0; n < e.addedNodes.length; n++) if (e.addedNodes[n].selected) return !0;\n          } else {\n            if (e.removedNodes && 0 < e.removedNodes.length) return !0;\n            if (Array.isArray(e)) return e.some(function (e) {\n              return t._isChangeMutation(e);\n            });\n          }\n          return !1;\n        }, o.prototype._syncSubtree = function (e) {\n          var e = this._isChangeMutation(e),\n            t = this;\n          e && this.dataAdapter.current(function (e) {\n            t.trigger(\"selection:update\", {\n              data: e\n            });\n          });\n        }, o.prototype.trigger = function (e, t) {\n          var n = o.__super__.trigger,\n            s = {\n              open: \"opening\",\n              close: \"closing\",\n              select: \"selecting\",\n              unselect: \"unselecting\",\n              clear: \"clearing\"\n            };\n          if (void 0 === t && (t = {}), e in s) {\n            var i = s[e],\n              s = {\n                prevented: !1,\n                name: e,\n                args: t\n              };\n            if (n.call(this, i, s), s.prevented) return void (t.prevented = !0);\n          }\n          n.call(this, e, t);\n        }, o.prototype.toggleDropdown = function () {\n          this.isDisabled() || (this.isOpen() ? this.close() : this.open());\n        }, o.prototype.open = function () {\n          this.isOpen() || this.isDisabled() || this.trigger(\"query\", {});\n        }, o.prototype.close = function (e) {\n          this.isOpen() && this.trigger(\"close\", {\n            originalEvent: e\n          });\n        }, o.prototype.isEnabled = function () {\n          return !this.isDisabled();\n        }, o.prototype.isDisabled = function () {\n          return this.options.get(\"disabled\");\n        }, o.prototype.isOpen = function () {\n          return this.$container[0].classList.contains(\"select2-container--open\");\n        }, o.prototype.hasFocus = function () {\n          return this.$container[0].classList.contains(\"select2-container--focus\");\n        }, o.prototype.focus = function (e) {\n          this.hasFocus() || (this.$container[0].classList.add(\"select2-container--focus\"), this.trigger(\"focus\", {}));\n        }, o.prototype.enable = function (e) {\n          this.options.get(\"debug\") && window.console && console.warn && console.warn('Select2: The `select2(\"enable\")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop(\"disabled\") instead.');\n          e = !(e = null == e || 0 === e.length ? [!0] : e)[0];\n          this.$element.prop(\"disabled\", e);\n        }, o.prototype.data = function () {\n          this.options.get(\"debug\") && 0 < arguments.length && window.console && console.warn && console.warn('Select2: Data can no longer be set using `select2(\"data\")`. You should consider setting the value instead using `$element.val()`.');\n          var t = [];\n          return this.dataAdapter.current(function (e) {\n            t = e;\n          }), t;\n        }, o.prototype.val = function (e) {\n          if (this.options.get(\"debug\") && window.console && console.warn && console.warn('Select2: The `select2(\"val\")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'), null == e || 0 === e.length) return this.$element.val();\n          e = e[0];\n          Array.isArray(e) && (e = e.map(function (e) {\n            return e.toString();\n          })), this.$element.val(e).trigger(\"input\").trigger(\"change\");\n        }, o.prototype.destroy = function () {\n          r.RemoveData(this.$container[0]), this.$container.remove(), this._observer.disconnect(), this._observer = null, this._syncA = null, this._syncS = null, this.$element.off(\".select2\"), this.$element.attr(\"tabindex\", r.GetData(this.$element[0], \"old-tabindex\")), this.$element[0].classList.remove(\"select2-hidden-accessible\"), this.$element.attr(\"aria-hidden\", \"false\"), r.RemoveData(this.$element[0]), this.$element.removeData(\"select2\"), this.dataAdapter.destroy(), this.selection.destroy(), this.dropdown.destroy(), this.results.destroy(), this.dataAdapter = null, this.selection = null, this.dropdown = null, this.results = null;\n        }, o.prototype.render = function () {\n          var e = t('<span class=\"select2 select2-container\"><span class=\"selection\"></span><span class=\"dropdown-wrapper\" aria-hidden=\"true\"></span></span>');\n          return e.attr(\"dir\", this.options.get(\"dir\")), this.$container = e, this.$container[0].classList.add(\"select2-container--\" + this.options.get(\"theme\")), r.StoreData(e[0], \"element\", this.$element), e;\n        }, o;\n      }), u.define(\"jquery-mousewheel\", [\"jquery\"], function (e) {\n        return e;\n      }), u.define(\"jquery.select2\", [\"jquery\", \"jquery-mousewheel\", \"./select2/core\", \"./select2/defaults\", \"./select2/utils\"], function (i, e, r, t, o) {\n        var a;\n        return null == i.fn.select2 && (a = [\"open\", \"close\", \"destroy\"], i.fn.select2 = function (t) {\n          if (\"object\" == typeof (t = t || {})) return this.each(function () {\n            var e = i.extend(!0, {}, t);\n            new r(i(this), e);\n          }), this;\n          if (\"string\" != typeof t) throw new Error(\"Invalid arguments for Select2: \" + t);\n          var n,\n            s = Array.prototype.slice.call(arguments, 1);\n          return this.each(function () {\n            var e = o.GetData(this, \"select2\");\n            null == e && window.console && console.error && console.error(\"The select2('\" + t + \"') method was called on an element that is not using Select2.\"), n = e[t].apply(e, s);\n          }), -1 < a.indexOf(t) ? this : n;\n        }), null == i.fn.select2.defaults && (i.fn.select2.defaults = t), r;\n      }), {\n        define: u.define,\n        require: u.require\n      });\n    function b(e, t) {\n      return i.call(e, t);\n    }\n    function l(e, t) {\n      var n,\n        s,\n        i,\n        r,\n        o,\n        a,\n        l,\n        c,\n        u,\n        d,\n        p = t && t.split(\"/\"),\n        h = y.map,\n        f = h && h[\"*\"] || {};\n      if (e) {\n        for (t = (e = e.split(\"/\")).length - 1, y.nodeIdCompat && _.test(e[t]) && (e[t] = e[t].replace(_, \"\")), \".\" === e[0].charAt(0) && p && (e = p.slice(0, p.length - 1).concat(e)), c = 0; c < e.length; c++) \".\" === (d = e[c]) ? (e.splice(c, 1), --c) : \"..\" === d && (0 === c || 1 === c && \"..\" === e[2] || \"..\" === e[c - 1] || 0 < c && (e.splice(c - 1, 2), c -= 2));\n        e = e.join(\"/\");\n      }\n      if ((p || f) && h) {\n        for (c = (n = e.split(\"/\")).length; 0 < c; --c) {\n          if (s = n.slice(0, c).join(\"/\"), p) for (u = p.length; 0 < u; --u) if (i = h[p.slice(0, u).join(\"/\")], i = i && i[s]) {\n            r = i, o = c;\n            break;\n          }\n          if (r) break;\n          !a && f && f[s] && (a = f[s], l = c);\n        }\n        !r && a && (r = a, o = l), r && (n.splice(0, o, r), e = n.join(\"/\"));\n      }\n      return e;\n    }\n    function w(t, n) {\n      return function () {\n        var e = a.call(arguments, 0);\n        return \"string\" != typeof e[0] && 1 === e.length && e.push(null), o.apply(p, e.concat([t, n]));\n      };\n    }\n    function x(e) {\n      var t;\n      if (b(m, e) && (t = m[e], delete m[e], v[e] = !0, r.apply(p, t)), !b(g, e) && !b(v, e)) throw new Error(\"No \" + e);\n      return g[e];\n    }\n    function c(e) {\n      var t,\n        n = e ? e.indexOf(\"!\") : -1;\n      return -1 < n && (t = e.substring(0, n), e = e.substring(n + 1, e.length)), [t, e];\n    }\n    function A(e) {\n      return e ? c(e) : [];\n    }\n    var u = s.require(\"jquery.select2\");\n    return t.fn.select2.amd = s, u;\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/lib/toastify-js\", [], function () {\n  \"use strict\";\n\n  /**\n   * Minified by jsDelivr using Terser v5.37.0.\n   * Original file: /npm/toastify-js@1.12.0/src/toastify.js\n   *\n   * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n   */\n  /*!\n   * Toastify js 1.12.0\n   * https://github.com/apvarun/toastify-js\n   * @license MIT licensed\n   *\n   * Copyright (C) 2018 Varun A P\n   */\n  !function (t, o) {\n    \"object\" == typeof module && module.exports ? module.exports = o() : t.Toastify = o();\n  }(\"undefined\" != typeof globalThis ? globalThis : window, function (t) {\n    var o = function (t) {\n      return new o.lib.init(t);\n    };\n    function i(t, o) {\n      return o.offset[t] ? isNaN(o.offset[t]) ? o.offset[t] : o.offset[t] + \"px\" : \"0px\";\n    }\n    function s(t, o) {\n      return !(!t || \"string\" != typeof o) && !!(t.className && t.className.trim().split(/\\s+/gi).indexOf(o) > -1);\n    }\n    return o.defaults = {\n      oldestFirst: !0,\n      text: \"Toastify is awesome!\",\n      node: void 0,\n      duration: 3e3,\n      selector: void 0,\n      callback: function () {},\n      destination: void 0,\n      newWindow: !1,\n      close: !1,\n      gravity: \"toastify-top\",\n      positionLeft: !1,\n      position: \"\",\n      backgroundColor: \"\",\n      avatar: \"\",\n      className: \"\",\n      stopOnFocus: !0,\n      onClick: function () {},\n      offset: {\n        x: 0,\n        y: 0\n      },\n      escapeMarkup: !0,\n      ariaLive: \"polite\",\n      style: {\n        background: \"\"\n      }\n    }, o.lib = o.prototype = {\n      toastify: \"1.12.0\",\n      constructor: o,\n      init: function (t) {\n        return t || (t = {}), this.options = {}, this.toastElement = null, this.options.text = t.text || o.defaults.text, this.options.node = t.node || o.defaults.node, this.options.duration = 0 === t.duration ? 0 : t.duration || o.defaults.duration, this.options.selector = t.selector || o.defaults.selector, this.options.callback = t.callback || o.defaults.callback, this.options.destination = t.destination || o.defaults.destination, this.options.newWindow = t.newWindow || o.defaults.newWindow, this.options.close = t.close || o.defaults.close, this.options.gravity = \"bottom\" === t.gravity ? \"toastify-bottom\" : o.defaults.gravity, this.options.positionLeft = t.positionLeft || o.defaults.positionLeft, this.options.position = t.position || o.defaults.position, this.options.backgroundColor = t.backgroundColor || o.defaults.backgroundColor, this.options.avatar = t.avatar || o.defaults.avatar, this.options.className = t.className || o.defaults.className, this.options.stopOnFocus = void 0 === t.stopOnFocus ? o.defaults.stopOnFocus : t.stopOnFocus, this.options.onClick = t.onClick || o.defaults.onClick, this.options.offset = t.offset || o.defaults.offset, this.options.escapeMarkup = void 0 !== t.escapeMarkup ? t.escapeMarkup : o.defaults.escapeMarkup, this.options.ariaLive = t.ariaLive || o.defaults.ariaLive, this.options.style = t.style || o.defaults.style, t.backgroundColor && (this.options.style.background = t.backgroundColor), this;\n      },\n      buildToast: function () {\n        if (!this.options) throw \"Toastify is not initialized\";\n        var t = document.createElement(\"div\");\n        for (var o in t.className = \"toastify on \" + this.options.className, this.options.position ? t.className += \" toastify-\" + this.options.position : !0 === this.options.positionLeft ? (t.className += \" toastify-left\", console.warn(\"Property `positionLeft` will be depreciated in further versions. Please use `position` instead.\")) : t.className += \" toastify-right\", t.className += \" \" + this.options.gravity, this.options.backgroundColor && console.warn('DEPRECATION NOTICE: \"backgroundColor\" is being deprecated. Please use the \"style.background\" property.'), this.options.style) t.style[o] = this.options.style[o];\n        if (this.options.ariaLive && t.setAttribute(\"aria-live\", this.options.ariaLive), this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) t.appendChild(this.options.node);else if (this.options.escapeMarkup ? t.innerText = this.options.text : t.innerHTML = this.options.text, \"\" !== this.options.avatar) {\n          var s = document.createElement(\"img\");\n          s.src = this.options.avatar, s.className = \"toastify-avatar\", \"left\" == this.options.position || !0 === this.options.positionLeft ? t.appendChild(s) : t.insertAdjacentElement(\"afterbegin\", s);\n        }\n        if (!0 === this.options.close) {\n          var e = document.createElement(\"button\");\n          e.type = \"button\", e.setAttribute(\"aria-label\", \"Close\"), e.className = \"toast-close\", e.innerHTML = \"&#10006;\", e.addEventListener(\"click\", function (t) {\n            t.stopPropagation(), this.removeElement(this.toastElement), window.clearTimeout(this.toastElement.timeOutValue);\n          }.bind(this));\n          var n = window.innerWidth > 0 ? window.innerWidth : screen.width;\n          (\"left\" == this.options.position || !0 === this.options.positionLeft) && n > 360 ? t.insertAdjacentElement(\"afterbegin\", e) : t.appendChild(e);\n        }\n        if (this.options.stopOnFocus && this.options.duration > 0) {\n          var a = this;\n          t.addEventListener(\"mouseover\", function (o) {\n            window.clearTimeout(t.timeOutValue);\n          }), t.addEventListener(\"mouseleave\", function () {\n            t.timeOutValue = window.setTimeout(function () {\n              a.removeElement(t);\n            }, a.options.duration);\n          });\n        }\n        if (void 0 !== this.options.destination && t.addEventListener(\"click\", function (t) {\n          t.stopPropagation(), !0 === this.options.newWindow ? window.open(this.options.destination, \"_blank\") : window.location = this.options.destination;\n        }.bind(this)), \"function\" == typeof this.options.onClick && void 0 === this.options.destination && t.addEventListener(\"click\", function (t) {\n          t.stopPropagation(), this.options.onClick();\n        }.bind(this)), \"object\" == typeof this.options.offset) {\n          var l = i(\"x\", this.options),\n            r = i(\"y\", this.options),\n            p = \"left\" == this.options.position ? l : \"-\" + l,\n            d = \"toastify-top\" == this.options.gravity ? r : \"-\" + r;\n          t.style.transform = \"translate(\" + p + \",\" + d + \")\";\n        }\n        return t;\n      },\n      showToast: function () {\n        var t;\n        if (this.toastElement = this.buildToast(), !(t = \"string\" == typeof this.options.selector ? document.getElementById(this.options.selector) : this.options.selector instanceof HTMLElement || \"undefined\" != typeof ShadowRoot && this.options.selector instanceof ShadowRoot ? this.options.selector : document.body)) throw \"Root element is not defined\";\n        var i = o.defaults.oldestFirst ? t.firstChild : t.lastChild;\n        return t.insertBefore(this.toastElement, i), o.reposition(), this.options.duration > 0 && (this.toastElement.timeOutValue = window.setTimeout(function () {\n          this.removeElement(this.toastElement);\n        }.bind(this), this.options.duration)), this;\n      },\n      hideToast: function () {\n        this.toastElement.timeOutValue && clearTimeout(this.toastElement.timeOutValue), this.removeElement(this.toastElement);\n      },\n      removeElement: function (t) {\n        t.className = t.className.replace(\" on\", \"\"), window.setTimeout(function () {\n          this.options.node && this.options.node.parentNode && this.options.node.parentNode.removeChild(this.options.node), t.parentNode && t.parentNode.removeChild(t), this.options.callback.call(t), o.reposition();\n        }.bind(this), 400);\n      }\n    }, o.reposition = function () {\n      for (var t, o = {\n          top: 15,\n          bottom: 15\n        }, i = {\n          top: 15,\n          bottom: 15\n        }, e = {\n          top: 15,\n          bottom: 15\n        }, n = document.getElementsByClassName(\"toastify\"), a = 0; a < n.length; a++) {\n        t = !0 === s(n[a], \"toastify-top\") ? \"toastify-top\" : \"toastify-bottom\";\n        var l = n[a].offsetHeight;\n        t = t.substr(9, t.length - 1);\n        (window.innerWidth > 0 ? window.innerWidth : screen.width) <= 360 ? (n[a].style[t] = e[t] + \"px\", e[t] += l + 15) : !0 === s(n[a], \"toastify-left\") ? (n[a].style[t] = o[t] + \"px\", o[t] += l + 15) : (n[a].style[t] = i[t] + \"px\", i[t] += l + 15);\n      }\n      return this;\n    }, o.lib.init.prototype = o.lib, o;\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-admin-advertisements\", [\"exports\", \"discourse/routes/discourse\", \"@ember/service\"], function (_exports, _discourse, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    currentUser: (0, _service.service)(),\n    router: (0, _service.service)(),\n    titleToken() {\n      return [\"Advertisements Admin\"];\n    },\n    beforeModel() {\n      if (!!this.currentUser?.amd_admin) {\n        return this._super(...arguments);\n      } else {\n        this.router.transitionTo(\"homepage\");\n      }\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-admin-campaigns\", [\"exports\", \"discourse/routes/discourse\", \"@ember/service\"], function (_exports, _discourse, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    currentUser: (0, _service.service)(),\n    router: (0, _service.service)(),\n    titleToken() {\n      return [\"Campaign Admin\"];\n    },\n    beforeModel() {\n      if (!!this.currentUser?.amd_admin) {\n        return this._super(...arguments);\n      } else {\n        this.router.transitionTo(\"homepage\");\n      }\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-admin-hp-settings\", [\"exports\", \"discourse/routes/discourse\", \"@ember/service\"], function (_exports, _discourse, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    currentUser: (0, _service.service)(),\n    router: (0, _service.service)(),\n    titleToken() {\n      return [\"Homepage Banner Admin\"];\n    },\n    beforeModel() {\n      if (!!this.currentUser?.amd_admin) {\n        return this._super(...arguments);\n      } else {\n        this.router.transitionTo(\"homepage\");\n      }\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-admin-manage-blog\", [\"exports\", \"discourse/routes/discourse\", \"@ember/service\"], function (_exports, _discourse, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    currentUser: (0, _service.service)(),\n    router: (0, _service.service)(),\n    titleToken() {\n      return [\"Manage Blog Admin\"];\n    },\n    beforeModel() {\n      if (!!this.currentUser?.amd_admin) {\n        return this._super(...arguments);\n      } else {\n        this.router.transitionTo(\"homepage\");\n      }\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-admin-upcoming-events\", [\"exports\", \"discourse/routes/discourse\", \"@ember/service\"], function (_exports, _discourse, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    currentUser: (0, _service.service)(),\n    router: (0, _service.service)(),\n    titleToken() {\n      return [\"Upcoming Events Admin\"];\n    },\n    beforeModel() {\n      if (!!this.currentUser?.amd_admin) {\n        return this._super(...arguments);\n      } else {\n        this.router.transitionTo(\"homepage\");\n      }\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-admin-user-game\", [\"exports\", \"discourse/routes/discourse\", \"@ember/service\"], function (_exports, _discourse, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    currentUser: (0, _service.service)(),\n    router: (0, _service.service)(),\n    titleToken() {\n      return [\"Games Admin\"];\n    },\n    beforeModel() {\n      if (!!this.currentUser?.amd_admin) {\n        return this._super(...arguments);\n      } else {\n        this.router.transitionTo(\"homepage\");\n      }\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-admin\", [\"exports\", \"discourse/routes/discourse\", \"@ember/service\"], function (_exports, _discourse, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    currentUser: (0, _service.service)(),\n    router: (0, _service.service)(),\n    titleToken() {\n      return [\"Site Settings\"];\n    },\n    beforeModel() {\n      if (!!this.currentUser?.amd_admin) {\n        return this._super(...arguments);\n      } else {\n        this.router.transitionTo(\"homepage\");\n      }\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-black-ops-7\", [\"exports\", \"discourse/routes/discourse\"], function (_exports, _discourse) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    titleToken() {\n      return [\"COD Black Ops 7\"];\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-products\", [\"exports\", \"discourse/routes/discourse\"], function (_exports, _discourse) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    titleToken() {\n      return [\"Products\"];\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/amd-the-game-awards\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\"], function (_exports, _discourse, _ajax) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    titleToken() {\n      return [\"The Game Awards\"];\n    },\n    async model() {\n      const brandLinks = [{\n        name: '11 bit studios',\n        url: 'https://11bitstudios.com',\n        image: '11bit-logo.png'\n      }, {\n        name: 'Activision',\n        url: 'https://www.activision.com',\n        image: 'activision-logo.png'\n      }, {\n        name: 'Alienware',\n        url: 'https://www.dell.com/en-us/gaming/alienware',\n        image: 'alienware-logo.png',\n        scaleDown: true\n      }, {\n        name: 'ASRock',\n        url: 'https://www.asrock.com/index.us.asp',\n        image: 'asrock-logo.png'\n      }, {\n        name: 'Call of Duty: Black Ops 7',\n        url: 'https://www.callofduty.com/blackops7',\n        image: 'bo7-logo.png'\n      }, {\n        name: 'Capcom',\n        url: 'https://www.capcomusa.com',\n        image: 'capcom-logo.png'\n      }, {\n        name: 'Crimson Desert',\n        url: 'https://store.steampowered.com/app/3321460/Crimson_Desert/',\n        image: 'crimson-logo.png'\n      }, {\n        name: 'Digital Sun Games',\n        url: 'https://digitalsungames.com',\n        image: 'digitalsun-logo.png'\n      }, {\n        name: 'Mafia: The Old Country',\n        url: 'https://mafia.2k.com/the-old-country/',\n        image: 'mafia-the-old-country-logo.png',\n        scaleDown: true\n      }, {\n        name: 'MAINGEAR',\n        url: 'https://maingear.com/',\n        image: 'maingear-logo.png',\n        scaleDownSm: true\n      }, {\n        name: 'Monster Hunter Wilds',\n        url: 'https://www.monsterhunter.com/wilds/en-asia',\n        image: 'monsterhunter-logo.png'\n      }, {\n        name: 'Moonlighter 2: The Endless Vault',\n        url: 'https://store.steampowered.com/app/2350790/Moonlighter_2_The_Endless_Vault/',\n        image: 'moonlighter2-logo.png'\n      }, {\n        name: 'Pearl Abyss',\n        url: 'https://www.pearlabyss.com/en-US',\n        image: 'pearl-abyss-logo.png',\n        scaleDownSm: true\n      }, {\n        name: 'Republic of Gamers',\n        url: 'https://rog.asus.com/us',\n        image: 'rog-logo.png'\n      }, {\n        name: 'Xbox',\n        url: 'https://www.xbox.com/',\n        image: 'xbox-logo.png',\n        scaleDown: true\n      }];\n      const resp = await (0, _ajax.ajax)(\"/thegameawards.json\");\n      const activeSweep = resp?.active_sweep ?? 1;\n      const gleamEmbed1 = resp?.gleam_embed_code_1 ?? \"\";\n      const gleamEmbed2 = resp?.gleam_embed_code_2 ?? \"\";\n      const gleamEmbed3 = resp?.gleam_embed_code_3 ?? \"\";\n      const gleamEmbed4 = resp?.gleam_embed_code_4 ?? \"\";\n      return {\n        brandLinks,\n        activeSweep,\n        gleamEmbed1,\n        gleamEmbed2,\n        gleamEmbed3,\n        gleamEmbed4\n      };\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/blog-post\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\", \"discourse/lib/get-url\", \"@ember/service\", \"discourse/lib/text\", \"@ember/template\"], function (_exports, _discourse, _ajax, _getUrl, _service, _text, _template) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  function fmtDateMaybeSec(ts) {\n    if (ts == null) return \"\";\n    const n = Number(ts);\n    const ms = n < 1e12 ? n * 1000 : n;\n    return new Date(ms).toLocaleDateString(\"en-US\", {\n      month: \"short\",\n      day: \"numeric\",\n      year: \"numeric\"\n    });\n  }\n  function mapCommentsToThread(posts) {\n    let likeActionId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n    const byNo = new Map();\n    (posts || []).filter(p => p.post_number > 1 && p.post_type === 1 && !p.deleted_at).forEach(p => {\n      const likeSum = (p.actions_summary || []).find(a => a.id === likeActionId);\n      const liked = (p.actions_summary || []).some(a => a.id === likeActionId && a.acted);\n      byNo.set(p.post_number, {\n        id: p.id,\n        user_id: p.user_id,\n        post_number: p.post_number,\n        parent_no: p.reply_to_post_number || null,\n        username: p.username,\n        display_username: p.display_username || p.name || p.username,\n        avatarUrl: (p.avatar_template || \"\").replace(\"{size}\", \"120\"),\n        cooked: p.cooked,\n        like_count: p.like_count ?? likeSum?.count ?? 0,\n        liked: !!liked,\n        createdAt: new Date(p.created_at).toLocaleString([], {\n          month: \"2-digit\",\n          day: \"2-digit\",\n          year: \"2-digit\",\n          hour: \"2-digit\",\n          minute: \"2-digit\"\n        }),\n        isoCreatedAt: p.created_at,\n        post_url: p.post_url,\n        children: []\n      });\n    });\n    const roots = [];\n    for (const node of byNo.values()) {\n      if (node.parent_no && byNo.has(node.parent_no)) {\n        byNo.get(node.parent_no).children.push(node);\n      } else {\n        roots.push(node);\n      }\n    }\n    const byTime = (a, b) => new Date(a.isoCreatedAt) - new Date(b.isoCreatedAt);\n    const sortTree = arr => arr.sort(byTime).map(n => ({\n      ...n,\n      children: sortTree(n.children)\n    }));\n    return sortTree(roots);\n  }\n  function extractFirstPostLikeMeta(topicJson) {\n    let likeActionId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n    const posts = topicJson?.post_stream?.posts || [];\n    const fp = posts.find(p => p.post_number === 1);\n    if (!fp) {\n      return {\n        firstPostId: null,\n        blogLikes: 0,\n        blogLiked: false\n      };\n    }\n    const sum = (fp.actions_summary || []).find(a => a.id === likeActionId);\n    const blogLikes = fp.like_count ?? sum?.count ?? 0;\n    const blogLiked = (fp.actions_summary || []).some(a => a.id === likeActionId && a.acted);\n    return {\n      firstPostId: fp.id,\n      blogLikes,\n      blogLiked\n    };\n  }\n  var _default = _exports.default = _discourse.default.extend({\n    router: (0, _service.service)(),\n    ui: (0, _service.service)(),\n    currentUser: (0, _service.service)(),\n    titleToken(model) {\n      return model?.post?.title || \"News\";\n    },\n    async model(params) {\n      const idOrSlug = params.id ?? params.slug;\n      const postUrl = (0, _getUrl.default)(`/blog-news/${encodeURIComponent(idOrSlug)}`);\n      const [postResp, adResp] = await Promise.all([(0, _ajax.ajax)(postUrl, {\n        type: \"GET\"\n      }).catch(e => {\n        // eslint-disable-next-line no-console\n        console.error(\"news post fetch failed\", e);\n        this.router.transitionTo(\"blogs-index\");\n        return null;\n      }), (0, _ajax.ajax)((0, _getUrl.default)(\"/cp_ads_slot\"), {\n        type: \"GET\",\n        data: {\n          section: \"blog-news-post\",\n          location: \"1\"\n        }\n      }).catch(() => ({\n        ad: []\n      }))]);\n      const post = postResp?.item ?? postResp?.post ?? null;\n\n      // Optional author block\n      let author = null;\n      if (post?.authorId) {\n        try {\n          const u = await (0, _ajax.ajax)((0, _getUrl.default)(`/cp_blog/author/${post.authorId}`), {\n            type: \"GET\"\n          });\n          author = {\n            avatarUrl: (u.avatar_template || \"\").replace(\"{size}\", \"120\"),\n            name: u.username,\n            title: u.title,\n            bio: u.bio_raw || \"\"\n          };\n        } catch (e) {\n          // eslint-disable-next-line no-console\n          console.error(\"author fetch failed\", e);\n        }\n      }\n      const raw = post?.content ?? \"\";\n      let postCooked;\n      if (post?.contentCooked) {\n        postCooked = (0, _template.htmlSafe)(post.contentCooked);\n      } else {\n        postCooked = (0, _template.htmlSafe)(await (0, _text.cook)(raw));\n      }\n\n      // Comments + like meta for first post in mapped topic\n      let topicId = null;\n      let canReply = false;\n      let likeActionId = 2;\n      let comments = [];\n      let firstPostId = null;\n      let blogLikes = 0;\n      let blogLiked = false;\n      let commentsClosed = false;\n      if (post?.id) {\n        try {\n          const c = await (0, _ajax.ajax)((0, _getUrl.default)(\"/cp_blog/comments\"), {\n            type: \"GET\",\n            data: {\n              post_id: post.id,\n              limit: 25\n            }\n          });\n          topicId = c?.topic_id || null;\n          canReply = !!c?.can_reply;\n          likeActionId = c?.like_action_id || 2;\n          comments = mapCommentsToThread(c?.posts, likeActionId);\n          if (topicId) {\n            const t = await (0, _ajax.ajax)((0, _getUrl.default)(`/t/${topicId}.json`));\n            const meta = extractFirstPostLikeMeta(t, likeActionId);\n            firstPostId = meta.firstPostId;\n            blogLikes = meta.blogLikes;\n            blogLiked = meta.blogLiked;\n            if (typeof t?.closed === \"boolean\") {\n              commentsClosed = t.closed;\n              if (t.closed) {\n                canReply = false;\n              }\n            }\n          }\n        } catch (e) {\n          // eslint-disable-next-line no-console\n          console.error(\"comments/topic fetch failed\", e);\n        }\n      }\n      return {\n        post,\n        author,\n        postCooked,\n        ad: adResp?.ad ?? [],\n        isAdmin: !!this.currentUser?.can_manage_blog,\n        idOrSlug,\n        topicId,\n        canReply,\n        likeActionId,\n        comments,\n        updatedAt: fmtDateMaybeSec(post?.updatedAt ?? post?.createdAt ?? Date.now()),\n        firstPostId,\n        blogLikes,\n        blogLiked,\n        commentsClosed\n      };\n    },\n    setupController(controller, model) {\n      this._super(controller, model);\n      const p = model?.post || {};\n      controller.setProperties({\n        post: p,\n        postContent: p.content || \"\",\n        postContentCooked: model?.postCooked,\n        postTitle: p.title || \"\",\n        postSubtitle: p.subtitle || \"\",\n        headerDesktopUrl: p.desktopHeaderImg || p.thumbnailImg || \"\",\n        headerMobileUrl: p.mobileHeaderImg || p.thumbnailImg || \"\",\n        updatedAt: model?.updatedAt,\n        author: model?.author,\n        ad: model?.ad,\n        isAdmin: model?.isAdmin,\n        slug: model?.idOrSlug,\n        blogId: p.blogId,\n        topicId: model?.topicId,\n        canReply: model?.canReply,\n        likeActionId: model?.likeActionId,\n        commentsTree: model?.comments || [],\n        reactionsCount: model?.blogLikes ?? 0,\n        firstPostId: model?.firstPostId || null,\n        likedFirstPost: !!model?.blogLiked,\n        commentsClosed: !!model?.commentsClosed\n      });\n      if (!model?.isAdmin) this.ui.clearHeaderAction();\n      controller.primePage?.();\n    },\n    resetController(controller, isExiting) {\n      this._super(controller, isExiting);\n      if (isExiting) {\n        controller.closeEdit?.();\n        controller._clearForm?.();\n        controller.editing = false;\n\n        // This has to be last, or closeEdit will create a new header button\n        this.ui.clearHeaderAction();\n      }\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/blogs-index\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\", \"discourse-common/lib/get-url\", \"@ember/service\"], function (_exports, _discourse, _ajax, _getUrl, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  function randomSample(arr, k) {\n    const a = arr.slice();\n    for (let i = a.length - 1; i > 0; i--) {\n      const j = Math.floor(Math.random() * (i + 1));\n      [a[i], a[j]] = [a[j], a[i]];\n    }\n    return a.slice(0, k);\n  }\n  var _default = _exports.default = _discourse.default.extend({\n    ui: (0, _service.service)(),\n    currentUser: (0, _service.service)(),\n    _authorCache: null,\n    init() {\n      this._super(...arguments);\n      this._authorCache = new Map();\n    },\n    titleToken() {\n      return [\"News\"];\n    },\n    async _fetchAuthor(authorId) {\n      if (!authorId) return null;\n      if (this._authorCache.has(authorId)) return this._authorCache.get(authorId);\n      try {\n        const u = await (0, _ajax.ajax)((0, _getUrl.default)(`/cp_blog/author/${authorId}`));\n        const author = {\n          username: u.username,\n          name: u.username,\n          title: u.title,\n          bio: u.bio_raw || \"\",\n          avatarUrl: (u.avatar_template || \"\").replace(\"{size}\", \"120\")\n        };\n        this._authorCache.set(authorId, author);\n        return author;\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(\"author fetch failed\", e);\n        this._authorCache.set(authorId, null);\n        return null;\n      }\n    },\n    async model() {\n      const [news, adResp] = await Promise.all([(0, _ajax.ajax)((0, _getUrl.default)(\"/blog-news\")).catch(() => ({\n        posts: []\n      })), (0, _ajax.ajax)((0, _getUrl.default)(\"/cp_ads_slot\"), {\n        type: \"GET\",\n        data: {\n          section: \"blog-news-index\",\n          location: \"1\"\n        }\n      }).catch(() => ({\n        ad: []\n      }))]);\n      const items = news?.posts?.items ?? [];\n      const featuredItems = news?.featured_posts?.items ?? [];\n      const authorIds = Array.from(new Set(items.map(i => i.authorId).filter(Boolean)));\n      await Promise.all(authorIds.map(id => this._fetchAuthor(id)));\n      const posts = items.map(item => {\n        const author = this._authorCache.get(item.authorId) || null;\n        const rawContent = item.content || \"\";\n        let blurb = item.blurb;\n        if (!blurb) {\n          blurb = rawContent.slice(0, 160);\n          if (rawContent.length > 160) blurb = blurb.replace(/\\s+\\S*$/, \"\") + \"…\";\n        }\n        const tagsCsv = (item.tags || \"\").trim();\n        const tags = tagsCsv ? tagsCsv.split(\",\").map(t => t.trim()).filter(Boolean) : [];\n        const allCaps = new Set([\"AMD\", \"AI\"]);\n        const tagsPretty = tags.map(slug => slug.split(\"-\").map(s => {\n          const upper = s.toUpperCase();\n          return allCaps.has(upper) ? upper : s[0].toUpperCase() + s.slice(1);\n        }).join(\" \"));\n        return {\n          id: item.id,\n          title: item.title,\n          slug: item.slug,\n          thumbnail: item.thumbnailImg,\n          desktopHeaderImg: item.desktopHeaderImg || null,\n          mobileHeaderImg: item.mobileHeaderImg || null,\n          date: function fmtDate(ts) {\n            if (ts == null) return \"\";\n            const n = Number(ts);\n            const ms = n < 1e12 ? n * 1000 : n;\n            const d = new Date(ms);\n            return d.toLocaleDateString(\"en-US\", {\n              month: \"short\",\n              day: \"numeric\",\n              year: \"numeric\"\n            });\n          }(item.createdAt || item.updatedAt || Date.now()),\n          authorId: item.authorId,\n          author,\n          tags,\n          tagsCsv,\n          tagsPretty,\n          blurb,\n          rawContent,\n          likes: Number(item.likes || 0),\n          replyCount: Number(item.reply_count || 0),\n          topicId: item.topic_id || null,\n          firstPostId: item.first_post_id || null,\n          liked: !!item.liked\n        };\n      });\n      const featuredPosts = featuredItems.map(p => ({\n        thumbnail: p.thumbnailImg || p.desktopHeaderImg || p.mobileHeaderImg,\n        url: (0, _getUrl.default)(`/blog-news/${p.slug}`),\n        title: p.title\n      }));\n      return {\n        ...news,\n        posts,\n        featuredPosts,\n        ad: adResp?.ad ?? [],\n        isAdmin: !!this.currentUser?.can_manage_blog\n      };\n    },\n    afterModel(model) {\n      this._super(...arguments);\n      if (!model.isAdmin) this.ui.clearHeaderAction();\n    },\n    setupController(controller, model) {\n      this._super(controller, model);\n\n      // Pick featured posts randomly if there are none\n      if (model.featuredPosts.length === 0) {\n        const candidates = (model.posts || []).filter(p => p?.slug);\n        const picked = randomSample(candidates, Math.min(5, candidates.length));\n        const randomFeaturedPosts = picked.map(p => ({\n          thumbnail: p.thumbnail || p.desktopHeaderImg || p.mobileHeaderImg,\n          url: (0, _getUrl.default)(`/blog-news/${p.slug}`),\n          title: p.title\n        }));\n        model.featuredPosts = randomFeaturedPosts;\n      }\n      controller.setProperties({\n        ad: model.ad,\n        featuredPosts: model.featuredPosts,\n        posts: model.posts,\n        blogId: model.blog_id,\n        isAdmin: model.isAdmin\n      });\n      controller.primePage?.();\n    },\n    resetController(controller, isExiting) {\n      this._super(controller, isExiting);\n      if (isExiting) {\n        controller.closeEdit?.();\n        controller._clearForm?.();\n        controller.editing = false;\n\n        // This has to be last, or closeEdit will create a new header button\n        this.ui.clearHeaderAction();\n      }\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/campaign\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\", \"@ember/service\"], function (_exports, _discourse, _ajax, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    currentUser: (0, _service.service)(),\n    router: (0, _service.service)(),\n    titleToken() {\n      const c = this.controller;\n      const title = c?.campaign?.title;\n      return [title || \"Campaign\"];\n    },\n    async model(params) {\n      try {\n        const data = await (0, _ajax.ajax)(`/cp/campaigns/by-slug/${encodeURIComponent(params.slug)}`);\n        if (data?.is_private && !this.currentUser?.id) {\n          this.router.transitionTo(\"login\");\n          return;\n        }\n        return data;\n      } catch (e) {\n        if (e?.jqXHR?.status === 401) {\n          this.router.transitionTo(\"login\");\n          return;\n        }\n        if (e?.jqXHR?.status === 404) {\n          window.location = \"/404\";\n          return;\n        }\n        throw e;\n      }\n    },\n    setupController(controller, model) {\n      this._super(controller, model);\n      controller.setProperties({\n        campaign: model\n      });\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/complete-oauth-signup\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\"], function (_exports, _discourse, _ajax) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    titleToken() {\n      return \"Complete Account\";\n    },\n    async model(_params, transition) {\n      const pid = transition?.to?.queryParams?.pid;\n      if (!pid) return {\n        error: \"expired\"\n      };\n      try {\n        return await (0, _ajax.ajax)(\"/cp-auth/complete/bootstrap\", {\n          data: {\n            pid\n          }\n        });\n      } catch {\n        return {\n          error: \"expired\"\n        };\n      }\n    },\n    setupController(controller, model) {\n      controller.set(\"model\", model);\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/confirm\", [\"exports\", \"discourse/routes/discourse\", \"@ember/service\"], function (_exports, _discourse, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    currentUser: (0, _service.service)(),\n    router: (0, _service.service)(),\n    beforeModel() {\n      if (this.currentUser?.username) {\n        this.router.transitionTo(\"homepage\");\n      } else {\n        return this._super(...arguments);\n      }\n    },\n    titleToken() {\n      return [\"Confirm Account\"];\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/cp-account-settings\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\", \"@ember/service\"], function (_exports, _discourse, _ajax, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    currentUser: (0, _service.service)(),\n    router: (0, _service.service)(),\n    titleToken() {\n      return [\"Account Settings\"];\n    },\n    beforeModel() {\n      if (!this.currentUser?.id) {\n        this.router.transitionTo(\"homepage\");\n      } else {\n        return this._super(...arguments);\n      }\n    },\n    async model() {\n      const [accountResp, adResp, linkedResp] = await Promise.all([(0, _ajax.ajax)(\"/account-settings.json\"), (0, _ajax.ajax)(\"/cp_ads_slot\", {\n        type: \"GET\",\n        data: {\n          section: \"user-settings\",\n          location: \"1\"\n        }\n      }).catch(e => {\n        return {\n          ad: []\n        };\n      }), (0, _ajax.ajax)(\"cp-auth/oidc/linked\").catch(() => ({\n        providers: []\n      }))]);\n      return {\n        current_user: accountResp.current_user,\n        ad: adResp?.ad ?? [],\n        linkedProviders: linkedResp?.providers ?? []\n      };\n    },\n    setupController(controller, model) {\n      this._super(controller, model);\n      controller.setProperties({\n        user: model.current_user,\n        ad: model.ad,\n        linkedProviders: model.linkedProviders\n      });\n      controller.primeFromUser?.();\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/cp-edit-profile\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\", \"@ember/service\"], function (_exports, _discourse, _ajax, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  const DEFAULT_COLOR = \"#000000\";\n  var _default = _exports.default = _discourse.default.extend({\n    currentUser: (0, _service.service)(),\n    router: (0, _service.service)(),\n    titleToken() {\n      return [\"Edit Profile\"];\n    },\n    beforeModel() {\n      if (!this.currentUser?.id) {\n        this.router.transitionTo(\"homepage\");\n      } else {\n        return this._super(...arguments);\n      }\n    },\n    async model() {\n      const [profileResp, adResp, myGamesResp, verifiedResp, linkedResp] = await Promise.all([(0, _ajax.ajax)(\"/edit-user-profile.json\"), (0, _ajax.ajax)(\"/cp_ads_slot\", {\n        type: \"GET\",\n        data: {\n          section: \"edit-profile\",\n          location: \"1\"\n        }\n      }).catch(e => {\n        return {\n          ad: []\n        };\n      }), (0, _ajax.ajax)(\"/cp/user-games/me\", {\n        type: \"GET\"\n      }).catch(e => {}), (0, _ajax.ajax)(\"/cp/games\", {\n        type: \"GET\",\n        data: {\n          verified: true,\n          limit: 6000,\n          edit_profile: true\n        }\n      }).catch(() => ({})), (0, _ajax.ajax)(\"/cp-auth/oidc/linked\", {\n        type: \"GET\"\n      }).catch(() => ({\n        providers: []\n      }))]);\n      const linkedProviders = Array.isArray(linkedResp?.providers) ? linkedResp.providers : [];\n      return {\n        current_user: profileResp.current_user,\n        ad: adResp?.ad ?? [],\n        user_games: myGamesResp ?? {},\n        linkedProviders: linkedProviders,\n        verified_games_page: {\n          items: verifiedResp?.games || [],\n          cursor: verifiedResp?.cursor || null\n        }\n      };\n    },\n    setupController(controller, model) {\n      this._super(controller, model);\n      controller.setProperties({\n        user: model.current_user,\n        ad: model.ad,\n        linkedProviders: model.linkedProviders\n      });\n      const parsed = model.user_games?.parsed;\n      const games = Array.isArray(parsed?.games) ? parsed.games : [];\n      const slots = Array.from({\n        length: 5\n      }, (_, i) => ({\n        position: i + 1,\n        game: \"\",\n        color: DEFAULT_COLOR,\n        color2: DEFAULT_COLOR\n      }));\n      games.forEach(g => {\n        const idx = (Number(g.position) || 0) - 1;\n        if (idx >= 0 && idx < 5) {\n          slots[idx] = {\n            position: idx + 1,\n            game: (g.game || \"\").toString(),\n            color: (g.color || DEFAULT_COLOR).toString(),\n            color2: (g.color2 || DEFAULT_COLOR).toString()\n          };\n        }\n      });\n      controller.set(\"slots\", slots);\n      controller.setProperties({\n        availableGames: (model.verified_games_page.items || []).map(it => it.display_name).filter(Boolean),\n        gamesCursor: model.verified_games_page.cursor\n      });\n      controller.primeFromUser?.();\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/cp-forgot-password\", [\"exports\", \"discourse/routes/discourse\", \"@ember/service\"], function (_exports, _discourse, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    currentUser: (0, _service.service)(),\n    router: (0, _service.service)(),\n    beforeModel() {\n      if (this.currentUser?.username) {\n        this.router.transitionTo(\"homepage\");\n      } else {\n        return this._super(...arguments);\n      }\n    },\n    titleToken() {\n      return [\"Forgot Password\"];\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/cp-privacy\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\", \"@ember/template\"], function (_exports, _discourse, _ajax, _template) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    titleToken() {\n      return [\"Privacy Policy\"];\n    },\n    async model() {\n      try {\n        const {\n          cooked,\n          etag\n        } = await (0, _ajax.ajax)(\"/cp-legal/privacy.json\", {\n          cache: true\n        });\n        return {\n          cooked,\n          etag\n        };\n      } catch (e) {\n        // Graceful fallback if endpoint misconfigured\n        return {\n          cooked: \"<p>(No Privacy Policy configured.)</p>\",\n          etag: null\n        };\n      }\n    },\n    setupController(controller, model) {\n      this._super(controller, model);\n      controller.setProperties({\n        cookedHtml: (0, _template.htmlSafe)(model.cooked || \"\"),\n        etag: model.etag\n      });\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/cp-profile\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\", \"@ember/service\"], function (_exports, _discourse, _ajax, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  function truncate(str) {\n    let max = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 120;\n    let {\n      byWord = true,\n      suffix = \"…\"\n    } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n    if (str == null) return \"\";\n    const chars = Array.from(String(str)); // emoji-safe\n    if (chars.length <= max) return String(str);\n    let out = chars.slice(0, max).join(\"\");\n    if (byWord) out = out.replace(/\\s+\\S*$/, \"\"); // trim to last whole word\n    return out + suffix;\n  }\n  function stripHtml(html) {\n    const tmp = document.createElement(\"div\");\n    tmp.innerHTML = html ?? \"\";\n    return tmp.textContent || tmp.innerText || \"\";\n  }\n  var _default = _exports.default = _discourse.default.extend({\n    router: (0, _service.service)(),\n    titleToken(model) {\n      const paramsSlug = this.paramsFor(this.routeName)?.slug;\n      return [paramsSlug];\n    },\n    async model(params) {\n      const {\n        slug\n      } = params;\n      const profileUrl = `/user-profile/${encodeURIComponent(slug)}.json`;\n      let profileResp;\n      try {\n        profileResp = await (0, _ajax.ajax)(profileUrl);\n      } catch (e) {\n        if (e?.jqXHR?.status === 404) {\n          this.router.transitionTo(\"homepage\");\n          return;\n        }\n        throw e;\n      }\n      const username = profileResp.user.username; // ← canonical username\n\n      const [adResp, userGameResp, activityResp, linkedResp] = await Promise.all([(0, _ajax.ajax)(\"/cp_ads_slot\", {\n        type: \"GET\",\n        data: {\n          section: \"profile\",\n          location: \"1\"\n        }\n      }).catch(() => ({\n        ad: []\n      })), (0, _ajax.ajax)(`/cp/user-games/${profileResp.user.id}`, {\n        type: \"GET\"\n      }).catch(() => null), (0, _ajax.ajax)(`/u/${encodeURIComponent(username)}/activity.json`, {\n        type: \"GET\"\n      }).catch(e => e?.jqXHR?.status === 404 || e?.jqXHR?.status === 403 ? {\n        stream: []\n      } : Promise.reject(e)), (0, _ajax.ajax)(`/cp-auth/oidc/linked/${encodeURIComponent(username)}`, {\n        type: \"GET\"\n      }).catch(() => ({\n        providers: []\n      }))]);\n      const processedUserGames = (userGameResp?.parsed?.games ?? []).map(g => ({\n        ...g,\n        color2: g.color2 && g.color2.trim() ? g.color2 : \"#000000\"\n      }));\n      const stream = Array.isArray(activityResp?.stream) ? activityResp.stream : activityResp ?? [];\n      const userActions = stream.slice(0, 4).map(a => {\n        // Prefer plain-text excerpt; fall back to cooked -> plain text\n        const full = a.excerpt ?? stripHtml(a.cooked);\n        return {\n          ...a,\n          excerpt_full: full,\n          excerpt_short: truncate(full, 50, {\n            byWord: true\n          }) // <- use this in template\n        };\n      });\n      const linkedProviders = Array.isArray(linkedResp?.providers) ? linkedResp.providers : [];\n      return {\n        user: profileResp,\n        ad: adResp?.ad ?? [],\n        userGames: processedUserGames,\n        userActions: userActions,\n        linkedProviders: linkedProviders\n      };\n    },\n    setupController(controller, model) {\n      this._super(controller, model);\n      controller.setProperties({\n        user: model.user.user,\n        ad: model.ad,\n        userGames: model.userGames,\n        userActions: model.userActions,\n        linkedProviders: model.linkedProviders\n      });\n      controller.primeFromUser?.();\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/cp-tos\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\", \"@ember/template\"], function (_exports, _discourse, _ajax, _template) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    titleToken() {\n      return [\"Terms of Service\"];\n    },\n    async model() {\n      try {\n        const {\n          cooked,\n          etag\n        } = await (0, _ajax.ajax)(\"/cp-legal/tos.json\", {\n          cache: true\n        });\n        return {\n          cooked,\n          etag\n        };\n      } catch (e) {\n        // Graceful fallback if endpoint misconfigured\n        return {\n          cooked: \"<p>(No Terms of Service configured.)</p>\",\n          etag: null\n        };\n      }\n    },\n    setupController(controller, model) {\n      this._super(controller, model);\n      controller.setProperties({\n        cookedHtml: (0, _template.htmlSafe)(model.cooked || \"\"),\n        etag: model.etag\n      });\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/discovery/custom\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\"], function (_exports, _discourse, _ajax) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    queryParams: {\n      loginOpen: {\n        refreshModel: false\n      }\n    },\n    titleToken() {\n      return [\"Homepage\"];\n    },\n    async model() {\n      const [home, bannersResp, adResp, latestResp, upcomingResp] = await Promise.all([(0, _ajax.ajax)(\"/homepage\").catch(() => ({})), (0, _ajax.ajax)(\"/cp_banners/current_banners\", {\n        type: \"GET\"\n      }).catch(() => ({\n        banners: []\n      })), (0, _ajax.ajax)(\"/cp_ads_slot\", {\n        type: \"GET\",\n        data: {\n          section: \"homepage\",\n          location: \"1\"\n        }\n      }).catch(() => ({\n        ad: []\n      })), (0, _ajax.ajax)(\"/cp_blog/latest-posts\", {\n        type: \"GET\"\n      }).catch(e => {}), (0, _ajax.ajax)(\"/cp_upcoming/next\", {\n        type: \"GET\"\n      }).catch(e => {\n        return {\n          events: []\n        };\n      })]);\n      const normalizeNum = v => v == null ? null : Math.floor(Number(v));\n      const upcomingEvents = (upcomingResp?.events || []).map(e => ({\n        ...e,\n        upcoming_at: normalizeNum(e.upcoming_at),\n        created_at: normalizeNum(e.created_at)\n      }));\n      return {\n        ...home,\n        banners: bannersResp?.banners ?? [],\n        ad: adResp?.ad ?? [],\n        latestTopics: latestResp?.posts ?? [],\n        loginOpen: false,\n        upcomingEvents\n      };\n    },\n    setupController(controller, model) {\n      this._super(controller, model);\n      controller.setProperties({\n        loginOpen: model.loginOpen,\n        banners: model.banners,\n        ad: model.ad,\n        latestTopics: model.latestTopics,\n        upcomingEvents: model.upcomingEvents\n      });\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/homepage\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\"], function (_exports, _discourse, _ajax) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    queryParams: {\n      loginOpen: {\n        refreshModel: false\n      }\n    },\n    titleToken() {\n      return [\"Homepage\"];\n    },\n    async model() {\n      const [home, bannersResp, adResp, latestResp, upcomingResp] = await Promise.all([(0, _ajax.ajax)(\"/homepage.json\"), (0, _ajax.ajax)(\"/cp_banners/current_banners\", {\n        type: \"GET\"\n      }).catch(() => ({\n        banners: []\n      })), (0, _ajax.ajax)(\"/cp_ads_slot\", {\n        type: \"GET\",\n        data: {\n          section: \"homepage\",\n          location: \"1\"\n        }\n      }).catch(e => {\n        return {\n          ad: []\n        };\n      }), (0, _ajax.ajax)(\"/cp_blog/latest-posts\", {\n        type: \"GET\"\n      }).catch(e => {}), (0, _ajax.ajax)(\"/cp_upcoming/next\", {\n        type: \"GET\"\n      }).catch(e => {\n        return {\n          events: []\n        };\n      })]);\n      const normalizeNum = v => v == null ? null : Math.floor(Number(v));\n      const upcomingEvents = (upcomingResp?.events || []).map(e => ({\n        ...e,\n        upcoming_at: normalizeNum(e.upcoming_at),\n        created_at: normalizeNum(e.created_at)\n      }));\n      return {\n        ...home,\n        banners: bannersResp?.banners ?? [],\n        ad: adResp?.ad ?? [],\n        latestTopics: latestResp?.posts ?? [],\n        loginOpen: false,\n        upcomingEvents\n      };\n    },\n    setupController(controller, model) {\n      this._super(controller, model);\n      controller.setProperties({\n        loginOpen: model.loginOpen,\n        banners: model.banners,\n        ad: model.ad,\n        latestTopics: model.latestTopics,\n        upcomingEvents: model.upcomingEvents\n      });\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/my-loot\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\", \"@ember/service\"], function (_exports, _discourse, _ajax, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    router: (0, _service.service)(),\n    titleToken(model) {\n      return model?.post?.title || \"Rewards\";\n    },\n    async model() {\n      const [adResp, giveawayData] = await Promise.all([(0, _ajax.ajax)(\"/cp_ads_slot\", {\n        type: \"GET\",\n        data: {\n          section: \"loot-index\",\n          location: \"1\"\n        }\n      }).catch(() => ({\n        ad: []\n      })), (0, _ajax.ajax)(\"/cp/user-giveaways/me\", {\n        type: \"GET\"\n      }).catch(e => ({\n        giveaways: []\n      }))]);\n      return {\n        ad: adResp?.ad ?? [],\n        keys: giveawayData?.items ?? []\n      };\n    },\n    setupController(controller, model) {\n      this._super(controller, model);\n      controller.setProperties({\n        ad: model.ad,\n        keys: model.keys\n      });\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/promotion-page\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\", \"discourse/lib/get-url\", \"@ember/service\", \"discourse/lib/text\", \"@ember/template\"], function (_exports, _discourse, _ajax, _getUrl, _service, _text, _template) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  function extractYouTubeId(url) {\n    if (!url) return null;\n    try {\n      const u = new URL(url);\n      const host = u.hostname.replace(/^www\\./, \"\");\n      if (host === \"youtu.be\") {\n        return u.pathname.replace(\"/\", \"\");\n      }\n      const v = u.searchParams.get(\"v\");\n      if (v) return v;\n      const parts = u.pathname.split(\"/\").filter(Boolean);\n      if (parts[0] === \"embed\" && parts[1]) return parts[1];\n      if (parts[0] === \"shorts\" && parts[1]) return parts[1];\n    } catch {\n      // ignore\n    }\n    return null;\n  }\n  function toYouTubeEmbed(url) {\n    const id = extractYouTubeId(url);\n    return id ? `https://www.youtube.com/embed/${id}?autoplay=1&mute=1&playsinline=1&rel=0` : url;\n  }\n  var _default = _exports.default = _discourse.default.extend({\n    router: (0, _service.service)(),\n    ui: (0, _service.service)(),\n    currentUser: (0, _service.service)(),\n    titleToken(model) {\n      return model?.promotion?.title || \"Promotions\";\n    },\n    async model(params) {\n      const idOrSlug = params.id ?? params.slug;\n      const postUrl = (0, _getUrl.default)(`/promotions/${encodeURIComponent(idOrSlug)}`);\n      const [postResp, adResp] = await Promise.all([(0, _ajax.ajax)(postUrl, {\n        type: \"GET\"\n      }).catch(e => {\n        // eslint-disable-next-line no-console\n        console.error(\"promotions promotion fetch failed\", e);\n        this.router.transitionTo(\"promotions-index\");\n        return null;\n      }), (0, _ajax.ajax)((0, _getUrl.default)(\"/cp_ads_slot\"), {\n        type: \"GET\",\n        data: {\n          section: \"promotions-promo\",\n          location: \"1\"\n        }\n      }).catch(() => ({\n        ad: []\n      }))]);\n      if (!postResp) {\n        return {\n          promotion: {},\n          mediaType: \"unknown\",\n          mediaUrl: \"\",\n          descCooked: \"\",\n          instructionsCooked: \"\",\n          canClaimKey: false,\n          ad: adResp?.ad ?? []\n        };\n      }\n\n      // Render description\n      const raw = postResp.content ?? \"\";\n      let descCooked = raw;\n      try {\n        descCooked = (0, _template.htmlSafe)(await (0, _text.cook)(raw));\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(\"cookAsync failed\", e);\n      }\n\n      // Render redemption instructions\n      const instrRaw = postResp.redemptionInstructions ?? \"\";\n      let instructionsCooked = \"\";\n      try {\n        instructionsCooked = (0, _template.htmlSafe)(await (0, _text.cook)(instrRaw));\n      } catch (e) {\n        // eslint-disable-next-line no-console\n        console.error(\"cookAsync (instructions) failed\", e);\n      }\n\n      // Prefer youtubeUrl -> headerImageUrl -> thumbnailImageUrl\n      const yt = postResp.youtubeUrl;\n      const headerImg = postResp.headerImageUrl;\n      const thumbImg = postResp.thumbnailImageUrl;\n      let mediaType = \"unknown\";\n      let mediaUrlProcessed = \"\";\n      if (yt) {\n        mediaType = \"youtube\";\n        mediaUrlProcessed = toYouTubeEmbed(yt);\n      } else if (headerImg) {\n        mediaType = \"image\";\n        mediaUrlProcessed = headerImg;\n      } else if (thumbImg) {\n        mediaType = \"image\";\n        mediaUrlProcessed = thumbImg;\n      }\n      return {\n        promotion: postResp,\n        mediaUrl: mediaUrlProcessed,\n        mediaType,\n        descCooked,\n        instructionsCooked,\n        canClaimKey: true,\n        ad: adResp?.ad ?? []\n      };\n    },\n    setupController(controller, model) {\n      this._super(controller, model);\n      const p = model?.promotion || {};\n      const claimedCode = p?.key?.code || \"\";\n      controller.setProperties({\n        title: p.title,\n        mediaUrl: model?.mediaUrl,\n        mediaType: model?.mediaType,\n        platform: p.platform,\n        developer: p.developer,\n        gameWebsite: p.gameWebsiteUrl,\n        color: p.color,\n        descCooked: model?.descCooked,\n        instructionsCooked: model?.instructionsCooked,\n        keysRemaining: p.keysAvailable,\n        canClaimKey: model?.canClaimKey,\n        ad: model?.ad,\n        giveawayId: p.id,\n        keyCode: claimedCode,\n        keyClaimedWindowOpen: Boolean(claimedCode)\n      });\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/promotions-index\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\", \"@ember/service\", \"discourse/lib/text\", \"@ember/template\"], function (_exports, _discourse, _ajax, _service, _text, _template) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  async function cookDescription(raw) {\n    let descCooked = raw ?? \"\";\n    try {\n      descCooked = (0, _template.htmlSafe)(await (0, _text.cook)(raw || \"\"));\n    } catch (e) {\n      // eslint-disable-next-line no-console\n      console.error(\"cookAsync failed\", e);\n    }\n    return descCooked;\n  }\n  function slugify() {\n    let s = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n    return s.toLowerCase().replace(/[^a-z0-9]+/g, \"-\").replace(/(^-|-$)/g, \"\") || \"promotion\";\n  }\n  function formatPublished(epochSeconds) {\n    if (!epochSeconds && epochSeconds !== 0) return null;\n    const d = new Date(epochSeconds * 1000);\n    if (isNaN(d.getTime())) return null;\n    const mm = String(d.getMonth() + 1).padStart(2, \"0\");\n    const dd = String(d.getDate()).padStart(2, \"0\");\n    const yyyy = d.getFullYear();\n    return `${mm}.${dd}.${yyyy}`;\n  }\n  async function toCard(item) {\n    const title = item?.title || \"Untitled Promotion\";\n    const slug = item?.slug || slugify(title);\n    const media_url = item?.thumbnailImageUrl;\n    const description = await cookDescription(item?.content || \"*No description yet.*\");\n    const tagsStr = item?.tags || \"\";\n    const type = /giveaway/i.test(`${tagsStr} ${title}`) ? \"Giveaway\" : \"Promotion\";\n    const published = formatPublished(item?.createdAt);\n    const color = item?.color || \"#F26522\";\n    return {\n      id: item?.id || `promo-${slug}`,\n      title,\n      slug,\n      media_url,\n      description,\n      keys_remaining: item?.keysAvailable ?? null,\n      published,\n      type,\n      color\n    };\n  }\n  function cmpByUpdatedThenCreatedDesc(a, b) {\n    const bu = Number(b?.updatedAt ?? 0);\n    const au = Number(a?.updatedAt ?? 0);\n    if (bu !== au) return bu - au;\n    const bc = Number(b?.createdAt ?? 0);\n    const ac = Number(a?.createdAt ?? 0);\n    if (bc !== ac) return bc - ac;\n    const aid = String(a?.id ?? a?.slug ?? \"\");\n    const bid = String(b?.id ?? b?.slug ?? \"\");\n    return aid.localeCompare(bid);\n  }\n  function keyOf(i) {\n    return String(i?.id ?? i?.slug ?? \"\");\n  }\n  var _default = _exports.default = _discourse.default.extend({\n    router: (0, _service.service)(),\n    titleToken(model) {\n      return model?.post?.title || \"Promotions\";\n    },\n    async model() {\n      const [promoResp, adResp] = await Promise.all([(0, _ajax.ajax)(\"/promotions\", {\n        type: \"GET\"\n      }).catch(e => {\n        // eslint-disable-next-line no-console\n        console.log(e);\n        return [];\n      }), (0, _ajax.ajax)(\"/cp_ads_slot\", {\n        type: \"GET\",\n        data: {\n          section: \"promotions-index\",\n          location: \"1\"\n        }\n      }).catch(() => ({\n        ad: []\n      }))]);\n\n      // Normalize items shape\n      const items = Array.isArray(promoResp?.items) ? promoResp.items : Array.isArray(promoResp) ? promoResp : [];\n      const notDeleted = items.filter(i => i && !i.deleted);\n      const sortedAll = notDeleted.slice().sort(cmpByUpdatedThenCreatedDesc);\n\n      // mainFeatured  = most recently updated with featured:true\n      // subFeatured   = next 5 most recently updated featured:true\n      // previousPromotions = everything else (older featured + non-featured)\n      const featuredSorted = sortedAll.filter(i => !!i.featured);\n      const mainRaw = featuredSorted[0] || null;\n      const subRaw = featuredSorted.slice(1, 6);\n      const used = new Set([...(mainRaw ? [keyOf(mainRaw)] : []), ...subRaw.map(i => keyOf(i))]);\n      const previousRaw = sortedAll.filter(i => !used.has(keyOf(i)));\n\n      // Map to cooked cards\n      let mainFeatured;\n      let subFeatured = [];\n      let previousPromotions = [];\n      if (mainRaw) {\n        mainFeatured = await toCard(mainRaw);\n      } else {\n        // Fallback if there are no featured at all\n        const fallback = sortedAll[0] || {\n          id: \"coming-soon\",\n          title: \"More promotions coming soon\",\n          slug: \"coming-soon\",\n          content: \"**Stay tuned** — new promotions are on the way.\",\n          createdAt: Math.floor(Date.now() / 1000)\n        };\n        mainFeatured = await toCard(fallback);\n      }\n      subFeatured = await Promise.all(subRaw.map(i => toCard(i)));\n      previousPromotions = await Promise.all(previousRaw.map(i => toCard(i)));\n      return {\n        ad: adResp?.ad ?? [],\n        mainFeatured,\n        subFeatured,\n        previousPromotions\n      };\n    },\n    setupController(controller, model) {\n      this._super(controller, model);\n      controller.setProperties({\n        ad: model.ad,\n        mainFeatured: model.mainFeatured,\n        subFeatured: model.subFeatured,\n        previousPromotions: model.previousPromotions\n      });\n      controller.primeFromUser?.();\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/rewards-index\", [\"exports\", \"discourse/routes/discourse\", \"discourse/lib/ajax\", \"@ember/service\"], function (_exports, _discourse, _ajax, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    router: (0, _service.service)(),\n    titleToken(model) {\n      return model?.post?.title || \"Rewards\";\n    },\n    async model() {\n      const [adResp, giveawayData] = await Promise.all([(0, _ajax.ajax)(\"/cp_ads_slot\", {\n        type: \"GET\",\n        data: {\n          section: \"loot-index\",\n          location: \"1\"\n        }\n      }).catch(() => ({\n        ad: []\n      })), (0, _ajax.ajax)(\"/cp/user-giveaways/me\", {\n        type: \"GET\"\n      }).catch(e => ({\n        giveaways: []\n      }))]);\n      return {\n        ad: adResp?.ad ?? [],\n        keys: giveawayData?.items ?? []\n      };\n    },\n    setupController(controller, model) {\n      this._super(controller, model);\n      controller.setProperties({\n        ad: model.ad,\n        keys: model.keys\n      });\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/routes/sign-up\", [\"exports\", \"discourse/routes/discourse\", \"@ember/service\"], function (_exports, _discourse, _service) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = _discourse.default.extend({\n    currentUser: (0, _service.service)(),\n    router: (0, _service.service)(),\n    beforeModel() {\n      if (this.currentUser?.username) {\n        this.router.transitionTo(\"homepage\");\n      } else {\n        return this._super(...arguments);\n      }\n    },\n    titleToken() {\n      return [\"Create Account\"];\n    }\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-advertisement\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"admin-container\">\n      <AdvertisementsAdmin @initialAds={{this.model.ads}} @initialNextCursor={{this.model.next_cursor}}\n          @backRoute=\"adminPlugins.igames-cp-settings\" />\n  </div>\n  */\n  {\n    \"id\": \"RUreAY5U\",\n    \"block\": \"[[[10,0],[14,0,\\\"admin-container\\\"],[12],[1,\\\"\\\\n    \\\"],[8,[39,1],null,[[\\\"@initialAds\\\",\\\"@initialNextCursor\\\",\\\"@backRoute\\\"],[[30,0,[\\\"model\\\",\\\"ads\\\"]],[30,0,[\\\"model\\\",\\\"next_cursor\\\"]],\\\"adminPlugins.igames-cp-settings\\\"]],null],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"advertisements-admin\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-advertisement.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-campaigns\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"admin-container\">\n    <CampaignAdmin @backRoute=\"adminPlugins.igames-cp-settings\" />\n  </div>\n  */\n  {\n    \"id\": \"jphJ0NZj\",\n    \"block\": \"[[[10,0],[14,0,\\\"admin-container\\\"],[12],[1,\\\"\\\\n  \\\"],[8,[39,1],null,[[\\\"@backRoute\\\"],[\\\"adminPlugins.igames-cp-settings\\\"]],null],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"campaign-admin\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-campaigns.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-giveaways\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <GiveawaysAdmin @backRoute=\"adminPlugins.igames-cp-settings\" />\n  */\n  {\n    \"id\": \"aRrvRMiq\",\n    \"block\": \"[[[8,[39,0],null,[[\\\"@backRoute\\\"],[\\\"adminPlugins.igames-cp-settings\\\"]],null]],[],false,[\\\"giveaways-admin\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-giveaways.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-homepage\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"admin-container\">\n    <HomepageAdmin @initialBanners={{this.model.banners}} @backRoute=\"adminPlugins.igames-cp-settings\" />\n  </div>\n  */\n  {\n    \"id\": \"0q3tuun9\",\n    \"block\": \"[[[10,0],[14,0,\\\"admin-container\\\"],[12],[1,\\\"\\\\n  \\\"],[8,[39,1],null,[[\\\"@initialBanners\\\",\\\"@backRoute\\\"],[[30,0,[\\\"model\\\",\\\"banners\\\"]],\\\"adminPlugins.igames-cp-settings\\\"]],null],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"homepage-admin\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-homepage.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-img-upload\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"ig-admin-card\">\n    <div class=\"ig-admin-card-head\">\n      <h1 class=\"ig-admin-title\">Image Upload Test</h1>\n      <LinkTo @route=\"adminPlugins.igames-cp-settings\" class=\"btn btn-secondary\">Back to Settings</LinkTo>\n    </div>\n  \n    <form {{on \"submit\" this.uploadImage}} enctype=\"multipart/form-data\" class=\"ig-form\">\n      <div class=\"ig-field\">\n        <label for=\"file-input\" class=\"ig-label\">Select an image to upload</label>\n  \n        <div class=\"ig-file\">\n          <input\n            type=\"file\"\n            id=\"file-input\"\n            class=\"ig-file-input\"\n            {{on \"change\" this.handleFileChange}}\n          />\n  \n          <label for=\"file-input\" class=\"btn btn-outline\">Choose File</label>\n          <span class=\"ig-file-name\">\n            {{if this.selectedFileName this.selectedFileName \"No file selected\"}}\n          </span>\n        </div>\n        <div class=\"ig-hint\">Max ~10MB. PNG/JPG/GIF work best.</div>\n      </div>\n  \n      <div class=\"ig-actions\">\n        <button type=\"submit\" class=\"btn btn-primary\" disabled={{this.isUploading}}>\n          {{if this.isUploading \"Uploading…\" \"Upload\"}}\n        </button>\n      </div>\n    </form>\n  \n    {{#if this.uploadResponse}}\n      <div class=\"ig-result success\">\n        <div class=\"ig-result-title\">Upload successful!</div>\n        <div class=\"ig-kv\"><span>ID</span><span>{{this.uploadResponse.id}}</span></div>\n        <div class=\"ig-kv\">\n          <span>URL</span>\n          <span><a href={{this.uploadResponse.url}} target=\"_blank\" rel=\"noopener\">{{this.uploadResponse.url}}</a></span>\n        </div>\n        <img src={{this.uploadResponse.url}} alt=\"Uploaded image\" class=\"ig-preview\" />\n      </div>\n    {{/if}}\n  \n    {{#if this.errorMessage}}\n      <div class=\"ig-alert danger\">Error: {{this.errorMessage}}</div>\n    {{/if}}\n  </div>\n  \n  */\n  {\n    \"id\": \"BO2JoSui\",\n    \"block\": \"[[[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"h1\\\"],[14,0,\\\"ig-admin-title\\\"],[12],[1,\\\"Image Upload Test\\\"],[13],[1,\\\"\\\\n    \\\"],[8,[39,2],[[24,0,\\\"btn btn-secondary\\\"]],[[\\\"@route\\\"],[\\\"adminPlugins.igames-cp-settings\\\"]],[[\\\"default\\\"],[[[[1,\\\"Back to Settings\\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[11,\\\"form\\\"],[24,\\\"enctype\\\",\\\"multipart/form-data\\\"],[24,0,\\\"ig-form\\\"],[4,[38,4],[\\\"submit\\\",[30,0,[\\\"uploadImage\\\"]]],null],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-field\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"file-input\\\"],[14,0,\\\"ig-label\\\"],[12],[1,\\\"Select an image to upload\\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"ig-file\\\"],[12],[1,\\\"\\\\n        \\\"],[11,\\\"input\\\"],[24,1,\\\"file-input\\\"],[24,0,\\\"ig-file-input\\\"],[24,4,\\\"file\\\"],[4,[38,4],[\\\"change\\\",[30,0,[\\\"handleFileChange\\\"]]],null],[12],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"file-input\\\"],[14,0,\\\"btn btn-outline\\\"],[12],[1,\\\"Choose File\\\"],[13],[1,\\\"\\\\n        \\\"],[10,1],[14,0,\\\"ig-file-name\\\"],[12],[1,\\\"\\\\n          \\\"],[1,[52,[30,0,[\\\"selectedFileName\\\"]],[30,0,[\\\"selectedFileName\\\"]],\\\"No file selected\\\"]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"ig-hint\\\"],[12],[1,\\\"Max ~10MB. PNG/JPG/GIF work best.\\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"button\\\"],[14,0,\\\"btn btn-primary\\\"],[15,\\\"disabled\\\",[30,0,[\\\"isUploading\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n        \\\"],[1,[52,[30,0,[\\\"isUploading\\\"]],\\\"Uploading…\\\",\\\"Upload\\\"]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"uploadResponse\\\"]],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"ig-result success\\\"],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"ig-result-title\\\"],[12],[1,\\\"Upload successful!\\\"],[13],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"ig-kv\\\"],[12],[10,1],[12],[1,\\\"ID\\\"],[13],[10,1],[12],[1,[30,0,[\\\"uploadResponse\\\",\\\"id\\\"]]],[13],[13],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"ig-kv\\\"],[12],[1,\\\"\\\\n        \\\"],[10,1],[12],[1,\\\"URL\\\"],[13],[1,\\\"\\\\n        \\\"],[10,1],[12],[10,3],[15,6,[30,0,[\\\"uploadResponse\\\",\\\"url\\\"]]],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener\\\"],[12],[1,[30,0,[\\\"uploadResponse\\\",\\\"url\\\"]]],[13],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,0,[\\\"uploadResponse\\\",\\\"url\\\"]]],[14,\\\"alt\\\",\\\"Uploaded image\\\"],[14,0,\\\"ig-preview\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"errorMessage\\\"]],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"ig-alert danger\\\"],[12],[1,\\\"Error: \\\"],[1,[30,0,[\\\"errorMessage\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[13],[1,\\\"\\\\n\\\"]],[],false,[\\\"div\\\",\\\"h1\\\",\\\"link-to\\\",\\\"form\\\",\\\"on\\\",\\\"label\\\",\\\"input\\\",\\\"span\\\",\\\"if\\\",\\\"button\\\",\\\"a\\\",\\\"img\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-img-upload.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-manage-blog\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"admin-container\">\n    <ManageBlogAdmin @backRoute=\"adminPlugins.igames-cp-settings\" />\n  </div>\n  */\n  {\n    \"id\": \"1j9KAISr\",\n    \"block\": \"[[[10,0],[14,0,\\\"admin-container\\\"],[12],[1,\\\"\\\\n  \\\"],[8,[39,1],null,[[\\\"@backRoute\\\"],[\\\"adminPlugins.igames-cp-settings\\\"]],null],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"manage-blog-admin\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-manage-blog.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-reported-content\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"admin-container\">\n      <div class=\"ig-admin-card-head\">\n          <h1>Reported Content</h1>\n          <LinkTo @route=\"adminPlugins.igames-cp-settings\" class=\"btn btn-secondary\">\n              Back to Settings\n          </LinkTo>\n      </div>\n  \n      {{!-- Controls --}}\n      <div class=\"ig-admin-card\">\n          <div class=\"ig-admin-card-head\">\n              <h2 class=\"ig-admin-title\">Moderation Queue</h2>\n          </div>\n  \n          <div class=\"ig-form\">\n              <div class=\"form-row\">\n                  <label>Status</label>\n                  <select {{on \"change\" this.onStatusChange}} value={{this.status}}>\n                      <option value=\"open\">Open (Awaiting Review)</option>\n                      <option value=\"approved\">Approved</option>\n                  </select>\n              </div>\n  \n              <div class=\"form-row\">\n                  <label>Page Size</label>\n                  <select {{on \"change\" this.onLimitChange}} value={{this.limit}}>\n                      <option value=\"25\">25</option>\n                      <option value=\"50\">50</option>\n                      <option value=\"100\">100</option>\n                  </select>\n              </div>\n  \n              <div class=\"form-row\">\n                  <label>Filter</label>\n                  <input type=\"text\" placeholder=\"Search id, user ids, reason, target…\" value={{this.q}} {{on \"input\"\n                      this.onQueryInput}} />\n              </div>\n  \n              <div class=\"ig-actions\">\n                  <button type=\"button\" class=\"btn btn-secondary\" {{on \"click\" this.refresh}} disabled={{this.loading}}>\n                      {{if this.loading \"Loading...\" \"Refresh\"}}\n                  </button>\n              </div>\n  \n              {{#if this.errorMessage}}\n              <div class=\"ig-alert danger\">Error: {{this.errorMessage}}</div>\n              {{/if}}\n  \n              {{#if this.message}}\n              <div class=\"ig-result success\">\n                  <div class=\"ig-result-title\">{{this.message}}</div>\n              </div>\n              {{/if}}\n          </div>\n      </div>\n  \n      {{!-- Results --}}\n      <div class=\"ig-admin-card\">\n          <div class=\"ig-admin-card-head\">\n              <h2>\n                  {{#if (eq this.status \"open\")}}\n                  Open Reports\n                  {{else if (eq this.status \"approved\")}}\n                  Approved Reports\n                  {{else}}\n                  Denied Reports\n                  {{/if}}\n              </h2>\n  \n              <div class=\"ig-actions\">\n                  <button class=\"btn btn-secondary\" type=\"button\" {{on \"click\" this.prevPage}} disabled={{not\n                      this.hasPrev}}>\n                      ← Prev\n                  </button>\n                  <button class=\"btn btn-secondary\" type=\"button\" {{on \"click\" this.nextPage}} disabled={{not\n                      this.hasNext}}>\n                      Next →\n                  </button>\n              </div>\n          </div>\n  \n          {{#if this.filteredReports.length}}\n          <table class=\"ig-table\">\n              <thead>\n                  <tr>\n                      <th>ID</th>\n                      <th>Created</th>\n                      <th>Reporter</th>\n                      <th>Reported User</th>\n                      <th>Target</th>\n                      <th>Reason</th>\n                      <th>Snapshot</th>\n                      <th>Status</th>\n                      <th style=\"width:260px;\">Moderator Note / Actions</th>\n                  </tr>\n              </thead>\n              <tbody>\n                  {{#each this.filteredReports as |r|}}\n                  <tr>\n                      <td class=\"truncate\"><code>{{r.id}}</code></td>\n                      <td>\n                          {{r.created_at}}<br />\n                          <span class=\"muted\">{{r.created_at_fmt}}</span>\n                      </td>\n                      <td>{{r.reporter_user_id}}</td>\n                      <td>{{r.reported_user_id}}</td>\n                      <td>\n                          <div><strong>{{r.target_type}}</strong></div>\n                      </td>\n                      <td>\n                          <div><strong>{{r.reason_code}}</strong></div>\n                          {{#if r.reason_text}}\n                          <div class=\"muted truncate\" title={{r.reason_text}}>{{r.reason_text}}</div>\n                          {{/if}}\n                      </td>\n                      <td>\n                      <td>\n                          {{#if (eq r.target_type \"about_me\")}}\n                          <div class=\"muted truncate\" title={{this.aboutExcerptFor r}}>\n                              {{this.aboutExcerptFor r}}\n                          </div>\n                          {{else if (eq r.target_type \"user_image\")}}\n                          {{#if r.content_snapshot.image_url}}\n                          <img alt=\"Reported image\" src={{r.content_snapshot.image_url}} class=\"ig-report-thumb\" />\n                          {{/if}}\n                          {{else}}\n                          <span class=\"muted\">—</span>\n                          {{/if}}\n                      </td>\n  \n                      </td>\n                      <td>\n                          {{r.status}}<br />\n                          {{#if r.decision_at}}\n                          <span class=\"muted\">{{r.decision_at_fmt}}</span>\n                          {{/if}}\n                      </td>\n                      <td>\n                          <textarea rows=\"2\" placeholder=\"Moderator note…\" value={{this.noteFor r.id}} {{on \"input\" (fn\n                              this.updateNote r.id)}}></textarea>\n  \n                          <div class=\"ig-actions\" style=\"margin-top:6px;\">\n                              {{#if (eq r.status \"open\")}}\n                              <button class=\"btn btn-primary\" type=\"button\" disabled={{this.loadingAction}} {{on \"click\"\n                                  (fn this.approveReport r)}}>\n                                  {{if this.loadingAction \"Working...\" \"Approve\"}}\n                              </button>\n                              <button class=\"btn\" type=\"button\" disabled={{this.loadingAction}} {{on \"click\" (fn\n                                  this.denyReport r)}}>\n                                  {{if this.loadingAction \"Working...\" \"Deny\"}}\n                              </button>\n                              {{else}}\n                              <span class=\"muted\">Decided</span>\n                              {{/if}}\n                          </div>\n                      </td>\n                  </tr>\n                  {{/each}}\n              </tbody>\n          </table>\n          {{else}}\n          <p>No reports found.</p>\n          {{/if}}\n  \n          <div class=\"ig-admin-card-foot\">\n              <div class=\"ig-actions\">\n                  <button class=\"btn btn-secondary\" type=\"button\" {{on \"click\" this.prevPage}} disabled={{not\n                      this.hasPrev}}>\n                      ← Prev\n                  </button>\n                  <button class=\"btn btn-secondary\" type=\"button\" {{on \"click\" this.nextPage}} disabled={{not\n                      this.hasNext}}>\n                      Next →\n                  </button>\n              </div>\n              <div class=\"muted\">\n                  Showing {{this.filteredReports.length}} of {{this.reports.length}} item(s).\n              </div>\n          </div>\n      </div>\n  </div>\n  */\n  {\n    \"id\": \"LAvj9yXf\",\n    \"block\": \"[[[10,0],[14,0,\\\"admin-container\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"h1\\\"],[12],[1,\\\"Reported Content\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,2],[[24,0,\\\"btn btn-secondary\\\"]],[[\\\"@route\\\"],[\\\"adminPlugins.igames-cp-settings\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n            Back to Settings\\\\n        \\\"]],[]]]]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"    \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"h2\\\"],[14,0,\\\"ig-admin-title\\\"],[12],[1,\\\"Moderation Queue\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"ig-form\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"label\\\"],[12],[1,\\\"Status\\\"],[13],[1,\\\"\\\\n                \\\"],[11,\\\"select\\\"],[16,2,[30,0,[\\\"status\\\"]]],[4,[38,6],[\\\"change\\\",[30,0,[\\\"onStatusChange\\\"]]],null],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"option\\\"],[14,2,\\\"open\\\"],[12],[1,\\\"Open (Awaiting Review)\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"option\\\"],[14,2,\\\"approved\\\"],[12],[1,\\\"Approved\\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"label\\\"],[12],[1,\\\"Page Size\\\"],[13],[1,\\\"\\\\n                \\\"],[11,\\\"select\\\"],[16,2,[30,0,[\\\"limit\\\"]]],[4,[38,6],[\\\"change\\\",[30,0,[\\\"onLimitChange\\\"]]],null],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"option\\\"],[14,2,\\\"25\\\"],[12],[1,\\\"25\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"option\\\"],[14,2,\\\"50\\\"],[12],[1,\\\"50\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"option\\\"],[14,2,\\\"100\\\"],[12],[1,\\\"100\\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"form-row\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"label\\\"],[12],[1,\\\"Filter\\\"],[13],[1,\\\"\\\\n                \\\"],[11,\\\"input\\\"],[24,\\\"placeholder\\\",\\\"Search id, user ids, reason, target…\\\"],[16,2,[30,0,[\\\"q\\\"]]],[24,4,\\\"text\\\"],[4,[38,6],[\\\"input\\\",[30,0,[\\\"onQueryInput\\\"]]],null],[12],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[30,0,[\\\"loading\\\"]]],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"refresh\\\"]]],null],[12],[1,\\\"\\\\n                    \\\"],[1,[52,[30,0,[\\\"loading\\\"]],\\\"Loading...\\\",\\\"Refresh\\\"]],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"errorMessage\\\"]],[[[1,\\\"            \\\"],[10,0],[14,0,\\\"ig-alert danger\\\"],[12],[1,\\\"Error: \\\"],[1,[30,0,[\\\"errorMessage\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"message\\\"]],[[[1,\\\"            \\\"],[10,0],[14,0,\\\"ig-result success\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"ig-result-title\\\"],[12],[1,[30,0,[\\\"message\\\"]]],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"    \\\"],[10,0],[14,0,\\\"ig-admin-card\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"ig-admin-card-head\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,11],[[30,0,[\\\"status\\\"]],\\\"open\\\"],null],[[[1,\\\"                Open Reports\\\\n\\\"]],[]],[[[41,[28,[37,11],[[30,0,[\\\"status\\\"]],\\\"approved\\\"],null],[[[1,\\\"                Approved Reports\\\\n\\\"]],[]],[[[1,\\\"                Denied Reports\\\\n                \\\"]],[]]]],[]]],[1,\\\"            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[28,[37,12],[[30,0,[\\\"hasPrev\\\"]]],null]],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"prevPage\\\"]]],null],[12],[1,\\\"\\\\n                    ← Prev\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[28,[37,12],[[30,0,[\\\"hasNext\\\"]]],null]],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"nextPage\\\"]]],null],[12],[1,\\\"\\\\n                    Next →\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"filteredReports\\\",\\\"length\\\"]],[[[1,\\\"        \\\"],[10,\\\"table\\\"],[14,0,\\\"ig-table\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"ID\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Created\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Reporter\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Reported User\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Target\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Reason\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Snapshot\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[12],[1,\\\"Status\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"th\\\"],[14,5,\\\"width:260px;\\\"],[12],[1,\\\"Moderator Note / Actions\\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,19],[[28,[37,19],[[30,0,[\\\"filteredReports\\\"]]],null]],null],null,[[[1,\\\"                \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[14,0,\\\"truncate\\\"],[12],[10,\\\"code\\\"],[12],[1,[30,1,[\\\"id\\\"]]],[13],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                        \\\"],[1,[30,1,[\\\"created_at\\\"]]],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n                        \\\"],[10,1],[14,0,\\\"muted\\\"],[12],[1,[30,1,[\\\"created_at_fmt\\\"]]],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,[30,1,[\\\"reporter_user_id\\\"]]],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,[30,1,[\\\"reported_user_id\\\"]]],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[12],[10,\\\"strong\\\"],[12],[1,[30,1,[\\\"target_type\\\"]]],[13],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[12],[10,\\\"strong\\\"],[12],[1,[30,1,[\\\"reason_code\\\"]]],[13],[13],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"reason_text\\\"]],[[[1,\\\"                        \\\"],[10,0],[14,0,\\\"muted truncate\\\"],[15,\\\"title\\\",[30,1,[\\\"reason_text\\\"]]],[12],[1,[30,1,[\\\"reason_text\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,11],[[30,1,[\\\"target_type\\\"]],\\\"about_me\\\"],null],[[[1,\\\"                        \\\"],[10,0],[14,0,\\\"muted truncate\\\"],[15,\\\"title\\\",[28,[30,0,[\\\"aboutExcerptFor\\\"]],[[30,1]],null]],[12],[1,\\\"\\\\n                            \\\"],[1,[28,[30,0,[\\\"aboutExcerptFor\\\"]],[[30,1]],null]],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[37,11],[[30,1,[\\\"target_type\\\"]],\\\"user_image\\\"],null],[[[41,[30,1,[\\\"content_snapshot\\\",\\\"image_url\\\"]],[[[1,\\\"                        \\\"],[10,\\\"img\\\"],[14,\\\"alt\\\",\\\"Reported image\\\"],[15,\\\"src\\\",[30,1,[\\\"content_snapshot\\\",\\\"image_url\\\"]]],[14,0,\\\"ig-report-thumb\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],[[[1,\\\"                        \\\"],[10,1],[14,0,\\\"muted\\\"],[12],[1,\\\"—\\\"],[13],[1,\\\"\\\\n                        \\\"]],[]]]],[]]],[1,\\\"                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                        \\\"],[1,[30,1,[\\\"status\\\"]]],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"decision_at\\\"]],[[[1,\\\"                        \\\"],[10,1],[14,0,\\\"muted\\\"],[12],[1,[30,1,[\\\"decision_at_fmt\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                        \\\"],[11,\\\"textarea\\\"],[24,\\\"rows\\\",\\\"2\\\"],[24,\\\"placeholder\\\",\\\"Moderator note…\\\"],[16,2,[28,[30,0,[\\\"noteFor\\\"]],[[30,1,[\\\"id\\\"]]],null]],[4,[38,6],[\\\"input\\\",[28,[37,27],[[30,0,[\\\"updateNote\\\"]],[30,1,[\\\"id\\\"]]],null]],null],[12],[13],[1,\\\"\\\\n\\\\n                        \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[14,5,\\\"margin-top:6px;\\\"],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,11],[[30,1,[\\\"status\\\"]],\\\"open\\\"],null],[[[1,\\\"                            \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-primary\\\"],[16,\\\"disabled\\\",[30,0,[\\\"loadingAction\\\"]]],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,27],[[30,0,[\\\"approveReport\\\"]],[30,1]],null]],null],[12],[1,\\\"\\\\n                                \\\"],[1,[52,[30,0,[\\\"loadingAction\\\"]],\\\"Working...\\\",\\\"Approve\\\"]],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[11,\\\"button\\\"],[24,0,\\\"btn\\\"],[16,\\\"disabled\\\",[30,0,[\\\"loadingAction\\\"]]],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[28,[37,27],[[30,0,[\\\"denyReport\\\"]],[30,1]],null]],null],[12],[1,\\\"\\\\n                                \\\"],[1,[52,[30,0,[\\\"loadingAction\\\"]],\\\"Working...\\\",\\\"Deny\\\"]],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                            \\\"],[10,1],[14,0,\\\"muted\\\"],[12],[1,\\\"Decided\\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"        \\\"],[10,2],[12],[1,\\\"No reports found.\\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"ig-admin-card-foot\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[28,[37,12],[[30,0,[\\\"hasPrev\\\"]]],null]],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"prevPage\\\"]]],null],[12],[1,\\\"\\\\n                    ← Prev\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-secondary\\\"],[16,\\\"disabled\\\",[28,[37,12],[[30,0,[\\\"hasNext\\\"]]],null]],[24,4,\\\"button\\\"],[4,[38,6],[\\\"click\\\",[30,0,[\\\"nextPage\\\"]]],null],[12],[1,\\\"\\\\n                    Next →\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"muted\\\"],[12],[1,\\\"\\\\n                Showing \\\"],[1,[30,0,[\\\"filteredReports\\\",\\\"length\\\"]]],[1,\\\" of \\\"],[1,[30,0,[\\\"reports\\\",\\\"length\\\"]]],[1,\\\" item(s).\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"r\\\"],false,[\\\"div\\\",\\\"h1\\\",\\\"link-to\\\",\\\"h2\\\",\\\"label\\\",\\\"select\\\",\\\"on\\\",\\\"option\\\",\\\"input\\\",\\\"button\\\",\\\"if\\\",\\\"eq\\\",\\\"not\\\",\\\"table\\\",\\\"thead\\\",\\\"tr\\\",\\\"th\\\",\\\"tbody\\\",\\\"each\\\",\\\"-track-array\\\",\\\"td\\\",\\\"code\\\",\\\"br\\\",\\\"span\\\",\\\"strong\\\",\\\"img\\\",\\\"textarea\\\",\\\"fn\\\",\\\"p\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-reported-content.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-settings\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"igames-admin-nav\">\n    <h1 class=\"igames-admin-title\">Content Management Settings</h1>\n  \n    <div class=\"igames-admin-links\">\n      <LinkTo @route=\"adminPlugins.igames-cp-reported-content\" class=\"igames-admin-link\">\n        Reported Content\n      </LinkTo>\n  \n      <LinkTo @route=\"adminPlugins.igames-cp-homepage\" class=\"igames-admin-link\">\n        Homepage Settings\n      </LinkTo>\n  \n      <LinkTo @route=\"adminPlugins.igames-cp-upcoming-events\" class=\"igames-admin-link\">\n        Upcoming Events\n      </LinkTo>\n  \n      <LinkTo @route=\"adminPlugins.igames-cp-advertisement\" class=\"igames-admin-link\">\n        Advertisement Settings\n      </LinkTo>\n  \n      <LinkTo @route=\"adminPlugins.igames-cp-manage-blog\" class=\"igames-admin-link\">\n        Manage Blog\n      </LinkTo>\n  \n      <LinkTo @route=\"adminPlugins.igames-cp-user-game\" class=\"igames-admin-link\">\n        User Games\n      </LinkTo>\n  \n      <LinkTo @route=\"adminPlugins.igames-cp-campaigns\" class=\"igames-admin-link\">\n        Campaigns\n      </LinkTo>\n  \n      <LinkTo @route=\"adminPlugins.igames-cp-giveaways\" class=\"igames-admin-link\">\n        Giveaways\n      </LinkTo>\n  \n      <LinkTo @route=\"adminPlugins.igames-cp-img-upload\" class=\"igames-admin-link\">\n        Image Upload\n      </LinkTo>\n    </div>\n  </div>\n  */\n  {\n    \"id\": \"89URLgPM\",\n    \"block\": \"[[[10,0],[14,0,\\\"igames-admin-nav\\\"],[12],[1,\\\"\\\\n  \\\"],[10,\\\"h1\\\"],[14,0,\\\"igames-admin-title\\\"],[12],[1,\\\"Content Management Settings\\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,0],[14,0,\\\"igames-admin-links\\\"],[12],[1,\\\"\\\\n    \\\"],[8,[39,2],[[24,0,\\\"igames-admin-link\\\"]],[[\\\"@route\\\"],[\\\"adminPlugins.igames-cp-reported-content\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n      Reported Content\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n\\\\n    \\\"],[8,[39,2],[[24,0,\\\"igames-admin-link\\\"]],[[\\\"@route\\\"],[\\\"adminPlugins.igames-cp-homepage\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n      Homepage Settings\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n\\\\n    \\\"],[8,[39,2],[[24,0,\\\"igames-admin-link\\\"]],[[\\\"@route\\\"],[\\\"adminPlugins.igames-cp-upcoming-events\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n      Upcoming Events\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n\\\\n    \\\"],[8,[39,2],[[24,0,\\\"igames-admin-link\\\"]],[[\\\"@route\\\"],[\\\"adminPlugins.igames-cp-advertisement\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n      Advertisement Settings\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n\\\\n    \\\"],[8,[39,2],[[24,0,\\\"igames-admin-link\\\"]],[[\\\"@route\\\"],[\\\"adminPlugins.igames-cp-manage-blog\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n      Manage Blog\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n\\\\n    \\\"],[8,[39,2],[[24,0,\\\"igames-admin-link\\\"]],[[\\\"@route\\\"],[\\\"adminPlugins.igames-cp-user-game\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n      User Games\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n\\\\n    \\\"],[8,[39,2],[[24,0,\\\"igames-admin-link\\\"]],[[\\\"@route\\\"],[\\\"adminPlugins.igames-cp-campaigns\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n      Campaigns\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n\\\\n    \\\"],[8,[39,2],[[24,0,\\\"igames-admin-link\\\"]],[[\\\"@route\\\"],[\\\"adminPlugins.igames-cp-giveaways\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n      Giveaways\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n\\\\n    \\\"],[8,[39,2],[[24,0,\\\"igames-admin-link\\\"]],[[\\\"@route\\\"],[\\\"adminPlugins.igames-cp-img-upload\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n      Image Upload\\\\n    \\\"]],[]]]]],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"h1\\\",\\\"link-to\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-settings.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-upcoming-events\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <UpcomingEventsAdmin\n    @initialEvents={{this.model.events}}\n    @backRoute=\"adminPlugins.igames-cp-settings\"\n  />\n  \n  */\n  {\n    \"id\": \"XDNrr2ss\",\n    \"block\": \"[[[8,[39,0],null,[[\\\"@initialEvents\\\",\\\"@backRoute\\\"],[[30,0,[\\\"model\\\",\\\"events\\\"]],\\\"adminPlugins.igames-cp-settings\\\"]],null],[1,\\\"\\\\n\\\"]],[],false,[\\\"upcoming-events-admin\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-upcoming-events.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-user-game\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"admin-container\">\n    <GamesAdmin @initialGames={{this.model.games}} @initialCursor={{this.model.cursor}} @initialStatus=\"pending\"\n      @initialLimit={{50}} @backRoute=\"adminPlugins.igames-cp-settings\" />\n  </div>\n  */\n  {\n    \"id\": \"ZyThRkLY\",\n    \"block\": \"[[[10,0],[14,0,\\\"admin-container\\\"],[12],[1,\\\"\\\\n  \\\"],[8,[39,1],null,[[\\\"@initialGames\\\",\\\"@initialCursor\\\",\\\"@initialStatus\\\",\\\"@initialLimit\\\",\\\"@backRoute\\\"],[[30,0,[\\\"model\\\",\\\"games\\\"]],[30,0,[\\\"model\\\",\\\"cursor\\\"]],\\\"pending\\\",50,\\\"adminPlugins.igames-cp-settings\\\"]],null],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"games-admin\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/admin-plugins/igames-cp-user-game.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-advertisements\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container amd-admin\">\n      <AdvertisementsAdmin @initialAds={{this.model.ads}} @initialNextCursor={{this.model.next_cursor}}\n          @backRoute=\"amd-admin\" />\n  </div>\n  */\n  {\n    \"id\": \"+MFls7c6\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container amd-admin\\\"],[12],[1,\\\"\\\\n    \\\"],[8,[39,1],null,[[\\\"@initialAds\\\",\\\"@initialNextCursor\\\",\\\"@backRoute\\\"],[[30,0,[\\\"model\\\",\\\"ads\\\"]],[30,0,[\\\"model\\\",\\\"next_cursor\\\"]],\\\"amd-admin\\\"]],null],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"advertisements-admin\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-advertisements.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-campaigns\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container amd-admin\">\n      <CampaignAdmin @backRoute=\"amd-admin\" />\n  </div>\n  */\n  {\n    \"id\": \"V8KSsOKx\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container amd-admin\\\"],[12],[1,\\\"\\\\n    \\\"],[8,[39,1],null,[[\\\"@backRoute\\\"],[\\\"amd-admin\\\"]],null],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"campaign-admin\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-campaigns.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-hp-settings\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container amd-admin\">\n      <HomepageAdmin @initialBanners={{this.model.banners}} @backRoute=\"amd-admin\" />\n  </div>\n  */\n  {\n    \"id\": \"DI60/2FI\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container amd-admin\\\"],[12],[1,\\\"\\\\n    \\\"],[8,[39,1],null,[[\\\"@initialBanners\\\",\\\"@backRoute\\\"],[[30,0,[\\\"model\\\",\\\"banners\\\"]],\\\"amd-admin\\\"]],null],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"homepage-admin\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-hp-settings.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-manage-blog\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container amd-admin\">\n    <ManageBlogAdmin @backRoute=\"amd-admin\" />\n  </div>\n  */\n  {\n    \"id\": \"AYVz5ZWi\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container amd-admin\\\"],[12],[1,\\\"\\\\n  \\\"],[8,[39,1],null,[[\\\"@backRoute\\\"],[\\\"amd-admin\\\"]],null],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"manage-blog-admin\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-manage-blog.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-reported-content\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    \n  */\n  {\n    \"id\": \"isc5slLo\",\n    \"block\": \"[[],[],false,[]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-reported-content.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-upcoming-events\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container amd-admin\">\n    <UpcomingEventsAdmin @initialEvents={{this.model.events}} @backRoute=\"amd-admin\" />\n  </div>\n  */\n  {\n    \"id\": \"/33movu9\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container amd-admin\\\"],[12],[1,\\\"\\\\n  \\\"],[8,[39,1],null,[[\\\"@initialEvents\\\",\\\"@backRoute\\\"],[[30,0,[\\\"model\\\",\\\"events\\\"]],\\\"amd-admin\\\"]],null],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"upcoming-events-admin\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-upcoming-events.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-user-game\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container amd-admin\">\n      <GamesAdmin @initialGames={{this.model.games}} @initialCursor={{this.model.cursor}} @initialStatus=\"pending\"\n          @initialLimit={{50}} @backRoute=\"amd-admin\" />\n  </div>\n  */\n  {\n    \"id\": \"7c0lw8P5\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container amd-admin\\\"],[12],[1,\\\"\\\\n    \\\"],[8,[39,1],null,[[\\\"@initialGames\\\",\\\"@initialCursor\\\",\\\"@initialStatus\\\",\\\"@initialLimit\\\",\\\"@backRoute\\\"],[[30,0,[\\\"model\\\",\\\"games\\\"]],[30,0,[\\\"model\\\",\\\"cursor\\\"]],\\\"pending\\\",50,\\\"amd-admin\\\"]],null],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"games-admin\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin-user-game.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container\">\n      <div class=\"igames-admin-nav\">\n          <h1 class=\"igames-admin-title\">Content Management Settings</h1>\n  \n          <div class=\"igames-admin-links\">\n              {{!-- <LinkTo @route=\"adminPlugins.igames-cp-reported-content\" class=\"igames-admin-link\">\n                  Reported Content\n              </LinkTo> --}}\n  \n              <LinkTo @route=\"amd-admin-hp-settings\" class=\"igames-admin-link\">\n                  Homepage Settings\n              </LinkTo>\n  \n              <LinkTo @route=\"amd-admin-upcoming-events\" class=\"igames-admin-link\">\n                  Upcoming Events\n              </LinkTo>\n  \n              <LinkTo @route=\"amd-admin-advertisements\" class=\"igames-admin-link\">\n                  Advertisement Settings\n              </LinkTo>\n  \n              <LinkTo @route=\"amd-admin-manage-blog\" class=\"igames-admin-link\">\n                  Manage Blog\n              </LinkTo>\n  \n              <LinkTo @route=\"amd-admin-user-game\" class=\"igames-admin-link\">\n                  User Games\n              </LinkTo>\n  \n              <LinkTo @route=\"amd-admin-campaigns\" class=\"igames-admin-link\">\n                  Campaigns\n              </LinkTo>\n          </div>\n      </div>\n  </div>\n  */\n  {\n    \"id\": \"2WxSlkGH\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"igames-admin-nav\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"h1\\\"],[14,0,\\\"igames-admin-title\\\"],[12],[1,\\\"Content Management Settings\\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"igames-admin-links\\\"],[12],[1,\\\"\\\\n\\\"],[1,\\\"\\\\n            \\\"],[8,[39,2],[[24,0,\\\"igames-admin-link\\\"]],[[\\\"@route\\\"],[\\\"amd-admin-hp-settings\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n                Homepage Settings\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n\\\\n            \\\"],[8,[39,2],[[24,0,\\\"igames-admin-link\\\"]],[[\\\"@route\\\"],[\\\"amd-admin-upcoming-events\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n                Upcoming Events\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n\\\\n            \\\"],[8,[39,2],[[24,0,\\\"igames-admin-link\\\"]],[[\\\"@route\\\"],[\\\"amd-admin-advertisements\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n                Advertisement Settings\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n\\\\n            \\\"],[8,[39,2],[[24,0,\\\"igames-admin-link\\\"]],[[\\\"@route\\\"],[\\\"amd-admin-manage-blog\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n                Manage Blog\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n\\\\n            \\\"],[8,[39,2],[[24,0,\\\"igames-admin-link\\\"]],[[\\\"@route\\\"],[\\\"amd-admin-user-game\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n                User Games\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n\\\\n            \\\"],[8,[39,2],[[24,0,\\\"igames-admin-link\\\"]],[[\\\"@route\\\"],[\\\"amd-admin-campaigns\\\"]],[[\\\"default\\\"],[[[[1,\\\"\\\\n                Campaigns\\\\n            \\\"]],[]]]]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"h1\\\",\\\"link-to\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-admin.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-black-ops-7\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container\" {{did-insert this.setupFadeIn}} {{did-insert this.muteVideos}}>\n      <div class=\"black-ops-container\">\n  \n          <!-- Header -->\n          <section class=\"bo7-header-container\">\n              <video autoplay muted loop playsinline id=\"blue-orange-bg-vid\" poster=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/blue-orange-moving-bg-poster.jpg\">\n                  <source src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/blue-orange-moving-bg.mp4\" type=\"video/mp4\">\n              </video>\n              \n              <div class=\"bo7-header-content\">\n                  <div class=\"bo7-main-text\">Experience Call of Duty<svg class=\"circle-r\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 152V264v96c0 13.3 10.7 24 24 24s24-10.7 24-24V288h60.9l37.2 81.9c5.5 12.1 19.7 17.4 31.8 11.9s17.4-19.7 11.9-31.8L315.7 275c21.8-14.3 36.3-39 36.3-67c0-44.2-35.8-80-80-80H184c-13.3 0-24 10.7-24 24zm48 88V176h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H208z\"></path></svg>: Black Ops 7<br>with AMD FSR \"Redstone\"</div>\n                  <div class=\"bo7-sub-text\">\n                      Push every mode with razor sharp image quality and ultra responsive performance on ASUS TUF Gaming Radeon RX 9070 XT Black Ops 7 Special Edition<br>— Powered by AMD FSR \"Redstone\" —\n                  </div>\n                  <div class=\"bo7-header-img-container\">\n                      <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/1920x520-bo7g.png\" alt=\"COD Black Ops 7 - Vault Edition\" width=\"1920\" height=\"520\" class=\"bo7-header-img\">\n                  </div>\n              </div>\n          </section>\n  \n          <!-- Learn CTA -->\n          <section class=\"bo7-learn-container\">\n              <a href=\"https://www.amd.com/en/products/graphics/technologies/fidelityfx/super-resolution.html\" class=\"learn-fsr-btn bo7-bordered-link\">Learn about AMD FSR \"Redstone\"</a>\n          </section>\n  \n          <!-- Black Ops Blurb -->\n          <section class=\"bo7-blurb-container\">\n              <div class=\"bo7-blurb-text bo7-fade-in bo7-fade-in-target\">\n                  <h2 class=\"bo7-blurb-header bo7-header\">The Biggest Black Ops Ever!</h2>\n                  <div class=\"bo7-blurb-explanation bo7-subtext\">Call of Duty: Black Ops 7 will immerse players into a reality-shattering gameplay experience. Squad up or go solo in an innovative Co-Op Campaign that redefines the Black Ops experience. Multiplayer in Black Ops 7 explodes out of the gate with 16 electrifying 6v6 maps and two 20v20 maps at launch, and survive Round Based Zombies in the biggest Zombies map in Call of Duty history!</div>\n              </div>\n          </section>\n  \n          <!-- Divider -->\n          <section class=\"bo7-divider\"></section>\n  \n          <!-- Giveaway XP Boost CTA -->\n          <section class=\"bo7-giveaway-container\">\n              <div class=\"bo7-giveaway-img-container\">\n                  <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/2xp.png\">\n              </div>\n              <div class=\"bo7-giveaway-text\">\n                  <h2 class=\"bo7-giveaway-header bo7-header\">Code Drop: 2XP Boost</h2>\n                  <div class=\"bo7-giveaway-explanation bo7-subtext\">Hit the ground running with 15 minutes of Double Level XP in Call of Duty: Black Ops 7. Every kill, assist, and objective earns you double. Make it loud, make it fast, and make it worth it. This is your window for domination.</div>\n                  <a href=\"/promotions/cod-black-ops-7\" class=\"bo7-giveaway-link bo7-bordered-link\">Claim Your 2XP Code Now!</a>\n              </div>\n          </section>\n  \n          <!-- Divider -->\n          <section class=\"bo7-divider\"></section>\n  \n          <!-- Why Radeon -->\n          <section class=\"bo7-why-container\">\n              <div class=\"bo7-why-text\">\n                  <div class=\"bo7-why-header bo7-header-sm\">Why Radeon™ RX 9070 XT</div>\n                  <div class=\"bo7-why-explanation bo7-subtext\">Made for high Hz shooters and cinematic 4K moments. Combine with AMD FSR \"Redstone\" for crisp detail and fluid motion when action peaks.</div>\n              </div>\n              <div class=\"bo7-why-img-container\">\n                  <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/3070xt.png\" alt=\"Radeon RX 9070 XT\" class=\"bo7-why-img\">\n              </div>\n          </section>\n  \n          <!-- Divider -->\n          <section class=\"bo7-divider\"></section>\n  \n          <!-- FSR -->\n          <section class=\"bo7-fsr-container\">\n              <div class=\"bo7-fsr-video-container\">\n                  <video autoplay muted loop playsinline controls id=\"bo7-fsr-vid\">\n                      <source src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/jack-activision-video-redstone.mp4\" type=\"video/mp4\">\n                  </video>\n              </div>\n              <div class=\"bo7-fsr-text\">\n                  <div class=\"bo7-fsr-header bo7-header-sm\">FSR Ray Regeneration</div>\n                  <div class=\"bo7-fsr-explanation bo7-subtext\">FSR Ray Regeneration uses a neural network that transforms noisy ray-traced data into accurate lighting and reflections to deliver a truly cinematic experience.</div>\n                  <div class=\"bo7-fsr-header bo7-header-sm\">FSR Upscaling and FSR Frame Generation</div>\n                  <div class=\"bo7-fsr-explanation bo7-subtext\">Upscaling + frame generation gives gamers sharper detail, smoother movement, and more responsive feel - so every engagement stays clear and controllable.</div>\n              </div>\n          </section>\n  \n          <!-- Divider -->\n          <section class=\"bo7-divider\"></section>\n  \n          <!-- Best Performance Drivers -->\n          <section class=\"bo7-drivers-container\">\n              <div class=\"bo7-drivers-text\">\n                  <div class=\"bo7-drivers-header bo7-header-sm\">Get the Best Performance with the Latest AMD Radeon™ Drivers</div>\n                  <div class=\"bo7-drivers-explanation bo7-subtext\">\n                      Unlock the full potential of your Radeon™ graphics card with the latest driver updates. Whether you're diving into a new release or optimizing your setup, AMD Software: Adrenalin Edition delivers enhanced performance, stability, and features tailored for gamers.\n                  </div>\n                  <div class=\"bo7-drivers-download-container\">\n                      <a href=\"https://www.amd.com/en/support/download/drivers.html\" target=\"_blank\" class=\"bo7-drivers-download-btn bo7-bordered-link\">\n                          <span class=\"bo7-drivers-download-text\">Download Now</span>\n                          <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\" class=\"download-icon\">\n                              <path d=\"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5\"></path>\n                              <path d=\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z\"></path>\n                          </svg>\n                      </a>\n                  </div>\n              </div>\n              <div class=\"bo7-drivers-img-container\">\n                  <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/amd-hardware-closeup.avif\" alt=\"Close up shot of AMD driver\" class=\"bo7-drivers-img\">\n              </div>\n          </section>\n  \n          <!-- Buy CTA -->\n          <section class=\"bo7-buy-container\">\n              <a href=\"https://www.amd.com/en/products/graphics/desktops/radeon.html\" target=\"_blank\" class=\"buy-btn bo7-bordered-link\">Grab your Radeon 9000 Series GPU now!</a>\n          </section>\n  \n          <!-- Divider -->\n          <section class=\"bo7-divider\"></section>\n  \n          <!-- Activision Footer -->\n          <section class=\"bo7-footer-container\">\n              <div class=\"bo7-footer-content\">\n                  <div class=\"bo7-footer-img-container\">\n                      <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/privacy-certified-globe.png\" alt=\"Privacy Certified (ESRB)\" class=\"bo7-footer-img\">\n                      <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/cod-mature-esrb-en.png\" alt=\"Content Rated M for Mature (ESRB)\" class=\"bo7-footer-img\">\n                  </div>\n                  <div class=\"bo7-footer-text\">©/TM/® 2025 Activision Publishing, Inc.</div>\n              </div>\n          </section>\n      </div>\n  </div>\n  */\n  {\n    \"id\": \"7WYLQ1MY\",\n    \"block\": \"[[[11,0],[24,0,\\\"cp-container\\\"],[4,[38,1],[[30,0,[\\\"setupFadeIn\\\"]]],null],[4,[38,1],[[30,0,[\\\"muteVideos\\\"]]],null],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"black-ops-container\\\"],[12],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Header \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"bo7-header-container\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"video\\\"],[14,\\\"autoplay\\\",\\\"\\\"],[14,\\\"muted\\\",\\\"\\\"],[14,\\\"loop\\\",\\\"\\\"],[14,\\\"playsinline\\\",\\\"\\\"],[14,1,\\\"blue-orange-bg-vid\\\"],[14,\\\"poster\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/blue-orange-moving-bg-poster.jpg\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"source\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/blue-orange-moving-bg.mp4\\\"],[14,4,\\\"video/mp4\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\\n            \\\"],[10,0],[14,0,\\\"bo7-header-content\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-main-text\\\"],[12],[1,\\\"Experience Call of Duty\\\"],[10,\\\"svg\\\"],[14,0,\\\"circle-r\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"viewBox\\\",\\\"0 0 512 512\\\"],[14,\\\"fill\\\",\\\"currentColor\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM160 152V264v96c0 13.3 10.7 24 24 24s24-10.7 24-24V288h60.9l37.2 81.9c5.5 12.1 19.7 17.4 31.8 11.9s17.4-19.7 11.9-31.8L315.7 275c21.8-14.3 36.3-39 36.3-67c0-44.2-35.8-80-80-80H184c-13.3 0-24 10.7-24 24zm48 88V176h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H208z\\\"],[12],[13],[13],[1,\\\": Black Ops 7\\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"with AMD FSR \\\\\\\"Redstone\\\\\\\"\\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-sub-text\\\"],[12],[1,\\\"\\\\n                    Push every mode with razor sharp image quality and ultra responsive performance on ASUS TUF Gaming Radeon RX 9070 XT Black Ops 7 Special Edition\\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"— Powered by AMD FSR \\\\\\\"Redstone\\\\\\\" —\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-header-img-container\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/1920x520-bo7g.png\\\"],[14,\\\"alt\\\",\\\"COD Black Ops 7 - Vault Edition\\\"],[14,\\\"width\\\",\\\"1920\\\"],[14,\\\"height\\\",\\\"520\\\"],[14,0,\\\"bo7-header-img\\\"],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Learn CTA \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"bo7-learn-container\\\"],[12],[1,\\\"\\\\n            \\\"],[10,3],[14,6,\\\"https://www.amd.com/en/products/graphics/technologies/fidelityfx/super-resolution.html\\\"],[14,0,\\\"learn-fsr-btn bo7-bordered-link\\\"],[12],[1,\\\"Learn about AMD FSR \\\\\\\"Redstone\\\\\\\"\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Black Ops Blurb \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"bo7-blurb-container\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"bo7-blurb-text bo7-fade-in bo7-fade-in-target\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"h2\\\"],[14,0,\\\"bo7-blurb-header bo7-header\\\"],[12],[1,\\\"The Biggest Black Ops Ever!\\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-blurb-explanation bo7-subtext\\\"],[12],[1,\\\"Call of Duty: Black Ops 7 will immerse players into a reality-shattering gameplay experience. Squad up or go solo in an innovative Co-Op Campaign that redefines the Black Ops experience. Multiplayer in Black Ops 7 explodes out of the gate with 16 electrifying 6v6 maps and two 20v20 maps at launch, and survive Round Based Zombies in the biggest Zombies map in Call of Duty history!\\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Divider \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"bo7-divider\\\"],[12],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Giveaway XP Boost CTA \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"bo7-giveaway-container\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"bo7-giveaway-img-container\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/2xp.png\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"bo7-giveaway-text\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"h2\\\"],[14,0,\\\"bo7-giveaway-header bo7-header\\\"],[12],[1,\\\"Code Drop: 2XP Boost\\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-giveaway-explanation bo7-subtext\\\"],[12],[1,\\\"Hit the ground running with 15 minutes of Double Level XP in Call of Duty: Black Ops 7. Every kill, assist, and objective earns you double. Make it loud, make it fast, and make it worth it. This is your window for domination.\\\"],[13],[1,\\\"\\\\n                \\\"],[10,3],[14,6,\\\"/promotions/cod-black-ops-7\\\"],[14,0,\\\"bo7-giveaway-link bo7-bordered-link\\\"],[12],[1,\\\"Claim Your 2XP Code Now!\\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Divider \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"bo7-divider\\\"],[12],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Why Radeon \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"bo7-why-container\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"bo7-why-text\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-why-header bo7-header-sm\\\"],[12],[1,\\\"Why Radeon™ RX 9070 XT\\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-why-explanation bo7-subtext\\\"],[12],[1,\\\"Made for high Hz shooters and cinematic 4K moments. Combine with AMD FSR \\\\\\\"Redstone\\\\\\\" for crisp detail and fluid motion when action peaks.\\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"bo7-why-img-container\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/3070xt.png\\\"],[14,\\\"alt\\\",\\\"Radeon RX 9070 XT\\\"],[14,0,\\\"bo7-why-img\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Divider \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"bo7-divider\\\"],[12],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" FSR \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"bo7-fsr-container\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"bo7-fsr-video-container\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"video\\\"],[14,\\\"autoplay\\\",\\\"\\\"],[14,\\\"muted\\\",\\\"\\\"],[14,\\\"loop\\\",\\\"\\\"],[14,\\\"playsinline\\\",\\\"\\\"],[14,\\\"controls\\\",\\\"\\\"],[14,1,\\\"bo7-fsr-vid\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"source\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/jack-activision-video-redstone.mp4\\\"],[14,4,\\\"video/mp4\\\"],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"bo7-fsr-text\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-fsr-header bo7-header-sm\\\"],[12],[1,\\\"FSR Ray Regeneration\\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-fsr-explanation bo7-subtext\\\"],[12],[1,\\\"FSR Ray Regeneration uses a neural network that transforms noisy ray-traced data into accurate lighting and reflections to deliver a truly cinematic experience.\\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-fsr-header bo7-header-sm\\\"],[12],[1,\\\"FSR Upscaling and FSR Frame Generation\\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-fsr-explanation bo7-subtext\\\"],[12],[1,\\\"Upscaling + frame generation gives gamers sharper detail, smoother movement, and more responsive feel - so every engagement stays clear and controllable.\\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Divider \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"bo7-divider\\\"],[12],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Best Performance Drivers \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"bo7-drivers-container\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"bo7-drivers-text\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-drivers-header bo7-header-sm\\\"],[12],[1,\\\"Get the Best Performance with the Latest AMD Radeon™ Drivers\\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-drivers-explanation bo7-subtext\\\"],[12],[1,\\\"\\\\n                    Unlock the full potential of your Radeon™ graphics card with the latest driver updates. Whether you're diving into a new release or optimizing your setup, AMD Software: Adrenalin Edition delivers enhanced performance, stability, and features tailored for gamers.\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-drivers-download-container\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,3],[14,6,\\\"https://www.amd.com/en/support/download/drivers.html\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,0,\\\"bo7-drivers-download-btn bo7-bordered-link\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,1],[14,0,\\\"bo7-drivers-download-text\\\"],[12],[1,\\\"Download Now\\\"],[13],[1,\\\"\\\\n                        \\\"],[10,\\\"svg\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"viewBox\\\",\\\"0 0 16 16\\\"],[14,0,\\\"download-icon\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M.5 9.9a.5.5 0 0 1 .5.5v2.5a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2.5a.5.5 0 0 1 1 0v2.5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2v-2.5a.5.5 0 0 1 .5-.5\\\"],[12],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M7.646 11.854a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V1.5a.5.5 0 0 0-1 0v8.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3z\\\"],[12],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"bo7-drivers-img-container\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/amd-hardware-closeup.avif\\\"],[14,\\\"alt\\\",\\\"Close up shot of AMD driver\\\"],[14,0,\\\"bo7-drivers-img\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Buy CTA \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"bo7-buy-container\\\"],[12],[1,\\\"\\\\n            \\\"],[10,3],[14,6,\\\"https://www.amd.com/en/products/graphics/desktops/radeon.html\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,0,\\\"buy-btn bo7-bordered-link\\\"],[12],[1,\\\"Grab your Radeon 9000 Series GPU now!\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Divider \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"bo7-divider\\\"],[12],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Activision Footer \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"bo7-footer-container\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"bo7-footer-content\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-footer-img-container\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/privacy-certified-globe.png\\\"],[14,\\\"alt\\\",\\\"Privacy Certified (ESRB)\\\"],[14,0,\\\"bo7-footer-img\\\"],[12],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/cod-black-ops-7/cod-mature-esrb-en.png\\\"],[14,\\\"alt\\\",\\\"Content Rated M for Mature (ESRB)\\\"],[14,0,\\\"bo7-footer-img\\\"],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"bo7-footer-text\\\"],[12],[1,\\\"©/TM/® 2025 Activision Publishing, Inc.\\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"did-insert\\\",\\\"section\\\",\\\"video\\\",\\\"source\\\",\\\"svg\\\",\\\"path\\\",\\\"br\\\",\\\"img\\\",\\\"a\\\",\\\"h2\\\",\\\"span\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-black-ops-7.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-products\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container\" {{did-insert this.setupFadeIn}}>\n      <section\n          style=\"color: #0dcaf0 !important; border-bottom-color: #dc3545 !important; box-sizing: border-box !important; padding: 100px 0 !important\">\n          <div class=\"container\"\n              style=\"padding: 0 !important; color: inherit !important; box-sizing: border-box !important; --bs-gutter-x: 1.5rem !important; --bs-gutter-y: 0 !important; width: 80% !important; padding-right: calc(3rem * .5) !important; padding-left: calc(3rem * .5) !important; margin-right: auto !important; margin-left: auto !important;\">\n              <div class=\"row\"\n                  style=\"margin: 0 !important; box-sizing: border-box !important; --bs-gutter-x: 1.5rem !important; --bs-gutter-y: 0 !important; display: flex !important; flex-wrap: wrap !important; margin-top: calc(-1 * 3rem) !important; margin-right: calc(-.5 * 3rem) !important; margin-left: calc(-.5 * 3rem) !important\">\n                  <div class=\"col\"\n                      style=\"padding: 0 !important; box-sizing: border-box !important; flex-shrink: 0 !important; width: 100% !important; max-width: 100% !important; padding-right: calc(3rem * .5) !important; padding-left: calc(3rem * .5) !important; margin-top: 3rem !important; flex: 1 0 0 !important\">\n                      <div style=\"box-sizing: border-box !important\">\n                          <h1\n                              style=\"color: #ffffff !important; font-size: 30px !important; line-height: 48px !important; text-align: center !important; margin: 0 !important; font-family: 'Roboto Condensed', sans-serif !important; padding: 10px !important; background: linear-gradient(-180deg, #dc3545, #62121a), #dc3545 !important; border-width: 1px !important; box-sizing: border-box !important; margin-top: 0 !important; margin-bottom: .5rem !important; font-weight: 500 !important\">\n                              AMD Ryzen™ 9000 Series Processors | AMD Radeon™ RX 9000 Series Graphics\n                          </h1>\n                          <h1\n                              style=\"color: #ffffff !important; font-size: 30px !important; line-height: 30px !important; text-align: center !important; margin: 0 !important; font-family: 'Roboto Condensed', sans-serif !important; padding: 10px !important; box-sizing: border-box !important; margin-top: 0 !important; margin-bottom: .5rem !important; font-weight: 500 !important\">\n                              <span style=\"font-weight: normal !important; box-sizing: border-box !important\">Power for\n                                  Gamers. Speed for Creators. Performance for Everyone.</span>\n                          </h1>\n                          <p\n                              style=\"color: #ffffff !important; font-size: 18px !important; line-height: 24px !important; text-align: center !important; margin: 0 !important; font-family: 'Roboto Condensed', sans-serif !important; padding: 10px !important; margin-top: 20px !important; box-sizing: border-box !important; margin-bottom: .5rem !important; font-weight: 500 !important\">\n                              The AMD 9000 Series is powering up featuring the latest Ryzen™ CPUs and Radeon™ GPUs! Built\n                              on advanced Zen 5\n                              and RDNA™ 4 architectures, they deliver unmatched performance, efficiency, and immersion.\n                              Pair them together for the ultimate platform or choose the piece that best fits your build!\n                          </p>\n                      </div>\n                  </div>\n              </div>\n  \n              <div\n                  style=\"margin: 20px 0 0 0 !important; padding: 0 !important; display: flex !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important; background: rgba(33, 37, 41, 0.5) !important; border-top: 2px solid #dc3545 !important; border-bottom: 2px solid #dc3545 !important; border-top-left-radius: 20px !important; border-bottom-right-radius: 20px !important; box-sizing: border-box !important;\">\n                  <!-- Left column (buttons) -->\n                  <div data-aos=\"fade\"\n                      style=\"background: transparent !important; padding: 0 1.5rem !important; width: 100% !important; max-width: 100% !important; margin: 3rem 0 0 0 !important; box-sizing: border-box !important; flex: 1 1 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important;\">\n                      <a href=\"https://www.amd.com/en/partner/articles/ryzen-9000-series-processors.html\" target=\"_blank\"\n                          style=\"width: 50% !important; display: flex !important; justify-content: center !important; align-items: center !important; text-align: center !important; text-decoration: none !important; border-width: 1px !important; border-style: solid !important; padding: 10px !important; background: transparent !important; box-sizing: border-box !important; margin: 0 0 1rem 0 !important; color: #ffffff !important;\">\n                          CHECK OUT RYZEN 9000 CPUs\n                      </a>\n  \n                      <a href=\"https://www.amd.com/en/products/graphics/desktops/radeon.html\" target=\"_blank\"\n                          style=\"width: 50% !important; display: flex !important; justify-content: center !important; align-items: center !important; text-align: center !important; text-decoration: none !important; border-width: 1px !important; border-style: solid !important; padding: 10px !important; background: transparent !important; box-sizing: border-box !important; margin: 0 0 1rem 0 !important; color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; font-size: 18px !important; line-height: 24px !important;\">\n                          CHECK OUT RADEON 9000 GPUs\n                      </a>\n                  </div>\n  \n                  <!-- Right column (image) -->\n                  <div data-aos=\"fade-right\"\n                      style=\"background: transparent !important; padding: 0 1.5rem !important; width: 100% !important; max-width: 100% !important; margin: 3rem 0 0 0 !important; box-sizing: border-box !important; flex: 1 1 0 !important; display: flex !important; justify-content: center !important;\">\n                      <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/system.png\" alt=\"\"\n                          style=\"width: 100% !important; box-sizing: border-box !important; vertical-align: middle !important\" />\n                  </div>\n              </div>\n          </div>\n      </section>\n  \n      <section\n          style=\"color: #0dcaf0 !important; background: #100000 !important; padding: 0 !important; height: 40px !important; box-sizing: border-box !important\">\n      </section>\n  \n      <!-- ===== Section with bg6: image left, text right ===== -->\n      <section\n          style=\"color: #0dcaf0 !important; background: url('https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/bg6.jpg') center / cover no-repeat, #100000 !important; padding: 0 !important; box-sizing: border-box !important;\">\n          <div\n              style=\"box-sizing: border-box !important; width: 100% !important; max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; color: inherit !important;\">\n              <div\n                  style=\"display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: 24px !important; margin: 3rem 0 !important; box-sizing: border-box !important;\">\n                  <div data-aos=\"fade-right\"\n                      style=\"background: transparent !important; padding: 10px !important; box-sizing: border-box !important; flex: 1 1 420px !important; display: flex !important; justify-content: center !important;\">\n                      <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/3060xt.png\"\n                          alt=\"Radeon 9060 XT\"\n                          style=\"width: 100% !important; height: auto !important; display: block !important; box-sizing: border-box !important;\" />\n                  </div>\n  \n                  <div data-aos=\"fade\"\n                      style=\"background: transparent !important; padding: 10px !important; box-sizing: border-box !important; flex: 1 1 420px !important; display: flex !important; align-items: center !important;\">\n                      <div style=\"box-sizing: border-box !important;\">\n                          <h1\n                              style=\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; margin: 0 0 .5rem 0 !important; font-size: 30px !important; line-height: 30px !important; font-weight: 500 !important; padding: 10px 0 !important; box-sizing: border-box !important;\">\n                              9060 XT</h1>\n                          <p\n                              style=\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; font-size: 18px !important; line-height: 24px !important; margin: 0 !important; padding: 10px 0 !important; box-sizing: border-box !important;\">\n                              Get ready for that next dungeon with cutting edge visuals from the AMD Radeon™ RX 9060 XT!\n                              Built to deliver all you need for ultra-fast gaming and future-ready features, all\n                              supercharged by AI!\n                          </p>\n                      </div>\n                  </div>\n              </div>\n          </div>\n      </section>\n  \n      <section\n          style=\"color: #0dcaf0 !important; background: #100000 !important; padding: 0 !important; height: 40px !important; box-sizing: border-box !important\">\n      </section>\n  \n      <!-- ===== Section with bg5: text left, image right ===== -->\n      <section\n          style=\"color: #0dcaf0 !important; background: url('https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/bg5.jpg') center / cover no-repeat, #100000 !important; padding: 0 !important; box-sizing: border-box !important;\">\n          <div\n              style=\"box-sizing: border-box !important; width: 100% !important; max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; color: inherit !important;\">\n              <div\n                  style=\"display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: 24px !important; margin: 3rem 0 !important; box-sizing: border-box !important;\">\n  \n                  <div data-aos=\"fade\"\n                      style=\"background: transparent !important; padding: 10px !important; box-sizing: border-box !important; flex: 1 1 420px !important; display: flex !important; align-items: center !important;\">\n                      <div style=\"box-sizing: border-box !important;\">\n                          <h1\n                              style=\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; margin: 0 0 .5rem 0 !important; font-size: 30px !important; line-height: 30px !important; font-weight: 500 !important; padding: 10px 0 !important; box-sizing: border-box !important;\">\n                              9070</h1>\n                          <p\n                              style=\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; font-size: 18px !important; line-height: 24px !important; margin: 0 !important; padding: 10px 0 !important; box-sizing: border-box !important;\">\n                              Cross the threshold into the 4k wonderland while you slay! The AMD Radeon™ RX 9070 graphics\n                              card is all you need to turn every firefight into a big-screen epic!\n                          </p>\n                      </div>\n                  </div>\n  \n                  <div data-aos=\"fade-left\"\n                      style=\"background: transparent !important; padding: 10px !important; box-sizing: border-box !important; flex: 1 1 420px !important; display: flex !important; justify-content: center !important;\">\n                      <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/3070.png\" alt=\"Radeon 9070\"\n                          style=\"width: 100% !important; height: auto !important; display: block !important; box-sizing: border-box !important;\" />\n                  </div>\n              </div>\n          </div>\n      </section>\n  \n      <section\n          style=\"color: #0dcaf0 !important; background: #100000 !important; padding: 0 !important; height: 40px !important; box-sizing: border-box !important\">\n      </section>\n  \n      <!-- ===== Section with bg4: image left, text right ===== -->\n      <section\n          style=\"color: #0dcaf0 !important; background: url('https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/bg4.jpg') center / cover no-repeat, #100000 !important; padding: 0 !important; box-sizing: border-box !important;\">\n          <div\n              style=\"box-sizing: border-box !important; width: 100% !important; max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; color: inherit !important;\">\n              <div\n                  style=\"display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: 24px !important; margin: 3rem 0 !important; box-sizing: border-box !important;\">\n                  <div data-aos=\"fade-right\"\n                      style=\"background: transparent !important; padding: 10px !important; box-sizing: border-box !important; flex: 1 1 420px !important; display: flex !important; justify-content: center !important;\">\n                      <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/3070xt.png\"\n                          alt=\"Radeon 9070 XT\"\n                          style=\"width: 100% !important; height: auto !important; display: block !important; box-sizing: border-box !important;\" />\n                  </div>\n  \n                  <div data-aos=\"fade\"\n                      style=\"background: transparent !important; padding: 10px !important; box-sizing: border-box !important; flex: 1 1 420px !important; display: flex !important; align-items: center !important;\">\n                      <div style=\"box-sizing: border-box !important;\">\n                          <h1\n                              style=\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; margin: 0 0 .5rem 0 !important; font-size: 30px !important; line-height: 30px !important; font-weight: 500 !important; padding: 10px 0 !important; box-sizing: border-box !important;\">\n                              9070 XT</h1>\n                          <p\n                              style=\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; font-size: 18px !important; line-height: 24px !important; margin: 0 !important; padding: 10px 0 !important; box-sizing: border-box !important;\">\n                              Become the next Boss Fight with the AMD Radeon™ RX 9070 XT! Where ultra settings are your\n                              playground and frame rates don’t flinch!\n                          </p>\n                      </div>\n                  </div>\n              </div>\n          </div>\n      </section>\n  \n      <!-- ===== CTA ===== -->\n      <section\n          style=\"color: #0dcaf0 !important; background: #100000 !important; padding: 0 !important; box-sizing: border-box !important;\">\n          <div\n              style=\"box-sizing: border-box !important; width: 100% !important; max-width: 540px !important; margin: 0 auto !important; padding: 0 1.5rem !important; color: inherit !important;\">\n              <div\n                  style=\"display: flex !important; justify-content: center !important; align-items: center !important; padding: 20px 0 !important; box-sizing: border-box !important;\">\n                  <a href=\"https://www.amd.com/en/products/graphics/desktops/radeon.html\" target=\"_blank\"\n                      style=\"display: block !important; width: 100% !important; text-align: center !important; text-decoration: none !important; border: 1px solid #ffffff !important; padding: 10px !important; box-sizing: border-box !important; color: #ffffff !important;\">\n                      <span\n                          style=\"font-family: 'Roboto Condensed', sans-serif !important; font-size: 24px !important; line-height: 24px !important; font-weight: 500 !important; display: block !important; margin: 0 !important;\">\n                          Grab your Radeon 9000 Series GPU now!\n                      </span>\n                  </a>\n              </div>\n          </div>\n      </section>\n  \n      <section\n          style=\"color: #0dcaf0 !important; background: #100000 !important; padding: 0 !important; height: 40px !important; box-sizing: border-box !important\">\n      </section>\n  \n      <!-- ===== Big hero with AMD background ===== -->\n      <section\n          style=\"color: #0dcaf0 !important; background: url('https://www.amd.com/content/dam/amd/en/images/backgrounds/colors/2325906-instinct-accelerator-background-03.jpg') center / cover no-repeat, #dc3545 !important; padding: 0 !important; box-sizing: border-box !important;\">\n          <div\n              style=\"box-sizing: border-box !important; width: 100% !important; max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; color: inherit !important;\">\n              <div\n                  style=\"display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; margin: 3rem 0 !important; box-sizing: border-box !important; text-align: center !important;\">\n                  <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/9000-cpu2.png\"\n                      alt=\"Ryzen Threadripper 9000 Series\" width=\"720\" height=\"405\"\n                      style=\"max-width: 100% !important; height: auto !important; display: block !important; box-sizing: border-box !important;\" />\n  \n                  <h1\n                      style=\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; margin: 20px 0 .5rem 0 !important; font-size: 30px !important; line-height: 30px !important; font-weight: 500 !important; padding: 10px 0 !important; box-sizing: border-box !important;\">\n                      The Fastest Processor in Gaming!\n                  </h1>\n  \n                  <p\n                      style=\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; font-size: 18px !important; line-height: 24px !important; margin: 0 0 1rem 0 !important; padding: 10px 0 !important; box-sizing: border-box !important;\">\n                      The Ryzen Threadripper 9000 Series is the place where every move begins. With up to\n                      96 cores plotting the battle map, it directs graphics, memory, and workloads with\n                      precision. No lag, no hesitation—just flawless execution of your grand strategy!\n                  </p>\n              </div>\n  \n              <div\n                  style=\"display: flex !important; justify-content: center !important; align-items: center !important; padding: 20px 0 !important; border-top: 1px solid #ffffff !important; box-sizing: border-box !important;\">\n                  <a href=\"https://www.amd.com/en/partner/browse-by-resource/partner-insights-articles/ryzen-threadripper-9000-series-processors.html\"\n                      target=\"_blank\"\n                      style=\"display: block !important; width: 100% !important; max-width: 900px !important; text-align: center !important; text-decoration: none !important; border: 1px solid #ffffff !important; padding: 10px !important; box-sizing: border-box !important; color: #ffffff !important;\">\n                      <span\n                          style=\"font-family: 'Roboto Condensed', sans-serif !important; font-size: 24px !important; line-height: 24px !important; font-weight: 500 !important; display: block !important; margin: 0 !important;\">\n                          Check out the latest Threadripper 9000 series today!\n                      </span>\n                  </a>\n              </div>\n          </div>\n      </section>\n  </div>\n  */\n  {\n    \"id\": \"sojBSAhd\",\n    \"block\": \"[[[11,0],[24,0,\\\"cp-container\\\"],[4,[38,1],[[30,0,[\\\"setupFadeIn\\\"]]],null],[12],[1,\\\"\\\\n    \\\"],[10,\\\"section\\\"],[14,5,\\\"color: #0dcaf0 !important; border-bottom-color: #dc3545 !important; box-sizing: border-box !important; padding: 100px 0 !important\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"container\\\"],[14,5,\\\"padding: 0 !important; color: inherit !important; box-sizing: border-box !important; --bs-gutter-x: 1.5rem !important; --bs-gutter-y: 0 !important; width: 80% !important; padding-right: calc(3rem * .5) !important; padding-left: calc(3rem * .5) !important; margin-right: auto !important; margin-left: auto !important;\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"row\\\"],[14,5,\\\"margin: 0 !important; box-sizing: border-box !important; --bs-gutter-x: 1.5rem !important; --bs-gutter-y: 0 !important; display: flex !important; flex-wrap: wrap !important; margin-top: calc(-1 * 3rem) !important; margin-right: calc(-.5 * 3rem) !important; margin-left: calc(-.5 * 3rem) !important\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"col\\\"],[14,5,\\\"padding: 0 !important; box-sizing: border-box !important; flex-shrink: 0 !important; width: 100% !important; max-width: 100% !important; padding-right: calc(3rem * .5) !important; padding-left: calc(3rem * .5) !important; margin-top: 3rem !important; flex: 1 0 0 !important\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,5,\\\"box-sizing: border-box !important\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,\\\"h1\\\"],[14,5,\\\"color: #ffffff !important; font-size: 30px !important; line-height: 48px !important; text-align: center !important; margin: 0 !important; font-family: 'Roboto Condensed', sans-serif !important; padding: 10px !important; background: linear-gradient(-180deg, #dc3545, #62121a), #dc3545 !important; border-width: 1px !important; box-sizing: border-box !important; margin-top: 0 !important; margin-bottom: .5rem !important; font-weight: 500 !important\\\"],[12],[1,\\\"\\\\n                            AMD Ryzen™ 9000 Series Processors | AMD Radeon™ RX 9000 Series Graphics\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"],[10,\\\"h1\\\"],[14,5,\\\"color: #ffffff !important; font-size: 30px !important; line-height: 30px !important; text-align: center !important; margin: 0 !important; font-family: 'Roboto Condensed', sans-serif !important; padding: 10px !important; box-sizing: border-box !important; margin-top: 0 !important; margin-bottom: .5rem !important; font-weight: 500 !important\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,1],[14,5,\\\"font-weight: normal !important; box-sizing: border-box !important\\\"],[12],[1,\\\"Power for\\\\n                                Gamers. Speed for Creators. Performance for Everyone.\\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"],[10,2],[14,5,\\\"color: #ffffff !important; font-size: 18px !important; line-height: 24px !important; text-align: center !important; margin: 0 !important; font-family: 'Roboto Condensed', sans-serif !important; padding: 10px !important; margin-top: 20px !important; box-sizing: border-box !important; margin-bottom: .5rem !important; font-weight: 500 !important\\\"],[12],[1,\\\"\\\\n                            The AMD 9000 Series is powering up featuring the latest Ryzen™ CPUs and Radeon™ GPUs! Built\\\\n                            on advanced Zen 5\\\\n                            and RDNA™ 4 architectures, they deliver unmatched performance, efficiency, and immersion.\\\\n                            Pair them together for the ultimate platform or choose the piece that best fits your build!\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,5,\\\"margin: 20px 0 0 0 !important; padding: 0 !important; display: flex !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important; background: rgba(33, 37, 41, 0.5) !important; border-top: 2px solid #dc3545 !important; border-bottom: 2px solid #dc3545 !important; border-top-left-radius: 20px !important; border-bottom-right-radius: 20px !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                \\\"],[3,\\\" Left column (buttons) \\\"],[1,\\\"\\\\n                \\\"],[10,0],[14,\\\"data-aos\\\",\\\"fade\\\"],[14,5,\\\"background: transparent !important; padding: 0 1.5rem !important; width: 100% !important; max-width: 100% !important; margin: 3rem 0 0 0 !important; box-sizing: border-box !important; flex: 1 1 0 !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important;\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,3],[14,6,\\\"https://www.amd.com/en/partner/articles/ryzen-9000-series-processors.html\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,5,\\\"width: 50% !important; display: flex !important; justify-content: center !important; align-items: center !important; text-align: center !important; text-decoration: none !important; border-width: 1px !important; border-style: solid !important; padding: 10px !important; background: transparent !important; box-sizing: border-box !important; margin: 0 0 1rem 0 !important; color: #ffffff !important;\\\"],[12],[1,\\\"\\\\n                        CHECK OUT RYZEN 9000 CPUs\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,3],[14,6,\\\"https://www.amd.com/en/products/graphics/desktops/radeon.html\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,5,\\\"width: 50% !important; display: flex !important; justify-content: center !important; align-items: center !important; text-align: center !important; text-decoration: none !important; border-width: 1px !important; border-style: solid !important; padding: 10px !important; background: transparent !important; box-sizing: border-box !important; margin: 0 0 1rem 0 !important; color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; font-size: 18px !important; line-height: 24px !important;\\\"],[12],[1,\\\"\\\\n                        CHECK OUT RADEON 9000 GPUs\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[3,\\\" Right column (image) \\\"],[1,\\\"\\\\n                \\\"],[10,0],[14,\\\"data-aos\\\",\\\"fade-right\\\"],[14,5,\\\"background: transparent !important; padding: 0 1.5rem !important; width: 100% !important; max-width: 100% !important; margin: 3rem 0 0 0 !important; box-sizing: border-box !important; flex: 1 1 0 !important; display: flex !important; justify-content: center !important;\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/system.png\\\"],[14,\\\"alt\\\",\\\"\\\"],[14,5,\\\"width: 100% !important; box-sizing: border-box !important; vertical-align: middle !important\\\"],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,\\\"section\\\"],[14,5,\\\"color: #0dcaf0 !important; background: #100000 !important; padding: 0 !important; height: 40px !important; box-sizing: border-box !important\\\"],[12],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" ===== Section with bg6: image left, text right ===== \\\"],[1,\\\"\\\\n    \\\"],[10,\\\"section\\\"],[14,5,\\\"color: #0dcaf0 !important; background: url('https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/bg6.jpg') center / cover no-repeat, #100000 !important; padding: 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,5,\\\"box-sizing: border-box !important; width: 100% !important; max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; color: inherit !important;\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,5,\\\"display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: 24px !important; margin: 3rem 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,\\\"data-aos\\\",\\\"fade-right\\\"],[14,5,\\\"background: transparent !important; padding: 10px !important; box-sizing: border-box !important; flex: 1 1 420px !important; display: flex !important; justify-content: center !important;\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/3060xt.png\\\"],[14,\\\"alt\\\",\\\"Radeon 9060 XT\\\"],[14,5,\\\"width: 100% !important; height: auto !important; display: block !important; box-sizing: border-box !important;\\\"],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,\\\"data-aos\\\",\\\"fade\\\"],[14,5,\\\"background: transparent !important; padding: 10px !important; box-sizing: border-box !important; flex: 1 1 420px !important; display: flex !important; align-items: center !important;\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,5,\\\"box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,\\\"h1\\\"],[14,5,\\\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; margin: 0 0 .5rem 0 !important; font-size: 30px !important; line-height: 30px !important; font-weight: 500 !important; padding: 10px 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                            9060 XT\\\"],[13],[1,\\\"\\\\n                        \\\"],[10,2],[14,5,\\\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; font-size: 18px !important; line-height: 24px !important; margin: 0 !important; padding: 10px 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                            Get ready for that next dungeon with cutting edge visuals from the AMD Radeon™ RX 9060 XT!\\\\n                            Built to deliver all you need for ultra-fast gaming and future-ready features, all\\\\n                            supercharged by AI!\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,\\\"section\\\"],[14,5,\\\"color: #0dcaf0 !important; background: #100000 !important; padding: 0 !important; height: 40px !important; box-sizing: border-box !important\\\"],[12],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" ===== Section with bg5: text left, image right ===== \\\"],[1,\\\"\\\\n    \\\"],[10,\\\"section\\\"],[14,5,\\\"color: #0dcaf0 !important; background: url('https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/bg5.jpg') center / cover no-repeat, #100000 !important; padding: 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,5,\\\"box-sizing: border-box !important; width: 100% !important; max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; color: inherit !important;\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,5,\\\"display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: 24px !important; margin: 3rem 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,\\\"data-aos\\\",\\\"fade\\\"],[14,5,\\\"background: transparent !important; padding: 10px !important; box-sizing: border-box !important; flex: 1 1 420px !important; display: flex !important; align-items: center !important;\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,5,\\\"box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,\\\"h1\\\"],[14,5,\\\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; margin: 0 0 .5rem 0 !important; font-size: 30px !important; line-height: 30px !important; font-weight: 500 !important; padding: 10px 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                            9070\\\"],[13],[1,\\\"\\\\n                        \\\"],[10,2],[14,5,\\\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; font-size: 18px !important; line-height: 24px !important; margin: 0 !important; padding: 10px 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                            Cross the threshold into the 4k wonderland while you slay! The AMD Radeon™ RX 9070 graphics\\\\n                            card is all you need to turn every firefight into a big-screen epic!\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,\\\"data-aos\\\",\\\"fade-left\\\"],[14,5,\\\"background: transparent !important; padding: 10px !important; box-sizing: border-box !important; flex: 1 1 420px !important; display: flex !important; justify-content: center !important;\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/3070.png\\\"],[14,\\\"alt\\\",\\\"Radeon 9070\\\"],[14,5,\\\"width: 100% !important; height: auto !important; display: block !important; box-sizing: border-box !important;\\\"],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,\\\"section\\\"],[14,5,\\\"color: #0dcaf0 !important; background: #100000 !important; padding: 0 !important; height: 40px !important; box-sizing: border-box !important\\\"],[12],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" ===== Section with bg4: image left, text right ===== \\\"],[1,\\\"\\\\n    \\\"],[10,\\\"section\\\"],[14,5,\\\"color: #0dcaf0 !important; background: url('https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/bg4.jpg') center / cover no-repeat, #100000 !important; padding: 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,5,\\\"box-sizing: border-box !important; width: 100% !important; max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; color: inherit !important;\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,5,\\\"display: flex !important; flex-wrap: wrap !important; align-items: center !important; justify-content: space-between !important; gap: 24px !important; margin: 3rem 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,\\\"data-aos\\\",\\\"fade-right\\\"],[14,5,\\\"background: transparent !important; padding: 10px !important; box-sizing: border-box !important; flex: 1 1 420px !important; display: flex !important; justify-content: center !important;\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/3070xt.png\\\"],[14,\\\"alt\\\",\\\"Radeon 9070 XT\\\"],[14,5,\\\"width: 100% !important; height: auto !important; display: block !important; box-sizing: border-box !important;\\\"],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,\\\"data-aos\\\",\\\"fade\\\"],[14,5,\\\"background: transparent !important; padding: 10px !important; box-sizing: border-box !important; flex: 1 1 420px !important; display: flex !important; align-items: center !important;\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,5,\\\"box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,\\\"h1\\\"],[14,5,\\\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; margin: 0 0 .5rem 0 !important; font-size: 30px !important; line-height: 30px !important; font-weight: 500 !important; padding: 10px 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                            9070 XT\\\"],[13],[1,\\\"\\\\n                        \\\"],[10,2],[14,5,\\\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; font-size: 18px !important; line-height: 24px !important; margin: 0 !important; padding: 10px 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                            Become the next Boss Fight with the AMD Radeon™ RX 9070 XT! Where ultra settings are your\\\\n                            playground and frame rates don’t flinch!\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" ===== CTA ===== \\\"],[1,\\\"\\\\n    \\\"],[10,\\\"section\\\"],[14,5,\\\"color: #0dcaf0 !important; background: #100000 !important; padding: 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,5,\\\"box-sizing: border-box !important; width: 100% !important; max-width: 540px !important; margin: 0 auto !important; padding: 0 1.5rem !important; color: inherit !important;\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,5,\\\"display: flex !important; justify-content: center !important; align-items: center !important; padding: 20px 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                \\\"],[10,3],[14,6,\\\"https://www.amd.com/en/products/graphics/desktops/radeon.html\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,5,\\\"display: block !important; width: 100% !important; text-align: center !important; text-decoration: none !important; border: 1px solid #ffffff !important; padding: 10px !important; box-sizing: border-box !important; color: #ffffff !important;\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,1],[14,5,\\\"font-family: 'Roboto Condensed', sans-serif !important; font-size: 24px !important; line-height: 24px !important; font-weight: 500 !important; display: block !important; margin: 0 !important;\\\"],[12],[1,\\\"\\\\n                        Grab your Radeon 9000 Series GPU now!\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,\\\"section\\\"],[14,5,\\\"color: #0dcaf0 !important; background: #100000 !important; padding: 0 !important; height: 40px !important; box-sizing: border-box !important\\\"],[12],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" ===== Big hero with AMD background ===== \\\"],[1,\\\"\\\\n    \\\"],[10,\\\"section\\\"],[14,5,\\\"color: #0dcaf0 !important; background: url('https://www.amd.com/content/dam/amd/en/images/backgrounds/colors/2325906-instinct-accelerator-background-03.jpg') center / cover no-repeat, #dc3545 !important; padding: 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,5,\\\"box-sizing: border-box !important; width: 100% !important; max-width: 1200px !important; margin: 0 auto !important; padding: 0 1.5rem !important; color: inherit !important;\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,5,\\\"display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; margin: 3rem 0 !important; box-sizing: border-box !important; text-align: center !important;\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/products/9000-cpu2.png\\\"],[14,\\\"alt\\\",\\\"Ryzen Threadripper 9000 Series\\\"],[14,\\\"width\\\",\\\"720\\\"],[14,\\\"height\\\",\\\"405\\\"],[14,5,\\\"max-width: 100% !important; height: auto !important; display: block !important; box-sizing: border-box !important;\\\"],[12],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h1\\\"],[14,5,\\\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; margin: 20px 0 .5rem 0 !important; font-size: 30px !important; line-height: 30px !important; font-weight: 500 !important; padding: 10px 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                    The Fastest Processor in Gaming!\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[14,5,\\\"color: #ffffff !important; font-family: 'Roboto Condensed', sans-serif !important; font-size: 18px !important; line-height: 24px !important; margin: 0 0 1rem 0 !important; padding: 10px 0 !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                    The Ryzen Threadripper 9000 Series is the place where every move begins. With up to\\\\n                    96 cores plotting the battle map, it directs graphics, memory, and workloads with\\\\n                    precision. No lag, no hesitation—just flawless execution of your grand strategy!\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,5,\\\"display: flex !important; justify-content: center !important; align-items: center !important; padding: 20px 0 !important; border-top: 1px solid #ffffff !important; box-sizing: border-box !important;\\\"],[12],[1,\\\"\\\\n                \\\"],[10,3],[14,6,\\\"https://www.amd.com/en/partner/browse-by-resource/partner-insights-articles/ryzen-threadripper-9000-series-processors.html\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,5,\\\"display: block !important; width: 100% !important; max-width: 900px !important; text-align: center !important; text-decoration: none !important; border: 1px solid #ffffff !important; padding: 10px !important; box-sizing: border-box !important; color: #ffffff !important;\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,1],[14,5,\\\"font-family: 'Roboto Condensed', sans-serif !important; font-size: 24px !important; line-height: 24px !important; font-weight: 500 !important; display: block !important; margin: 0 !important;\\\"],[12],[1,\\\"\\\\n                        Check out the latest Threadripper 9000 series today!\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"did-insert\\\",\\\"section\\\",\\\"h1\\\",\\\"span\\\",\\\"p\\\",\\\"a\\\",\\\"img\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-products.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-the-game-awards\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container\">\n      <div class=\"the-game-awards-container\">\n          <!-- Background Video -->\n          <video autoplay muted loop playsinline id=\"tga-bg-vid\" poster=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/tga-bg-video-2025-preview.png\" {{did-insert this.muteAndPlayVideo}}>\n              <source src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/tga-bg-video-2025.mp4\" type=\"video/mp4\">\n          </video>\n  \n          <!-- Main Content -->\n          <div class=\"tga-content\">\n  \n              <!-- Logos & Arrow Link -->\n              <section class=\"tga-welcome\">\n                  <TheGameAwardsLogos @size=\"medium\" />\n                  <div class=\"tga-down-arrow\">\n                      <a href=\"#sweepstakes\">\n                          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1.25em\" height=\"1.25em\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\n                              <path fill-rule=\"evenodd\" d=\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm8.5 2.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293z\"></path>\n                          </svg>\n                      </a>\n                  </div>\n              </section>\n  \n              <!-- Sweepstakes -->\n              <section id=\"sweepstakes\">\n                  <div class=\"tga-sweepstakes\">\n                      <div class=\"tga-sweepstakes-header\">\n                          <TheGameAwardsLogos @size=\"small\" />\n                          <h1 class=\"tga-sweepstakes-label\">Sweepstakes</h1>\n                      </div>\n                      <div class=\"tga-sweepstakes-details-container\">\n                          {{#if (this.renderGleamSweep)}}\n                              <div class=\"tga-sweepstakes-gleam\">\n                                  <div class=\"gleam-sweep-parent\">\n                                      <iframe src=\"{{this.currentGleamEmbedUrl}}\" frameborder=\"0\" style=\"padding:0;\"></iframe>\n                                  </div>\n                                  <p class=\"tga-sweepstakes-gleam-disclaimer\">This sweepstakes is administrated by a third-party with its own privacy policy and terms. By entering, any information you provide there will be governed by the third party administrator's privacy policy.</p>\n                              </div>\n                          {{/if}}\n                          <div class=\"tga-sweepstakes-details-outer\">\n                              <div class=\"tga-sweepstakes-details-inner\">\n                                  <div class=\"tga-sweepstakes-details-top\">\n                                      <h1>Your Next Big Win Starts Here<br>Four Sweepstakes Await.</h1>\n                                      <p>In celebration of The Game Awards, we're launching four exclusive sweepstakes, each featuring unique and exciting prizes. A new sweepstakes will go live every 48 hours, giving you multiple opportunities to enter and increase your chances of winning.</p>\n                                      <p>Don't miss out — check back often, enter each sweepstakes, and get ready to play big.</p>\n                                      <p>Good luck and have fun!</p>\n                                  </div>\n                                  \n                                  <div class=\"tga-sweepstakes-details-date-range tga-sweepstakes-details-dec-4-5\" data-open=\"{{if (eq this.activeSweep 1) true false}}\">\n                                      {{#if (eq this.activeSweep 1)}}\n                                      <img class=\"tga-sweepstake-img\" src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/mhw--sweeps.png\">\n                                      <div class=\"tga-sweepstake-text\">\n                                          <h2 class=\"tga-sweepstake-title tga-sweepstake-header orange-text\">\"Built to Stun\"</h2>\n                                          <h2 class=\"tga-sweepstake-date tga-sweepstake-header\">December 4 - 5</h2>\n                                          <p class=\"tga-sweepstake-blurb\">The celebration begins with the first of four epic giveaways. Enter for your chance to win a Crimson Desert-wrapped PC, a Radeon RX 9070 XT Monster Hunter Wilds Edition GPU, or a Monster Hunter Wilds game key.</p>\n                                      </div>\n                                      {{else}}\n                                          <h2 class=\"gold-text\">December 4-5</h2>\n                                          {{#if (both (gt this.activeSweep 1) this.gleamEmbed1)}}\n                                              <a class=\"tga-past-sweep-link\" href={{this.generateGleamSiteUrl this.gleamEmbed1}} target=\"_blank\">\n                                                  <h2 class=\"tga-past-sweep-text\">\"Built to Stun\"</h2>\n                                              </a>\n                                          {{else}}\n                                              <h2 class=\"orange-text\">\"Built to Stun\"</h2>\n                                          {{/if}}\n                                      {{/if}}\n                                  </div>\n                                  <div class=\"tga-sweepstakes-details-date-range tga-sweepstakes-details-dec-6-7\" data-open=\"{{if (eq this.activeSweep 2) true false}}\">\n                                      {{#if (eq this.activeSweep 2)}}\n                                      <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/area51--sweeps.png\">\n                                      <div class=\"tga-sweepstake-text\">\n                                          <h2 class=\"tga-sweepstake-title tga-sweepstake-header orange-text\">\"No Assembly Required\"</h2>\n                                          <h2 class=\"tga-sweepstake-date tga-sweepstake-header\">December 6 - 7</h2>\n                                          <p class=\"tga-sweepstake-blurb\">Next up in the celebration — enter for your chance to win one of two Alienware Area-51 gaming desktops, or a Mafia: The Old Country game key. Two down, two more to go. Keep entering for maximum chances to win.</p>\n                                      </div>\n                                      {{else}}\n                                          <h2 class=\"gold-text\">December 6-7</h2>\n                                          {{#if (both (gt this.activeSweep 2) this.gleamEmbed2)}}\n                                              <a class=\"tga-past-sweep-link\" href={{this.generateGleamSiteUrl this.gleamEmbed2}} target=\"_blank\">\n                                                  <h2 class=\"tga-past-sweep-text\">\"No Assembly Required\"</h2>\n                                              </a>\n                                          {{else}}\n                                              <h2 class=\"orange-text\">\"No Assembly Required\"</h2>\n                                          {{/if}}\n                                      {{/if}}\n                                  </div>\n                                  <div class=\"tga-sweepstakes-details-date-range tga-sweepstakes-details-dec-8-9\" data-open=\"{{if (eq this.activeSweep 3) true false}}\">\n                                      {{#if (eq this.activeSweep 3)}}\n                                      <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/xbox--sweeps.png\">\n                                      <div class=\"tga-sweepstake-text\">\n                                          <h2 class=\"tga-sweepstake-title tga-sweepstake-header orange-text\">\"Pocket-Sized Power Play\"</h2>\n                                          <h2 class=\"tga-sweepstake-date tga-sweepstake-header\">December 8 - 9</h2>\n                                          <p class=\"tga-sweepstake-blurb\">Elite gaming, right in the palm of your hand. Enter for your chance to win one of five ROG Xbox Ally handhelds and take your adventures anywhere, or claim a Moonlighter 2 game key and embark on a new journey. Stay tuned for the final sweepstakes — one last chance to win big.</p>\n                                      </div>\n                                      {{else}}\n                                          <h2 class=\"gold-text\">December 8-9</h2>\n                                          {{#if (both (gt this.activeSweep 3) this.gleamEmbed3)}}\n                                              <a class=\"tga-past-sweep-link\" href={{this.generateGleamSiteUrl this.gleamEmbed3}} target=\"_blank\">\n                                                  <h2 class=\"tga-past-sweep-text\">\"Pocket-Sized Power Play\"</h2>\n                                              </a>\n                                          {{else}}\n                                              <h2 class=\"orange-text\">\"Pocket-Sized Power Play\"</h2>\n                                          {{/if}}\n                                      {{/if}}\n                                  </div>\n                                  <div class=\"tga-sweepstakes-details-date-range tga-sweepstakes-details-dec-10-11\" data-open=\"{{if (eq this.activeSweep 4) true false}}\">\n                                      {{#if (eq this.activeSweep 4)}}\n                                      <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/ryzen9--sweeps.png\">\n                                      <div class=\"tga-sweepstake-text\">\n                                          <h2 class=\"tga-sweepstake-title tga-sweepstake-header orange-text\">\"Full Stack\"</h2>\n                                          <h2 class=\"tga-sweepstake-date tga-sweepstake-header\">December 10 - 11</h2>\n                                          <p class=\"tga-sweepstake-blurb\">Built for players who want it all. Enter for your chance to win a powerhouse Ryzen 9 9950X3D CPU, grab one of five Radeon RX 9070 XT Call of Duty-themed GPUs, or secure a Call of Duty: Black Ops 7 game key. Make your ultimate play on the final sweepstakes of TGA! </p>\n                                      </div>\n                                      {{else}}\n                                          <h2 class=\"gold-text\">December 10-11</h2>\n                                          {{#if (both (gt this.activeSweep 4) this.gleamEmbed4)}}\n                                              <a class=\"tga-past-sweep-link\" href={{this.generateGleamSiteUrl this.gleamEmbed4}} target=\"_blank\">\n                                                  <h2 class=\"tga-past-sweep-text\">\"Full Stack\"</h2>\n                                              </a>\n                                          {{else}}\n                                              <h2 class=\"orange-text\">\"Full Stack\"</h2>\n                                          {{/if}}\n                                      {{/if}}\n                                  </div>\n                              </div>\n                          </div>\n                      </div>\n                  </div>\n              </section>\n  \n              <!-- Twitch -->\n              <section id=\"tga-twitch\">\n                  <div id=\"tga-twitch-embed\" {{did-insert this.loadTwitchEmbed}}></div>\n                  <div class=\"tga-twitch-text\">\n                      <h1 class=\"tga-twitch-header\">Experience the show with the AMD Gaming Community!</h1>\n                      <p class=\"tga-twitch-blurb\">Whether you want our staff's live reactions on Twitch or the community vibe in our \n                          <a href=\"https://discord.com/invite/amd-gaming\" target=\"_blank\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\n                              <path d=\"M13.545 2.907a13.227 13.227 0 0 0-3.257-1.011.05.05 0 0 0-.052.025c-.141.25-.297.577-.406.833a12.19 12.19 0 0 0-3.658 0 8.258 8.258 0 0 0-.412-.833.051.051 0 0 0-.052-.025c-1.125.194-2.22.534-3.257 1.011a.041.041 0 0 0-.021.018C.356 6.024-.213 9.047.066 12.032c.001.014.01.028.021.037a13.276 13.276 0 0 0 3.995 2.02.05.05 0 0 0 .056-.019c.308-.42.582-.863.818-1.329a.05.05 0 0 0-.01-.059.051.051 0 0 0-.018-.011 8.875 8.875 0 0 1-1.248-.595.05.05 0 0 1-.02-.066.051.051 0 0 1 .015-.019c.084-.063.168-.129.248-.195a.05.05 0 0 1 .051-.007c2.619 1.196 5.454 1.196 8.041 0a.052.052 0 0 1 .053.007c.08.066.164.132.248.195a.051.051 0 0 1-.004.085 8.254 8.254 0 0 1-1.249.594.05.05 0 0 0-.03.03.052.052 0 0 0 .003.041c.24.465.515.909.817 1.329a.05.05 0 0 0 .056.019 13.235 13.235 0 0 0 4.001-2.02.049.049 0 0 0 .021-.037c.334-3.451-.559-6.449-2.366-9.106a.034.034 0 0 0-.02-.019Zm-8.198 7.307c-.789 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.45.73 1.438 1.613 0 .888-.637 1.612-1.438 1.612m5.316 0c-.788 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.451.73 1.438 1.613 0 .888-.631 1.612-1.438 1.612\"></path>\n                          </svg></a> watch party - we've got a seat for you.\n                      </p>\n                      <p class=\"tga-twitch-blurb\">Watch our staff commentary live on Twitch, or join fellow members in our Discord watch party.</p>\n                      <p class=\"tga-twitch-blurb tga-twitch-datetime\">Thu. Dec. 11 at 7:30p ET / 4:30p PT / 12:30a+1 GMT</p>\n                  </div>\n              </section>\n  \n              <section id=\"tga-partners\">\n                  <p class=\"tga-partners-thanks\">A Big Thank You to our Partners!</p>\n                  <div class=\"scroller\" data-direction=\"left\" data-speed=\"slow\" {{did-insert this.duplicateBrands}}>\n                      <div class=\"scroller__inner\">\n                          {{#each this.brandLinks as |brand|}}\n                              <a href={{brand.url}} target=\"_blank\">\n                                  <img src=\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/{{brand.image}}\" alt={{brand.name}} class=\"{{if brand.scaleDown \"tga-img-scale-down\"}} {{if brand.scaleDownSm \"tga-img-scale-down-sm\"}}\">\n                              </a>\n                          {{/each}}\n                      </div>\n                  </div>\n                  <div class=\"tga-join-activities-outer\">\n                      <div class=\"tga-join-activities-inner\">\n                          <h1 class=\"tga-join-header\">Join the Activities!</h1>\n                          <p class=\"tga-join-blurb\"><span class=\"bold-date\">12.1.25</span> - <a href=\"/c/missions\">TGA Missions Begin!</a></p>\n                          <p class=\"tga-join-blurb\"><span class=\"bold-date\">12.11.25</span> - TGA Bingo with the AMD community!</p>\n                      </div>\n                  </div>\n              </section>\n  \n          </div>\n      </div>\n  </div>\n  */\n  {\n    \"id\": \"khBoEUhT\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"the-game-awards-container\\\"],[12],[1,\\\"\\\\n        \\\"],[3,\\\" Background Video \\\"],[1,\\\"\\\\n        \\\"],[11,\\\"video\\\"],[24,\\\"autoplay\\\",\\\"\\\"],[24,\\\"muted\\\",\\\"\\\"],[24,\\\"loop\\\",\\\"\\\"],[24,\\\"playsinline\\\",\\\"\\\"],[24,1,\\\"tga-bg-vid\\\"],[24,\\\"poster\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/tga-bg-video-2025-preview.png\\\"],[4,[38,2],[[30,0,[\\\"muteAndPlayVideo\\\"]]],null],[12],[1,\\\"\\\\n            \\\"],[10,\\\"source\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/tga-bg-video-2025.mp4\\\"],[14,4,\\\"video/mp4\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Main Content \\\"],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"tga-content\\\"],[12],[1,\\\"\\\\n\\\\n            \\\"],[3,\\\" Logos & Arrow Link \\\"],[1,\\\"\\\\n            \\\"],[10,\\\"section\\\"],[14,0,\\\"tga-welcome\\\"],[12],[1,\\\"\\\\n                \\\"],[8,[39,5],null,[[\\\"@size\\\"],[\\\"medium\\\"]],null],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"tga-down-arrow\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,3],[14,6,\\\"#sweepstakes\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,\\\"svg\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"width\\\",\\\"1.25em\\\"],[14,\\\"height\\\",\\\"1.25em\\\"],[14,\\\"fill\\\",\\\"currentColor\\\"],[14,\\\"viewBox\\\",\\\"0 0 16 16\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"path\\\"],[14,\\\"fill-rule\\\",\\\"evenodd\\\"],[14,\\\"d\\\",\\\"M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm8.5 2.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293z\\\"],[12],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[3,\\\" Sweepstakes \\\"],[1,\\\"\\\\n            \\\"],[10,\\\"section\\\"],[14,1,\\\"sweepstakes\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"tga-sweepstakes\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"tga-sweepstakes-header\\\"],[12],[1,\\\"\\\\n                        \\\"],[8,[39,5],null,[[\\\"@size\\\"],[\\\"small\\\"]],null],[1,\\\"\\\\n                        \\\"],[10,\\\"h1\\\"],[14,0,\\\"tga-sweepstakes-label\\\"],[12],[1,\\\"Sweepstakes\\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"tga-sweepstakes-details-container\\\"],[12],[1,\\\"\\\\n\\\"],[41,[28,[30,0,[\\\"renderGleamSweep\\\"]],null,null],[[[1,\\\"                            \\\"],[10,0],[14,0,\\\"tga-sweepstakes-gleam\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"gleam-sweep-parent\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,\\\"iframe\\\"],[15,\\\"src\\\",[29,[[30,0,[\\\"currentGleamEmbedUrl\\\"]]]]],[14,\\\"frameborder\\\",\\\"0\\\"],[14,5,\\\"padding:0;\\\"],[12],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                                \\\"],[10,2],[14,0,\\\"tga-sweepstakes-gleam-disclaimer\\\"],[12],[1,\\\"This sweepstakes is administrated by a third-party with its own privacy policy and terms. By entering, any information you provide there will be governed by the third party administrator's privacy policy.\\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                        \\\"],[10,0],[14,0,\\\"tga-sweepstakes-details-outer\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"tga-sweepstakes-details-inner\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"tga-sweepstakes-details-top\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,\\\"h1\\\"],[12],[1,\\\"Your Next Big Win Starts Here\\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"Four Sweepstakes Await.\\\"],[13],[1,\\\"\\\\n                                    \\\"],[10,2],[12],[1,\\\"In celebration of The Game Awards, we're launching four exclusive sweepstakes, each featuring unique and exciting prizes. A new sweepstakes will go live every 48 hours, giving you multiple opportunities to enter and increase your chances of winning.\\\"],[13],[1,\\\"\\\\n                                    \\\"],[10,2],[12],[1,\\\"Don't miss out — check back often, enter each sweepstakes, and get ready to play big.\\\"],[13],[1,\\\"\\\\n                                    \\\"],[10,2],[12],[1,\\\"Good luck and have fun!\\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                                \\\\n                                \\\"],[10,0],[14,0,\\\"tga-sweepstakes-details-date-range tga-sweepstakes-details-dec-4-5\\\"],[15,\\\"data-open\\\",[29,[[52,[28,[37,14],[[30,0,[\\\"activeSweep\\\"]],1],null],true,false]]]],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,14],[[30,0,[\\\"activeSweep\\\"]],1],null],[[[1,\\\"                                    \\\"],[10,\\\"img\\\"],[14,0,\\\"tga-sweepstake-img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/mhw--sweeps.png\\\"],[12],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"tga-sweepstake-text\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"h2\\\"],[14,0,\\\"tga-sweepstake-title tga-sweepstake-header orange-text\\\"],[12],[1,\\\"\\\\\\\"Built to Stun\\\\\\\"\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"h2\\\"],[14,0,\\\"tga-sweepstake-date tga-sweepstake-header\\\"],[12],[1,\\\"December 4 - 5\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,2],[14,0,\\\"tga-sweepstake-blurb\\\"],[12],[1,\\\"The celebration begins with the first of four epic giveaways. Enter for your chance to win a Crimson Desert-wrapped PC, a Radeon RX 9070 XT Monster Hunter Wilds Edition GPU, or a Monster Hunter Wilds game key.\\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                        \\\"],[10,\\\"h2\\\"],[14,0,\\\"gold-text\\\"],[12],[1,\\\"December 4-5\\\"],[13],[1,\\\"\\\\n\\\"],[41,[28,[37,17],[[28,[37,18],[[30,0,[\\\"activeSweep\\\"]],1],null],[30,0,[\\\"gleamEmbed1\\\"]]],null],[[[1,\\\"                                            \\\"],[10,3],[14,0,\\\"tga-past-sweep-link\\\"],[15,6,[28,[30,0,[\\\"generateGleamSiteUrl\\\"]],[[30,0,[\\\"gleamEmbed1\\\"]]],null]],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"\\\\n                                                \\\"],[10,\\\"h2\\\"],[14,0,\\\"tga-past-sweep-text\\\"],[12],[1,\\\"\\\\\\\"Built to Stun\\\\\\\"\\\"],[13],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                            \\\"],[10,\\\"h2\\\"],[14,0,\\\"orange-text\\\"],[12],[1,\\\"\\\\\\\"Built to Stun\\\\\\\"\\\"],[13],[1,\\\"\\\\n\\\"]],[]]]],[]]],[1,\\\"                                \\\"],[13],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"tga-sweepstakes-details-date-range tga-sweepstakes-details-dec-6-7\\\"],[15,\\\"data-open\\\",[29,[[52,[28,[37,14],[[30,0,[\\\"activeSweep\\\"]],2],null],true,false]]]],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,14],[[30,0,[\\\"activeSweep\\\"]],2],null],[[[1,\\\"                                    \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/area51--sweeps.png\\\"],[12],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"tga-sweepstake-text\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"h2\\\"],[14,0,\\\"tga-sweepstake-title tga-sweepstake-header orange-text\\\"],[12],[1,\\\"\\\\\\\"No Assembly Required\\\\\\\"\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"h2\\\"],[14,0,\\\"tga-sweepstake-date tga-sweepstake-header\\\"],[12],[1,\\\"December 6 - 7\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,2],[14,0,\\\"tga-sweepstake-blurb\\\"],[12],[1,\\\"Next up in the celebration — enter for your chance to win one of two Alienware Area-51 gaming desktops, or a Mafia: The Old Country game key. Two down, two more to go. Keep entering for maximum chances to win.\\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                        \\\"],[10,\\\"h2\\\"],[14,0,\\\"gold-text\\\"],[12],[1,\\\"December 6-7\\\"],[13],[1,\\\"\\\\n\\\"],[41,[28,[37,17],[[28,[37,18],[[30,0,[\\\"activeSweep\\\"]],2],null],[30,0,[\\\"gleamEmbed2\\\"]]],null],[[[1,\\\"                                            \\\"],[10,3],[14,0,\\\"tga-past-sweep-link\\\"],[15,6,[28,[30,0,[\\\"generateGleamSiteUrl\\\"]],[[30,0,[\\\"gleamEmbed2\\\"]]],null]],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"\\\\n                                                \\\"],[10,\\\"h2\\\"],[14,0,\\\"tga-past-sweep-text\\\"],[12],[1,\\\"\\\\\\\"No Assembly Required\\\\\\\"\\\"],[13],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                            \\\"],[10,\\\"h2\\\"],[14,0,\\\"orange-text\\\"],[12],[1,\\\"\\\\\\\"No Assembly Required\\\\\\\"\\\"],[13],[1,\\\"\\\\n\\\"]],[]]]],[]]],[1,\\\"                                \\\"],[13],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"tga-sweepstakes-details-date-range tga-sweepstakes-details-dec-8-9\\\"],[15,\\\"data-open\\\",[29,[[52,[28,[37,14],[[30,0,[\\\"activeSweep\\\"]],3],null],true,false]]]],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,14],[[30,0,[\\\"activeSweep\\\"]],3],null],[[[1,\\\"                                    \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/xbox--sweeps.png\\\"],[12],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"tga-sweepstake-text\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"h2\\\"],[14,0,\\\"tga-sweepstake-title tga-sweepstake-header orange-text\\\"],[12],[1,\\\"\\\\\\\"Pocket-Sized Power Play\\\\\\\"\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"h2\\\"],[14,0,\\\"tga-sweepstake-date tga-sweepstake-header\\\"],[12],[1,\\\"December 8 - 9\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,2],[14,0,\\\"tga-sweepstake-blurb\\\"],[12],[1,\\\"Elite gaming, right in the palm of your hand. Enter for your chance to win one of five ROG Xbox Ally handhelds and take your adventures anywhere, or claim a Moonlighter 2 game key and embark on a new journey. Stay tuned for the final sweepstakes — one last chance to win big.\\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                        \\\"],[10,\\\"h2\\\"],[14,0,\\\"gold-text\\\"],[12],[1,\\\"December 8-9\\\"],[13],[1,\\\"\\\\n\\\"],[41,[28,[37,17],[[28,[37,18],[[30,0,[\\\"activeSweep\\\"]],3],null],[30,0,[\\\"gleamEmbed3\\\"]]],null],[[[1,\\\"                                            \\\"],[10,3],[14,0,\\\"tga-past-sweep-link\\\"],[15,6,[28,[30,0,[\\\"generateGleamSiteUrl\\\"]],[[30,0,[\\\"gleamEmbed3\\\"]]],null]],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"\\\\n                                                \\\"],[10,\\\"h2\\\"],[14,0,\\\"tga-past-sweep-text\\\"],[12],[1,\\\"\\\\\\\"Pocket-Sized Power Play\\\\\\\"\\\"],[13],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                            \\\"],[10,\\\"h2\\\"],[14,0,\\\"orange-text\\\"],[12],[1,\\\"\\\\\\\"Pocket-Sized Power Play\\\\\\\"\\\"],[13],[1,\\\"\\\\n\\\"]],[]]]],[]]],[1,\\\"                                \\\"],[13],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"tga-sweepstakes-details-date-range tga-sweepstakes-details-dec-10-11\\\"],[15,\\\"data-open\\\",[29,[[52,[28,[37,14],[[30,0,[\\\"activeSweep\\\"]],4],null],true,false]]]],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,14],[[30,0,[\\\"activeSweep\\\"]],4],null],[[[1,\\\"                                    \\\"],[10,\\\"img\\\"],[14,\\\"src\\\",\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/ryzen9--sweeps.png\\\"],[12],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"tga-sweepstake-text\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"h2\\\"],[14,0,\\\"tga-sweepstake-title tga-sweepstake-header orange-text\\\"],[12],[1,\\\"\\\\\\\"Full Stack\\\\\\\"\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"h2\\\"],[14,0,\\\"tga-sweepstake-date tga-sweepstake-header\\\"],[12],[1,\\\"December 10 - 11\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,2],[14,0,\\\"tga-sweepstake-blurb\\\"],[12],[1,\\\"Built for players who want it all. Enter for your chance to win a powerhouse Ryzen 9 9950X3D CPU, grab one of five Radeon RX 9070 XT Call of Duty-themed GPUs, or secure a Call of Duty: Black Ops 7 game key. Make your ultimate play on the final sweepstakes of TGA! \\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                        \\\"],[10,\\\"h2\\\"],[14,0,\\\"gold-text\\\"],[12],[1,\\\"December 10-11\\\"],[13],[1,\\\"\\\\n\\\"],[41,[28,[37,17],[[28,[37,18],[[30,0,[\\\"activeSweep\\\"]],4],null],[30,0,[\\\"gleamEmbed4\\\"]]],null],[[[1,\\\"                                            \\\"],[10,3],[14,0,\\\"tga-past-sweep-link\\\"],[15,6,[28,[30,0,[\\\"generateGleamSiteUrl\\\"]],[[30,0,[\\\"gleamEmbed4\\\"]]],null]],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"\\\\n                                                \\\"],[10,\\\"h2\\\"],[14,0,\\\"tga-past-sweep-text\\\"],[12],[1,\\\"\\\\\\\"Full Stack\\\\\\\"\\\"],[13],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                            \\\"],[10,\\\"h2\\\"],[14,0,\\\"orange-text\\\"],[12],[1,\\\"\\\\\\\"Full Stack\\\\\\\"\\\"],[13],[1,\\\"\\\\n\\\"]],[]]]],[]]],[1,\\\"                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[3,\\\" Twitch \\\"],[1,\\\"\\\\n            \\\"],[10,\\\"section\\\"],[14,1,\\\"tga-twitch\\\"],[12],[1,\\\"\\\\n                \\\"],[11,0],[24,1,\\\"tga-twitch-embed\\\"],[4,[38,2],[[30,0,[\\\"loadTwitchEmbed\\\"]]],null],[12],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"tga-twitch-text\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"h1\\\"],[14,0,\\\"tga-twitch-header\\\"],[12],[1,\\\"Experience the show with the AMD Gaming Community!\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,2],[14,0,\\\"tga-twitch-blurb\\\"],[12],[1,\\\"Whether you want our staff's live reactions on Twitch or the community vibe in our \\\\n                        \\\"],[10,3],[14,6,\\\"https://discord.com/invite/amd-gaming\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[10,\\\"svg\\\"],[14,\\\"xmlns\\\",\\\"http://www.w3.org/2000/svg\\\",\\\"http://www.w3.org/2000/xmlns/\\\"],[14,\\\"width\\\",\\\"1em\\\"],[14,\\\"height\\\",\\\"1em\\\"],[14,\\\"fill\\\",\\\"currentColor\\\"],[14,\\\"viewBox\\\",\\\"0 0 16 16\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M13.545 2.907a13.227 13.227 0 0 0-3.257-1.011.05.05 0 0 0-.052.025c-.141.25-.297.577-.406.833a12.19 12.19 0 0 0-3.658 0 8.258 8.258 0 0 0-.412-.833.051.051 0 0 0-.052-.025c-1.125.194-2.22.534-3.257 1.011a.041.041 0 0 0-.021.018C.356 6.024-.213 9.047.066 12.032c.001.014.01.028.021.037a13.276 13.276 0 0 0 3.995 2.02.05.05 0 0 0 .056-.019c.308-.42.582-.863.818-1.329a.05.05 0 0 0-.01-.059.051.051 0 0 0-.018-.011 8.875 8.875 0 0 1-1.248-.595.05.05 0 0 1-.02-.066.051.051 0 0 1 .015-.019c.084-.063.168-.129.248-.195a.05.05 0 0 1 .051-.007c2.619 1.196 5.454 1.196 8.041 0a.052.052 0 0 1 .053.007c.08.066.164.132.248.195a.051.051 0 0 1-.004.085 8.254 8.254 0 0 1-1.249.594.05.05 0 0 0-.03.03.052.052 0 0 0 .003.041c.24.465.515.909.817 1.329a.05.05 0 0 0 .056.019 13.235 13.235 0 0 0 4.001-2.02.049.049 0 0 0 .021-.037c.334-3.451-.559-6.449-2.366-9.106a.034.034 0 0 0-.02-.019Zm-8.198 7.307c-.789 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.45.73 1.438 1.613 0 .888-.637 1.612-1.438 1.612m5.316 0c-.788 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.451.73 1.438 1.613 0 .888-.631 1.612-1.438 1.612\\\"],[12],[13],[1,\\\"\\\\n                        \\\"],[13],[13],[1,\\\" watch party - we've got a seat for you.\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,2],[14,0,\\\"tga-twitch-blurb\\\"],[12],[1,\\\"Watch our staff commentary live on Twitch, or join fellow members in our Discord watch party.\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,2],[14,0,\\\"tga-twitch-blurb tga-twitch-datetime\\\"],[12],[1,\\\"Thu. Dec. 11 at 7:30p ET / 4:30p PT / 12:30a+1 GMT\\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,\\\"section\\\"],[14,1,\\\"tga-partners\\\"],[12],[1,\\\"\\\\n                \\\"],[10,2],[14,0,\\\"tga-partners-thanks\\\"],[12],[1,\\\"A Big Thank You to our Partners!\\\"],[13],[1,\\\"\\\\n                \\\"],[11,0],[24,0,\\\"scroller\\\"],[24,\\\"data-direction\\\",\\\"left\\\"],[24,\\\"data-speed\\\",\\\"slow\\\"],[4,[38,2],[[30,0,[\\\"duplicateBrands\\\"]]],null],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"scroller__inner\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,20],[[28,[37,20],[[30,0,[\\\"brandLinks\\\"]]],null]],null],null,[[[1,\\\"                            \\\"],[10,3],[15,6,[30,1,[\\\"url\\\"]]],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[29,[\\\"https://d178rirzmwqq72.cloudfront.net/campaign-imgs/the-game-awards/\\\",[30,1,[\\\"image\\\"]]]]],[15,\\\"alt\\\",[30,1,[\\\"name\\\"]]],[15,0,[29,[[52,[30,1,[\\\"scaleDown\\\"]],\\\"tga-img-scale-down\\\"],\\\" \\\",[52,[30,1,[\\\"scaleDownSm\\\"]],\\\"tga-img-scale-down-sm\\\"]]]],[12],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"tga-join-activities-outer\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"tga-join-activities-inner\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,\\\"h1\\\"],[14,0,\\\"tga-join-header\\\"],[12],[1,\\\"Join the Activities!\\\"],[13],[1,\\\"\\\\n                        \\\"],[10,2],[14,0,\\\"tga-join-blurb\\\"],[12],[10,1],[14,0,\\\"bold-date\\\"],[12],[1,\\\"12.1.25\\\"],[13],[1,\\\" - \\\"],[10,3],[14,6,\\\"/c/missions\\\"],[12],[1,\\\"TGA Missions Begin!\\\"],[13],[13],[1,\\\"\\\\n                        \\\"],[10,2],[14,0,\\\"tga-join-blurb\\\"],[12],[10,1],[14,0,\\\"bold-date\\\"],[12],[1,\\\"12.11.25\\\"],[13],[1,\\\" - TGA Bingo with the AMD community!\\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"brand\\\"],false,[\\\"div\\\",\\\"video\\\",\\\"did-insert\\\",\\\"source\\\",\\\"section\\\",\\\"the-game-awards-logos\\\",\\\"a\\\",\\\"svg\\\",\\\"path\\\",\\\"h1\\\",\\\"if\\\",\\\"iframe\\\",\\\"p\\\",\\\"br\\\",\\\"eq\\\",\\\"img\\\",\\\"h2\\\",\\\"both\\\",\\\"gt\\\",\\\"each\\\",\\\"-track-array\\\",\\\"span\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/amd-the-game-awards.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/blog-post\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container\">\n      <main class=\"cp-blog-container {{if this.editing \" is-editing\"}}\">\n          <div class=\"blog-view blog-view-1-no-padding\">\n              <section class=\"blog-top-section\">\n                  <div class=\"top-bg\" aria-hidden=\"true\"></div>\n  \n                  <div class=\"top-inner\">\n                      <div class=\"post-hero\">\n                          <picture>\n                              {{#if this.headerMobileUrl}}\n                              <source media=\"(max-width: 700px)\" srcset=\"{{this.headerMobileUrl}}\">\n                              {{/if}}\n                              <img class=\"post-hero__img\" src={{this.headerDesktopUrl}} alt=\"\">\n                          </picture>\n  \n                          <div class=\"post-hero__overlay\">\n                              <h1 class=\"post-hero__title\">{{this.postTitle}}</h1>\n                              {{#if this.postSubtitle}}\n                              <p class=\"post-hero__subtitle\">{{this.postSubtitle}}</p>\n                              {{/if}}\n                          </div>\n                      </div>\n                  </div>\n  \n                  <div class=\"notch-label\">DATE PUBLISHED: {{this.updatedAt}}</div>\n              </section>\n  \n              <section class=\"bottom-section-post\">\n                  <div class=\"full-post-blog-panel\">\n                      <section class=\"post-blog-panel\">\n                          <article class=\"post-body\" {{did-insert this._onBodyInsert}} {{did-update this._onBodyUpdate\n                              this.postContentCooked}}>\n                              {{{this.postContentCooked}}}\n                          </article>\n  \n                          <div class=\"author-byline\">\n                              <!-- Reactions bar -->\n                              {{#if this.isLoggedIn}}\n                              <div class=\"post-reactions\" role=\"group\" aria-label=\"Post reactions\">\n                                  <span class=\"rxn-count\">{{this.reactionsCount}}</span>\n  \n                                  <button type=\"button\" class=\"rxn-btn rxn-btn--like {{if this.likedFirstPost \" is-on\"}}\"\n                                      title=\"{{if this.likedFirstPost \" Unlike\" \"Like\" }}\"\n                                      aria-label=\"{{if this.likedFirstPost \" Unlike\" \"Like\" }}\" aria-pressed={{if\n                                      this.likedFirstPost \"true\" \"false\" }} {{on \"click\" this.toggleBlogLike}}>\n                                      <svg class=\"rxn-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n                                          <path\n                                              d=\"M12.1 21.35l-1.1-1.02C5.14 14.24 2 11.39 2 7.99 2 5.42 4.04 3.5 6.6 3.5c1.54 0 3.04.73 3.99 1.87A5.19 5.19 0 0 1 14.6 3.5c2.56 0 4.6 1.92 4.6 4.49 0 3.4-3.14 6.25-8.99 12.34z\" />\n                                      </svg>\n                                  </button>\n  \n                                  <button type=\"button\" class=\"rxn-btn rxn-btn--reply\" {{on \"click\" this.onShare}}\n                                      aria-label=\"Share\">\n                                      <svg class=\"rxn-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n                                          <path\n                                              d=\"M16 5l-1.41 1.41L17.17 9H10v2h7.17l-2.58 2.59L16 15l5-5-5-5zM4 4h6v2H6v12h4v2H4z\" />\n                                      </svg>\n                                  </button>\n  \n                                  {{#if this.isAdmin}}\n                                  <button type=\"button\" class=\"rxn-btn rxn-btn--edit\" {{on \"click\" this.onEditClick}}\n                                      aria-label=\"Edit\">\n                                      <svg class=\"rxn-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n                                          <path\n                                              d=\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zm14.71-9.04a1 1 0 0 0 0-1.41l-1.5-1.5a1 1 0 0 0-1.41 0l-1.12 1.12 3.75 3.75 1.28-1.46z\" />\n                                      </svg>\n                                  </button>\n  \n                                  <button type=\"button\" class=\"rxn-btn rxn-btn--delete\" {{on \"click\" this.onDelete}}\n                                      aria-label=\"Delete\">\n                                      <svg class=\"rxn-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n                                          <path d=\"M6 7h12l-1 14H7L6 7zm3-3h6l1 2H8l1-2z\" />\n                                      </svg>\n                                  </button>\n                                  {{/if}}\n                              </div>\n                              {{/if}}\n  \n                              <div class=\"rule-heading\" role=\"presentation\">\n                                  <span>ABOUT THE GAMER</span>\n                              </div>\n  \n                              <aside class=\"author-card\">\n                                  <LinkTo @route=\"cp-profile\" @model={{this.author.name}}>\n                                      <img class=\"author-avatar\" src={{this.author.avatarUrl}}\n                                          alt=\"Avatar of {{this.author.name}}\">\n                                  </LinkTo>\n                                  <div class=\"author-info\">\n                                      <div class=\"author-name\">{{this.author.name}}</div>\n                                      <div class=\"author-title\">{{this.author.title}}</div>\n                                      <p class=\"author-bio\">{{this.author.bio}}</p>\n                                  </div>\n                              </aside>\n                          </div>\n                      </section>\n                  </div>\n              </section>\n  \n              <!-- Comments -->\n              <section class=\"comments-section\">\n                  <header class=\"comments-header\">\n                      <h2 class=\"post-heading\">Comments</h2>\n  \n                      {{#if this.commentsClosed}}\n                      <span class=\"comments-status comments-status--closed\">\n                          Comments are closed.\n                      </span>\n                      {{else if (and this.isLoggedIn this.topicId this.canReply)}}\n                      <button type=\"button\" class=\"cp-btn cp-btn--ghost\" {{on \"click\" this.replyToTopic}}>\n                          Leave a Comment\n                      </button>\n                      {{/if}}\n                  </header>\n  \n                  {{#if this.commentsFlat.length}}\n                  <ul class=\"comment-list\">\n                      {{#each this.commentsFlat as |c|}}\n                      <li id={{concat \"cp-comment-\" c.id}} data-post-id={{c.id}} class=\"comment-card\"\n                          style={{this.indentStyle c.depth}} data-depth={{c.depth}}>\n                          <div class=\"comment-inner\">\n                              <div class=\"comment-grid\">\n                                  <aside class=\"comment-sidebar\">\n                                      <img class=\"comment-avatar\" src={{c.avatarUrl}} alt=\"Avatar of {{c.username}}\">\n                                      <div class=\"comment-username\">{{c.username}}</div>\n                                  </aside>\n  \n                                  <div class=\"comment-main\">\n                                      <div class=\"comment-meta\">\n                                          <time class=\"comment-date\" datetime={{c.isoCreatedAt}}>{{c.createdAt}}</time>\n                                      </div>\n  \n                                      <div class=\"comment-content\">\n                                          {{{c.cooked}}}\n                                      </div>\n  \n                                      <div class=\"comment-actions\" role=\"group\" aria-label=\"Comment actions\">\n                                          <span class=\"rxn-count\">{{c.like_count}}</span>\n  \n                                          {{#if this.isLoggedIn}}\n                                          <button type=\"button\"\n                                              title=\"{{if (this.isOwn c) 'You cannot like your own comment' 'Like'}}\"\n                                              class=\"rxn-btn rxn-btn--like {{if (this.isOwn c) 'is-disabled'}}\"\n                                              aria-label=\"Like\" aria-pressed={{if c.liked \"true\" \"false\" }} {{on \"click\"\n                                              (fn this.toggleLike c)}}>\n                                              <svg class=\"rxn-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n                                                  <path\n                                                      d=\"M12.1 21.35l-1.1-1.02C5.14 14.24 2 11.39 2 7.99 2 5.42 4.04 3.5 6.6 3.5c1.54 0 3.04.73 3.99 1.87A5.19 5.19 0 0 1 14.6 3.5c2.56 0 4.6 1.92 4.6 4.49 0 3.4-3.14 6.25-8.99 12.34z\" />\n                                              </svg>\n                                          </button>\n  \n                                          {{#if (and this.canReply (not this.commentsClosed))}}\n                                          <button type=\"button\" title=\"Reply to Post\" class=\"rxn-btn\" aria-label=\"Reply\"\n                                              {{on \"click\" (fn this.replyToPost c)}}>\n                                              <svg class=\"rxn-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n                                                  <path\n                                                      d=\"M10 8V5L3 12l7 7v-3h4.5c3.5 0 6.5 1.5 8.5 4-1-5-4.5-8-8.5-9H10z\" />\n                                              </svg>\n                                          </button>\n                                          {{/if}}\n                                          {{else}}\n                                          <svg class=\"rxn-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n                                              <path\n                                                  d=\"M12.1 21.35l-1.1-1.02C5.14 14.24 2 11.39 2 7.99 2 5.42 4.04 3.5 6.6 3.5c1.54 0 3.04.73 3.99 1.87A5.19 5.19 0 0 1 14.6 3.5c2.56 0 4.6 1.92 4.6 4.49 0 3.4-3.14 6.25-8.99 12.34z\" />\n                                          </svg>\n                                          {{/if}}\n  \n                                          <button type=\"button\" title=\"Share Post\" class=\"rxn-btn\" aria-label=\"Copy link\"\n                                              {{on \"click\" (fn this.shareComment c)}}>\n                                              <svg class=\"rxn-ico\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n                                                  <path\n                                                      d=\"M16 5l-1.41 1.41L17.17 9H10v2h7.17l-2.58 2.59L16 15l5-5-5-5zM4 4h6v2H6v12h4v2H4z\" />\n                                              </svg>\n                                          </button>\n                                      </div>\n                                  </div>\n                              </div>\n                          </div>\n                      </li>\n                      {{/each}}\n                  </ul>\n                  {{else if this.commentsClosed}}\n                  <p class=\"comments-closed-message\">Comments are closed.</p>\n                  {{else if (and this.topicId this.canReply)}}\n                  <p>No replies yet. Be the first to comment!</p>\n                  {{else}}\n                  <p>No comments yet.</p>\n                  {{/if}}\n  \n                  {{#if this.topicId}}\n                  <a class=\"cp-btn cp-btn--ghost\" style=\"margin: 20px;\" href={{this.continueDiscussionUrl}}\n                      target=\"_blank\" rel=\"noopener\">\n                      {{if this.commentsClosed \"View Topic\" \"Continue Discussion\"}}\n                  </a>\n                  {{/if}}\n              </section>\n  \n              <div class=\"blog-a-slot\">\n                  <CpAd @ad={{this.ad}} />\n              </div>\n          </div>\n  \n          {{#if this.isAdmin}}\n          <div class=\"blog-view blog-view-2\">\n              <form {{on \"submit\" this.savePost}} aria-busy={{this.isSaving}}>\n                  <section class=\"blog-top-section\">\n                      <div class=\"top-bg\" aria-hidden=\"true\"></div>\n  \n                      <div class=\"top-inner\">\n                          <div class=\"uploader-grid\">\n                              <!-- LEFT -->\n                              <div class=\"upload-card\">\n                                  <div class=\"upload-card__title\">Drag and drop images to upload.</div>\n                                  <hr class=\"upload-card__rule\">\n  \n                                  <!-- DESKTOP -->\n                                  <label class=\"dropzone\" {{on \"dragover\" (fn this.onDragOver \"desktop\" )}} {{on \"drop\"\n                                      (fn this.onDrop \"desktop\" )}}>\n                                      <input type=\"file\" accept=\"image/*\" class=\"file-input\" disabled={{this.isSaving}}\n                                          {{on \"change\" (fn this.onPick \"desktop\" )}} />\n                                      <div class=\"dz-body\">\n                                          <div class=\"dz-title\">DESKTOP Header (1920x520)</div>\n                                          <div class=\"dz-sub\">A complimentary title background. No embedded copy.</div>\n                                          {{#if this.preview.desktop}} <img src={{this.preview.desktop}} alt=\"\"\n                                              class=\"dz-preview\"> {{/if}}\n                                          {{#if this.files.desktop}} <div class=\"dz-filename\">{{this.files.desktop.name}}\n                                          </div> {{/if}}\n                                      </div>\n                                  </label>\n  \n                                  <!-- MOBILE -->\n                                  <label class=\"dropzone\" {{on \"dragover\" (fn this.onDragOver \"mobile\" )}} {{on \"drop\" (fn\n                                      this.onDrop \"mobile\" )}}>\n                                      <input type=\"file\" accept=\"image/*\" class=\"file-input\" disabled={{this.isSaving}}\n                                          {{on \"change\" (fn this.onPick \"mobile\" )}} />\n                                      <div class=\"dz-body\">\n                                          <div class=\"dz-title\">MOBILE Header (1080x1080)</div>\n                                          <div class=\"dz-sub\">A complimentary title background. No embedded copy.</div>\n                                          {{#if this.preview.mobile}} <img src={{this.preview.mobile}} alt=\"\"\n                                              class=\"dz-preview\"> {{/if}}\n                                          {{#if this.files.mobile}} <div class=\"dz-filename\">{{this.files.mobile.name}}\n                                          </div> {{/if}}\n                                      </div>\n                                  </label>\n  \n                                  <!-- THUMB -->\n                                  <label class=\"dropzone\" {{on \"dragover\" (fn this.onDragOver \"thumb\" )}} {{on \"drop\" (fn\n                                      this.onDrop \"thumb\" )}}>\n                                      <input type=\"file\" accept=\"image/*\" class=\"file-input\" disabled={{this.isSaving}}\n                                          {{on \"change\" (fn this.onPick \"thumb\" )}} />\n                                      <div class=\"dz-body\">\n                                          <div class=\"dz-title\">THUMBNAIL (1920x1080)</div>\n                                          <div class=\"dz-sub\">Logos and product key art. No embedded copy.</div>\n                                          {{#if this.preview.thumb}} <img src={{this.preview.thumb}} alt=\"\"\n                                              class=\"dz-preview\"> {{/if}}\n                                          {{#if this.files.thumb}} <div class=\"dz-filename\">{{this.files.thumb.name}}\n                                          </div> {{/if}}\n                                      </div>\n                                  </label>\n                              </div>\n  \n                              <!-- RIGHT -->\n                              <div class=\"fields-card\">\n                                  <label class=\"cp-label\">Add a Title</label>\n                                  <Input class=\"cp-input\" maxlength=\"140\" @value={{this.title}}\n                                      placeholder=\"Enter a title…\" />\n  \n                                  <div class=\"spacer-8\"></div>\n  \n                                  <label class=\"cp-label\">Subtitle</label>\n                                  <Input class=\"cp-input\" maxlength=\"140\" @value={{this.subtitle}}\n                                      placeholder=\"Enter a subtitle…\" />\n  \n                                  <div class=\"spacer-8\"></div>\n  \n                                  <label class=\"cp-label\">Featured Position</label>\n                                  <Input class=\"cp-input\" @type=\"number\" min=\"1\" max=\"10\" @value={{this.featured}}\n                                      placeholder=\"(Optional) Enter a number 1-10...\" />\n                              </div>\n                          </div>\n                      </div>\n  \n                      <div class=\"notch-label\">\n                          {{if (eq this.mode \"create\") \"DRAFT\" \"EDITING\"}}: {{this.draftTime}}\n                      </div>\n                  </section>\n  \n                  <section class=\"bottom-section\">\n                      <div class=\"full-edit-blog-panel\">\n                          <section class=\"edit-blog-panel {{if this.isSaving \" is-saving\"}}\">\n                              <header class=\"eb-header\">\n                                  <h3 class=\"eb-title\">{{or this.title \"Untitled Draft\"}}</h3>\n                                  <div class=\"eb-tags\">\n                                      <fieldset class=\"cp-cats\">\n                                          <label class=\"cp-cat\">\n                                              <input type=\"checkbox\" checked={{get this.selectedMap \"game-news\" }}\n                                                  {{on \"change\" (fn this.toggleFixed \"game-news\" )}} />\n                                              Game News\n                                          </label>\n                                          <label class=\"cp-cat\">\n                                              <input type=\"checkbox\" checked={{get this.selectedMap \"amd-news\" }}\n                                                  {{on \"change\" (fn this.toggleFixed \"amd-news\" )}} />\n                                              AMD News\n                                          </label>\n                                          <label class=\"cp-cat\">\n                                              <input type=\"checkbox\" checked={{get this.selectedMap \"ai-news\" }}\n                                                  {{on \"change\" (fn this.toggleFixed \"ai-news\" )}} />\n                                              AI News\n                                          </label>\n                                      </fieldset>\n                                  </div>\n                              </header>\n  \n                              <div class=\"eb-editor-grid\">\n                                  <div class=\"eb-editor\">\n                                      <div class=\"cp-editor-tools\">\n                                          <button type=\"button\" class=\"cp-btn cp-btn--ghost\" {{on \"click\"\n                                              this._triggerFilePick}} disabled={{this.isSaving}}>\n                                              Upload image\n                                          </button>\n                                          <input type=\"file\" accept=\"image/*\" class=\"hidden\" disabled={{this.isSaving}}\n                                              {{on \"change\" this._handlePickedFile}} {{did-insert\n                                              this._capturePickerRef}} />\n                                      </div>\n  \n                                      <DEditor @value={{this.raw}} @previewable={{true}} @valueChanged={{this.updateRaw}}\n                                          @canUpload={{true}} @uploadProcessor={{this.handleUpload}}\n                                          class=\"blog-editor\" />\n                                  </div>\n                              </div>\n  \n                              <hr class=\"eb-divider\" />\n  \n                              <p class=\"eb-note\">\n                                  Posting here will create a new topic or update the current one. Be sure to remove any\n                                  sensitive information.\n                              </p>\n  \n                              <div class=\"cp-btn-row\">\n                                  <button type=\"submit\" class=\"cp-btn cp-btn--primary\" disabled={{this.isSaving}}\n                                      aria-busy={{this.isSaving}}>\n                                      {{#if this.isSaving}}\n                                      {{d-icon \"spinner\"}} Saving…\n                                      {{else}}\n                                      {{if (eq this.mode \"create\") \"Create Topic\" \"Save Changes\"}}\n                                      {{/if}}\n                                  </button>\n  \n                                  <button type=\"button\" class=\"cp-btn cp-btn--ghost\" {{on \"click\" this.closeEdit}}\n                                      disabled={{this.isSaving}}>\n                                      Cancel\n                                  </button>\n                              </div>\n                          </section>\n                      </div>\n                  </section>\n              </form>\n          </div>\n          {{/if}}\n      </main>\n  </div>\n  */\n  {\n    \"id\": \"nf5YNHyg\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"main\\\"],[15,0,[29,[\\\"cp-blog-container \\\",[52,[30,0,[\\\"editing\\\"]],\\\" is-editing\\\"]]]],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"blog-view blog-view-1-no-padding\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"section\\\"],[14,0,\\\"blog-top-section\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"top-bg\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,0,\\\"top-inner\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"post-hero\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,\\\"picture\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"headerMobileUrl\\\"]],[[[1,\\\"                            \\\"],[10,\\\"source\\\"],[14,\\\"media\\\",\\\"(max-width: 700px)\\\"],[15,\\\"srcset\\\",[29,[[30,0,[\\\"headerMobileUrl\\\"]]]]],[12],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                            \\\"],[10,\\\"img\\\"],[14,0,\\\"post-hero__img\\\"],[15,\\\"src\\\",[30,0,[\\\"headerDesktopUrl\\\"]]],[14,\\\"alt\\\",\\\"\\\"],[12],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n\\\\n                        \\\"],[10,0],[14,0,\\\"post-hero__overlay\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"h1\\\"],[14,0,\\\"post-hero__title\\\"],[12],[1,[30,0,[\\\"postTitle\\\"]]],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"postSubtitle\\\"]],[[[1,\\\"                            \\\"],[10,2],[14,0,\\\"post-hero__subtitle\\\"],[12],[1,[30,0,[\\\"postSubtitle\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,0,\\\"notch-label\\\"],[12],[1,\\\"DATE PUBLISHED: \\\"],[1,[30,0,[\\\"updatedAt\\\"]]],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,\\\"section\\\"],[14,0,\\\"bottom-section-post\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"full-post-blog-panel\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"section\\\"],[14,0,\\\"post-blog-panel\\\"],[12],[1,\\\"\\\\n                        \\\"],[11,\\\"article\\\"],[24,0,\\\"post-body\\\"],[4,[38,10],[[30,0,[\\\"_onBodyInsert\\\"]]],null],[4,[38,11],[[30,0,[\\\"_onBodyUpdate\\\"]],[30,0,[\\\"postContentCooked\\\"]]],null],[12],[1,\\\"\\\\n                            \\\"],[2,[30,0,[\\\"postContentCooked\\\"]]],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n\\\\n                        \\\"],[10,0],[14,0,\\\"author-byline\\\"],[12],[1,\\\"\\\\n                            \\\"],[3,\\\" Reactions bar \\\"],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isLoggedIn\\\"]],[[[1,\\\"                            \\\"],[10,0],[14,0,\\\"post-reactions\\\"],[14,\\\"role\\\",\\\"group\\\"],[14,\\\"aria-label\\\",\\\"Post reactions\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,1],[14,0,\\\"rxn-count\\\"],[12],[1,[30,0,[\\\"reactionsCount\\\"]]],[13],[1,\\\"\\\\n\\\\n                                \\\"],[11,\\\"button\\\"],[16,0,[29,[\\\"rxn-btn rxn-btn--like \\\",[52,[30,0,[\\\"likedFirstPost\\\"]],\\\" is-on\\\"]]]],[16,\\\"title\\\",[29,[[52,[30,0,[\\\"likedFirstPost\\\"]],\\\" Unlike\\\",\\\"Like\\\"]]]],[16,\\\"aria-label\\\",[29,[[52,[30,0,[\\\"likedFirstPost\\\"]],\\\" Unlike\\\",\\\"Like\\\"]]]],[16,\\\"aria-pressed\\\",[52,[30,0,[\\\"likedFirstPost\\\"]],\\\"true\\\",\\\"false\\\"]],[24,4,\\\"button\\\"],[4,[38,14],[\\\"click\\\",[30,0,[\\\"toggleBlogLike\\\"]]],null],[12],[1,\\\"\\\\n                                    \\\"],[10,\\\"svg\\\"],[14,0,\\\"rxn-ico\\\"],[14,\\\"viewBox\\\",\\\"0 0 24 24\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M12.1 21.35l-1.1-1.02C5.14 14.24 2 11.39 2 7.99 2 5.42 4.04 3.5 6.6 3.5c1.54 0 3.04.73 3.99 1.87A5.19 5.19 0 0 1 14.6 3.5c2.56 0 4.6 1.92 4.6 4.49 0 3.4-3.14 6.25-8.99 12.34z\\\"],[12],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[11,\\\"button\\\"],[24,0,\\\"rxn-btn rxn-btn--reply\\\"],[24,\\\"aria-label\\\",\\\"Share\\\"],[24,4,\\\"button\\\"],[4,[38,14],[\\\"click\\\",[30,0,[\\\"onShare\\\"]]],null],[12],[1,\\\"\\\\n                                    \\\"],[10,\\\"svg\\\"],[14,0,\\\"rxn-ico\\\"],[14,\\\"viewBox\\\",\\\"0 0 24 24\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M16 5l-1.41 1.41L17.17 9H10v2h7.17l-2.58 2.59L16 15l5-5-5-5zM4 4h6v2H6v12h4v2H4z\\\"],[12],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"isAdmin\\\"]],[[[1,\\\"                                \\\"],[11,\\\"button\\\"],[24,0,\\\"rxn-btn rxn-btn--edit\\\"],[24,\\\"aria-label\\\",\\\"Edit\\\"],[24,4,\\\"button\\\"],[4,[38,14],[\\\"click\\\",[30,0,[\\\"onEditClick\\\"]]],null],[12],[1,\\\"\\\\n                                    \\\"],[10,\\\"svg\\\"],[14,0,\\\"rxn-ico\\\"],[14,\\\"viewBox\\\",\\\"0 0 24 24\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zm14.71-9.04a1 1 0 0 0 0-1.41l-1.5-1.5a1 1 0 0 0-1.41 0l-1.12 1.12 3.75 3.75 1.28-1.46z\\\"],[12],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[11,\\\"button\\\"],[24,0,\\\"rxn-btn rxn-btn--delete\\\"],[24,\\\"aria-label\\\",\\\"Delete\\\"],[24,4,\\\"button\\\"],[4,[38,14],[\\\"click\\\",[30,0,[\\\"onDelete\\\"]]],null],[12],[1,\\\"\\\\n                                    \\\"],[10,\\\"svg\\\"],[14,0,\\\"rxn-ico\\\"],[14,\\\"viewBox\\\",\\\"0 0 24 24\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M6 7h12l-1 14H7L6 7zm3-3h6l1 2H8l1-2z\\\"],[12],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"rule-heading\\\"],[14,\\\"role\\\",\\\"presentation\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,1],[12],[1,\\\"ABOUT THE GAMER\\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\\n                            \\\"],[10,\\\"aside\\\"],[14,0,\\\"author-card\\\"],[12],[1,\\\"\\\\n                                \\\"],[8,[39,18],null,[[\\\"@route\\\",\\\"@model\\\"],[\\\"cp-profile\\\",[30,0,[\\\"author\\\",\\\"name\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n                                    \\\"],[10,\\\"img\\\"],[14,0,\\\"author-avatar\\\"],[15,\\\"src\\\",[30,0,[\\\"author\\\",\\\"avatarUrl\\\"]]],[15,\\\"alt\\\",[29,[\\\"Avatar of \\\",[30,0,[\\\"author\\\",\\\"name\\\"]]]]],[12],[13],[1,\\\"\\\\n                                \\\"]],[]]]]],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"author-info\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"author-name\\\"],[12],[1,[30,0,[\\\"author\\\",\\\"name\\\"]]],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"author-title\\\"],[12],[1,[30,0,[\\\"author\\\",\\\"title\\\"]]],[13],[1,\\\"\\\\n                                    \\\"],[10,2],[14,0,\\\"author-bio\\\"],[12],[1,[30,0,[\\\"author\\\",\\\"bio\\\"]]],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[3,\\\" Comments \\\"],[1,\\\"\\\\n            \\\"],[10,\\\"section\\\"],[14,0,\\\"comments-section\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"header\\\"],[14,0,\\\"comments-header\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"h2\\\"],[14,0,\\\"post-heading\\\"],[12],[1,\\\"Comments\\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"commentsClosed\\\"]],[[[1,\\\"                    \\\"],[10,1],[14,0,\\\"comments-status comments-status--closed\\\"],[12],[1,\\\"\\\\n                        Comments are closed.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[37,21],[[30,0,[\\\"isLoggedIn\\\"]],[30,0,[\\\"topicId\\\"]],[30,0,[\\\"canReply\\\"]]],null],[[[1,\\\"                    \\\"],[11,\\\"button\\\"],[24,0,\\\"cp-btn cp-btn--ghost\\\"],[24,4,\\\"button\\\"],[4,[38,14],[\\\"click\\\",[30,0,[\\\"replyToTopic\\\"]]],null],[12],[1,\\\"\\\\n                        Leave a Comment\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"]],[]],null]],[]]],[1,\\\"                \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"commentsFlat\\\",\\\"length\\\"]],[[[1,\\\"                \\\"],[10,\\\"ul\\\"],[14,0,\\\"comment-list\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,24],[[28,[37,24],[[30,0,[\\\"commentsFlat\\\"]]],null]],null],null,[[[1,\\\"                    \\\"],[10,\\\"li\\\"],[15,1,[28,[37,26],[\\\"cp-comment-\\\",[30,1,[\\\"id\\\"]]],null]],[15,\\\"data-post-id\\\",[30,1,[\\\"id\\\"]]],[14,0,\\\"comment-card\\\"],[15,5,[28,[30,0,[\\\"indentStyle\\\"]],[[30,1,[\\\"depth\\\"]]],null]],[15,\\\"data-depth\\\",[30,1,[\\\"depth\\\"]]],[12],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"comment-inner\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"comment-grid\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"aside\\\"],[14,0,\\\"comment-sidebar\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,\\\"img\\\"],[14,0,\\\"comment-avatar\\\"],[15,\\\"src\\\",[30,1,[\\\"avatarUrl\\\"]]],[15,\\\"alt\\\",[29,[\\\"Avatar of \\\",[30,1,[\\\"username\\\"]]]]],[12],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"comment-username\\\"],[12],[1,[30,1,[\\\"username\\\"]]],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,0],[14,0,\\\"comment-main\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"comment-meta\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"time\\\"],[14,0,\\\"comment-date\\\"],[15,\\\"datetime\\\",[30,1,[\\\"isoCreatedAt\\\"]]],[12],[1,[30,1,[\\\"createdAt\\\"]]],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\\n                                    \\\"],[10,0],[14,0,\\\"comment-content\\\"],[12],[1,\\\"\\\\n                                        \\\"],[2,[30,1,[\\\"cooked\\\"]]],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\\n                                    \\\"],[10,0],[14,0,\\\"comment-actions\\\"],[14,\\\"role\\\",\\\"group\\\"],[14,\\\"aria-label\\\",\\\"Comment actions\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,1],[14,0,\\\"rxn-count\\\"],[12],[1,[30,1,[\\\"like_count\\\"]]],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"isLoggedIn\\\"]],[[[1,\\\"                                        \\\"],[11,\\\"button\\\"],[16,\\\"title\\\",[29,[[52,[28,[30,0,[\\\"isOwn\\\"]],[[30,1]],null],\\\"You cannot like your own comment\\\",\\\"Like\\\"]]]],[16,0,[29,[\\\"rxn-btn rxn-btn--like \\\",[52,[28,[30,0,[\\\"isOwn\\\"]],[[30,1]],null],\\\"is-disabled\\\"]]]],[24,\\\"aria-label\\\",\\\"Like\\\"],[16,\\\"aria-pressed\\\",[52,[30,1,[\\\"liked\\\"]],\\\"true\\\",\\\"false\\\"]],[24,4,\\\"button\\\"],[4,[38,14],[\\\"click\\\",[28,[37,28],[[30,0,[\\\"toggleLike\\\"]],[30,1]],null]],null],[12],[1,\\\"\\\\n                                            \\\"],[10,\\\"svg\\\"],[14,0,\\\"rxn-ico\\\"],[14,\\\"viewBox\\\",\\\"0 0 24 24\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[1,\\\"\\\\n                                                \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M12.1 21.35l-1.1-1.02C5.14 14.24 2 11.39 2 7.99 2 5.42 4.04 3.5 6.6 3.5c1.54 0 3.04.73 3.99 1.87A5.19 5.19 0 0 1 14.6 3.5c2.56 0 4.6 1.92 4.6 4.49 0 3.4-3.14 6.25-8.99 12.34z\\\"],[12],[13],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[28,[37,21],[[30,0,[\\\"canReply\\\"]],[28,[37,29],[[30,0,[\\\"commentsClosed\\\"]]],null]],null],[[[1,\\\"                                        \\\"],[11,\\\"button\\\"],[24,\\\"title\\\",\\\"Reply to Post\\\"],[24,0,\\\"rxn-btn\\\"],[24,\\\"aria-label\\\",\\\"Reply\\\"],[24,4,\\\"button\\\"],[4,[38,14],[\\\"click\\\",[28,[37,28],[[30,0,[\\\"replyToPost\\\"]],[30,1]],null]],null],[12],[1,\\\"\\\\n                                            \\\"],[10,\\\"svg\\\"],[14,0,\\\"rxn-ico\\\"],[14,\\\"viewBox\\\",\\\"0 0 24 24\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[1,\\\"\\\\n                                                \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M10 8V5L3 12l7 7v-3h4.5c3.5 0 6.5 1.5 8.5 4-1-5-4.5-8-8.5-9H10z\\\"],[12],[13],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],[[[1,\\\"                                        \\\"],[10,\\\"svg\\\"],[14,0,\\\"rxn-ico\\\"],[14,\\\"viewBox\\\",\\\"0 0 24 24\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[1,\\\"\\\\n                                            \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M12.1 21.35l-1.1-1.02C5.14 14.24 2 11.39 2 7.99 2 5.42 4.04 3.5 6.6 3.5c1.54 0 3.04.73 3.99 1.87A5.19 5.19 0 0 1 14.6 3.5c2.56 0 4.6 1.92 4.6 4.49 0 3.4-3.14 6.25-8.99 12.34z\\\"],[12],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"\\\\n                                        \\\"],[11,\\\"button\\\"],[24,\\\"title\\\",\\\"Share Post\\\"],[24,0,\\\"rxn-btn\\\"],[24,\\\"aria-label\\\",\\\"Copy link\\\"],[24,4,\\\"button\\\"],[4,[38,14],[\\\"click\\\",[28,[37,28],[[30,0,[\\\"shareComment\\\"]],[30,1]],null]],null],[12],[1,\\\"\\\\n                                            \\\"],[10,\\\"svg\\\"],[14,0,\\\"rxn-ico\\\"],[14,\\\"viewBox\\\",\\\"0 0 24 24\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[1,\\\"\\\\n                                                \\\"],[10,\\\"path\\\"],[14,\\\"d\\\",\\\"M16 5l-1.41 1.41L17.17 9H10v2h7.17l-2.58 2.59L16 15l5-5-5-5zM4 4h6v2H6v12h4v2H4z\\\"],[12],[13],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"                \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,0,[\\\"commentsClosed\\\"]],[[[1,\\\"                \\\"],[10,2],[14,0,\\\"comments-closed-message\\\"],[12],[1,\\\"Comments are closed.\\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[37,21],[[30,0,[\\\"topicId\\\"]],[30,0,[\\\"canReply\\\"]]],null],[[[1,\\\"                \\\"],[10,2],[12],[1,\\\"No replies yet. Be the first to comment!\\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                \\\"],[10,2],[12],[1,\\\"No comments yet.\\\"],[13],[1,\\\"\\\\n                \\\"]],[]]]],[]]]],[]]],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"topicId\\\"]],[[[1,\\\"                \\\"],[10,3],[14,0,\\\"cp-btn cp-btn--ghost\\\"],[14,5,\\\"margin: 20px;\\\"],[15,6,[30,0,[\\\"continueDiscussionUrl\\\"]]],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener\\\"],[12],[1,\\\"\\\\n                    \\\"],[1,[52,[30,0,[\\\"commentsClosed\\\"]],\\\"View Topic\\\",\\\"Continue Discussion\\\"]],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"blog-a-slot\\\"],[12],[1,\\\"\\\\n                \\\"],[8,[39,31],null,[[\\\"@ad\\\"],[[30,0,[\\\"ad\\\"]]]],null],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"isAdmin\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"blog-view blog-view-2\\\"],[12],[1,\\\"\\\\n            \\\"],[11,\\\"form\\\"],[16,\\\"aria-busy\\\",[30,0,[\\\"isSaving\\\"]]],[4,[38,14],[\\\"submit\\\",[30,0,[\\\"savePost\\\"]]],null],[12],[1,\\\"\\\\n                \\\"],[10,\\\"section\\\"],[14,0,\\\"blog-top-section\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"top-bg\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,0],[14,0,\\\"top-inner\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"uploader-grid\\\"],[12],[1,\\\"\\\\n                            \\\"],[3,\\\" LEFT \\\"],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"upload-card\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"upload-card__title\\\"],[12],[1,\\\"Drag and drop images to upload.\\\"],[13],[1,\\\"\\\\n                                \\\"],[10,\\\"hr\\\"],[14,0,\\\"upload-card__rule\\\"],[12],[13],[1,\\\"\\\\n\\\\n                                \\\"],[3,\\\" DESKTOP \\\"],[1,\\\"\\\\n                                \\\"],[11,\\\"label\\\"],[24,0,\\\"dropzone\\\"],[4,[38,14],[\\\"dragover\\\",[28,[37,28],[[30,0,[\\\"onDragOver\\\"]],\\\"desktop\\\"],null]],null],[4,[38,14],[\\\"drop\\\",[28,[37,28],[[30,0,[\\\"onDrop\\\"]],\\\"desktop\\\"],null]],null],[12],[1,\\\"\\\\n                                    \\\"],[11,\\\"input\\\"],[24,\\\"accept\\\",\\\"image/*\\\"],[24,0,\\\"file-input\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isSaving\\\"]]],[24,4,\\\"file\\\"],[4,[38,14],[\\\"change\\\",[28,[37,28],[[30,0,[\\\"onPick\\\"]],\\\"desktop\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"dz-body\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"dz-title\\\"],[12],[1,\\\"DESKTOP Header (1920x520)\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"dz-sub\\\"],[12],[1,\\\"A complimentary title background. No embedded copy.\\\"],[13],[1,\\\"\\\\n                                        \\\"],[41,[30,0,[\\\"preview\\\",\\\"desktop\\\"]],[[[1,\\\" \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,0,[\\\"preview\\\",\\\"desktop\\\"]]],[14,\\\"alt\\\",\\\"\\\"],[14,0,\\\"dz-preview\\\"],[12],[13],[1,\\\" \\\"]],[]],null],[1,\\\"\\\\n                                        \\\"],[41,[30,0,[\\\"files\\\",\\\"desktop\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"dz-filename\\\"],[12],[1,[30,0,[\\\"files\\\",\\\"desktop\\\",\\\"name\\\"]]],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\" \\\"]],[]],null],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[3,\\\" MOBILE \\\"],[1,\\\"\\\\n                                \\\"],[11,\\\"label\\\"],[24,0,\\\"dropzone\\\"],[4,[38,14],[\\\"dragover\\\",[28,[37,28],[[30,0,[\\\"onDragOver\\\"]],\\\"mobile\\\"],null]],null],[4,[38,14],[\\\"drop\\\",[28,[37,28],[[30,0,[\\\"onDrop\\\"]],\\\"mobile\\\"],null]],null],[12],[1,\\\"\\\\n                                    \\\"],[11,\\\"input\\\"],[24,\\\"accept\\\",\\\"image/*\\\"],[24,0,\\\"file-input\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isSaving\\\"]]],[24,4,\\\"file\\\"],[4,[38,14],[\\\"change\\\",[28,[37,28],[[30,0,[\\\"onPick\\\"]],\\\"mobile\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"dz-body\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"dz-title\\\"],[12],[1,\\\"MOBILE Header (1080x1080)\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"dz-sub\\\"],[12],[1,\\\"A complimentary title background. No embedded copy.\\\"],[13],[1,\\\"\\\\n                                        \\\"],[41,[30,0,[\\\"preview\\\",\\\"mobile\\\"]],[[[1,\\\" \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,0,[\\\"preview\\\",\\\"mobile\\\"]]],[14,\\\"alt\\\",\\\"\\\"],[14,0,\\\"dz-preview\\\"],[12],[13],[1,\\\" \\\"]],[]],null],[1,\\\"\\\\n                                        \\\"],[41,[30,0,[\\\"files\\\",\\\"mobile\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"dz-filename\\\"],[12],[1,[30,0,[\\\"files\\\",\\\"mobile\\\",\\\"name\\\"]]],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\" \\\"]],[]],null],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[3,\\\" THUMB \\\"],[1,\\\"\\\\n                                \\\"],[11,\\\"label\\\"],[24,0,\\\"dropzone\\\"],[4,[38,14],[\\\"dragover\\\",[28,[37,28],[[30,0,[\\\"onDragOver\\\"]],\\\"thumb\\\"],null]],null],[4,[38,14],[\\\"drop\\\",[28,[37,28],[[30,0,[\\\"onDrop\\\"]],\\\"thumb\\\"],null]],null],[12],[1,\\\"\\\\n                                    \\\"],[11,\\\"input\\\"],[24,\\\"accept\\\",\\\"image/*\\\"],[24,0,\\\"file-input\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isSaving\\\"]]],[24,4,\\\"file\\\"],[4,[38,14],[\\\"change\\\",[28,[37,28],[[30,0,[\\\"onPick\\\"]],\\\"thumb\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"dz-body\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"dz-title\\\"],[12],[1,\\\"THUMBNAIL (1920x1080)\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"dz-sub\\\"],[12],[1,\\\"Logos and product key art. No embedded copy.\\\"],[13],[1,\\\"\\\\n                                        \\\"],[41,[30,0,[\\\"preview\\\",\\\"thumb\\\"]],[[[1,\\\" \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,0,[\\\"preview\\\",\\\"thumb\\\"]]],[14,\\\"alt\\\",\\\"\\\"],[14,0,\\\"dz-preview\\\"],[12],[13],[1,\\\" \\\"]],[]],null],[1,\\\"\\\\n                                        \\\"],[41,[30,0,[\\\"files\\\",\\\"thumb\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"dz-filename\\\"],[12],[1,[30,0,[\\\"files\\\",\\\"thumb\\\",\\\"name\\\"]]],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\" \\\"]],[]],null],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\\n                            \\\"],[3,\\\" RIGHT \\\"],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"fields-card\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-label\\\"],[12],[1,\\\"Add a Title\\\"],[13],[1,\\\"\\\\n                                \\\"],[8,[39,35],[[24,0,\\\"cp-input\\\"],[24,\\\"maxlength\\\",\\\"140\\\"],[24,\\\"placeholder\\\",\\\"Enter a title…\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"title\\\"]]]],null],[1,\\\"\\\\n\\\\n                                \\\"],[10,0],[14,0,\\\"spacer-8\\\"],[12],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-label\\\"],[12],[1,\\\"Subtitle\\\"],[13],[1,\\\"\\\\n                                \\\"],[8,[39,35],[[24,0,\\\"cp-input\\\"],[24,\\\"maxlength\\\",\\\"140\\\"],[24,\\\"placeholder\\\",\\\"Enter a subtitle…\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"subtitle\\\"]]]],null],[1,\\\"\\\\n\\\\n                                \\\"],[10,0],[14,0,\\\"spacer-8\\\"],[12],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-label\\\"],[12],[1,\\\"Featured Position\\\"],[13],[1,\\\"\\\\n                                \\\"],[8,[39,35],[[24,0,\\\"cp-input\\\"],[24,\\\"min\\\",\\\"1\\\"],[24,\\\"max\\\",\\\"10\\\"],[24,\\\"placeholder\\\",\\\"(Optional) Enter a number 1-10...\\\"]],[[\\\"@type\\\",\\\"@value\\\"],[\\\"number\\\",[30,0,[\\\"featured\\\"]]]],null],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,0],[14,0,\\\"notch-label\\\"],[12],[1,\\\"\\\\n                        \\\"],[1,[52,[28,[37,36],[[30,0,[\\\"mode\\\"]],\\\"create\\\"],null],\\\"DRAFT\\\",\\\"EDITING\\\"]],[1,\\\": \\\"],[1,[30,0,[\\\"draftTime\\\"]]],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"section\\\"],[14,0,\\\"bottom-section\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"full-edit-blog-panel\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,\\\"section\\\"],[15,0,[29,[\\\"edit-blog-panel \\\",[52,[30,0,[\\\"isSaving\\\"]],\\\" is-saving\\\"]]]],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"header\\\"],[14,0,\\\"eb-header\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"h3\\\"],[14,0,\\\"eb-title\\\"],[12],[1,[28,[35,38],[[30,0,[\\\"title\\\"]],\\\"Untitled Draft\\\"],null]],[13],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"eb-tags\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,\\\"fieldset\\\"],[14,0,\\\"cp-cats\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-cat\\\"],[12],[1,\\\"\\\\n                                            \\\"],[11,\\\"input\\\"],[16,\\\"checked\\\",[28,[37,40],[[30,0,[\\\"selectedMap\\\"]],\\\"game-news\\\"],null]],[24,4,\\\"checkbox\\\"],[4,[38,14],[\\\"change\\\",[28,[37,28],[[30,0,[\\\"toggleFixed\\\"]],\\\"game-news\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                            Game News\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-cat\\\"],[12],[1,\\\"\\\\n                                            \\\"],[11,\\\"input\\\"],[16,\\\"checked\\\",[28,[37,40],[[30,0,[\\\"selectedMap\\\"]],\\\"amd-news\\\"],null]],[24,4,\\\"checkbox\\\"],[4,[38,14],[\\\"change\\\",[28,[37,28],[[30,0,[\\\"toggleFixed\\\"]],\\\"amd-news\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                            AMD News\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-cat\\\"],[12],[1,\\\"\\\\n                                            \\\"],[11,\\\"input\\\"],[16,\\\"checked\\\",[28,[37,40],[[30,0,[\\\"selectedMap\\\"]],\\\"ai-news\\\"],null]],[24,4,\\\"checkbox\\\"],[4,[38,14],[\\\"change\\\",[28,[37,28],[[30,0,[\\\"toggleFixed\\\"]],\\\"ai-news\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                            AI News\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\\n                            \\\"],[10,0],[14,0,\\\"eb-editor-grid\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"eb-editor\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"cp-editor-tools\\\"],[12],[1,\\\"\\\\n                                        \\\"],[11,\\\"button\\\"],[24,0,\\\"cp-btn cp-btn--ghost\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isSaving\\\"]]],[24,4,\\\"button\\\"],[4,[38,14],[\\\"click\\\",[30,0,[\\\"_triggerFilePick\\\"]]],null],[12],[1,\\\"\\\\n                                            Upload image\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                        \\\"],[11,\\\"input\\\"],[24,\\\"accept\\\",\\\"image/*\\\"],[24,0,\\\"hidden\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isSaving\\\"]]],[24,4,\\\"file\\\"],[4,[38,14],[\\\"change\\\",[30,0,[\\\"_handlePickedFile\\\"]]],null],[4,[38,10],[[30,0,[\\\"_capturePickerRef\\\"]]],null],[12],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\\n                                    \\\"],[8,[39,41],[[24,0,\\\"blog-editor\\\"]],[[\\\"@value\\\",\\\"@previewable\\\",\\\"@valueChanged\\\",\\\"@canUpload\\\",\\\"@uploadProcessor\\\"],[[30,0,[\\\"raw\\\"]],true,[30,0,[\\\"updateRaw\\\"]],true,[30,0,[\\\"handleUpload\\\"]]]],null],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\\n                            \\\"],[10,\\\"hr\\\"],[14,0,\\\"eb-divider\\\"],[12],[13],[1,\\\"\\\\n\\\\n                            \\\"],[10,2],[14,0,\\\"eb-note\\\"],[12],[1,\\\"\\\\n                                Posting here will create a new topic or update the current one. Be sure to remove any\\\\n                                sensitive information.\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\\n                            \\\"],[10,0],[14,0,\\\"cp-btn-row\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"button\\\"],[14,0,\\\"cp-btn cp-btn--primary\\\"],[15,\\\"disabled\\\",[30,0,[\\\"isSaving\\\"]]],[15,\\\"aria-busy\\\",[30,0,[\\\"isSaving\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isSaving\\\"]],[[[1,\\\"                                    \\\"],[1,[28,[35,42],[\\\"spinner\\\"],null]],[1,\\\" Saving…\\\\n\\\"]],[]],[[[1,\\\"                                    \\\"],[1,[52,[28,[37,36],[[30,0,[\\\"mode\\\"]],\\\"create\\\"],null],\\\"Create Topic\\\",\\\"Save Changes\\\"]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"                                \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[11,\\\"button\\\"],[24,0,\\\"cp-btn cp-btn--ghost\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isSaving\\\"]]],[24,4,\\\"button\\\"],[4,[38,14],[\\\"click\\\",[30,0,[\\\"closeEdit\\\"]]],null],[12],[1,\\\"\\\\n                                    Cancel\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"c\\\"],false,[\\\"div\\\",\\\"main\\\",\\\"if\\\",\\\"section\\\",\\\"picture\\\",\\\"source\\\",\\\"img\\\",\\\"h1\\\",\\\"p\\\",\\\"article\\\",\\\"did-insert\\\",\\\"did-update\\\",\\\"span\\\",\\\"button\\\",\\\"on\\\",\\\"svg\\\",\\\"path\\\",\\\"aside\\\",\\\"link-to\\\",\\\"header\\\",\\\"h2\\\",\\\"and\\\",\\\"ul\\\",\\\"each\\\",\\\"-track-array\\\",\\\"li\\\",\\\"concat\\\",\\\"time\\\",\\\"fn\\\",\\\"not\\\",\\\"a\\\",\\\"cp-ad\\\",\\\"form\\\",\\\"hr\\\",\\\"label\\\",\\\"input\\\",\\\"eq\\\",\\\"h3\\\",\\\"or\\\",\\\"fieldset\\\",\\\"get\\\",\\\"d-editor\\\",\\\"d-icon\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/blog-post.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/blogs-index\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container\">\n      <main class=\"cp-blog-container {{if this.editing \" is-editing\"}}\">\n          <div class=\"blog-view blog-view-1\">\n              <section class=\"blog-rotator-section\">\n                  <FocusLinkCarousel @title=\"\" @images={{this.featuredPosts}} />\n                  {{#if this.isAdmin}}\n                      <LinkTo @route=\"amd-admin-manage-blog\" id=\"manage-featured-btn\" class=\"btn btn-primary\">Manage Featured</LinkTo>\n                  {{/if}}\n              </section>\n              <section class=\"blog-topic-selector-section\">\n                  <div class=\"blog-filter-container\">\n                      <div class=\"blog-filter-line left\"></div>\n                      <div class=\"blog-filter-multiselect\">\n                          <div class=\"cp-multiselect\">\n                              <details class=\"ms\">\n                                  <summary class=\"ms__button\" aria-haspopup=\"listbox\">\n                                      <span class=\"ms__title\">Topic Categories</span>\n                                  </summary>\n  \n                                  <ul class=\"ms__menu\" role=\"listbox\" aria-multiselectable=\"true\">\n                                      <div class=\"ms__menu-inner\">\n                                          {{#each this.categories as |cat|}}\n                                          <li class=\"ms__option\">\n                                              <input id={{concat \"cat-\" cat.slug}} type=\"checkbox\" checked={{has this.selected\n                                                  cat.slug}} {{on \"change\" (fn this.toggleCategory cat.slug)}} />\n                                              <label for={{concat \"cat-\" cat.slug}}>{{cat.name}}</label>\n                                          </li>\n                                          {{/each}}\n                                      </div>\n                                  </ul>\n                              </details>\n                          </div>\n                      </div>\n                      <div class=\"blog-filter-line right\"></div>\n                  </div>\n                  <div class=\"blog-a-slot\">\n                      <CpAd @ad={{this.ad}} />\n                  </div>\n              </section>\n              <section class=\"blog-posts-section\">\n                  {{#each this.filteredPosts as |post|}}\n                  <LinkTo @route=\"blog-post\" @model={{post.slug}} class=\"full-blog-card-panel\">\n                      <article>\n                          <header class=\"blog-card-panel__head\">\n                              <h3>{{post.date}}</h3>\n                          </header>\n  \n                          <section class=\"blog-card-panel\">\n                              <div class=\"blog-card-panel-container\">\n                                  <div class=\"blog-card-panel-inner\">\n                                      <div class=\"blog-card-media\">\n                                          <img src={{post.thumbnail}} alt=\"\" class=\"blog-card-img\" />\n                                      </div>\n  \n                                      <div class=\"blog-card-data\">\n                                          {{#if post.tagsPretty.length}}\n                                          <ul class=\"blog-card-tags\">\n                                              {{#each post.tagsPretty as |label|}}\n                                              <li class=\"blog-card-tag\">{{label}}</li>\n                                              {{/each}}\n                                          </ul>\n                                          {{/if}}\n                                          <h2 class=\"blog-card-title\">{{post.title}}</h2>\n                                          <p class=\"blog-card-blurb\">{{post.blurb}}</p>\n                                      </div>\n  \n                                      <footer class=\"blog-card-footer\">\n                                          <div class=\"blog-card-author\">\n                                              <img class=\"author-avatar\" src={{post.author.avatarUrl}}\n                                                  alt=\"Avatar of {{post.author.name}}\">\n                                              <span class=\"author-name\">{{post.author.name}}</span>\n                                          </div>\n  \n                                          <div class=\"blog-card-meta\">\n                                              <span class=\"meta meta--likes\" title=\"Likes\">{{post.likes}}</span>\n                                              <span class=\"meta meta--comments\" title=\"Comments\">{{post.replyCount}}</span>\n                                          </div>\n                                      </footer>\n                                  </div>\n                              </div>\n                          </section>\n                      </article>\n                  </LinkTo>\n                  {{/each}}\n              </section>\n          </div>\n  \n          {{#if this.isAdmin}}\n          <div class=\"blog-view blog-view-2\">\n              <form {{on \"submit\" this.createPost}} aria-busy={{this.isSaving}}>\n                  <section class=\"blog-top-section\">\n                      <div class=\"top-bg\" aria-hidden=\"true\"></div>\n  \n                      <div class=\"top-inner\">\n                          <div class=\"uploader-grid\">\n                              {{!-- LEFT COLUMN --}}\n                              <div class=\"upload-card\">\n                                  <div class=\"upload-card__title\">Drag and drop images to upload.</div>\n                                  <hr class=\"upload-card__rule\">\n  \n                                  {{!-- DESKTOP --}}\n                                  <label class=\"dropzone\" {{on \"dragover\" (fn this.onDragOver \"desktop\" )}} {{on \"drop\"\n                                      (fn this.onDrop \"desktop\" )}}>\n                                      <input type=\"file\" accept=\"image/*\" disabled={{this.isSaving}} class=\"file-input\"\n                                          {{on \"change\" (fn this.onPick \"desktop\" )}} />\n                                      <div class=\"dz-body\">\n                                          <div class=\"dz-title\">DESKTOP Header (1920x520)</div>\n                                          <div class=\"dz-sub\">A complimentary title background. No embedded copy.</div>\n                                          {{#if this.preview.desktop}} <img src={{this.preview.desktop}} alt=\"\"\n                                              class=\"dz-preview\"> {{/if}}\n                                          {{#if this.files.desktop}} <div class=\"dz-filename\">{{this.files.desktop.name}}\n                                          </div> {{/if}}\n                                      </div>\n                                  </label>\n  \n                                  {{!-- MOBILE --}}\n                                  <label class=\"dropzone\" {{on \"dragover\" (fn this.onDragOver \"mobile\" )}} {{on \"drop\" (fn\n                                      this.onDrop \"mobile\" )}}>\n                                      <input type=\"file\" accept=\"image/*\" disabled={{this.isSaving}} class=\"file-input\"\n                                          {{on \"change\" (fn this.onPick \"mobile\" )}} />\n                                      <div class=\"dz-body\">\n                                          <div class=\"dz-title\">MOBILE Header (1080x1080)</div>\n                                          <div class=\"dz-sub\">A complimentary title background. No embedded copy.</div>\n                                          {{#if this.preview.mobile}} <img src={{this.preview.mobile}} alt=\"\"\n                                              class=\"dz-preview\"> {{/if}}\n                                          {{#if this.files.mobile}} <div class=\"dz-filename\">{{this.files.mobile.name}}\n                                          </div>\n                                          {{/if}}\n                                      </div>\n                                  </label>\n  \n                                  {{!-- THUMB --}}\n                                  <label class=\"dropzone\" {{on \"dragover\" (fn this.onDragOver \"thumb\" )}} {{on \"drop\" (fn\n                                      this.onDrop \"thumb\" )}}>\n                                      <input type=\"file\" accept=\"image/*\" disabled={{this.isSaving}} class=\"file-input\"\n                                          {{on \"change\" (fn this.onPick \"thumb\" )}} />\n                                      <div class=\"dz-body\">\n                                          <div class=\"dz-title\">THUMBNAIL (1920x1080)</div>\n                                          <div class=\"dz-sub\">Logos and product key art. No embedded copy.</div>\n                                          {{#if this.preview.thumb}} <img src={{this.preview.thumb}} alt=\"\"\n                                              class=\"dz-preview\"> {{/if}}\n                                          {{#if this.files.thumb}} <div class=\"dz-filename\">{{this.files.thumb.name}}\n                                          </div>\n                                          {{/if}}\n                                      </div>\n                                  </label>\n                              </div>\n  \n                              {{!-- RIGHT COLUMN --}}\n                              <div class=\"fields-card\">\n                                  <label class=\"cp-label\">Add a Title</label>\n                                  <Input class=\"cp-input\" maxlength=\"140\" @value={{this.title}}\n                                      placeholder=\"Enter a title…\" />\n  \n                                  <div class=\"spacer-8\"></div>\n  \n                                  <label class=\"cp-label\">Subtitle</label>\n                                  <Input class=\"cp-input\" maxlength=\"140\" @value={{this.subtitle}}\n                                      placeholder=\"Enter a subtitle…\" />\n  \n                                  <div class=\"spacer-8\"></div>\n  \n                                  <label class=\"cp-label\">Feature Post?</label>\n                                  <Input @type=\"checkbox\" class=\"cp-input featured-input\" @checked={{this.isFeatured}} {{on \"change\" this.toggleIsFeatured}}/>\n                              </div>\n                          </div>\n                      </div>\n  \n                      <div class=\"notch-label\">\n                          DRAFT: {{this.draftTime}}\n                      </div>\n                  </section>\n  \n                  <section class=\"bottom-section\">\n                      <div class=\"full-edit-blog-panel\">\n                          <section class=\"edit-blog-panel {{if this.isSaving \" is-saving\"}}\">\n  \n                              <header class=\"eb-header\">\n                                  <h3 class=\"eb-title\">{{or this.title \"Untitled Draft\"}}</h3>\n  \n                                  <div class=\"eb-tags\">\n                                      <fieldset class=\"cp-cats\">\n                                          <label class=\"cp-cat\">\n                                              <input type=\"checkbox\" checked={{get this.selectedMap \"game-news\" }}\n                                                  {{on \"change\" (fn this.toggleFixed \"game-news\" )}} />\n                                              Game News\n                                          </label>\n  \n                                          <label class=\"cp-cat\">\n                                              <input type=\"checkbox\" checked={{get this.selectedMap \"amd-news\" }}\n                                                  {{on \"change\" (fn this.toggleFixed \"amd-news\" )}} />\n                                              AMD News\n                                          </label>\n  \n                                          <label class=\"cp-cat\">\n                                              <input type=\"checkbox\" checked={{get this.selectedMap \"ai-news\" }}\n                                                  {{on \"change\" (fn this.toggleFixed \"ai-news\" )}} />\n                                              AI News\n                                          </label>\n                                      </fieldset>\n                                  </div>\n                              </header>\n  \n                              <div class=\"eb-editor-grid\">\n                                  <div class=\"eb-editor\">\n                                      <div class=\"eb-editor\">\n                                          <div class=\"cp-editor-tools\">\n                                              <button type=\"button\" class=\"cp-btn cp-btn--ghost\" {{on \"click\"\n                                                  this._triggerFilePick}}>\n                                                  Upload image\n                                              </button>\n                                              <input type=\"file\" accept=\"image/*\" disabled={{this.isSaving}}\n                                                  class=\"hidden\" {{on \"change\" this._handlePickedFile}} {{did-insert\n                                                  this._capturePickerRef}} />\n                                          </div>\n  \n                                          <DEditor @value={{this.raw}} @previewable={{true}}\n                                              @valueChanged={{this.updateRaw}} @canUpload={{true}}\n                                              @uploadProcessor={{this.handleUpload}} class=\"blog-editor\" />\n  \n                                      </div>\n  \n                                  </div>\n                              </div>\n  \n                              <hr class=\"eb-divider\" />\n  \n                              <p class=\"eb-note\">\n                                  Posting here will create a new topic or reply that can be read by anyone with access to\n                                  this page.\n                                  Be sure to remove any sensitive information.\n                              </p>\n  \n                              <div class=\"cp-btn-row\">\n                                  <button type=\"submit\" class=\"cp-btn cp-btn--primary\" disabled={{this.isSaving}}\n                                      aria-busy={{this.isSaving}}>\n                                      {{#if this.isSaving}}\n                                      {{d-icon \"spinner\"}} Creating…\n                                      {{else}}\n                                      Create Topic\n                                      {{/if}}\n                                  </button>\n  \n                                  <button type=\"button\" class=\"cp-btn cp-btn--ghost\" {{on \"click\" this.closeEdit}}\n                                      disabled={{this.isSaving}}>\n                                      Close\n                                  </button>\n                              </div>\n  \n  \n                          </section>\n                      </div>\n                  </section>\n  \n              </form>\n          </div>\n          {{/if}}\n  \n      </main>\n  </div>\n  */\n  {\n    \"id\": \"Lb7NdpA+\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"main\\\"],[15,0,[29,[\\\"cp-blog-container \\\",[52,[30,0,[\\\"editing\\\"]],\\\" is-editing\\\"]]]],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"blog-view blog-view-1\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"section\\\"],[14,0,\\\"blog-rotator-section\\\"],[12],[1,\\\"\\\\n                \\\"],[8,[39,4],null,[[\\\"@title\\\",\\\"@images\\\"],[\\\"\\\",[30,0,[\\\"featuredPosts\\\"]]]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isAdmin\\\"]],[[[1,\\\"                    \\\"],[8,[39,5],[[24,1,\\\"manage-featured-btn\\\"],[24,0,\\\"btn btn-primary\\\"]],[[\\\"@route\\\"],[\\\"amd-admin-manage-blog\\\"]],[[\\\"default\\\"],[[[[1,\\\"Manage Featured\\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"section\\\"],[14,0,\\\"blog-topic-selector-section\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"blog-filter-container\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"blog-filter-line left\\\"],[12],[13],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"blog-filter-multiselect\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"cp-multiselect\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"details\\\"],[14,0,\\\"ms\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"summary\\\"],[14,0,\\\"ms__button\\\"],[14,\\\"aria-haspopup\\\",\\\"listbox\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,1],[14,0,\\\"ms__title\\\"],[12],[1,\\\"Topic Categories\\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,\\\"ul\\\"],[14,0,\\\"ms__menu\\\"],[14,\\\"role\\\",\\\"listbox\\\"],[14,\\\"aria-multiselectable\\\",\\\"true\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"ms__menu-inner\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,11],[[28,[37,11],[[30,0,[\\\"categories\\\"]]],null]],null],null,[[[1,\\\"                                        \\\"],[10,\\\"li\\\"],[14,0,\\\"ms__option\\\"],[12],[1,\\\"\\\\n                                            \\\"],[11,\\\"input\\\"],[16,1,[28,[37,14],[\\\"cat-\\\",[30,1,[\\\"slug\\\"]]],null]],[16,\\\"checked\\\",[28,[37,15],[[30,0,[\\\"selected\\\"]],[30,1,[\\\"slug\\\"]]],null]],[24,4,\\\"checkbox\\\"],[4,[38,16],[\\\"change\\\",[28,[37,17],[[30,0,[\\\"toggleCategory\\\"]],[30,1,[\\\"slug\\\"]]],null]],null],[12],[13],[1,\\\"\\\\n                                            \\\"],[10,\\\"label\\\"],[15,\\\"for\\\",[28,[37,14],[\\\"cat-\\\",[30,1,[\\\"slug\\\"]]],null]],[12],[1,[30,1,[\\\"name\\\"]]],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"blog-filter-line right\\\"],[12],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"blog-a-slot\\\"],[12],[1,\\\"\\\\n                    \\\"],[8,[39,19],null,[[\\\"@ad\\\"],[[30,0,[\\\"ad\\\"]]]],null],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"section\\\"],[14,0,\\\"blog-posts-section\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,11],[[28,[37,11],[[30,0,[\\\"filteredPosts\\\"]]],null]],null],null,[[[1,\\\"                \\\"],[8,[39,5],[[24,0,\\\"full-blog-card-panel\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"blog-post\\\",[30,2,[\\\"slug\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n                    \\\"],[10,\\\"article\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,\\\"header\\\"],[14,0,\\\"blog-card-panel__head\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"h3\\\"],[12],[1,[30,2,[\\\"date\\\"]]],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n\\\\n                        \\\"],[10,\\\"section\\\"],[14,0,\\\"blog-card-panel\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"blog-card-panel-container\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"blog-card-panel-inner\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"blog-card-media\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,2,[\\\"thumbnail\\\"]]],[14,\\\"alt\\\",\\\"\\\"],[14,0,\\\"blog-card-img\\\"],[12],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\\n                                    \\\"],[10,0],[14,0,\\\"blog-card-data\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"tagsPretty\\\",\\\"length\\\"]],[[[1,\\\"                                        \\\"],[10,\\\"ul\\\"],[14,0,\\\"blog-card-tags\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,11],[[28,[37,11],[[30,2,[\\\"tagsPretty\\\"]]],null]],null],null,[[[1,\\\"                                            \\\"],[10,\\\"li\\\"],[14,0,\\\"blog-card-tag\\\"],[12],[1,[30,3]],[13],[1,\\\"\\\\n\\\"]],[3]],null],[1,\\\"                                        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                                        \\\"],[10,\\\"h2\\\"],[14,0,\\\"blog-card-title\\\"],[12],[1,[30,2,[\\\"title\\\"]]],[13],[1,\\\"\\\\n                                        \\\"],[10,2],[14,0,\\\"blog-card-blurb\\\"],[12],[1,[30,2,[\\\"blurb\\\"]]],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\\n                                    \\\"],[10,\\\"footer\\\"],[14,0,\\\"blog-card-footer\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"blog-card-author\\\"],[12],[1,\\\"\\\\n                                            \\\"],[10,\\\"img\\\"],[14,0,\\\"author-avatar\\\"],[15,\\\"src\\\",[30,2,[\\\"author\\\",\\\"avatarUrl\\\"]]],[15,\\\"alt\\\",[29,[\\\"Avatar of \\\",[30,2,[\\\"author\\\",\\\"name\\\"]]]]],[12],[13],[1,\\\"\\\\n                                            \\\"],[10,1],[14,0,\\\"author-name\\\"],[12],[1,[30,2,[\\\"author\\\",\\\"name\\\"]]],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n\\\\n                                        \\\"],[10,0],[14,0,\\\"blog-card-meta\\\"],[12],[1,\\\"\\\\n                                            \\\"],[10,1],[14,0,\\\"meta meta--likes\\\"],[14,\\\"title\\\",\\\"Likes\\\"],[12],[1,[30,2,[\\\"likes\\\"]]],[13],[1,\\\"\\\\n                                            \\\"],[10,1],[14,0,\\\"meta meta--comments\\\"],[14,\\\"title\\\",\\\"Comments\\\"],[12],[1,[30,2,[\\\"replyCount\\\"]]],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"isAdmin\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"blog-view blog-view-2\\\"],[12],[1,\\\"\\\\n            \\\"],[11,\\\"form\\\"],[16,\\\"aria-busy\\\",[30,0,[\\\"isSaving\\\"]]],[4,[38,16],[\\\"submit\\\",[30,0,[\\\"createPost\\\"]]],null],[12],[1,\\\"\\\\n                \\\"],[10,\\\"section\\\"],[14,0,\\\"blog-top-section\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"top-bg\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,0],[14,0,\\\"top-inner\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"uploader-grid\\\"],[12],[1,\\\"\\\\n\\\"],[1,\\\"                            \\\"],[10,0],[14,0,\\\"upload-card\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"upload-card__title\\\"],[12],[1,\\\"Drag and drop images to upload.\\\"],[13],[1,\\\"\\\\n                                \\\"],[10,\\\"hr\\\"],[14,0,\\\"upload-card__rule\\\"],[12],[13],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"                                \\\"],[11,\\\"label\\\"],[24,0,\\\"dropzone\\\"],[4,[38,16],[\\\"dragover\\\",[28,[37,17],[[30,0,[\\\"onDragOver\\\"]],\\\"desktop\\\"],null]],null],[4,[38,16],[\\\"drop\\\",[28,[37,17],[[30,0,[\\\"onDrop\\\"]],\\\"desktop\\\"],null]],null],[12],[1,\\\"\\\\n                                    \\\"],[11,\\\"input\\\"],[24,\\\"accept\\\",\\\"image/*\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isSaving\\\"]]],[24,0,\\\"file-input\\\"],[24,4,\\\"file\\\"],[4,[38,16],[\\\"change\\\",[28,[37,17],[[30,0,[\\\"onPick\\\"]],\\\"desktop\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"dz-body\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"dz-title\\\"],[12],[1,\\\"DESKTOP Header (1920x520)\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"dz-sub\\\"],[12],[1,\\\"A complimentary title background. No embedded copy.\\\"],[13],[1,\\\"\\\\n                                        \\\"],[41,[30,0,[\\\"preview\\\",\\\"desktop\\\"]],[[[1,\\\" \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,0,[\\\"preview\\\",\\\"desktop\\\"]]],[14,\\\"alt\\\",\\\"\\\"],[14,0,\\\"dz-preview\\\"],[12],[13],[1,\\\" \\\"]],[]],null],[1,\\\"\\\\n                                        \\\"],[41,[30,0,[\\\"files\\\",\\\"desktop\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"dz-filename\\\"],[12],[1,[30,0,[\\\"files\\\",\\\"desktop\\\",\\\"name\\\"]]],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\" \\\"]],[]],null],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"                                \\\"],[11,\\\"label\\\"],[24,0,\\\"dropzone\\\"],[4,[38,16],[\\\"dragover\\\",[28,[37,17],[[30,0,[\\\"onDragOver\\\"]],\\\"mobile\\\"],null]],null],[4,[38,16],[\\\"drop\\\",[28,[37,17],[[30,0,[\\\"onDrop\\\"]],\\\"mobile\\\"],null]],null],[12],[1,\\\"\\\\n                                    \\\"],[11,\\\"input\\\"],[24,\\\"accept\\\",\\\"image/*\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isSaving\\\"]]],[24,0,\\\"file-input\\\"],[24,4,\\\"file\\\"],[4,[38,16],[\\\"change\\\",[28,[37,17],[[30,0,[\\\"onPick\\\"]],\\\"mobile\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"dz-body\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"dz-title\\\"],[12],[1,\\\"MOBILE Header (1080x1080)\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"dz-sub\\\"],[12],[1,\\\"A complimentary title background. No embedded copy.\\\"],[13],[1,\\\"\\\\n                                        \\\"],[41,[30,0,[\\\"preview\\\",\\\"mobile\\\"]],[[[1,\\\" \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,0,[\\\"preview\\\",\\\"mobile\\\"]]],[14,\\\"alt\\\",\\\"\\\"],[14,0,\\\"dz-preview\\\"],[12],[13],[1,\\\" \\\"]],[]],null],[1,\\\"\\\\n                                        \\\"],[41,[30,0,[\\\"files\\\",\\\"mobile\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"dz-filename\\\"],[12],[1,[30,0,[\\\"files\\\",\\\"mobile\\\",\\\"name\\\"]]],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"                                \\\"],[11,\\\"label\\\"],[24,0,\\\"dropzone\\\"],[4,[38,16],[\\\"dragover\\\",[28,[37,17],[[30,0,[\\\"onDragOver\\\"]],\\\"thumb\\\"],null]],null],[4,[38,16],[\\\"drop\\\",[28,[37,17],[[30,0,[\\\"onDrop\\\"]],\\\"thumb\\\"],null]],null],[12],[1,\\\"\\\\n                                    \\\"],[11,\\\"input\\\"],[24,\\\"accept\\\",\\\"image/*\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isSaving\\\"]]],[24,0,\\\"file-input\\\"],[24,4,\\\"file\\\"],[4,[38,16],[\\\"change\\\",[28,[37,17],[[30,0,[\\\"onPick\\\"]],\\\"thumb\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"dz-body\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"dz-title\\\"],[12],[1,\\\"THUMBNAIL (1920x1080)\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"dz-sub\\\"],[12],[1,\\\"Logos and product key art. No embedded copy.\\\"],[13],[1,\\\"\\\\n                                        \\\"],[41,[30,0,[\\\"preview\\\",\\\"thumb\\\"]],[[[1,\\\" \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,0,[\\\"preview\\\",\\\"thumb\\\"]]],[14,\\\"alt\\\",\\\"\\\"],[14,0,\\\"dz-preview\\\"],[12],[13],[1,\\\" \\\"]],[]],null],[1,\\\"\\\\n                                        \\\"],[41,[30,0,[\\\"files\\\",\\\"thumb\\\"]],[[[1,\\\" \\\"],[10,0],[14,0,\\\"dz-filename\\\"],[12],[1,[30,0,[\\\"files\\\",\\\"thumb\\\",\\\"name\\\"]]],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"                            \\\"],[10,0],[14,0,\\\"fields-card\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-label\\\"],[12],[1,\\\"Add a Title\\\"],[13],[1,\\\"\\\\n                                \\\"],[8,[39,13],[[24,0,\\\"cp-input\\\"],[24,\\\"maxlength\\\",\\\"140\\\"],[24,\\\"placeholder\\\",\\\"Enter a title…\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"title\\\"]]]],null],[1,\\\"\\\\n\\\\n                                \\\"],[10,0],[14,0,\\\"spacer-8\\\"],[12],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-label\\\"],[12],[1,\\\"Subtitle\\\"],[13],[1,\\\"\\\\n                                \\\"],[8,[39,13],[[24,0,\\\"cp-input\\\"],[24,\\\"maxlength\\\",\\\"140\\\"],[24,\\\"placeholder\\\",\\\"Enter a subtitle…\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"subtitle\\\"]]]],null],[1,\\\"\\\\n\\\\n                                \\\"],[10,0],[14,0,\\\"spacer-8\\\"],[12],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-label\\\"],[12],[1,\\\"Feature Post?\\\"],[13],[1,\\\"\\\\n                                \\\"],[8,[39,13],[[24,0,\\\"cp-input featured-input\\\"],[4,[38,16],[\\\"change\\\",[30,0,[\\\"toggleIsFeatured\\\"]]],null]],[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[30,0,[\\\"isFeatured\\\"]]]],null],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,0],[14,0,\\\"notch-label\\\"],[12],[1,\\\"\\\\n                        DRAFT: \\\"],[1,[30,0,[\\\"draftTime\\\"]]],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"section\\\"],[14,0,\\\"bottom-section\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"full-edit-blog-panel\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,\\\"section\\\"],[15,0,[29,[\\\"edit-blog-panel \\\",[52,[30,0,[\\\"isSaving\\\"]],\\\" is-saving\\\"]]]],[12],[1,\\\"\\\\n\\\\n                            \\\"],[10,\\\"header\\\"],[14,0,\\\"eb-header\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"h3\\\"],[14,0,\\\"eb-title\\\"],[12],[1,[28,[35,29],[[30,0,[\\\"title\\\"]],\\\"Untitled Draft\\\"],null]],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,0],[14,0,\\\"eb-tags\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,\\\"fieldset\\\"],[14,0,\\\"cp-cats\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-cat\\\"],[12],[1,\\\"\\\\n                                            \\\"],[11,\\\"input\\\"],[16,\\\"checked\\\",[28,[37,31],[[30,0,[\\\"selectedMap\\\"]],\\\"game-news\\\"],null]],[24,4,\\\"checkbox\\\"],[4,[38,16],[\\\"change\\\",[28,[37,17],[[30,0,[\\\"toggleFixed\\\"]],\\\"game-news\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                            Game News\\\\n                                        \\\"],[13],[1,\\\"\\\\n\\\\n                                        \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-cat\\\"],[12],[1,\\\"\\\\n                                            \\\"],[11,\\\"input\\\"],[16,\\\"checked\\\",[28,[37,31],[[30,0,[\\\"selectedMap\\\"]],\\\"amd-news\\\"],null]],[24,4,\\\"checkbox\\\"],[4,[38,16],[\\\"change\\\",[28,[37,17],[[30,0,[\\\"toggleFixed\\\"]],\\\"amd-news\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                            AMD News\\\\n                                        \\\"],[13],[1,\\\"\\\\n\\\\n                                        \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-cat\\\"],[12],[1,\\\"\\\\n                                            \\\"],[11,\\\"input\\\"],[16,\\\"checked\\\",[28,[37,31],[[30,0,[\\\"selectedMap\\\"]],\\\"ai-news\\\"],null]],[24,4,\\\"checkbox\\\"],[4,[38,16],[\\\"change\\\",[28,[37,17],[[30,0,[\\\"toggleFixed\\\"]],\\\"ai-news\\\"],null]],null],[12],[13],[1,\\\"\\\\n                                            AI News\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\\n                            \\\"],[10,0],[14,0,\\\"eb-editor-grid\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"eb-editor\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"eb-editor\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"cp-editor-tools\\\"],[12],[1,\\\"\\\\n                                            \\\"],[11,\\\"button\\\"],[24,0,\\\"cp-btn cp-btn--ghost\\\"],[24,4,\\\"button\\\"],[4,[38,16],[\\\"click\\\",[30,0,[\\\"_triggerFilePick\\\"]]],null],[12],[1,\\\"\\\\n                                                Upload image\\\\n                                            \\\"],[13],[1,\\\"\\\\n                                            \\\"],[11,\\\"input\\\"],[24,\\\"accept\\\",\\\"image/*\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isSaving\\\"]]],[24,0,\\\"hidden\\\"],[24,4,\\\"file\\\"],[4,[38,16],[\\\"change\\\",[30,0,[\\\"_handlePickedFile\\\"]]],null],[4,[38,33],[[30,0,[\\\"_capturePickerRef\\\"]]],null],[12],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n\\\\n                                        \\\"],[8,[39,34],[[24,0,\\\"blog-editor\\\"]],[[\\\"@value\\\",\\\"@previewable\\\",\\\"@valueChanged\\\",\\\"@canUpload\\\",\\\"@uploadProcessor\\\"],[[30,0,[\\\"raw\\\"]],true,[30,0,[\\\"updateRaw\\\"]],true,[30,0,[\\\"handleUpload\\\"]]]],null],[1,\\\"\\\\n\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\\n                            \\\"],[10,\\\"hr\\\"],[14,0,\\\"eb-divider\\\"],[12],[13],[1,\\\"\\\\n\\\\n                            \\\"],[10,2],[14,0,\\\"eb-note\\\"],[12],[1,\\\"\\\\n                                Posting here will create a new topic or reply that can be read by anyone with access to\\\\n                                this page.\\\\n                                Be sure to remove any sensitive information.\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\\n                            \\\"],[10,0],[14,0,\\\"cp-btn-row\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"button\\\"],[14,0,\\\"cp-btn cp-btn--primary\\\"],[15,\\\"disabled\\\",[30,0,[\\\"isSaving\\\"]]],[15,\\\"aria-busy\\\",[30,0,[\\\"isSaving\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isSaving\\\"]],[[[1,\\\"                                    \\\"],[1,[28,[35,35],[\\\"spinner\\\"],null]],[1,\\\" Creating…\\\\n\\\"]],[]],[[[1,\\\"                                    Create Topic\\\\n\\\"]],[]]],[1,\\\"                                \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[11,\\\"button\\\"],[24,0,\\\"cp-btn cp-btn--ghost\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isSaving\\\"]]],[24,4,\\\"button\\\"],[4,[38,16],[\\\"click\\\",[30,0,[\\\"closeEdit\\\"]]],null],[12],[1,\\\"\\\\n                                    Close\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\\n\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"cat\\\",\\\"post\\\",\\\"label\\\"],false,[\\\"div\\\",\\\"main\\\",\\\"if\\\",\\\"section\\\",\\\"focus-link-carousel\\\",\\\"link-to\\\",\\\"details\\\",\\\"summary\\\",\\\"span\\\",\\\"ul\\\",\\\"each\\\",\\\"-track-array\\\",\\\"li\\\",\\\"input\\\",\\\"concat\\\",\\\"has\\\",\\\"on\\\",\\\"fn\\\",\\\"label\\\",\\\"cp-ad\\\",\\\"article\\\",\\\"header\\\",\\\"h3\\\",\\\"img\\\",\\\"h2\\\",\\\"p\\\",\\\"footer\\\",\\\"form\\\",\\\"hr\\\",\\\"or\\\",\\\"fieldset\\\",\\\"get\\\",\\\"button\\\",\\\"did-insert\\\",\\\"d-editor\\\",\\\"d-icon\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/blogs-index.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/campaign\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container\">\n    <CampaignRenderer @slug={{this.model.slug}} />\n  </div>\n  */\n  {\n    \"id\": \"TA2ahwVt\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container\\\"],[12],[1,\\\"\\\\n  \\\"],[8,[39,1],null,[[\\\"@slug\\\"],[[30,0,[\\\"model\\\",\\\"slug\\\"]]]],null],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"campaign-renderer\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/campaign.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/complete-oauth-signup\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container\">\n      <div class=\"signup-progress\">\n          <div class=\"signup-progress-bar\" style=\"width: {{this.progressPercent}}%;\"></div>\n      </div>\n  \n      <main class=\"cp-main-signup\">\n          <div class=\"signup-step\">\n              {{#if this.model.error}}\n              <div class=\"sign-up-error\">This link has expired. Please try again.</div>\n              {{else}}\n              {{! Step: Email }}\n              {{#if (eq this.stepKey \"email\")}}\n              <h1><b>CREATE</b></h1>\n              <h1><b>YOUR ACCOUNT</b></h1>\n              <div class=\"cp-signup-divider-line\"></div>\n              <label>{{this.fields.email.label}}</label>\n              <Input @type=\"email\" @value={{this.email}} placeholder=\"you@example.com\" />\n              <button {{on \"click\" this.next}} disabled={{this.busy}}>\n                  {{if this.busy \"Please wait…\" \"Send code\"}}\n              </button>\n              {{/if}}\n  \n              {{! Step: Email code }}\n              {{#if (eq this.stepKey \"email_code\")}}\n              <h3>CHECK YOUR EMAIL FOR THE CODE WE JUST SENT YOU!</h3>\n              <label>Activation code</label>\n              <Input @value={{this.code}} />\n              <div class=\"confirm-actions\">\n                  <button class=\"linkish\" {{on \"click\" this.resendCode}} disabled={{or this.busy this.resendCooldown}}>\n                      {{if this.resendCooldown (concat \"RESEND IN \" this.resendCooldown \"s\") \"RESEND MY CODE\"}}\n                  </button>\n              </div>\n              <button {{on \"click\" this.next}} disabled={{this.busy}}>\n                  {{if this.busy \"Verifying…\" \"Next ->\"}}\n              </button>\n              {{/if}}\n  \n              {{! Step: Birthdate }}\n              {{#if (eq this.stepKey \"birthdate\")}}\n              <label>{{this.fields.birthdate.label}}</label>\n              <Input @type=\"date\" @value={{this.birthdate}} />\n              <button {{on \"click\" this.next}} disabled={{this.busy}}>Next -></button>\n              {{/if}}\n  \n              {{! Step: Avatar }}\n              {{#if (eq this.stepKey \"avatar\")}}\n              <p>Select your avatar:</p>\n              <div class=\"avatar-selection\">\n                  <CpAccountCreateAvatarPicker @count={{this.fields.avatar.count}} @selectedKey={{this.avatarKey}}\n                      @onSelect={{fn (mut this.avatarKey)}} />\n              </div>\n              <button {{on \"click\" this.next}}>Next -></button>\n              {{/if}}\n  \n              {{! Step: Username }}\n              {{#if (eq this.stepKey \"username\")}}\n              <p>What do we call you?</p>\n              <label>{{this.fields.username.label}}</label>\n              <Input @value={{this.username}} placeholder={{this.fields.username.suggestion}} />\n              <button {{on \"click\" this.next}} disabled={{this.busy}}>\n                  {{if this.busy \"Finishing…\" \"Finish\"}}\n              </button>\n              {{/if}}\n  \n              {{#if this.error}}<div class=\"sign-up-error\">{{this.error}}</div>{{/if}}\n              {{/if}}\n          </div>\n      </main>\n  </div>\n  */\n  {\n    \"id\": \"5gqDdAex\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"signup-progress\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"signup-progress-bar\\\"],[15,5,[29,[\\\"width: \\\",[30,0,[\\\"progressPercent\\\"]],\\\"%;\\\"]]],[12],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,\\\"main\\\"],[14,0,\\\"cp-main-signup\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"signup-step\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"model\\\",\\\"error\\\"]],[[[1,\\\"            \\\"],[10,0],[14,0,\\\"sign-up-error\\\"],[12],[1,\\\"This link has expired. Please try again.\\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[37,3],[[30,0,[\\\"stepKey\\\"]],\\\"email\\\"],null],[[[1,\\\"            \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"CREATE\\\"],[13],[13],[1,\\\"\\\\n            \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"YOUR ACCOUNT\\\"],[13],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"cp-signup-divider-line\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[1,[30,0,[\\\"fields\\\",\\\"email\\\",\\\"label\\\"]]],[13],[1,\\\"\\\\n            \\\"],[8,[39,7],[[24,\\\"placeholder\\\",\\\"you@example.com\\\"]],[[\\\"@type\\\",\\\"@value\\\"],[\\\"email\\\",[30,0,[\\\"email\\\"]]]],null],[1,\\\"\\\\n            \\\"],[11,\\\"button\\\"],[16,\\\"disabled\\\",[30,0,[\\\"busy\\\"]]],[4,[38,9],[\\\"click\\\",[30,0,[\\\"next\\\"]]],null],[12],[1,\\\"\\\\n                \\\"],[1,[52,[30,0,[\\\"busy\\\"]],\\\"Please wait…\\\",\\\"Send code\\\"]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[28,[37,3],[[30,0,[\\\"stepKey\\\"]],\\\"email_code\\\"],null],[[[1,\\\"            \\\"],[10,\\\"h3\\\"],[12],[1,\\\"CHECK YOUR EMAIL FOR THE CODE WE JUST SENT YOU!\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[1,\\\"Activation code\\\"],[13],[1,\\\"\\\\n            \\\"],[8,[39,7],null,[[\\\"@value\\\"],[[30,0,[\\\"code\\\"]]]],null],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"confirm-actions\\\"],[12],[1,\\\"\\\\n                \\\"],[11,\\\"button\\\"],[24,0,\\\"linkish\\\"],[16,\\\"disabled\\\",[28,[37,11],[[30,0,[\\\"busy\\\"]],[30,0,[\\\"resendCooldown\\\"]]],null]],[4,[38,9],[\\\"click\\\",[30,0,[\\\"resendCode\\\"]]],null],[12],[1,\\\"\\\\n                    \\\"],[1,[52,[30,0,[\\\"resendCooldown\\\"]],[28,[37,12],[\\\"RESEND IN \\\",[30,0,[\\\"resendCooldown\\\"]],\\\"s\\\"],null],\\\"RESEND MY CODE\\\"]],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[11,\\\"button\\\"],[16,\\\"disabled\\\",[30,0,[\\\"busy\\\"]]],[4,[38,9],[\\\"click\\\",[30,0,[\\\"next\\\"]]],null],[12],[1,\\\"\\\\n                \\\"],[1,[52,[30,0,[\\\"busy\\\"]],\\\"Verifying…\\\",\\\"Next ->\\\"]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[28,[37,3],[[30,0,[\\\"stepKey\\\"]],\\\"birthdate\\\"],null],[[[1,\\\"            \\\"],[10,\\\"label\\\"],[12],[1,[30,0,[\\\"fields\\\",\\\"birthdate\\\",\\\"label\\\"]]],[13],[1,\\\"\\\\n            \\\"],[8,[39,7],null,[[\\\"@type\\\",\\\"@value\\\"],[\\\"date\\\",[30,0,[\\\"birthdate\\\"]]]],null],[1,\\\"\\\\n            \\\"],[11,\\\"button\\\"],[16,\\\"disabled\\\",[30,0,[\\\"busy\\\"]]],[4,[38,9],[\\\"click\\\",[30,0,[\\\"next\\\"]]],null],[12],[1,\\\"Next ->\\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[28,[37,3],[[30,0,[\\\"stepKey\\\"]],\\\"avatar\\\"],null],[[[1,\\\"            \\\"],[10,2],[12],[1,\\\"Select your avatar:\\\"],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"avatar-selection\\\"],[12],[1,\\\"\\\\n                \\\"],[8,[39,14],null,[[\\\"@count\\\",\\\"@selectedKey\\\",\\\"@onSelect\\\"],[[30,0,[\\\"fields\\\",\\\"avatar\\\",\\\"count\\\"]],[30,0,[\\\"avatarKey\\\"]],[28,[37,15],[[28,[37,16],[[30,0,[\\\"avatarKey\\\"]]],null]],null]]],null],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[11,\\\"button\\\"],[4,[38,9],[\\\"click\\\",[30,0,[\\\"next\\\"]]],null],[12],[1,\\\"Next ->\\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[28,[37,3],[[30,0,[\\\"stepKey\\\"]],\\\"username\\\"],null],[[[1,\\\"            \\\"],[10,2],[12],[1,\\\"What do we call you?\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"label\\\"],[12],[1,[30,0,[\\\"fields\\\",\\\"username\\\",\\\"label\\\"]]],[13],[1,\\\"\\\\n            \\\"],[8,[39,7],[[16,\\\"placeholder\\\",[30,0,[\\\"fields\\\",\\\"username\\\",\\\"suggestion\\\"]]]],[[\\\"@value\\\"],[[30,0,[\\\"username\\\"]]]],null],[1,\\\"\\\\n            \\\"],[11,\\\"button\\\"],[16,\\\"disabled\\\",[30,0,[\\\"busy\\\"]]],[4,[38,9],[\\\"click\\\",[30,0,[\\\"next\\\"]]],null],[12],[1,\\\"\\\\n                \\\"],[1,[52,[30,0,[\\\"busy\\\"]],\\\"Finishing…\\\",\\\"Finish\\\"]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n            \\\"],[41,[30,0,[\\\"error\\\"]],[[[10,0],[14,0,\\\"sign-up-error\\\"],[12],[1,[30,0,[\\\"error\\\"]]],[13]],[]],null],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"main\\\",\\\"if\\\",\\\"eq\\\",\\\"h1\\\",\\\"b\\\",\\\"label\\\",\\\"input\\\",\\\"button\\\",\\\"on\\\",\\\"h3\\\",\\\"or\\\",\\\"concat\\\",\\\"p\\\",\\\"cp-account-create-avatar-picker\\\",\\\"fn\\\",\\\"mut\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/complete-oauth-signup.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/confirm\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container\">\n    <div class=\"signup-progress\">\n      <div class=\"signup-progress-bar\" style=\"width: {{this.progressPercent}}%;\"></div>\n    </div>\n  \n    <main class=\"cp-main-signup\">\n      <div class=\"signup-form step-{{this.step}}\" {{on \"keydown\" this.handleKeydown}}>\n  \n        <!-- Step 4 -->\n        <div class=\"signup-step\" data-step=\"4\">\n          <h1><b>CREATE</b></h1>\n          <h1><b>YOUR ACCOUNT</b></h1>\n          <div class=\"cp-signup-divider-line\"></div>\n          <h3>YOU'RE ALMOST THERE!</h3>\n          <h3>CHECK YOUR EMAIL FOR THE CODE WE JUST SENT YOU!</h3>\n          <label>Activation code</label>\n          <Input @id=\"sign-up-confirmation\" @value={{this.code}} />\n          <div class=\"confirm-actions\">\n            <button type=\"button\" class=\"linkish\" {{on \"click\" this.resendCode}} disabled={{this.isResending}}>\n              {{#if this.resendCooldown}}\n              RESEND IN {{this.resendCooldown}}s\n              {{else}}\n              RESEND MY CODE\n              {{/if}}\n            </button>\n  \n            <button type=\"button\" class=\"linkish subtle\" {{on \"click\" this.openHelp}}>\n              I DID NOT RECEIVE A CODE\n            </button>\n          </div>\n          <button type=\"button\" {{on \"click\" (fn this.handleConfirm)}} disabled={{this.isSubmitting}}>\n            {{#if this.isSubmitting}}\n            <span class=\"spinner\"></span>\n            {{else}}\n            Next →\n            {{/if}}\n          </button>\n  \n          <div class=\"sign-up-error\">{{this.resultMessage}}</div>\n        </div>\n  \n        <!-- Step 5 -->\n        <div class=\"signup-step\" data-step=\"5\">\n          <h1><b>CREATE</b></h1>\n          <h1><b>YOUR ACCOUNT</b></h1>\n          <div class=\"cp-signup-divider-line\"></div>\n          <p>Select your avatar:</p>\n  \n          <div class=\"avatar-selection\">\n            <CpAccountCreateAvatarPicker @count={{5}} @selectedKey={{this.avatarKey}} @onSelect={{this.selectAvatar}} />\n          </div>\n  \n          <p>One final and extremely important question...<br>What do we call you?</p>\n          <label>Username:</label>\n          <Input @value={{this.username}} placeholder=\"Username\" />\n  \n          <button type=\"button\" {{on \"click\" this.handleFinalizeAccount}} disabled={{this.isSubmitting}}>\n            {{#if this.isSubmitting}}\n            <span class=\"spinner\"></span>\n            {{else}}\n            Finish\n            {{/if}}\n          </button>\n          <div class=\"sign-up-error\">{{this.resultMessage}}</div>\n        </div>\n      </div>\n    </main>\n    <!-- Help modal -->\n    <CpModal @isOpen={{this.isHelpOpen}} @title=\"Didn't receive a code?\" @okLabel=\"Close\" @cancelLabel={{null}}\n      @noFooter={{false}} @onOk={{this.closeHelp}} @onCancel={{this.closeHelp}}>\n      <ul style=\"margin:0; padding-left:18px; line-height:1.45;\">\n        <li>Wait a minute; delivery can be delayed.</li>\n        <li>Check your <b>spam/junk</b> folder.</li>\n        <li>Search your inbox for “<i>verification code</i>”.</li>\n        <li>Make sure the email is correct: <b>{{this.email}}</b>.</li>\n        <li>Still nothing? Click <b>RESEND MY CODE</b>.</li>\n      </ul>\n    </CpModal>\n  </div>\n  */\n  {\n    \"id\": \"0mzXTmeP\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container\\\"],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"signup-progress\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"signup-progress-bar\\\"],[15,5,[29,[\\\"width: \\\",[30,0,[\\\"progressPercent\\\"]],\\\"%;\\\"]]],[12],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,\\\"main\\\"],[14,0,\\\"cp-main-signup\\\"],[12],[1,\\\"\\\\n    \\\"],[11,0],[16,0,[29,[\\\"signup-form step-\\\",[30,0,[\\\"step\\\"]]]]],[4,[38,2],[\\\"keydown\\\",[30,0,[\\\"handleKeydown\\\"]]],null],[12],[1,\\\"\\\\n\\\\n      \\\"],[3,\\\" Step 4 \\\"],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"signup-step\\\"],[14,\\\"data-step\\\",\\\"4\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"CREATE\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"YOUR ACCOUNT\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"cp-signup-divider-line\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[10,\\\"h3\\\"],[12],[1,\\\"YOU'RE ALMOST THERE!\\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"h3\\\"],[12],[1,\\\"CHECK YOUR EMAIL FOR THE CODE WE JUST SENT YOU!\\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Activation code\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,7],null,[[\\\"@id\\\",\\\"@value\\\"],[\\\"sign-up-confirmation\\\",[30,0,[\\\"code\\\"]]]],null],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"confirm-actions\\\"],[12],[1,\\\"\\\\n          \\\"],[11,\\\"button\\\"],[24,0,\\\"linkish\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isResending\\\"]]],[24,4,\\\"button\\\"],[4,[38,2],[\\\"click\\\",[30,0,[\\\"resendCode\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"resendCooldown\\\"]],[[[1,\\\"            RESEND IN \\\"],[1,[30,0,[\\\"resendCooldown\\\"]]],[1,\\\"s\\\\n\\\"]],[]],[[[1,\\\"            RESEND MY CODE\\\\n\\\"]],[]]],[1,\\\"          \\\"],[13],[1,\\\"\\\\n\\\\n          \\\"],[11,\\\"button\\\"],[24,0,\\\"linkish subtle\\\"],[24,4,\\\"button\\\"],[4,[38,2],[\\\"click\\\",[30,0,[\\\"openHelp\\\"]]],null],[12],[1,\\\"\\\\n            I DID NOT RECEIVE A CODE\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isSubmitting\\\"]]],[24,4,\\\"button\\\"],[4,[38,2],[\\\"click\\\",[28,[37,10],[[30,0,[\\\"handleConfirm\\\"]]],null]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isSubmitting\\\"]],[[[1,\\\"          \\\"],[10,1],[14,0,\\\"spinner\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"          Next →\\\\n\\\"]],[]]],[1,\\\"        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"sign-up-error\\\"],[12],[1,[30,0,[\\\"resultMessage\\\"]]],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[3,\\\" Step 5 \\\"],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"signup-step\\\"],[14,\\\"data-step\\\",\\\"5\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"CREATE\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"YOUR ACCOUNT\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"cp-signup-divider-line\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[10,2],[12],[1,\\\"Select your avatar:\\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"avatar-selection\\\"],[12],[1,\\\"\\\\n          \\\"],[8,[39,13],null,[[\\\"@count\\\",\\\"@selectedKey\\\",\\\"@onSelect\\\"],[5,[30,0,[\\\"avatarKey\\\"]],[30,0,[\\\"selectAvatar\\\"]]]],null],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,2],[12],[1,\\\"One final and extremely important question...\\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"What do we call you?\\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Username:\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,7],[[24,\\\"placeholder\\\",\\\"Username\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"username\\\"]]]],null],[1,\\\"\\\\n\\\\n        \\\"],[11,\\\"button\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isSubmitting\\\"]]],[24,4,\\\"button\\\"],[4,[38,2],[\\\"click\\\",[30,0,[\\\"handleFinalizeAccount\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isSubmitting\\\"]],[[[1,\\\"          \\\"],[10,1],[14,0,\\\"spinner\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"          Finish\\\\n\\\"]],[]]],[1,\\\"        \\\"],[13],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"sign-up-error\\\"],[12],[1,[30,0,[\\\"resultMessage\\\"]]],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n  \\\"],[3,\\\" Help modal \\\"],[1,\\\"\\\\n  \\\"],[8,[39,15],null,[[\\\"@isOpen\\\",\\\"@title\\\",\\\"@okLabel\\\",\\\"@cancelLabel\\\",\\\"@noFooter\\\",\\\"@onOk\\\",\\\"@onCancel\\\"],[[30,0,[\\\"isHelpOpen\\\"]],\\\"Didn't receive a code?\\\",\\\"Close\\\",null,false,[30,0,[\\\"closeHelp\\\"]],[30,0,[\\\"closeHelp\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n    \\\"],[10,\\\"ul\\\"],[14,5,\\\"margin:0; padding-left:18px; line-height:1.45;\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"Wait a minute; delivery can be delayed.\\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"Check your \\\"],[10,\\\"b\\\"],[12],[1,\\\"spam/junk\\\"],[13],[1,\\\" folder.\\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"Search your inbox for “\\\"],[10,\\\"i\\\"],[12],[1,\\\"verification code\\\"],[13],[1,\\\"”.\\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"Make sure the email is correct: \\\"],[10,\\\"b\\\"],[12],[1,[30,0,[\\\"email\\\"]]],[13],[1,\\\".\\\"],[13],[1,\\\"\\\\n      \\\"],[10,\\\"li\\\"],[12],[1,\\\"Still nothing? Click \\\"],[10,\\\"b\\\"],[12],[1,\\\"RESEND MY CODE\\\"],[13],[1,\\\".\\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"]],[]]]]],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"main\\\",\\\"on\\\",\\\"h1\\\",\\\"b\\\",\\\"h3\\\",\\\"label\\\",\\\"input\\\",\\\"button\\\",\\\"if\\\",\\\"fn\\\",\\\"span\\\",\\\"p\\\",\\\"cp-account-create-avatar-picker\\\",\\\"br\\\",\\\"cp-modal\\\",\\\"ul\\\",\\\"li\\\",\\\"i\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/confirm.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/above-discovery-categories/forum-index-topic-list\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"forum-index-topic-list\" aria-labelledby=\"forum-index-topic-list\" {{did-insert this.initialize}}>\n      <div class=\"topic-list-header\">\n          <span class=\"topic-list-data category\" aria-label=\"Category\">Category</span>\n          <span class=\"topic-list-data posts\" aria-label=\"Posts\">Posts</span>\n          <span class=\"topic-list-data latest-post\" aria-label=\"Latest Post\">Latest Post</span>\n      </div>\n  \n      {{#if this.isLoading}}\n          <div class=\"loading-category-list\">\n              <div class=\"spinner\" aria-hidden=\"true\"></div>\n          </div>\n      {{else}}\n          {{#each this.categoryData as |group|}}\n              <div class=\"category-list-body\">\n                  <div class=\"inner-list-block\">\n                      {{!-- first category --}}\n                      <div class=\"topic-list-item first-row\">\n                          <span class=\"topic-list-data category\">\n                              <a href=\"/c/{{group.first.slug}}/{{group.first.id}}\">\n                                  {{group.first.name}}\n                              </a>\n                          </span>\n                          <span class=\"topic-list-data posts\">{{group.first.post_count}}</span>\n                          <span class=\"topic-list-data latest-post\">\n                              {{#if group.first.latest}}\n                              <a class=\"latest-post-title\" href=\"{{group.first.latest.url}}\">\n                                  {{group.first.latest.title}}\n                              </a>\n                              <span class=\"latest-post-meta\">\n                                  {{group.first.latest.lastPostedAt}} by\n                                      <a href=\"/user-profile/{{group.first.latest.lastPoster}}\">\n                                  {{group.first.latest.lastPoster}}\n                                  </a>\n                              </span>\n                              {{else}}\n                              No recent posts\n                              {{/if}}\n                          </span>\n                      </div>\n  \n                      <div class=\"inner-divider\"></div>\n  \n                      {{#if group.second}}\n                          {{!-- second category --}}\n                          <div class=\"topic-list-item second-row\">\n                              <span class=\"topic-list-data category\">\n                                  <a href=\"/c/{{group.second.slug}}/{{group.second.id}}\">\n                                      {{group.second.name}}\n                                  </a>\n                              </span>\n                              <span class=\"topic-list-data posts\">{{group.second.post_count}}</span>\n                              <span class=\"topic-list-data latest-post\">\n                                  {{#if group.second.latest}}\n                                  <a class=\"latest-post-title\" href=\"{{group.second.latest.url}}\">\n                                      {{group.second.latest.title}}\n                                  </a>\n                                  <span class=\"latest-post-meta\">\n                                      {{group.second.latest.lastPostedAt}} by\n                                          <a href=\"/user-profile/{{group.second.latest.lastPoster}}\">\n                                      {{group.second.latest.lastPoster}}\n                                      </a>\n                                  </span>\n                                  {{else}}\n                                  No recent posts\n                                  {{/if}}\n                              </span>\n                          </div>\n                      {{/if}}\n                  </div>\n              </div>\n          {{/each}}\n      {{/if}}\n  </div>\n  \n  */\n  {\n    \"id\": \"rtkNCfio\",\n    \"block\": \"[[[11,0],[24,0,\\\"forum-index-topic-list\\\"],[24,\\\"aria-labelledby\\\",\\\"forum-index-topic-list\\\"],[4,[38,1],[[30,0,[\\\"initialize\\\"]]],null],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"topic-list-header\\\"],[12],[1,\\\"\\\\n        \\\"],[10,1],[14,0,\\\"topic-list-data category\\\"],[14,\\\"aria-label\\\",\\\"Category\\\"],[12],[1,\\\"Category\\\"],[13],[1,\\\"\\\\n        \\\"],[10,1],[14,0,\\\"topic-list-data posts\\\"],[14,\\\"aria-label\\\",\\\"Posts\\\"],[12],[1,\\\"Posts\\\"],[13],[1,\\\"\\\\n        \\\"],[10,1],[14,0,\\\"topic-list-data latest-post\\\"],[14,\\\"aria-label\\\",\\\"Latest Post\\\"],[12],[1,\\\"Latest Post\\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"isLoading\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"loading-category-list\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"spinner\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[42,[28,[37,5],[[28,[37,5],[[30,0,[\\\"categoryData\\\"]]],null]],null],null,[[[1,\\\"            \\\"],[10,0],[14,0,\\\"category-list-body\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"inner-list-block\\\"],[12],[1,\\\"\\\\n\\\"],[1,\\\"                    \\\"],[10,0],[14,0,\\\"topic-list-item first-row\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,1],[14,0,\\\"topic-list-data category\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,3],[15,6,[29,[\\\"/c/\\\",[30,1,[\\\"first\\\",\\\"slug\\\"]],\\\"/\\\",[30,1,[\\\"first\\\",\\\"id\\\"]]]]],[12],[1,\\\"\\\\n                                \\\"],[1,[30,1,[\\\"first\\\",\\\"name\\\"]]],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"],[10,1],[14,0,\\\"topic-list-data posts\\\"],[12],[1,[30,1,[\\\"first\\\",\\\"post_count\\\"]]],[13],[1,\\\"\\\\n                        \\\"],[10,1],[14,0,\\\"topic-list-data latest-post\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"first\\\",\\\"latest\\\"]],[[[1,\\\"                            \\\"],[10,3],[14,0,\\\"latest-post-title\\\"],[15,6,[29,[[30,1,[\\\"first\\\",\\\"latest\\\",\\\"url\\\"]]]]],[12],[1,\\\"\\\\n                                \\\"],[1,[30,1,[\\\"first\\\",\\\"latest\\\",\\\"title\\\"]]],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,1],[14,0,\\\"latest-post-meta\\\"],[12],[1,\\\"\\\\n                                \\\"],[1,[30,1,[\\\"first\\\",\\\"latest\\\",\\\"lastPostedAt\\\"]]],[1,\\\" by\\\\n                                    \\\"],[10,3],[15,6,[29,[\\\"/user-profile/\\\",[30,1,[\\\"first\\\",\\\"latest\\\",\\\"lastPoster\\\"]]]]],[12],[1,\\\"\\\\n                                \\\"],[1,[30,1,[\\\"first\\\",\\\"latest\\\",\\\"lastPoster\\\"]]],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                            No recent posts\\\\n\\\"]],[]]],[1,\\\"                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,0],[14,0,\\\"inner-divider\\\"],[12],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,1,[\\\"second\\\"]],[[[1,\\\"                        \\\"],[10,0],[14,0,\\\"topic-list-item second-row\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,1],[14,0,\\\"topic-list-data category\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,3],[15,6,[29,[\\\"/c/\\\",[30,1,[\\\"second\\\",\\\"slug\\\"]],\\\"/\\\",[30,1,[\\\"second\\\",\\\"id\\\"]]]]],[12],[1,\\\"\\\\n                                    \\\"],[1,[30,1,[\\\"second\\\",\\\"name\\\"]]],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,1],[14,0,\\\"topic-list-data posts\\\"],[12],[1,[30,1,[\\\"second\\\",\\\"post_count\\\"]]],[13],[1,\\\"\\\\n                            \\\"],[10,1],[14,0,\\\"topic-list-data latest-post\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"second\\\",\\\"latest\\\"]],[[[1,\\\"                                \\\"],[10,3],[14,0,\\\"latest-post-title\\\"],[15,6,[29,[[30,1,[\\\"second\\\",\\\"latest\\\",\\\"url\\\"]]]]],[12],[1,\\\"\\\\n                                    \\\"],[1,[30,1,[\\\"second\\\",\\\"latest\\\",\\\"title\\\"]]],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                                \\\"],[10,1],[14,0,\\\"latest-post-meta\\\"],[12],[1,\\\"\\\\n                                    \\\"],[1,[30,1,[\\\"second\\\",\\\"latest\\\",\\\"lastPostedAt\\\"]]],[1,\\\" by\\\\n                                        \\\"],[10,3],[15,6,[29,[\\\"/user-profile/\\\",[30,1,[\\\"second\\\",\\\"latest\\\",\\\"lastPoster\\\"]]]]],[12],[1,\\\"\\\\n                                    \\\"],[1,[30,1,[\\\"second\\\",\\\"latest\\\",\\\"lastPoster\\\"]]],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                No recent posts\\\\n\\\"]],[]]],[1,\\\"                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null]],[]]],[13],[1,\\\"\\\\n\\\"]],[\\\"group\\\"],false,[\\\"div\\\",\\\"did-insert\\\",\\\"span\\\",\\\"if\\\",\\\"each\\\",\\\"-track-array\\\",\\\"a\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/above-discovery-categories/forum-index-topic-list.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/above-site-header/cp-header\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <CpHeader />\n  */\n  {\n    \"id\": \"AzMnl8yc\",\n    \"block\": \"[[[8,[39,0],null,null,null]],[],false,[\\\"cp-header\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/above-site-header/cp-header.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/after-create-topic-button/0-new-topic-btn\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if @outletArgs.canCreateTopic}}\n      <div class=\"cp-button-tooltip\">\n          <button class=\"btn btn-icon-text btn-default btn-default\" id=\"create-topic-custom\" type=\"button\" {{on \"click\" this.handleClick}}>\n              <span class=\"d-button-label\">New Topic</span>\n          </button>\n      </div>\n  {{/if}}\n  */\n  {\n    \"id\": \"DUXYjqyr\",\n    \"block\": \"[[[41,[30,1,[\\\"canCreateTopic\\\"]],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"cp-button-tooltip\\\"],[12],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-icon-text btn-default btn-default\\\"],[24,1,\\\"create-topic-custom\\\"],[24,4,\\\"button\\\"],[4,[38,3],[\\\"click\\\",[30,0,[\\\"handleClick\\\"]]],null],[12],[1,\\\"\\\\n            \\\"],[10,1],[14,0,\\\"d-button-label\\\"],[12],[1,\\\"New Topic\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[\\\"@outletArgs\\\"],false,[\\\"if\\\",\\\"div\\\",\\\"button\\\",\\\"on\\\",\\\"span\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/after-create-topic-button/0-new-topic-btn.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/after-create-topic-button/new-question-btn\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#if @outletArgs.canCreateTopic}}\n      <div class=\"cp-button-tooltip\">\n          <button class=\"btn btn-icon-text btn-default btn-default\" id=\"create-question\" type=\"button\" {{on \"click\" this.handleClick}}>\n              <span class=\"d-button-label\">New Question</span>\n          </button>\n      </div>\n  {{/if}}\n  */\n  {\n    \"id\": \"yKfTam6P\",\n    \"block\": \"[[[41,[30,1,[\\\"canCreateTopic\\\"]],[[[1,\\\"    \\\"],[10,0],[14,0,\\\"cp-button-tooltip\\\"],[12],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,0,\\\"btn btn-icon-text btn-default btn-default\\\"],[24,1,\\\"create-question\\\"],[24,4,\\\"button\\\"],[4,[38,3],[\\\"click\\\",[30,0,[\\\"handleClick\\\"]]],null],[12],[1,\\\"\\\\n            \\\"],[10,1],[14,0,\\\"d-button-label\\\"],[12],[1,\\\"New Question\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[\\\"@outletArgs\\\"],false,[\\\"if\\\",\\\"div\\\",\\\"button\\\",\\\"on\\\",\\\"span\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/after-create-topic-button/new-question-btn.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/before-main-outlet/cp-forum-sidebar\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <CpForumSidebar />\n  */\n  {\n    \"id\": \"mGa7AZIg\",\n    \"block\": \"[[[8,[39,0],null,null,null]],[],false,[\\\"cp-forum-sidebar\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/before-main-outlet/cp-forum-sidebar.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/below-footer/cp-footer\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <CpFooter />\n  */\n  {\n    \"id\": \"fT+jqloA\",\n    \"block\": \"[[[8,[39,0],null,null,null]],[],false,[\\\"cp-footer\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/below-footer/cp-footer.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/composer-after-composer-editor/personal-info-disclaimer\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"personal-info-disclaimer\">\n      <span>\n          Posting here will create a new topic or reply that can be read by anyone with access to this page. Be sure to remove any sensitive information like IDs, \n          credentials, or non-public information from your post.\n      </span>\n  </div>\n  */\n  {\n    \"id\": \"wkLigBPN\",\n    \"block\": \"[[[10,0],[14,0,\\\"personal-info-disclaimer\\\"],[12],[1,\\\"\\\\n    \\\"],[10,1],[12],[1,\\\"\\\\n        Posting here will create a new topic or reply that can be read by anyone with access to this page. Be sure to remove any sensitive information like IDs, \\\\n        credentials, or non-public information from your post.\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"span\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/composer-after-composer-editor/personal-info-disclaimer.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/custom-homepage/custom-homepage\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <Homepage\n    @banners={{this.banners}}\n    @ad={{this.ad}}\n    @latestTopics={{this.latestTopics}}\n    @isLoggedIn={{this.isLoggedIn}}\n    @upcomingEvents={{this.upcomingEvents}}\n  />\n  */\n  {\n    \"id\": \"+3xaHRkC\",\n    \"block\": \"[[[8,[39,0],null,[[\\\"@banners\\\",\\\"@ad\\\",\\\"@latestTopics\\\",\\\"@isLoggedIn\\\",\\\"@upcomingEvents\\\"],[[30,0,[\\\"banners\\\"]],[30,0,[\\\"ad\\\"]],[30,0,[\\\"latestTopics\\\"]],[30,0,[\\\"isLoggedIn\\\"]],[30,0,[\\\"upcomingEvents\\\"]]]],null]],[],false,[\\\"homepage\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/custom-homepage/custom-homepage.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/extra-nav-item/nav-item_all-filters\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <!-- Desktop View -->\n  <!-- Category Pages -->\n  {{#if @outletArgs.category}}\n      {{#if (lastPathEq @outletArgs.filterMode \"top\")}}\n          <a href=\"/c/{{@outletArgs.category.slug}}/{{@outletArgs.category.id}}/l/latest\" class=\"nav-item_all-filters latest\">\n              Latest\n          </a>\n      {{else if (lastPathEq @outletArgs.filterMode \"latest\")}}\n          <a href=\"/c/{{@outletArgs.category.slug}}/{{@outletArgs.category.id}}/l/top\" class=\"nav-item_all-filters top\">\n              Top\n          </a>\n      {{/if}}\n  <!-- Index Page -->\n  {{else}}\n      {{#if (eq @outletArgs.filterMode \"categories\")}}\n          <a href=\"/latest\" class=\"nav-item_all-filters latest\">\n              Latest\n          </a>\n      {{else if (eq @outletArgs.filterMode \"latest\")}}\n          <a href=\"/categories\" class=\"nav-item_all-filters categories\">\n              Categories\n          </a>\n      {{/if}}\n  {{/if}}\n  */\n  {\n    \"id\": \"OgswdY+x\",\n    \"block\": \"[[[3,\\\" Desktop View \\\"],[1,\\\"\\\\n\\\"],[3,\\\" Category Pages \\\"],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"category\\\"]],[[[41,[28,[37,1],[[30,1,[\\\"filterMode\\\"]],\\\"top\\\"],null],[[[1,\\\"        \\\"],[10,3],[15,6,[29,[\\\"/c/\\\",[30,1,[\\\"category\\\",\\\"slug\\\"]],\\\"/\\\",[30,1,[\\\"category\\\",\\\"id\\\"]],\\\"/l/latest\\\"]]],[14,0,\\\"nav-item_all-filters latest\\\"],[12],[1,\\\"\\\\n            Latest\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[37,1],[[30,1,[\\\"filterMode\\\"]],\\\"latest\\\"],null],[[[1,\\\"        \\\"],[10,3],[15,6,[29,[\\\"/c/\\\",[30,1,[\\\"category\\\",\\\"slug\\\"]],\\\"/\\\",[30,1,[\\\"category\\\",\\\"id\\\"]],\\\"/l/top\\\"]]],[14,0,\\\"nav-item_all-filters top\\\"],[12],[1,\\\"\\\\n            Top\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"]],[]],null]],[]]],[3,\\\" Index Page \\\"],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[37,3],[[30,1,[\\\"filterMode\\\"]],\\\"categories\\\"],null],[[[1,\\\"        \\\"],[10,3],[14,6,\\\"/latest\\\"],[14,0,\\\"nav-item_all-filters latest\\\"],[12],[1,\\\"\\\\n            Latest\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[37,3],[[30,1,[\\\"filterMode\\\"]],\\\"latest\\\"],null],[[[1,\\\"        \\\"],[10,3],[14,6,\\\"/categories\\\"],[14,0,\\\"nav-item_all-filters categories\\\"],[12],[1,\\\"\\\\n            Categories\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"]],[]],null]],[]]]],[]]]],[\\\"@outletArgs\\\"],false,[\\\"if\\\",\\\"lastPathEq\\\",\\\"a\\\",\\\"eq\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/extra-nav-item/nav-item_all-filters.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/extra-nav-item/nav-item_category-label\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <!-- Desktop View -->\n  <span class=\"nav-item_category-label\">\n      {{ upper @outletArgs.category.name }}\n  </span>\n  */\n  {\n    \"id\": \"J8Z7ic6H\",\n    \"block\": \"[[[3,\\\" Desktop View \\\"],[1,\\\"\\\\n\\\"],[10,1],[14,0,\\\"nav-item_category-label\\\"],[12],[1,\\\"\\\\n    \\\"],[1,[28,[35,1],[[30,1,[\\\"category\\\",\\\"name\\\"]]],null]],[1,\\\"\\\\n\\\"],[13]],[\\\"@outletArgs\\\"],false,[\\\"span\\\",\\\"upper\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/extra-nav-item/nav-item_category-label.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/inline-extra-nav-item/nav-item_all-filters\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <!-- Mobile View -->\n  <!-- Category Pages -->\n  {{#if @outletArgs.category}}\n      {{#if (lastPathEq @outletArgs.filterMode \"top\")}}\n          <a href=\"/c/{{@outletArgs.category.slug}}/{{@outletArgs.category.id}}/l/latest\" class=\"nav-item_all-filters latest\">\n              Latest\n          </a>\n      {{else if (lastPathEq @outletArgs.filterMode \"latest\")}}\n          <a href=\"/c/{{@outletArgs.category.slug}}/{{@outletArgs.category.id}}/l/top\" class=\"nav-item_all-filters top\">\n              Top\n          </a>\n      {{/if}}\n  <!-- Index Page -->\n  {{else}}\n      {{#if (eq @outletArgs.filterMode \"categories\")}}\n          <a href=\"/latest\" class=\"nav-item_all-filters latest\">\n              Latest\n          </a>\n      {{else if (eq @outletArgs.filterMode \"latest\")}}\n          <a href=\"/categories\" class=\"nav-item_all-filters categories\">\n              Categories\n          </a>\n      {{/if}}\n  {{/if}}\n  */\n  {\n    \"id\": \"x2ozgUuP\",\n    \"block\": \"[[[3,\\\" Mobile View \\\"],[1,\\\"\\\\n\\\"],[3,\\\" Category Pages \\\"],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"category\\\"]],[[[41,[28,[37,1],[[30,1,[\\\"filterMode\\\"]],\\\"top\\\"],null],[[[1,\\\"        \\\"],[10,3],[15,6,[29,[\\\"/c/\\\",[30,1,[\\\"category\\\",\\\"slug\\\"]],\\\"/\\\",[30,1,[\\\"category\\\",\\\"id\\\"]],\\\"/l/latest\\\"]]],[14,0,\\\"nav-item_all-filters latest\\\"],[12],[1,\\\"\\\\n            Latest\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[37,1],[[30,1,[\\\"filterMode\\\"]],\\\"latest\\\"],null],[[[1,\\\"        \\\"],[10,3],[15,6,[29,[\\\"/c/\\\",[30,1,[\\\"category\\\",\\\"slug\\\"]],\\\"/\\\",[30,1,[\\\"category\\\",\\\"id\\\"]],\\\"/l/top\\\"]]],[14,0,\\\"nav-item_all-filters top\\\"],[12],[1,\\\"\\\\n            Top\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"]],[]],null]],[]]],[3,\\\" Index Page \\\"],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[37,3],[[30,1,[\\\"filterMode\\\"]],\\\"categories\\\"],null],[[[1,\\\"        \\\"],[10,3],[14,6,\\\"/latest\\\"],[14,0,\\\"nav-item_all-filters latest\\\"],[12],[1,\\\"\\\\n            Latest\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[37,3],[[30,1,[\\\"filterMode\\\"]],\\\"latest\\\"],null],[[[1,\\\"        \\\"],[10,3],[14,6,\\\"/categories\\\"],[14,0,\\\"nav-item_all-filters categories\\\"],[12],[1,\\\"\\\\n            Categories\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"]],[]],null]],[]]]],[]]]],[\\\"@outletArgs\\\"],false,[\\\"if\\\",\\\"lastPathEq\\\",\\\"a\\\",\\\"eq\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/inline-extra-nav-item/nav-item_all-filters.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/inline-extra-nav-item/nav-item_category-label\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <!-- Mobile View -->\n  <span class=\"nav-item_category-label\">\n      {{ upper @outletArgs.category.name }}\n  </span>\n  */\n  {\n    \"id\": \"0z0RvMkO\",\n    \"block\": \"[[[3,\\\" Mobile View \\\"],[1,\\\"\\\\n\\\"],[10,1],[14,0,\\\"nav-item_category-label\\\"],[12],[1,\\\"\\\\n    \\\"],[1,[28,[35,1],[[30,1,[\\\"category\\\",\\\"name\\\"]]],null]],[1,\\\"\\\\n\\\"],[13]],[\\\"@outletArgs\\\"],false,[\\\"span\\\",\\\"upper\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/inline-extra-nav-item/nav-item_category-label.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/post-avatar-flair/post-user-info\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"post-user-info cp-hide-in-embedded\">\n    <span class=\"post-user-info-username\" aria-label=\"Poster's username: {{@outletArgs.user.username}}\">{{@outletArgs.user.username}}</span>\n    {{#if @outletArgs.post.user_label}}\n      <span class=\"post-user-info-label-wrapper cp-ribbon-wrapper\">\n        <span class=\"cp-ribbon-end left\" aria-hidden=\"true\"></span>\n        <span class=\"post-user-info-label cp-ribbon-body\" aria-label=\"Poster's label: {{@outletArgs.post.user_label}}\">{{@outletArgs.post.user_label}}</span>\n        <span class=\"cp-ribbon-end right\" aria-hidden=\"true\"></span>\n      </span>\n    {{/if}}\n    <div class=\"post-user-info-member-since\">\n      <span class=\"post-user-info-member-since-label\">MEMBER SINCE</span>\n      <span class=\"post-user-info-date\" aria-label=\"Poster has been a member since: {{this.memberSince}}\">{{this.memberSince}}</span>\n    </div>\n  </div>\n  */\n  {\n    \"id\": \"1iUw6gs8\",\n    \"block\": \"[[[10,0],[14,0,\\\"post-user-info cp-hide-in-embedded\\\"],[12],[1,\\\"\\\\n  \\\"],[10,1],[14,0,\\\"post-user-info-username\\\"],[15,\\\"aria-label\\\",[29,[\\\"Poster's username: \\\",[30,1,[\\\"user\\\",\\\"username\\\"]]]]],[12],[1,[30,1,[\\\"user\\\",\\\"username\\\"]]],[13],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"post\\\",\\\"user_label\\\"]],[[[1,\\\"    \\\"],[10,1],[14,0,\\\"post-user-info-label-wrapper cp-ribbon-wrapper\\\"],[12],[1,\\\"\\\\n      \\\"],[10,1],[14,0,\\\"cp-ribbon-end left\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[1,\\\"\\\\n      \\\"],[10,1],[14,0,\\\"post-user-info-label cp-ribbon-body\\\"],[15,\\\"aria-label\\\",[29,[\\\"Poster's label: \\\",[30,1,[\\\"post\\\",\\\"user_label\\\"]]]]],[12],[1,[30,1,[\\\"post\\\",\\\"user_label\\\"]]],[13],[1,\\\"\\\\n      \\\"],[10,1],[14,0,\\\"cp-ribbon-end right\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[10,0],[14,0,\\\"post-user-info-member-since\\\"],[12],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"post-user-info-member-since-label\\\"],[12],[1,\\\"MEMBER SINCE\\\"],[13],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"post-user-info-date\\\"],[15,\\\"aria-label\\\",[29,[\\\"Poster has been a member since: \\\",[30,0,[\\\"memberSince\\\"]]]]],[12],[1,[30,0,[\\\"memberSince\\\"]]],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"@outletArgs\\\"],false,[\\\"div\\\",\\\"span\\\",\\\"if\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/post-avatar-flair/post-user-info.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/post-metadata/post-metadata\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"post-metadata\">\n      <div>{{this.createdAt}}</div>\n      <div class=\"cp-question-tags\">\n          <span class=\"topic-qa-tags\">\n              <span class=\"topic-label question\">Question</span>\n              {{#if @outletArgs.post.topic_accepted_answer}}\n                  <span class=\"topic-label solved\">Solved!</span>\n              {{else}}\n                  <span class=\"topic-label unresolved\">Unresolved</span>\n              {{/if}}\n          </span>\n      </div>\n  </div>\n  */\n  {\n    \"id\": \"ZuBUmgn7\",\n    \"block\": \"[[[10,0],[14,0,\\\"post-metadata\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[12],[1,[30,0,[\\\"createdAt\\\"]]],[13],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"cp-question-tags\\\"],[12],[1,\\\"\\\\n        \\\"],[10,1],[14,0,\\\"topic-qa-tags\\\"],[12],[1,\\\"\\\\n            \\\"],[10,1],[14,0,\\\"topic-label question\\\"],[12],[1,\\\"Question\\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"post\\\",\\\"topic_accepted_answer\\\"]],[[[1,\\\"                \\\"],[10,1],[14,0,\\\"topic-label solved\\\"],[12],[1,\\\"Solved!\\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                \\\"],[10,1],[14,0,\\\"topic-label unresolved\\\"],[12],[1,\\\"Unresolved\\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"@outletArgs\\\"],false,[\\\"div\\\",\\\"span\\\",\\\"if\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/post-metadata/post-metadata.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/reviewable-item-actions/custom-reviewable\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    {{#let (or this.reviewable @reviewable) as |rv|}}\n  {{#if (and rv (or\n  (eq rv.type \"IgamesCpPlugin::ReviewableAboutMe\")\n  (eq rv.type \"IgamesCpPlugin::ReviewableUserImage\")\n  ))}}\n  \n  {{#let rv.fields as |f|}}\n  <div class=\"igames-custom-reviewable\">\n  \n    {{!-- Reported user --}}\n    <div class=\"ig-rv-user\">\n      <b>Reported User:</b>\n      {{#if rv.reported_user_username}}\n      <a class=\"ig-rv-user__username\" href=\"/user-profile/{{rv.reported_user_username}}\">\n        {{rv.reported_user_username}}\n      </a>\n      {{else if rv.reported_user}}\n      <a class=\"ig-rv-user__username\" href=\"/user-profile/{{rv.reported_user.username}}\">\n        {{rv.reported_user.username}}\n      </a>\n      {{#if rv.reported_user.name}}\n      <span class=\"ig-rv-user__name\">({{rv.reported_user.name}})</span>\n      {{/if}}\n      {{else}}\n      <span class=\"ig-rv-user__fallback\">User #{{rv.reported_user_id}}</span>\n      {{/if}}\n    </div>\n  \n    {{!-- Filed by (reporter/mod) --}}\n    {{#if rv.filed_by_user}}\n    <div class=\"ig-rv-filedby\">\n      <b>Filed by:</b>\n      <a href=\"/user-profile/{{rv.filed_by_user.username}}\">{{rv.filed_by_user.username}}</a>\n      {{#if rv.filed_by_user.name}}\n      <span class=\"ig-rv-filedby__name\">({{rv.filed_by_user.name}})</span>\n      {{/if}}\n    </div>\n    {{/if}}\n  \n    {{!-- About Me --}}\n    {{#if (eq rv.type \"IgamesCpPlugin::ReviewableAboutMe\")}}\n    <div class=\"ig-rv-block\">\n      <div class=\"ig-rv-block__title\">\n        {{#if rv.reported_user}}\n        <a href=\"/user-profile/{{rv.reported_user.username}}\">{{rv.reported_user.username}}’s</a> About Me\n        {{else}}\n        About Me\n        {{/if}}\n      </div>\n      {{#if f.about_me_excerpt}}\n      <blockquote class=\"ig-rv-excerpt\">{{f.about_me_excerpt}}</blockquote>\n      {{/if}}\n    </div>\n    {{/if}}\n  \n    {{!-- User Image --}}\n    {{#if (eq rv.type \"IgamesCpPlugin::ReviewableUserImage\")}}\n    <div class=\"ig-rv-block\">\n      <div class=\"ig-rv-block__title\">Profile Image</div>\n      {{#if f.image_url}}\n      <a class=\"ig-rv-image__link\" href={{f.image_url}} target=\"_blank\" rel=\"noopener noreferrer\">\n        <img class=\"ig-rv-image\" src={{f.image_url}} alt=\"Reported image\" loading=\"lazy\">\n      </a>\n      {{/if}}\n      <div class=\"ig-rv-meta-row\">\n        {{#if f.image_id}}<span><b>Image ID:</b> {{f.image_id}}</span>{{/if}}\n      </div>\n    </div>\n    {{/if}}\n  \n    {{!-- Reason code as a pill --}}\n    {{#if rv.reason_code}}\n    <div class=\"ig-rv-reasons\">\n      <span class=\"ig-chip ig-chip--code\">{{rv.reason_code}}</span>\n    </div>\n    {{/if}}\n  \n    {{!-- Reason text as a section UNDER the chip --}}\n    {{#if rv.reason_text}}\n    <div class=\"ig-rv-reason-text\">\n      <div class=\"ig-rv-subtitle\">Details</div>\n      <div class=\"ig-rv-reason-body\">{{rv.reason_text}}</div>\n    </div>\n    {{/if}}\n  \n    {{!-- Footer --}}\n    <div class=\"ig-rv-footer\">\n      {{#if f.target_id}}<span><b>Target ID:</b> {{f.target_id}}</span>{{/if}}\n      {{#if rv.createdAt}}\n      <span><b>Created:</b> {{format-date rv.createdAt format=\"tiny\"}}</span>\n      {{else if rv.created_at}}\n      <span><b>Created:</b> {{format-date rv.created_at format=\"tiny\"}}</span>\n      {{/if}}\n    </div>\n  \n  </div>\n  {{/let}}\n  {{/if}}\n  {{/let}}\n  */\n  {\n    \"id\": \"rwhL8pg8\",\n    \"block\": \"[[[44,[[28,[37,1],[[30,0,[\\\"reviewable\\\"]],[30,1]],null]],[[[41,[28,[37,3],[[30,2],[28,[37,1],[[28,[37,4],[[30,2,[\\\"type\\\"]],\\\"IgamesCpPlugin::ReviewableAboutMe\\\"],null],[28,[37,4],[[30,2,[\\\"type\\\"]],\\\"IgamesCpPlugin::ReviewableUserImage\\\"],null]],null]],null],[[[1,\\\"\\\\n\\\"],[44,[[30,2,[\\\"fields\\\"]]],[[[10,0],[14,0,\\\"igames-custom-reviewable\\\"],[12],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"  \\\"],[10,0],[14,0,\\\"ig-rv-user\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"b\\\"],[12],[1,\\\"Reported User:\\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"reported_user_username\\\"]],[[[1,\\\"    \\\"],[10,3],[14,0,\\\"ig-rv-user__username\\\"],[15,6,[29,[\\\"/user-profile/\\\",[30,2,[\\\"reported_user_username\\\"]]]]],[12],[1,\\\"\\\\n      \\\"],[1,[30,2,[\\\"reported_user_username\\\"]]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,2,[\\\"reported_user\\\"]],[[[1,\\\"    \\\"],[10,3],[14,0,\\\"ig-rv-user__username\\\"],[15,6,[29,[\\\"/user-profile/\\\",[30,2,[\\\"reported_user\\\",\\\"username\\\"]]]]],[12],[1,\\\"\\\\n      \\\"],[1,[30,2,[\\\"reported_user\\\",\\\"username\\\"]]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"reported_user\\\",\\\"name\\\"]],[[[1,\\\"    \\\"],[10,1],[14,0,\\\"ig-rv-user__name\\\"],[12],[1,\\\"(\\\"],[1,[30,2,[\\\"reported_user\\\",\\\"name\\\"]]],[1,\\\")\\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],[[[1,\\\"    \\\"],[10,1],[14,0,\\\"ig-rv-user__fallback\\\"],[12],[1,\\\"User #\\\"],[1,[30,2,[\\\"reported_user_id\\\"]]],[13],[1,\\\"\\\\n    \\\"]],[]]]],[]]],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,2,[\\\"filed_by_user\\\"]],[[[1,\\\"  \\\"],[10,0],[14,0,\\\"ig-rv-filedby\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"b\\\"],[12],[1,\\\"Filed by:\\\"],[13],[1,\\\"\\\\n    \\\"],[10,3],[15,6,[29,[\\\"/user-profile/\\\",[30,2,[\\\"filed_by_user\\\",\\\"username\\\"]]]]],[12],[1,[30,2,[\\\"filed_by_user\\\",\\\"username\\\"]]],[13],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"filed_by_user\\\",\\\"name\\\"]],[[[1,\\\"    \\\"],[10,1],[14,0,\\\"ig-rv-filedby__name\\\"],[12],[1,\\\"(\\\"],[1,[30,2,[\\\"filed_by_user\\\",\\\"name\\\"]]],[1,\\\")\\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[28,[37,4],[[30,2,[\\\"type\\\"]],\\\"IgamesCpPlugin::ReviewableAboutMe\\\"],null],[[[1,\\\"  \\\"],[10,0],[14,0,\\\"ig-rv-block\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-rv-block__title\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"reported_user\\\"]],[[[1,\\\"      \\\"],[10,3],[15,6,[29,[\\\"/user-profile/\\\",[30,2,[\\\"reported_user\\\",\\\"username\\\"]]]]],[12],[1,[30,2,[\\\"reported_user\\\",\\\"username\\\"]]],[1,\\\"’s\\\"],[13],[1,\\\" About Me\\\\n\\\"]],[]],[[[1,\\\"      About Me\\\\n\\\"]],[]]],[1,\\\"    \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,3,[\\\"about_me_excerpt\\\"]],[[[1,\\\"    \\\"],[10,\\\"blockquote\\\"],[14,0,\\\"ig-rv-excerpt\\\"],[12],[1,[30,3,[\\\"about_me_excerpt\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[28,[37,4],[[30,2,[\\\"type\\\"]],\\\"IgamesCpPlugin::ReviewableUserImage\\\"],null],[[[1,\\\"  \\\"],[10,0],[14,0,\\\"ig-rv-block\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-rv-block__title\\\"],[12],[1,\\\"Profile Image\\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,3,[\\\"image_url\\\"]],[[[1,\\\"    \\\"],[10,3],[14,0,\\\"ig-rv-image__link\\\"],[15,6,[30,3,[\\\"image_url\\\"]]],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener noreferrer\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"img\\\"],[14,0,\\\"ig-rv-image\\\"],[15,\\\"src\\\",[30,3,[\\\"image_url\\\"]]],[14,\\\"alt\\\",\\\"Reported image\\\"],[14,\\\"loading\\\",\\\"lazy\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"    \\\"],[10,0],[14,0,\\\"ig-rv-meta-row\\\"],[12],[1,\\\"\\\\n      \\\"],[41,[30,3,[\\\"image_id\\\"]],[[[10,1],[12],[10,\\\"b\\\"],[12],[1,\\\"Image ID:\\\"],[13],[1,\\\" \\\"],[1,[30,3,[\\\"image_id\\\"]]],[13]],[]],null],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"reason_code\\\"]],[[[1,\\\"  \\\"],[10,0],[14,0,\\\"ig-rv-reasons\\\"],[12],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"ig-chip ig-chip--code\\\"],[12],[1,[30,2,[\\\"reason_code\\\"]]],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"reason_text\\\"]],[[[1,\\\"  \\\"],[10,0],[14,0,\\\"ig-rv-reason-text\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-rv-subtitle\\\"],[12],[1,\\\"Details\\\"],[13],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"ig-rv-reason-body\\\"],[12],[1,[30,2,[\\\"reason_text\\\"]]],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[1,\\\"  \\\"],[10,0],[14,0,\\\"ig-rv-footer\\\"],[12],[1,\\\"\\\\n    \\\"],[41,[30,3,[\\\"target_id\\\"]],[[[10,1],[12],[10,\\\"b\\\"],[12],[1,\\\"Target ID:\\\"],[13],[1,\\\" \\\"],[1,[30,3,[\\\"target_id\\\"]]],[13]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"createdAt\\\"]],[[[1,\\\"    \\\"],[10,1],[12],[10,\\\"b\\\"],[12],[1,\\\"Created:\\\"],[13],[1,\\\" \\\"],[1,[28,[35,11],[[30,2,[\\\"createdAt\\\"]]],[[\\\"format\\\"],[\\\"tiny\\\"]]]],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[30,2,[\\\"created_at\\\"]],[[[1,\\\"    \\\"],[10,1],[12],[10,\\\"b\\\"],[12],[1,\\\"Created:\\\"],[13],[1,\\\" \\\"],[1,[28,[35,11],[[30,2,[\\\"created_at\\\"]]],[[\\\"format\\\"],[\\\"tiny\\\"]]]],[13],[1,\\\"\\\\n    \\\"]],[]],null]],[]]],[1,\\\"  \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[13],[1,\\\"\\\\n\\\"]],[3]]]],[]],null]],[2]]]],[\\\"@reviewable\\\",\\\"rv\\\",\\\"f\\\"],false,[\\\"let\\\",\\\"or\\\",\\\"if\\\",\\\"and\\\",\\\"eq\\\",\\\"div\\\",\\\"b\\\",\\\"a\\\",\\\"span\\\",\\\"blockquote\\\",\\\"img\\\",\\\"format-date\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/reviewable-item-actions/custom-reviewable.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/topic-category-wrapper/cp-topic-tags\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <span class=\"cp-topic-subtitle\">\n      {{#if @outletArgs.topic.tags}}\n          <span class=\"cp-topic-tags\">\n              {{#each @outletArgs.topic.tags as |tag|}}\n                  <span class=\"cp-topic-tag\">\n                      {{tag}}{{#unless (isLast tag @outletArgs.topic.tags)}}, {{/unless}}\n                  </span>\n              {{/each}}\n          </span>\n      \n          <span class=\"cp-topic-mobile-date separator\">\n              <span></span>\n          </span>\n      {{/if}}\n  \n      <span class=\"cp-topic-mobile-date created-at\">\n          <span>{{this.createdAt}}</span>\n      </span>\n  </span>\n  */\n  {\n    \"id\": \"TWfCO0jW\",\n    \"block\": \"[[[10,1],[14,0,\\\"cp-topic-subtitle\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"topic\\\",\\\"tags\\\"]],[[[1,\\\"        \\\"],[10,1],[14,0,\\\"cp-topic-tags\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,3],[[28,[37,3],[[30,1,[\\\"topic\\\",\\\"tags\\\"]]],null]],null],null,[[[1,\\\"                \\\"],[10,1],[14,0,\\\"cp-topic-tag\\\"],[12],[1,\\\"\\\\n                    \\\"],[1,[30,2]],[41,[51,[28,[37,5],[[30,2],[30,1,[\\\"topic\\\",\\\"tags\\\"]]],null]],[[[1,\\\", \\\"]],[]],null],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"        \\\"],[13],[1,\\\"\\\\n    \\\\n        \\\"],[10,1],[14,0,\\\"cp-topic-mobile-date separator\\\"],[12],[1,\\\"\\\\n            \\\"],[10,1],[12],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n    \\\"],[10,1],[14,0,\\\"cp-topic-mobile-date created-at\\\"],[12],[1,\\\"\\\\n        \\\"],[10,1],[12],[1,[30,0,[\\\"createdAt\\\"]]],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"@outletArgs\\\",\\\"tag\\\"],false,[\\\"span\\\",\\\"if\\\",\\\"each\\\",\\\"-track-array\\\",\\\"unless\\\",\\\"isLast\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/topic-category-wrapper/cp-topic-tags.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/topic-list-item/cp-topic-list-item\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <!-- Desktop topic list item -->\n  <!-- Topic Data -->\n  <td class=\"desktop-topic-list-item\" colspan=\"5\">\n    <div class=\"topic-list-item-container\">\n      <div class=\"main-link topic-list-data\">\n        <span class=\"topic-list-data-top\">\n            <div class=\"cp-topic-header\">\n                <a href=\"{{ @outletArgs.topic.url }}\" class=\"cp-topic-title\">\n                    <span>\n                      {{#if @outletArgs.topic.pinned}}\n                        {{d-icon \"thumbtack\"}}\n                      {{/if}}\n                      {{ @outletArgs.topic.title }}\n                    </span>\n                </a>\n                <span class=\"topic-qa-tags\">\n                  {{#if (eq @outletArgs.topic.category.name \"Questions\")}}\n                    <span class=\"topic-label\">Question</span>\n                    {{#if @outletArgs.topic.has_accepted_answer}}\n                      <span class=\"topic-label\">Solved!</span>\n                    {{else}}\n                      <span class=\"topic-label\">Unresolved</span>\n                    {{/if}}\n                  {{else}}\n                    <span class=\"topic-label\">Topic</span>\n                  {{/if}}\n                </span>\n            </div>\n        </span>\n  \n        <div class=\"topic-list-data-bottom\">\n          <div class=\"cp-topic-preview\">\n            {{@outletArgs.topic.cp_first_post_excerpt}}\n          </div>\n        </div>\n      </div>\n  \n      <!-- Author -->\n      <div class=\"posters topic-list-data\">\n        <LinkTo @route=\"cp-profile\" @model={{ @outletArgs.topic.creator.username }} aria-label=\"{{ @outletArgs.topic.creator.username }}'s profile\">\n          {{ @outletArgs.topic.creator.username }}\n        </LinkTo>\n      </div>\n  \n      <!-- Replies -->\n      <div class=\"num posts topic-list-data\">\n        <a href={{@outletArgs.topic.firstPostUrl}} aria-label={{i18n \"topic.reply_count_link\" count=@outletArgs.topic.replyCount}}>\n          {{number @outletArgs.topic.replyCount noTitle=\"true\"}}\n        </a>\n      </div>\n  \n      <!-- Views -->\n      <div class=\"num views topic-list-data\">\n          {{number @outletArgs.topic.views numberKey=\"views_long\"}}\n      </div>\n  \n      <!-- Activity -->\n      <div title={{htmlSafe @outletArgs.topic.bumpedAtTitle}} class=\"activity num topic-list-data\">\n        <a href={{@outletArgs.topic.lastPostUrl}} class=\"post-activity\">\n          {{~! no whitespace ~}}\n          {{~formatDate @outletArgs.topic.bumpedAt format=\"tiny\" noTitle=\"true\"~}}\n        </a>\n      </div>\n    </div>\n  </td>\n  \n  <!-- Mobile topic list item -->\n  <td class=\"mobile-topic-list-item\">\n    <div class=\"topic-list-item-container\">\n      <!-- Topic Title -->\n      <div class=\"titles topic-list-data\">\n        <div class=\"cp-topic-header\">\n          <a href=\"{{ @outletArgs.topic.url }}\">\n            <span class=\"cp-topic-title\">\n              {{#if @outletArgs.topic.pinned}}\n                {{d-icon \"thumbtack\"}}\n              {{/if}}\n              {{ @outletArgs.topic.title }}\n            </span>\n          </a>\n        </div>\n      </div>\n  \n      <!-- Replies -->\n      <div class=\"num posts topic-list-data\">\n        <a href={{@outletArgs.topic.firstPostUrl}} aria-label={{i18n \"topic.reply_count_link\" count=@outletArgs.topic.replyCount}}>\n          {{d-icon \"comment\"}}\n          {{@outletArgs.topic.replyCount}}\n        </a>\n      </div>\n  \n      <!-- Views -->\n      <div class=\"num views topic-list-data\">\n          {{d-icon \"eye\"}}\n          {{number @outletArgs.topic.views numberKey=\"views_long\"}}\n      </div>\n  \n      <!-- Topic Data -->\n      <div class=\"main-link topic-list-data\">\n        <div class=\"time-ago\">\n          {{this.lastPostedAt}}\n        </div>\n  \n        <div class=\"topic-list-data-bottom\">\n          by <LinkTo @route=\"cp-profile\" @model={{ @outletArgs.topic.creator.username }} aria-label=\"{{ @outletArgs.topic.creator.username }}'s profile\">\n            {{ @outletArgs.topic.creator.username }}\n          </LinkTo>\n        </div>\n      </div>\n    </div>\n  </td>\n  \n  */\n  {\n    \"id\": \"YwoZqfj0\",\n    \"block\": \"[[[3,\\\" Desktop topic list item \\\"],[1,\\\"\\\\n\\\"],[3,\\\" Topic Data \\\"],[1,\\\"\\\\n\\\"],[10,\\\"td\\\"],[14,0,\\\"desktop-topic-list-item\\\"],[14,\\\"colspan\\\",\\\"5\\\"],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"topic-list-item-container\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"main-link topic-list-data\\\"],[12],[1,\\\"\\\\n      \\\"],[10,1],[14,0,\\\"topic-list-data-top\\\"],[12],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"cp-topic-header\\\"],[12],[1,\\\"\\\\n              \\\"],[10,3],[15,6,[29,[[30,1,[\\\"topic\\\",\\\"url\\\"]]]]],[14,0,\\\"cp-topic-title\\\"],[12],[1,\\\"\\\\n                  \\\"],[10,1],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"topic\\\",\\\"pinned\\\"]],[[[1,\\\"                      \\\"],[1,[28,[35,5],[\\\"thumbtack\\\"],null]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                    \\\"],[1,[30,1,[\\\"topic\\\",\\\"title\\\"]]],[1,\\\"\\\\n                  \\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n              \\\"],[10,1],[14,0,\\\"topic-qa-tags\\\"],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,6],[[30,1,[\\\"topic\\\",\\\"category\\\",\\\"name\\\"]],\\\"Questions\\\"],null],[[[1,\\\"                  \\\"],[10,1],[14,0,\\\"topic-label\\\"],[12],[1,\\\"Question\\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"topic\\\",\\\"has_accepted_answer\\\"]],[[[1,\\\"                    \\\"],[10,1],[14,0,\\\"topic-label\\\"],[12],[1,\\\"Solved!\\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                    \\\"],[10,1],[14,0,\\\"topic-label\\\"],[12],[1,\\\"Unresolved\\\"],[13],[1,\\\"\\\\n\\\"]],[]]]],[]],[[[1,\\\"                  \\\"],[10,1],[14,0,\\\"topic-label\\\"],[12],[1,\\\"Topic\\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"              \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"topic-list-data-bottom\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"cp-topic-preview\\\"],[12],[1,\\\"\\\\n          \\\"],[1,[30,1,[\\\"topic\\\",\\\"cp_first_post_excerpt\\\"]]],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" Author \\\"],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"posters topic-list-data\\\"],[12],[1,\\\"\\\\n      \\\"],[8,[39,7],[[16,\\\"aria-label\\\",[29,[[30,1,[\\\"topic\\\",\\\"creator\\\",\\\"username\\\"]],\\\"'s profile\\\"]]]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"cp-profile\\\",[30,1,[\\\"topic\\\",\\\"creator\\\",\\\"username\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n        \\\"],[1,[30,1,[\\\"topic\\\",\\\"creator\\\",\\\"username\\\"]]],[1,\\\"\\\\n      \\\"]],[]]]]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" Replies \\\"],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"num posts topic-list-data\\\"],[12],[1,\\\"\\\\n      \\\"],[10,3],[15,6,[30,1,[\\\"topic\\\",\\\"firstPostUrl\\\"]]],[15,\\\"aria-label\\\",[28,[37,8],[\\\"topic.reply_count_link\\\"],[[\\\"count\\\"],[[30,1,[\\\"topic\\\",\\\"replyCount\\\"]]]]]],[12],[1,\\\"\\\\n        \\\"],[1,[28,[35,9],[[30,1,[\\\"topic\\\",\\\"replyCount\\\"]]],[[\\\"noTitle\\\"],[\\\"true\\\"]]]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" Views \\\"],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"num views topic-list-data\\\"],[12],[1,\\\"\\\\n        \\\"],[1,[28,[35,9],[[30,1,[\\\"topic\\\",\\\"views\\\"]]],[[\\\"numberKey\\\"],[\\\"views_long\\\"]]]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" Activity \\\"],[1,\\\"\\\\n    \\\"],[10,0],[15,\\\"title\\\",[28,[37,10],[[30,1,[\\\"topic\\\",\\\"bumpedAtTitle\\\"]]],null]],[14,0,\\\"activity num topic-list-data\\\"],[12],[1,\\\"\\\\n      \\\"],[10,3],[15,6,[30,1,[\\\"topic\\\",\\\"lastPostUrl\\\"]]],[14,0,\\\"post-activity\\\"],[12],[1,[28,[35,11],[[30,1,[\\\"topic\\\",\\\"bumpedAt\\\"]]],[[\\\"format\\\",\\\"noTitle\\\"],[\\\"tiny\\\",\\\"true\\\"]]]],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[3,\\\" Mobile topic list item \\\"],[1,\\\"\\\\n\\\"],[10,\\\"td\\\"],[14,0,\\\"mobile-topic-list-item\\\"],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"topic-list-item-container\\\"],[12],[1,\\\"\\\\n    \\\"],[3,\\\" Topic Title \\\"],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"titles topic-list-data\\\"],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"cp-topic-header\\\"],[12],[1,\\\"\\\\n        \\\"],[10,3],[15,6,[29,[[30,1,[\\\"topic\\\",\\\"url\\\"]]]]],[12],[1,\\\"\\\\n          \\\"],[10,1],[14,0,\\\"cp-topic-title\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"topic\\\",\\\"pinned\\\"]],[[[1,\\\"              \\\"],[1,[28,[35,5],[\\\"thumbtack\\\"],null]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"            \\\"],[1,[30,1,[\\\"topic\\\",\\\"title\\\"]]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" Replies \\\"],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"num posts topic-list-data\\\"],[12],[1,\\\"\\\\n      \\\"],[10,3],[15,6,[30,1,[\\\"topic\\\",\\\"firstPostUrl\\\"]]],[15,\\\"aria-label\\\",[28,[37,8],[\\\"topic.reply_count_link\\\"],[[\\\"count\\\"],[[30,1,[\\\"topic\\\",\\\"replyCount\\\"]]]]]],[12],[1,\\\"\\\\n        \\\"],[1,[28,[35,5],[\\\"comment\\\"],null]],[1,\\\"\\\\n        \\\"],[1,[30,1,[\\\"topic\\\",\\\"replyCount\\\"]]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" Views \\\"],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"num views topic-list-data\\\"],[12],[1,\\\"\\\\n        \\\"],[1,[28,[35,5],[\\\"eye\\\"],null]],[1,\\\"\\\\n        \\\"],[1,[28,[35,9],[[30,1,[\\\"topic\\\",\\\"views\\\"]]],[[\\\"numberKey\\\"],[\\\"views_long\\\"]]]],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" Topic Data \\\"],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"main-link topic-list-data\\\"],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"time-ago\\\"],[12],[1,\\\"\\\\n        \\\"],[1,[30,0,[\\\"lastPostedAt\\\"]]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"topic-list-data-bottom\\\"],[12],[1,\\\"\\\\n        by \\\"],[8,[39,7],[[16,\\\"aria-label\\\",[29,[[30,1,[\\\"topic\\\",\\\"creator\\\",\\\"username\\\"]],\\\"'s profile\\\"]]]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"cp-profile\\\",[30,1,[\\\"topic\\\",\\\"creator\\\",\\\"username\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n          \\\"],[1,[30,1,[\\\"topic\\\",\\\"creator\\\",\\\"username\\\"]]],[1,\\\"\\\\n        \\\"]],[]]]]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,\\\"\\\\n\\\"]],[\\\"@outletArgs\\\"],false,[\\\"td\\\",\\\"div\\\",\\\"span\\\",\\\"a\\\",\\\"if\\\",\\\"d-icon\\\",\\\"eq\\\",\\\"link-to\\\",\\\"i18n\\\",\\\"number\\\",\\\"htmlSafe\\\",\\\"formatDate\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/connectors/topic-list-item/cp-topic-list-item.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-account-settings\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container\">\n      <main class=\"cp-account-container\">\n          <!-- hero -->\n          <section class=\"account-hero\">\n              <h1 class=\"account-username\">{{this.user.username}}</h1>\n  \n              <div class=\"account-avatar-wrap\">\n                  {{avatar this.user imageSize=152 class=\"account-avatar\"}}\n              </div>\n  \n              <div class=\"account-joined-line\">\n                  <span class=\"line\"></span>\n                  <span class=\"joined-text\">Joined {{this.user.joined_at_formatted}}</span>\n                  <span class=\"line\"></span>\n              </div>\n          </section>\n  \n          <!-- body -->\n          <section class=\"account-layout\">\n              <aside class=\"account-nav\">\n                  <nav>\n                      <ul>\n                          <li class=\"active\">\n                              Account Settings\n                          </li>\n                          <li>\n                              <LinkTo @route=\"cp-edit-profile\">Edit Profile</LinkTo>\n                          </li>\n                          {{!-- <li>\n                              <LinkTo @route=\"my-loot\">My Loot</LinkTo>\n                          </li> --}}\n                      </ul>\n                  </nav>\n              </aside>\n  \n              <div class=\"account-panel-container\">\n                  <div class=\"full-account-panel\">\n                      <header class=\"account-panel__head\">\n                          <h3>ACCOUNT SETTINGS</h3>\n                      </header>\n                      <section class=\"account-panel\">\n                          <div class=\"account-panel-inner\">\n                              <div class=\"settings-list\">\n                                  <div class=\"settings-row\">\n                                      <div class=\"label\">Full Name</div>\n                                      <div class=\"value\"><Input @id=\"name\" autocomplete=\"off\" @value={{this.name}} />\n                                      </div>\n                                      <button class=\"action-link\" disabled={{or (not this.nameChanged) this.savingName}}\n                                          {{on \"click\" this.editName}}>{{if this.savingName \"Saving...\"\n                                          \"Update\"}}</button>\n                                  </div>\n  \n                                  <div class=\"settings-row\">\n                                      {{#if this.emailNotVerified}}\n                                      <div class=\"label\">Email Verification Code</div>\n                                      <div class=\"value\"><Input @id=\"verification-code\" placeholder=\"VERIFICATION CODE\"\n                                              autocomplete=\"off\" @value={{this.verificationCode}} /></div>\n                                      <button class=\"action-link\" disabled={{or (not this.verificationCodeChanged)\n                                          this.savingEmail}} {{on \"click\" this.verifyEmail}}>{{if this.savingEmail\n                                          \"Saving...\"\n                                          \"Verify Email\"}}</button>\n                                      {{else}}\n                                      <div class=\"label\">Email Address</div>\n                                      <div class=\"value\"><Input @id=\"email\" autocomplete=\"off\" @value={{this.email}} />\n                                      </div>\n                                      <button class=\"action-link\" disabled={{or (not this.emailChanged) this.savingEmail}}\n                                          {{on \"click\" this.editEmail}}>{{if this.savingEmail \"Saving...\"\n                                          \"Update\"}}</button>\n                                      {{/if}}\n                                  </div>\n  \n                                  <div class=\"settings-row\">\n                                      <div class=\"label\">Password</div>\n                                      <div class=\"value\">\n                                          <Input @id=\"current-password\" autocomplete=\"off\" @type=\"password\"\n                                              placeholder=\"CURRENT PASSWORD\" @value={{this.currentPassword}} />\n                                          <Input @id=\"new-password\" autocomplete=\"off\" @type=\"password\"\n                                              placeholder=\"NEW PASSWORD\" @value={{this.newPassword}} />\n                                      </div>\n                                      <button class=\"action-link\" disabled={{or (not this.passwordChanged)\n                                          this.savingPassword}} {{on \"click\" this.editPassword}}>{{if this.savingPassword\n                                          \"Saving...\" \"Update\"}}</button>\n                                  </div>\n  \n                                  <div class=\"settings-row\">\n                                      <div class=\"label\">Display Name (Gamertag)</div>\n                                      <div class=\"value\"><Input @id=\"username\" autocomplete=\"off\"\n                                              @value={{this.username}} />\n                                      </div>\n                                      <button class=\"action-link\" disabled={{or (not this.usernameChanged)\n                                          this.savingUsername}} {{on \"click\" this.editGamertag}}>{{if this.savingUsername\n                                          \"Saving...\" \"Update\"}}</button>\n                                  </div>\n  \n                                  <div class=\"settings-row\">\n                                      <div class=\"label\">Timezone</div>\n                                      <div class=\"value\">\n                                          <TimezoneInput class=\"account-timezone\" @value={{this.timezone}}\n                                              @onChange={{this.saveTimezone}} />\n                                      </div>\n                                      <button class=\"action-link\" disabled={{this.savingTimezone}} {{on \"click\"\n                                          this.useCurrentTz}}>\n                                          Use Current Timezone\n                                      </button>\n                                  </div>\n                              </div>\n  \n                              <div class=\"settings-subsection\">\n                                  <h4>Subscriptions</h4>\n                                  <label class=\"checkbox\">\n                                      <input type=\"checkbox\" checked={{this.communityNewsletter}} {{on \"change\"\n                                          this.toggleCommunityNewsletter}} />\n                                      <span>AMD Gaming Newsletter</span>\n                                  </label>\n                              </div>\n  \n                              <div class=\"settings-subsection\">\n                                  <h4>Connected Accounts</h4>\n  \n                                  <div {{did-insert this.refreshLinkedOnShow}}></div>\n  \n                                  <ul class=\"social-auth__list connected-grid\">\n                                      {{#each this.providerList as |prov|}}\n                                      <li class=\"{{if (this.isLinked prov.name) \" is-linked\" \"is-unlinked\" }}\">\n                                          <a class=\"icon-token\" title={{if (this.isLinked prov.name) (concat\n                                              prov.name \" linked\" ) (concat \"Link \" prov.name)}} aria-label={{if\n                                              (this.isLinked prov.name) (concat prov.name \" linked\" ) (concat \"Link \"\n                                              prov.name)}} role=\"button\" {{on \"click\" (fn this.startOidc prov.name)}}>\n                                              {{d-icon prov.icon}}\n                                          </a>\n  \n                                          {{#if (this.isLinked prov.name)}}\n                                          <button type=\"button\" class=\"unlink-btn\" disabled={{not (this.canUnlink\n                                              prov.name)}} title={{if (this.canUnlink prov.name) (concat \"Unlink \"\n                                              prov.name) (concat prov.name \" cannot be unlinked\" )}} {{on \"click\" (fn\n                                              this.unlinkOidc prov.name)}}>\n                                              Unlink\n                                          </button>\n                                          {{/if}}\n                                      </li>\n                                      {{/each}}\n                                  </ul>\n  \n                                  <p class=\"conn-tip\">The more accounts you connect, the more rewards you get!</p>\n                              </div>\n  \n                              <div class=\"settings-subsection\" {{did-insert this.loadMfaStatus}}>\n                                  <h4>Two-Factor Authentication (Authenticator App)</h4>\n  \n                                  {{#if this.mfaEnabled}}\n                                  <p>Authenticator app is currently <strong>enabled</strong>.</p>\n                                  <button type=\"button\" class=\"action-link\" disabled={{this.mfaLoading}} {{on \"click\"\n                                      this.disableMfa}}>\n                                      {{if this.mfaLoading \"Disabling...\" \"Disable Authenticator App\"}}\n                                  </button>\n                                  {{else}}\n                                  <p>Protect your account by using a time-based one-time password app.</p>\n  \n                                  <button type=\"button\" class=\"action-link\" disabled={{this.mfaLoading}} {{on \"click\"\n                                      this.beginMfaSetup}}>\n                                      {{if this.mfaLoading \"Starting...\" \"Set up Authenticator App\"}}\n                                  </button>\n  \n                                  {{#if (eq this.mfaSetupStage \"verify\")}}\n                                  <div class=\"mfa-setup-grid\">\n                                      <div class=\"mfa-qr-block\">\n                                          <div class=\"label\">Scan this QR Code</div>\n                                          <div class=\"mfa-qr-target\" {{qr-code this.mfaOtpUri width=160 height=160}}>\n                                          </div>\n                                      </div>\n  \n                                      <div class=\"mfa-secret-block\">\n                                          <div class=\"label\">Or enter this key manually</div>\n                                          <div class=\"value\">\n                                              <code>{{this.mfaSecret}}</code>\n                                          </div>\n                                      </div>\n                                  </div>\n  \n                                  <div class=\"settings-row mfa-code-row\">\n                                      <div class=\"label\">Verification Code</div>\n                                      <div class=\"value\">\n                                          <Input @id=\"mfa-code\" autocomplete=\"off\" @value={{this.mfaCode}}\n                                              placeholder=\"6-DIGIT CODE\" />\n                                      </div>\n                                      <button class=\"action-link\" disabled={{this.mfaLoading}} {{on \"click\"\n                                          this.confirmMfaSetup}}>\n                                          {{if this.mfaLoading \"Verifying...\" \"Verify & Enable\"}}\n                                      </button>\n                                  </div>\n                                  {{/if}}\n                                  {{/if}}\n                              </div>\n                          </div>\n                      </section>\n                  </div>\n              </div>\n          </section>\n  \n          <div class=\"account-img-slot\">\n              <CpAd @ad={{this.ad}} />\n          </div>\n      </main>\n  \n  </div>\n  */\n  {\n    \"id\": \"0x4WpT/a\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"main\\\"],[14,0,\\\"cp-account-container\\\"],[12],[1,\\\"\\\\n        \\\"],[3,\\\" hero \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"account-hero\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"h1\\\"],[14,0,\\\"account-username\\\"],[12],[1,[30,0,[\\\"user\\\",\\\"username\\\"]]],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"account-avatar-wrap\\\"],[12],[1,\\\"\\\\n                \\\"],[1,[28,[35,4],[[30,0,[\\\"user\\\"]]],[[\\\"imageSize\\\",\\\"class\\\"],[152,\\\"account-avatar\\\"]]]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"account-joined-line\\\"],[12],[1,\\\"\\\\n                \\\"],[10,1],[14,0,\\\"line\\\"],[12],[13],[1,\\\"\\\\n                \\\"],[10,1],[14,0,\\\"joined-text\\\"],[12],[1,\\\"Joined \\\"],[1,[30,0,[\\\"user\\\",\\\"joined_at_formatted\\\"]]],[13],[1,\\\"\\\\n                \\\"],[10,1],[14,0,\\\"line\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" body \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"account-layout\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"aside\\\"],[14,0,\\\"account-nav\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"nav\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,\\\"li\\\"],[14,0,\\\"active\\\"],[12],[1,\\\"\\\\n                            Account Settings\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                            \\\"],[8,[39,10],null,[[\\\"@route\\\"],[\\\"cp-edit-profile\\\"]],[[\\\"default\\\"],[[[[1,\\\"Edit Profile\\\"]],[]]]]],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n\\\"],[1,\\\"                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[10,0],[14,0,\\\"account-panel-container\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"full-account-panel\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"header\\\"],[14,0,\\\"account-panel__head\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,\\\"h3\\\"],[12],[1,\\\"ACCOUNT SETTINGS\\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"section\\\"],[14,0,\\\"account-panel\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"account-panel-inner\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"settings-list\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"settings-row\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"label\\\"],[12],[1,\\\"Full Name\\\"],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"value\\\"],[12],[8,[39,13],[[24,\\\"autocomplete\\\",\\\"off\\\"]],[[\\\"@id\\\",\\\"@value\\\"],[\\\"name\\\",[30,0,[\\\"name\\\"]]]],null],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                    \\\"],[11,\\\"button\\\"],[24,0,\\\"action-link\\\"],[16,\\\"disabled\\\",[28,[37,15],[[28,[37,16],[[30,0,[\\\"nameChanged\\\"]]],null],[30,0,[\\\"savingName\\\"]]],null]],[4,[38,17],[\\\"click\\\",[30,0,[\\\"editName\\\"]]],null],[12],[1,[52,[30,0,[\\\"savingName\\\"]],\\\"Saving...\\\",\\\"Update\\\"]],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,0],[14,0,\\\"settings-row\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"emailNotVerified\\\"]],[[[1,\\\"                                    \\\"],[10,0],[14,0,\\\"label\\\"],[12],[1,\\\"Email Verification Code\\\"],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"value\\\"],[12],[8,[39,13],[[24,\\\"placeholder\\\",\\\"VERIFICATION CODE\\\"],[24,\\\"autocomplete\\\",\\\"off\\\"]],[[\\\"@id\\\",\\\"@value\\\"],[\\\"verification-code\\\",[30,0,[\\\"verificationCode\\\"]]]],null],[13],[1,\\\"\\\\n                                    \\\"],[11,\\\"button\\\"],[24,0,\\\"action-link\\\"],[16,\\\"disabled\\\",[28,[37,15],[[28,[37,16],[[30,0,[\\\"verificationCodeChanged\\\"]]],null],[30,0,[\\\"savingEmail\\\"]]],null]],[4,[38,17],[\\\"click\\\",[30,0,[\\\"verifyEmail\\\"]]],null],[12],[1,[52,[30,0,[\\\"savingEmail\\\"]],\\\"Saving...\\\",\\\"Verify Email\\\"]],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                    \\\"],[10,0],[14,0,\\\"label\\\"],[12],[1,\\\"Email Address\\\"],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"value\\\"],[12],[8,[39,13],[[24,\\\"autocomplete\\\",\\\"off\\\"]],[[\\\"@id\\\",\\\"@value\\\"],[\\\"email\\\",[30,0,[\\\"email\\\"]]]],null],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                    \\\"],[11,\\\"button\\\"],[24,0,\\\"action-link\\\"],[16,\\\"disabled\\\",[28,[37,15],[[28,[37,16],[[30,0,[\\\"emailChanged\\\"]]],null],[30,0,[\\\"savingEmail\\\"]]],null]],[4,[38,17],[\\\"click\\\",[30,0,[\\\"editEmail\\\"]]],null],[12],[1,[52,[30,0,[\\\"savingEmail\\\"]],\\\"Saving...\\\",\\\"Update\\\"]],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"                                \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,0],[14,0,\\\"settings-row\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"label\\\"],[12],[1,\\\"Password\\\"],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"value\\\"],[12],[1,\\\"\\\\n                                        \\\"],[8,[39,13],[[24,\\\"autocomplete\\\",\\\"off\\\"],[24,\\\"placeholder\\\",\\\"CURRENT PASSWORD\\\"]],[[\\\"@id\\\",\\\"@type\\\",\\\"@value\\\"],[\\\"current-password\\\",\\\"password\\\",[30,0,[\\\"currentPassword\\\"]]]],null],[1,\\\"\\\\n                                        \\\"],[8,[39,13],[[24,\\\"autocomplete\\\",\\\"off\\\"],[24,\\\"placeholder\\\",\\\"NEW PASSWORD\\\"]],[[\\\"@id\\\",\\\"@type\\\",\\\"@value\\\"],[\\\"new-password\\\",\\\"password\\\",[30,0,[\\\"newPassword\\\"]]]],null],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                    \\\"],[11,\\\"button\\\"],[24,0,\\\"action-link\\\"],[16,\\\"disabled\\\",[28,[37,15],[[28,[37,16],[[30,0,[\\\"passwordChanged\\\"]]],null],[30,0,[\\\"savingPassword\\\"]]],null]],[4,[38,17],[\\\"click\\\",[30,0,[\\\"editPassword\\\"]]],null],[12],[1,[52,[30,0,[\\\"savingPassword\\\"]],\\\"Saving...\\\",\\\"Update\\\"]],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,0],[14,0,\\\"settings-row\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"label\\\"],[12],[1,\\\"Display Name (Gamertag)\\\"],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"value\\\"],[12],[8,[39,13],[[24,\\\"autocomplete\\\",\\\"off\\\"]],[[\\\"@id\\\",\\\"@value\\\"],[\\\"username\\\",[30,0,[\\\"username\\\"]]]],null],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                    \\\"],[11,\\\"button\\\"],[24,0,\\\"action-link\\\"],[16,\\\"disabled\\\",[28,[37,15],[[28,[37,16],[[30,0,[\\\"usernameChanged\\\"]]],null],[30,0,[\\\"savingUsername\\\"]]],null]],[4,[38,17],[\\\"click\\\",[30,0,[\\\"editGamertag\\\"]]],null],[12],[1,[52,[30,0,[\\\"savingUsername\\\"]],\\\"Saving...\\\",\\\"Update\\\"]],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,0],[14,0,\\\"settings-row\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"label\\\"],[12],[1,\\\"Timezone\\\"],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"value\\\"],[12],[1,\\\"\\\\n                                        \\\"],[8,[39,19],[[24,0,\\\"account-timezone\\\"]],[[\\\"@value\\\",\\\"@onChange\\\"],[[30,0,[\\\"timezone\\\"]],[30,0,[\\\"saveTimezone\\\"]]]],null],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                    \\\"],[11,\\\"button\\\"],[24,0,\\\"action-link\\\"],[16,\\\"disabled\\\",[30,0,[\\\"savingTimezone\\\"]]],[4,[38,17],[\\\"click\\\",[30,0,[\\\"useCurrentTz\\\"]]],null],[12],[1,\\\"\\\\n                                        Use Current Timezone\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\\n                            \\\"],[10,0],[14,0,\\\"settings-subsection\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"h4\\\"],[12],[1,\\\"Subscriptions\\\"],[13],[1,\\\"\\\\n                                \\\"],[10,\\\"label\\\"],[14,0,\\\"checkbox\\\"],[12],[1,\\\"\\\\n                                    \\\"],[11,\\\"input\\\"],[16,\\\"checked\\\",[30,0,[\\\"communityNewsletter\\\"]]],[24,4,\\\"checkbox\\\"],[4,[38,17],[\\\"change\\\",[30,0,[\\\"toggleCommunityNewsletter\\\"]]],null],[12],[13],[1,\\\"\\\\n                                    \\\"],[10,1],[12],[1,\\\"AMD Gaming Newsletter\\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\\n                            \\\"],[10,0],[14,0,\\\"settings-subsection\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"h4\\\"],[12],[1,\\\"Connected Accounts\\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[11,0],[4,[38,22],[[30,0,[\\\"refreshLinkedOnShow\\\"]]],null],[12],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,\\\"ul\\\"],[14,0,\\\"social-auth__list connected-grid\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,24],[[28,[37,24],[[30,0,[\\\"providerList\\\"]]],null]],null],null,[[[1,\\\"                                    \\\"],[10,\\\"li\\\"],[15,0,[29,[[52,[28,[30,0,[\\\"isLinked\\\"]],[[30,1,[\\\"name\\\"]]],null],\\\" is-linked\\\",\\\"is-unlinked\\\"]]]],[12],[1,\\\"\\\\n                                        \\\"],[11,3],[24,0,\\\"icon-token\\\"],[16,\\\"title\\\",[52,[28,[30,0,[\\\"isLinked\\\"]],[[30,1,[\\\"name\\\"]]],null],[28,[37,26],[[30,1,[\\\"name\\\"]],\\\" linked\\\"],null],[28,[37,26],[\\\"Link \\\",[30,1,[\\\"name\\\"]]],null]]],[16,\\\"aria-label\\\",[52,[28,[30,0,[\\\"isLinked\\\"]],[[30,1,[\\\"name\\\"]]],null],[28,[37,26],[[30,1,[\\\"name\\\"]],\\\" linked\\\"],null],[28,[37,26],[\\\"Link \\\",[30,1,[\\\"name\\\"]]],null]]],[24,\\\"role\\\",\\\"button\\\"],[4,[38,17],[\\\"click\\\",[28,[37,27],[[30,0,[\\\"startOidc\\\"]],[30,1,[\\\"name\\\"]]],null]],null],[12],[1,\\\"\\\\n                                            \\\"],[1,[28,[35,28],[[30,1,[\\\"icon\\\"]]],null]],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[28,[30,0,[\\\"isLinked\\\"]],[[30,1,[\\\"name\\\"]]],null],[[[1,\\\"                                        \\\"],[11,\\\"button\\\"],[24,0,\\\"unlink-btn\\\"],[16,\\\"disabled\\\",[28,[37,16],[[28,[30,0,[\\\"canUnlink\\\"]],[[30,1,[\\\"name\\\"]]],null]],null]],[16,\\\"title\\\",[52,[28,[30,0,[\\\"canUnlink\\\"]],[[30,1,[\\\"name\\\"]]],null],[28,[37,26],[\\\"Unlink \\\",[30,1,[\\\"name\\\"]]],null],[28,[37,26],[[30,1,[\\\"name\\\"]],\\\" cannot be unlinked\\\"],null]]],[24,4,\\\"button\\\"],[4,[38,17],[\\\"click\\\",[28,[37,27],[[30,0,[\\\"unlinkOidc\\\"]],[30,1,[\\\"name\\\"]]],null]],null],[12],[1,\\\"\\\\n                                            Unlink\\\\n                                        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                                    \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"                                \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,2],[14,0,\\\"conn-tip\\\"],[12],[1,\\\"The more accounts you connect, the more rewards you get!\\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\\n                            \\\"],[11,0],[24,0,\\\"settings-subsection\\\"],[4,[38,22],[[30,0,[\\\"loadMfaStatus\\\"]]],null],[12],[1,\\\"\\\\n                                \\\"],[10,\\\"h4\\\"],[12],[1,\\\"Two-Factor Authentication (Authenticator App)\\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"mfaEnabled\\\"]],[[[1,\\\"                                \\\"],[10,2],[12],[1,\\\"Authenticator app is currently \\\"],[10,\\\"strong\\\"],[12],[1,\\\"enabled\\\"],[13],[1,\\\".\\\"],[13],[1,\\\"\\\\n                                \\\"],[11,\\\"button\\\"],[24,0,\\\"action-link\\\"],[16,\\\"disabled\\\",[30,0,[\\\"mfaLoading\\\"]]],[24,4,\\\"button\\\"],[4,[38,17],[\\\"click\\\",[30,0,[\\\"disableMfa\\\"]]],null],[12],[1,\\\"\\\\n                                    \\\"],[1,[52,[30,0,[\\\"mfaLoading\\\"]],\\\"Disabling...\\\",\\\"Disable Authenticator App\\\"]],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                \\\"],[10,2],[12],[1,\\\"Protect your account by using a time-based one-time password app.\\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[11,\\\"button\\\"],[24,0,\\\"action-link\\\"],[16,\\\"disabled\\\",[30,0,[\\\"mfaLoading\\\"]]],[24,4,\\\"button\\\"],[4,[38,17],[\\\"click\\\",[30,0,[\\\"beginMfaSetup\\\"]]],null],[12],[1,\\\"\\\\n                                    \\\"],[1,[52,[30,0,[\\\"mfaLoading\\\"]],\\\"Starting...\\\",\\\"Set up Authenticator App\\\"]],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[28,[37,31],[[30,0,[\\\"mfaSetupStage\\\"]],\\\"verify\\\"],null],[[[1,\\\"                                \\\"],[10,0],[14,0,\\\"mfa-setup-grid\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"mfa-qr-block\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"label\\\"],[12],[1,\\\"Scan this QR Code\\\"],[13],[1,\\\"\\\\n                                        \\\"],[11,0],[24,0,\\\"mfa-qr-target\\\"],[4,[38,32],[[30,0,[\\\"mfaOtpUri\\\"]]],[[\\\"width\\\",\\\"height\\\"],[160,160]]],[12],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\\n                                    \\\"],[10,0],[14,0,\\\"mfa-secret-block\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"label\\\"],[12],[1,\\\"Or enter this key manually\\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"value\\\"],[12],[1,\\\"\\\\n                                            \\\"],[10,\\\"code\\\"],[12],[1,[30,0,[\\\"mfaSecret\\\"]]],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\\n                                \\\"],[10,0],[14,0,\\\"settings-row mfa-code-row\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"label\\\"],[12],[1,\\\"Verification Code\\\"],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"value\\\"],[12],[1,\\\"\\\\n                                        \\\"],[8,[39,13],[[24,\\\"autocomplete\\\",\\\"off\\\"],[24,\\\"placeholder\\\",\\\"6-DIGIT CODE\\\"]],[[\\\"@id\\\",\\\"@value\\\"],[\\\"mfa-code\\\",[30,0,[\\\"mfaCode\\\"]]]],null],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                    \\\"],[11,\\\"button\\\"],[24,0,\\\"action-link\\\"],[16,\\\"disabled\\\",[30,0,[\\\"mfaLoading\\\"]]],[4,[38,17],[\\\"click\\\",[30,0,[\\\"confirmMfaSetup\\\"]]],null],[12],[1,\\\"\\\\n                                        \\\"],[1,[52,[30,0,[\\\"mfaLoading\\\"]],\\\"Verifying...\\\",\\\"Verify & Enable\\\"]],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]]],[1,\\\"                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"account-img-slot\\\"],[12],[1,\\\"\\\\n            \\\"],[8,[39,34],null,[[\\\"@ad\\\"],[[30,0,[\\\"ad\\\"]]]],null],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[13]],[\\\"prov\\\"],false,[\\\"div\\\",\\\"main\\\",\\\"section\\\",\\\"h1\\\",\\\"avatar\\\",\\\"span\\\",\\\"aside\\\",\\\"nav\\\",\\\"ul\\\",\\\"li\\\",\\\"link-to\\\",\\\"header\\\",\\\"h3\\\",\\\"input\\\",\\\"button\\\",\\\"or\\\",\\\"not\\\",\\\"on\\\",\\\"if\\\",\\\"timezone-input\\\",\\\"h4\\\",\\\"label\\\",\\\"did-insert\\\",\\\"each\\\",\\\"-track-array\\\",\\\"a\\\",\\\"concat\\\",\\\"fn\\\",\\\"d-icon\\\",\\\"p\\\",\\\"strong\\\",\\\"eq\\\",\\\"qr-code\\\",\\\"code\\\",\\\"cp-ad\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-account-settings.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-edit-profile\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container\">\n    <main class=\"cp-account-container\">\n      <!-- hero -->\n      <section class=\"account-hero\">\n        <h1 class=\"account-username\">{{this.user.username}}</h1>\n  \n        <div class=\"account-avatar-wrap\">\n          {{avatar this.user imageSize=152 class=\"account-avatar\"}}\n        </div>\n  \n        <div class=\"account-joined-line\">\n          <span class=\"line\"></span>\n          <span class=\"joined-text\">Joined {{this.user.joined_at_formatted}}</span>\n          <span class=\"line\"></span>\n        </div>\n      </section>\n  \n      <!-- body -->\n      <section class=\"account-layout\">\n        <aside class=\"account-nav\">\n          <nav>\n            <ul>\n              <li>\n                <LinkTo @route=\"cp-account-settings\">Account Settings</LinkTo>\n              </li>\n              <li class=\"active\">\n                Edit Profile\n              </li>\n              {{!-- <li>\n                <LinkTo @route=\"my-loot\">My Loot</LinkTo>\n              </li> --}}\n            </ul>\n          </nav>\n        </aside>\n  \n        <div class=\"edit-profile-panel-container\">\n          <div class=\"full-edit-profile-panel\">\n            <header class=\"edit-profile-panel__head\">\n              <h3>EDIT PROFILE</h3>\n            </header>\n            <section class=\"edit-profile-panel\">\n              <div class=\"edit-profile-panel-inner about-and-avatar\">\n                <div class=\"edit-profile-col about-me\">\n                  <div class=\"edit-profile-col__head\">\n                    About Me\n                  </div>\n                  <div class=\"edit-profile-col__content\">\n                    <Textarea @value={{this.aboutMe}} @rows={{8}} class=\"cp-textarea\"\n                      placeholder=\"Tell us about yourself…\" />\n  \n                    <center>\n                      <button class=\"action-link\" disabled={{or (not this.aboutMeChanged) this.savingAboutMe}} {{on \"click\"\n                        this.editAboutMe}}>{{if this.savingAboutMe \"Saving...\" \"Update\"}}</button>\n                    </center>\n                  </div>\n                </div>\n                <div class=\"edit-profile-col avatar-selector\">\n                  <div class=\"edit-profile-col__head\">\n                    Avatar\n                  </div>\n                  <div class=\"edit-profile-col__content\">\n                    <CpAvatarPicker />\n                  </div>\n                </div>\n              </div>\n            </section>\n          </div>\n  \n  \n          <div class=\"full-edit-profile-panel\">\n            <header class=\"edit-profile-panel__head\">\n              <h3>TOP 5 GAMES</h3>\n            </header>\n            <section class=\"edit-profile-panel edit-profile-col__head cp-top-games\">\n              <div class=\"edit-profile-panel-inner\">\n                <form {{on \"submit\" this.saveGames}} class=\"ig-form cp-top-games\">\n                  <p class=\"muted\">Select your current favorite games!</p>\n  \n                  {{#each this.slots key=\"position\" as |slot idx|}}\n                  <div class=\"game-row\">\n                    <div class=\"game-index\">{{inc idx}}</div>\n  \n                    <div class=\"game-picker\">\n                      <label class=\"picker-label\">Game</label>\n                      <select {{select2 options=(hash placeholder=\"Search games…\" allowClear=true width=\"100%\" tags=true)\n                        onChange=(fn this.onSelectGame slot) }}>\n                        <option value=\"\"></option>\n                        {{#each this.gameOptions as |opt|}}\n                        <option value={{opt.id}} selected={{eq opt.id slot.game}}>{{opt.text}}</option>\n                        {{/each}}\n                      </select>\n                    </div>\n  \n                    <div class=\"game-color\">\n                      <label>Add Color:</label>\n                      <Input class=\"color-swatch\" @value={{slot.color}} @type=\"color\" {{on \"input\" (fn this.updateColor\n                        slot)}} />\n                        <Input class=\"color-swatch\" @value={{slot.color2}} @type=\"color\" {{on \"input\" (fn this.updateColor2\n                        slot)}} />\n                    </div>\n                  </div>\n  \n                  <div class=\"row-divider\"></div>\n                  {{/each}}\n  \n                  <div class=\"ig-actions\">\n                    <button class=\"action-link\" type=\"submit\" disabled={{this.savingGames}}>\n                      {{if this.savingGames \"Saving...\" \"Save Games\"}}\n                    </button>\n                  </div>\n                </form>\n              </div>\n            </section>\n          </div>\n  \n          <div class=\"double-col-profile-panel\">\n            <div class=\"half-edit-profile-panel\">\n              <header class=\"edit-profile-panel__head\">\n                <h3>PHOTO ALBUM</h3>\n              </header>\n  \n              <section class=\"edit-profile-panel cp-album-panel\" {{on \"dragover\" this.preventAndIndicate}}\n                {{on \"dragleave\" this.clearDragIndication}} {{on \"drop\" this.handleDrop}}>\n                <div class=\"edit-profile-panel-inner\">\n                  <div>\n                    <span class=\"cp-album-sub\">Upload photos, images, screenshots, etc., to share on your profile!</span>\n                  </div>\n  \n                  <div class={{concat \"cp-upload-box \" (if this.dragging \"is-dragging\" )}}>\n                    <div class=\"cp-upload-icon\">{{d-icon \"upload\"}}</div>\n                    <div class=\"cp-upload-text\">Drag & drop image files to upload</div>\n  \n                    <label class=\"cp-file-choose btn-outline\">\n                      <input class=\"cp-file-input\" type=\"file\" accept=\"image/*\" multiple {{on \"change\"\n                        this.handleFileInput}} />\n                      CHOOSE FILE\n                    </label>\n  \n                    {{#if this.uploading}}\n                    <div class=\"cp-uploading\">Uploading… {{this.uploadCountDone}} / {{this.uploadCountTotal}}</div>\n                    {{/if}}\n  \n                    {{#if this.userImagesLimitReached}}\n                    <div class=\"cp-limit-hint\">You’ve reached the limit (20 images)</div>\n                    {{/if}}\n                  </div>\n  \n                  <div class=\"cp-album-grid\">\n                    {{#each this.userImages key=\"id\" as |photo|}}\n                    <figure class=\"cp-album-item\">\n                      <img alt=\"User photo\" src={{photo.url}} loading=\"lazy\" />\n                      {{#if this.canEditAlbum}}\n                      <button class=\"cp-album-delete\" title=\"Remove\" {{on \"click\" (fn this.deleteImage\n                        photo.id)}}>✕</button>\n                      {{/if}}\n                    </figure>\n                    {{/each}}\n  \n                    {{#if this.isAlbumEmpty}}\n                    <div class=\"cp-album-empty\">No images yet. Add your first!</div>\n                    {{/if}}\n                  </div>\n                </div>\n              </section>\n            </div>\n  \n            <div class=\"half-edit-profile-panel\">\n              <header class=\"edit-profile-panel__head\">\n                <h3>CONNECTED ACCOUNTS</h3>\n              </header>\n              <section class=\"edit-profile-panel cp-top-games\">\n                <div class=\"edit-profile-panel-inner connected-accounts\">\n                  <div>\n                    <span class=\"cp-album-sub\">Click to toggle which connected accounts are displayed on your\n                      profile.</span>\n                  </div>\n                  <ul class=\"profile-linked-icons\">\n                    {{#each this.providerList as |p|}}\n                    <li>\n                      <div class=\"linked-provider-item\">\n  \n                        <a class=\"icon-token {{this.getProviderClass p}}\" \n                          title={{concat \"Toggle display of \"p.name \" on profile.\" }} aria-label={{concat \"Toggle display of \" p.name \" on profile.\" }}\n                          role=\"button\" {{on \"click\" (fn this.toggleShowProfile p.name)}}>\n                          {{d-icon p.icon}}\n                        </a>\n  \n                      </div>\n                    </li>\n                    {{/each}}\n                  </ul>\n                  <div class=\"{{unless this.hasVisibleProviders \"hidden\"}}\">\n                    <span class=\"linked-accounts-prev-heading\">Profile Preview</span>\n                    <ul class=\"profile-linked-icons\">\n                      {{#each this.providerList as |p|}}\n                      {{#if (this.isShownOnProfile p.name)}}\n                      <li>\n                        <div class=\"linked-provider-item\">\n                          <a class=\"icon-token\" title={{p.name}} aria-label={{p.name}} role=\"button\">\n                            {{d-icon p.icon}}\n                          </a>\n                        </div>\n                      </li>\n                      {{/if}}\n                      {{/each}}\n                    </ul>\n                  </div>\n                </div>\n              </section>\n            </div>\n          </div>\n        </div>\n      </section>\n  \n      <div class=\"edit-profile-img-slot\">\n        <CpAd @ad={{this.ad}} />\n      </div>\n  \n    </main>\n  \n    <CpModal @isOpen={{this.isConfirmOpen}} @title={{this.confirmTitle}} @description={{this.confirmDesc}}\n      @okLabel={{this.confirmOkLabel}} @cancelLabel={{this.confirmCancelLabel}} @onOk={{this.confirmOk}}\n      @onCancel={{this.confirmCancel}} />\n  \n  </div>\n  */\n  {\n    \"id\": \"rRvrpHNQ\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container\\\"],[12],[1,\\\"\\\\n  \\\"],[10,\\\"main\\\"],[14,0,\\\"cp-account-container\\\"],[12],[1,\\\"\\\\n    \\\"],[3,\\\" hero \\\"],[1,\\\"\\\\n    \\\"],[10,\\\"section\\\"],[14,0,\\\"account-hero\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"h1\\\"],[14,0,\\\"account-username\\\"],[12],[1,[30,0,[\\\"user\\\",\\\"username\\\"]]],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"account-avatar-wrap\\\"],[12],[1,\\\"\\\\n        \\\"],[1,[28,[35,4],[[30,0,[\\\"user\\\"]]],[[\\\"imageSize\\\",\\\"class\\\"],[152,\\\"account-avatar\\\"]]]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"account-joined-line\\\"],[12],[1,\\\"\\\\n        \\\"],[10,1],[14,0,\\\"line\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[10,1],[14,0,\\\"joined-text\\\"],[12],[1,\\\"Joined \\\"],[1,[30,0,[\\\"user\\\",\\\"joined_at_formatted\\\"]]],[13],[1,\\\"\\\\n        \\\"],[10,1],[14,0,\\\"line\\\"],[12],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" body \\\"],[1,\\\"\\\\n    \\\"],[10,\\\"section\\\"],[14,0,\\\"account-layout\\\"],[12],[1,\\\"\\\\n      \\\"],[10,\\\"aside\\\"],[14,0,\\\"account-nav\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"nav\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n              \\\"],[8,[39,10],null,[[\\\"@route\\\"],[\\\"cp-account-settings\\\"]],[[\\\"default\\\"],[[[[1,\\\"Account Settings\\\"]],[]]]]],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"li\\\"],[14,0,\\\"active\\\"],[12],[1,\\\"\\\\n              Edit Profile\\\\n            \\\"],[13],[1,\\\"\\\\n\\\"],[1,\\\"          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"edit-profile-panel-container\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"full-edit-profile-panel\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"header\\\"],[14,0,\\\"edit-profile-panel__head\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"h3\\\"],[12],[1,\\\"EDIT PROFILE\\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"section\\\"],[14,0,\\\"edit-profile-panel\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"edit-profile-panel-inner about-and-avatar\\\"],[12],[1,\\\"\\\\n              \\\"],[10,0],[14,0,\\\"edit-profile-col about-me\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"edit-profile-col__head\\\"],[12],[1,\\\"\\\\n                  About Me\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"edit-profile-col__content\\\"],[12],[1,\\\"\\\\n                  \\\"],[8,[39,13],[[24,0,\\\"cp-textarea\\\"],[24,\\\"placeholder\\\",\\\"Tell us about yourself…\\\"]],[[\\\"@value\\\",\\\"@rows\\\"],[[30,0,[\\\"aboutMe\\\"]],8]],null],[1,\\\"\\\\n                  \\\"],[10,\\\"center\\\"],[12],[1,\\\"\\\\n                    \\\"],[11,\\\"button\\\"],[24,0,\\\"action-link\\\"],[16,\\\"disabled\\\",[28,[37,16],[[28,[37,17],[[30,0,[\\\"aboutMeChanged\\\"]]],null],[30,0,[\\\"savingAboutMe\\\"]]],null]],[4,[38,18],[\\\"click\\\",[30,0,[\\\"editAboutMe\\\"]]],null],[12],[1,[52,[30,0,[\\\"savingAboutMe\\\"]],\\\"Saving...\\\",\\\"Update\\\"]],[13],[1,\\\"\\\\n                  \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n              \\\"],[10,0],[14,0,\\\"edit-profile-col avatar-selector\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"edit-profile-col__head\\\"],[12],[1,\\\"\\\\n                  Avatar\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"edit-profile-col__content\\\"],[12],[1,\\\"\\\\n                  \\\"],[8,[39,20],null,null,null],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"full-edit-profile-panel\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"header\\\"],[14,0,\\\"edit-profile-panel__head\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"h3\\\"],[12],[1,\\\"TOP 5 GAMES\\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"section\\\"],[14,0,\\\"edit-profile-panel edit-profile-col__head cp-top-games\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"edit-profile-panel-inner\\\"],[12],[1,\\\"\\\\n              \\\"],[11,\\\"form\\\"],[24,0,\\\"ig-form cp-top-games\\\"],[4,[38,18],[\\\"submit\\\",[30,0,[\\\"saveGames\\\"]]],null],[12],[1,\\\"\\\\n                \\\"],[10,2],[14,0,\\\"muted\\\"],[12],[1,\\\"Select your current favorite games!\\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[42,[28,[37,24],[[28,[37,24],[[30,0,[\\\"slots\\\"]]],null]],null],\\\"position\\\",[[[1,\\\"                \\\"],[10,0],[14,0,\\\"game-row\\\"],[12],[1,\\\"\\\\n                  \\\"],[10,0],[14,0,\\\"game-index\\\"],[12],[1,[28,[35,25],[[30,2]],null]],[13],[1,\\\"\\\\n\\\\n                  \\\"],[10,0],[14,0,\\\"game-picker\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[14,0,\\\"picker-label\\\"],[12],[1,\\\"Game\\\"],[13],[1,\\\"\\\\n                    \\\"],[11,\\\"select\\\"],[4,[38,28],null,[[\\\"options\\\",\\\"onChange\\\"],[[28,[37,29],null,[[\\\"placeholder\\\",\\\"allowClear\\\",\\\"width\\\",\\\"tags\\\"],[\\\"Search games…\\\",true,\\\"100%\\\",true]]],[28,[37,30],[[30,0,[\\\"onSelectGame\\\"]],[30,1]],null]]]],[12],[1,\\\"\\\\n                      \\\"],[10,\\\"option\\\"],[14,2,\\\"\\\"],[12],[13],[1,\\\"\\\\n\\\"],[42,[28,[37,24],[[28,[37,24],[[30,0,[\\\"gameOptions\\\"]]],null]],null],null,[[[1,\\\"                      \\\"],[10,\\\"option\\\"],[15,2,[30,3,[\\\"id\\\"]]],[15,\\\"selected\\\",[28,[37,32],[[30,3,[\\\"id\\\"]],[30,1,[\\\"game\\\"]]],null]],[12],[1,[30,3,[\\\"text\\\"]]],[13],[1,\\\"\\\\n\\\"]],[3]],null],[1,\\\"                    \\\"],[13],[1,\\\"\\\\n                  \\\"],[13],[1,\\\"\\\\n\\\\n                  \\\"],[10,0],[14,0,\\\"game-color\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"label\\\"],[12],[1,\\\"Add Color:\\\"],[13],[1,\\\"\\\\n                    \\\"],[8,[39,33],[[24,0,\\\"color-swatch\\\"],[4,[38,18],[\\\"input\\\",[28,[37,30],[[30,0,[\\\"updateColor\\\"]],[30,1]],null]],null]],[[\\\"@value\\\",\\\"@type\\\"],[[30,1,[\\\"color\\\"]],\\\"color\\\"]],null],[1,\\\"\\\\n                      \\\"],[8,[39,33],[[24,0,\\\"color-swatch\\\"],[4,[38,18],[\\\"input\\\",[28,[37,30],[[30,0,[\\\"updateColor2\\\"]],[30,1]],null]],null]],[[\\\"@value\\\",\\\"@type\\\"],[[30,1,[\\\"color2\\\"]],\\\"color\\\"]],null],[1,\\\"\\\\n                  \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,0,\\\"row-divider\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[1,2]],null],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"ig-actions\\\"],[12],[1,\\\"\\\\n                  \\\"],[10,\\\"button\\\"],[14,0,\\\"action-link\\\"],[15,\\\"disabled\\\",[30,0,[\\\"savingGames\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n                    \\\"],[1,[52,[30,0,[\\\"savingGames\\\"]],\\\"Saving...\\\",\\\"Save Games\\\"]],[1,\\\"\\\\n                  \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"double-col-profile-panel\\\"],[12],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"half-edit-profile-panel\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"header\\\"],[14,0,\\\"edit-profile-panel__head\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"h3\\\"],[12],[1,\\\"PHOTO ALBUM\\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[11,\\\"section\\\"],[24,0,\\\"edit-profile-panel cp-album-panel\\\"],[4,[38,18],[\\\"dragover\\\",[30,0,[\\\"preventAndIndicate\\\"]]],null],[4,[38,18],[\\\"dragleave\\\",[30,0,[\\\"clearDragIndication\\\"]]],null],[4,[38,18],[\\\"drop\\\",[30,0,[\\\"handleDrop\\\"]]],null],[12],[1,\\\"\\\\n              \\\"],[10,0],[14,0,\\\"edit-profile-panel-inner\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[12],[1,\\\"\\\\n                  \\\"],[10,1],[14,0,\\\"cp-album-sub\\\"],[12],[1,\\\"Upload photos, images, screenshots, etc., to share on your profile!\\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[15,0,[28,[37,34],[\\\"cp-upload-box \\\",[52,[30,0,[\\\"dragging\\\"]],\\\"is-dragging\\\"]],null]],[12],[1,\\\"\\\\n                  \\\"],[10,0],[14,0,\\\"cp-upload-icon\\\"],[12],[1,[28,[35,35],[\\\"upload\\\"],null]],[13],[1,\\\"\\\\n                  \\\"],[10,0],[14,0,\\\"cp-upload-text\\\"],[12],[1,\\\"Drag & drop image files to upload\\\"],[13],[1,\\\"\\\\n\\\\n                  \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-file-choose btn-outline\\\"],[12],[1,\\\"\\\\n                    \\\"],[11,\\\"input\\\"],[24,0,\\\"cp-file-input\\\"],[24,\\\"accept\\\",\\\"image/*\\\"],[24,\\\"multiple\\\",\\\"\\\"],[24,4,\\\"file\\\"],[4,[38,18],[\\\"change\\\",[30,0,[\\\"handleFileInput\\\"]]],null],[12],[13],[1,\\\"\\\\n                    CHOOSE FILE\\\\n                  \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"uploading\\\"]],[[[1,\\\"                  \\\"],[10,0],[14,0,\\\"cp-uploading\\\"],[12],[1,\\\"Uploading… \\\"],[1,[30,0,[\\\"uploadCountDone\\\"]]],[1,\\\" / \\\"],[1,[30,0,[\\\"uploadCountTotal\\\"]]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"userImagesLimitReached\\\"]],[[[1,\\\"                  \\\"],[10,0],[14,0,\\\"cp-limit-hint\\\"],[12],[1,\\\"You’ve reached the limit (20 images)\\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,0,\\\"cp-album-grid\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,24],[[28,[37,24],[[30,0,[\\\"userImages\\\"]]],null]],null],\\\"id\\\",[[[1,\\\"                  \\\"],[10,\\\"figure\\\"],[14,0,\\\"cp-album-item\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"img\\\"],[14,\\\"alt\\\",\\\"User photo\\\"],[15,\\\"src\\\",[30,4,[\\\"url\\\"]]],[14,\\\"loading\\\",\\\"lazy\\\"],[12],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"canEditAlbum\\\"]],[[[1,\\\"                    \\\"],[11,\\\"button\\\"],[24,0,\\\"cp-album-delete\\\"],[24,\\\"title\\\",\\\"Remove\\\"],[4,[38,18],[\\\"click\\\",[28,[37,30],[[30,0,[\\\"deleteImage\\\"]],[30,4,[\\\"id\\\"]]],null]],null],[12],[1,\\\"✕\\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                  \\\"],[13],[1,\\\"\\\\n\\\"]],[4]],null],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isAlbumEmpty\\\"]],[[[1,\\\"                  \\\"],[10,0],[14,0,\\\"cp-album-empty\\\"],[12],[1,\\\"No images yet. Add your first!\\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                \\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,0],[14,0,\\\"half-edit-profile-panel\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"header\\\"],[14,0,\\\"edit-profile-panel__head\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"h3\\\"],[12],[1,\\\"CONNECTED ACCOUNTS\\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"section\\\"],[14,0,\\\"edit-profile-panel cp-top-games\\\"],[12],[1,\\\"\\\\n              \\\"],[10,0],[14,0,\\\"edit-profile-panel-inner connected-accounts\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[12],[1,\\\"\\\\n                  \\\"],[10,1],[14,0,\\\"cp-album-sub\\\"],[12],[1,\\\"Click to toggle which connected accounts are displayed on your\\\\n                    profile.\\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,\\\"ul\\\"],[14,0,\\\"profile-linked-icons\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,24],[[28,[37,24],[[30,0,[\\\"providerList\\\"]]],null]],null],null,[[[1,\\\"                  \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"linked-provider-item\\\"],[12],[1,\\\"\\\\n\\\\n                      \\\"],[11,3],[16,0,[29,[\\\"icon-token \\\",[28,[30,0,[\\\"getProviderClass\\\"]],[[30,5]],null]]]],[16,\\\"title\\\",[28,[37,34],[\\\"Toggle display of \\\",[30,5,[\\\"name\\\"]],\\\" on profile.\\\"],null]],[16,\\\"aria-label\\\",[28,[37,34],[\\\"Toggle display of \\\",[30,5,[\\\"name\\\"]],\\\" on profile.\\\"],null]],[24,\\\"role\\\",\\\"button\\\"],[4,[38,18],[\\\"click\\\",[28,[37,30],[[30,0,[\\\"toggleShowProfile\\\"]],[30,5,[\\\"name\\\"]]],null]],null],[12],[1,\\\"\\\\n                        \\\"],[1,[28,[35,35],[[30,5,[\\\"icon\\\"]]],null]],[1,\\\"\\\\n                      \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[13],[1,\\\"\\\\n                  \\\"],[13],[1,\\\"\\\\n\\\"]],[5]],null],[1,\\\"                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[15,0,[29,[[52,[51,[30,0,[\\\"hasVisibleProviders\\\"]]],\\\"hidden\\\"]]]],[12],[1,\\\"\\\\n                  \\\"],[10,1],[14,0,\\\"linked-accounts-prev-heading\\\"],[12],[1,\\\"Profile Preview\\\"],[13],[1,\\\"\\\\n                  \\\"],[10,\\\"ul\\\"],[14,0,\\\"profile-linked-icons\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,24],[[28,[37,24],[[30,0,[\\\"providerList\\\"]]],null]],null],null,[[[41,[28,[30,0,[\\\"isShownOnProfile\\\"]],[[30,6,[\\\"name\\\"]]],null],[[[1,\\\"                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                      \\\"],[10,0],[14,0,\\\"linked-provider-item\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,3],[14,0,\\\"icon-token\\\"],[15,\\\"title\\\",[30,6,[\\\"name\\\"]]],[15,\\\"aria-label\\\",[30,6,[\\\"name\\\"]]],[14,\\\"role\\\",\\\"button\\\"],[12],[1,\\\"\\\\n                          \\\"],[1,[28,[35,35],[[30,6,[\\\"icon\\\"]]],null]],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                      \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[6]],null],[1,\\\"                  \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,0],[14,0,\\\"edit-profile-img-slot\\\"],[12],[1,\\\"\\\\n      \\\"],[8,[39,40],null,[[\\\"@ad\\\"],[[30,0,[\\\"ad\\\"]]]],null],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[8,[39,41],null,[[\\\"@isOpen\\\",\\\"@title\\\",\\\"@description\\\",\\\"@okLabel\\\",\\\"@cancelLabel\\\",\\\"@onOk\\\",\\\"@onCancel\\\"],[[30,0,[\\\"isConfirmOpen\\\"]],[30,0,[\\\"confirmTitle\\\"]],[30,0,[\\\"confirmDesc\\\"]],[30,0,[\\\"confirmOkLabel\\\"]],[30,0,[\\\"confirmCancelLabel\\\"]],[30,0,[\\\"confirmOk\\\"]],[30,0,[\\\"confirmCancel\\\"]]]],null],[1,\\\"\\\\n\\\\n\\\"],[13]],[\\\"slot\\\",\\\"idx\\\",\\\"opt\\\",\\\"photo\\\",\\\"p\\\",\\\"p\\\"],false,[\\\"div\\\",\\\"main\\\",\\\"section\\\",\\\"h1\\\",\\\"avatar\\\",\\\"span\\\",\\\"aside\\\",\\\"nav\\\",\\\"ul\\\",\\\"li\\\",\\\"link-to\\\",\\\"header\\\",\\\"h3\\\",\\\"textarea\\\",\\\"center\\\",\\\"button\\\",\\\"or\\\",\\\"not\\\",\\\"on\\\",\\\"if\\\",\\\"cp-avatar-picker\\\",\\\"form\\\",\\\"p\\\",\\\"each\\\",\\\"-track-array\\\",\\\"inc\\\",\\\"label\\\",\\\"select\\\",\\\"select2\\\",\\\"hash\\\",\\\"fn\\\",\\\"option\\\",\\\"eq\\\",\\\"input\\\",\\\"concat\\\",\\\"d-icon\\\",\\\"figure\\\",\\\"img\\\",\\\"a\\\",\\\"unless\\\",\\\"cp-ad\\\",\\\"cp-modal\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-edit-profile.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-forgot-password\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container\">\n      <div class=\"signup-progress\">\n          <div class=\"signup-progress-bar\" style=\"width: {{this.progressPercent}}%;\"></div>\n      </div>\n  \n      <main class=\"cp-main-signup\">\n          <div class=\"signup-form step-{{this.step}}\">\n  \n              <!-- Step 1 -->\n              <div class=\"signup-step\" data-step=\"4\">\n                  <h1><b>RESET</b></h1>\n                  <h1><b>PASSWORD</b></h1>\n                  <div class=\"cp-signup-divider-line\"></div>\n  \n                  <p>Please enter your account email.</p>\n                  <label>Email:</label>\n                  <Input @value={{this.email}} placeholder=\"EMAIL\" />\n  \n                  <button type=\"button\" {{on \"click\" this.handleEmail}} disabled={{this.isSubmitting}}>\n                      {{#if this.isSubmitting}}\n                      <span class=\"spinner\"></span>\n                      {{else}}\n                      Next →\n                      {{/if}}\n                  </button>\n                  <div class=\"sign-up-error\">{{this.resultMessage}}</div>\n              </div>\n  \n              <!-- Step 2 -->\n              <div class=\"signup-step\" data-step=\"5\">\n                  <h1><b>RESET</b></h1>\n                  <h1><b>PASSWORD</b></h1>\n                  <div class=\"cp-signup-divider-line\"></div>\n                  <p>Please enter the confirmation code you recieved in your email along with a new password.</p>\n                  \n                  <Input @id=\"confirmation\" placeholder=\"CONFIRMATION CODE\" @value={{this.code}} />\n                  \n                  <Input @id=\"password\" @type=\"password\" placeholder=\"PASSWORD\" @value={{this.password}} />\n                  \n                  <Input @id=\"confirm-password\" @type=\"password\" placeholder=\"CONFIRM PASSWORD\" @value={{this.passwordConfirm}} />\n  \n                  <button type=\"button\" {{on \"click\" (fn this.handleReset)}} disabled={{this.isSubmitting}}>\n                      {{#if this.isSubmitting}}\n                      <span class=\"spinner\"></span>\n                      {{else}}\n                      FINISH\n                      {{/if}}\n                  </button>\n  \n                  <div class=\"sign-up-error\">{{this.resultMessage}}</div>\n              </div>\n          </div>\n      </main>\n  </div>\n  */\n  {\n    \"id\": \"HcZ/o4WL\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"signup-progress\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"signup-progress-bar\\\"],[15,5,[29,[\\\"width: \\\",[30,0,[\\\"progressPercent\\\"]],\\\"%;\\\"]]],[12],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,\\\"main\\\"],[14,0,\\\"cp-main-signup\\\"],[12],[1,\\\"\\\\n        \\\"],[10,0],[15,0,[29,[\\\"signup-form step-\\\",[30,0,[\\\"step\\\"]]]]],[12],[1,\\\"\\\\n\\\\n            \\\"],[3,\\\" Step 1 \\\"],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"signup-step\\\"],[14,\\\"data-step\\\",\\\"4\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"RESET\\\"],[13],[13],[1,\\\"\\\\n                \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"PASSWORD\\\"],[13],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"cp-signup-divider-line\\\"],[12],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"Please enter your account email.\\\"],[13],[1,\\\"\\\\n                \\\"],[10,\\\"label\\\"],[12],[1,\\\"Email:\\\"],[13],[1,\\\"\\\\n                \\\"],[8,[39,6],[[24,\\\"placeholder\\\",\\\"EMAIL\\\"]],[[\\\"@value\\\"],[[30,0,[\\\"email\\\"]]]],null],[1,\\\"\\\\n\\\\n                \\\"],[11,\\\"button\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isSubmitting\\\"]]],[24,4,\\\"button\\\"],[4,[38,8],[\\\"click\\\",[30,0,[\\\"handleEmail\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isSubmitting\\\"]],[[[1,\\\"                    \\\"],[10,1],[14,0,\\\"spinner\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                    Next →\\\\n\\\"]],[]]],[1,\\\"                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"sign-up-error\\\"],[12],[1,[30,0,[\\\"resultMessage\\\"]]],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[3,\\\" Step 2 \\\"],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"signup-step\\\"],[14,\\\"data-step\\\",\\\"5\\\"],[12],[1,\\\"\\\\n                \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"RESET\\\"],[13],[13],[1,\\\"\\\\n                \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"PASSWORD\\\"],[13],[13],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"cp-signup-divider-line\\\"],[12],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"Please enter the confirmation code you recieved in your email along with a new password.\\\"],[13],[1,\\\"\\\\n                \\\\n                \\\"],[8,[39,6],[[24,\\\"placeholder\\\",\\\"CONFIRMATION CODE\\\"]],[[\\\"@id\\\",\\\"@value\\\"],[\\\"confirmation\\\",[30,0,[\\\"code\\\"]]]],null],[1,\\\"\\\\n                \\\\n                \\\"],[8,[39,6],[[24,\\\"placeholder\\\",\\\"PASSWORD\\\"]],[[\\\"@id\\\",\\\"@type\\\",\\\"@value\\\"],[\\\"password\\\",\\\"password\\\",[30,0,[\\\"password\\\"]]]],null],[1,\\\"\\\\n                \\\\n                \\\"],[8,[39,6],[[24,\\\"placeholder\\\",\\\"CONFIRM PASSWORD\\\"]],[[\\\"@id\\\",\\\"@type\\\",\\\"@value\\\"],[\\\"confirm-password\\\",\\\"password\\\",[30,0,[\\\"passwordConfirm\\\"]]]],null],[1,\\\"\\\\n\\\\n                \\\"],[11,\\\"button\\\"],[16,\\\"disabled\\\",[30,0,[\\\"isSubmitting\\\"]]],[24,4,\\\"button\\\"],[4,[38,8],[\\\"click\\\",[28,[37,11],[[30,0,[\\\"handleReset\\\"]]],null]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isSubmitting\\\"]],[[[1,\\\"                    \\\"],[10,1],[14,0,\\\"spinner\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                    FINISH\\\\n\\\"]],[]]],[1,\\\"                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,0,\\\"sign-up-error\\\"],[12],[1,[30,0,[\\\"resultMessage\\\"]]],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"main\\\",\\\"h1\\\",\\\"b\\\",\\\"p\\\",\\\"label\\\",\\\"input\\\",\\\"button\\\",\\\"on\\\",\\\"if\\\",\\\"span\\\",\\\"fn\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-forgot-password.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-privacy\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container cp-legal\">\n      <div class=\"full-legal-panel\">\n          <header class=\"legal-panel__head\">\n              <h3>Privacy Policy</h3>\n          </header>\n          <section class=\"legal-panel\">\n              <div class=\"legal-panel-inner\">\n                  <p>\n                      <b>Effective Date October 29, 2025</b>\n                  </p>\n  \n                  <p>\n                      This Privacy Policy describes what information we collect through AMD Gaming, the\n                      website at www.amdgaming.com (the \"Site\"), how we use that information and what your\n                      rights are regarding your personal information, including the choices available to you\n                      regarding our use of your personal information and how you can access and update this\n                      information.\n                  </p>\n  \n                  <p>\n                      iGames, Inc. (\"iGames”, “we”, “our” or “us”) owns and operates the Site, but we collect\n                      and process the personal information from the Site on behalf of Advanced Micro Devices,\n                      Inc. and its subsidiaries (\"AMD\"). AMD is the controller of your personal information and\n                      iGames is a processor (also known as a service provider) for AMD. We will process your\n                      personal information in accordance with the terms of our agreement with AMD and AMD’s\n                      lawful instructions.\n                  </p>\n  \n                  <p>\n                      This Privacy Policy applies only to iGames’ processing of your personal information. AMD\n                      may use your personal information in accordance with its privacy policy located at <a href=\"https://www.amd.com/en/legal/privacy.html\" target=\"_blank\">https://www.amd.com/en/legal/privacy.html</a>.\n                  </p>\n  \n                  <h2>\n                      Personal Information We Collect\n                  </h2>\n  \n                  <p>\n                      We collect the following personal information:\n                  </p>\n  \n                  <ul>\n                      <li>\n                          When you visit the Site: We collect information such as your Internet protocol (IP)\n                          addresses, browser type, Internet service provider (ISP), referring/exit pages, the\n                          files viewed on our site (e.g., HTML pages, graphics, etc.), operating system,\n                          date/time stamp, and/or clickstream data. iGames and its partners use cookies or\n                          similar technologies to analyze trends, administer the Site, track users’ movements\n                          around the Site, and to gather demographic information about our user base as a\n                          whole.\n                      </li>\n  \n                      <li>\n                          When you establish an account: We collect contact information such as name,\n                          email address, address and phone number. We also collect unique identifiers such\n                          as username, account number, password. We also collect demographic\n                          information such as your age and interests.\n                      </li>\n  \n                      <li>\n                          When you submit information: Our Site offers publicly accessible features such as\n                          blogs or community forums. Any information you choose to provide in these areas\n                          may be read, collected, and used by others who access them.\n                      </li>\n  \n                      <li>\n                          When you participate in activities such as contests or sweepstakes: We will collect\n                          certain personal information for us to perform our contractual obligations. When\n                          you register for an activity, your name, username, and sometimes country of\n                          residence will be displayed for other users of the Site to view. We may also ask you\n                          if you want, at your option, to provide additional information which may be\n                          distributed to sponsors and affiliates. In addition, we will collect the entries (which\n                          may also include play brackets, images/videos submitted as part of the entry, etc.)\n                          and results of the event, contest or sweepstakes (final placing, winning entries,\n                          etc.), and incorporate them into the Site for viewing by other users.\n                      </li>\n  \n                      <li>\n                          Co-branded events. We may provide co-branded activities or services jointly with\n                          other companies on the Site. You can tell when another company is involved in a\n                          service provided on the Site by viewing the terms related to that service or rules\n                          related to an activity. If you are participating in a joint service or activity, you may\n                          also have the option to opt into sharing your information with that company, at\n                          which time your information would be used according to that company’s privacy\n                          policy.\n                      </li>\n  \n                      <li>\n                          Single sign-on. You can log into the Site using sign-in services such as Google,\n                          Steam, Microsoft, Twitch or other OpenID provider as listed as an option on the Site.\n                          These services will authenticate your identity and provide you with the option to\n                          share certain personal information with us such as your name and email address to\n                          pre-populate our signup form. These services give you the option to post\n                          information about your activities on the Site to your profile page to share with others\n                          within your network. Some OpenID providers, give you the option to share your\n                          profile and other activity data with your AMD Gaming profile.\n                      </li>\n  \n                      <li>\n                          Social media features. Our Site includes social media features, such as widgets,\n                          the Share button, or interactive programs that run on the Site. These features may\n                          collect your IP address, which page you are visiting on our site, and may set a\n                          cookie to enable the feature to function properly. Social media features and widgets\n                          are either hosted by a third party or hosted directly on the Site. Your interactions\n                          with these features are governed by the privacy policy of the company providing it.\n                      </li>\n  \n                      <li>\n                          Newsletters. When you opt in to receive the AMD Gaming newsletter, you will\n                          receive AMD Gaming marketing communications from iGames and/or AMD.\n                      </li>\n                  </ul>\n  \n                  <h2>\n                      How We Use Your Personal Information\n                  </h2>\n  \n                  <table class=\"legal-table\">\n                      <thead>\n                          <tr>\n                              <th>Purpose</th>\n                              <th>Description</th>\n                              <th>Legal Basis</th>\n                          </tr>\n                      </thead>\n                      <tbody>\n                          <tr>\n                              <td>\n                                  Our Site\n                              </td>\n                              <td>\n                                  We process personal information to operate, analyze, administer, secure, and improve our\n                                  Site\n                              </td>\n                              <td>\n                                  Legitimate interests in providing online content, products and services, and related\n                                  information; improving and enhancing the operation and content of our Site; ensuring the\n                                  safety and security of our Site\n                              </td>\n                          </tr>\n                          <tr>\n                              <td>\n                                  Products and services\n                              </td>\n                              <td>\n                                  We process personal information to provide our products and services\n                              </td>\n                              <td>\n                                  <p>Necessary for the performance of a contract</p>\n                                  <p>Legitimate interests in managing the provision of our products and services</p>\n                              </td>\n                          </tr>\n                          <tr>\n                              <td>\n                                  Profile\n                              </td>\n                              <td>\n                                  The profile you create on the Site will be publicly accessible including username and\n                                  avatar at a minimum.\n                              </td>\n                              <td>\n                                  Consent\n                              </td>\n                          </tr>\n                          <tr>\n                              <td>\n                                  Activities and Promotions\n                              </td>\n                              <td>\n                                  We process personal\n                                  information to administer\n                                  activities and promotions,\n                                  like giveaways and\n                                  sweepstakes, you entered,\n                                  and notify you if you won\n                              </td>\n                              <td>\n                                  <p>Consent</p>\n                                  <p>Legitimate interests in\n                                      providing online content,\n                                      products and services, and\n                                      related information</p>\n                              </td>\n                          </tr>\n                          <tr>\n                              <td>\n                                  Member directory\n                              </td>\n                              <td>\n                                  We process personal information to maintain our member directory made available only to\n                                  other members\n                              </td>\n                              <td>\n                                  Legitimate interests in providing online content, products and services, and related\n                                  information\n                              </td>\n                          </tr>\n                          <tr>\n                              <td>\n                                  Marketing communications\n                              </td>\n                              <td>\n                                  We process personal information in order to create and send marketing communications and\n                                  tailored advertisements about products and services\n                              </td>\n                              <td>\n                                  Legitimate interests in conducting direct marketing or where you have provided your\n                                  prior consent\n                              </td>\n                          </tr>\n                          <tr>\n                              <td>\n                                  Product maintenance and support\n                              </td>\n                              <td>\n                                  We process personal information to provide engineering services, update and optimize our\n                                  products and services, and improve user experiences\n                              </td>\n                              <td>\n                                  <p>Necessary for the performance of a contract</p>\n                                  <p>Legitimate interests in managing the provision of our products and services, and the\n                                      user communities for them</p>\n                              </td>\n                          </tr>\n                          <tr>\n                              <td>\n                                  Usage, research, and compliance\n                              </td>\n                              <td>\n                                  We process personal information to assess and manage usage and compliance with the\n                                  applicable terms of use of our products and services, including minimum age requirements\n                                  for certain events and promotions\n                              </td>\n                              <td>\n                                  <p>Necessary for the performance of a contract</p>\n                                  <p>Legitimate interests in managing the provision of our products and services, and\n                                      information about them</p>\n                                  <p>Legitimate interests in conducting research and development relating to products and\n                                      services</p>\n                              </td>\n                          </tr>\n                          <tr>\n                              <td>\n                                  Security\n                              </td>\n                              <td>\n                                  We process personal information to ensure the security of our products, services, and\n                                  Site, and to detect and investigate suspicious activity, fraud and cybercrime\n                              </td>\n                              <td>\n                                  Legitimate interests in promoting the safety and security of our products, services and\n                                  Site, and to protect our rights and the rights of others\n                              </td>\n                          </tr>\n                      </tbody>\n                  </table>\n  \n                  <h2>How We Disclose Your Personal Information</h2>\n  \n                  <p>We may disclose personal information that we collect, or you provide as described below:</p>\n  \n                  <ul>\n                      <li>\n                          To AMD, who will use your personal information in accordance with its privacy policies (<a href=\"https://www.amd.com/en/legal/privacy.html\" target=\"_blank\">https://www.amd.com/en/legal/privacy.html</a>).\n                      </li>\n  \n                      <li>\n                          To our subsidiaries and affiliates.\n                      </li>\n  \n                      <li>\n                          To contractors and service providers, such as an email service provider, customer\n                          service or event management contractors. These companies are bound by\n                          contractual obligations to keep personal information confidential and use it only for\n                          the purposes for which we disclose it to them or as allowed by law.\n                      </li>\n  \n                      <li>\n                          To an investor, buyer or other successor in the event of a financing, merger,\n                          divestiture, restructuring, reorganization, dissolution, or other sale or transfer of\n                          some or all of the assets of iGames or AMD.\n                      </li>\n  \n                      <li>\n                          To third parties when you are listed in the member directory, and when you choose\n                          to make your personal information available to iGames partners or through blogs\n                          and community forums.\n                      </li>\n  \n                      <li>\n                          If you participate in an event managed and administered by a third-party organizer,\n                          your personal information will be provided to such organizer only to operate the\n                          event and publicly report the results. Third-party sites have separate and\n                          independent privacy policies and iGames is not responsible for the privacy\n                          practices of these third parties.\n                      </li>\n  \n                      <li>\n                          To fulfill the purpose for which you provide it. For example, if you give us an email\n                          address to obtain information about our products and services, or one of our\n                          partners, during a sweepstakes or event, we may use that information to\n                          communicate with you.\n                      </li>\n  \n                      <li>\n                          For any other purpose disclosed by us when you provide the information.\n                      </li>\n                  </ul>\n  \n                  <p>\n                      We may also disclose your personal information:\n                  </p>\n  \n                  <ul>\n                      <li>\n                          To comply with any court order, law, or legal process, including responding to any\n                          government or regulatory request.\n                      </li>\n  \n                      <li>\n                          To enforce or apply our terms of use and other agreements, including for billing and\n                          collection purposes.\n                      </li>\n  \n                      <li>\n                          In aggregated, anonymized, and/or de-identified form that cannot reasonably be\n                          used to identify you.\n                      </li>\n                  </ul>\n  \n                  <p>\n                      We enable you to create a profile, and share information such as messages and photos,\n                      with others. Please note that we cannot control the actions of others with whom you may\n                      choose to share your pages and information.\n                  </p>\n  \n                  <h2>\n                      Opting Out of Marketing Communications\n                  </h2>\n  \n                  <p>\n                      You may unsubscribe to our marketing emails at any time by clicking unsubscribe at the\n                      bottom of the email or by updating your preferences on your AMD Gaming account profile.\n                      You may also choose to stop receiving our newsletter or marketing emails by entering your\n                      email address at {{#if this.isLoggedIn}}<a href=\"/account-settings\" target=\"_blank\">Account Settings</a>{{else}}<a {{on \"click\" this.openLogin}}>Account Settings</a>{{/if}}, or by contacting us at privacy_amdgaming@igamesinc.com.\n                  </p>\n  \n                  <h2>\n                      Our Use of Cookies and Similar Technologies\n                  </h2>\n  \n                  <p>\n                      iGames and its partners use cookies or similar technologies to analyze trends, administer\n                      the Site, track users’ movements around the Site, and to gather demographic information\n                      about our user base as a whole. You can control the use of cookies at the individual\n                      browser level, but if you choose to disable cookies, it may limit your use of certain features\n                      or functions on our Site or service.\n                  </p>\n  \n                  <h2>\n                      Behavioral Targeting / Re-Targeting\n                  </h2>\n  \n                  <p>\n                      We partner with a third party to either display advertising on our Site or to manage our\n                      advertising on other sites. Our third-party partner may use technologies such as cookies\n                      to gather information about your activities on this site and other sites in order to provide\n                      you with advertising based upon your browsing activities and interests. If you wish to not\n                      have this information used for the purpose of serving you internet-based ads, you may opt-\n                      out by disabling cookies in your browser or if you are in the European Union click here:\n                      http://www.youronlinechoices.eu. Please note this does not opt you out of being served\n                      ads. You will continue to receive generic ads.\n                  </p>\n  \n                  <h2>\n                      Regarding Children\n                  </h2>\n  \n                  <p>\n                      We do not knowingly collect or solicit personal information from anyone under the age of\n                      13 (age 16 in the EU) or knowingly allow such persons to register. If you are under 13 (age 16 in the\n                      EU), please do not attempt to register on the Site or send any information about\n                      yourself to us, including your name, address, telephone number, or email address. If we\n                      learn that we have collected personal information from a child under such minimum age,\n                      we will delete that information as quickly as possible. If you believe that we might have any\n                      information from or about a child under 13 (age 16 in the EU), please contact us at\n                      info@igamesinc.com.\n                  </p>\n  \n                  <p>\n                      We recommend that minors over the age of 13 (age 16 in the EU) ask their parents for\n                      permission before sending any information about themselves to anyone over the Internet.\n                  </p>\n  \n                  <h2>\n                      Security\n                  </h2>\n  \n                  <p>\n                      The security of your personal information is important to us. When you enter sensitive\n                      information (such as login credentials), we encrypt the transmission of that information\n                      using secure socket layer technology (SSL). We follow generally accepted industry\n                      standards to protect the personal information submitted to us, both during transmission\n                      and once we receive it. No method of transmission over the Internet, or method of\n                      electronic storage, is 100% secure, however. Therefore, we cannot guarantee its absolute\n                      security.\n                  </p>\n  \n                  <h2>\n                      Retention of Personal Information\n                  </h2>\n  \n                  <p>\n                      We will retain your personal information as needed to fulfill the purposes for which it was\n                      collected. We will retain and use your personal information as necessary to comply with\n                      our business requirements, legal obligations, resolve disputes, protect our assets, and\n                      enforce our rights and agreements.\n                  </p>\n  \n                  <p>\n                      We will not retain personal information in identifiable form when the purpose(s) for which it\n                      was collected has been achieved and there is no legal or business need to retain it.\n                      Thereafter, your personal information will either be destroyed, deleted, anonymized,\n                      and/or removed from our systems.\n                  </p>\n  \n                  <h2>\n                      Public Disclosures\n                  </h2>\n  \n                  <p>\n                      Our Site offers publicly accessible blogs or community forums. You should be aware that\n                      any information you provide in these areas may be read, collected, and used by others who\n                      access these features. To request removal of your personal information from our blog or\n                      community forum, please contact us using the information below.\n                  </p>\n  \n                  <h2>\n                      Links to Other Sites\n                  </h2>\n  \n                  <p>\n                      This Site contains links to other Sites that are not owned or controlled by us. Please be\n                      aware that we are not responsible for the privacy practices of such other Sites. We\n                      encourage you to be aware when you leave our Site and to read the privacy policies of each\n                      and every Site that collects personal information. This Privacy Policy applies only to\n                      information collected by the Site.\n                  </p>\n  \n                  <h2>\n                      Correcting, Updating and Deleting Your Personal Information\n                  </h2>\n  \n                  <p>\n                      Depending on your location, you may have certain rights with respect to your personal\n                      information, which may include some or all the following:\n                  </p>\n  \n                  <ul>\n                      <li>\n                          The right to know what personal information we have collected about you and to\n                          request a copy of that personal information.\n                      </li>\n  \n                      <li>\n                          The right to know more about how we process your personal information.\n                      </li>\n  \n                      <li>\n                          The right to have us correct or update incomplete or inaccurate information.\n                      </li>\n  \n                      <li>\n                          The right to delete or restrict how we use your personal information in accordance\n                          with applicable law. This right may impact your access to our Site and services.\n                      </li>\n  \n                      <li>\n                          The right to restrict or object to our processing of your personal information.\n                      </li>\n  \n                      <li>\n                          The right to transfer your personal information to another data controller.\n                      </li>\n  \n                      <li>\n                          The right to opt out of certain disclosures of your personal information.\n                      </li>\n  \n                      <li>\n                          If you are under the age of 16, or such other applicable age under the law in specific\n                          jurisdictions, the right to opt-in to certain disclosures of your personal information.\n                      </li>\n  \n                      <li>\n                          The right to not be discriminated against for exercising your data subject rights.\n                      </li>\n  \n                      <li>\n                          The right to not be subject to a decision based solely on automated processing,\n                          including profiling, which produces legal effects.\n                      </li>\n  \n                      <li>\n                          The right to withdraw your consent at any time (to the extent we base processing on\n                          consent), without affecting the lawfulness of the processing based on such consent\n                          before its withdrawal.\n                      </li>\n                  </ul>\n  \n                  <p>\n                      To pursue any of the rights above, please contact us using the contact information\n                      provided below.\n                  </p>\n  \n                  <p>\n                      We try to respond to all legitimate and verified requests within one month, unless\n                      otherwise required by law, and will contact you if we need additional information from you\n                      to respond to your request or verify your identity. Occasionally it may take us longer than a\n                      month, depending on the complexity and number of requests we receive.\n                  </p>\n  \n                  <h2>\n                      Notification of Privacy Policy Updates\n                  </h2>\n  \n                  <p>\n                      We may update this Privacy Policy to reflect changes to our information practices. If we\n                      make any material changes, we will notify you by email (sent to the e-mail address\n                      specified in your account) or by means of a notice on this Site prior to the change\n                      becoming effective. We encourage you to periodically review this page for the latest\n                      information on our privacy practices.\n                  </p>\n  \n                  <h2>\n                      How to Contact Us\n                  </h2>\n  \n                  <p>\n                      You can contact us in writing or by email at the address below:\n                  </p>\n  \n                  <div style=\"display:flex; flex-direction:column; align-items:center;\">\n                      <div>\n                          iGames, Inc.\n                      </div>\n                      <div>\n                          1460 W Main St, Suite 1460\n                      </div>\n                      <div>\n                          Boise, ID 83702\n                      </div>\n                      <div>\n                          privacy_amdgaming@igamesinc.com\n                      </div>\n  \n                  </div>\n  \n                  <h2>\n                      Information for California Residents\n                  </h2>\n  \n                  <p>\n                      The California Consumer Privacy Act of 2018 (“CCPA”), as amended by the California\n                      Privacy Rights Act (“CPRA”), and other California privacy laws provide California residents\n                      with specific rights regarding “Personal Information” and “Sensitive Personal Information”as defined\n                      under California law. This section of our Privacy Policy describes these rights\n                      and how to exercise them. Please note that these rights may not apply to publicly available\n                      information.\n                  </p>\n  \n                  <p>\n                      The CPRA requires us to disclose the following information regarding the personal\n                      information of California residents and households we collect. You can find most of this\n                      information in the policy sections above and this section. Please see the above sections of\n                      this policy for the following information:\n                  </p>\n  \n                  <ul>\n                      <li>\n                          Personal Information We Collect\n                          <ul>\n                              <li>\n                                  Personal Information we have collected in the last 12 months\n                              </li>\n                              <li>\n                                  How we have collected that information\n                              </li>\n                          </ul>\n                      </li>\n  \n                      <li>\n                          How We Use Your Personal Information\n                          <ul>\n                              <li>\n                                  Our uses of Personal Information\n                              </li>\n                              <li>\n                                  The business purposes for our uses of Personal Information\n                              </li>\n                          </ul>\n                      </li>\n  \n                      <li>\n                          How We Disclose Your Personal Information\n                          <ul>\n                              <li>\n                                  The categories of service providers, contractors, and third parties we\n                                  disclose Personal Information to\n                              </li>\n                          </ul>\n                      </li>\n                  </ul>\n  \n                  <p>\n                      In addition to Personal Information, we disclose as described in these sections of our\n                      Privacy Policy, we may “share” or “sell,” as those terms are defined by the CPRA, the\n                      following categories of Personal Information:\n                  </p>\n  \n                  <ul>\n                      <li>\n                          Identifiers, such as name, email address, online identifiers, and IP addresses\n                      </li>\n  \n                      <li>\n                          Internet or other electronic network activity and information regarding your\n                          interaction with an advertisement\n                      </li>\n                  </ul>\n  \n                  <p>\n                      The above categories of Personal Information may be “sold” to or “shared” with the\n                      following types of third parties:\n                  </p>\n  \n                  <ul>\n                      <li>\n                          Analytics and measurement providers\n                      </li>\n  \n                      <li>\n                          Companies involved in marketing and advertising\n                      </li>\n  \n                      <li>\n                          Business partners\n                      </li>\n                  </ul>\n  \n                  <h2>\n                      California Consumers’ Rights and Choices\n                  </h2>\n  \n                  <p>\n                      If you are a California resident, you can request Information regarding the:\n                  </p>\n  \n                  <ul>\n                      <li>\n                          Categories of Personal Information we collect, disclose, share, or sell\n                      </li>\n  \n                      <li>\n                          Purposes for which we use categories of Personal Information\n                      </li>\n  \n                      <li>\n                          Sources of information from which we collect Personal Information\n                      </li>\n  \n                      <li>\n                          Specific pieces of Personal Information we have collected about you\n                      </li>\n                  </ul>\n  \n                  <p>\n                      In addition, if you are a California resident you may:\n                  </p>\n  \n                  <ul>\n                      <li>\n                          Opt-out of the sale or sharing for cross-context behavioral advertising purposes of\n                          your Personal Information\n                      </li>\n  \n                      <li>\n                          Opt-out of receiving marketing communications from us; however, you may still\n                          receive administrative communications regarding the Services\n                      </li>\n  \n                      <li>\n                          Opt-in to certain financial incentive programs we may offer related to the collection,\n                          sale, or deletion of your Personal Information\n                      </li>\n  \n                      <li>\n                          Request deletion of your Personal Information by us and our service providers, in\n                          some circumstances\n                      </li>\n  \n                      <li>\n                          Request that your Personal Information be updated or corrected\n                      </li>\n  \n                      <li>\n                          Request that we limit the use of your Sensitive Personal Information to only those\n                          purposes that are necessary for iGames to provide products or services to you\n                      </li>\n                  </ul>\n  \n                  <p>\n                      <b>\n                          You will not be discriminated against for exercising your privacy rights under the\n                          CPRA.\n                      </b>\n                  </p>\n  \n                  <h2>\n                      Requests\n                  </h2>\n  \n                  <p>\n                      You can make requests related to your California privacy rights (including the right to\n                      access, delete, correct, or restrict the sale of your personal information) by using the\n                      contact information above.\n                  </p>\n  \n                  <p>\n                      When you make a request, we may ask you to provide verifying information, such as your\n                      name, email, phone number, and/or account credentials. We will review the information provided and\n                      may request additional information via email or other means to ensure we\n                      are interacting with the correct individual or authorized agent. Please also be aware that\n                      making any such request does not ensure complete or comprehensive removal or deletion\n                      of Personal Information or content you may have posted, and there may be circumstances\n                      in which the law does not require or allow us to fulfill your request.\n                  </p>\n  \n                  <h2>\n                      Information for Virginia Residents\n                  </h2>\n  \n                  <p>\n                      The Virginia Consumer Data Protection Act (“VCDPA”) provides Virginia residents with\n                      rights to access, delete, and correct certain “Personal Data” we collect about them, as\n                      well as to restrict the use of that Personal Data for targeted advertising, restrict the “sale”\n                      of that Personal Data, and control our use of Personal Data considered sensitive. If you are\n                      a Virginia resident, you also have a right not to receive discriminatory treatment for the\n                      exercise of your privacy rights.\n                  </p>\n  \n                  <p>\n                      The VCDPA defines “Personal Data” to mean “any information that is linked or reasonably\n                      linkable to an identified or identifiable natural person.” When we use the term “Personal\n                      Information” in our Privacy Policy, it includes Personal Data covered by this definition.\n                  </p>\n  \n                  <p>\n                      You or your authorized agent may submit a request to exercise your rights to access,\n                      delete, and correct your Personal Data by using the contact information above.\n                  </p>\n  \n                  <h2>\n                      EU-U.S., Data Privacy Framework, the UK Extension to the EU-U.S. DPF and the Swiss-\n                      U.S. Data Privacy Framework\n                  </h2>\n  \n                  <p>\n                      iGames complies with the EU-U.S. Data Privacy Framework (EU-U.S. DPF), the UK\n                      Extension to the EU-U.S. DPF, and the Swiss-U.S. Data Privacy Framework (Swiss-U.S.\n                      DPF) as set forth by the U.S. Department of Commerce. iGames certified to the U.S.\n                      Department of Commerce that it adheres to the EU-U.S. Data Privacy Framework\n                      Principles (EU-U.S. DPF Principles) with regard to the processing of personal data received\n                      from the European Union in reliance on the EU-U.S. DPF and from the United Kingdom (and\n                      Gibraltar) in reliance on the UK Extension to the EU-U.S. DPF. iGames has certified to the\n                      U.S. Department of Commerce that it adheres to the Swiss-U.S. Data Privacy Framework Principles\n                      (Swiss-U.S. DPF Principles) with regard to the processing of personal data\n                      received from Switzerland in reliance on the Swiss-U.S. DPF. If there is any conflict\n                      between the terms in this privacy policy and the EU-U.S. DPF Principles and/or the Swiss-\n                      U.S. DPF Principles, the Principles shall govern. To learn more about the Data Privacy\n                      Framework (DPF) program, and to view our certification, please\n                      visit https://www.dataprivacyframework.gov/.\n                  </p>\n  \n                  <p>\n                      In compliance with the EU-U.S. Data Privacy Framework (EU-U.S. DPF), the UK Extension\n                      to the EU-U.S. DPF, and the Swiss-U.S. Data Privacy Framework (Swiss-U.S. DPF), iGames\n                      commits to resolve complaints about our collection or use of your personal information\n                      transferred to the U.S. pursuant to the EU-U.S. DPF, the UK extension to the EU-U.S. DPF,\n                      and the Swiss-U.S. DPF. EU, UK, and Swiss individuals with inquiries or complaints should\n                      first contact iGames at privacy_amdgaming@igamesinc.com.\n                  </p>\n  \n                  <p>\n                      iGames has further committed to refer unresolved DPF Principles-related complaints to a\n                      U.S.-based independent dispute resolution mechanism, BBB NATIONAL PROGRAMS. If\n                      you do not receive timely acknowledgment of your complaint, or if your complaint is not\n                      satisfactorily addressed, please visit www.bbbprograms.org/dpf-complaints for more\n                      information and to file a complaint. This service is provided free of charge to you.\n                  </p>\n  \n                  <p>\n                      If your DPF complaint cannot be resolved through the above channels, under certain\n                      conditions, you may invoke binding arbitration for some residual claims not resolved by\n                      other redress mechanisms. See https://www.dataprivacyframework.gov/s/article/ANNEX-\n                      I-introduction-dpf.\n                  </p>\n  \n                  <p>\n                      With respect to personal data received or transferred pursuant to the DPF iGames is\n                      subject to the regulatory enforcement powers of the U.S. Federal Trade Commission. In\n                      certain situations, iGames may be required to disclose personal data in response to lawful\n                      requests by public authorities, including to meet national security or law enforcement\n                      requirements.\n                  </p>\n  \n                  <p>\n                      iGames’ accountability for personal data that it receives in the United States under the\n                      DPF and subsequently transfers to a third party is described in the DPF Principles. In particular,\n                      iGames remains responsible and liable under the DPF Principles if third-party\n                      agents that it engages to process personal data on its behalf do so in a manner\n                      inconsistent with the DPF Principles, unless iGames proves that it is not responsible for\n                      the event giving rise to the damage.\n                  </p>\n  \n                  <p>\n                      iGames provides services globally and the computer systems on which iGames collects,\n                      stores, and uses the information it collects or receives are based in the United States. Your\n                      personal information may be transferred to, used, processed, or held by iGames in the\n                      United States for the purposes set out in this Privacy Policy.\n                  </p>\n              </div>\n          </section>\n      </div>\n  </div>\n  */\n  {\n    \"id\": \"Gr3xYGLc\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container cp-legal\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"full-legal-panel\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"header\\\"],[14,0,\\\"legal-panel__head\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"h3\\\"],[12],[1,\\\"Privacy Policy\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"legal-panel\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"legal-panel-inner\\\"],[12],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"b\\\"],[12],[1,\\\"Effective Date October 29, 2025\\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    This Privacy Policy describes what information we collect through AMD Gaming, the\\\\n                    website at www.amdgaming.com (the \\\\\\\"Site\\\\\\\"), how we use that information and what your\\\\n                    rights are regarding your personal information, including the choices available to you\\\\n                    regarding our use of your personal information and how you can access and update this\\\\n                    information.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    iGames, Inc. (\\\\\\\"iGames”, “we”, “our” or “us”) owns and operates the Site, but we collect\\\\n                    and process the personal information from the Site on behalf of Advanced Micro Devices,\\\\n                    Inc. and its subsidiaries (\\\\\\\"AMD\\\\\\\"). AMD is the controller of your personal information and\\\\n                    iGames is a processor (also known as a service provider) for AMD. We will process your\\\\n                    personal information in accordance with the terms of our agreement with AMD and AMD’s\\\\n                    lawful instructions.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    This Privacy Policy applies only to iGames’ processing of your personal information. AMD\\\\n                    may use your personal information in accordance with its privacy policy located at \\\"],[10,3],[14,6,\\\"https://www.amd.com/en/legal/privacy.html\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"https://www.amd.com/en/legal/privacy.html\\\"],[13],[1,\\\".\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    Personal Information We Collect\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    We collect the following personal information:\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        When you visit the Site: We collect information such as your Internet protocol (IP)\\\\n                        addresses, browser type, Internet service provider (ISP), referring/exit pages, the\\\\n                        files viewed on our site (e.g., HTML pages, graphics, etc.), operating system,\\\\n                        date/time stamp, and/or clickstream data. iGames and its partners use cookies or\\\\n                        similar technologies to analyze trends, administer the Site, track users’ movements\\\\n                        around the Site, and to gather demographic information about our user base as a\\\\n                        whole.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        When you establish an account: We collect contact information such as name,\\\\n                        email address, address and phone number. We also collect unique identifiers such\\\\n                        as username, account number, password. We also collect demographic\\\\n                        information such as your age and interests.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        When you submit information: Our Site offers publicly accessible features such as\\\\n                        blogs or community forums. Any information you choose to provide in these areas\\\\n                        may be read, collected, and used by others who access them.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        When you participate in activities such as contests or sweepstakes: We will collect\\\\n                        certain personal information for us to perform our contractual obligations. When\\\\n                        you register for an activity, your name, username, and sometimes country of\\\\n                        residence will be displayed for other users of the Site to view. We may also ask you\\\\n                        if you want, at your option, to provide additional information which may be\\\\n                        distributed to sponsors and affiliates. In addition, we will collect the entries (which\\\\n                        may also include play brackets, images/videos submitted as part of the entry, etc.)\\\\n                        and results of the event, contest or sweepstakes (final placing, winning entries,\\\\n                        etc.), and incorporate them into the Site for viewing by other users.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Co-branded events. We may provide co-branded activities or services jointly with\\\\n                        other companies on the Site. You can tell when another company is involved in a\\\\n                        service provided on the Site by viewing the terms related to that service or rules\\\\n                        related to an activity. If you are participating in a joint service or activity, you may\\\\n                        also have the option to opt into sharing your information with that company, at\\\\n                        which time your information would be used according to that company’s privacy\\\\n                        policy.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Single sign-on. You can log into the Site using sign-in services such as Google,\\\\n                        Steam, Microsoft, Twitch or other OpenID provider as listed as an option on the Site.\\\\n                        These services will authenticate your identity and provide you with the option to\\\\n                        share certain personal information with us such as your name and email address to\\\\n                        pre-populate our signup form. These services give you the option to post\\\\n                        information about your activities on the Site to your profile page to share with others\\\\n                        within your network. Some OpenID providers, give you the option to share your\\\\n                        profile and other activity data with your AMD Gaming profile.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Social media features. Our Site includes social media features, such as widgets,\\\\n                        the Share button, or interactive programs that run on the Site. These features may\\\\n                        collect your IP address, which page you are visiting on our site, and may set a\\\\n                        cookie to enable the feature to function properly. Social media features and widgets\\\\n                        are either hosted by a third party or hosted directly on the Site. Your interactions\\\\n                        with these features are governed by the privacy policy of the company providing it.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Newsletters. When you opt in to receive the AMD Gaming newsletter, you will\\\\n                        receive AMD Gaming marketing communications from iGames and/or AMD.\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    How We Use Your Personal Information\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"table\\\"],[14,0,\\\"legal-table\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Purpose\\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Description\\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"th\\\"],[12],[1,\\\"Legal Basis\\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                Our Site\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                We process personal information to operate, analyze, administer, secure, and improve our\\\\n                                Site\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                Legitimate interests in providing online content, products and services, and related\\\\n                                information; improving and enhancing the operation and content of our Site; ensuring the\\\\n                                safety and security of our Site\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                Products and services\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                We process personal information to provide our products and services\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,2],[12],[1,\\\"Necessary for the performance of a contract\\\"],[13],[1,\\\"\\\\n                                \\\"],[10,2],[12],[1,\\\"Legitimate interests in managing the provision of our products and services\\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                Profile\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                The profile you create on the Site will be publicly accessible including username and\\\\n                                avatar at a minimum.\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                Consent\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                Activities and Promotions\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                We process personal\\\\n                                information to administer\\\\n                                activities and promotions,\\\\n                                like giveaways and\\\\n                                sweepstakes, you entered,\\\\n                                and notify you if you won\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,2],[12],[1,\\\"Consent\\\"],[13],[1,\\\"\\\\n                                \\\"],[10,2],[12],[1,\\\"Legitimate interests in\\\\n                                    providing online content,\\\\n                                    products and services, and\\\\n                                    related information\\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                Member directory\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                We process personal information to maintain our member directory made available only to\\\\n                                other members\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                Legitimate interests in providing online content, products and services, and related\\\\n                                information\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                Marketing communications\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                We process personal information in order to create and send marketing communications and\\\\n                                tailored advertisements about products and services\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                Legitimate interests in conducting direct marketing or where you have provided your\\\\n                                prior consent\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                Product maintenance and support\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                We process personal information to provide engineering services, update and optimize our\\\\n                                products and services, and improve user experiences\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,2],[12],[1,\\\"Necessary for the performance of a contract\\\"],[13],[1,\\\"\\\\n                                \\\"],[10,2],[12],[1,\\\"Legitimate interests in managing the provision of our products and services, and the\\\\n                                    user communities for them\\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                Usage, research, and compliance\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                We process personal information to assess and manage usage and compliance with the\\\\n                                applicable terms of use of our products and services, including minimum age requirements\\\\n                                for certain events and promotions\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,2],[12],[1,\\\"Necessary for the performance of a contract\\\"],[13],[1,\\\"\\\\n                                \\\"],[10,2],[12],[1,\\\"Legitimate interests in managing the provision of our products and services, and\\\\n                                    information about them\\\"],[13],[1,\\\"\\\\n                                \\\"],[10,2],[12],[1,\\\"Legitimate interests in conducting research and development relating to products and\\\\n                                    services\\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                Security\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                We process personal information to ensure the security of our products, services, and\\\\n                                Site, and to detect and investigate suspicious activity, fraud and cybercrime\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n                                Legitimate interests in promoting the safety and security of our products, services and\\\\n                                Site, and to protect our rights and the rights of others\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"How We Disclose Your Personal Information\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"We may disclose personal information that we collect, or you provide as described below:\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        To AMD, who will use your personal information in accordance with its privacy policies (\\\"],[10,3],[14,6,\\\"https://www.amd.com/en/legal/privacy.html\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"https://www.amd.com/en/legal/privacy.html\\\"],[13],[1,\\\").\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        To our subsidiaries and affiliates.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        To contractors and service providers, such as an email service provider, customer\\\\n                        service or event management contractors. These companies are bound by\\\\n                        contractual obligations to keep personal information confidential and use it only for\\\\n                        the purposes for which we disclose it to them or as allowed by law.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        To an investor, buyer or other successor in the event of a financing, merger,\\\\n                        divestiture, restructuring, reorganization, dissolution, or other sale or transfer of\\\\n                        some or all of the assets of iGames or AMD.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        To third parties when you are listed in the member directory, and when you choose\\\\n                        to make your personal information available to iGames partners or through blogs\\\\n                        and community forums.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        If you participate in an event managed and administered by a third-party organizer,\\\\n                        your personal information will be provided to such organizer only to operate the\\\\n                        event and publicly report the results. Third-party sites have separate and\\\\n                        independent privacy policies and iGames is not responsible for the privacy\\\\n                        practices of these third parties.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        To fulfill the purpose for which you provide it. For example, if you give us an email\\\\n                        address to obtain information about our products and services, or one of our\\\\n                        partners, during a sweepstakes or event, we may use that information to\\\\n                        communicate with you.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        For any other purpose disclosed by us when you provide the information.\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    We may also disclose your personal information:\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        To comply with any court order, law, or legal process, including responding to any\\\\n                        government or regulatory request.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        To enforce or apply our terms of use and other agreements, including for billing and\\\\n                        collection purposes.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        In aggregated, anonymized, and/or de-identified form that cannot reasonably be\\\\n                        used to identify you.\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    We enable you to create a profile, and share information such as messages and photos,\\\\n                    with others. Please note that we cannot control the actions of others with whom you may\\\\n                    choose to share your pages and information.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    Opting Out of Marketing Communications\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    You may unsubscribe to our marketing emails at any time by clicking unsubscribe at the\\\\n                    bottom of the email or by updating your preferences on your AMD Gaming account profile.\\\\n                    You may also choose to stop receiving our newsletter or marketing emails by entering your\\\\n                    email address at \\\"],[41,[30,0,[\\\"isLoggedIn\\\"]],[[[10,3],[14,6,\\\"/account-settings\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"Account Settings\\\"],[13]],[]],[[[11,3],[4,[38,17],[\\\"click\\\",[30,0,[\\\"openLogin\\\"]]],null],[12],[1,\\\"Account Settings\\\"],[13]],[]]],[1,\\\", or by contacting us at privacy_amdgaming@igamesinc.com.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    Our Use of Cookies and Similar Technologies\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    iGames and its partners use cookies or similar technologies to analyze trends, administer\\\\n                    the Site, track users’ movements around the Site, and to gather demographic information\\\\n                    about our user base as a whole. You can control the use of cookies at the individual\\\\n                    browser level, but if you choose to disable cookies, it may limit your use of certain features\\\\n                    or functions on our Site or service.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    Behavioral Targeting / Re-Targeting\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    We partner with a third party to either display advertising on our Site or to manage our\\\\n                    advertising on other sites. Our third-party partner may use technologies such as cookies\\\\n                    to gather information about your activities on this site and other sites in order to provide\\\\n                    you with advertising based upon your browsing activities and interests. If you wish to not\\\\n                    have this information used for the purpose of serving you internet-based ads, you may opt-\\\\n                    out by disabling cookies in your browser or if you are in the European Union click here:\\\\n                    http://www.youronlinechoices.eu. Please note this does not opt you out of being served\\\\n                    ads. You will continue to receive generic ads.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    Regarding Children\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    We do not knowingly collect or solicit personal information from anyone under the age of\\\\n                    13 (age 16 in the EU) or knowingly allow such persons to register. If you are under 13 (age 16 in the\\\\n                    EU), please do not attempt to register on the Site or send any information about\\\\n                    yourself to us, including your name, address, telephone number, or email address. If we\\\\n                    learn that we have collected personal information from a child under such minimum age,\\\\n                    we will delete that information as quickly as possible. If you believe that we might have any\\\\n                    information from or about a child under 13 (age 16 in the EU), please contact us at\\\\n                    info@igamesinc.com.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    We recommend that minors over the age of 13 (age 16 in the EU) ask their parents for\\\\n                    permission before sending any information about themselves to anyone over the Internet.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    Security\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    The security of your personal information is important to us. When you enter sensitive\\\\n                    information (such as login credentials), we encrypt the transmission of that information\\\\n                    using secure socket layer technology (SSL). We follow generally accepted industry\\\\n                    standards to protect the personal information submitted to us, both during transmission\\\\n                    and once we receive it. No method of transmission over the Internet, or method of\\\\n                    electronic storage, is 100% secure, however. Therefore, we cannot guarantee its absolute\\\\n                    security.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    Retention of Personal Information\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    We will retain your personal information as needed to fulfill the purposes for which it was\\\\n                    collected. We will retain and use your personal information as necessary to comply with\\\\n                    our business requirements, legal obligations, resolve disputes, protect our assets, and\\\\n                    enforce our rights and agreements.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    We will not retain personal information in identifiable form when the purpose(s) for which it\\\\n                    was collected has been achieved and there is no legal or business need to retain it.\\\\n                    Thereafter, your personal information will either be destroyed, deleted, anonymized,\\\\n                    and/or removed from our systems.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    Public Disclosures\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    Our Site offers publicly accessible blogs or community forums. You should be aware that\\\\n                    any information you provide in these areas may be read, collected, and used by others who\\\\n                    access these features. To request removal of your personal information from our blog or\\\\n                    community forum, please contact us using the information below.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    Links to Other Sites\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    This Site contains links to other Sites that are not owned or controlled by us. Please be\\\\n                    aware that we are not responsible for the privacy practices of such other Sites. We\\\\n                    encourage you to be aware when you leave our Site and to read the privacy policies of each\\\\n                    and every Site that collects personal information. This Privacy Policy applies only to\\\\n                    information collected by the Site.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    Correcting, Updating and Deleting Your Personal Information\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    Depending on your location, you may have certain rights with respect to your personal\\\\n                    information, which may include some or all the following:\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        The right to know what personal information we have collected about you and to\\\\n                        request a copy of that personal information.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        The right to know more about how we process your personal information.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        The right to have us correct or update incomplete or inaccurate information.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        The right to delete or restrict how we use your personal information in accordance\\\\n                        with applicable law. This right may impact your access to our Site and services.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        The right to restrict or object to our processing of your personal information.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        The right to transfer your personal information to another data controller.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        The right to opt out of certain disclosures of your personal information.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        If you are under the age of 16, or such other applicable age under the law in specific\\\\n                        jurisdictions, the right to opt-in to certain disclosures of your personal information.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        The right to not be discriminated against for exercising your data subject rights.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        The right to not be subject to a decision based solely on automated processing,\\\\n                        including profiling, which produces legal effects.\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        The right to withdraw your consent at any time (to the extent we base processing on\\\\n                        consent), without affecting the lawfulness of the processing based on such consent\\\\n                        before its withdrawal.\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    To pursue any of the rights above, please contact us using the contact information\\\\n                    provided below.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    We try to respond to all legitimate and verified requests within one month, unless\\\\n                    otherwise required by law, and will contact you if we need additional information from you\\\\n                    to respond to your request or verify your identity. Occasionally it may take us longer than a\\\\n                    month, depending on the complexity and number of requests we receive.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    Notification of Privacy Policy Updates\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    We may update this Privacy Policy to reflect changes to our information practices. If we\\\\n                    make any material changes, we will notify you by email (sent to the e-mail address\\\\n                    specified in your account) or by means of a notice on this Site prior to the change\\\\n                    becoming effective. We encourage you to periodically review this page for the latest\\\\n                    information on our privacy practices.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    How to Contact Us\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    You can contact us in writing or by email at the address below:\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,0],[14,5,\\\"display:flex; flex-direction:column; align-items:center;\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[12],[1,\\\"\\\\n                        iGames, Inc.\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,0],[12],[1,\\\"\\\\n                        1460 W Main St, Suite 1460\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,0],[12],[1,\\\"\\\\n                        Boise, ID 83702\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,0],[12],[1,\\\"\\\\n                        privacy_amdgaming@igamesinc.com\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    Information for California Residents\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    The California Consumer Privacy Act of 2018 (“CCPA”), as amended by the California\\\\n                    Privacy Rights Act (“CPRA”), and other California privacy laws provide California residents\\\\n                    with specific rights regarding “Personal Information” and “Sensitive Personal Information”as defined\\\\n                    under California law. This section of our Privacy Policy describes these rights\\\\n                    and how to exercise them. Please note that these rights may not apply to publicly available\\\\n                    information.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    The CPRA requires us to disclose the following information regarding the personal\\\\n                    information of California residents and households we collect. You can find most of this\\\\n                    information in the policy sections above and this section. Please see the above sections of\\\\n                    this policy for the following information:\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Personal Information We Collect\\\\n                        \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                                Personal Information we have collected in the last 12 months\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                                How we have collected that information\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        How We Use Your Personal Information\\\\n                        \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                                Our uses of Personal Information\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                                The business purposes for our uses of Personal Information\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        How We Disclose Your Personal Information\\\\n                        \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                                The categories of service providers, contractors, and third parties we\\\\n                                disclose Personal Information to\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    In addition to Personal Information, we disclose as described in these sections of our\\\\n                    Privacy Policy, we may “share” or “sell,” as those terms are defined by the CPRA, the\\\\n                    following categories of Personal Information:\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Identifiers, such as name, email address, online identifiers, and IP addresses\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Internet or other electronic network activity and information regarding your\\\\n                        interaction with an advertisement\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    The above categories of Personal Information may be “sold” to or “shared” with the\\\\n                    following types of third parties:\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Analytics and measurement providers\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Companies involved in marketing and advertising\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Business partners\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    California Consumers’ Rights and Choices\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    If you are a California resident, you can request Information regarding the:\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Categories of Personal Information we collect, disclose, share, or sell\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Purposes for which we use categories of Personal Information\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Sources of information from which we collect Personal Information\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Specific pieces of Personal Information we have collected about you\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    In addition, if you are a California resident you may:\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Opt-out of the sale or sharing for cross-context behavioral advertising purposes of\\\\n                        your Personal Information\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Opt-out of receiving marketing communications from us; however, you may still\\\\n                        receive administrative communications regarding the Services\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Opt-in to certain financial incentive programs we may offer related to the collection,\\\\n                        sale, or deletion of your Personal Information\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Request deletion of your Personal Information by us and our service providers, in\\\\n                        some circumstances\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Request that your Personal Information be updated or corrected\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                        Request that we limit the use of your Sensitive Personal Information to only those\\\\n                        purposes that are necessary for iGames to provide products or services to you\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"b\\\"],[12],[1,\\\"\\\\n                        You will not be discriminated against for exercising your privacy rights under the\\\\n                        CPRA.\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    Requests\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    You can make requests related to your California privacy rights (including the right to\\\\n                    access, delete, correct, or restrict the sale of your personal information) by using the\\\\n                    contact information above.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    When you make a request, we may ask you to provide verifying information, such as your\\\\n                    name, email, phone number, and/or account credentials. We will review the information provided and\\\\n                    may request additional information via email or other means to ensure we\\\\n                    are interacting with the correct individual or authorized agent. Please also be aware that\\\\n                    making any such request does not ensure complete or comprehensive removal or deletion\\\\n                    of Personal Information or content you may have posted, and there may be circumstances\\\\n                    in which the law does not require or allow us to fulfill your request.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    Information for Virginia Residents\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    The Virginia Consumer Data Protection Act (“VCDPA”) provides Virginia residents with\\\\n                    rights to access, delete, and correct certain “Personal Data” we collect about them, as\\\\n                    well as to restrict the use of that Personal Data for targeted advertising, restrict the “sale”\\\\n                    of that Personal Data, and control our use of Personal Data considered sensitive. If you are\\\\n                    a Virginia resident, you also have a right not to receive discriminatory treatment for the\\\\n                    exercise of your privacy rights.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    The VCDPA defines “Personal Data” to mean “any information that is linked or reasonably\\\\n                    linkable to an identified or identifiable natural person.” When we use the term “Personal\\\\n                    Information” in our Privacy Policy, it includes Personal Data covered by this definition.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    You or your authorized agent may submit a request to exercise your rights to access,\\\\n                    delete, and correct your Personal Data by using the contact information above.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n                    EU-U.S., Data Privacy Framework, the UK Extension to the EU-U.S. DPF and the Swiss-\\\\n                    U.S. Data Privacy Framework\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    iGames complies with the EU-U.S. Data Privacy Framework (EU-U.S. DPF), the UK\\\\n                    Extension to the EU-U.S. DPF, and the Swiss-U.S. Data Privacy Framework (Swiss-U.S.\\\\n                    DPF) as set forth by the U.S. Department of Commerce. iGames certified to the U.S.\\\\n                    Department of Commerce that it adheres to the EU-U.S. Data Privacy Framework\\\\n                    Principles (EU-U.S. DPF Principles) with regard to the processing of personal data received\\\\n                    from the European Union in reliance on the EU-U.S. DPF and from the United Kingdom (and\\\\n                    Gibraltar) in reliance on the UK Extension to the EU-U.S. DPF. iGames has certified to the\\\\n                    U.S. Department of Commerce that it adheres to the Swiss-U.S. Data Privacy Framework Principles\\\\n                    (Swiss-U.S. DPF Principles) with regard to the processing of personal data\\\\n                    received from Switzerland in reliance on the Swiss-U.S. DPF. If there is any conflict\\\\n                    between the terms in this privacy policy and the EU-U.S. DPF Principles and/or the Swiss-\\\\n                    U.S. DPF Principles, the Principles shall govern. To learn more about the Data Privacy\\\\n                    Framework (DPF) program, and to view our certification, please\\\\n                    visit https://www.dataprivacyframework.gov/.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    In compliance with the EU-U.S. Data Privacy Framework (EU-U.S. DPF), the UK Extension\\\\n                    to the EU-U.S. DPF, and the Swiss-U.S. Data Privacy Framework (Swiss-U.S. DPF), iGames\\\\n                    commits to resolve complaints about our collection or use of your personal information\\\\n                    transferred to the U.S. pursuant to the EU-U.S. DPF, the UK extension to the EU-U.S. DPF,\\\\n                    and the Swiss-U.S. DPF. EU, UK, and Swiss individuals with inquiries or complaints should\\\\n                    first contact iGames at privacy_amdgaming@igamesinc.com.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    iGames has further committed to refer unresolved DPF Principles-related complaints to a\\\\n                    U.S.-based independent dispute resolution mechanism, BBB NATIONAL PROGRAMS. If\\\\n                    you do not receive timely acknowledgment of your complaint, or if your complaint is not\\\\n                    satisfactorily addressed, please visit www.bbbprograms.org/dpf-complaints for more\\\\n                    information and to file a complaint. This service is provided free of charge to you.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    If your DPF complaint cannot be resolved through the above channels, under certain\\\\n                    conditions, you may invoke binding arbitration for some residual claims not resolved by\\\\n                    other redress mechanisms. See https://www.dataprivacyframework.gov/s/article/ANNEX-\\\\n                    I-introduction-dpf.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    With respect to personal data received or transferred pursuant to the DPF iGames is\\\\n                    subject to the regulatory enforcement powers of the U.S. Federal Trade Commission. In\\\\n                    certain situations, iGames may be required to disclose personal data in response to lawful\\\\n                    requests by public authorities, including to meet national security or law enforcement\\\\n                    requirements.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    iGames’ accountability for personal data that it receives in the United States under the\\\\n                    DPF and subsequently transfers to a third party is described in the DPF Principles. In particular,\\\\n                    iGames remains responsible and liable under the DPF Principles if third-party\\\\n                    agents that it engages to process personal data on its behalf do so in a manner\\\\n                    inconsistent with the DPF Principles, unless iGames proves that it is not responsible for\\\\n                    the event giving rise to the damage.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                    iGames provides services globally and the computer systems on which iGames collects,\\\\n                    stores, and uses the information it collects or receives are based in the United States. Your\\\\n                    personal information may be transferred to, used, processed, or held by iGames in the\\\\n                    United States for the purposes set out in this Privacy Policy.\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"header\\\",\\\"h3\\\",\\\"section\\\",\\\"p\\\",\\\"b\\\",\\\"a\\\",\\\"h2\\\",\\\"ul\\\",\\\"li\\\",\\\"table\\\",\\\"thead\\\",\\\"tr\\\",\\\"th\\\",\\\"tbody\\\",\\\"td\\\",\\\"if\\\",\\\"on\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-privacy.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-profile\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container\">\n    <div class=\"triangle-bg\"></div>\n    <main class=\"cp-profile-container\">\n  \n      <!-- hero -->\n      <section class=\"profile-1-hero\">\n        <div class=\"account-avatar-wrap\">\n          {{avatar this.user imageSize=152 class=\"account-avatar\"}}\n        </div>\n  \n        <div class=\"profile-1-title-container\">\n          <span class=\"profile-1-line\"></span>\n          <span class=\"profile-1-title\">{{this.user.label}}</span>\n          <span class=\"profile-1-line\"></span>\n        </div>\n  \n        <div class=\"profile-1-username-container\">\n          <span class=\"profile-1-line\"></span>\n          <span>\n            <h1 class=\"profile-1-username\">{{this.user.username}}</h1>\n            <div class=\"profile-1-accounts\">\n              <CpProfileLinkedProviders @visibleProviders={{this.visibleProviders}} @linkedProviders={{this.linkedProviders}} />\n            </div>\n          </span>\n          <span class=\"profile-1-line\"></span>\n        </div>\n      </section>\n  \n      <section class=\"profile-1-flex\">\n        <div class=\"profile-1-row top\">\n          <!-- Latest Engagement -->\n          <div class=\"full-profile-1-panel latest\">\n            <header class=\"profile-1-panel__head\">\n              <h3>Latest Engagement:</h3>\n              <h5>\n                <a href=\"/u/{{this.user.username}}/activity\">See More &gt;</a>\n              </h5>\n            </header>\n            <section class=\"profile-1-panel\">\n              <div class=\"profile-1-panel-inner\">\n                <ul class=\"activity-list\">\n                  {{#if this.userActions}}\n                    {{#each this.userActions as |action|}}\n                    <li>\n                      <a class=\"row\" href={{this.linkFor action}}>\n                        <span class=\"bullet\">\n                          {{avatar this.user imageSize=40 class=\"avatar small\"}}\n                        </span>\n                        <div class=\"preview\">\n                          <span class=\"title\">{{action.excerpt_full}}</span>\n                          <div class=\"when\">{{format-date action.created_at}}</div>\n                        </div>\n                      </a>\n                    </li>\n                    {{/each}}\n                  {{else}}\n                    <li>\n                      No recent engagements\n                    </li>\n                  {{/if}}\n                </ul>\n              </div>\n            </section>\n          </div>\n  \n          <!-- About Me -->\n          <div class=\"full-profile-1-panel about\">\n            <header class=\"profile-1-panel__head\">\n              <h3>About Me:</h3>\n            </header>\n            <section class=\"profile-1-panel\">\n              <div class=\"profile-1-panel-inner\">\n                <div>\n                  <p>\n                    {{this.user.about_me}}\n                  </p>\n                </div>\n                {{#if this.currentUsername }}\n                  {{#if (not (eq this.user.username this.currentUsername))}}\n                    <div class=\"profile-1-report\">\n                      <button type=\"button\" class=\"cp-flag-btn\" {{on \"click\" this.reportProfile}}>\n                        {{d-icon \"flag\"}}\n                        <span>Report</span>\n                      </button>\n                    </div>\n                  {{/if}}\n                {{/if}}\n              </div>\n            </section>\n          </div>\n        </div>\n        <div class=\"profile-1-row bottom\">\n          <!-- Top 5 -->\n          {{#if this.userGames}}\n            <div class=\"full-profile-1-panel top-5\">\n              <header class=\"profile-1-panel__head\">\n                <h3>My Top 5:</h3>\n              </header>\n              <section class=\"profile-1-panel\">\n                <div class=\"profile-1-panel-inner\">\n                  {{#each this.userGames key=\"position\" as |game|}}\n                  <div class=\"profile-top-game-item\"\n                    style=\"background: linear-gradient(to bottom right, {{game.color}}, {{game.color2}});\">{{game.game}}\n                  </div>\n                  {{/each}}\n                </div>\n              </section>\n            </div>\n          {{/if}}\n  \n          <!-- User Images -->\n          {{#if this.user.user_images}}\n          <div class=\"full-profile-1-panel user-images\">\n            <section class=\"profile-1-photo-album\">\n              <FocusCarousel @images={{this.user.user_images}} @onImageClick={{this.openImageViewer}} />\n            </section>\n  \n            <FullscreenImageViewer @isOpen={{this.isViewerOpen}} @image={{this.viewerImage}} @hasPrev={{this.viewerHasPrev}}\n              @hasNext={{this.viewerHasNext}} @onClose={{this.closeViewer}} @onPrev={{this.prevImage}}\n              @onNext={{this.nextImage}} @onReport={{this.reportCurrentImage}} />\n          </div>\n          {{/if}}\n        </div>\n      </section>\n  \n      <div class=\"edit-profile-img-slot\">\n        <CpAd @ad={{this.ad}} />\n      </div>\n    </main>\n  \n    <ReportContentModal @isOpen={{this.isReportOpen}} @targetType={{this.reportTargetType}}\n      @targetId={{this.reportTargetId}} @reportedUserId={{this.user.id}} @snapshot={{this.reportSnapshot}}\n      @onClose={{this.closeReport}} />\n  \n    <CpModal @isOpen={{this.isConfirmOpen}} @title={{this.confirmTitle}} @description={{this.confirmDesc}}\n      @okLabel={{this.confirmOkLabel}} @cancelLabel={{this.confirmCancelLabel}} @onOk={{this.confirmOk}}\n      @onCancel={{this.confirmCancel}} />\n  \n  </div>\n  */\n  {\n    \"id\": \"G2Vv9a3t\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container\\\"],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"triangle-bg\\\"],[12],[13],[1,\\\"\\\\n  \\\"],[10,\\\"main\\\"],[14,0,\\\"cp-profile-container\\\"],[12],[1,\\\"\\\\n\\\\n    \\\"],[3,\\\" hero \\\"],[1,\\\"\\\\n    \\\"],[10,\\\"section\\\"],[14,0,\\\"profile-1-hero\\\"],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"account-avatar-wrap\\\"],[12],[1,\\\"\\\\n        \\\"],[1,[28,[35,3],[[30,0,[\\\"user\\\"]]],[[\\\"imageSize\\\",\\\"class\\\"],[152,\\\"account-avatar\\\"]]]],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"profile-1-title-container\\\"],[12],[1,\\\"\\\\n        \\\"],[10,1],[14,0,\\\"profile-1-line\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[10,1],[14,0,\\\"profile-1-title\\\"],[12],[1,[30,0,[\\\"user\\\",\\\"label\\\"]]],[13],[1,\\\"\\\\n        \\\"],[10,1],[14,0,\\\"profile-1-line\\\"],[12],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[10,0],[14,0,\\\"profile-1-username-container\\\"],[12],[1,\\\"\\\\n        \\\"],[10,1],[14,0,\\\"profile-1-line\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[10,1],[12],[1,\\\"\\\\n          \\\"],[10,\\\"h1\\\"],[14,0,\\\"profile-1-username\\\"],[12],[1,[30,0,[\\\"user\\\",\\\"username\\\"]]],[13],[1,\\\"\\\\n          \\\"],[10,0],[14,0,\\\"profile-1-accounts\\\"],[12],[1,\\\"\\\\n            \\\"],[8,[39,6],null,[[\\\"@visibleProviders\\\",\\\"@linkedProviders\\\"],[[30,0,[\\\"visibleProviders\\\"]],[30,0,[\\\"linkedProviders\\\"]]]],null],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[10,1],[14,0,\\\"profile-1-line\\\"],[12],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,\\\"section\\\"],[14,0,\\\"profile-1-flex\\\"],[12],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"profile-1-row top\\\"],[12],[1,\\\"\\\\n        \\\"],[3,\\\" Latest Engagement \\\"],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"full-profile-1-panel latest\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"header\\\"],[14,0,\\\"profile-1-panel__head\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"h3\\\"],[12],[1,\\\"Latest Engagement:\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"h5\\\"],[12],[1,\\\"\\\\n              \\\"],[10,3],[15,6,[29,[\\\"/u/\\\",[30,0,[\\\"user\\\",\\\"username\\\"]],\\\"/activity\\\"]]],[12],[1,\\\"See More >\\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"section\\\"],[14,0,\\\"profile-1-panel\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"profile-1-panel-inner\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"ul\\\"],[14,0,\\\"activity-list\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"userActions\\\"]],[[[42,[28,[37,14],[[28,[37,14],[[30,0,[\\\"userActions\\\"]]],null]],null],null,[[[1,\\\"                  \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,3],[14,0,\\\"row\\\"],[15,6,[28,[30,0,[\\\"linkFor\\\"]],[[30,1]],null]],[12],[1,\\\"\\\\n                      \\\"],[10,1],[14,0,\\\"bullet\\\"],[12],[1,\\\"\\\\n                        \\\"],[1,[28,[35,3],[[30,0,[\\\"user\\\"]]],[[\\\"imageSize\\\",\\\"class\\\"],[40,\\\"avatar small\\\"]]]],[1,\\\"\\\\n                      \\\"],[13],[1,\\\"\\\\n                      \\\"],[10,0],[14,0,\\\"preview\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,1],[14,0,\\\"title\\\"],[12],[1,[30,1,[\\\"excerpt_full\\\"]]],[13],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"when\\\"],[12],[1,[28,[35,16],[[30,1,[\\\"created_at\\\"]]],null]],[13],[1,\\\"\\\\n                      \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                  \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null]],[]],[[[1,\\\"                  \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\n                    No recent engagements\\\\n                  \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" About Me \\\"],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"full-profile-1-panel about\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"header\\\"],[14,0,\\\"profile-1-panel__head\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"h3\\\"],[12],[1,\\\"About Me:\\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n          \\\"],[10,\\\"section\\\"],[14,0,\\\"profile-1-panel\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"profile-1-panel-inner\\\"],[12],[1,\\\"\\\\n              \\\"],[10,0],[12],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"\\\\n                  \\\"],[1,[30,0,[\\\"user\\\",\\\"about_me\\\"]]],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n              \\\"],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"currentUsername\\\"]],[[[41,[28,[37,18],[[28,[37,19],[[30,0,[\\\"user\\\",\\\"username\\\"]],[30,0,[\\\"currentUsername\\\"]]],null]],null],[[[1,\\\"                  \\\"],[10,0],[14,0,\\\"profile-1-report\\\"],[12],[1,\\\"\\\\n                    \\\"],[11,\\\"button\\\"],[24,0,\\\"cp-flag-btn\\\"],[24,4,\\\"button\\\"],[4,[38,21],[\\\"click\\\",[30,0,[\\\"reportProfile\\\"]]],null],[12],[1,\\\"\\\\n                      \\\"],[1,[28,[35,22],[\\\"flag\\\"],null]],[1,\\\"\\\\n                      \\\"],[10,1],[12],[1,\\\"Report\\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                  \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[]],null],[1,\\\"            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"profile-1-row bottom\\\"],[12],[1,\\\"\\\\n        \\\"],[3,\\\" Top 5 \\\"],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"userGames\\\"]],[[[1,\\\"          \\\"],[10,0],[14,0,\\\"full-profile-1-panel top-5\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"header\\\"],[14,0,\\\"profile-1-panel__head\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"h3\\\"],[12],[1,\\\"My Top 5:\\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"section\\\"],[14,0,\\\"profile-1-panel\\\"],[12],[1,\\\"\\\\n              \\\"],[10,0],[14,0,\\\"profile-1-panel-inner\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,14],[[28,[37,14],[[30,0,[\\\"userGames\\\"]]],null]],null],\\\"position\\\",[[[1,\\\"                \\\"],[10,0],[14,0,\\\"profile-top-game-item\\\"],[15,5,[29,[\\\"background: linear-gradient(to bottom right, \\\",[30,2,[\\\"color\\\"]],\\\", \\\",[30,2,[\\\"color2\\\"]],\\\");\\\"]]],[12],[1,[30,2,[\\\"game\\\"]]],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\"              \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n        \\\"],[3,\\\" User Images \\\"],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"user\\\",\\\"user_images\\\"]],[[[1,\\\"        \\\"],[10,0],[14,0,\\\"full-profile-1-panel user-images\\\"],[12],[1,\\\"\\\\n          \\\"],[10,\\\"section\\\"],[14,0,\\\"profile-1-photo-album\\\"],[12],[1,\\\"\\\\n            \\\"],[8,[39,23],null,[[\\\"@images\\\",\\\"@onImageClick\\\"],[[30,0,[\\\"user\\\",\\\"user_images\\\"]],[30,0,[\\\"openImageViewer\\\"]]]],null],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\\n          \\\"],[8,[39,24],null,[[\\\"@isOpen\\\",\\\"@image\\\",\\\"@hasPrev\\\",\\\"@hasNext\\\",\\\"@onClose\\\",\\\"@onPrev\\\",\\\"@onNext\\\",\\\"@onReport\\\"],[[30,0,[\\\"isViewerOpen\\\"]],[30,0,[\\\"viewerImage\\\"]],[30,0,[\\\"viewerHasPrev\\\"]],[30,0,[\\\"viewerHasNext\\\"]],[30,0,[\\\"closeViewer\\\"]],[30,0,[\\\"prevImage\\\"]],[30,0,[\\\"nextImage\\\"]],[30,0,[\\\"reportCurrentImage\\\"]]]],null],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"      \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[10,0],[14,0,\\\"edit-profile-img-slot\\\"],[12],[1,\\\"\\\\n      \\\"],[8,[39,25],null,[[\\\"@ad\\\"],[[30,0,[\\\"ad\\\"]]]],null],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[8,[39,26],null,[[\\\"@isOpen\\\",\\\"@targetType\\\",\\\"@targetId\\\",\\\"@reportedUserId\\\",\\\"@snapshot\\\",\\\"@onClose\\\"],[[30,0,[\\\"isReportOpen\\\"]],[30,0,[\\\"reportTargetType\\\"]],[30,0,[\\\"reportTargetId\\\"]],[30,0,[\\\"user\\\",\\\"id\\\"]],[30,0,[\\\"reportSnapshot\\\"]],[30,0,[\\\"closeReport\\\"]]]],null],[1,\\\"\\\\n\\\\n  \\\"],[8,[39,27],null,[[\\\"@isOpen\\\",\\\"@title\\\",\\\"@description\\\",\\\"@okLabel\\\",\\\"@cancelLabel\\\",\\\"@onOk\\\",\\\"@onCancel\\\"],[[30,0,[\\\"isConfirmOpen\\\"]],[30,0,[\\\"confirmTitle\\\"]],[30,0,[\\\"confirmDesc\\\"]],[30,0,[\\\"confirmOkLabel\\\"]],[30,0,[\\\"confirmCancelLabel\\\"]],[30,0,[\\\"confirmOk\\\"]],[30,0,[\\\"confirmCancel\\\"]]]],null],[1,\\\"\\\\n\\\\n\\\"],[13]],[\\\"action\\\",\\\"game\\\"],false,[\\\"div\\\",\\\"main\\\",\\\"section\\\",\\\"avatar\\\",\\\"span\\\",\\\"h1\\\",\\\"cp-profile-linked-providers\\\",\\\"header\\\",\\\"h3\\\",\\\"h5\\\",\\\"a\\\",\\\"ul\\\",\\\"if\\\",\\\"each\\\",\\\"-track-array\\\",\\\"li\\\",\\\"format-date\\\",\\\"p\\\",\\\"not\\\",\\\"eq\\\",\\\"button\\\",\\\"on\\\",\\\"d-icon\\\",\\\"focus-carousel\\\",\\\"fullscreen-image-viewer\\\",\\\"cp-ad\\\",\\\"report-content-modal\\\",\\\"cp-modal\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-profile.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-tos\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container cp-legal\">\n      <div class=\"full-legal-panel\">\n          <header class=\"legal-panel__head\">\n              <h3>Terms of Service</h3>\n          </header>\n  \n          <section class=\"legal-panel\">\n              <div class=\"legal-panel-inner\">\n  \n                  <p><b>October 29, 2025</b></p>\n  \n                  <p><b>WELCOME TO AMD GAMING!</b></p>\n  \n                  <p>These Terms of Service (\"Terms\") apply to a person or company's access to and use of the AMD Gaming\n                      website, found at <a href=\"https://www.amdgaming.com\" target=\"_blank\">http://www.amdgaming.com</a>\n                      (the \"Site\"), which includes without limitation the content of the Site, various functions,\n                      features, applications and downloads, and gaming products and services provided through the Site.\n                  </p>\n  \n                  <p>As used in these Terms, \"we\" and its variants (\"our\" and \"ours\"), mean and refer to iGames, Inc\n                      (\"iGames\"), and \"you\" and its variants (\"your\" and \"yours\") mean and refer to the person who is\n                      accessing or using the Site. These Terms may be changed or updated by iGames at any time, but you\n                      can always find the most recent version at <a href=\"/legal/tos\"\n                          target=\"_blank\">http://www.amdgaming.com/legal/tos</a>. Except as stated below, all amended\n                      terms\n                      shall automatically be effective 30 days after they are initially posted on the Site. In addition,\n                      we may notify you of any amended terms by sending an email to the current email address we have for\n                      you. However, we suggest that you periodically check that page to make sure that your understanding\n                      of these Terms is up to date.</p>\n  \n                  <p>Acceptance of these Terms creates a binding legal agreement between you and iGames that you will use\n                      the Site only in a manner that is consistent with these Terms. If you have questions about these\n                      Terms, please contact us at <a href=\"mailto:info@igamesinc.com\">info@igamesinc.com</a>. Your use of\n                      the Site is entirely conditioned on and subject to your compliance with these Terms. If you do not\n                      agree with these Terms, do not register for the Site and do not use any part of the Site. Advanced\n                      Micro Devices, Inc. (inclusive of its subsidiaries and affiliates) (“AMD”) is featured on the Site;\n                      however, under no circumstances will any such AMD entity be responsible or liable to you in any\n                      manner relating to the Site.</p>\n  \n                  <p><b>BY CLICKING YOUR ACCEPTANCE OF THESE TERMS, OR BY USING THE SITE, YOU ACKNOWLEDGE THAT YOU HAVE\n                          READ AND UNDERSTAND THESE TERMS AND AGREE TO BE LEGALLY BOUND BY THEM.</b></p>\n  \n                  <h2>1. ACCOUNTS</h2>\n                  <p>To register an account with us, you must provide, including but not limited to, your name, email\n                      address, date of birth, user ID, and a password of your choice. In addition, by becoming a member of\n                      the Site, you agree that any information you provide to iGames about yourself will be true,\n                      accurate, current and complete when provided. This information is used to identify you as a \"unique\n                      user\" of the Site. If we learn that you provided false or misleading registration information\n                      including the creation of more than one account, we may terminate your access to or use of the Site\n                      without notice. You are responsible for all actions taken under your account and shall only use the\n                      Site using your own user ID and password. You must use every effort to keep your password safe and\n                      should not disclose it to any other person. You agree to (a) immediately notify iGames of any\n                      unauthorized use of your password or account or any other breach of security, and (b) ensure that\n                      you exit from your account at the end of each session. You may not transfer or sell your user ID to\n                      any other person. You may not permit, either directly or indirectly, any other person to use your\n                      user ID or password. We will use your account information in accordance with these Terms and the\n                      Privacy Policy which can be found at <a href=\"/legal/privacy\"\n                          target=\"_blank\">http://www.amdgaming.com/legal/privacy</a>. We will assume (and by using the\n                      Site you warrant)\n                      that either you have the legal capacity to be bound by these Terms (i.e., that you are of sufficient\n                      age and mental capacity and are otherwise entitled to be legally bound in contract), or your parents\n                      have consented to your use of the Site and accept these Terms on your behalf.</p>\n  \n                  <p>No one under thirteen (13) years of age (or age 16 in the EU) is allowed to use or access the Site\n                      without their legal guardian’s consent. By using the Site, you state that:</p>\n                  <ul>\n                      <li>You are at least thirteen (13) years old (or age 16 in the EU) and over the minimum age required\n                          by the laws of your country of residence to access and use the Site; and</li>\n                      <li>You can form a binding contract with iGames, or, if you are under the age of majority in your\n                          jurisdiction, that your legal guardian has reviewed and agrees to these Terms.</li>\n                  </ul>\n  \n                  <h2>2. ACTIVITIES AND PROMOTIONS</h2>\n                  <p>When you register for activities and promotions through the Site, you may be required to provide\n                      additional contact information and agree to the official rules that may include eligibility, format,\n                      and prize structure. You must register separately for each activity or promotion. Rules and\n                      eligibility may vary.</p>\n  \n                  <h2>3. PRIVACY PRACTICES</h2>\n                  <p>We respect your privacy and have taken specific steps to protect it. The terms of our Privacy Policy\n                      are incorporated into these Terms by reference and constitute part of the agreement between you and\n                      iGames.</p>\n  \n                  <p>You acknowledge that, as part of your registration process and in consideration for the privilege of\n                      using the Site, and to the extent permitted by applicable laws, we may send to your computer one or\n                      more \"cookies\" without any further notice to you. A \"cookie\" is information either temporarily or\n                      permanently stored in a file on your computer. You can set your internet browser to reject cookies\n                      (refer to your internet browser instructions if you wish to do so), but that may limit your use of\n                      some convenience features at this Site. We may also obtain certain identification information about\n                      your computer and its operating system, including the OS version, central processing unit, IP\n                      addresses, and operating systems for identification purposes. The Site also collects information\n                      from you during your navigation of the Site, such as the URL of the site you just came from, the\n                      browser version you use, IP ports, date/time of access, size of data transferred, pages you visit,\n                      and other \"clickstream\" data. We are typically not able to relate such data to you as an individual\n                      if you merely browse our Site and do not disclose your identity to us, e.g., in connection with a\n                      registration. Furthermore, to the extent permitted by applicable laws, we or AMD may obtain\n                      non-personal data from your Internet browsing software in order to make certain demographic\n                      assumptions regarding the users of the Site without any further notice to you. If we are contacted\n                      by governmental authorities and/or parties seeking legal redress against you for a violation\n                      committed by you or alleged to have been committed by you involving your use of the Site, we will\n                      cooperate fully with all governmental authorities and any lawful orders of the court with regards to\n                      the release of information that relates to you and your use of the Site, including, but not limited\n                      to, user Internet Protocol (IP) addresses, associated personal information, and all other user\n                      information on file.</p>\n  \n                  <p>If you object to your data and other personal information being collected or used in the above ways,\n                      then do not use or register on the Site.</p>\n  \n                  <h2>4. PROPRIETARY RIGHTS</h2>\n                  <p>You acknowledge and agree that all content and materials available on the Site, are protected by\n                      copyrights, trademarks, service marks, patents, trade secrets, or other proprietary rights and laws.\n                      You agree not to sell, license, rent, modify, distribute, copy, reproduce, transmit, publicly\n                      display, publicly perform, publish, adapt, edit, or create derivative works from, such materials or\n                      content. You understand that iGames is unable to provide you with permission to copy, display or\n                      distribute material which you do not own. You may not copy or distribute such material without the\n                      written consent of the owner. You are solely responsible for any violations of law that you may\n                      incur as a result of your activities on the Site. Systematic retrieval of data or other content from\n                      the Site to create or compile, directly or indirectly, a collection, compilation, database or\n                      directory without written permission from iGames is prohibited. In addition, use of the content or\n                      materials for any purpose not expressly permitted in these Terms is prohibited.</p>\n  \n                  <p>If you believe that your work or the work of another has been placed onto the Site in a way that\n                      constitutes copyright infringement, iGames has a process in place to respond to your concerns.\n                      Please visit our page on <a href=\"https://www.igamesinc.com/dmca.html\" target=\"_blank\">Copyright\n                          Infringement Claims</a> for an explanation of that process.</p>\n  \n                  <p>iGames and AMD makes no representation that materials in the Site are appropriate or available for\n                      use in locations other than the United States, and access to them from territories where their\n                      content is illegal is prohibited. Those who choose to access this Site from other locations do so on\n                      their own initiative and are responsible for compliance with applicable local laws.</p>\n  \n                  <h2>5. LICENSE GRANT</h2>\n                  <p>By posting or submitting suggestions or content, such as forum postings, videos, pictures, screen\n                      shots and any other data, to the Site, you (a) grant AMD and iGames and its affiliates and licensees\n                      a perpetual, irrevocable right and license, with right of sublicense, to use, reproduce, display,\n                      perform, adapt, modify, sublicense, distribute, have distributed, and promote your suggestions and\n                      content in any form, anywhere and for any purpose; and (b) warrant and represent that you have the\n                      right to grant these rights and licenses and that the public posting and use of your suggestions and\n                      content by iGames or AMD will not infringe or violate the rights of any third party.</p>\n  \n                  <h2>6. YOUR USE OF THE SITE</h2>\n                  <p>Your use of the Site is subject at all times to the Terms. Without limiting any of the restrictions\n                      and obligations in these Terms, you may use the Site for your own personal use, and you may not,\n                      without our prior permission:</p>\n                  <ul>\n                      <li>Sell or grant a security interest in or transfer reproductions of the Site to other parties in\n                          any way, nor to rent, lease, or license the Site to others;</li>\n                      <li>Create copied works based on the Site;</li>\n                      <li>Use any third-party software to modify a promotion, event or activity, including, but not\n                          limited to cheats and/or hacks;</li>\n                      <li>Institute attacks upon a Site server or otherwise disrupt the Site;</li>\n                      <li>Cheat during activities, including but not limited to modification of program files;</li>\n                      <li>Impersonate an official, iGames employee or any other person;</li>\n                      <li>Disrupt the normal flow of dialogue in a chat room/forum/group or otherwise act in a manner that\n                          negatively affects other users, individuals, or entities, including, but not limited to, posting\n                          spam messages on the Site (where spam messages as used herein include, but are not limited to\n                          any effort to use a computer or other electronic device to post an unauthorized and/or\n                          unsolicited advertisement to the Site);</li>\n                      <li>Intentionally, negligently or unintentionally violate any applicable local, state, national, or\n                          international law or regulation;</li>\n                      <li>Modify any Site file that iGames does not specifically authorize you to modify;</li>\n                      <li>Spam by posting or sending more than one unsolicited message or piece of mail to a single\n                          address or in a chat area; Communicate or post any user's personal information to the Site;</li>\n                      <li>\"Frame\" or \"mirror\" any part of the Site, without our prior written authorization;</li>\n                      <li>Use meta tags or code or other devices containing any reference to us or the Site in order to\n                          direct any person to any other website for any purpose;</li>\n                      <li>Modify, adapt, sublicense, translate, sell, reverse engineer, decipher, decompile or otherwise\n                          disassemble any portion of the Site or any software used on or for the Site or allow or cause\n                          others to do so; or</li>\n                      <li>Use any reverse compilation, reverse engineering, decompilation or disassembly techniques or\n                          similar methods to determine any design structure, concepts and construction method of the Site\n                          or replicate the functionality of the Site for any purpose.</li>\n                  </ul>\n                  <p>In addition to the above, you agree to follow any specific platform rules (posted conspicuously on\n                      the Site) and any additional terms and conditions set forth on any page of this Site.</p>\n                  <p>If we believe you have violated or may or will violate any of the foregoing provisions, we or AMD\n                      may, at our option and without limiting any of our remedies available herein or at law, and with or\n                      without notice to you, suspend and/or terminate your access to the Site.</p>\n  \n                  <h2>7. CONTENT</h2>\n                  <p>iGames and AMD assume no liability for content posted on the AMD Gaming forums or other community\n                      based areas of the Site or for the actions or behavior of any contributor or participant. All\n                      opinions and views expressed in the forums, including those of the iGames or AMD staff, are solely\n                      those of their respective authors and do not reflect the opinions of iGames or AMD. iGames or AMD\n                      may delete, cancel, purge or modify any post, in part or in whole, without prior notice or further\n                      explanation. iGames or AMD may also ban you from the forums without prior notice, for any reason, at\n                      their discretion.</p>\n  \n                  <p>You are solely responsible for all of the content that you publish or display on the Site (\"post\") or\n                      transmit to other users (in each case, \"Content\"). Your use of the Site, including but not limited\n                      to the Content you post or transmit, must be in complete accordance with any and all applicable laws\n                      and regulations. You will not post or transmit any defamatory, inaccurate, offensive, threatening,\n                      harassing, or illegal material, or any material that infringes or violates another party's rights\n                      (including, but not limited to, intellectual property rights and rights of privacy and publicity),\n                      or post or transmit \"junk mail\", \"chain letters,\" or unsolicited mass mailing or \"spam.\" You will\n                      not provide inaccurate, misleading or false information to us or to any user. If information\n                      provided to us, or to a user, subsequently becomes inaccurate, misleading or false, you will\n                      promptly notify us of such change. Without limiting the foregoing:</p>\n                  <ul>\n                      <li>You will not express or imply that any statements you make are endorsed by us without our\n                          specific prior written consent;</li>\n                      <li>You will not use any robot, spider, site search/retrieval application, or other manual or\n                          automatic device or process to retrieve, index, \"data mine\", or in any way reproduce or\n                          circumvent the navigational structure or presentation of the Site or its contents;</li>\n                      <li>You will not post, distribute or reproduce in any way any copyrighted material, trademarks, or\n                          other proprietary information without obtaining the prior consent of the owner of such\n                          proprietary rights;</li>\n                      <li>You will not remove any copyright, trademark or other proprietary rights notices contained on\n                          the Site;</li>\n                      <li>You will not post or transmit any material that contains software viruses or any other computer\n                          code, files or programs designed to interrupt, destroy or limit the functionality of any\n                          computer software or hardware or telecommunications equipment;</li>\n                      <li>You will not forge headers or otherwise manipulate identifiers in order to disguise the origin\n                          of any information transmitted through the Site;</li>\n                      <li>You will not harass, threaten, stalk, embarrass, or cause distress, unwanted attention or\n                          discomfort upon another user of the Site or another person or entity;</li>\n                      <li>You will not transmit or post sexually explicit images or other content which in our sole\n                          discretion is deemed to be offensive; nor shall you transmit any unlawful, harmful, threatening,\n                          abusive, harassing, defamatory, vulgar, obscene, hateful, racially, ethnically, or otherwise\n                          objectionable content;</li>\n                      <li>You will not post or transmit chain letters, cash bots, or pyramid schemes; unsolicited\n                          advertising, promotional materials, or other forms of solicitation to other users, individuals,\n                          or entities; and</li>\n                      <li>You will not post or transmit comments or content defamatory, libelous, slanderous, disparaging,\n                          or otherwise offensive against iGames, AMD or their licensors, sponsors, partners, products,\n                          officials, or members.</li>\n                  </ul>\n                  <p>You understand and agree that we or AMD may review and delete Content, in whole or in part, at any\n                      time. Such deletion shall be at our sole discretion, and may occur, without limitation, if we\n                      believe Content violates or may violate these Terms, or might be offensive, illegal, or that might\n                      violate the rights of others. Use of the Site is granted with our permission, which may be revoked\n                      at any time, for any reason, in our sole discretion.</p>\n  \n                  <h2>8. LINKS TO THIRD PARTY SITES AND ADVERTISERS</h2>\n                  <p>The Site may contain links to third party websites, including sites or members (collectively \"Linked\n                      Sites\"). The Linked Sites are not under the control of iGames. iGames is not responsible for the\n                      content of any Linked Site, including, but not limited to, the services provided through a Linked\n                      Site, any link contained in a Linked Site, or any changes or updates to a Linked Site. iGames is not\n                      responsible for any transmission received from any Linked Site nor is iGames responsible if the\n                      Linked Site is not working properly. iGames provides these links to you as a convenience. The\n                      inclusion of a Linked Site does not imply endorsement by iGames of the site or any association with\n                      its operators. You are responsible for viewing and abiding by the privacy statements and terms of\n                      use posted at the Linked Sites which you visit. Any dealings with third parties (including corporate\n                      sponsor members and other advertisers) included within the Site or participation in promotions,\n                      including the delivery of and the payment for goods and services, and any other terms, conditions,\n                      warranties or representations associated with such dealings or promotions, are solely between the\n                      member and the advertiser, other third party, or other member. iGames is not responsible or liable\n                      to any member, advertiser, or third party, for any part of any such dealings or promotions.</p>\n  \n                  <h2>9. OTHER LIMITATIONS</h2>\n                  <p>iGames may establish general practices and limits concerning the use and operation of the Site. You\n                      agree that iGames has no responsibility or liability for the deletion or failure to store any\n                      information maintained on, or transmitted by, the Site. You understand that iGames reserves the\n                      right to close accounts that are inactive for an extended period of time. You further acknowledge\n                      that iGames reserves the right to change these general practices and limits at any time, in its sole\n                      discretion, with or without notice.</p>\n  \n                  <h2>10. U.S. EXPORT CONTROLS</h2>\n                  <p>Software, applications, widgets, gadgets and other tools made available on the Site (\"Software\") are\n                      each subject to United States export controls. No Software may be downloaded from the Site or\n                      otherwise exported or re-exported (i) into, or to a national or resident of, any country to which\n                      the U.S. has embargoed goods; or (ii) to anyone on the U.S. Treasury Department's list of Specially\n                      Designated Nationals or the U.S. Commerce Department's Table of Deny Orders. By downloading or using\n                      the Software, you represent and warrant that you are not located in, under the control of, or a\n                      national or resident of any such country or on any such list.</p>\n  \n                  <h2>11. INDEMNITY</h2>\n                  <p>You agree to indemnify, defend and hold harmless iGames (including its officers, directors,\n                      employees, agents, licensors, suppliers and any third-party information providers to the service),\n                      from and against all losses, expenses, damages and costs, including reasonable attorneys' fees,\n                      resulting from any violation of these Terms or any activity related to your account (including\n                      negligent or wrongful conduct) by you or any other person accessing the Site using your account.</p>\n  \n                  <h2>12. NO WARRANTY</h2>\n                  <p>(a) No Warranty. The Site and any product or service available through the Site are provided on an\n                      \"As Is\" and \"As Available\" basis. Your use of such product or service is at your own risk. iGames\n                      does not guarantee continuous, uninterrupted or secure access to the Site. The operation of the Site\n                      may be interfered with by numerous factors outside of our control. You also understand that iGames\n                      is not responsible for the security or privacy of communications sent via the Service.</p>\n                  <p>(b) Disclaimer. To the extent permitted under applicable law, iGames expressly disclaims all\n                      warranties of any kind, whether express or implied, including, but not limited to the implied\n                      warranties of merchantability, fitness for a particular purpose, satisfactory quality,\n                      non-infringement and accuracy of information. iGames makes no warranty that (i) the Site will be\n                      provided in a manner that is uninterrupted, timely, secure, or error free, (ii) the Site is or will\n                      be free of viruses or other harmful components, or (iii) the Site or content provided will meet your\n                      requirements. iGames makes no warranties of any kind with respect to software, goods, services,\n                      promotions, or the delivery of any software, goods or services that are purchased, accessed or\n                      obtained through the Site or that are advertised on the Site. Any material downloaded or otherwise\n                      obtained through the use of the Site is done at your own discretion and risk. You will be solely\n                      responsible for any damage to your computer system or loss of data that results from the download of\n                      any such material.</p>\n  \n                  <h2>13. LIMITATION OF LIABILITY</h2>\n                  <p>You expressly acknowledge and agree that, to the fullest extent permitted under law, iGames will have\n                      no obligation or liability (whether arising in contract, warranty, tort (including negligence),\n                      product liability or otherwise) for any incidental, indirect or consequential damages or liabilities\n                      (including, but not limited to, any loss of data, revenue or profit) arising with respect to your\n                      use of the Service or Site, even if you have been advised of the possibility of such damages.\n                      Examples of the types of matters to which the foregoing applies include (a) use of or inability to\n                      use the Service or Site; (b) the cost of procurement of substitute goods or services; (c)\n                      unauthorized access to or alteration of your profile or Membership by third parties; (d) third party\n                      content made available to you through the Service or Site; or (e) any other matter relating to the\n                      Service or Site. In addition, iGames' liability, and the liability of our officers, directors,\n                      employees, and suppliers, to you or any third parties in any circumstance is limited to the greater\n                      of (a) the amount of membership fees you pay to us in the 12 months prior to the action giving rise\n                      to the liability, and (b) $100. Some jurisdictions do not allow the exclusion or limitation of\n                      damages, so the above limitations or exclusions may not apply to you.</p>\n  \n                  <h2>14. TERMINATION</h2>\n                  <p>You agree and acknowledge that iGames, in its sole discretion, may terminate your account (or any\n                      part thereof) or use of the Site, and remove and discard any of your content including, but not\n                      limited to, any and all information, communications, postings, messages, files and other content\n                      within the Site, at any time, without notice, for any reason, including but not limited to (a) if\n                      iGames believes that you have violated or acted inconsistently with the letter or spirit of these\n                      Terms, including a failure to pay any fees as and when due, or (b) if iGames decides to discontinue\n                      any portion of the Site. Upon termination of your account, the agreement between you and iGames as\n                      contained in these Terms and your right to use the Site, shall immediately cease. You agree that\n                      iGames shall not be liable to you or any third-party for any termination of your access to the Site.\n                      Termination of your account and the agreement between you and iGames as contained in these Terms\n                      shall not affect Section 3 (Privacy Practices), Section 4 (Proprietary Rights), Section 5 (License\n                      Grant), Section 11 (Indemnity), Section 12 (No Warranty), Section 13 (Limitation of Liability),\n                      Section 14 (Termination), Section 15 (Choice of Law and Forum), and Section 17 (Entire Agreement;\n                      Other Terms).</p>\n  \n                  <h2>15. CHOICE OF LAW AND FORUM</h2>\n                  <p>The laws of the State of Idaho, USA, excluding its conflicts-of-law rules, govern these Terms. The\n                      state and federal courts with districts which include Ada County, Idaho, USA, shall be the exclusive\n                      forum and venue to resolve any and all disputes arising out of or relating to these Terms. However,\n                      in an action to enforce a judgment, such forum and venue shall be nonexclusive. You consent to\n                      personal jurisdiction and venue by such state and federal courts.</p>\n  \n                  <h2>16. MODIFICATION OF THESE TERMS AND THE SERVICE</h2>\n                  <p>You agree that iGames reserves the right (for any reason and without notice) to amend these Terms and\n                      to modify or discontinue, temporarily or permanently, all or any part of the Site. Unless explicitly\n                      stated otherwise, any new features on the Site are subject to these Terms.</p>\n  \n                  <h2>17. ENTIRE AGREEMENT; OTHER TERMS</h2>\n                  <p>These Terms (including the Privacy Policy and other incorporated terms) constitute the entire\n                      agreement between you and iGames and govern your use of the Site, superseding any prior agreements\n                      between you and iGames. If these Terms are inconsistent with information included in off-line\n                      materials, these Terms will always control.</p>\n  \n                  <p>The failure of iGames to exercise or enforce any right or provision of these Terms shall not\n                      constitute a waiver of such right or provision. If any provision of these Terms is found by a court\n                      of competent jurisdiction to be invalid, the parties nevertheless agree that the court should\n                      attempt to give effect to the parties' intentions as reflected in the provision, and the other\n                      provisions of these Terms shall remain in effect.</p>\n  \n                  <p>You agree that these Terms and all incorporated documents may be assigned by iGames in our sole\n                      discretion. Headings are for reference purposes only and in no way define, limit, construe or\n                      describe the scope or extent of such section. You agree that regardless of any statute or law to the\n                      contrary, any claim or cause of action arising out of or related to use of the Site, the Service,\n                      any software, or these Terms, must be filed within one (1) year after such claim or cause of action\n                      arose or be forever barred.</p>\n  \n                  <h2>18. COPYRIGHT AND TRADEMARK NOTICES</h2>\n                  <p>All content of the Site are: Copyright© 2025 Advanced Micro Devices, Inc. and/or its suppliers. All\n                      rights reserved.</p>\n  \n                  <p>The AMD logo and AMD related brands, are either trademarks or registered trademarks of AMD. The\n                      iGames logo and iGames related brands are either trademarks or registered trademarks of iGames, Inc.\n                      The names of actual companies and products mentioned in the Site may be the trademarks of their\n                      respective owners.</p>\n  \n                  <h2>19. REPORTING VIOLATIONS</h2>\n                  <p>You can report violation of these Terms to <a\n                          href=\"mailto:info@igamesinc.com\">info@igamesinc.com</a>.</p>\n  \n              </div>\n          </section>\n      </div>\n  </div>\n  */\n  {\n    \"id\": \"bc17SdxD\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container cp-legal\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"full-legal-panel\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"header\\\"],[14,0,\\\"legal-panel__head\\\"],[12],[1,\\\"\\\\n            \\\"],[10,\\\"h3\\\"],[12],[1,\\\"Terms of Service\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"legal-panel\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"legal-panel-inner\\\"],[12],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[10,\\\"b\\\"],[12],[1,\\\"October 29, 2025\\\"],[13],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[10,\\\"b\\\"],[12],[1,\\\"WELCOME TO AMD GAMING!\\\"],[13],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"These Terms of Service (\\\\\\\"Terms\\\\\\\") apply to a person or company's access to and use of the AMD Gaming\\\\n                    website, found at \\\"],[10,3],[14,6,\\\"https://www.amdgaming.com\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"http://www.amdgaming.com\\\"],[13],[1,\\\"\\\\n                    (the \\\\\\\"Site\\\\\\\"), which includes without limitation the content of the Site, various functions,\\\\n                    features, applications and downloads, and gaming products and services provided through the Site.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"As used in these Terms, \\\\\\\"we\\\\\\\" and its variants (\\\\\\\"our\\\\\\\" and \\\\\\\"ours\\\\\\\"), mean and refer to iGames, Inc\\\\n                    (\\\\\\\"iGames\\\\\\\"), and \\\\\\\"you\\\\\\\" and its variants (\\\\\\\"your\\\\\\\" and \\\\\\\"yours\\\\\\\") mean and refer to the person who is\\\\n                    accessing or using the Site. These Terms may be changed or updated by iGames at any time, but you\\\\n                    can always find the most recent version at \\\"],[10,3],[14,6,\\\"/legal/tos\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"http://www.amdgaming.com/legal/tos\\\"],[13],[1,\\\". Except as stated below, all amended\\\\n                    terms\\\\n                    shall automatically be effective 30 days after they are initially posted on the Site. In addition,\\\\n                    we may notify you of any amended terms by sending an email to the current email address we have for\\\\n                    you. However, we suggest that you periodically check that page to make sure that your understanding\\\\n                    of these Terms is up to date.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"Acceptance of these Terms creates a binding legal agreement between you and iGames that you will use\\\\n                    the Site only in a manner that is consistent with these Terms. If you have questions about these\\\\n                    Terms, please contact us at \\\"],[10,3],[14,6,\\\"mailto:info@igamesinc.com\\\"],[12],[1,\\\"info@igamesinc.com\\\"],[13],[1,\\\". Your use of\\\\n                    the Site is entirely conditioned on and subject to your compliance with these Terms. If you do not\\\\n                    agree with these Terms, do not register for the Site and do not use any part of the Site. Advanced\\\\n                    Micro Devices, Inc. (inclusive of its subsidiaries and affiliates) (“AMD”) is featured on the Site;\\\\n                    however, under no circumstances will any such AMD entity be responsible or liable to you in any\\\\n                    manner relating to the Site.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[10,\\\"b\\\"],[12],[1,\\\"BY CLICKING YOUR ACCEPTANCE OF THESE TERMS, OR BY USING THE SITE, YOU ACKNOWLEDGE THAT YOU HAVE\\\\n                        READ AND UNDERSTAND THESE TERMS AND AGREE TO BE LEGALLY BOUND BY THEM.\\\"],[13],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"1. ACCOUNTS\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"To register an account with us, you must provide, including but not limited to, your name, email\\\\n                    address, date of birth, user ID, and a password of your choice. In addition, by becoming a member of\\\\n                    the Site, you agree that any information you provide to iGames about yourself will be true,\\\\n                    accurate, current and complete when provided. This information is used to identify you as a \\\\\\\"unique\\\\n                    user\\\\\\\" of the Site. If we learn that you provided false or misleading registration information\\\\n                    including the creation of more than one account, we may terminate your access to or use of the Site\\\\n                    without notice. You are responsible for all actions taken under your account and shall only use the\\\\n                    Site using your own user ID and password. You must use every effort to keep your password safe and\\\\n                    should not disclose it to any other person. You agree to (a) immediately notify iGames of any\\\\n                    unauthorized use of your password or account or any other breach of security, and (b) ensure that\\\\n                    you exit from your account at the end of each session. You may not transfer or sell your user ID to\\\\n                    any other person. You may not permit, either directly or indirectly, any other person to use your\\\\n                    user ID or password. We will use your account information in accordance with these Terms and the\\\\n                    Privacy Policy which can be found at \\\"],[10,3],[14,6,\\\"/legal/privacy\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"http://www.amdgaming.com/legal/privacy\\\"],[13],[1,\\\". We will assume (and by using the\\\\n                    Site you warrant)\\\\n                    that either you have the legal capacity to be bound by these Terms (i.e., that you are of sufficient\\\\n                    age and mental capacity and are otherwise entitled to be legally bound in contract), or your parents\\\\n                    have consented to your use of the Site and accept these Terms on your behalf.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"No one under thirteen (13) years of age (or age 16 in the EU) is allowed to use or access the Site\\\\n                    without their legal guardian’s consent. By using the Site, you state that:\\\"],[13],[1,\\\"\\\\n                \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"You are at least thirteen (13) years old (or age 16 in the EU) and over the minimum age required\\\\n                        by the laws of your country of residence to access and use the Site; and\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"You can form a binding contract with iGames, or, if you are under the age of majority in your\\\\n                        jurisdiction, that your legal guardian has reviewed and agrees to these Terms.\\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"2. ACTIVITIES AND PROMOTIONS\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"When you register for activities and promotions through the Site, you may be required to provide\\\\n                    additional contact information and agree to the official rules that may include eligibility, format,\\\\n                    and prize structure. You must register separately for each activity or promotion. Rules and\\\\n                    eligibility may vary.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"3. PRIVACY PRACTICES\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"We respect your privacy and have taken specific steps to protect it. The terms of our Privacy Policy\\\\n                    are incorporated into these Terms by reference and constitute part of the agreement between you and\\\\n                    iGames.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"You acknowledge that, as part of your registration process and in consideration for the privilege of\\\\n                    using the Site, and to the extent permitted by applicable laws, we may send to your computer one or\\\\n                    more \\\\\\\"cookies\\\\\\\" without any further notice to you. A \\\\\\\"cookie\\\\\\\" is information either temporarily or\\\\n                    permanently stored in a file on your computer. You can set your internet browser to reject cookies\\\\n                    (refer to your internet browser instructions if you wish to do so), but that may limit your use of\\\\n                    some convenience features at this Site. We may also obtain certain identification information about\\\\n                    your computer and its operating system, including the OS version, central processing unit, IP\\\\n                    addresses, and operating systems for identification purposes. The Site also collects information\\\\n                    from you during your navigation of the Site, such as the URL of the site you just came from, the\\\\n                    browser version you use, IP ports, date/time of access, size of data transferred, pages you visit,\\\\n                    and other \\\\\\\"clickstream\\\\\\\" data. We are typically not able to relate such data to you as an individual\\\\n                    if you merely browse our Site and do not disclose your identity to us, e.g., in connection with a\\\\n                    registration. Furthermore, to the extent permitted by applicable laws, we or AMD may obtain\\\\n                    non-personal data from your Internet browsing software in order to make certain demographic\\\\n                    assumptions regarding the users of the Site without any further notice to you. If we are contacted\\\\n                    by governmental authorities and/or parties seeking legal redress against you for a violation\\\\n                    committed by you or alleged to have been committed by you involving your use of the Site, we will\\\\n                    cooperate fully with all governmental authorities and any lawful orders of the court with regards to\\\\n                    the release of information that relates to you and your use of the Site, including, but not limited\\\\n                    to, user Internet Protocol (IP) addresses, associated personal information, and all other user\\\\n                    information on file.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"If you object to your data and other personal information being collected or used in the above ways,\\\\n                    then do not use or register on the Site.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"4. PROPRIETARY RIGHTS\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"You acknowledge and agree that all content and materials available on the Site, are protected by\\\\n                    copyrights, trademarks, service marks, patents, trade secrets, or other proprietary rights and laws.\\\\n                    You agree not to sell, license, rent, modify, distribute, copy, reproduce, transmit, publicly\\\\n                    display, publicly perform, publish, adapt, edit, or create derivative works from, such materials or\\\\n                    content. You understand that iGames is unable to provide you with permission to copy, display or\\\\n                    distribute material which you do not own. You may not copy or distribute such material without the\\\\n                    written consent of the owner. You are solely responsible for any violations of law that you may\\\\n                    incur as a result of your activities on the Site. Systematic retrieval of data or other content from\\\\n                    the Site to create or compile, directly or indirectly, a collection, compilation, database or\\\\n                    directory without written permission from iGames is prohibited. In addition, use of the content or\\\\n                    materials for any purpose not expressly permitted in these Terms is prohibited.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"If you believe that your work or the work of another has been placed onto the Site in a way that\\\\n                    constitutes copyright infringement, iGames has a process in place to respond to your concerns.\\\\n                    Please visit our page on \\\"],[10,3],[14,6,\\\"https://www.igamesinc.com/dmca.html\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[12],[1,\\\"Copyright\\\\n                        Infringement Claims\\\"],[13],[1,\\\" for an explanation of that process.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"iGames and AMD makes no representation that materials in the Site are appropriate or available for\\\\n                    use in locations other than the United States, and access to them from territories where their\\\\n                    content is illegal is prohibited. Those who choose to access this Site from other locations do so on\\\\n                    their own initiative and are responsible for compliance with applicable local laws.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"5. LICENSE GRANT\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"By posting or submitting suggestions or content, such as forum postings, videos, pictures, screen\\\\n                    shots and any other data, to the Site, you (a) grant AMD and iGames and its affiliates and licensees\\\\n                    a perpetual, irrevocable right and license, with right of sublicense, to use, reproduce, display,\\\\n                    perform, adapt, modify, sublicense, distribute, have distributed, and promote your suggestions and\\\\n                    content in any form, anywhere and for any purpose; and (b) warrant and represent that you have the\\\\n                    right to grant these rights and licenses and that the public posting and use of your suggestions and\\\\n                    content by iGames or AMD will not infringe or violate the rights of any third party.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"6. YOUR USE OF THE SITE\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"Your use of the Site is subject at all times to the Terms. Without limiting any of the restrictions\\\\n                    and obligations in these Terms, you may use the Site for your own personal use, and you may not,\\\\n                    without our prior permission:\\\"],[13],[1,\\\"\\\\n                \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"Sell or grant a security interest in or transfer reproductions of the Site to other parties in\\\\n                        any way, nor to rent, lease, or license the Site to others;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"Create copied works based on the Site;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"Use any third-party software to modify a promotion, event or activity, including, but not\\\\n                        limited to cheats and/or hacks;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"Institute attacks upon a Site server or otherwise disrupt the Site;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"Cheat during activities, including but not limited to modification of program files;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"Impersonate an official, iGames employee or any other person;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"Disrupt the normal flow of dialogue in a chat room/forum/group or otherwise act in a manner that\\\\n                        negatively affects other users, individuals, or entities, including, but not limited to, posting\\\\n                        spam messages on the Site (where spam messages as used herein include, but are not limited to\\\\n                        any effort to use a computer or other electronic device to post an unauthorized and/or\\\\n                        unsolicited advertisement to the Site);\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"Intentionally, negligently or unintentionally violate any applicable local, state, national, or\\\\n                        international law or regulation;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"Modify any Site file that iGames does not specifically authorize you to modify;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"Spam by posting or sending more than one unsolicited message or piece of mail to a single\\\\n                        address or in a chat area; Communicate or post any user's personal information to the Site;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"\\\\\\\"Frame\\\\\\\" or \\\\\\\"mirror\\\\\\\" any part of the Site, without our prior written authorization;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"Use meta tags or code or other devices containing any reference to us or the Site in order to\\\\n                        direct any person to any other website for any purpose;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"Modify, adapt, sublicense, translate, sell, reverse engineer, decipher, decompile or otherwise\\\\n                        disassemble any portion of the Site or any software used on or for the Site or allow or cause\\\\n                        others to do so; or\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"Use any reverse compilation, reverse engineering, decompilation or disassembly techniques or\\\\n                        similar methods to determine any design structure, concepts and construction method of the Site\\\\n                        or replicate the functionality of the Site for any purpose.\\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"In addition to the above, you agree to follow any specific platform rules (posted conspicuously on\\\\n                    the Site) and any additional terms and conditions set forth on any page of this Site.\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"If we believe you have violated or may or will violate any of the foregoing provisions, we or AMD\\\\n                    may, at our option and without limiting any of our remedies available herein or at law, and with or\\\\n                    without notice to you, suspend and/or terminate your access to the Site.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"7. CONTENT\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"iGames and AMD assume no liability for content posted on the AMD Gaming forums or other community\\\\n                    based areas of the Site or for the actions or behavior of any contributor or participant. All\\\\n                    opinions and views expressed in the forums, including those of the iGames or AMD staff, are solely\\\\n                    those of their respective authors and do not reflect the opinions of iGames or AMD. iGames or AMD\\\\n                    may delete, cancel, purge or modify any post, in part or in whole, without prior notice or further\\\\n                    explanation. iGames or AMD may also ban you from the forums without prior notice, for any reason, at\\\\n                    their discretion.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"You are solely responsible for all of the content that you publish or display on the Site (\\\\\\\"post\\\\\\\") or\\\\n                    transmit to other users (in each case, \\\\\\\"Content\\\\\\\"). Your use of the Site, including but not limited\\\\n                    to the Content you post or transmit, must be in complete accordance with any and all applicable laws\\\\n                    and regulations. You will not post or transmit any defamatory, inaccurate, offensive, threatening,\\\\n                    harassing, or illegal material, or any material that infringes or violates another party's rights\\\\n                    (including, but not limited to, intellectual property rights and rights of privacy and publicity),\\\\n                    or post or transmit \\\\\\\"junk mail\\\\\\\", \\\\\\\"chain letters,\\\\\\\" or unsolicited mass mailing or \\\\\\\"spam.\\\\\\\" You will\\\\n                    not provide inaccurate, misleading or false information to us or to any user. If information\\\\n                    provided to us, or to a user, subsequently becomes inaccurate, misleading or false, you will\\\\n                    promptly notify us of such change. Without limiting the foregoing:\\\"],[13],[1,\\\"\\\\n                \\\"],[10,\\\"ul\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"You will not express or imply that any statements you make are endorsed by us without our\\\\n                        specific prior written consent;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"You will not use any robot, spider, site search/retrieval application, or other manual or\\\\n                        automatic device or process to retrieve, index, \\\\\\\"data mine\\\\\\\", or in any way reproduce or\\\\n                        circumvent the navigational structure or presentation of the Site or its contents;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"You will not post, distribute or reproduce in any way any copyrighted material, trademarks, or\\\\n                        other proprietary information without obtaining the prior consent of the owner of such\\\\n                        proprietary rights;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"You will not remove any copyright, trademark or other proprietary rights notices contained on\\\\n                        the Site;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"You will not post or transmit any material that contains software viruses or any other computer\\\\n                        code, files or programs designed to interrupt, destroy or limit the functionality of any\\\\n                        computer software or hardware or telecommunications equipment;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"You will not forge headers or otherwise manipulate identifiers in order to disguise the origin\\\\n                        of any information transmitted through the Site;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"You will not harass, threaten, stalk, embarrass, or cause distress, unwanted attention or\\\\n                        discomfort upon another user of the Site or another person or entity;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"You will not transmit or post sexually explicit images or other content which in our sole\\\\n                        discretion is deemed to be offensive; nor shall you transmit any unlawful, harmful, threatening,\\\\n                        abusive, harassing, defamatory, vulgar, obscene, hateful, racially, ethnically, or otherwise\\\\n                        objectionable content;\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"You will not post or transmit chain letters, cash bots, or pyramid schemes; unsolicited\\\\n                        advertising, promotional materials, or other forms of solicitation to other users, individuals,\\\\n                        or entities; and\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,\\\"li\\\"],[12],[1,\\\"You will not post or transmit comments or content defamatory, libelous, slanderous, disparaging,\\\\n                        or otherwise offensive against iGames, AMD or their licensors, sponsors, partners, products,\\\\n                        officials, or members.\\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"You understand and agree that we or AMD may review and delete Content, in whole or in part, at any\\\\n                    time. Such deletion shall be at our sole discretion, and may occur, without limitation, if we\\\\n                    believe Content violates or may violate these Terms, or might be offensive, illegal, or that might\\\\n                    violate the rights of others. Use of the Site is granted with our permission, which may be revoked\\\\n                    at any time, for any reason, in our sole discretion.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"8. LINKS TO THIRD PARTY SITES AND ADVERTISERS\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"The Site may contain links to third party websites, including sites or members (collectively \\\\\\\"Linked\\\\n                    Sites\\\\\\\"). The Linked Sites are not under the control of iGames. iGames is not responsible for the\\\\n                    content of any Linked Site, including, but not limited to, the services provided through a Linked\\\\n                    Site, any link contained in a Linked Site, or any changes or updates to a Linked Site. iGames is not\\\\n                    responsible for any transmission received from any Linked Site nor is iGames responsible if the\\\\n                    Linked Site is not working properly. iGames provides these links to you as a convenience. The\\\\n                    inclusion of a Linked Site does not imply endorsement by iGames of the site or any association with\\\\n                    its operators. You are responsible for viewing and abiding by the privacy statements and terms of\\\\n                    use posted at the Linked Sites which you visit. Any dealings with third parties (including corporate\\\\n                    sponsor members and other advertisers) included within the Site or participation in promotions,\\\\n                    including the delivery of and the payment for goods and services, and any other terms, conditions,\\\\n                    warranties or representations associated with such dealings or promotions, are solely between the\\\\n                    member and the advertiser, other third party, or other member. iGames is not responsible or liable\\\\n                    to any member, advertiser, or third party, for any part of any such dealings or promotions.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"9. OTHER LIMITATIONS\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"iGames may establish general practices and limits concerning the use and operation of the Site. You\\\\n                    agree that iGames has no responsibility or liability for the deletion or failure to store any\\\\n                    information maintained on, or transmitted by, the Site. You understand that iGames reserves the\\\\n                    right to close accounts that are inactive for an extended period of time. You further acknowledge\\\\n                    that iGames reserves the right to change these general practices and limits at any time, in its sole\\\\n                    discretion, with or without notice.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"10. U.S. EXPORT CONTROLS\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"Software, applications, widgets, gadgets and other tools made available on the Site (\\\\\\\"Software\\\\\\\") are\\\\n                    each subject to United States export controls. No Software may be downloaded from the Site or\\\\n                    otherwise exported or re-exported (i) into, or to a national or resident of, any country to which\\\\n                    the U.S. has embargoed goods; or (ii) to anyone on the U.S. Treasury Department's list of Specially\\\\n                    Designated Nationals or the U.S. Commerce Department's Table of Deny Orders. By downloading or using\\\\n                    the Software, you represent and warrant that you are not located in, under the control of, or a\\\\n                    national or resident of any such country or on any such list.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"11. INDEMNITY\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"You agree to indemnify, defend and hold harmless iGames (including its officers, directors,\\\\n                    employees, agents, licensors, suppliers and any third-party information providers to the service),\\\\n                    from and against all losses, expenses, damages and costs, including reasonable attorneys' fees,\\\\n                    resulting from any violation of these Terms or any activity related to your account (including\\\\n                    negligent or wrongful conduct) by you or any other person accessing the Site using your account.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"12. NO WARRANTY\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"(a) No Warranty. The Site and any product or service available through the Site are provided on an\\\\n                    \\\\\\\"As Is\\\\\\\" and \\\\\\\"As Available\\\\\\\" basis. Your use of such product or service is at your own risk. iGames\\\\n                    does not guarantee continuous, uninterrupted or secure access to the Site. The operation of the Site\\\\n                    may be interfered with by numerous factors outside of our control. You also understand that iGames\\\\n                    is not responsible for the security or privacy of communications sent via the Service.\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"(b) Disclaimer. To the extent permitted under applicable law, iGames expressly disclaims all\\\\n                    warranties of any kind, whether express or implied, including, but not limited to the implied\\\\n                    warranties of merchantability, fitness for a particular purpose, satisfactory quality,\\\\n                    non-infringement and accuracy of information. iGames makes no warranty that (i) the Site will be\\\\n                    provided in a manner that is uninterrupted, timely, secure, or error free, (ii) the Site is or will\\\\n                    be free of viruses or other harmful components, or (iii) the Site or content provided will meet your\\\\n                    requirements. iGames makes no warranties of any kind with respect to software, goods, services,\\\\n                    promotions, or the delivery of any software, goods or services that are purchased, accessed or\\\\n                    obtained through the Site or that are advertised on the Site. Any material downloaded or otherwise\\\\n                    obtained through the use of the Site is done at your own discretion and risk. You will be solely\\\\n                    responsible for any damage to your computer system or loss of data that results from the download of\\\\n                    any such material.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"13. LIMITATION OF LIABILITY\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"You expressly acknowledge and agree that, to the fullest extent permitted under law, iGames will have\\\\n                    no obligation or liability (whether arising in contract, warranty, tort (including negligence),\\\\n                    product liability or otherwise) for any incidental, indirect or consequential damages or liabilities\\\\n                    (including, but not limited to, any loss of data, revenue or profit) arising with respect to your\\\\n                    use of the Service or Site, even if you have been advised of the possibility of such damages.\\\\n                    Examples of the types of matters to which the foregoing applies include (a) use of or inability to\\\\n                    use the Service or Site; (b) the cost of procurement of substitute goods or services; (c)\\\\n                    unauthorized access to or alteration of your profile or Membership by third parties; (d) third party\\\\n                    content made available to you through the Service or Site; or (e) any other matter relating to the\\\\n                    Service or Site. In addition, iGames' liability, and the liability of our officers, directors,\\\\n                    employees, and suppliers, to you or any third parties in any circumstance is limited to the greater\\\\n                    of (a) the amount of membership fees you pay to us in the 12 months prior to the action giving rise\\\\n                    to the liability, and (b) $100. Some jurisdictions do not allow the exclusion or limitation of\\\\n                    damages, so the above limitations or exclusions may not apply to you.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"14. TERMINATION\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"You agree and acknowledge that iGames, in its sole discretion, may terminate your account (or any\\\\n                    part thereof) or use of the Site, and remove and discard any of your content including, but not\\\\n                    limited to, any and all information, communications, postings, messages, files and other content\\\\n                    within the Site, at any time, without notice, for any reason, including but not limited to (a) if\\\\n                    iGames believes that you have violated or acted inconsistently with the letter or spirit of these\\\\n                    Terms, including a failure to pay any fees as and when due, or (b) if iGames decides to discontinue\\\\n                    any portion of the Site. Upon termination of your account, the agreement between you and iGames as\\\\n                    contained in these Terms and your right to use the Site, shall immediately cease. You agree that\\\\n                    iGames shall not be liable to you or any third-party for any termination of your access to the Site.\\\\n                    Termination of your account and the agreement between you and iGames as contained in these Terms\\\\n                    shall not affect Section 3 (Privacy Practices), Section 4 (Proprietary Rights), Section 5 (License\\\\n                    Grant), Section 11 (Indemnity), Section 12 (No Warranty), Section 13 (Limitation of Liability),\\\\n                    Section 14 (Termination), Section 15 (Choice of Law and Forum), and Section 17 (Entire Agreement;\\\\n                    Other Terms).\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"15. CHOICE OF LAW AND FORUM\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"The laws of the State of Idaho, USA, excluding its conflicts-of-law rules, govern these Terms. The\\\\n                    state and federal courts with districts which include Ada County, Idaho, USA, shall be the exclusive\\\\n                    forum and venue to resolve any and all disputes arising out of or relating to these Terms. However,\\\\n                    in an action to enforce a judgment, such forum and venue shall be nonexclusive. You consent to\\\\n                    personal jurisdiction and venue by such state and federal courts.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"16. MODIFICATION OF THESE TERMS AND THE SERVICE\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"You agree that iGames reserves the right (for any reason and without notice) to amend these Terms and\\\\n                    to modify or discontinue, temporarily or permanently, all or any part of the Site. Unless explicitly\\\\n                    stated otherwise, any new features on the Site are subject to these Terms.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"17. ENTIRE AGREEMENT; OTHER TERMS\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"These Terms (including the Privacy Policy and other incorporated terms) constitute the entire\\\\n                    agreement between you and iGames and govern your use of the Site, superseding any prior agreements\\\\n                    between you and iGames. If these Terms are inconsistent with information included in off-line\\\\n                    materials, these Terms will always control.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"The failure of iGames to exercise or enforce any right or provision of these Terms shall not\\\\n                    constitute a waiver of such right or provision. If any provision of these Terms is found by a court\\\\n                    of competent jurisdiction to be invalid, the parties nevertheless agree that the court should\\\\n                    attempt to give effect to the parties' intentions as reflected in the provision, and the other\\\\n                    provisions of these Terms shall remain in effect.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"You agree that these Terms and all incorporated documents may be assigned by iGames in our sole\\\\n                    discretion. Headings are for reference purposes only and in no way define, limit, construe or\\\\n                    describe the scope or extent of such section. You agree that regardless of any statute or law to the\\\\n                    contrary, any claim or cause of action arising out of or related to use of the Site, the Service,\\\\n                    any software, or these Terms, must be filed within one (1) year after such claim or cause of action\\\\n                    arose or be forever barred.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"18. COPYRIGHT AND TRADEMARK NOTICES\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"All content of the Site are: Copyright© 2025 Advanced Micro Devices, Inc. and/or its suppliers. All\\\\n                    rights reserved.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,2],[12],[1,\\\"The AMD logo and AMD related brands, are either trademarks or registered trademarks of AMD. The\\\\n                    iGames logo and iGames related brands are either trademarks or registered trademarks of iGames, Inc.\\\\n                    The names of actual companies and products mentioned in the Site may be the trademarks of their\\\\n                    respective owners.\\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"h2\\\"],[12],[1,\\\"19. REPORTING VIOLATIONS\\\"],[13],[1,\\\"\\\\n                \\\"],[10,2],[12],[1,\\\"You can report violation of these Terms to \\\"],[10,3],[14,6,\\\"mailto:info@igamesinc.com\\\"],[12],[1,\\\"info@igamesinc.com\\\"],[13],[1,\\\".\\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"header\\\",\\\"h3\\\",\\\"section\\\",\\\"p\\\",\\\"b\\\",\\\"a\\\",\\\"h2\\\",\\\"ul\\\",\\\"li\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/cp-tos.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/homepage\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <Homepage\n    @banners={{this.banners}}\n    @ad={{this.ad}}\n    @latestTopics={{this.latestTopics}}\n    @isLoggedIn={{this.isLoggedIn}}\n    @upcomingEvents={{this.upcomingEvents}}\n  />\n  */\n  {\n    \"id\": \"wz1+bruW\",\n    \"block\": \"[[[8,[39,0],null,[[\\\"@banners\\\",\\\"@ad\\\",\\\"@latestTopics\\\",\\\"@isLoggedIn\\\",\\\"@upcomingEvents\\\"],[[30,0,[\\\"banners\\\"]],[30,0,[\\\"ad\\\"]],[30,0,[\\\"latestTopics\\\"]],[30,0,[\\\"isLoggedIn\\\"]],[30,0,[\\\"upcomingEvents\\\"]]]],null]],[],false,[\\\"homepage\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/homepage.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/my-loot\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <!-- Same as My Loot for now -->\n  <div class=\"cp-container reward-page loot-index\" {{did-insert this.resetArgs}}>\n      <div class=\"triangle-bg reward-triangle-bg\"></div>\n      <main class=\"cp-reward-container\">\n  \n          <!-- Section Title & Description -->\n          <section class=\"reward-title-desc\">\n              <div class=\"reward-title-desc-container\">\n                  <span class=\"reward-title loot-index-title\">\n                      MY <span class=\"reward-title-gold\">LOOT</span>\n                  </span>\n                  <span class=\"reward-desc-main loot-index-desc-main\">Claim epic rewards, customize your legend with exclusive cosmetics, and relive past victories by reviewing previous giveaways.</span>\n                  <span class=\"reward-desc-sub loot-index-desc-sub\">Your quest for glory never ends!</span>\n              </div>\n          </section>\n  \n          <div class=\"line-container\">\n              <div class=\"line left\"></div>\n              <div class=\"line right\"></div>\n          </div>\n  \n          <div class=\"reward-nav-and-content\">\n              <!-- Reward Side Nav will go here (see promotion index for example) -->\n              <div class=\"reward-nav\">\n              </div>\n  \n              <!-- Loot Content -->\n              <div class=\"loot-content\">\n                  <!-- Giveaway Keys -->\n                  <section class=\"loot-giveaway-keys\">\n                      <span class=\"loot-giveaway-keys-label\">GIVEAWAY KEYS</span>\n                      <div class=\"loot-giveaway-keys-container\">\n                          <div class=\"loot-giveaway-keys-inner\">\n                              <div class=\"loot-giveaway-keys-explanation\">Behold! All of your giveaway keys you have collected! Great job, Gamer!</div>\n                              <div class=\"loot-giveaway-keys-table\">\n                                  {{#if (eq this.keys.length 0)}}\n                                      <div class=\"loot-giveaway-keys-separator\"></div>\n                                      <div class=\"loot-giveaway-keys-row\">\n                                          <div class=\"loot-giveaway-keys-row-data no-keys\">\n                                              The vault lies empty... <LinkTo @route=\"promotions-index\">Browse Promotions to begin your legendary collection!</LinkTo>\n                                          </div>\n                                      </div>\n                                  {{else}}\n                                      {{#each this.keys as |key|}}\n                                          <div class=\"loot-giveaway-keys-separator\"></div>\n                                          <div class=\"loot-giveaway-keys-row\">\n                                              <div class=\"loot-giveaway-keys-row-data game\">{{key.title}}</div>\n                                              <div class=\"loot-giveaway-keys-row-data game-key-container\">\n                                                  <span class=\"loot-giveaway-keys-row-data game-key-label\">Game Key:</span>\n                                                  <span class=\"loot-giveaway-keys-row-data game-key\">{{key.code}}</span>\n                                                  <div class=\"loot-giveaway-keys-row-data game-key-copy-container\">\n                                                      <button class=\"loot-giveaway-keys-row-data game-key-copy\" title={{if this.copiedCode \"Code was copied to clipboard\" \"Copy code to clipboard\"}} {{on \"click\" (action this.copyKeyToClipboard key.code)}}>\n                                                          {{#if (both this.codeCopyFlag (eq this.copiedCode key.code))}}\n                                                              {{d-icon \"check\" }}\n                                                          {{else}}\n                                                              {{d-icon \"far-copy\" }}\n                                                          {{/if}}\n                                                      </button>\n                                                  </div>\n                                              </div>\n                                              <div class=\"loot-giveaway-keys-row-data claim-date-container\">\n                                                  <span class=\"loot-giveaway-keys-row-data claim-date-label\">Claimed:</span>\n                                                  <span class=\"loot-giveaway-keys-row-data claim-date\">{{this.formatClaimDate key.assignedAt}}</span>\n                                              </div>\n                                          </div>\n                                      {{/each}}\n                                  {{/if}}\n                              </div>\n                          </div>\n                      </div>\n                  </section>\n  \n                  <section class=\"loot-ad-section\">\n                      <div class=\"loot-ad-slot\">\n                          <CpAd @ad={{this.ad}} />\n                      </div>\n                  </section>\n              </div>\n          </div>\n      </main>\n  </div>\n  */\n  {\n    \"id\": \"KKL4tA/3\",\n    \"block\": \"[[[3,\\\" Same as My Loot for now \\\"],[1,\\\"\\\\n\\\"],[11,0],[24,0,\\\"cp-container reward-page loot-index\\\"],[4,[38,1],[[30,0,[\\\"resetArgs\\\"]]],null],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"triangle-bg reward-triangle-bg\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[10,\\\"main\\\"],[14,0,\\\"cp-reward-container\\\"],[12],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Section Title & Description \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"reward-title-desc\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"reward-title-desc-container\\\"],[12],[1,\\\"\\\\n                \\\"],[10,1],[14,0,\\\"reward-title loot-index-title\\\"],[12],[1,\\\"\\\\n                    MY \\\"],[10,1],[14,0,\\\"reward-title-gold\\\"],[12],[1,\\\"LOOT\\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,1],[14,0,\\\"reward-desc-main loot-index-desc-main\\\"],[12],[1,\\\"Claim epic rewards, customize your legend with exclusive cosmetics, and relive past victories by reviewing previous giveaways.\\\"],[13],[1,\\\"\\\\n                \\\"],[10,1],[14,0,\\\"reward-desc-sub loot-index-desc-sub\\\"],[12],[1,\\\"Your quest for glory never ends!\\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"line-container\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"line left\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"line right\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"reward-nav-and-content\\\"],[12],[1,\\\"\\\\n            \\\"],[3,\\\" Reward Side Nav will go here (see promotion index for example) \\\"],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"reward-nav\\\"],[12],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[3,\\\" Loot Content \\\"],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"loot-content\\\"],[12],[1,\\\"\\\\n                \\\"],[3,\\\" Giveaway Keys \\\"],[1,\\\"\\\\n                \\\"],[10,\\\"section\\\"],[14,0,\\\"loot-giveaway-keys\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,1],[14,0,\\\"loot-giveaway-keys-label\\\"],[12],[1,\\\"GIVEAWAY KEYS\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-container\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-inner\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-explanation\\\"],[12],[1,\\\"Behold! All of your giveaway keys you have collected! Great job, Gamer!\\\"],[13],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-table\\\"],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,6],[[30,0,[\\\"keys\\\",\\\"length\\\"]],0],null],[[[1,\\\"                                    \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-separator\\\"],[12],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-row\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-row-data no-keys\\\"],[12],[1,\\\"\\\\n                                            The vault lies empty... \\\"],[8,[39,7],null,[[\\\"@route\\\"],[\\\"promotions-index\\\"]],[[\\\"default\\\"],[[[[1,\\\"Browse Promotions to begin your legendary collection!\\\"]],[]]]]],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[42,[28,[37,9],[[28,[37,9],[[30,0,[\\\"keys\\\"]]],null]],null],null,[[[1,\\\"                                        \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-separator\\\"],[12],[13],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-row\\\"],[12],[1,\\\"\\\\n                                            \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-row-data game\\\"],[12],[1,[30,1,[\\\"title\\\"]]],[13],[1,\\\"\\\\n                                            \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-row-data game-key-container\\\"],[12],[1,\\\"\\\\n                                                \\\"],[10,1],[14,0,\\\"loot-giveaway-keys-row-data game-key-label\\\"],[12],[1,\\\"Game Key:\\\"],[13],[1,\\\"\\\\n                                                \\\"],[10,1],[14,0,\\\"loot-giveaway-keys-row-data game-key\\\"],[12],[1,[30,1,[\\\"code\\\"]]],[13],[1,\\\"\\\\n                                                \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-row-data game-key-copy-container\\\"],[12],[1,\\\"\\\\n                                                    \\\"],[11,\\\"button\\\"],[24,0,\\\"loot-giveaway-keys-row-data game-key-copy\\\"],[16,\\\"title\\\",[52,[30,0,[\\\"copiedCode\\\"]],\\\"Code was copied to clipboard\\\",\\\"Copy code to clipboard\\\"]],[4,[38,11],[\\\"click\\\",[28,[37,12],[[30,0],[30,0,[\\\"copyKeyToClipboard\\\"]],[30,1,[\\\"code\\\"]]],null]],null],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,13],[[30,0,[\\\"codeCopyFlag\\\"]],[28,[37,6],[[30,0,[\\\"copiedCode\\\"]],[30,1,[\\\"code\\\"]]],null]],null],[[[1,\\\"                                                            \\\"],[1,[28,[35,14],[\\\"check\\\"],null]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                                            \\\"],[1,[28,[35,14],[\\\"far-copy\\\"],null]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"                                                    \\\"],[13],[1,\\\"\\\\n                                                \\\"],[13],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-row-data claim-date-container\\\"],[12],[1,\\\"\\\\n                                                \\\"],[10,1],[14,0,\\\"loot-giveaway-keys-row-data claim-date-label\\\"],[12],[1,\\\"Claimed:\\\"],[13],[1,\\\"\\\\n                                                \\\"],[10,1],[14,0,\\\"loot-giveaway-keys-row-data claim-date\\\"],[12],[1,[28,[30,0,[\\\"formatClaimDate\\\"]],[[30,1,[\\\"assignedAt\\\"]]],null]],[13],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null]],[]]],[1,\\\"                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"section\\\"],[14,0,\\\"loot-ad-section\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"loot-ad-slot\\\"],[12],[1,\\\"\\\\n                        \\\"],[8,[39,15],null,[[\\\"@ad\\\"],[[30,0,[\\\"ad\\\"]]]],null],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"key\\\"],false,[\\\"div\\\",\\\"did-insert\\\",\\\"main\\\",\\\"section\\\",\\\"span\\\",\\\"if\\\",\\\"eq\\\",\\\"link-to\\\",\\\"each\\\",\\\"-track-array\\\",\\\"button\\\",\\\"on\\\",\\\"action\\\",\\\"both\\\",\\\"d-icon\\\",\\\"cp-ad\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/my-loot.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/promotion-page\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container promotion-page\">\n      <main class=\"cp-promotion-container\">\n  \n          <!-- Title -->\n          <section class=\"promotion-page-title-section\">\n              <div class=\"promotion-page-title\">{{this.title}}</div>\n          </section>\n  \n          <!-- Media -->\n          <section class=\"promotion-page-media-section\">\n              <div class=\"promotion-page-media\">\n                  {{#if (eq this.mediaType \"image\")}}\n                  <img src={{this.mediaUrl}} alt=\"{{this.title}} header\" />\n                  {{else if (eq this.mediaType \"video\")}}\n                  <video autoplay controls muted>\n                      <source src={{this.mediaUrl}}>\n                      Your browser does not support the video tag.\n                  </video>\n                  {{else if (eq this.mediaType \"youtube\")}}\n                  <div class=\"promotion-page-youtube-container\">\n                      <iframe src=\"{{this.mediaUrl}}\" frameborder=\"0\"\n                          allow=\"autoplay; picture-in-picture; encrypted-media\" title=\"YouTube video player\"\n                          allowfullscreen>\n                      </iframe>\n                  </div>\n                  {{/if}}\n              </div>\n          </section>\n  \n          <!-- Description/Claim Box -->\n          <section class=\"promotion-page-desc-claim\">\n              <div class=\"promotion-page-desc-claim-container\">\n                  <div class=\"promotion-page-desc-claim-inner\">\n                      <div class=\"promotion-page-desc\">\n                          {{this.descCooked}}\n                      </div>\n                      <div class=\"promotion-page-claim\">\n                          <div class=\"promotion-page-claim-container\">\n                              <span class=\"promotion-page-platform\">Platform: {{this.platform}}</span>\n                              <span class=\"promotion-page-developer\">Developer: {{this.developer}}</span>\n                              {{#if this.gameWebsite}}\n                              <a href={{this.gameWebsite}} class=\"promotion-page-game-website\" target=\"_blank\"\n                                  rel=\"noopener\">\n                                  Game Website\n                              </a>\n                              {{/if}}\n                              <div class=\"promotion-page promotion-claim-container\">\n                                  <div class=\"promotion-page promotion-keys-remaining\">\n                                      <span class=\"promotion-page promotion-key-count\">{{this.keysRemaining}}</span>\n                                      <span class=\"promotion-page promotion-key-count-label\">Keys Remaining</span>\n                                  </div>\n                                  <div class=\"promotion-page promotion-claim-key\">\n                                      {{#if this.currentUser}}\n                                      {{#if this.claimingKey}}\n                                      <span class=\"spinner\"></span>\n                                      {{else}}\n                                      <a class=\"promotion-page promotion-claim-key-btn\" {{on \"click\" this.claimKey}}>Claim\n                                          Key</a>\n                                      {{/if}}\n                                      {{else}}\n                                      <a class=\"promotion-page promotion-login-claim-key-btn\" {{on \"click\"\n                                          this.openLogin}}>\n                                          Log in to Claim Key\n                                      </a>\n                                      {{/if}}\n                                  </div>\n                              </div>\n                          </div>\n                      </div>\n                  </div>\n              </div>\n  \n              {{!-- Claim pop-up --}}\n              <div class=\"promotion-page-popup-container {{if (not this.keyClaimedWindowOpen) \" closed\"}}\">\n                  <div class=\"promotion-page-popup-inner\">\n                      <button class=\"promotion-page close-key-window-btn\" {{on \"click\" this.closeClaimedWindow}}\n                          aria-label=\"Close pop-up window\">\n                          <span class=\"promotion-page close-key-window-btn-x\">X</span>\n                      </button>\n                      <div class=\"promotion-page claimed-key-message\">\n                          <div class=\"promotion-page congrats-header\">CONGRATULATIONS!</div>\n                          <div class=\"promotion-page claimed-info\">You have just claimed your copy of {{this.title}}.\n                          </div>\n                          <div class=\"promotion-page claimed-info\">Follow the instructions below to redeem your key.</div>\n                      </div>\n                      <div class=\"promotion-page code-and-instructions\">\n                          <div class=\"promotion-page claimed-key-code-container\">\n                              <div class=\"promotion-page claimed-key-code-label\">Your Code:</div>\n                              <div class=\"promotion-page claimed-key-code\">{{this.keyCode}}</div>\n                              <button class=\"promotion-page claimed-key-copy\" title={{if\n                                  this.copiedCode \"Code was copied to clipboard\" \"Copy code to clipboard\" }} {{on \"click\"\n                                  this.copyKeyToClipboard}}>\n                                  {{#if this.copiedCode}}\n                                  {{d-icon \"check\"}}\n                                  {{else}}\n                                  {{d-icon \"far-copy\"}}\n                                  {{/if}}\n                              </button>\n                          </div>\n                          <div class=\"promotion-page code-instruction-separator\" aria-hidden=\"true\"></div>\n  \n                          <div class=\"promotion-page claimed-key-instructions\">\n                              <div class=\"promotion-page redemption-instructions\">Key Redemption Instructions:</div>\n  \n                              <div class=\"promotion-page redemption-instructions-list\">\n                                  {{#if this.instructionsCooked}}\n                                  {{this.instructionsCooked}}\n                                  {{/if}}\n                              </div>\n  \n                              <div class=\"promotion-page redemption-instruction-support\">\n                                  If your key is not working, please contact us at\n                                  <a href=\"mailto:contact@amdgaming.com\" title=\"Email support\">contact@amdgaming.com</a>\n                              </div>\n                          </div>\n                      </div>\n                      <div class=\"promotion-page my-loot-link\">\n                          <LinkTo @route=\"my-loot\">MY LOOT</LinkTo>\n                      </div>\n                  </div>\n              </div>\n          </section>\n  \n          <!-- Ad -->\n          <section class=\"promotions-ad-section\">\n              <div class=\"promotions-ad-slot\">\n                  <CpAd @ad={{this.ad}} />\n              </div>\n          </section>\n      </main>\n  </div>\n  */\n  {\n    \"id\": \"ARX4OGDA\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container promotion-page\\\"],[12],[1,\\\"\\\\n    \\\"],[10,\\\"main\\\"],[14,0,\\\"cp-promotion-container\\\"],[12],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Title \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"promotion-page-title-section\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"promotion-page-title\\\"],[12],[1,[30,0,[\\\"title\\\"]]],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Media \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"promotion-page-media-section\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"promotion-page-media\\\"],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,4],[[30,0,[\\\"mediaType\\\"]],\\\"image\\\"],null],[[[1,\\\"                \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,0,[\\\"mediaUrl\\\"]]],[15,\\\"alt\\\",[29,[[30,0,[\\\"title\\\"]],\\\" header\\\"]]],[12],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[37,4],[[30,0,[\\\"mediaType\\\"]],\\\"video\\\"],null],[[[1,\\\"                \\\"],[10,\\\"video\\\"],[14,\\\"autoplay\\\",\\\"\\\"],[14,\\\"controls\\\",\\\"\\\"],[14,\\\"muted\\\",\\\"\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"source\\\"],[15,\\\"src\\\",[30,0,[\\\"mediaUrl\\\"]]],[12],[13],[1,\\\"\\\\n                    Your browser does not support the video tag.\\\\n                \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[41,[28,[37,4],[[30,0,[\\\"mediaType\\\"]],\\\"youtube\\\"],null],[[[1,\\\"                \\\"],[10,0],[14,0,\\\"promotion-page-youtube-container\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,\\\"iframe\\\"],[15,\\\"src\\\",[29,[[30,0,[\\\"mediaUrl\\\"]]]]],[14,\\\"frameborder\\\",\\\"0\\\"],[14,\\\"allow\\\",\\\"autoplay; picture-in-picture; encrypted-media\\\"],[14,\\\"title\\\",\\\"YouTube video player\\\"],[14,\\\"allowfullscreen\\\",\\\"\\\"],[12],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"]],[]],null]],[]]]],[]]],[1,\\\"            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Description/Claim Box \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"promotion-page-desc-claim\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"promotion-page-desc-claim-container\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"promotion-page-desc-claim-inner\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"promotion-page-desc\\\"],[12],[1,\\\"\\\\n                        \\\"],[1,[30,0,[\\\"descCooked\\\"]]],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"promotion-page-claim\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"promotion-page-claim-container\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,1],[14,0,\\\"promotion-page-platform\\\"],[12],[1,\\\"Platform: \\\"],[1,[30,0,[\\\"platform\\\"]]],[13],[1,\\\"\\\\n                            \\\"],[10,1],[14,0,\\\"promotion-page-developer\\\"],[12],[1,\\\"Developer: \\\"],[1,[30,0,[\\\"developer\\\"]]],[13],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"gameWebsite\\\"]],[[[1,\\\"                            \\\"],[10,3],[15,6,[30,0,[\\\"gameWebsite\\\"]]],[14,0,\\\"promotion-page-game-website\\\"],[14,\\\"target\\\",\\\"_blank\\\"],[14,\\\"rel\\\",\\\"noopener\\\"],[12],[1,\\\"\\\\n                                Game Website\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                            \\\"],[10,0],[14,0,\\\"promotion-page promotion-claim-container\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"promotion-page promotion-keys-remaining\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,1],[14,0,\\\"promotion-page promotion-key-count\\\"],[12],[1,[30,0,[\\\"keysRemaining\\\"]]],[13],[1,\\\"\\\\n                                    \\\"],[10,1],[14,0,\\\"promotion-page promotion-key-count-label\\\"],[12],[1,\\\"Keys Remaining\\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"promotion-page promotion-claim-key\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"currentUser\\\"]],[[[41,[30,0,[\\\"claimingKey\\\"]],[[[1,\\\"                                    \\\"],[10,1],[14,0,\\\"spinner\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                    \\\"],[11,3],[24,0,\\\"promotion-page promotion-claim-key-btn\\\"],[4,[38,11],[\\\"click\\\",[30,0,[\\\"claimKey\\\"]]],null],[12],[1,\\\"Claim\\\\n                                        Key\\\"],[13],[1,\\\"\\\\n\\\"]],[]]]],[]],[[[1,\\\"                                    \\\"],[11,3],[24,0,\\\"promotion-page promotion-login-claim-key-btn\\\"],[4,[38,11],[\\\"click\\\",[30,0,[\\\"openLogin\\\"]]],null],[12],[1,\\\"\\\\n                                        Log in to Claim Key\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[1,\\\"            \\\"],[10,0],[15,0,[29,[\\\"promotion-page-popup-container \\\",[52,[28,[37,12],[[30,0,[\\\"keyClaimedWindowOpen\\\"]]],null],\\\" closed\\\"]]]],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"promotion-page-popup-inner\\\"],[12],[1,\\\"\\\\n                    \\\"],[11,\\\"button\\\"],[24,0,\\\"promotion-page close-key-window-btn\\\"],[24,\\\"aria-label\\\",\\\"Close pop-up window\\\"],[4,[38,11],[\\\"click\\\",[30,0,[\\\"closeClaimedWindow\\\"]]],null],[12],[1,\\\"\\\\n                        \\\"],[10,1],[14,0,\\\"promotion-page close-key-window-btn-x\\\"],[12],[1,\\\"X\\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"promotion-page claimed-key-message\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"promotion-page congrats-header\\\"],[12],[1,\\\"CONGRATULATIONS!\\\"],[13],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"promotion-page claimed-info\\\"],[12],[1,\\\"You have just claimed your copy of \\\"],[1,[30,0,[\\\"title\\\"]]],[1,\\\".\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"promotion-page claimed-info\\\"],[12],[1,\\\"Follow the instructions below to redeem your key.\\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"promotion-page code-and-instructions\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"promotion-page claimed-key-code-container\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"promotion-page claimed-key-code-label\\\"],[12],[1,\\\"Your Code:\\\"],[13],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"promotion-page claimed-key-code\\\"],[12],[1,[30,0,[\\\"keyCode\\\"]]],[13],[1,\\\"\\\\n                            \\\"],[11,\\\"button\\\"],[24,0,\\\"promotion-page claimed-key-copy\\\"],[16,\\\"title\\\",[52,[30,0,[\\\"copiedCode\\\"]],\\\"Code was copied to clipboard\\\",\\\"Copy code to clipboard\\\"]],[4,[38,11],[\\\"click\\\",[30,0,[\\\"copyKeyToClipboard\\\"]]],null],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"copiedCode\\\"]],[[[1,\\\"                                \\\"],[1,[28,[35,14],[\\\"check\\\"],null]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                \\\"],[1,[28,[35,14],[\\\"far-copy\\\"],null]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"promotion-page code-instruction-separator\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[1,\\\"\\\\n\\\\n                        \\\"],[10,0],[14,0,\\\"promotion-page claimed-key-instructions\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"promotion-page redemption-instructions\\\"],[12],[1,\\\"Key Redemption Instructions:\\\"],[13],[1,\\\"\\\\n\\\\n                            \\\"],[10,0],[14,0,\\\"promotion-page redemption-instructions-list\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"instructionsCooked\\\"]],[[[1,\\\"                                \\\"],[1,[30,0,[\\\"instructionsCooked\\\"]]],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"                            \\\"],[13],[1,\\\"\\\\n\\\\n                            \\\"],[10,0],[14,0,\\\"promotion-page redemption-instruction-support\\\"],[12],[1,\\\"\\\\n                                If your key is not working, please contact us at\\\\n                                \\\"],[10,3],[14,6,\\\"mailto:contact@amdgaming.com\\\"],[14,\\\"title\\\",\\\"Email support\\\"],[12],[1,\\\"contact@amdgaming.com\\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"promotion-page my-loot-link\\\"],[12],[1,\\\"\\\\n                        \\\"],[8,[39,15],null,[[\\\"@route\\\"],[\\\"my-loot\\\"]],[[\\\"default\\\"],[[[[1,\\\"MY LOOT\\\"]],[]]]]],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Ad \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"promotions-ad-section\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"promotions-ad-slot\\\"],[12],[1,\\\"\\\\n                \\\"],[8,[39,16],null,[[\\\"@ad\\\"],[[30,0,[\\\"ad\\\"]]]],null],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"main\\\",\\\"section\\\",\\\"if\\\",\\\"eq\\\",\\\"img\\\",\\\"video\\\",\\\"source\\\",\\\"iframe\\\",\\\"span\\\",\\\"a\\\",\\\"on\\\",\\\"not\\\",\\\"button\\\",\\\"d-icon\\\",\\\"link-to\\\",\\\"cp-ad\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/promotion-page.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/promotions-index\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container promotion-index\" style=\"--promo-color: {{if this.mainFeatured.color this.mainFeatured.color '#F26522'}}\">\n      <div class=\"triangle-bg promotion-triangle-bg\"></div>\n      <main class=\"cp-promotion-container\">\n  \n          <!-- Section Title & Description -->\n          <section class=\"promotion-title-desc\">\n              <div class=\"promotion-title-desc-container\">\n                  <span class=\"promotion-index-title\">PROMOTIONS</span>\n                  <span class=\"promotion-index-desc-main\">Discover a trove of gaming treasures with our exclusive giveaways and sweepstakes.</span>\n                  <span class=\"promotion-index-desc-sub\">Find a unique gem, offering exciting adventures, challenges, and endless entertainment. As a member, you're \n                      invited to claim these rewards and elevate your gaming experience.</span>\n              </div>\n          </section>\n  \n          <div class=\"line-container\">\n              <div class=\"line left\"></div>\n              <div class=\"line right\"></div>\n          </div>\n  \n          <div class=\"promotion-nav-and-content\">\n              <!-- Promotion Side Nav -->\n              <div class=\"promotion-nav\">\n                  <div class=\"promotion-side-nav-container\">\n                      <div class=\"promotion-side-nav-inner\">\n                          <div class=\"promotion-nav-item\">\n                              <a href=\"#{{this.mainFeatured.slug}}\">{{this.mainFeatured.title}}</a>\n                          </div>\n                          {{#each this.subFeatured as |promo|}}\n                              <div class=\"promotion-nav-separator\"></div>\n                              <div class=\"promotion-nav-item\">\n                                  <a href=\"#{{promo.slug}}\">{{promo.title}}</a>\n                              </div>\n                          {{/each}}\n                      </div>\n                  </div>\n              </div>\n  \n              <!-- Promotions -->\n              <div class=\"promotion-content\">\n                  <!-- Main Section -->\n                  <section class=\"main-featured-section\">\n                      <!-- Main Featured Promotion -->\n                      <div class=\"promotion-main-featured-label promotion-container-label\">FEATURED GIVEAWAY</div>\n                      <div class=\"promotion-main-featured-container promotion-container\">\n                          <div class=\"promotion-main-featured-inner promotion-inner\">\n                              <div class=\"promotion-nav-anchor\" id={{this.mainFeatured.slug}}></div>\n                              <div class=\"promotion-main-featured-details promotion-details\">\n                                  <div class=\"promotion-main-featured-media promotion-media\">\n                                      <LinkTo @route=\"promotion-page\" @model={{this.mainFeatured.slug}} class=\"promotion-main-featured-media-link promotion-media-link\">\n                                          <img src={{this.mainFeatured.media_url}} />\n                                      </LinkTo>\n                                  </div>\n                                  <div class=\"promotion-main-featured-desc promotion-featured-desc\">{{{this.mainFeatured.description}}}</div>\n                              </div>\n                              <div class=\"promotion-main-featured promotion-claim-container\">\n                                  <div class=\"promotion-main-featured promotion-keys-remaining\">\n                                      <span class=\"promotion-main-featured promotion-key-count\">{{this.mainFeatured.keys_remaining}}</span>\n                                      <span class=\"promotion-main-featured promotion-key-count-label\">Keys Remaining</span>\n                                  </div>\n                                  <div class=\"promotion-main-featured promotion-claim-key\">\n                                      <LinkTo @route=\"promotion-page\" @model={{this.mainFeatured.slug}} class=\"promotion-main-featured promotion-claim-key-btn\">Claim Key</LinkTo>\n                                  </div>\n                              </div>\n                          </div>\n                      </div>\n                  </section>\n  \n                  <section class=\"promotions-ad-section\">\n                      <div class=\"promotions-ad-slot\">\n                          <CpAd @ad={{this.ad}} />\n                      </div>\n                  </section>\n  \n                  <!-- Sub-Featured Promotions -->\n                  {{#if this.subFeatured.length}}\n                      <section class=\"promotion-sub-featured-section\">\n                          <div class=\"promotion-sub-featured-label promotion-container-label\">RECENTLY FEATURED</div>\n                          <div class=\"promotion-sub-featured-container promotion-container\">\n                              <div class=\"promotion-sub-featured-inner promotion-inner\">\n                                  {{#each this.subFeatured as |promo| }}\n                                      <div class=\"promotion-nav-anchor\" id={{promo.slug}}></div>\n                                      <div class=\"promotion-sub-featured-details promotion-details\" id={{promo.slug}}>\n                                          <div class=\"promotion-sub-featured-media promotion-media\">\n                                              <LinkTo @route=\"promotion-page\" @model={{promo.slug}} class=\"promotion-sub-featured-media-link promotion-media-link\">\n                                                  <img src={{promo.media_url}} />\n                                              </LinkTo>\n                                          </div>\n                                          <div class=\"promotion-sub-featured-desc-view promotion-featured-desc-view\">\n                                              <div class=\"promotion-sub-featured-desc promotion-featured-desc\">{{{promo.description}}}</div>\n                                              <div class=\"promotion-sub-featured promotion-claim-container\">\n                                                  <div class=\"promotion-sub-featured promotion-keys-remaining\">\n                                                      {{#if (eq promo.keys_remaining 0)}}\n                                                          <span class=\"promotion-sub-featured promotion-ended\">Ended!</span>\n                                                      {{else}}\n                                                          <span class=\"promotion-sub-featured promotion-key-count\">{{promo.keys_remaining}}</span>\n                                                          <span class=\"promotion-sub-featured promotion-key-count-label\">Keys Remain!</span>\n                                                      {{/if}}\n                                                  </div>\n                                                  <div class=\"promotion-sub-featured promotion-claim-key\">\n                                                      <LinkTo @route=\"promotion-page\" @model={{promo.slug}} class=\"promotion-sub-featured promotion-claim-key-btn\">View</LinkTo>\n                                                  </div>\n                                              </div>\n                                          </div>\n                                      </div>\n                                      {{#unless (isLast promo this.subFeatured)}}\n                                          <div class=\"promotion-sub-featured promotion-separator\"></div>\n                                      {{/unless}}\n                                  {{/each}}\n                              </div>\n                          </div>\n                      </section>\n                  {{/if}}\n  \n                  <!-- Previous Promotions -->\n                  {{#if this.previousPromotions.length}}\n                      <section class=\"previous-promotions-section\">\n                          <div class=\"previous-promotions-label promotion-container-label\">PREVIOUS PROMOTIONS</div>\n                          <div class=\"promotion-previous-container promotion-container\">\n                              <div class=\"promotion-previous-inner promotion-inner\">\n                                  <div class=\"promotion-previous-header\">\n                                      <span class=\"promotion-header-title\">Title</span>\n                                      <span class=\"promotion-header-published\">Published</span>\n                                      <span class=\"promotion-header-type\">Type</span>\n                                      <span class=\"promotion-header-status\">Status</span>\n                                  </div>\n                                  {{#each this.previousPromotions as |promo|}}\n                                      <LinkTo @route=\"promotion-page\" @model={{promo.slug}} class=\"promotion-previous-link-wrapper\">\n                                          <div class=\"promotion-previous promotion-separator\"></div>\n                                          <div class=\"promotion-previous-details\">\n                                              <span class=\"promotion-body-title-container\">\n                                                  <div class=\"promotion-body-media\">\n                                                      <img src={{promo.media_url}} />\n                                                  </div>\n                                                  <span class=\"promotion-body-title\">{{promo.title}}</span>\n                                              </span>\n                                              <span class=\"promotion-body-published\">{{promo.published}}</span>\n                                              <span class=\"promotion-body-type\">{{promo.type}}</span>\n                                              {{#if (eq promo.keys_remaining 0)}}\n                                                  <span class=\"promotion-body-status promotion-ended\">Ended!</span>\n                                              {{else}}\n                                                  <span class=\"promotion-body-status promotion-keys-left\">{{promo.keys_remaining}} Keys Left!</span>\n                                              {{/if}}                                \n                                          </div>\n                                      </LinkTo>\n                                  {{/each}}\n                              </div>\n                          </div>\n                      </section>\n                  {{/if}}\n              </div>\n          </div>\n      </main>\n  </div>\n  */\n  {\n    \"id\": \"31c29D2S\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container promotion-index\\\"],[15,5,[29,[\\\"--promo-color: \\\",[52,[30,0,[\\\"mainFeatured\\\",\\\"color\\\"]],[30,0,[\\\"mainFeatured\\\",\\\"color\\\"]],\\\"#F26522\\\"]]]],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"triangle-bg promotion-triangle-bg\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[10,\\\"main\\\"],[14,0,\\\"cp-promotion-container\\\"],[12],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Section Title & Description \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"promotion-title-desc\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"promotion-title-desc-container\\\"],[12],[1,\\\"\\\\n                \\\"],[10,1],[14,0,\\\"promotion-index-title\\\"],[12],[1,\\\"PROMOTIONS\\\"],[13],[1,\\\"\\\\n                \\\"],[10,1],[14,0,\\\"promotion-index-desc-main\\\"],[12],[1,\\\"Discover a trove of gaming treasures with our exclusive giveaways and sweepstakes.\\\"],[13],[1,\\\"\\\\n                \\\"],[10,1],[14,0,\\\"promotion-index-desc-sub\\\"],[12],[1,\\\"Find a unique gem, offering exciting adventures, challenges, and endless entertainment. As a member, you're \\\\n                    invited to claim these rewards and elevate your gaming experience.\\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"line-container\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"line left\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"line right\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"promotion-nav-and-content\\\"],[12],[1,\\\"\\\\n            \\\"],[3,\\\" Promotion Side Nav \\\"],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"promotion-nav\\\"],[12],[1,\\\"\\\\n                \\\"],[10,0],[14,0,\\\"promotion-side-nav-container\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"promotion-side-nav-inner\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"promotion-nav-item\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,3],[15,6,[29,[\\\"#\\\",[30,0,[\\\"mainFeatured\\\",\\\"slug\\\"]]]]],[12],[1,[30,0,[\\\"mainFeatured\\\",\\\"title\\\"]]],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n\\\"],[42,[28,[37,7],[[28,[37,7],[[30,0,[\\\"subFeatured\\\"]]],null]],null],null,[[[1,\\\"                            \\\"],[10,0],[14,0,\\\"promotion-nav-separator\\\"],[12],[13],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"promotion-nav-item\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,3],[15,6,[29,[\\\"#\\\",[30,1,[\\\"slug\\\"]]]]],[12],[1,[30,1,[\\\"title\\\"]]],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\"                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[3,\\\" Promotions \\\"],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"promotion-content\\\"],[12],[1,\\\"\\\\n                \\\"],[3,\\\" Main Section \\\"],[1,\\\"\\\\n                \\\"],[10,\\\"section\\\"],[14,0,\\\"main-featured-section\\\"],[12],[1,\\\"\\\\n                    \\\"],[3,\\\" Main Featured Promotion \\\"],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"promotion-main-featured-label promotion-container-label\\\"],[12],[1,\\\"FEATURED GIVEAWAY\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"promotion-main-featured-container promotion-container\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"promotion-main-featured-inner promotion-inner\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"promotion-nav-anchor\\\"],[15,1,[30,0,[\\\"mainFeatured\\\",\\\"slug\\\"]]],[12],[13],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"promotion-main-featured-details promotion-details\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"promotion-main-featured-media promotion-media\\\"],[12],[1,\\\"\\\\n                                    \\\"],[8,[39,8],[[24,0,\\\"promotion-main-featured-media-link promotion-media-link\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"promotion-page\\\",[30,0,[\\\"mainFeatured\\\",\\\"slug\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n                                        \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,0,[\\\"mainFeatured\\\",\\\"media_url\\\"]]],[12],[13],[1,\\\"\\\\n                                    \\\"]],[]]]]],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"promotion-main-featured-desc promotion-featured-desc\\\"],[12],[2,[30,0,[\\\"mainFeatured\\\",\\\"description\\\"]]],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"promotion-main-featured promotion-claim-container\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"promotion-main-featured promotion-keys-remaining\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,1],[14,0,\\\"promotion-main-featured promotion-key-count\\\"],[12],[1,[30,0,[\\\"mainFeatured\\\",\\\"keys_remaining\\\"]]],[13],[1,\\\"\\\\n                                    \\\"],[10,1],[14,0,\\\"promotion-main-featured promotion-key-count-label\\\"],[12],[1,\\\"Keys Remaining\\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"promotion-main-featured promotion-claim-key\\\"],[12],[1,\\\"\\\\n                                    \\\"],[8,[39,8],[[24,0,\\\"promotion-main-featured promotion-claim-key-btn\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"promotion-page\\\",[30,0,[\\\"mainFeatured\\\",\\\"slug\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"Claim Key\\\"]],[]]]]],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"section\\\"],[14,0,\\\"promotions-ad-section\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"promotions-ad-slot\\\"],[12],[1,\\\"\\\\n                        \\\"],[8,[39,10],null,[[\\\"@ad\\\"],[[30,0,[\\\"ad\\\"]]]],null],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[3,\\\" Sub-Featured Promotions \\\"],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"subFeatured\\\",\\\"length\\\"]],[[[1,\\\"                    \\\"],[10,\\\"section\\\"],[14,0,\\\"promotion-sub-featured-section\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"promotion-sub-featured-label promotion-container-label\\\"],[12],[1,\\\"RECENTLY FEATURED\\\"],[13],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"promotion-sub-featured-container promotion-container\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"promotion-sub-featured-inner promotion-inner\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,7],[[28,[37,7],[[30,0,[\\\"subFeatured\\\"]]],null]],null],null,[[[1,\\\"                                    \\\"],[10,0],[14,0,\\\"promotion-nav-anchor\\\"],[15,1,[30,2,[\\\"slug\\\"]]],[12],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"promotion-sub-featured-details promotion-details\\\"],[15,1,[30,2,[\\\"slug\\\"]]],[12],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"promotion-sub-featured-media promotion-media\\\"],[12],[1,\\\"\\\\n                                            \\\"],[8,[39,8],[[24,0,\\\"promotion-sub-featured-media-link promotion-media-link\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"promotion-page\\\",[30,2,[\\\"slug\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n                                                \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,2,[\\\"media_url\\\"]]],[12],[13],[1,\\\"\\\\n                                            \\\"]],[]]]]],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"promotion-sub-featured-desc-view promotion-featured-desc-view\\\"],[12],[1,\\\"\\\\n                                            \\\"],[10,0],[14,0,\\\"promotion-sub-featured-desc promotion-featured-desc\\\"],[12],[2,[30,2,[\\\"description\\\"]]],[13],[1,\\\"\\\\n                                            \\\"],[10,0],[14,0,\\\"promotion-sub-featured promotion-claim-container\\\"],[12],[1,\\\"\\\\n                                                \\\"],[10,0],[14,0,\\\"promotion-sub-featured promotion-keys-remaining\\\"],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,11],[[30,2,[\\\"keys_remaining\\\"]],0],null],[[[1,\\\"                                                        \\\"],[10,1],[14,0,\\\"promotion-sub-featured promotion-ended\\\"],[12],[1,\\\"Ended!\\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                                        \\\"],[10,1],[14,0,\\\"promotion-sub-featured promotion-key-count\\\"],[12],[1,[30,2,[\\\"keys_remaining\\\"]]],[13],[1,\\\"\\\\n                                                        \\\"],[10,1],[14,0,\\\"promotion-sub-featured promotion-key-count-label\\\"],[12],[1,\\\"Keys Remain!\\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"                                                \\\"],[13],[1,\\\"\\\\n                                                \\\"],[10,0],[14,0,\\\"promotion-sub-featured promotion-claim-key\\\"],[12],[1,\\\"\\\\n                                                    \\\"],[8,[39,8],[[24,0,\\\"promotion-sub-featured promotion-claim-key-btn\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"promotion-page\\\",[30,2,[\\\"slug\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"View\\\"]],[]]]]],[1,\\\"\\\\n                                                \\\"],[13],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\"],[41,[51,[28,[37,13],[[30,2],[30,0,[\\\"subFeatured\\\"]]],null]],[[[1,\\\"                                        \\\"],[10,0],[14,0,\\\"promotion-sub-featured promotion-separator\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],null]],[2]],null],[1,\\\"                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n                \\\"],[3,\\\" Previous Promotions \\\"],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"previousPromotions\\\",\\\"length\\\"]],[[[1,\\\"                    \\\"],[10,\\\"section\\\"],[14,0,\\\"previous-promotions-section\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"previous-promotions-label promotion-container-label\\\"],[12],[1,\\\"PREVIOUS PROMOTIONS\\\"],[13],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"promotion-previous-container promotion-container\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"promotion-previous-inner promotion-inner\\\"],[12],[1,\\\"\\\\n                                \\\"],[10,0],[14,0,\\\"promotion-previous-header\\\"],[12],[1,\\\"\\\\n                                    \\\"],[10,1],[14,0,\\\"promotion-header-title\\\"],[12],[1,\\\"Title\\\"],[13],[1,\\\"\\\\n                                    \\\"],[10,1],[14,0,\\\"promotion-header-published\\\"],[12],[1,\\\"Published\\\"],[13],[1,\\\"\\\\n                                    \\\"],[10,1],[14,0,\\\"promotion-header-type\\\"],[12],[1,\\\"Type\\\"],[13],[1,\\\"\\\\n                                    \\\"],[10,1],[14,0,\\\"promotion-header-status\\\"],[12],[1,\\\"Status\\\"],[13],[1,\\\"\\\\n                                \\\"],[13],[1,\\\"\\\\n\\\"],[42,[28,[37,7],[[28,[37,7],[[30,0,[\\\"previousPromotions\\\"]]],null]],null],null,[[[1,\\\"                                    \\\"],[8,[39,8],[[24,0,\\\"promotion-previous-link-wrapper\\\"]],[[\\\"@route\\\",\\\"@model\\\"],[\\\"promotion-page\\\",[30,3,[\\\"slug\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"promotion-previous promotion-separator\\\"],[12],[13],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"promotion-previous-details\\\"],[12],[1,\\\"\\\\n                                            \\\"],[10,1],[14,0,\\\"promotion-body-title-container\\\"],[12],[1,\\\"\\\\n                                                \\\"],[10,0],[14,0,\\\"promotion-body-media\\\"],[12],[1,\\\"\\\\n                                                    \\\"],[10,\\\"img\\\"],[15,\\\"src\\\",[30,3,[\\\"media_url\\\"]]],[12],[13],[1,\\\"\\\\n                                                \\\"],[13],[1,\\\"\\\\n                                                \\\"],[10,1],[14,0,\\\"promotion-body-title\\\"],[12],[1,[30,3,[\\\"title\\\"]]],[13],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,1],[14,0,\\\"promotion-body-published\\\"],[12],[1,[30,3,[\\\"published\\\"]]],[13],[1,\\\"\\\\n                                            \\\"],[10,1],[14,0,\\\"promotion-body-type\\\"],[12],[1,[30,3,[\\\"type\\\"]]],[13],[1,\\\"\\\\n\\\"],[41,[28,[37,11],[[30,3,[\\\"keys_remaining\\\"]],0],null],[[[1,\\\"                                                \\\"],[10,1],[14,0,\\\"promotion-body-status promotion-ended\\\"],[12],[1,\\\"Ended!\\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                                \\\"],[10,1],[14,0,\\\"promotion-body-status promotion-keys-left\\\"],[12],[1,[30,3,[\\\"keys_remaining\\\"]]],[1,\\\" Keys Left!\\\"],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"                                        \\\"],[13],[1,\\\"\\\\n                                    \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[3]],null],[1,\\\"                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"promo\\\",\\\"promo\\\",\\\"promo\\\"],false,[\\\"div\\\",\\\"if\\\",\\\"main\\\",\\\"section\\\",\\\"span\\\",\\\"a\\\",\\\"each\\\",\\\"-track-array\\\",\\\"link-to\\\",\\\"img\\\",\\\"cp-ad\\\",\\\"eq\\\",\\\"unless\\\",\\\"isLast\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/promotions-index.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/rewards-index\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <!-- Same as My Loot for now -->\n  <div class=\"cp-container reward-page loot-index\" {{did-insert this.resetArgs}}>\n      <div class=\"triangle-bg reward-triangle-bg\"></div>\n      <main class=\"cp-reward-container\">\n  \n          <!-- Section Title & Description -->\n          <section class=\"reward-title-desc\">\n              <div class=\"reward-title-desc-container\">\n                  <span class=\"reward-title loot-index-title\">\n                      MY <span class=\"reward-title-gold\">LOOT</span>\n                  </span>\n                  <span class=\"reward-desc-main loot-index-desc-main\">Claim epic rewards, customize your legend with exclusive cosmetics, and relive past victories by reviewing previous giveaways.</span>\n                  <span class=\"reward-desc-sub loot-index-desc-sub\">Your quest for glory never ends!</span>\n              </div>\n          </section>\n  \n          <div class=\"line-container\">\n              <div class=\"line left\"></div>\n              <div class=\"line right\"></div>\n          </div>\n  \n          <div class=\"reward-nav-and-content\">\n              <!-- Reward Side Nav will go here (see promotion index for example) -->\n              <div class=\"reward-nav\">\n              </div>\n  \n              <!-- Loot Content -->\n              <div class=\"loot-content\">\n                  <!-- Giveaway Keys -->\n                  <section class=\"loot-giveaway-keys\">\n                      <span class=\"loot-giveaway-keys-label\">GIVEAWAY KEYS</span>\n                      <div class=\"loot-giveaway-keys-container\">\n                          <div class=\"loot-giveaway-keys-inner\">\n                              <div class=\"loot-giveaway-keys-explanation\">Behold! All of your giveaway keys you have collected! Great job, Gamer!</div>\n                              <div class=\"loot-giveaway-keys-table\">\n                                  {{#if (eq this.keys.length 0)}}\n                                      <div class=\"loot-giveaway-keys-separator\"></div>\n                                      <div class=\"loot-giveaway-keys-row\">\n                                          <div class=\"loot-giveaway-keys-row-data no-keys\">\n                                              The vault lies empty... <LinkTo @route=\"promotions-index\">Browse Promotions to begin your legendary collection!</LinkTo>\n                                          </div>\n                                      </div>\n                                  {{else}}\n                                      {{#each this.keys as |key|}}\n                                          <div class=\"loot-giveaway-keys-separator\"></div>\n                                          <div class=\"loot-giveaway-keys-row\">\n                                              <div class=\"loot-giveaway-keys-row-data game\">{{key.title}}</div>\n                                              <div class=\"loot-giveaway-keys-row-data game-key-container\">\n                                                  <span class=\"loot-giveaway-keys-row-data game-key-label\">Game Key:</span>\n                                                  <span class=\"loot-giveaway-keys-row-data game-key\">{{key.code}}</span>\n                                                  <div class=\"loot-giveaway-keys-row-data game-key-copy-container\">\n                                                      <button class=\"loot-giveaway-keys-row-data game-key-copy\" title={{if this.copiedCode \"Code was copied to clipboard\" \"Copy code to clipboard\"}} {{on \"click\" (action this.copyKeyToClipboard key.code)}}>\n                                                          {{#if (both this.codeCopyFlag (eq this.copiedCode key.code))}}\n                                                              {{d-icon \"check\" }}\n                                                          {{else}}\n                                                              {{d-icon \"far-copy\" }}\n                                                          {{/if}}\n                                                      </button>\n                                                  </div>\n                                              </div>\n                                              <div class=\"loot-giveaway-keys-row-data claim-date-container\">\n                                                  <span class=\"loot-giveaway-keys-row-data claim-date-label\">Claimed:</span>\n                                                  <span class=\"loot-giveaway-keys-row-data claim-date\">{{this.formatClaimDate key.assignedAt}}</span>\n                                              </div>\n                                          </div>\n                                      {{/each}}\n                                  {{/if}}\n                              </div>\n                          </div>\n                      </div>\n                  </section>\n  \n                  <section class=\"loot-ad-section\">\n                      <div class=\"loot-ad-slot\">\n                          <CpAd @ad={{this.ad}} />\n                      </div>\n                  </section>\n              </div>\n          </div>\n      </main>\n  </div>\n  */\n  {\n    \"id\": \"+0RVyxkz\",\n    \"block\": \"[[[3,\\\" Same as My Loot for now \\\"],[1,\\\"\\\\n\\\"],[11,0],[24,0,\\\"cp-container reward-page loot-index\\\"],[4,[38,1],[[30,0,[\\\"resetArgs\\\"]]],null],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"triangle-bg reward-triangle-bg\\\"],[12],[13],[1,\\\"\\\\n    \\\"],[10,\\\"main\\\"],[14,0,\\\"cp-reward-container\\\"],[12],[1,\\\"\\\\n\\\\n        \\\"],[3,\\\" Section Title & Description \\\"],[1,\\\"\\\\n        \\\"],[10,\\\"section\\\"],[14,0,\\\"reward-title-desc\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"reward-title-desc-container\\\"],[12],[1,\\\"\\\\n                \\\"],[10,1],[14,0,\\\"reward-title loot-index-title\\\"],[12],[1,\\\"\\\\n                    MY \\\"],[10,1],[14,0,\\\"reward-title-gold\\\"],[12],[1,\\\"LOOT\\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n                \\\"],[10,1],[14,0,\\\"reward-desc-main loot-index-desc-main\\\"],[12],[1,\\\"Claim epic rewards, customize your legend with exclusive cosmetics, and relive past victories by reviewing previous giveaways.\\\"],[13],[1,\\\"\\\\n                \\\"],[10,1],[14,0,\\\"reward-desc-sub loot-index-desc-sub\\\"],[12],[1,\\\"Your quest for glory never ends!\\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"line-container\\\"],[12],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"line left\\\"],[12],[13],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"line right\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"reward-nav-and-content\\\"],[12],[1,\\\"\\\\n            \\\"],[3,\\\" Reward Side Nav will go here (see promotion index for example) \\\"],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"reward-nav\\\"],[12],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n\\\\n            \\\"],[3,\\\" Loot Content \\\"],[1,\\\"\\\\n            \\\"],[10,0],[14,0,\\\"loot-content\\\"],[12],[1,\\\"\\\\n                \\\"],[3,\\\" Giveaway Keys \\\"],[1,\\\"\\\\n                \\\"],[10,\\\"section\\\"],[14,0,\\\"loot-giveaway-keys\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,1],[14,0,\\\"loot-giveaway-keys-label\\\"],[12],[1,\\\"GIVEAWAY KEYS\\\"],[13],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-container\\\"],[12],[1,\\\"\\\\n                        \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-inner\\\"],[12],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-explanation\\\"],[12],[1,\\\"Behold! All of your giveaway keys you have collected! Great job, Gamer!\\\"],[13],[1,\\\"\\\\n                            \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-table\\\"],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,6],[[30,0,[\\\"keys\\\",\\\"length\\\"]],0],null],[[[1,\\\"                                    \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-separator\\\"],[12],[13],[1,\\\"\\\\n                                    \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-row\\\"],[12],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-row-data no-keys\\\"],[12],[1,\\\"\\\\n                                            The vault lies empty... \\\"],[8,[39,7],null,[[\\\"@route\\\"],[\\\"promotions-index\\\"]],[[\\\"default\\\"],[[[[1,\\\"Browse Promotions to begin your legendary collection!\\\"]],[]]]]],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n                                    \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[42,[28,[37,9],[[28,[37,9],[[30,0,[\\\"keys\\\"]]],null]],null],null,[[[1,\\\"                                        \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-separator\\\"],[12],[13],[1,\\\"\\\\n                                        \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-row\\\"],[12],[1,\\\"\\\\n                                            \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-row-data game\\\"],[12],[1,[30,1,[\\\"title\\\"]]],[13],[1,\\\"\\\\n                                            \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-row-data game-key-container\\\"],[12],[1,\\\"\\\\n                                                \\\"],[10,1],[14,0,\\\"loot-giveaway-keys-row-data game-key-label\\\"],[12],[1,\\\"Game Key:\\\"],[13],[1,\\\"\\\\n                                                \\\"],[10,1],[14,0,\\\"loot-giveaway-keys-row-data game-key\\\"],[12],[1,[30,1,[\\\"code\\\"]]],[13],[1,\\\"\\\\n                                                \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-row-data game-key-copy-container\\\"],[12],[1,\\\"\\\\n                                                    \\\"],[11,\\\"button\\\"],[24,0,\\\"loot-giveaway-keys-row-data game-key-copy\\\"],[16,\\\"title\\\",[52,[30,0,[\\\"copiedCode\\\"]],\\\"Code was copied to clipboard\\\",\\\"Copy code to clipboard\\\"]],[4,[38,11],[\\\"click\\\",[28,[37,12],[[30,0],[30,0,[\\\"copyKeyToClipboard\\\"]],[30,1,[\\\"code\\\"]]],null]],null],[12],[1,\\\"\\\\n\\\"],[41,[28,[37,13],[[30,0,[\\\"codeCopyFlag\\\"]],[28,[37,6],[[30,0,[\\\"copiedCode\\\"]],[30,1,[\\\"code\\\"]]],null]],null],[[[1,\\\"                                                            \\\"],[1,[28,[35,14],[\\\"check\\\"],null]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"                                                            \\\"],[1,[28,[35,14],[\\\"far-copy\\\"],null]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\"                                                    \\\"],[13],[1,\\\"\\\\n                                                \\\"],[13],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n                                            \\\"],[10,0],[14,0,\\\"loot-giveaway-keys-row-data claim-date-container\\\"],[12],[1,\\\"\\\\n                                                \\\"],[10,1],[14,0,\\\"loot-giveaway-keys-row-data claim-date-label\\\"],[12],[1,\\\"Claimed:\\\"],[13],[1,\\\"\\\\n                                                \\\"],[10,1],[14,0,\\\"loot-giveaway-keys-row-data claim-date\\\"],[12],[1,[28,[30,0,[\\\"formatClaimDate\\\"]],[[30,1,[\\\"assignedAt\\\"]]],null]],[13],[1,\\\"\\\\n                                            \\\"],[13],[1,\\\"\\\\n                                        \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null]],[]]],[1,\\\"                            \\\"],[13],[1,\\\"\\\\n                        \\\"],[13],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n\\\\n                \\\"],[10,\\\"section\\\"],[14,0,\\\"loot-ad-section\\\"],[12],[1,\\\"\\\\n                    \\\"],[10,0],[14,0,\\\"loot-ad-slot\\\"],[12],[1,\\\"\\\\n                        \\\"],[8,[39,15],null,[[\\\"@ad\\\"],[[30,0,[\\\"ad\\\"]]]],null],[1,\\\"\\\\n                    \\\"],[13],[1,\\\"\\\\n                \\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n    \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[\\\"key\\\"],false,[\\\"div\\\",\\\"did-insert\\\",\\\"main\\\",\\\"section\\\",\\\"span\\\",\\\"if\\\",\\\"eq\\\",\\\"link-to\\\",\\\"each\\\",\\\"-track-array\\\",\\\"button\\\",\\\"on\\\",\\\"action\\\",\\\"both\\\",\\\"d-icon\\\",\\\"cp-ad\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/rewards-index.hbs\",\n    \"isStrictMode\": false\n  });\n});","define(\"discourse/plugins/discourse-plugin-content-platform/discourse/templates/sign-up\", [\"exports\", \"@ember/template-factory\"], function (_exports, _templateFactory) {\n  \"use strict\";\n\n  Object.defineProperty(_exports, \"__esModule\", {\n    value: true\n  });\n  _exports.default = void 0;\n  var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n  /*\n    <div class=\"cp-container\">\n    <div class=\"signup-progress\">\n      <div class=\"signup-progress-bar\" style=\"width: {{this.progressPercent}}%;\"></div>\n    </div>\n  \n    <main class=\"cp-main-signup\">\n      <form {{on \"submit\" this.handleSubmit}} {{on \"keydown\" this.handleKeydown}} class=\"signup-form step-{{this.step}}\">\n  \n        <!-- Step 1 -->\n        <div class=\"signup-step\" data-step=\"1\">\n          <h1><b>CREATE</b></h1>\n          <h1><b>YOUR ACCOUNT</b></h1>\n          <div class=\"cp-signup-divider-line\"></div>\n          <h3>GAMES! GRAPHICS! GIVEAWAYS! GEE GOLLY!</h3>\n          <h3>THERE'S OVER 9000 REASONS TO JOIN AMD HUB</h3>\n          <label>Enter your email address:</label>\n          <Input @id=\"sign-up-email\" placeholder=\"EMAIL\" @value={{this.email}} />\n          <label class=\"cp-check\">\n            <Input @type=\"checkbox\" @checked={{this.privacyPolicy}} />\n            <span class=\"cp-box\" aria-hidden=\"true\"></span>\n            <span class=\"cp-text\">By creating an account, I agree to the AMDGaming.com Terms of Service and Privacy\n              Policy.</span>\n          </label>\n  \n          <label class=\"cp-check\">\n            <Input @type=\"checkbox\" @checked={{this.amdNewsletter}} />\n            <span class=\"cp-box\" aria-hidden=\"true\"></span>\n            <span class=\"cp-text\">Yes, I would like to receive marketing emails from AMDGaming.com. You can unsubscribe at\n              any time.</span>\n          </label>\n  \n          <label class=\"cp-check\">\n            <Input @type=\"checkbox\" @checked={{this.amdMarketing}} />\n            <span class=\"cp-box\" aria-hidden=\"true\"></span>\n            <span class=\"cp-text\">Yes, I would like to receive emails from AMD to learn about products and promotions. For\n              information on how AMD will use and protect your personal data, please review the AMD Privacy Notice. You\n              can unsubscribe at any time.</span>\n          </label>\n          <button type=\"button\" {{on \"click\" (fn this.nextStep)}}>Next →</button>\n  \n          <div class=\"sign-up-error\">{{this.resultMessage}}</div>\n        </div>\n  \n        <!-- Step 2 -->\n        <div class=\"signup-step\" data-step=\"2\">\n          <h1><b>CREATE</b></h1>\n          <h1><b>YOUR ACCOUNT</b></h1>\n          <div class=\"cp-signup-divider-line\"></div>\n          <h3>INCREASE YOUR CHARACTER STATS AND UNLOCK MORE!</h3>\n          <h3>BECOME THE SUPREME COMMANDER!</h3>\n          <label for=\"sign-up-birthdate\">Enter your Date of Birth:</label>\n          <Input id=\"sign-up-birthdate\" @type=\"date\" @value={{this.birthdate}} min={{this.birthdateMin}}\n            max={{this.birthdateMax}} />\n          <button type=\"button\" {{on \"click\" (fn this.nextStep)}}>Next →</button>\n  \n  \n          <div class=\"sign-up-error\">{{this.resultMessage}}</div>\n        </div>\n  \n        <!-- Step 3 -->\n        <div class=\"signup-step\" data-step=\"3\">\n          <h1><b>CREATE</b></h1>\n          <h1><b>YOUR ACCOUNT</b></h1>\n          <div class=\"cp-signup-divider-line\"></div>\n          <h3>JOIN THE COMMUNITY AND BECOME ONE OF US!</h3>\n          <h3>GET HELP WITH GAMES, SOFTWARE, AND HARDWARE!</h3>\n          <label class=\"pw-head\">\n            Create a Password\n  \n            <button type=\"button\" class=\"cp-info\" aria-expanded={{this.isPwTipOpen}} aria-controls=\"pw-tip\" {{on \"click\"\n              this.togglePwTip}}>\n              {{d-icon \"circle-info\"}}\n            </button>\n  \n            <div id=\"pw-tip\" role=\"tooltip\" class=\"cp-tooltip {{if this.isPwTipOpen \" is-open\"}}\">\n              <strong>Password requirements</strong>\n              <ul class=\"pw-rules\">\n                <li class=\"{{if this.pwHasMin \" ok\"}}\">At least 8 characters</li>\n                <li class=\"{{if this.pwHasUpper \" ok\"}}\">At least 1 uppercase letter</li>\n                <li class=\"{{if this.pwHasLower \" ok\"}}\">At least 1 lowercase letter</li>\n                <li class=\"{{if this.pwHasDigit \" ok\"}}\">At least 1 number</li>\n                <li class=\"{{if this.pwHasSpecial \" ok\"}}\">At least 1 special character</li>\n              </ul>\n            </div>\n          </label>\n          <Input @id=\"sign-up-pass\" @type=\"password\" placeholder=\"PASSWORD\" @value={{this.password}} />\n          <Input @id=\"sign-up-pass-confirm\" @type=\"password\" placeholder=\"CONFIRM PASSWORD\"\n            @value={{this.passwordConfirm}} />\n  \n          {{! --- hCaptcha --- }}\n          {{#if this.showCaptcha}}\n          <div id=\"hcaptcha-root\" {{did-insert this.setupHCaptcha}} aria-hidden=\"true\"></div>\n          {{/if}}\n  \n  \n          <button type=\"submit\" disabled={{this.isSubmitting}}>\n            {{#if this.isSubmitting}}\n            <span class=\"spinner\"></span>\n            {{else}}\n            Create Account\n            {{/if}}\n          </button>\n  \n          <div class=\"sign-up-error\">{{this.resultMessage}}</div>\n        </div>\n  \n      </form>\n      <div>\n        This site is protected by hCaptcha and its\n        <a href=\"https://www.hcaptcha.com/privacy\">Privacy Policy</a> and\n        <a href=\"https://www.hcaptcha.com/terms\">Terms of Service</a> apply.\n      </div>\n    </main>\n  </div>\n  */\n  {\n    \"id\": \"+L+XVRFW\",\n    \"block\": \"[[[10,0],[14,0,\\\"cp-container\\\"],[12],[1,\\\"\\\\n  \\\"],[10,0],[14,0,\\\"signup-progress\\\"],[12],[1,\\\"\\\\n    \\\"],[10,0],[14,0,\\\"signup-progress-bar\\\"],[15,5,[29,[\\\"width: \\\",[30,0,[\\\"progressPercent\\\"]],\\\"%;\\\"]]],[12],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\\n  \\\"],[10,\\\"main\\\"],[14,0,\\\"cp-main-signup\\\"],[12],[1,\\\"\\\\n    \\\"],[11,\\\"form\\\"],[16,0,[29,[\\\"signup-form step-\\\",[30,0,[\\\"step\\\"]]]]],[4,[38,3],[\\\"submit\\\",[30,0,[\\\"handleSubmit\\\"]]],null],[4,[38,3],[\\\"keydown\\\",[30,0,[\\\"handleKeydown\\\"]]],null],[12],[1,\\\"\\\\n\\\\n      \\\"],[3,\\\" Step 1 \\\"],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"signup-step\\\"],[14,\\\"data-step\\\",\\\"1\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"CREATE\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"YOUR ACCOUNT\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"cp-signup-divider-line\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[10,\\\"h3\\\"],[12],[1,\\\"GAMES! GRAPHICS! GIVEAWAYS! GEE GOLLY!\\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"h3\\\"],[12],[1,\\\"THERE'S OVER 9000 REASONS TO JOIN AMD HUB\\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[12],[1,\\\"Enter your email address:\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,8],[[24,\\\"placeholder\\\",\\\"EMAIL\\\"]],[[\\\"@id\\\",\\\"@value\\\"],[\\\"sign-up-email\\\",[30,0,[\\\"email\\\"]]]],null],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-check\\\"],[12],[1,\\\"\\\\n          \\\"],[8,[39,8],null,[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[30,0,[\\\"privacyPolicy\\\"]]]],null],[1,\\\"\\\\n          \\\"],[10,1],[14,0,\\\"cp-box\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[1,\\\"\\\\n          \\\"],[10,1],[14,0,\\\"cp-text\\\"],[12],[1,\\\"By creating an account, I agree to the AMDGaming.com Terms of Service and Privacy\\\\n            Policy.\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-check\\\"],[12],[1,\\\"\\\\n          \\\"],[8,[39,8],null,[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[30,0,[\\\"amdNewsletter\\\"]]]],null],[1,\\\"\\\\n          \\\"],[10,1],[14,0,\\\"cp-box\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[1,\\\"\\\\n          \\\"],[10,1],[14,0,\\\"cp-text\\\"],[12],[1,\\\"Yes, I would like to receive marketing emails from AMDGaming.com. You can unsubscribe at\\\\n            any time.\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,\\\"label\\\"],[14,0,\\\"cp-check\\\"],[12],[1,\\\"\\\\n          \\\"],[8,[39,8],null,[[\\\"@type\\\",\\\"@checked\\\"],[\\\"checkbox\\\",[30,0,[\\\"amdMarketing\\\"]]]],null],[1,\\\"\\\\n          \\\"],[10,1],[14,0,\\\"cp-box\\\"],[14,\\\"aria-hidden\\\",\\\"true\\\"],[12],[13],[1,\\\"\\\\n          \\\"],[10,1],[14,0,\\\"cp-text\\\"],[12],[1,\\\"Yes, I would like to receive emails from AMD to learn about products and promotions. For\\\\n            information on how AMD will use and protect your personal data, please review the AMD Privacy Notice. You\\\\n            can unsubscribe at any time.\\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,4,\\\"button\\\"],[4,[38,3],[\\\"click\\\",[28,[37,11],[[30,0,[\\\"nextStep\\\"]]],null]],null],[12],[1,\\\"Next →\\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"sign-up-error\\\"],[12],[1,[30,0,[\\\"resultMessage\\\"]]],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[3,\\\" Step 2 \\\"],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"signup-step\\\"],[14,\\\"data-step\\\",\\\"2\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"CREATE\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"YOUR ACCOUNT\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"cp-signup-divider-line\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[10,\\\"h3\\\"],[12],[1,\\\"INCREASE YOUR CHARACTER STATS AND UNLOCK MORE!\\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"h3\\\"],[12],[1,\\\"BECOME THE SUPREME COMMANDER!\\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"sign-up-birthdate\\\"],[12],[1,\\\"Enter your Date of Birth:\\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,8],[[24,1,\\\"sign-up-birthdate\\\"],[16,\\\"min\\\",[30,0,[\\\"birthdateMin\\\"]]],[16,\\\"max\\\",[30,0,[\\\"birthdateMax\\\"]]]],[[\\\"@type\\\",\\\"@value\\\"],[\\\"date\\\",[30,0,[\\\"birthdate\\\"]]]],null],[1,\\\"\\\\n        \\\"],[11,\\\"button\\\"],[24,4,\\\"button\\\"],[4,[38,3],[\\\"click\\\",[28,[37,11],[[30,0,[\\\"nextStep\\\"]]],null]],null],[12],[1,\\\"Next →\\\"],[13],[1,\\\"\\\\n\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"sign-up-error\\\"],[12],[1,[30,0,[\\\"resultMessage\\\"]]],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n      \\\"],[3,\\\" Step 3 \\\"],[1,\\\"\\\\n      \\\"],[10,0],[14,0,\\\"signup-step\\\"],[14,\\\"data-step\\\",\\\"3\\\"],[12],[1,\\\"\\\\n        \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"CREATE\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,\\\"h1\\\"],[12],[10,\\\"b\\\"],[12],[1,\\\"YOUR ACCOUNT\\\"],[13],[13],[1,\\\"\\\\n        \\\"],[10,0],[14,0,\\\"cp-signup-divider-line\\\"],[12],[13],[1,\\\"\\\\n        \\\"],[10,\\\"h3\\\"],[12],[1,\\\"JOIN THE COMMUNITY AND BECOME ONE OF US!\\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"h3\\\"],[12],[1,\\\"GET HELP WITH GAMES, SOFTWARE, AND HARDWARE!\\\"],[13],[1,\\\"\\\\n        \\\"],[10,\\\"label\\\"],[14,0,\\\"pw-head\\\"],[12],[1,\\\"\\\\n          Create a Password\\\\n\\\\n          \\\"],[11,\\\"button\\\"],[24,0,\\\"cp-info\\\"],[16,\\\"aria-expanded\\\",[30,0,[\\\"isPwTipOpen\\\"]]],[24,\\\"aria-controls\\\",\\\"pw-tip\\\"],[24,4,\\\"button\\\"],[4,[38,3],[\\\"click\\\",[30,0,[\\\"togglePwTip\\\"]]],null],[12],[1,\\\"\\\\n            \\\"],[1,[28,[35,12],[\\\"circle-info\\\"],null]],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n\\\\n          \\\"],[10,0],[14,1,\\\"pw-tip\\\"],[14,\\\"role\\\",\\\"tooltip\\\"],[15,0,[29,[\\\"cp-tooltip \\\",[52,[30,0,[\\\"isPwTipOpen\\\"]],\\\" is-open\\\"]]]],[12],[1,\\\"\\\\n            \\\"],[10,\\\"strong\\\"],[12],[1,\\\"Password requirements\\\"],[13],[1,\\\"\\\\n            \\\"],[10,\\\"ul\\\"],[14,0,\\\"pw-rules\\\"],[12],[1,\\\"\\\\n              \\\"],[10,\\\"li\\\"],[15,0,[29,[[52,[30,0,[\\\"pwHasMin\\\"]],\\\" ok\\\"]]]],[12],[1,\\\"At least 8 characters\\\"],[13],[1,\\\"\\\\n              \\\"],[10,\\\"li\\\"],[15,0,[29,[[52,[30,0,[\\\"pwHasUpper\\\"]],\\\" ok\\\"]]]],[12],[1,\\\"At least 1 uppercase letter\\\"],[13],[1,\\\"\\\\n              \\\"],[10,\\\"li\\\"],[15,0,[29,[[52,[30,0,[\\\"pwHasLower\\\"]],\\\" ok\\\"]]]],[12],[1,\\\"At least 1 lowercase letter\\\"],[13],[1,\\\"\\\\n              \\\"],[10,\\\"li\\\"],[15,0,[29,[[52,[30,0,[\\\"pwHasDigit\\\"]],\\\" ok\\\"]]]],[12],[1,\\\"At least 1 number\\\"],[13],[1,\\\"\\\\n              \\\"],[10,\\\"li\\\"],[15,0,[29,[[52,[30,0,[\\\"pwHasSpecial\\\"]],\\\" ok\\\"]]]],[12],[1,\\\"At least 1 special character\\\"],[13],[1,\\\"\\\\n            \\\"],[13],[1,\\\"\\\\n          \\\"],[13],[1,\\\"\\\\n        \\\"],[13],[1,\\\"\\\\n        \\\"],[8,[39,8],[[24,\\\"placeholder\\\",\\\"PASSWORD\\\"]],[[\\\"@id\\\",\\\"@type\\\",\\\"@value\\\"],[\\\"sign-up-pass\\\",\\\"password\\\",[30,0,[\\\"password\\\"]]]],null],[1,\\\"\\\\n        \\\"],[8,[39,8],[[24,\\\"placeholder\\\",\\\"CONFIRM PASSWORD\\\"]],[[\\\"@id\\\",\\\"@type\\\",\\\"@value\\\"],[\\\"sign-up-pass-confirm\\\",\\\"password\\\",[30,0,[\\\"passwordConfirm\\\"]]]],null],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"showCaptcha\\\"]],[[[1,\\\"        \\\"],[11,0],[24,1,\\\"hcaptcha-root\\\"],[24,\\\"aria-hidden\\\",\\\"true\\\"],[4,[38,17],[[30,0,[\\\"setupHCaptcha\\\"]]],null],[12],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\"\\\\n\\\\n        \\\"],[10,\\\"button\\\"],[15,\\\"disabled\\\",[30,0,[\\\"isSubmitting\\\"]]],[14,4,\\\"submit\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"isSubmitting\\\"]],[[[1,\\\"          \\\"],[10,1],[14,0,\\\"spinner\\\"],[12],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\"          Create Account\\\\n\\\"]],[]]],[1,\\\"        \\\"],[13],[1,\\\"\\\\n\\\\n        \\\"],[10,0],[14,0,\\\"sign-up-error\\\"],[12],[1,[30,0,[\\\"resultMessage\\\"]]],[13],[1,\\\"\\\\n      \\\"],[13],[1,\\\"\\\\n\\\\n    \\\"],[13],[1,\\\"\\\\n    \\\"],[10,0],[12],[1,\\\"\\\\n      This site is protected by hCaptcha and its\\\\n      \\\"],[10,3],[14,6,\\\"https://www.hcaptcha.com/privacy\\\"],[12],[1,\\\"Privacy Policy\\\"],[13],[1,\\\" and\\\\n      \\\"],[10,3],[14,6,\\\"https://www.hcaptcha.com/terms\\\"],[12],[1,\\\"Terms of Service\\\"],[13],[1,\\\" apply.\\\\n    \\\"],[13],[1,\\\"\\\\n  \\\"],[13],[1,\\\"\\\\n\\\"],[13]],[],false,[\\\"div\\\",\\\"main\\\",\\\"form\\\",\\\"on\\\",\\\"h1\\\",\\\"b\\\",\\\"h3\\\",\\\"label\\\",\\\"input\\\",\\\"span\\\",\\\"button\\\",\\\"fn\\\",\\\"d-icon\\\",\\\"if\\\",\\\"strong\\\",\\\"ul\\\",\\\"li\\\",\\\"did-insert\\\",\\\"a\\\"]]\",\n    \"moduleName\": \"discourse/plugins/discourse-plugin-content-platform/discourse/templates/sign-up.hbs\",\n    \"isStrictMode\": false\n  });\n});"],"mappings":"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C,EAAA5C,GACAsC,KAAAg7D,KAAAt9D,GAAA,EACA,CACA,OAAA4C,EAAA+H,UAAA4mC,IAAA,WACA,OAAAjvC,KAAAg7D,IACA,EAAA16D,EAAA+H,UAAAzM,IAAA,SAAA8B,GACA,OAAAsC,KAAAg7D,KAAAt9D,EACA,EAAA4C,EAAA+H,UAAA4yD,OAAA,SAAAv9D,GACAsC,KAAAg7D,KAAA1+D,EAAA2+D,OAAA,GAAAv9D,EAAAuxC,MAAAjvC,KAAAg7D,KACA,EAAA16D,EAAA46D,OAAA,GAAA56D,EAAA66D,SAAA,SAAAz9D,GACA,IAAApB;AACA,OAAAoB,KAAA4C,EAAA46D,SAAA5+D,EAAAqG,EAAAjF,GAAA4C,EAAA46D,OAAAx9D,GAAApB,GAAA,IAAAgE,IAAA46D,OAAAx9D,GACA,EAAA4C,CACA,GAAAtF,EAAAb,OAAA,mCACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,SACA,SACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QAEA,GAAAa,EAAAb,OAAA,0CAAAwI,GACA,SAAArC,EAAA5C,EAAApB,GACAgE,EAAAq0D,UAAAz+C,YAAAgyB,KAAAloC,KACA,CACA,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","ignoreList":[]}