{"version":3,"file":"aitools.js","sources":["../AiTools/AiEditor.access.ts","../AiTools/Shared.ts","../AiTools/Terms.vue","../AiTools/AiCreateSurvey.vue","../AiTools/Intro.vue","../AiTools/AiEditor.vue","../AiTools/AiSubject.vue","../AiTools/AiEditorExamples.access.ts","../AiTools/AiImages.vue","../AiTools/AiTools.vue","../AiTools/aitools.entry.ts"],"sourcesContent":["import { api, $Resources } from '@cwd/lib/main';\r\n\r\nexport type commands =\r\n | 'tone'\r\n | 'shorten'\r\n | 'simplify'\r\n | 'lengthen'\r\n | 'translate'\r\n | 'tone'\r\n | 'spelling'\r\n | 'heading'\r\n | 'generate-image'\r\n | 'generate-image-dalle-3'\r\n | 'create-survey';\r\n\r\nexport interface AiRequest {\r\n Command: string;\r\n CommandText: string;\r\n Parameters: {\r\n tone?: string;\r\n language?: string;\r\n type?: string;\r\n };\r\n}\r\n\r\nexport interface AiResponse {\r\n Success: boolean;\r\n ErrorCode?: string | null;\r\n Result: string[] | null;\r\n}\r\n\r\nexport interface AiDropdownOption {\r\n Command: commands;\r\n Parameters: object;\r\n Text: string;\r\n}\r\n\r\nexport interface UploadedResourceResponse {\r\n Url: string;\r\n}\r\n\r\nexport async function getPercentageConsumption(): Promise {\r\n return api.get('/OpenAI/Consumption');\r\n}\r\n\r\nexport async function postCommand(request: AiRequest): Promise {\r\n return api.post('/OpenAI', request);\r\n}\r\n\r\nexport async function uploadImage(fileName: string, imageUrl: string): Promise {\r\n return api.post('/Resources/?path=' + fileName + '&url=' + encodeURIComponent(imageUrl) + '&tag=AI', null);\r\n}\r\n\r\nexport async function createSurvey(request: AiRequest): Promise {\r\n return api.post('/Surveys/AICreate', request);\r\n}\r\n\r\nexport function getTones(): AiDropdownOption[] {\r\n var tones: AiDropdownOption[] = [\r\n {\r\n Command: 'tone',\r\n Parameters: {\r\n tone: 'playful',\r\n },\r\n Text: $Resources.AIAssistantToneOptionPlayful,\r\n },\r\n {\r\n Command: 'tone',\r\n Parameters: {\r\n tone: 'angry',\r\n },\r\n Text: $Resources.AIAssistantToneOptionAngry,\r\n },\r\n {\r\n Command: 'tone',\r\n Parameters: {\r\n tone: 'hysteric',\r\n },\r\n Text: $Resources.AIAssistantToneOptionHysteric,\r\n },\r\n {\r\n Command: 'tone',\r\n Parameters: {\r\n tone: 'serious',\r\n },\r\n Text: $Resources.AIAssistantToneOptionSerious,\r\n },\r\n {\r\n Command: 'tone',\r\n Parameters: {\r\n tone: 'formal',\r\n },\r\n Text: $Resources.AIAssistantToneOptionFormal,\r\n },\r\n {\r\n Command: 'tone',\r\n Parameters: {\r\n tone: 'seditious',\r\n },\r\n Text: $Resources.AIAssistantToneOptionSeditious,\r\n },\r\n {\r\n Command: 'tone',\r\n Parameters: {\r\n tone: 'terrifying',\r\n },\r\n Text: $Resources.AIAssistantToneOptionTerrifying,\r\n },\r\n {\r\n Command: 'tone',\r\n Parameters: {\r\n tone: 'selling',\r\n },\r\n Text: $Resources.AIAssistantToneOptionSelling,\r\n },\r\n {\r\n Command: 'tone',\r\n Parameters: {\r\n tone: 'academic',\r\n },\r\n Text: $Resources.AIAssistantToneOptionAcademic,\r\n },\r\n ];\r\n return tones;\r\n}\r\n\r\nexport type result = {\r\n resultText: string;\r\n request: AiRequest;\r\n};\r\n\r\nexport function getLanguages(): AiDropdownOption[] {\r\n var languages: AiDropdownOption[] = [\r\n {\r\n Command: 'translate',\r\n Parameters: {\r\n language: 'english',\r\n },\r\n Text: $Resources.AIAssistantLanguageOptionEnglish,\r\n },\r\n {\r\n Command: 'translate',\r\n Parameters: {\r\n language: 'swedish',\r\n },\r\n Text: $Resources.AIAssistantLanguageOptionSwedish,\r\n },\r\n {\r\n Command: 'translate',\r\n Parameters: {\r\n language: 'Danish',\r\n },\r\n Text: $Resources.AIAssistantLanguageOptionDanish,\r\n },\r\n {\r\n Command: 'translate',\r\n Parameters: {\r\n language: 'Norweigan',\r\n },\r\n Text: $Resources.AIAssistantLanguageOptionNorweigan,\r\n },\r\n {\r\n Command: 'translate',\r\n Parameters: {\r\n language: 'Finnish',\r\n },\r\n Text: $Resources.AIAssistantLanguageOptionFinnish,\r\n },\r\n {\r\n Command: 'translate',\r\n Parameters: {\r\n language: 'French',\r\n },\r\n Text: $Resources.AIAssistantLanguageOptionFrench,\r\n },\r\n {\r\n Command: 'translate',\r\n Parameters: {\r\n language: 'German',\r\n },\r\n Text: $Resources.AIAssistantLanguageOptionGerman,\r\n },\r\n {\r\n Command: 'translate',\r\n Parameters: {\r\n language: 'Italian',\r\n },\r\n Text: $Resources.AIAssistantLanguageOptionItalian,\r\n },\r\n {\r\n Command: 'translate',\r\n Parameters: {\r\n language: 'Spanish',\r\n },\r\n Text: $Resources.AIAssistantLanguageOptionSpanish,\r\n },\r\n {\r\n Command: 'translate',\r\n Parameters: {\r\n language: 'Arabic',\r\n },\r\n Text: $Resources.AIAssistantLanguageOptionArabic,\r\n },\r\n {\r\n Command: 'translate',\r\n Parameters: {\r\n language: 'Somali',\r\n },\r\n Text: $Resources.AIAssistantLanguageOptionSomali,\r\n },\r\n {\r\n Command: 'translate',\r\n Parameters: {\r\n language: 'Tigrinya',\r\n },\r\n Text: $Resources.AIAssistantLanguageOptionTigrinya,\r\n },\r\n {\r\n Command: 'translate',\r\n Parameters: {\r\n language: 'Urdu',\r\n },\r\n Text: $Resources.AIAssistantLanguageOptionUrdu,\r\n },\r\n ];\r\n return languages;\r\n}\r\n\r\nexport function getHeadingTypes(): AiDropdownOption[] {\r\n var languages: AiDropdownOption[] = [\r\n {\r\n Command: 'heading',\r\n Parameters: {\r\n type: '',\r\n },\r\n Text: $Resources.AIAssistantHeadingOptionSummary,\r\n },\r\n {\r\n Command: 'heading',\r\n Parameters: {\r\n type: 'clickbait',\r\n },\r\n Text: $Resources.AIAssistantHeadingOptionClickbait,\r\n },\r\n {\r\n Command: 'heading',\r\n Parameters: {\r\n type: 'selling',\r\n },\r\n Text: $Resources.AIAssistantHeadingOptionSelling,\r\n },\r\n {\r\n Command: 'heading',\r\n Parameters: {\r\n type: 'angry',\r\n },\r\n Text: $Resources.AIAssistantHeadingOptionAngry,\r\n },\r\n {\r\n Command: 'heading',\r\n Parameters: {\r\n type: 'welcoming',\r\n },\r\n Text: $Resources.AIAssistantHeadingOptionWelcoming,\r\n },\r\n {\r\n Command: 'heading',\r\n Parameters: {\r\n type: 'catchy',\r\n },\r\n Text: $Resources.AIAssistantHeadingOptionCatchy,\r\n },\r\n {\r\n Command: 'heading',\r\n Parameters: {\r\n type: 'fear of missing out',\r\n },\r\n Text: $Resources.AIAssistantHeadingOptionFOMO,\r\n },\r\n ];\r\n return languages;\r\n}\r\nexport function getSurveyTypes(): AiDropdownOption[] {\r\n var surveyTypes: AiDropdownOption[] = [\r\n {\r\n Command: 'create-survey',\r\n Parameters: {},\r\n Text: $Resources.AIAssistantCreateSurveyExampleEmployeeSurvey,\r\n },\r\n {\r\n Command: 'create-survey',\r\n Parameters: {},\r\n Text: $Resources.AIAssistantCreateSurveyExampleEventSurvey,\r\n },\r\n {\r\n Command: 'create-survey',\r\n Parameters: {},\r\n Text: $Resources.AIAssistantCreateSurveyExampleCourseSurvey,\r\n },\r\n {\r\n Command: 'create-survey',\r\n Parameters: {},\r\n Text: $Resources.AIAssistantCreateSurveyExampleCustomerSatisfactionSurvey,\r\n },\r\n ];\r\n return surveyTypes;\r\n}\r\n","import { reactive } from 'vue';\r\nimport { AiRequest, AiResponse, commands, createSurvey, getPercentageConsumption, postCommand, type result } from '@cwd/AiTools/AiEditor.access';\r\nimport { bsAlert } from '@shared/components/BsAlerts';\r\n\r\nexport function setupShared() {\r\n const shared = reactive<{\r\n show: boolean;\r\n loading: boolean;\r\n termsAccepted: boolean;\r\n source: string;\r\n results: result[];\r\n resultOptions: string[];\r\n current: number | null;\r\n selectedOption: number | null;\r\n percentageConsumption: number | null;\r\n command: commands | null;\r\n request: AiRequest | null;\r\n }>({\r\n show: false,\r\n loading: false,\r\n termsAccepted: false,\r\n source: '',\r\n results: [],\r\n resultOptions: [],\r\n current: null,\r\n selectedOption: null,\r\n percentageConsumption: null,\r\n command: null,\r\n request: null,\r\n });\r\n\r\n const disabled = () => {\r\n return shared.loading || !shared.termsAccepted;\r\n };\r\n\r\n const localStorageName = 'termsForAiUsageAccepted';\r\n const localStorageAiTermsAccepted = localStorage.getItem(localStorageName);\r\n shared.termsAccepted = localStorageAiTermsAccepted === 'true' ? true : false;\r\n\r\n const acceptTerms = () => {\r\n shared.termsAccepted = true;\r\n localStorage.setItem(localStorageName, 'true');\r\n };\r\n\r\n const resetOptions = () => {\r\n shared.resultOptions = [];\r\n shared.selectedOption = null;\r\n };\r\n\r\n const firstLetterToUpperCase = (str: string) => str.charAt(0).toUpperCase() + str.slice(1);\r\n\r\n const makeRequest = async (command: commands, commandText: string, updateResults: Function, parameters?: {}) => {\r\n shared.loading = true;\r\n shared.command = command;\r\n shared.resultOptions = [];\r\n\r\n shared.request = {\r\n Command: command,\r\n CommandText: commandText,\r\n Parameters: parameters || {},\r\n };\r\n\r\n await postCommand(shared.request)\r\n .then((response) => {\r\n if (response.Success) {\r\n updateResults(response.Result as string[]);\r\n } else {\r\n handleUnsuccessfulResponse(response);\r\n }\r\n })\r\n .catch(() => {\r\n handleUnsuccessfulResponse(null);\r\n })\r\n .finally(async () => {\r\n shared.loading = false;\r\n await updateConsumption();\r\n });\r\n };\r\n\r\n const makeOptionsRequest = async (command: commands, commandText: string, parameters?: {}, callback?: Function) => {\r\n shared.loading = true;\r\n shared.command = command;\r\n shared.resultOptions = [];\r\n\r\n shared.request = {\r\n Command: command,\r\n CommandText: commandText,\r\n Parameters: parameters || {},\r\n };\r\n\r\n await postCommand(shared.request)\r\n .then((response) => {\r\n if (response.Success) {\r\n shared.resultOptions = response.Result as string[];\r\n } else {\r\n handleUnsuccessfulResponse(response);\r\n }\r\n })\r\n .catch(() => {\r\n handleUnsuccessfulResponse(null);\r\n })\r\n .finally(async () => {\r\n shared.loading = false;\r\n await updateConsumption();\r\n\r\n if (callback != null) {\r\n callback();\r\n }\r\n });\r\n };\r\n\r\n const makeCreateSurveyRequest = async (command: commands, commandText: string, parameters: {}) => {\r\n shared.loading = true;\r\n shared.command = command;\r\n shared.resultOptions = [];\r\n\r\n shared.request = {\r\n Command: command,\r\n CommandText: commandText,\r\n Parameters: parameters,\r\n };\r\n\r\n await createSurvey(shared.request)\r\n .then((response) => {\r\n document.location = '/Surveys/' + response.SurveyId + '?newsurvey=true';\r\n })\r\n .catch(() => {\r\n shared.loading = false;\r\n handleUnsuccessfulResponse(null);\r\n })\r\n .finally(async () => {\r\n await updateConsumption();\r\n });\r\n };\r\n\r\n const handleUnsuccessfulResponse = (response: AiResponse | null) => {\r\n switch (response?.ErrorCode) {\r\n case 'tokens':\r\n bsAlert({ title: $Resources.AIAssistantErrorHeading, content: $Resources.AIAssistantErrorBodyToken, type: 'danger' });\r\n break;\r\n case 'command':\r\n bsAlert({ title: $Resources.AIAssistantErrorHeading, content: $Resources.AIAssistantErrorBody, type: 'danger' });\r\n break;\r\n case 'context_length_exceeded':\r\n bsAlert({ title: $Resources.AIAssistantErrorHeading, content: $Resources.AIAssistantErrorBodyTooLong, type: 'danger' });\r\n break;\r\n default:\r\n if (response?.ErrorCode != null && response?.ErrorCode.length > 0) {\r\n bsAlert({\r\n title: $Resources.AIAssistantErrorHeading,\r\n content: $Resources.AIAssistantErrorBody + ' [' + response.ErrorCode + ']',\r\n type: 'danger',\r\n });\r\n } else {\r\n bsAlert({ title: $Resources.AIAssistantErrorHeading, content: $Resources.AIAssistantErrorBody, type: 'danger' });\r\n }\r\n break;\r\n }\r\n };\r\n\r\n const updateConsumption = async () => {\r\n await getPercentageConsumption().then((percentageConsumption) => {\r\n shared.percentageConsumption = percentageConsumption;\r\n\r\n if (shared.percentageConsumption > 100) {\r\n shared.percentageConsumption = 100;\r\n }\r\n });\r\n };\r\n\r\n const showConsumption = () => {\r\n if (shared.percentageConsumption == null || shared.percentageConsumption < 70) return false;\r\n\r\n return true;\r\n };\r\n\r\n const getFormattedConsumption = () => {\r\n return shared.percentageConsumption?.toFixed(2);\r\n };\r\n\r\n return {\r\n shared,\r\n disabled,\r\n firstLetterToUpperCase,\r\n acceptTerms,\r\n resetOptions,\r\n handleUnsuccessfulResponse,\r\n showConsumption,\r\n getFormattedConsumption,\r\n updateConsumption,\r\n makeRequest,\r\n makeOptionsRequest,\r\n makeCreateSurveyRequest,\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\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\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","const objects = [\r\n 'ball',\r\n 'cat',\r\n 'dog',\r\n 'squirrel',\r\n 'coconut',\r\n 'lemon',\r\n 'apple',\r\n 'pineapple',\r\n 'hippo',\r\n 'horse',\r\n 'cupcake',\r\n 'moon',\r\n 'cityscape',\r\n 'sun',\r\n 'stars',\r\n 'badger',\r\n 'meerkat',\r\n 'panda',\r\n];\r\nconst places = [\r\n 'beach',\r\n 'grassy field',\r\n 'desert',\r\n 'landscape',\r\n 'town square',\r\n 'city street',\r\n 'forest',\r\n 'mountain range',\r\n 'valley',\r\n 'jungle',\r\n 'rainforest',\r\n 'tundra',\r\n 'salt flats',\r\n];\r\n\r\nconst nouns = [\r\n 'A cat',\r\n 'A coconut',\r\n 'A ball',\r\n 'A dog',\r\n 'A superhero',\r\n 'A goat',\r\n 'A squirrel',\r\n 'A horse',\r\n 'A cow',\r\n 'A duck',\r\n 'A goose',\r\n 'A bear',\r\n 'A lion',\r\n 'A zebra',\r\n 'A hippo',\r\n];\r\nconst contexts = ['in a crowd', 'at the beach', 'in the forest', 'at the office', 'outdoors', 'in a field', 'in the desert'];\r\nconst ending = ['with a sunset in the background', 'with a party in the background', 'with mountains in the background', 'with a forest in the background'];\r\n\r\nexport interface AiImageGenerationExample {\r\n Text: string;\r\n Categories: AiImageCategory[];\r\n}\r\n\r\nexport interface AiImageCategory {\r\n Text: string;\r\n Options: AiImageDropdownOption[];\r\n SelectedOptions: string[];\r\n}\r\n\r\nexport interface AiImageDropdownOption {\r\n Text: string;\r\n}\r\n\r\nexport function getSentencePromptExample(): string {\r\n let sentence = '';\r\n\r\n var randomNoun = getRandomItemFromArray(nouns);\r\n var randomContext = getRandomItemFromArray(contexts);\r\n var randomEnding = getRandomItemFromArray(ending);\r\n\r\n sentence += `${randomNoun} ${randomContext}`;\r\n\r\n var randomNumber = Math.random();\r\n if (randomNumber < 0.33) {\r\n sentence += ` ${randomEnding}`;\r\n }\r\n\r\n return sentence;\r\n}\r\n\r\nfunction getKeywordsPromptExample() {\r\n let text = '';\r\n\r\n //generate text from objects & places\r\n var randomObject = getRandomItemFromArray(objects);\r\n var objectWeights = { 1: 1, 2: 0.0, 3: 0.0 };\r\n var objectsToSelect = weightedRandom(objectWeights);\r\n\r\n for (let index = 0; index < objectsToSelect; index++) {\r\n var randomObject = getRandomItemFromArray(objects);\r\n\r\n if (!text.includes(randomObject)) {\r\n if (text == '') {\r\n text = `${randomObject}`;\r\n } else {\r\n text += `, ${randomObject}`;\r\n }\r\n }\r\n }\r\n\r\n var randomPlace = getRandomItemFromArray(places);\r\n text += `, ${randomPlace}`;\r\n\r\n return text;\r\n}\r\n\r\nexport function getGenerationExample(): AiImageGenerationExample {\r\n var generationExample: AiImageGenerationExample = {\r\n Text: '',\r\n Categories: getImageCategories(),\r\n };\r\n\r\n var randomNumber = Math.random();\r\n if (randomNumber < 0.5) {\r\n generationExample.Text = getSentencePromptExample();\r\n } else {\r\n generationExample.Text = getKeywordsPromptExample();\r\n }\r\n\r\n //select dropdown options per \"category\"\r\n var categoryWeights = { 1: 0.45, 2: 0.45, 3: 0.1 };\r\n var categoriesToSelect = weightedRandom(categoryWeights);\r\n for (let index = 0; index < categoriesToSelect; index++) {\r\n var randomCategory = getRandomItemFromArray(generationExample.Categories);\r\n var randomOption = getRandomItemFromArray(randomCategory.Options);\r\n\r\n var category = generationExample.Categories.find((c) => c.Text == randomCategory.Text);\r\n\r\n if (category?.SelectedOptions.length == 0) {\r\n category?.SelectedOptions.push(randomOption.Text);\r\n } else {\r\n index--;\r\n }\r\n }\r\n\r\n return generationExample;\r\n}\r\n\r\nexport function getImageCategories(): AiImageCategory[] {\r\n var categories: AiImageCategory[] = [\r\n {\r\n Text: 'Type',\r\n Options: [\r\n {\r\n Text: 'Image',\r\n },\r\n {\r\n Text: 'Watercolor',\r\n },\r\n {\r\n Text: 'Illustration',\r\n },\r\n {\r\n Text: 'Coloring pages',\r\n },\r\n {\r\n Text: 'Tattoo design',\r\n },\r\n {\r\n Text: 'Album cover',\r\n },\r\n {\r\n Text: 'Poster',\r\n },\r\n {\r\n Text: 'Art',\r\n },\r\n {\r\n Text: 'Nail art',\r\n },\r\n {\r\n Text: 'Outlines',\r\n },\r\n {\r\n Text: 'Logo',\r\n },\r\n {\r\n Text: 'Drawing',\r\n },\r\n ],\r\n SelectedOptions: [],\r\n },\r\n {\r\n Text: 'Style',\r\n Options: [\r\n {\r\n Text: 'Realism',\r\n },\r\n {\r\n Text: 'Abstract expressionism',\r\n },\r\n {\r\n Text: 'Art deco',\r\n },\r\n {\r\n Text: 'Cinematic',\r\n },\r\n {\r\n Text: 'Childrens book illustration',\r\n },\r\n {\r\n Text: 'Cartoon',\r\n },\r\n {\r\n Text: 'Brutalism',\r\n },\r\n {\r\n Text: 'Conceptual art',\r\n },\r\n {\r\n Text: 'Expressionism',\r\n },\r\n {\r\n Text: 'Minimalist',\r\n },\r\n {\r\n Text: 'Retro',\r\n },\r\n {\r\n Text: 'Colorful',\r\n },\r\n ],\r\n SelectedOptions: [],\r\n },\r\n {\r\n Text: 'Lighting',\r\n Options: [\r\n {\r\n Text: 'Blacklight',\r\n },\r\n {\r\n Text: 'Dreamy glow',\r\n },\r\n {\r\n Text: 'Lens flare',\r\n },\r\n {\r\n Text: 'Starry',\r\n },\r\n {\r\n Text: 'Sunlit',\r\n },\r\n {\r\n Text: 'Moonlit',\r\n },\r\n {\r\n Text: 'Natural light',\r\n },\r\n {\r\n Text: 'Neon lights',\r\n },\r\n {\r\n Text: 'Floodlight',\r\n },\r\n {\r\n Text: 'Backlit',\r\n },\r\n ],\r\n SelectedOptions: [],\r\n },\r\n {\r\n Text: 'Camera',\r\n Options: [\r\n {\r\n Text: 'Motion blur',\r\n },\r\n {\r\n Text: 'Night vision',\r\n },\r\n {\r\n Text: 'Oblique angle',\r\n },\r\n {\r\n Text: 'Panoramic view',\r\n },\r\n {\r\n Text: 'Polaroid camera',\r\n },\r\n {\r\n Text: 'Split focus',\r\n },\r\n {\r\n Text: 'Stereoscopic 3D',\r\n },\r\n {\r\n Text: 'Time-lapse',\r\n },\r\n {\r\n Text: 'Vintage look',\r\n },\r\n {\r\n Text: 'Abstract perspective',\r\n },\r\n {\r\n Text: 'Dutch angle',\r\n },\r\n {\r\n Text: 'Film noir style',\r\n },\r\n {\r\n Text: 'Aerial Photography',\r\n },\r\n {\r\n Text: 'Closeup',\r\n },\r\n {\r\n Text: 'Far Shot',\r\n },\r\n {\r\n Text: 'Focal Blur',\r\n },\r\n {\r\n Text: 'Out Of Focus',\r\n },\r\n {\r\n Text: 'Portrait Photography',\r\n },\r\n {\r\n Text: 'Selfie',\r\n },\r\n {\r\n Text: 'Tilt shift',\r\n },\r\n {\r\n Text: 'Wide Angle',\r\n },\r\n {\r\n Text: 'Rain drops on lens',\r\n },\r\n {\r\n Text: 'Smears on lens',\r\n },\r\n {\r\n Text: 'Smudges on lens',\r\n },\r\n {\r\n Text: 'Ultra Wide Angle',\r\n },\r\n ],\r\n SelectedOptions: [],\r\n },\r\n {\r\n Text: 'Mood',\r\n Options: [\r\n {\r\n Text: 'Serene',\r\n },\r\n {\r\n Text: 'Peaceful',\r\n },\r\n {\r\n Text: 'Vibrant',\r\n },\r\n {\r\n Text: 'Bright',\r\n },\r\n {\r\n Text: 'Romantic',\r\n },\r\n {\r\n Text: 'Lively',\r\n },\r\n {\r\n Text: 'Bleak',\r\n },\r\n {\r\n Text: 'Somber',\r\n },\r\n {\r\n Text: 'Gloomy',\r\n },\r\n {\r\n Text: 'Dark mood',\r\n },\r\n ],\r\n SelectedOptions: [],\r\n },\r\n {\r\n Text: 'Color',\r\n Options: [\r\n {\r\n Text: 'Red',\r\n },\r\n {\r\n Text: 'Blue',\r\n },\r\n {\r\n Text: 'Green',\r\n },\r\n {\r\n Text: 'Yellow',\r\n },\r\n {\r\n Text: 'White',\r\n },\r\n {\r\n Text: 'Black',\r\n },\r\n {\r\n Text: 'Pink',\r\n },\r\n {\r\n Text: 'Gold',\r\n },\r\n {\r\n Text: 'Black and white',\r\n },\r\n {\r\n Text: 'Colorful',\r\n },\r\n {\r\n Text: 'Rainbow colors',\r\n },\r\n ],\r\n SelectedOptions: [],\r\n },\r\n {\r\n Text: 'Material',\r\n Options: [\r\n {\r\n Text: 'made of copper',\r\n },\r\n {\r\n Text: 'made of vegetables',\r\n },\r\n {\r\n Text: 'made of gold',\r\n },\r\n {\r\n Text: 'made of metal',\r\n },\r\n {\r\n Text: 'made of amber',\r\n },\r\n {\r\n Text: 'made of amethyst',\r\n },\r\n {\r\n Text: 'made of wood',\r\n },\r\n {\r\n Text: 'made of ceramic',\r\n },\r\n {\r\n Text: 'made of candy',\r\n },\r\n {\r\n Text: 'made of stone',\r\n },\r\n ],\r\n SelectedOptions: [],\r\n },\r\n ];\r\n\r\n return categories;\r\n}\r\n\r\nfunction getRandomItemFromArray(array: T[]) {\r\n var randomNumber = Math.floor(Math.random() * array.length);\r\n\r\n return array[randomNumber];\r\n}\r\n\r\nfunction weightedRandom(spec: any): number {\r\n var i,\r\n sum = 0,\r\n r = Math.random();\r\n\r\n for (i in spec) {\r\n sum += spec[i];\r\n if (r <= sum) return +i;\r\n }\r\n return 0;\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\r\n\r\n\r\n\r\n@shared/utils/useKoSync @shared/utils/koObsToRef\r\n","import { rootElement } from '@shared/setup';\r\nimport AiTools from '@cwd/AiTools/AiTools.vue';\r\n\r\nconst initAiTools = async () => {\r\n rootElement({\r\n name: 'AiTools', // pascal, camel & kebab-case are valid\r\n component: AiTools,\r\n vm: {},\r\n contextComponents: ['
Waiting...
'],\r\n });\r\n};\r\n\r\ninitAiTools();\r\n"],"names":["reactive","bsAlert","defineComponent","openBlock","createElementBlock","createBaseVNode","toDisplayString","createTextVNode","createCommentVNode","onMounted","createBlock","withCtx","createVNode","unref","renderList","Fragment","normalizeClass","createStaticVNode","vShow","watch","vModelRadio","vModelSelect","vModelText","rootElement","api","$Resources$1","_sfc_main$9","_sfc_main$a","_sfc_main$7","_sfc_main$c","_sfc_main$8","_export_sfc","_sfc_main$b","_sfc_main$d","vPopoverInfo","koObsToRef","setupSync","getPercentageConsumption","postCommand","request","uploadImage","fileName","imageUrl","createSurvey","getTones","tones","$Resources","getLanguages","languages","getHeadingTypes","getSurveyTypes","surveyTypes","setupShared","shared","disabled","localStorageName","localStorageAiTermsAccepted","acceptTerms","resetOptions","firstLetterToUpperCase","str","makeRequest","command","commandText","updateResults","parameters","response","handleUnsuccessfulResponse","updateConsumption","makeOptionsRequest","callback","makeCreateSurveyRequest","percentageConsumption","_a","props","__props","showConsumption","getFormattedConsumption","state","newValue","init","create","setPrompt","prompt","_sfc_render","_ctx","_cache","_openBlock","_createElementBlock","_hoisted_1","useOption","option","updateResult","results","result","insert","getRequestInfo","newVal","emit","__emit","canvas","close","insertTranslatedSubject","objects","places","nouns","contexts","ending","getSentencePromptExample","sentence","randomNoun","getRandomItemFromArray","randomContext","randomEnding","randomNumber","getKeywordsPromptExample","text","randomObject","objectWeights","objectsToSelect","weightedRandom","index","randomPlace","getGenerationExample","generationExample","getImageCategories","categoryWeights","categoriesToSelect","randomCategory","randomOption","category","c","categories","array","spec","i","sum","r","canSave","clickImage","save","responses","imageElement","imageInsertIntoElement","url","imageEl","clear","randomizePrompt","randomizeCategories","exampleCategory","randomlyGenerateImage","generateImage","imageGenerated","aiSubjectShow","aiSubjectText","initAiTools","AiTools"],"mappings":"AAyCA,OAAA,KAAAA,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,GAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,MAAAC,GAAA,EAAA,KAAAC,EAAA,KAAAC,GAAA,MAAAC,GAAA,MAAAC,EAAA,MAAAC,GAAA,MAAAC,OAAA,mCAAA,OAAA,KAAAC,EAAA,KAAAC,MAAA,gBAAA,OAAA,KAAAC,MAAA,8EAAA,OAAA,KAAAC,MAAA,mEAAA,OAAA,KAAAC,GAAA,KAAAC,OAAA,6EAAA,OAAA,KAAAC,OAAA,iFAAA,OAAA,KAAAC,OAAA,uDAAA,OAAA,KAAAC,OAAA,qEAAA,OAAA,KAAAC,OAAA,wEAAA,OAAA,KAAAC,MAAA,sCAAA,OAAA,KAAAC,GAAA,KAAAC,OAAA,wCAAA,MAAA,qCAAA,eAAsBC,IAA4C,CACvD,OAAAb,EAAI,IAAI,qBAAqB,CACxC,CAEA,eAAsBc,GAAYC,EAAyC,CAChE,OAAAf,EAAI,KAAK,UAAWe,CAAO,CACtC,CAEsB,eAAAC,GAAYC,EAAkBC,EAAuD,CAChG,OAAAlB,EAAI,KAAK,oBAAsBiB,EAAW,QAAU,mBAAmBC,CAAQ,EAAI,UAAW,IAAI,CAC7G,CAEA,eAAsBC,GAAaJ,EAAkC,CAC1D,OAAAf,EAAI,KAAK,oBAAqBe,CAAO,CAChD,CAEO,SAASK,IAA+B,CAC3C,IAAIC,EAA4B,CAC5B,CACI,QAAS,OACT,WAAY,CACR,KAAM,SACV,EACA,KAAMC,EAAW,4BACrB,EACA,CACI,QAAS,OACT,WAAY,CACR,KAAM,OACV,EACA,KAAMA,EAAW,0BACrB,EACA,CACI,QAAS,OACT,WAAY,CACR,KAAM,UACV,EACA,KAAMA,EAAW,6BACrB,EACA,CACI,QAAS,OACT,WAAY,CACR,KAAM,SACV,EACA,KAAMA,EAAW,4BACrB,EACA,CACI,QAAS,OACT,WAAY,CACR,KAAM,QACV,EACA,KAAMA,EAAW,2BACrB,EACA,CACI,QAAS,OACT,WAAY,CACR,KAAM,WACV,EACA,KAAMA,EAAW,8BACrB,EACA,CACI,QAAS,OACT,WAAY,CACR,KAAM,YACV,EACA,KAAMA,EAAW,+BACrB,EACA,CACI,QAAS,OACT,WAAY,CACR,KAAM,SACV,EACA,KAAMA,EAAW,4BACrB,EACA,CACI,QAAS,OACT,WAAY,CACR,KAAM,UACV,EACA,KAAMA,EAAW,6BAAA,CAEzB,EACO,OAAAD,CACX,CAOO,SAASE,IAAmC,CAC/C,IAAIC,EAAgC,CAChC,CACI,QAAS,YACT,WAAY,CACR,SAAU,SACd,EACA,KAAMF,EAAW,gCACrB,EACA,CACI,QAAS,YACT,WAAY,CACR,SAAU,SACd,EACA,KAAMA,EAAW,gCACrB,EACA,CACI,QAAS,YACT,WAAY,CACR,SAAU,QACd,EACA,KAAMA,EAAW,+BACrB,EACA,CACI,QAAS,YACT,WAAY,CACR,SAAU,WACd,EACA,KAAMA,EAAW,kCACrB,EACA,CACI,QAAS,YACT,WAAY,CACR,SAAU,SACd,EACA,KAAMA,EAAW,gCACrB,EACA,CACI,QAAS,YACT,WAAY,CACR,SAAU,QACd,EACA,KAAMA,EAAW,+BACrB,EACA,CACI,QAAS,YACT,WAAY,CACR,SAAU,QACd,EACA,KAAMA,EAAW,+BACrB,EACA,CACI,QAAS,YACT,WAAY,CACR,SAAU,SACd,EACA,KAAMA,EAAW,gCACrB,EACA,CACI,QAAS,YACT,WAAY,CACR,SAAU,SACd,EACA,KAAMA,EAAW,gCACrB,EACA,CACI,QAAS,YACT,WAAY,CACR,SAAU,QACd,EACA,KAAMA,EAAW,+BACrB,EACA,CACI,QAAS,YACT,WAAY,CACR,SAAU,QACd,EACA,KAAMA,EAAW,+BACrB,EACA,CACI,QAAS,YACT,WAAY,CACR,SAAU,UACd,EACA,KAAMA,EAAW,iCACrB,EACA,CACI,QAAS,YACT,WAAY,CACR,SAAU,MACd,EACA,KAAMA,EAAW,6BAAA,CAEzB,EACO,OAAAE,CACX,CAEO,SAASC,IAAsC,CAClD,IAAID,EAAgC,CAChC,CACI,QAAS,UACT,WAAY,CACR,KAAM,EACV,EACA,KAAMF,EAAW,+BACrB,EACA,CACI,QAAS,UACT,WAAY,CACR,KAAM,WACV,EACA,KAAMA,EAAW,iCACrB,EACA,CACI,QAAS,UACT,WAAY,CACR,KAAM,SACV,EACA,KAAMA,EAAW,+BACrB,EACA,CACI,QAAS,UACT,WAAY,CACR,KAAM,OACV,EACA,KAAMA,EAAW,6BACrB,EACA,CACI,QAAS,UACT,WAAY,CACR,KAAM,WACV,EACA,KAAMA,EAAW,iCACrB,EACA,CACI,QAAS,UACT,WAAY,CACR,KAAM,QACV,EACA,KAAMA,EAAW,8BACrB,EACA,CACI,QAAS,UACT,WAAY,CACR,KAAM,qBACV,EACA,KAAMA,EAAW,4BAAA,CAEzB,EACO,OAAAE,CACX,CACO,SAASE,IAAqC,CACjD,IAAIC,EAAkC,CAClC,CACI,QAAS,gBACT,WAAY,CAAC,EACb,KAAML,EAAW,4CACrB,EACA,CACI,QAAS,gBACT,WAAY,CAAC,EACb,KAAMA,EAAW,yCACrB,EACA,CACI,QAAS,gBACT,WAAY,CAAC,EACb,KAAMA,EAAW,0CACrB,EACA,CACI,QAAS,gBACT,WAAY,CAAC,EACb,KAAMA,EAAW,wDAAA,CAEzB,EACO,OAAAK,CACX,CC9SO,SAASC,GAAc,CAC1B,MAAMC,EAASrD,EAYZ,CACC,KAAM,GACN,QAAS,GACT,cAAe,GACf,OAAQ,GACR,QAAS,CAAC,EACV,cAAe,CAAC,EAChB,QAAS,KACT,eAAgB,KAChB,sBAAuB,KACvB,QAAS,KACT,QAAS,IAAA,CACZ,EAEKsD,EAAW,IACND,EAAO,SAAW,CAACA,EAAO,cAG/BE,EAAmB,0BACnBC,EAA8B,aAAa,QAAQD,CAAgB,EAClEF,EAAA,cAAgBG,IAAgC,OAEvD,MAAMC,EAAc,IAAM,CACtBJ,EAAO,cAAgB,GACV,aAAA,QAAQE,EAAkB,MAAM,CACjD,EAEMG,EAAe,IAAM,CACvBL,EAAO,cAAgB,CAAC,EACxBA,EAAO,eAAiB,IAC5B,EAEMM,EAA0BC,GAAgBA,EAAI,OAAO,CAAC,EAAE,YAAY,EAAIA,EAAI,MAAM,CAAC,EAEnFC,EAAc,MAAOC,EAAmBC,EAAqBC,EAAyBC,IAAoB,CAC5GZ,EAAO,QAAU,GACjBA,EAAO,QAAUS,EACjBT,EAAO,cAAgB,CAAC,EAExBA,EAAO,QAAU,CACb,QAASS,EACT,YAAaC,EACb,WAAYE,GAAc,CAAA,CAC9B,EAEA,MAAM3B,GAAYe,EAAO,OAAO,EAC3B,KAAMa,GAAa,CACZA,EAAS,QACTF,EAAcE,EAAS,MAAkB,EAEzCC,EAA2BD,CAAQ,CACvC,CACH,EACA,MAAM,IAAM,CACTC,EAA2B,IAAI,CAAA,CAClC,EACA,QAAQ,SAAY,CACjBd,EAAO,QAAU,GACjB,MAAMe,EAAkB,CAAA,CAC3B,CACT,EAEMC,EAAqB,MAAOP,EAAmBC,EAAqBE,EAAiBK,IAAwB,CAC/GjB,EAAO,QAAU,GACjBA,EAAO,QAAUS,EACjBT,EAAO,cAAgB,CAAC,EAExBA,EAAO,QAAU,CACb,QAASS,EACT,YAAaC,EACb,WAAYE,GAAc,CAAA,CAC9B,EAEA,MAAM3B,GAAYe,EAAO,OAAO,EAC3B,KAAMa,GAAa,CACZA,EAAS,QACTb,EAAO,cAAgBa,EAAS,OAEhCC,EAA2BD,CAAQ,CACvC,CACH,EACA,MAAM,IAAM,CACTC,EAA2B,IAAI,CAAA,CAClC,EACA,QAAQ,SAAY,CACjBd,EAAO,QAAU,GACjB,MAAMe,EAAkB,EAEpBE,GAAY,MACHA,EAAA,CACb,CACH,CACT,EAEMC,EAA0B,MAAOT,EAAmBC,EAAqBE,IAAmB,CAC9FZ,EAAO,QAAU,GACjBA,EAAO,QAAUS,EACjBT,EAAO,cAAgB,CAAC,EAExBA,EAAO,QAAU,CACb,QAASS,EACT,YAAaC,EACb,WAAYE,CAChB,EAEA,MAAMtB,GAAaU,EAAO,OAAO,EAC5B,KAAMa,GAAa,CACP,SAAA,SAAW,YAAcA,EAAS,SAAW,iBAAA,CACzD,EACA,MAAM,IAAM,CACTb,EAAO,QAAU,GACjBc,EAA2B,IAAI,CAAA,CAClC,EACA,QAAQ,SAAY,CACjB,MAAMC,EAAkB,CAAA,CAC3B,CACT,EAEMD,EAA8BD,GAAgC,CAChE,OAAQA,GAAA,YAAAA,EAAU,UAAW,CACzB,IAAK,SACOjE,EAAA,CAAE,MAAO,WAAW,wBAAyB,QAAS,WAAW,0BAA2B,KAAM,SAAU,EACpH,MACJ,IAAK,UACOA,EAAA,CAAE,MAAO,WAAW,wBAAyB,QAAS,WAAW,qBAAsB,KAAM,SAAU,EAC/G,MACJ,IAAK,0BACOA,EAAA,CAAE,MAAO,WAAW,wBAAyB,QAAS,WAAW,4BAA6B,KAAM,SAAU,EACtH,MACJ,SACQiE,GAAA,YAAAA,EAAU,YAAa,OAAQA,GAAA,YAAAA,EAAU,UAAU,QAAS,EACpDjE,EAAA,CACJ,MAAO,WAAW,wBAClB,QAAS,WAAW,qBAAuB,KAAOiE,EAAS,UAAY,IACvE,KAAM,QAAA,CACT,EAEOjE,EAAA,CAAE,MAAO,WAAW,wBAAyB,QAAS,WAAW,qBAAsB,KAAM,SAAU,EAEnH,KAAA,CAEZ,EAEMmE,EAAoB,SAAY,CAClC,MAAM/B,GAAyB,EAAE,KAAMmC,GAA0B,CAC7DnB,EAAO,sBAAwBmB,EAE3BnB,EAAO,sBAAwB,MAC/BA,EAAO,sBAAwB,IACnC,CACH,CACL,EAYO,MAAA,CACH,OAAAA,EACA,SAAAC,EACA,uBAAAK,EACA,YAAAF,EACA,aAAAC,EACA,2BAAAS,EACA,gBAjBoB,IAChB,EAAAd,EAAO,uBAAyB,MAAQA,EAAO,sBAAwB,IAiB3E,wBAZ4B,IAAM,CDvI1C,IAAAoB,ECwIe,OAAAA,EAAApB,EAAO,wBAAP,YAAAoB,EAA8B,QAAQ,EACjD,EAWI,kBAAAL,EACA,YAAAP,EACA,mBAAAQ,EACA,wBAAAE,CACJ,CACJ,sJCjMI,MAAMG,EAAQC,8sBCUR,KAAA,CAAE,OAAAtB,EAAQ,SAAAC,EAAU,YAAAG,EAAa,gBAAAmB,EAAiB,wBAAAC,EAAyB,kBAAAT,EAAmB,wBAAAG,CAAwB,EAAInB,EAAY,EAEtIsB,EAAQC,EAQRG,EAAQ9E,EAIX,CACC,OAAQ,GACR,UAAW,GACX,OAAQ,CAAA,CAAC,CACZ,EAEDS,GAAU,SAAY,CAClBiE,EAAM,aAAa,MACfA,EAAM,aAAa,KAAK,UAAWK,GAAsB,CACrD1B,EAAO,KAAO0B,EACVA,IAAa,IAAWC,EAAA,CAAA,CAC/B,CAAA,CACR,EAED,MAAMA,EAAO,SAAY,CACrB,MAAMZ,EAAkB,CAC5B,EAEMa,EAAS,IAAM,CACjBH,EAAM,OAAS,CACX,KAAMA,EAAM,OACZ,SAAUJ,EAAM,aAAa,iBAAiB,EAC9C,WAAYA,EAAM,aAAa,WAAW,CAC9C,EAEAH,EAAwB,gBAAiBO,EAAM,UAAWA,EAAM,MAAM,CAC1E,EAEMI,EAAaC,GAAmB,CAClCL,EAAM,OAASK,CACnB,0lDClDA,SAAAC,GAAAC,EAAAC,EAAA,CALJ,OAAAC,EAAA,EAAAC,EAAA,MAAAC,GAAAH,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;2uBCSU,KAAA,CACF,OAAAjC,EACA,SAAAC,EACA,uBAAAK,EACA,YAAAF,EACA,aAAAC,EACA,gBAAAkB,EACA,wBAAAC,EACA,kBAAAT,EACA,YAAAP,EACA,mBAAAQ,GACAjB,EAAY,EAEVsB,EAAQC,EAQdlE,GAAU,SAAY,CAClBiE,EAAM,OAAO,MACTA,EAAM,OAAO,KAAK,UAAWK,GAAsB,CAC/C1B,EAAO,KAAO0B,EACVA,IAAa,IAAWC,EAAA,CAAA,CAC/B,CAAA,CACR,EAED,MAAMF,EAAQ9E,EAEX,CACC,WAAY,EAAA,CACf,EAEK+D,EAAc,IACTV,EAAO,UAAY,KAAOA,EAAO,OAASA,EAAO,QAAQA,EAAO,OAAO,EAAE,WAG9E2B,EAAO,SAAY,CACrB,WAAW,IAAOF,EAAM,WAAa,GAAO,GAAI,EAEhDzB,EAAO,QAAU,CAAC,EAClBA,EAAO,cAAgB,CAAC,EACxBA,EAAO,QAAU,KACjBA,EAAO,OAASqB,EAAM,OAAO,gBAAgB,CAAC,EAAE,UAEhD,MAAMN,EAAkB,CAC5B,EAEMsB,EAAaC,GAAmB,CAClC,OAAQtC,EAAO,QAAS,CACpB,IAAK,UACDuC,EAAa,OAASD,EAAS,QAAU5B,EAAA,CAAa,EACtD,KAAA,CAEZ,EAEMC,EAAiB6B,GAAsB,CAC5BD,EAAAC,EAAQ,CAAC,CAAC,CAC3B,EAEMD,EAAgBE,GAAmB,CACrCzC,EAAO,UAAY,OAASA,EAAO,QAAQ,OAASA,EAAO,QAAU,GACrEA,EAAO,QAAQ,KAAK,CAChB,WAAYyC,EACZ,QAASzC,EAAO,OAAA,CACnB,EACMA,EAAA,QAAUA,EAAO,QAAQ,OAAS,EACzCA,EAAO,cAAgB,CAAC,CAC5B,EAEM0C,EAAS,IAAM,CACb1C,EAAO,SAAW,OAEhBqB,EAAA,OAAO,gBAAgB,CAAC,EAAE,UAAYrB,EAAO,QAAQA,EAAO,OAAiB,EAAE,WACrFqB,EAAM,OAAO,KAAK,EACZA,EAAA,OAAO,KAAK,EAAK,EAC3B,EAEMsB,EAAkBzD,GACb,WAAW,cAAgBoB,EAAuBpB,EAAQ,OAAO,CAAC,iyICjFvE,KAAA,CAAE,OAAAc,EAAQ,SAAAC,EAAU,YAAAG,EAAa,gBAAAmB,EAAiB,wBAAAC,EAAyB,kBAAAT,EAAmB,mBAAAC,EAAoB,YAAAR,CAAY,EAAIT,EAAY,EAE9IsB,EAAQC,EAKRxD,GAAAuD,EAAQuB,GAAW,CACjBvB,EAAM,OAAS,IAAWM,EAAA,CAAA,CACjC,EAED,MAAMkB,EAAOC,EAEPnB,EAAO,SAAY,CACrB3B,EAAO,QAAU,KACjBA,EAAO,cAAgB,CAAC,EAExB,MAAMe,EAAkB,EAEpB,IAAAgC,EAAS,SAAS,cAAc,SAAS,EACzCA,GAAU,OACV/C,EAAO,OAAS+C,EAAO,UAAU,OAAO,UAAU,EAAG,GAAK,EAElE,EAEML,EAAS,SAAY,CACnB1C,EAAO,iBAAmB,OAC9B6C,EAAK,cAAe7C,EAAO,cAAcA,EAAO,cAAc,CAAC,EACzDgD,EAAA,EACNhD,EAAO,eAAiB,KAC5B,EAEMiD,EAA2BT,GAAsB,CAC9CK,EAAA,cAAeL,EAAQ,CAAC,CAAC,EACxBQ,EAAA,CACV,EAEMA,EAAQ,IAAMH,EAAK,OAAO,gsDC9C9BK,GAAU,CACZ,OACA,MACA,MACA,WACA,UACA,QACA,QACA,YACA,QACA,QACA,UACA,OACA,YACA,MACA,QACA,SACA,UACA,OACJ,EACMC,GAAS,CACX,QACA,eACA,SACA,YACA,cACA,cACA,SACA,iBACA,SACA,SACA,aACA,SACA,YACJ,EAEMC,GAAQ,CACV,QACA,YACA,SACA,QACA,cACA,SACA,aACA,UACA,QACA,SACA,UACA,SACA,SACA,UACA,SACJ,EACMC,GAAW,CAAC,aAAc,eAAgB,gBAAiB,gBAAiB,WAAY,aAAc,eAAe,EACrHC,GAAS,CAAC,kCAAmC,iCAAkC,mCAAoC,iCAAiC,EAiBnJ,SAASC,IAAmC,CAC/C,IAAIC,EAAW,GAEX,IAAAC,EAAaC,EAAuBN,EAAK,EACzCO,EAAgBD,EAAuBL,EAAQ,EAC/CO,EAAeF,EAAuBJ,EAAM,EAEpCE,GAAA,GAAGC,CAAU,IAAIE,CAAa,GAEtC,IAAAE,EAAe,KAAK,OAAO,EAC/B,OAAIA,EAAe,MACfL,GAAY,IAAII,CAAY,IAGzBJ,CACX,CAEA,SAASM,IAA2B,CAChC,IAAIC,EAAO,GAGP,IAAAC,EAAeN,EAAuBR,EAAO,EAC7Ce,EAAgB,CAAE,EAAG,EAAG,EAAG,EAAK,EAAG,CAAI,EACvCC,EAAkBC,GAAeF,CAAa,EAElD,QAASG,EAAQ,EAAGA,EAAQF,EAAiBE,IAAS,CAC9C,IAAAJ,EAAeN,EAAuBR,EAAO,EAE5Ca,EAAK,SAASC,CAAY,IACvBD,GAAQ,GACRA,EAAO,GAAGC,CAAY,GAEtBD,GAAQ,KAAKC,CAAY,GAEjC,CAGA,IAAAK,EAAcX,EAAuBP,EAAM,EAC/C,OAAAY,GAAQ,KAAKM,CAAW,GAEjBN,CACX,CAEO,SAASO,IAAiD,CAC7D,IAAIC,EAA8C,CAC9C,KAAM,GACN,WAAYC,GAAmB,CACnC,EAEIX,EAAe,KAAK,OAAO,EAC3BA,EAAe,GACfU,EAAkB,KAAOhB,GAAyB,EAElDgB,EAAkB,KAAOT,GAAyB,EAItD,IAAIW,EAAkB,CAAE,EAAG,IAAM,EAAG,IAAM,EAAG,EAAI,EAC7CC,EAAqBP,GAAeM,CAAe,EACvD,QAASL,EAAQ,EAAGA,EAAQM,EAAoBN,IAAS,CACjD,IAAAO,EAAiBjB,EAAuBa,EAAkB,UAAU,EACpEK,EAAelB,EAAuBiB,EAAe,OAAO,EAE5DE,EAAWN,EAAkB,WAAW,KAAMO,GAAMA,EAAE,MAAQH,EAAe,IAAI,GAEjFE,GAAA,YAAAA,EAAU,gBAAgB,SAAU,EAC1BA,GAAA,MAAAA,EAAA,gBAAgB,KAAKD,EAAa,MAE5CR,GACJ,CAGG,OAAAG,CACX,CAEO,SAASC,IAAwC,CACpD,IAAIO,EAAgC,CAChC,CACI,KAAM,OACN,QAAS,CACL,CACI,KAAM,OACV,EACA,CACI,KAAM,YACV,EACA,CACI,KAAM,cACV,EACA,CACI,KAAM,gBACV,EACA,CACI,KAAM,eACV,EACA,CACI,KAAM,aACV,EACA,CACI,KAAM,QACV,EACA,CACI,KAAM,KACV,EACA,CACI,KAAM,UACV,EACA,CACI,KAAM,UACV,EACA,CACI,KAAM,MACV,EACA,CACI,KAAM,SAAA,CAEd,EACA,gBAAiB,CAAA,CACrB,EACA,CACI,KAAM,QACN,QAAS,CACL,CACI,KAAM,SACV,EACA,CACI,KAAM,wBACV,EACA,CACI,KAAM,UACV,EACA,CACI,KAAM,WACV,EACA,CACI,KAAM,6BACV,EACA,CACI,KAAM,SACV,EACA,CACI,KAAM,WACV,EACA,CACI,KAAM,gBACV,EACA,CACI,KAAM,eACV,EACA,CACI,KAAM,YACV,EACA,CACI,KAAM,OACV,EACA,CACI,KAAM,UAAA,CAEd,EACA,gBAAiB,CAAA,CACrB,EACA,CACI,KAAM,WACN,QAAS,CACL,CACI,KAAM,YACV,EACA,CACI,KAAM,aACV,EACA,CACI,KAAM,YACV,EACA,CACI,KAAM,QACV,EACA,CACI,KAAM,QACV,EACA,CACI,KAAM,SACV,EACA,CACI,KAAM,eACV,EACA,CACI,KAAM,aACV,EACA,CACI,KAAM,YACV,EACA,CACI,KAAM,SAAA,CAEd,EACA,gBAAiB,CAAA,CACrB,EACA,CACI,KAAM,SACN,QAAS,CACL,CACI,KAAM,aACV,EACA,CACI,KAAM,cACV,EACA,CACI,KAAM,eACV,EACA,CACI,KAAM,gBACV,EACA,CACI,KAAM,iBACV,EACA,CACI,KAAM,aACV,EACA,CACI,KAAM,iBACV,EACA,CACI,KAAM,YACV,EACA,CACI,KAAM,cACV,EACA,CACI,KAAM,sBACV,EACA,CACI,KAAM,aACV,EACA,CACI,KAAM,iBACV,EACA,CACI,KAAM,oBACV,EACA,CACI,KAAM,SACV,EACA,CACI,KAAM,UACV,EACA,CACI,KAAM,YACV,EACA,CACI,KAAM,cACV,EACA,CACI,KAAM,sBACV,EACA,CACI,KAAM,QACV,EACA,CACI,KAAM,YACV,EACA,CACI,KAAM,YACV,EACA,CACI,KAAM,oBACV,EACA,CACI,KAAM,gBACV,EACA,CACI,KAAM,iBACV,EACA,CACI,KAAM,kBAAA,CAEd,EACA,gBAAiB,CAAA,CACrB,EACA,CACI,KAAM,OACN,QAAS,CACL,CACI,KAAM,QACV,EACA,CACI,KAAM,UACV,EACA,CACI,KAAM,SACV,EACA,CACI,KAAM,QACV,EACA,CACI,KAAM,UACV,EACA,CACI,KAAM,QACV,EACA,CACI,KAAM,OACV,EACA,CACI,KAAM,QACV,EACA,CACI,KAAM,QACV,EACA,CACI,KAAM,WAAA,CAEd,EACA,gBAAiB,CAAA,CACrB,EACA,CACI,KAAM,QACN,QAAS,CACL,CACI,KAAM,KACV,EACA,CACI,KAAM,MACV,EACA,CACI,KAAM,OACV,EACA,CACI,KAAM,QACV,EACA,CACI,KAAM,OACV,EACA,CACI,KAAM,OACV,EACA,CACI,KAAM,MACV,EACA,CACI,KAAM,MACV,EACA,CACI,KAAM,iBACV,EACA,CACI,KAAM,UACV,EACA,CACI,KAAM,gBAAA,CAEd,EACA,gBAAiB,CAAA,CACrB,EACA,CACI,KAAM,WACN,QAAS,CACL,CACI,KAAM,gBACV,EACA,CACI,KAAM,oBACV,EACA,CACI,KAAM,cACV,EACA,CACI,KAAM,eACV,EACA,CACI,KAAM,eACV,EACA,CACI,KAAM,kBACV,EACA,CACI,KAAM,cACV,EACA,CACI,KAAM,iBACV,EACA,CACI,KAAM,eACV,EACA,CACI,KAAM,eAAA,CAEd,EACA,gBAAiB,CAAA,CAAC,CAE1B,EAEO,OAAAA,CACX,CAEA,SAASrB,EAA0BsB,EAAY,CAC3C,IAAInB,EAAe,KAAK,MAAM,KAAK,OAAO,EAAImB,EAAM,MAAM,EAE1D,OAAOA,EAAMnB,CAAY,CAC7B,CAEA,SAASM,GAAec,E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"}