{"version":3,"sources":["webpack:///../../../src/components/VGrid/VRow.ts","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts","webpack:///../../../src/components/VCombobox/VCombobox.ts","webpack:///./src/views/Home.vue?9d3a","webpack:///../../../src/components/VGrid/VCol.ts","webpack:///../../../src/components/VApp/VApp.ts","webpack:///./src/views/Home.vue","webpack:///./src/components/PrivacyPolicy.vue","webpack:///src/components/PrivacyPolicy.vue","webpack:///./src/components/PrivacyPolicy.vue?6db2","webpack:///./src/components/PrivacyPolicy.vue?6019","webpack:///src/views/Home.vue","webpack:///./src/views/Home.vue?05bf","webpack:///./src/views/Home.vue?f957"],"names":["breakpoints","ALIGNMENT","makeProps","prefix","def","reduce","props","val","upperFirst","alignValidator","str","includes","alignProps","type","String","default","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","align","Object","keys","justify","alignContent","classMap","breakpointClass","prop","className","breakpoint","replace","toLowerCase","cache","Map","Vue","extend","name","functional","tag","dense","Boolean","noGutters","render","h","data","children","cacheKey","classList","get","forEach","value","push","set","mergeData","staticClass","class","defaultMenuProps","VSelectMenuProps","offsetY","offsetOverflow","transition","VSelect","autoSelectFirst","filter","Function","item","queryText","itemText","toLocaleLowerCase","indexOf","hideNoData","menuProps","options","noFilter","searchInput","lazySearch","this","computed","classes","call","selectedIndex","computedItems","filteredItems","selectedValues","selectedItems","map","getValue","hasDisplayedItems","hideSelected","some","hasItem","length","currentRange","selectedItem","getText","isSearching","internalSearch","allItems","getPropertyFromItem","text","$emit","isAnyValueAllowed","isDirty","searchIsDirty","multiple","menuCanShow","isFocused","$_menuProps","contentClass","trim","find","i","valueComparator","internalValue","listData","items","virtualizedItems","watch","document","addEventListener","onCopy","$refs","input","select","removeEventListener","blur","updateSelf","isMenuActive","hasSlot","oldVal","activateMenu","created","setSearch","destroyed","methods","onFilteredItemsChanged","preSelectedItem","menu","listIndex","setMenuIndex","findIndex","$nextTick","getTiles","onInternalSearchChanged","updateMenuDimensions","updateDimensions","changeSelectedIndex","keyCode","keyCodes","left","right","backspace","delete","deleteCurrentItem","curIndex","curItem","isInteractive","getDisabled","lastIndex","nextIndex","nextItem","selectItem","setValue","clearableCallback","genInput","VTextField","attrs","getObjectValueByPath","autocomplete","domProps","genInputSlot","slot","role","genSelections","onClick","e","onFocus","isAppendInner","target","onInput","badInput","validity","onKeyDown","ctrlKey","home","end","onSpaceDown","onTabDown","onUpDown","preventDefault","setSelectedItems","event","currentItem","currentItemText","_a","clipboardData","setData","_b","VAutocomplete","delimiters","Array","returnObject","editingIndex","computedCounterValue","toString","$slots","delimiter","d","endsWith","slice","updateTags","on","paste","onPaste","genChipSelection","index","chip","componentOptions","listeners","dblclick","onChipInput","onEnterDown","getMenuIndex","selectionStart","enter","stopPropagation","updateEditing","undefined","assign","splice","updateCombobox","isUsingSlot","$scopedSlots","selection","hasChips","menuIndex","itemToSelect","pastedItemText","getData","findExistingIndex","breakpointProps","Number","offsetProps","orderProps","col","offset","order","cols","alignSelf","parent","hasColClasses","startsWith","mixins","Themeable","dark","id","light","isDark","$vuetify","theme","beforeCreate","$root","Error","wrapper","rtl","themeClasses","isLoginEnabled","_vm","model","callback","$$v","_v","_c","policy","_s","lang","staticRenderFns","component","components","PrivacyPolicy","language","languages","process","mapActions","login","sessionStorage","signin","changeLocale","current","localStorage","mounted","_ref","_localStorage","userLocale","navigator","preferredLanguage"],"mappings":"8KAOA,MAAMA,EAAc,CAAC,KAAM,KAAM,KAAM,MAEjCC,EAAY,CAAC,QAAS,MAAO,UAEnC,SAASC,EAAWC,EAAgBC,GAClC,OAAOJ,EAAYK,OAAO,CAACC,EAAOC,KAChCD,EAAMH,EAASK,eAAWD,IAAQH,IAC3BE,GACN,IAGL,MAAMG,EAAkBC,GAAa,IAAIT,EAAW,WAAY,WAAWU,SAASD,GAC9EE,EAAaV,EAAU,QAAS,KAAM,CAC1CW,KAAMC,OACNC,QAAS,KACTC,UAAWP,KAGPQ,EAAoBP,GAAa,IAAIT,EAAW,gBAAiB,gBAAgBU,SAASD,GAC1FQ,EAAehB,EAAU,UAAW,KAAM,CAC9CW,KAAMC,OACNC,QAAS,KACTC,UAAWC,KAGPE,EAAyBT,GAAa,IAAIT,EAAW,gBAAiB,eAAgB,WAAWU,SAASD,GAC1GU,EAAoBlB,EAAU,eAAgB,KAAM,CACxDW,KAAMC,OACNC,QAAS,KACTC,UAAWG,KAGPE,EAAU,CACdC,MAAOC,OAAOC,KAAKZ,GACnBa,QAASF,OAAOC,KAAKN,GACrBQ,aAAcH,OAAOC,KAAKJ,IAGtBO,EAAW,CACfL,MAAO,QACPG,QAAS,UACTC,aAAc,iBAGhB,SAASE,EAAiBf,EAA4BgB,EAActB,GAClE,IAAIuB,EAAYH,EAASd,GACzB,GAAW,MAAPN,EAAJ,CAGA,GAAIsB,EAAM,CAER,MAAME,EAAaF,EAAKG,QAAQnB,EAAM,IACtCiB,GAAa,IAAIC,EAInB,OADAD,GAAa,IAAIvB,EACVuB,EAAUG,eAGnB,MAAMC,EAAQ,IAAIC,IAEHC,oBAAIC,OAAO,CACxBC,KAAM,QACNC,YAAY,EACZjC,MAAO,CACLkC,IAAK,CACH3B,KAAMC,OACNC,QAAS,OAEX0B,MAAOC,QACPC,UAAWD,QACXpB,MAAO,CACLT,KAAMC,OACNC,QAAS,KACTC,UAAWP,MAEVG,EACHa,QAAS,CACPZ,KAAMC,OACNC,QAAS,KACTC,UAAWC,MAEVC,EACHQ,aAAc,CACZb,KAAMC,OACNC,QAAS,KACTC,UAAWG,MAEVC,GAELwB,OAAQC,GAAG,MAAEvC,EAAF,KAASwC,EAAT,SAAeC,IAExB,IAAIC,EAAW,GACf,IAAK,MAAMnB,KAAQvB,EACjB0C,GAAYlC,OAAQR,EAAcuB,IAEpC,IAAIoB,EAAYf,EAAMgB,IAAIF,GAE1B,IAAKC,EAAW,CAGd,IAAIpC,EACJ,IAAKA,KAHLoC,EAAY,GAGC5B,EACXA,EAAQR,GAAMsC,QAAQtB,IACpB,MAAMuB,EAAiB9C,EAAcuB,GAC/BC,EAAYF,EAAgBf,EAAMgB,EAAMuB,GAC1CtB,GAAWmB,EAAWI,KAAKvB,KAInCmB,EAAUI,KAAK,CACb,aAAc/C,EAAMqC,UACpB,aAAcrC,EAAMmC,MACpB,CAAC,SAASnC,EAAMgB,OAAUhB,EAAMgB,MAChC,CAAC,WAAWhB,EAAMmB,SAAYnB,EAAMmB,QACpC,CAAC,iBAAiBnB,EAAMoB,cAAiBpB,EAAMoB,eAGjDQ,EAAMoB,IAAIN,EAAUC,GAGtB,OAAOJ,EACLvC,EAAMkC,IACNe,eAAUT,EAAM,CACdU,YAAa,MACbC,MAAOR,IAETF,O,4GCnHN,MAAMW,EAAmB,IACpBC,OACHC,SAAS,EACTC,gBAAgB,EAChBC,YAAY,GAICC,aAAQ1B,OAAO,CAC5BC,KAAM,iBAENhC,MAAO,CACL0D,gBAAiB,CACfnD,KAAM6B,QACN3B,SAAS,GAEXkD,OAAQ,CACNpD,KAAMqD,SACNnD,QAASA,CAACoD,EAAWC,EAAmBC,IAC/BA,EAASC,oBAAoBC,QAAQH,EAAUE,sBAAwB,GAGlFE,WAAY9B,QACZ+B,UAAW,CACT5D,KAAMkD,OAAQW,QAAQpE,MAAMmE,UAAU5D,KACtCE,QAASA,IAAM2C,GAEjBiB,SAAUjC,QACVkC,YAAa,CACX/D,KAAMC,SAIVgC,OACE,MAAO,CACL+B,WAAYC,KAAKF,cAIrBG,SAAU,CACRC,UACE,MAAO,IACFjB,OAAQW,QAAQK,SAASC,QAAQC,KAAKH,MACzC,kBAAkB,EAClB,qCAAsCA,KAAKI,eAAiB,IAGhEC,gBACE,OAAOL,KAAKM,eAEdC,iBACE,OAAOP,KAAKQ,cAAcC,IAAIpB,GAAQW,KAAKU,SAASrB,KAEtDsB,oBACE,OAAOX,KAAKY,aACRZ,KAAKM,cAAcO,KAAKxB,IAASW,KAAKc,QAAQzB,IAC9CW,KAAKM,cAAcS,OAAS,GAElCC,eACE,OAAyB,MAArBhB,KAAKiB,aAA6B,EAE/BjF,OAAOgE,KAAKkB,QAAQlB,KAAKiB,eAAeF,QAEjDT,gBACE,OAAKN,KAAKmB,aAAenB,KAAKH,UAAmC,MAAvBG,KAAKoB,eAA+BpB,KAAKqB,SAE5ErB,KAAKqB,SAASlC,OAAOE,IAC1B,MAAMf,EAAQgD,eAAoBjC,EAAMW,KAAKT,UACvCgC,EAAgB,MAATjD,EAAgBtC,OAAOsC,GAAS,GAE7C,OAAO0B,KAAKb,OAAOE,EAAMrD,OAAOgE,KAAKoB,gBAAiBG,MAG1DH,eAAgB,CACdhD,MACE,OAAO4B,KAAKD,YAEdvB,IAAK/C,GAGCuE,KAAKD,aAAetE,IACtBuE,KAAKD,WAAatE,EAClBuE,KAAKwB,MAAM,sBAAuB/F,MAIxCgG,oBACE,OAAO,GAETC,UACE,OAAO1B,KAAK2B,eAAiB3B,KAAKQ,cAAcO,OAAS,GAE3DI,cACE,OACEnB,KAAK4B,UACL5B,KAAK2B,eAEL3B,KAAK2B,eACL3B,KAAKoB,iBAAmBpB,KAAKkB,QAAQlB,KAAKiB,eAG9CY,cACE,QAAK7B,KAAK8B,YAEH9B,KAAKW,oBAAsBX,KAAKN,aAEzCqC,cACE,MAAMvG,EAAQyD,OAAQW,QAAQK,SAAS8B,YAAY5B,KAAKH,MAExD,OADCxE,EAAcwG,cAAe,4BAA4BxG,EAAcwG,cAAgB,KAAKC,OACtF,IACFrD,KACApD,IAGPmG,gBACE,OAA8B,MAAvB3B,KAAKoB,gBACc,KAAxBpB,KAAKoB,gBAETH,eACE,OAAIjB,KAAK4B,SAAiB,KAEnB5B,KAAKQ,cAAc0B,KAAKC,GACtBnC,KAAKoC,gBAAgBpC,KAAKU,SAASyB,GAAInC,KAAKU,SAASV,KAAKqC,kBAGrEC,WACE,MAAMtE,EAAOiB,OAAQW,QAAQK,SAASqC,SAASnC,KAAKH,MAapD,OAXAhC,EAAKxC,MAAQ,IACRwC,EAAKxC,MACR+G,MAAOvC,KAAKwC,iBACZ3C,SACEG,KAAKH,WACJG,KAAKmB,cACLnB,KAAKM,cAAcS,OAEtBjB,YAAaE,KAAKoB,gBAGbpD,IAIXyE,MAAO,CACLnC,cAAe,yBACf+B,cAAe,YACfP,UAAWrG,GACLA,GACFiH,SAASC,iBAAiB,OAAQ3C,KAAK4C,QACvC5C,KAAK6C,MAAMC,OAAS9C,KAAK6C,MAAMC,MAAMC,WAErCL,SAASM,oBAAoB,OAAQhD,KAAK4C,QAC1C5C,KAAKiD,OACLjD,KAAKkD,eAGTC,aAAc1H,IACRA,GAAQuE,KAAKoD,UAEjBpD,KAAKD,WAAa,OAEpBwC,MAAO9G,EAAK4H,GAONA,GAAUA,EAAOtC,SACnBf,KAAKN,aACLM,KAAK8B,WACJ9B,KAAKmD,eACN1H,EAAIsF,QACJf,KAAKsD,gBAETxD,YAAarE,GACXuE,KAAKD,WAAatE,GAEpB2F,eAAgB,0BAChB7B,SAAU,cAGZgE,UACEvD,KAAKwD,aAGPC,YACEf,SAASM,oBAAoB,OAAQhD,KAAK4C,SAG5Cc,QAAS,CACPC,uBAAwBlI,EAAc4H,GAGpC,GAAI5H,IAAQ4H,EAAZ,CAEA,IAAKrD,KAAKd,gBAAiB,CACzB,MAAM0E,EAAkBP,EAAOrD,KAAK6C,MAAMgB,KAAKC,WAE3CF,EACF5D,KAAK+D,aAAatI,EAAIuI,UAAU7B,GAAKA,IAAMyB,IAE3C5D,KAAK+D,cAAc,GAErB/D,KAAKwB,MAAM,oBAAqBxB,KAAK6C,MAAMgB,KAAKC,WAGlD9D,KAAKiE,UAAU,KAEVjE,KAAKoB,iBACU,IAAf3F,EAAIsF,QACFf,KAAKd,mBAGVc,KAAK6C,MAAMgB,KAAKK,WAEZlE,KAAKd,iBAAmBzD,EAAIsF,SAC9Bf,KAAK+D,aAAa,GAClB/D,KAAKwB,MAAM,oBAAqBxB,KAAK6C,MAAMgB,KAAKC,iBAItDK,0BACEnE,KAAKoE,wBAEPA,uBAEEpE,KAAKmD,cAAgBnD,KAAK6C,MAAMgB,MAAQ7D,KAAK6C,MAAMgB,KAAKQ,oBAE1DC,oBAAqBC,GAGfvE,KAAK2B,gBAEL3B,KAAK4B,UAAY2C,IAAYC,OAASC,MACZ,IAAxBzE,KAAKI,cACPJ,KAAKI,cAAgBJ,KAAKQ,cAAcO,OAAS,EAEjDf,KAAKI,gBAEEJ,KAAK4B,UAAY2C,IAAYC,OAASE,MAC3C1E,KAAKI,eAAiBJ,KAAKQ,cAAcO,OAAS,EACpDf,KAAKI,eAAiB,EAEtBJ,KAAKI,gBAEEmE,IAAYC,OAASG,WAAaJ,IAAYC,OAASI,QAChE5E,KAAK6E,sBAGTA,oBACE,MAAMC,EAAW9E,KAAKI,cAChB2E,EAAU/E,KAAKQ,cAAcsE,GAGnC,IACG9E,KAAKgF,eACNhF,KAAKiF,YAAYF,GACjB,OAEF,MAAMG,EAAYlF,KAAKQ,cAAcO,OAAS,EAI9C,IAC0B,IAAxBf,KAAKI,eACS,IAAd8E,EAIA,YAFAlF,KAAKI,cAAgB8E,GAKvB,MAAMnE,EAASf,KAAKQ,cAAcO,OAC5BoE,EAAYL,IAAa/D,EAAS,EACpC+D,EACAA,EAAW,EACTM,EAAWpF,KAAKQ,cAAc2E,GAE/BC,EAGHpF,KAAKqF,WAAWN,GAFhB/E,KAAKsF,SAAStF,KAAK4B,SAAW,GAAK,MAKrC5B,KAAKI,cAAgB+E,GAEvBI,oBACEvF,KAAKoB,eAAiB,KAEtBnC,OAAQW,QAAQ8D,QAAQ6B,kBAAkBpF,KAAKH,OAEjDwF,WACE,MAAM1C,EAAQ2C,OAAW7F,QAAQ8D,QAAQ8B,SAASrF,KAAKH,MAUvD,OARA8C,EAAM9E,KAAOS,eAAUqE,EAAM9E,KAAO,CAClC0H,MAAO,CACL,wBAAyBC,eAAqB3F,KAAK6C,MAAMgB,KAAM,iBAC/D+B,aAAcD,eAAqB7C,EAAM9E,KAAO,qBAAsB,QAExE6H,SAAU,CAAEvH,MAAO0B,KAAKoB,kBAGnB0B,GAETgD,eACE,MAAMC,EAAO9G,OAAQW,QAAQ8D,QAAQoC,aAAa3F,KAAKH,MAIvD,OAFA+F,EAAK/H,KAAM0H,MAAOM,KAAO,WAElBD,GAETE,gBACE,OAAOjG,KAAKoD,SAAWpD,KAAK4B,SACxB3C,OAAQW,QAAQ8D,QAAQuC,cAAc9F,KAAKH,MAC3C,IAENkG,QAASC,GACFnG,KAAKgF,gBAEVhF,KAAKI,eAAiB,EACjBJ,KAAKI,eAAiB,EACvBJ,KAAKoG,UAEJpG,KAAKqG,cAAcF,EAAEG,SAAStG,KAAKsD,iBAE1CiD,QAASJ,GACP,GACEnG,KAAKI,eAAiB,IACrB+F,EAAEG,OACH,OAEF,MAAMA,EAASH,EAAEG,OACXhI,EAAQgI,EAAOhI,MAGjBgI,EAAOhI,OAAO0B,KAAKsD,eAElBtD,KAAK4B,UAAsB,KAAVtD,GAAc0B,KAAK6E,oBAEzC7E,KAAKoB,eAAiB9C,EACtB0B,KAAKwG,SAAWF,EAAOG,UAAYH,EAAOG,SAASD,UAErDE,UAAWP,GACT,MAAM5B,EAAU4B,EAAE5B,SAGhB4B,EAAEQ,SACD,CAACnC,OAASoC,KAAMpC,OAASqC,KAAKhL,SAAS0I,IAExCtF,OAAQW,QAAQ8D,QAAQgD,UAAUvG,KAAKH,KAAMmG,GAO/CnG,KAAKsE,oBAAoBC,IAE3BuC,YAAaX,KACbY,UAAWZ,GACTlH,OAAQW,QAAQ8D,QAAQqD,UAAU5G,KAAKH,KAAMmG,GAC7CnG,KAAKkD,cAEP8D,SAAUb,GAERA,EAAEc,iBAKFjH,KAAKsD,gBAEP+B,WAAYhG,GACVJ,OAAQW,QAAQ8D,QAAQ2B,WAAWlF,KAAKH,KAAMX,GAC9CW,KAAKwD,aAEP0D,mBACEjI,OAAQW,QAAQ8D,QAAQwD,iBAAiB/G,KAAKH,MAIzCA,KAAK8B,WAAW9B,KAAKwD,aAE5BA,YAGExD,KAAKiE,UAAU,KAEVjE,KAAK4B,UACL5B,KAAKoB,gBACLpB,KAAKmD,eAENnD,KAAKoB,gBACFpB,KAAKQ,cAAcO,QACpBf,KAAK4B,UACL5B,KAAKoD,QAEH,KACApD,KAAKkB,QAAQlB,KAAKiB,kBAI5BiC,cAEKlD,KAAK2B,eACL3B,KAAKqC,iBAILrC,KAAK4B,UACL5B,KAAKoC,gBACJpC,KAAKoB,eACLpB,KAAKU,SAASV,KAAKqC,iBAGrBrC,KAAKwD,cAGT1C,QAASzB,GACP,OAAOW,KAAKO,eAAed,QAAQO,KAAKU,SAASrB,KAAU,GAE7DuD,OAAQuE,G,QACN,IAA4B,IAAxBnH,KAAKI,cAAsB,OAE/B,MAAMgH,EAAcpH,KAAKQ,cAAcR,KAAKI,eACtCiH,EAAkBrH,KAAKkB,QAAQkG,GAClB,QAAnBE,EAAAH,EAAMI,qBAAa,IAAAD,KAAEE,QAAQ,aAAcH,GACxB,QAAnBI,EAAAN,EAAMI,qBAAa,IAAAE,KAAED,QAAQ,2CAA4CH,GACzEF,EAAMF,qBClbGS,SAAcnK,OAAO,CAClCC,KAAM,aAENhC,MAAO,CACLmM,WAAY,CACV5L,KAAM6L,MACN3L,QAASA,IAAO,IAElB4L,aAAc,CACZ9L,KAAM6B,QACN3B,SAAS,IAIb+B,KAAMA,KAAA,CACJ8J,cAAe,IAGjB7H,SAAU,CACR8H,uBACE,OAAO/H,KAAK4B,SACR5B,KAAKQ,cAAcO,QAClBf,KAAKoB,gBAAkB,IAAI4G,WAAWjH,QAE7CqC,UACE,OAAOnE,OAAQW,QAAQK,SAASmD,QAAQjD,KAAKH,OAASA,KAAK4B,UAE7DH,oBACE,OAAO,GAETI,cACE,QAAK7B,KAAK8B,YAEH9B,KAAKW,qBACPX,KAAKiI,OAAO,aAAejI,KAAKN,aAEvCiC,gBACE,OAA8B,MAAvB3B,KAAKoB,iBAIhBsC,QAAS,CACPS,wBAAyB1I,GACvB,GACEA,GACAuE,KAAK4B,UACL5B,KAAK2H,WAAW5G,OAChB,CACA,MAAMmH,EAAYlI,KAAK2H,WAAWzF,KAAKiG,GAAK1M,EAAI2M,SAASD,IACxC,MAAbD,IACFlI,KAAKoB,eAAiB3F,EAAI4M,MAAM,EAAG5M,EAAIsF,OAASmH,EAAUnH,QAC1Df,KAAKsI,cAITtI,KAAKoE,wBAEPoB,WACE,MAAM1C,EAAQ4E,EAAc9H,QAAQ8D,QAAQ8B,SAASrF,KAAKH,MAK1D,cAHO8C,EAAM9E,KAAM0H,MAAOlI,KAC1BsF,EAAM9E,KAAMuK,GAAIC,MAAQxI,KAAKyI,QAEtB3F,GAET4F,iBAAkBrJ,EAAcsJ,GAC9B,MAAMC,EAAO3J,OAAQW,QAAQ8D,QAAQgF,iBAAiBvI,KAAKH,KAAMX,EAAMsJ,GAcvE,OAXI3I,KAAK4B,WACPgH,EAAKC,iBAAkBC,UAAa,IAC/BF,EAAKC,iBAAkBC,UAC1BC,SAAUA,KACR/I,KAAK8H,aAAea,EACpB3I,KAAKoB,eAAiBpB,KAAKkB,QAAQ7B,GACnCW,KAAKI,eAAiB,KAKrBwI,GAETI,YAAa3J,GACXJ,OAAQW,QAAQ8D,QAAQsF,YAAY7I,KAAKH,KAAMX,GAE/CW,KAAK8H,cAAgB,GAIvBmB,YAAa9C,GACXA,EAAEc,iBAEEjH,KAAKkJ,gBAAkB,GAE3BlJ,KAAKiE,UAAUjE,KAAKkD,aAEtBwD,UAAWP,GACT,MAAM5B,EAAU4B,EAAE5B,SAGhB4B,EAAEQ,SACD,CAACnC,OAASoC,KAAMpC,OAASqC,KAAKhL,SAAS0I,IAExCtF,OAAQW,QAAQ8D,QAAQgD,UAAUvG,KAAKH,KAAMmG,GAK3CnG,KAAK4B,UACP2C,IAAYC,OAASC,MACe,IAApCzE,KAAK6C,MAAMC,MAAMqG,eAEjBnJ,KAAKkD,aACIqB,IAAYC,OAAS4E,OAC9BpJ,KAAKiJ,YAAY9C,GAOnBnG,KAAKsE,oBAAoBC,IAE3BwC,UAAWZ,GAIT,GAAInG,KAAK4B,UACP5B,KAAKoB,iBACoB,IAAzBpB,KAAKkJ,eAKL,OAHA/C,EAAEc,iBACFd,EAAEkD,kBAEKrJ,KAAKsI,aAGdZ,EAAc9H,QAAQ8D,QAAQqD,UAAU5G,KAAKH,KAAMmG,IAErDd,WAAYhG,GAENW,KAAK8H,cAAgB,EACvB9H,KAAKsJ,iBAEL5B,EAAc9H,QAAQ8D,QAAQ2B,WAAWlF,KAAKH,KAAMX,GAKlDW,KAAKoB,gBACLpB,KAAK4B,UACL5B,KAAKkB,QAAQ7B,GAAMG,oBAAoB3D,SAASmE,KAAKoB,eAAe5B,uBAEpEQ,KAAKoB,eAAiB,QAI5B8F,mBAC4B,MAAtBlH,KAAKqC,eACgB,KAAvBrC,KAAKqC,cAELrC,KAAKQ,cAAgB,GAErBR,KAAKQ,cAAgBR,KAAK4B,SAAW5B,KAAKqC,cAAgB,CAACrC,KAAKqC,gBAGpEiD,SAAUhH,GACRW,OAAQW,QAAQ8D,QAAQ4B,SAASnF,KAAKH,UAAgBuJ,IAAVjL,EAAsB0B,KAAKoB,eAAiB9C,IAE1FgL,gBACE,MAAMhL,EAAQ0B,KAAKqC,cAAcgG,QAC3BM,EAAQ3I,KAAKQ,cAAcwD,UAAU3E,GACzCW,KAAKkB,QAAQ7B,KAAUW,KAAKoB,gBAI9B,GAAIuH,GAAS,EAAG,CACd,MAAMtJ,EAA+B,kBAAjBf,EAAMqK,GACtBlM,OAAO+M,OAAO,GAAIlL,EAAMqK,IACxBrK,EAAMqK,GAEVrK,EAAMmL,OAAOd,EAAO,GACpBrK,EAAMC,KAAKc,QAEXf,EAAM0B,KAAK8H,cAAgB9H,KAAKoB,eAGlCpB,KAAKsF,SAAShH,GACd0B,KAAK8H,cAAgB,EACrB9H,KAAKoB,eAAiB,MAExBsI,iBAEE,IAAK1J,KAAK2B,cAAe,OAIrB3B,KAAKoB,iBAAmBpB,KAAKkB,QAAQlB,KAAKqC,gBAAgBrC,KAAKsF,WAGnE,MAAMqE,EAAc/L,QAAQoC,KAAK4J,aAAaC,YAAc7J,KAAK8J,SAC7DH,IAAa3J,KAAKoB,eAAiB,OAEzC8B,aACElD,KAAK4B,SAAW5B,KAAKsI,aAAetI,KAAK0J,kBAE3CpB,aACE,MAAMyB,EAAY/J,KAAKkJ,eAMvB,GAAKa,EAAY,IAAM/J,KAAK2B,gBACvB3B,KAAKoB,eAAgB,OAE1B,GAAIpB,KAAK8H,cAAgB,EACvB,OAAO9H,KAAKsJ,gBAGd,MAAMX,EAAQ3I,KAAKQ,cAAcwD,UAAU3E,GACzCW,KAAKoB,iBAAmBpB,KAAKkB,QAAQ7B,IAIjC2K,EAAerB,GAAS,GAA0C,kBAA9B3I,KAAKQ,cAAcmI,GACzDlM,OAAO+M,OAAO,GAAIxJ,KAAKQ,cAAcmI,IACrC3I,KAAKoB,eAKT,GAAIuH,GAAS,EAAG,CACd,MAAMtG,EAAgBrC,KAAKqC,cAAcgG,QACzChG,EAAcoH,OAAOd,EAAO,GAE5B3I,KAAKsF,SAASjD,GAMhB,GAAI0H,GAAa,EAAG,OAAQ/J,KAAKoB,eAAiB,KAElDpB,KAAKqF,WAAW2E,GAEhBhK,KAAKoB,eAAiB,MAExBqH,QAAStB,G,MAEP,GADAnH,KAAKwB,MAAM,QAAS2F,IACfnH,KAAK4B,UAAY5B,KAAK2B,cAAe,OAE1C,MAAMsI,EAAoC,QAAnB3C,EAAAH,EAAMI,qBAAa,IAAAD,OAAA,EAAAA,EAAE4C,QAAQ,4CAChDD,IAAqE,IAAnDjK,KAAKmK,kBAAkBF,KAC3C9C,EAAMF,iBACNhI,OAAQW,QAAQ8D,QAAQ2B,WAAWlF,KAAKH,KAAMiK,KAGlD1E,oBACEvF,KAAK8H,cAAgB,EAErBJ,EAAc9H,QAAQ8D,QAAQ6B,kBAAkBpF,KAAKH,W,2DCnR3D,W,0GCOA,MAAM9E,EAAc,CAAC,KAAM,KAAM,KAAM,MAEjCkP,EAAkB,KACflP,EAAYK,OAAO,CAACC,EAAOC,KAChCD,EAAMC,GAAO,CACXM,KAAM,CAAC6B,QAAS5B,OAAQqO,QACxBpO,SAAS,GAEJT,GACN,IAPmB,GAUlB8O,EAAc,KACXpP,EAAYK,OAAO,CAACC,EAAOC,KAChCD,EAAM,SAAWE,eAAWD,IAAQ,CAClCM,KAAM,CAACC,OAAQqO,QACfpO,QAAS,MAEJT,GACN,IAPe,GAUd+O,EAAa,KACVrP,EAAYK,OAAO,CAACC,EAAOC,KAChCD,EAAM,QAAUE,eAAWD,IAAQ,CACjCM,KAAM,CAACC,OAAQqO,QACfpO,QAAS,MAEJT,GACN,IAPc,GAUbe,EAAU,CACdiO,IAAK/N,OAAOC,KAAK0N,GACjBK,OAAQhO,OAAOC,KAAK4N,GACpBI,MAAOjO,OAAOC,KAAK6N,IAGrB,SAASzN,EAAiBf,EAA4BgB,EAActB,GAClE,IAAIuB,EAAYjB,EAChB,GAAW,MAAPN,IAAuB,IAARA,EAAnB,CAGA,GAAIsB,EAAM,CACR,MAAME,EAAaF,EAAKG,QAAQnB,EAAM,IACtCiB,GAAa,IAAIC,EAKnB,MAAa,QAATlB,GAA2B,KAARN,IAAsB,IAARA,GAKrCuB,GAAa,IAAIvB,EACVuB,EAAUG,eAJRH,EAAUG,eAOrB,MAAMC,EAAQ,IAAIC,IAEHC,oBAAIC,OAAO,CACxBC,KAAM,QACNC,YAAY,EACZjC,MAAO,CACLmP,KAAM,CACJ5O,KAAM,CAAC6B,QAAS5B,OAAQqO,QACxBpO,SAAS,MAERmO,EACHK,OAAQ,CACN1O,KAAM,CAACC,OAAQqO,QACfpO,QAAS,SAERqO,EACHI,MAAO,CACL3O,KAAM,CAACC,OAAQqO,QACfpO,QAAS,SAERsO,EACHK,UAAW,CACT7O,KAAMC,OACNC,QAAS,KACTC,UAAYN,GAAa,CAAC,OAAQ,QAAS,MAAO,SAAU,WAAY,WAAWC,SAASD,IAE9F8B,IAAK,CACH3B,KAAMC,OACNC,QAAS,QAGb6B,OAAQC,GAAG,MAAEvC,EAAF,KAASwC,EAAT,SAAeC,EAAf,OAAyB4M,IAElC,IAAI3M,EAAW,GACf,IAAK,MAAMnB,KAAQvB,EACjB0C,GAAYlC,OAAQR,EAAcuB,IAEpC,IAAIoB,EAAYf,EAAMgB,IAAIF,GAE1B,IAAKC,EAAW,CAGd,IAAIpC,EACJ,IAAKA,KAHLoC,EAAY,GAGC5B,EACXA,EAAQR,GAAMsC,QAAQtB,IACpB,MAAMuB,EAAoC9C,EAAcuB,GAClDC,EAAYF,EAAgBf,EAAMgB,EAAMuB,GAC1CtB,GAAWmB,EAAWI,KAAKvB,KAInC,MAAM8N,EAAgB3M,EAAU0C,KAAK7D,GAAaA,EAAU+N,WAAW,SAEvE5M,EAAUI,KAAK,CAEbiM,KAAMM,IAAkBtP,EAAMmP,KAC9B,CAAC,OAAOnP,EAAMmP,MAASnP,EAAMmP,KAC7B,CAAC,UAAUnP,EAAMiP,QAAWjP,EAAMiP,OAClC,CAAC,SAASjP,EAAMkP,OAAUlP,EAAMkP,MAChC,CAAC,cAAclP,EAAMoP,WAAcpP,EAAMoP,YAG3CxN,EAAMoB,IAAIN,EAAUC,GAGtB,OAAOJ,EAAEvC,EAAMkC,IAAKe,eAAUT,EAAM,CAAEW,MAAOR,IAAcF,O,kFCzHhD+M,sBACbC,QACA1N,OAAO,CACPC,KAAM,QAENhC,MAAO,CACL0P,KAAM,CACJnP,KAAM6B,QACN3B,aAASsN,GAEX4B,GAAI,CACFpP,KAAMC,OACNC,QAAS,OAEXmP,MAAO,CACLrP,KAAM6B,QACN3B,aAASsN,IAIbtJ,SAAU,CACRoL,SACE,OAAOrL,KAAKsL,SAASC,MAAML,OAI/BM,eACE,IAAKxL,KAAKsL,UAAatL,KAAKsL,WAAatL,KAAKyL,MAC5C,MAAM,IAAIC,MAAM,mIAIpB5N,OAAQC,GACN,MAAM4N,EAAU5N,EAAE,MAAO,CAAEW,YAAa,uBAAyBsB,KAAKiI,OAAOhM,SAE7E,OAAO8B,EAAE,MAAO,CACdW,YAAa,gBACbC,MAAO,CACL,wBAAyBqB,KAAKsL,SAASM,IACvC,yBAA0B5L,KAAKsL,SAASM,OACrC5L,KAAK6L,cAEVnG,MAAO,CAAE,YAAY,GACrBG,SAAU,CAAEsF,GAAInL,KAAKmL,KACpB,CAACQ,Q,iICtDqK,EAAI,W,IAAOjN,OAAsB,EAAM,EAACoN,S,OAA2BpN,SAAY,UAAY,YAAU,QAACA,SAAW,CAAS6J,YAAG,OAAC,QAAQwD,CAAS,yBAAIA,EAAG,MAAO,CAAkGrN,YAAY,WAAkBgH,GAAK,eAAC,U,YAASqG,aAAc,QAAS,C,YAAC,Q,GAA+B,CAAiB,MAAQ,UAASxD,CAAE,EAAC,yF,YAAUwD,kBAAgB,MAAC,CAACC,MAAM,YAAC1N,KAAOyN,GAAcE,qBAAmBC,U,cAAkB,GAAI,MAAC,SAAsB,IAAI,OAAS,gBAA6B,MAAMC,CAAwEzN,QAAY,SAAsBgH,SAAM,YAAC,EAAK,SAAC,GAAmC0G,WAAO,eAAQ,KAAM,EAAC,O,YAAiC,WAAQ,sEAAE,YAAW,sBAAC1N,OAAiCgH,IAAM,mCAA8B,OAAG,MAAM,CAAOhH,6BAAgC0N,OAAS,WAAyG,CAACL,EAAG,MAAO,CAAyNxD,YAAG,qB,MAAC,C,IAA6B8D,6BAAc,SAAE,YAAaC,mBAAiEzG,UAAS,kE,YAAY,mBAAqD,8MAAG,GAAGuG,CAAkC1N,MAAW,SAAC,GAAuB,EAAC,QAAM,K,CAAuC,OAAW,GAACqN,EAAIO,SAAOhB,KAAQ,EAACiB,+BAA6B,UAAC,UAAIH,UAAS,sDAA4B,EAAC,MAAM,uBAAC1N,YAAY,oBAAgBgH,GAAK,MAAC,C,YAAO,gBAAoB,UAAI0G,UAAUL,EAAM,GAACA,EAAM,SAAKT,KAASiB,6BAAiF7G,EAAK,MAAC,C,YAAO,YAA2B,UAAG,YAAU,gBAAChH,OAA4BgH,IAAM,wBAA2B,2EAAG,YAAU,uBAAChH,OAAuB0N,IAAM,+BAAS,QAAO,C,YAAiC,gBAAQ,OAAIA,IAAG,wBAAyC1G,EAAK,MAAC,C,YAAO,UAA+B,QAAG,MAAM,CAAehH,6BAA+BgH,OAAM,W,CAA6D,QAAS,CAAQ,kCAAE,MAAMyG,CAAgEzN,yCAAuGA,QAAY,QAAiBgH,YAAM,mB,MAAC,CAA0D,KAAQ,qDAAS,kBAAiFhH,QAAY,sDAAa,YAAa,WAAsFgH,GAAK,GAAC,kE,YAASqG,iB,MAAW,CAAc,wDAAG,OAAC,W,GAAkCA,GAAIM,KAAM,EAAG,SAAK,iD,YAAA,cAAC,yFAAE,MAAK,CAAU3G,MAAM,SAAC,QAAO,KAAI,GAAI,CAAyFA,gBAAM,YAAC,UAAQ,K,CAAa,SAAQ,C,MAAoB,CAAe,UAAI,CAACqG,EAAG,OAAWA,GAAIT,mBAAgB,YAAwB,CAAC,EAAE,QAAQ,EAAE,QACnxG,OACGkB,e,8JCFiF9G,EAAM,W,IAAC,OAAU,aAAC,OAAM,SAAQ,CAACA,MAAM,CAAC,MAAQ,KAA2B,WAAE,MAAK,CAASA,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAK,CAAC1N,OAA0BqN,KAAO,O,CAA6C,OAAQ,C,YAAmB,aAAQ,0CAAE,MAAK,CAASrG,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAKL,CAAqiCrG,MAAM,CAAC,KAAO,OAA4B,2hCAAE,MAAK,CAASA,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAK,CAAC1N,OAA0BqN,KAAO,O,CAAiF,OAAQ,C,YAAmB,aAAQ,8EAAE,MAAK,CAASrG,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAKL,CAAohBrG,MAAM,CAAC,KAAO,OAA4B,khBAAE,MAAK,CAASA,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAK,CAAC1N,OAA0BqN,KAAO,O,CAAkF,OAAQ,C,YAAmB,aAAQ,+EAAE,MAAK,CAASrG,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAKL,CAAkOrG,MAAM,CAAC,KAAO,OAA4B,oOAAE,MAAK,CAASA,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAK,CAAC1N,OAA0BqN,KAAO,O,CAAmE,OAAQ,C,YAAmB,aAAQ,gEAAE,MAAK,CAASrG,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAKL,CAAkvCrG,MAAM,CAAC,KAAO,OAAsC,CAACqG,EAAG,IAAI,MAAS,wdAA+F,yvBAACrG,MAAM,CAAC,KAAO,sCAA4B,2GAAE,MAAK,CAASA,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAK,CAAC1N,OAA0BqN,KAAO,O,CAAyD,OAAQ,C,YAAmB,aAAQ,sDAAE,MAAK,CAASrG,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAKL,CAA2HrG,MAAM,CAAC,KAAO,OAAsC,CAACqG,EAAG,IAAI,MAAS,4GAAW,OAAiPrG,MAAM,CAAC,KAAO,sCAA4B,uQAAE,MAAK,CAASA,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAK,CAAC1N,OAA0BqN,KAAO,O,CAAgE,OAAQ,C,YAAmB,aAAQ,6DAAE,MAAK,CAASrG,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAKL,CAAoTrG,MAAM,CAAC,KAAO,OAA4B,wTAAE,MAAK,CAASA,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAK,CAAC1N,OAA0BqN,KAAO,O,CAAkE,OAAQ,C,YAAmB,aAAQ,+DAAE,MAAK,CAASrG,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAKL,CAAoMrG,MAAM,CAAC,KAAO,OAA4B,wMAAE,MAAK,CAASA,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAK,CAAC1N,OAA0BqN,KAAO,O,CAA2C,OAAQ,C,YAAmB,aAAQ,wCAAE,MAAK,CAASrG,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAKL,CAAqpBrG,MAAM,CAAC,KAAO,OAA4B,ypBAAE,MAAK,CAASA,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAK,CAAC1N,OAA0BqN,KAAO,O,CAA4C,OAAQ,C,YAAmB,aAAQ,yCAAE,MAAK,CAASrG,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAKL,CAAglBrG,MAAM,CAAC,KAAO,OAA4B,olBAAE,MAAK,CAASA,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAK,CAAC1N,OAA0BqN,KAAO,O,CAA4D,OAAQ,C,YAAmB,aAAQ,yDAAE,MAAK,CAASrG,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAKL,CAAwVrG,MAAM,CAAC,KAAO,OAA4B,4VAAE,MAAK,CAASA,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAK,CAAC1N,OAA0BqN,KAAO,O,CAA2D,OAAQ,C,YAAmB,aAAQ,wDAAE,MAAK,CAASrG,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAKL,CAAohBrG,MAAM,CAAC,KAAO,OAA4B,whBAAE,MAAK,CAASA,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAK,CAAC1N,OAA0BqN,KAAO,O,CAAyE,OAAQ,C,YAAmB,aAAQ,sEAAE,MAAK,CAASrG,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAKL,CAA2pBrG,MAAM,CAAC,KAAO,OAA4B,4pBAAE,MAAK,CAASA,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAK,CAAC1N,OAA0BqN,KAAO,O,CAA6D,OAAQ,C,YAAmB,aAAQ,0DAAE,MAAK,CAASrG,MAAM,SAAC,QAAO,WAAO,CAAC0G,EAAG,OAAKL,CAAmHrG,MAAM,CAAC,KAAO,OAAsC,CAACqG,EAAG,IAAI,0GAA6G,EAAG,IAAI,CAC3lV,OACGS,2C,kICoLW,GACfhP,KAAA,iBCvLsV,I,YCOlViP,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,QCqDA,GACfC,WAAA,CACAC,iBAEAnP,KAAA,OACAQ,OACA,OACAqO,QAAA,EACAO,SAAA,UAEAC,UAAA,uEAGA5M,SAAA,CACA6L,iBACA,OAAAgB,IAGApJ,QAAA,IACAqJ,eAAA,YACAC,QACAC,eAAAD,MAAA,UACA,KAAAE,UAEAC,eACA,IAAAC,EACA,YAAAR,UACA,gBACAQ,EAAA,KACA,MACA,eACAA,EAAA,KACA,MACA,cACAA,EAAA,KACA,MACA,cACAA,EAAA,KACA,MACA,UACAA,EAAA,KACA,MACA,YACAA,EAAA,KACA,MACA,QACAA,EAAA,KACA,MAEA,KAAA9B,SAAAiB,KAAAa,UACAC,aAAAT,SAAAQ,IAGAE,UAAA,IAAAC,EAAAC,EAIA,MAAAC,EAAAC,UAAAb,WAAAa,UAAAb,UAAA9L,OAAA2M,UAAAb,UAAA,GAAAa,UAAAd,SACAA,EAAA,QAAAW,EAAA,OAAAE,QAAA,IAAAA,IAAA,QAAAD,EAAAH,oBAAA,IAAAG,OAAA,EAAAA,EAAAZ,gBAAA,IAAAW,IAAA,KACA,IAAAI,EACAf,EAAA/Q,SAAA,OACA8R,EAAA,KACA,KAAAf,SAAA,aACAA,EAAA/Q,SAAA,OACA8R,EAAA,KACA,KAAAf,SAAA,YACAA,EAAA/Q,SAAA,OACA8R,EAAA,KACA,KAAAf,SAAA,WACAA,EAAA/Q,SAAA,OACA8R,EAAA,KACA,KAAAf,SAAA,WACAA,EAAA/Q,SAAA,OACA8R,EAAA,KACA,KAAAf,SAAA,OACAA,EAAA/Q,SAAA,OACA8R,EAAA,KACA,KAAAf,SAAA,UAEAe,EAAA,KACA,KAAAf,SAAA,WAEA,KAAAtB,SAAAiB,KAAAa,QAAAO,EACAN,aAAAT,SAAAe,IC1J6U,ICQzU,G,UAAY,eACd,EACA,EACAnB,GACA,EACA,KACA,WACA,OAIa,e","file":"js/home.850a1667.js","sourcesContent":["import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def()\n return props\n }, {} as Dictionary)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n },\n render (h, { props, data, children }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'row',\n class: classList,\n }),\n children\n )\n },\n})\n","// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n if (!this.autoSelectFirst) {\n const preSelectedItem = oldVal[this.$refs.menu.listIndex]\n\n if (preSelectedItem) {\n this.setMenuIndex(val.findIndex(i => i === preSelectedItem))\n } else {\n this.setMenuIndex(-1)\n }\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n\n if (this.autoSelectFirst && val.length) {\n this.setMenuIndex(0)\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n if (!this.multiple && value === '') this.deleteCurrentItem()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (\n !this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (\n !this.multiple &&\n !this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )\n ) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n","// Styles\nimport '../VAutocomplete/VAutocomplete.sass'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete/VAutocomplete'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-combobox',\n\n props: {\n delimiters: {\n type: Array,\n default: () => ([]),\n } as PropValidator,\n returnObject: {\n type: Boolean,\n default: true,\n },\n },\n\n data: () => ({\n editingIndex: -1,\n }),\n\n computed: {\n computedCounterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.internalSearch || '').toString().length\n },\n hasSlot (): boolean {\n return VSelect.options.computed.hasSlot.call(this) || this.multiple\n },\n isAnyValueAllowed (): boolean {\n return true\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems ||\n (!!this.$slots['no-data'] && !this.hideNoData)\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null\n },\n },\n\n methods: {\n onInternalSearchChanged (val: any) {\n if (\n val &&\n this.multiple &&\n this.delimiters.length\n ) {\n const delimiter = this.delimiters.find(d => val.endsWith(d))\n if (delimiter != null) {\n this.internalSearch = val.slice(0, val.length - delimiter.length)\n this.updateTags()\n }\n }\n\n this.updateMenuDimensions()\n },\n genInput () {\n const input = VAutocomplete.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n input.data!.on!.paste = this.onPaste\n\n return input\n },\n genChipSelection (item: object, index: number) {\n const chip = VSelect.options.methods.genChipSelection.call(this, item, index)\n\n // Allow user to update an existing value\n if (this.multiple) {\n chip.componentOptions!.listeners! = {\n ...chip.componentOptions!.listeners!,\n dblclick: () => {\n this.editingIndex = index\n this.internalSearch = this.getText(item)\n this.selectedIndex = -1\n },\n }\n }\n\n return chip\n },\n onChipInput (item: object) {\n VSelect.options.methods.onChipInput.call(this, item)\n\n this.editingIndex = -1\n },\n // Requires a manual definition\n // to overwrite removal in v-autocomplete\n onEnterDown (e: Event) {\n e.preventDefault()\n // If has menu index, let v-select-list handle\n if (this.getMenuIndex() > -1) return\n\n this.$nextTick(this.updateSelf)\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // If user is at selection index of 0\n // create a new tag\n if (this.multiple &&\n keyCode === keyCodes.left &&\n this.$refs.input.selectionStart === 0\n ) {\n this.updateSelf()\n } else if (keyCode === keyCodes.enter) {\n this.onEnterDown(e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onTabDown (e: KeyboardEvent) {\n // When adding tags, if searching and\n // there is not a filtered options,\n // add the value to the tags list\n if (this.multiple &&\n this.internalSearch &&\n this.getMenuIndex() === -1\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n return this.updateTags()\n }\n\n VAutocomplete.options.methods.onTabDown.call(this, e)\n },\n selectItem (item: object) {\n // Currently only supports items:\n if (this.editingIndex > -1) {\n this.updateEditing()\n } else {\n VAutocomplete.options.methods.selectItem.call(this, item)\n\n // if selected item contains search value,\n // remove the search string\n if (\n this.internalSearch &&\n this.multiple &&\n this.getText(item).toLocaleLowerCase().includes(this.internalSearch.toLocaleLowerCase())\n ) {\n this.internalSearch = null\n }\n }\n },\n setSelectedItems () {\n if (this.internalValue == null ||\n this.internalValue === ''\n ) {\n this.selectedItems = []\n } else {\n this.selectedItems = this.multiple ? this.internalValue : [this.internalValue]\n }\n },\n setValue (value?: any) {\n VSelect.options.methods.setValue.call(this, value === undefined ? this.internalSearch : value)\n },\n updateEditing () {\n const value = this.internalValue.slice()\n const index = this.selectedItems.findIndex(item =>\n this.getText(item) === this.internalSearch)\n\n // If user enters a duplicate text on chip edit,\n // don't add it, move it to the end of the list\n if (index > -1) {\n const item = typeof value[index] === 'object'\n ? Object.assign({}, value[index])\n : value[index]\n\n value.splice(index, 1)\n value.push(item)\n } else {\n value[this.editingIndex] = this.internalSearch\n }\n\n this.setValue(value)\n this.editingIndex = -1\n this.internalSearch = null\n },\n updateCombobox () {\n // If search is not dirty, do nothing\n if (!this.searchIsDirty) return\n\n // The internal search is not matching\n // the internal value, update the input\n if (this.internalSearch !== this.getText(this.internalValue)) this.setValue()\n\n // Reset search if using slot to avoid a double input\n const isUsingSlot = Boolean(this.$scopedSlots.selection) || this.hasChips\n if (isUsingSlot) this.internalSearch = null\n },\n updateSelf () {\n this.multiple ? this.updateTags() : this.updateCombobox()\n },\n updateTags () {\n const menuIndex = this.getMenuIndex()\n\n // If the user is not searching\n // and no menu item is selected\n // or if the search is empty\n // do nothing\n if ((menuIndex < 0 && !this.searchIsDirty) ||\n !this.internalSearch) return\n\n if (this.editingIndex > -1) {\n return this.updateEditing()\n }\n\n const index = this.selectedItems.findIndex(item =>\n this.internalSearch === this.getText(item))\n\n // If the duplicate item is an object,\n // copy it, so that it can be added again later\n const itemToSelect = index > -1 && typeof this.selectedItems[index] === 'object'\n ? Object.assign({}, this.selectedItems[index])\n : this.internalSearch\n\n // If it already exists, do nothing\n // this might need to change to bring\n // the duplicated item to the last entered\n if (index > -1) {\n const internalValue = this.internalValue.slice()\n internalValue.splice(index, 1)\n\n this.setValue(internalValue)\n }\n\n // If menu index is greater than 1\n // the selection is handled elsewhere\n // TODO: find out where\n if (menuIndex > -1) return (this.internalSearch = null)\n\n this.selectItem(itemToSelect)\n\n this.internalSearch = null\n },\n onPaste (event: ClipboardEvent) {\n this.$emit('paste', event)\n if (!this.multiple || this.searchIsDirty) return\n\n const pastedItemText = event.clipboardData?.getData('text/vnd.vuetify.autocomplete.item+plain')\n if (pastedItemText && this.findExistingIndex(pastedItemText as any) === -1) {\n event.preventDefault()\n VSelect.options.methods.selectItem.call(this, pastedItemText as any)\n }\n },\n clearableCallback () {\n this.editingIndex = -1\n\n VAutocomplete.options.methods.clearableCallback.call(this)\n },\n },\n})\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&id=61bce206&prod&lang=scss&scoped=true\"","import './VGrid.sass'\n\nimport Vue, { VNode, PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-col',\n functional: true,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n render (h, { props, data, children, parent }): VNode {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n },\n})\n","// Styles\nimport './VApp.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n Themeable\n).extend({\n name: 'v-app',\n\n props: {\n dark: {\n type: Boolean,\n default: undefined,\n },\n id: {\n type: String,\n default: 'app',\n },\n light: {\n type: Boolean,\n default: undefined,\n },\n },\n\n computed: {\n isDark (): boolean {\n return this.$vuetify.theme.dark\n },\n },\n\n beforeCreate () {\n if (!this.$vuetify || (this.$vuetify === this.$root as any)) {\n throw new Error('Vuetify is not properly initialized, see https://v2.vuetifyjs.com/getting-started/quick-start#bootstrapping-the-vuetify-object')\n }\n },\n\n render (h) {\n const wrapper = h('div', { staticClass: 'v-application--wrap' }, this.$slots.default)\n\n return h('div', {\n staticClass: 'v-application',\n class: {\n 'v-application--is-rtl': this.$vuetify.rtl,\n 'v-application--is-ltr': !this.$vuetify.rtl,\n ...this.themeClasses,\n },\n attrs: { 'data-app': true },\n domProps: { id: this.id },\n }, [wrapper])\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-app',[_c('div',{staticClass:\"home\"},[_c('div',{staticClass:\"bg\"}),_c('div',{staticClass:\"bg-shape\"}),_c('div',{staticClass:\"content\"},[(_vm.isLoginEnabled)?[_c('div',{staticClass:\"login-bg\"}),_c('div',{staticClass:\"login\",on:{\"click\":_vm.login}},[_vm._v(_vm._s(_vm.$vuetify.lang.t('$vuetify.login'))+\" ↗\")])]:_vm._e(),_c('div',[_c('div',[_c('v-combobox',{staticClass:\"language-select\",attrs:{\"items\":_vm.languages,\"solo\":\"\",\"prepend-inner-icon\":\"mdi-web\",\"append-icon\":\"\",\"color\":\"black\"},on:{\"change\":_vm.changeLocale},model:{value:(_vm.language),callback:function ($$v) {_vm.language=$$v},expression:\"language\"}})],1)]),_c('div',{staticClass:\"welcome\"},[_vm._v(_vm._s(_vm.$vuetify.lang.t('$vuetify.heading_welcome')))]),_c('img',{staticClass:\"twitch-purple-heart\",attrs:{\"src\":\"/imgs/twitch-purple-heart.png\"}}),_c('a',{attrs:{\"href\":\"https://www.twitch.tv\",\"target\":\"_blank\"}},[_c('img',{staticClass:\"twitch-logo-header\",attrs:{\"src\":\"/imgs/twitch-logo.png\"}})]),_c('div',{staticClass:\"welcome-section\"},[_c('span',[_vm._v(_vm._s(_vm.$vuetify.lang.t('$vuetify.home_para1')))]),_c('span',{staticClass:\"welcome-rewards\"},[_vm._v(_vm._s(_vm.$vuetify.lang.t('$vuetify.rewards')))]),_c('span',[_vm._v(_vm._s(_vm.$vuetify.lang.t('$vuetify.home_para1_1')))]),_c('span',[_c('span',[_vm._v(\" \"+_vm._s(_vm.$vuetify.lang.t('$vuetify.home_para1_2'))),_c('a',{on:{\"click\":function($event){_vm.policy = true}}},[_vm._v(_vm._s(_vm.$vuetify.lang.t('$vuetify.privacy_policy')))]),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$vuetify.lang.t('$vuetify.home_para1_3'))}})]),_c('br'),_c('span')])]),_c('div',{staticClass:\"reminder-section\"},[_c('div',{staticClass:\"participating\",domProps:{\"innerHTML\":_vm._s(_vm.$vuetify.lang.t('$vuetify.home_para2'))}}),_c('div',{staticClass:\"reminder\"},[_c('img',{staticClass:\"reminder-logo\",attrs:{\"src\":\"/imgs/reminder.png\"}}),_c('div',[_vm._v(_vm._s(_vm.$vuetify.lang.t('$vuetify.reminder')))])])]),_c('img',{staticClass:\"red-bits-logo-mobile\",attrs:{\"src\":\"/imgs/red-bits-mobile.png\"}}),_c('img',{staticClass:\"red-bits-logo\",attrs:{\"src\":\"/imgs/red-bits.png\"}}),_c('div',{staticClass:\"footer\"},[_c('a',{attrs:{\"href\":\"https://www.twitch.tv\",\"target\":\"_blank\"}},[_c('img',{staticClass:\"twitch-glitch-white\",attrs:{\"src\":\"/imgs/twitch-glitch-white.png\"}})]),_c('div',[_c('a',{staticClass:\"terms-of-service\",attrs:{\"href\":\"https://www.twitch.tv/p/en/legal/terms-of-service/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$vuetify.lang.t('$vuetify.terms')))])]),_c('div',{staticClass:\"partner\"},[_vm._v(_vm._s(_vm.$vuetify.lang.t('$vuetify.develop_by')))]),_c('div',[_c('a',{staticClass:\"privacy-policy\",attrs:{\"href\":\"https://www.twitch.tv/p/en/legal/privacy-notice/\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$vuetify.lang.t('$vuetify.privacy_policy')))])]),_c('div',{staticClass:\"trade-mark\"},[_vm._v(\"© \"+_vm._s(new Date().getFullYear())+\" Twitch Interactive Inc\")])])],2)]),_c('v-dialog',{attrs:{\"value\":_vm.policy,\"opacity\":\"1\"},on:{\"click:outside\":function($event){_vm.policy = false}}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-text',[_c('privacy-policy')],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"error\"},on:{\"click\":function($event){_vm.policy = false}}},[_vm._v(_vm._s(_vm.$vuetify.lang.t('$vuetify.close')))])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h1',{staticClass:\"display-2\"},[_vm._v(\"Privacy Policy\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('p',[_vm._v(\" This X-Team Ltd Privacy Policy applies to your use of Glitch Exp, and any other websites, applications, or services provided, owned, or operated by X-Team Ltd that link to this Privacy Policy. X-Team Ltd values the privacy of users, subscribers, publishers, members, and others who visit and use the X-Team Ltd Services (collectively or individually, “you” or “users”) and wants you to be familiar with how we collect, use, and disclose personal information from and about you. \")]),_c('p',[_vm._v(\"For purposes of data protection laws, X-Team Ltd., located at Rotunda Buildings, Montpellier Exchange, Cheltenham, Gloucestershire, England, GL50 1SX, is the “data controller” of your information.\")]),_c('p',[_vm._v(\"You are agreeing to this Privacy Policy by using the X-Team Ltd Services, you consent to the extent permitted by law to the information handling practices described in this Policy.\")]),_c('p',[_vm._v(\"Glitch Exp does not use \"),_c('strong',[_vm._v(\"Cookies\")]),_vm._v(\" and therefore does not have a cookie policy\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h2',{staticClass:\"display-1\"},[_vm._v(\"Personal Information X-Team Ltd Collects About You\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('p',[_vm._v(\"On login we collect your Twitch username, display name and user identifier. We collect subscriber events and bits use events on your channel while you are included in any Twitch marketing campaigns\")]),_c('p',[_c('strong',[_vm._v(\"MATOMO:\")]),_vm._v(\" Our Analytics software is Matomo, this runs in a cookieless mode. We are the storage and processing agent of this data, your data is not transferred out of our Matomo instance, your IP address is sent to our Analytics software however is not stored.\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h2',{staticClass:\"display-1\"},[_vm._v(\"Sharing of personal information as described below:\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('p',[_vm._v(\"The personal information we do collect (Twitch username, display name and user identifier) will be shared with Twitch Interactive Inc. (\\\"Twitch\\\"). As this site is powered by and used by Twitch.\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h2',{staticClass:\"display-1\"},[_vm._v(\"Data Subject Rights and Your Choices\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('p',[_vm._v(\" Residents of the European Economic Area (“EEA”), can exercise certain data subject rights available to them under applicable data protection laws. We will comply with requests to exercise these rights in accordance with applicable law. Please note that in some circumstances, we may need to keep processing your information for certain legitimate interests or to comply with a legal obligation. If these rights apply to you, they may permit you to request that we: \")]),_c('ul',[_c('li',[_vm._v(\"Obtain access to or a copy of certain personal information we hold about you\")]),_c('li',[_vm._v(\"Prevent the processing of your personal information for direct marketing purposes (including any direct marketing processing based on profiling)\")]),_c('li',[_vm._v(\"Update personal information that is out of date or incorrect\")]),_c('li',[_vm._v(\"Delete certain personal information we hold about you\")]),_c('li',[_vm._v(\"Restrict the way that we process and disclose specific personal information about you\")]),_c('li',[_vm._v(\"Transfer your personal information to a third-party provider of services\")]),_c('li',[_vm._v(\"Revoke consent that you previously provided for the processing of your personal information\")])]),_c('p',[_vm._v(\" Please email \"),_c('a',{attrs:{\"href\":\"mailto:support@slevinthheaven.com\"}},[_vm._v(\"SUPPORT\")]),_vm._v(\" for any help or support with regards to this Privacy Policy \")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h2',{staticClass:\"display-1\"},[_vm._v(\"Account Closure & Deletion\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('p',[_vm._v(\" If you would like to close your account and delete your profile information on Glitch Exp please email \"),_c('a',{attrs:{\"href\":\"mailto:support@slevinthheaven.com\"}},[_vm._v(\"SUPPORT\")]),_vm._v(\". For Slevinth Heaven Ltd Services other than Glitch Exp, you may update or delete information tied to your account, or close an account, when you email support, give us information of all X-Team Ltd services you use \")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h2',{staticClass:\"display-1\"},[_vm._v(\"Third-Party Services and Websites\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('p',[_vm._v(\"The X-Team Ltd Services may link to third-party websites or services. The privacy practices of those third parties are not governed by this Privacy Policy. We encourage you to review the privacy policies of these third-party websites and services to understand their practices.\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h2',{staticClass:\"display-1\"},[_vm._v(\"Advertisers and Analytics Providers\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('p',[_vm._v(\"We currently do not connect to or share information with Advertisers or Analytics Providers, this Privacy Policy will be changed to reflect this if/when that happens\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h2',{staticClass:\"display-1\"},[_vm._v(\"Do Not Track\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('p',[_vm._v(\" Do Not Track (“DNT”) is a privacy preference that users can set in certain web browsers. DNT is a way for users to inform websites and services that they do not want certain information about their webpage visits collected over time and across websites or online services. We are committed to providing you with meaningful choices about the information collected on our website for third-party purposes, and that is why we provide the Network Advertising Initiative, Your Online Choices and the Digital Advertising Alliance opt-out links above. However, X-Team Ltd does not recognize or respond to browser-initiated DNT signals. \")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h2',{staticClass:\"display-1\"},[_vm._v(\"Data Security\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('p',[_vm._v(\" X-Team Ltd uses a variety of managerial, technical, and physical measures to protect the integrity and security of your information. These measures may vary based on the sensitivity of your information. However, no security precautions or systems can be completely secure. We cannot ensure or warrant the security of any information you transmit to X-Team Ltd, and you do so at your own risk. We cannot guarantee that such information may not be accessed, disclosed, altered, or destroyed by breach of any of our physical, technical, or managerial safeguards. \")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h2',{staticClass:\"display-1\"},[_vm._v(\"Retention of Your Information\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('p',[_vm._v(\" We keep your personal information to enable your continued use of X-Team Ltd Services, for as long as it is required in order to fulfill the relevant purposes described in this Privacy Policy, as may be required (or permitted) by law such as for tax and accounting purposes, or as otherwise communicated to you. \")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h2',{staticClass:\"display-1\"},[_vm._v(\"International Data Transfers\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('p',[_vm._v(\" Information collected by X-Team Ltd may be stored and processed in your region, in the United States (for instance in our major data centers), or in any other country where X-Team Ltd or its affiliates, subsidiaries, partners, or service providers are located or maintain facilities. If we provide any information about you to any such entities, we will take appropriate measures to ensure such companies protect your information adequately in accordance with this Privacy Policy and applicable law. \")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h2',{staticClass:\"display-1\"},[_vm._v(\"Changes and Updates to this Privacy Policy\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('p',[_vm._v(\" X-Team Ltd reserves the right to change, modify, add, or remove portions of this Privacy Policy at any time (for example to reflect updates to the X-Team Ltd Services or to reflect changes in the law). Please check this Privacy Policy periodically for those changes. Your continued use of the X-Team Ltd Services after the posting of changes constitutes your binding acceptance of such changes. \")]),_c('p',[_vm._v(\"We will not materially change our policies and practices to make them less protective of personal information collected in the past under a prior version of the Privacy Policy without the consent of affected individuals\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h2',{staticClass:\"display-1\"},[_vm._v(\"X-Team Ltd Contact Information\")])])],1),_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('p',[_vm._v(\" Please contact X-Team Ltd with any questions or comments about this Privacy Policy by email to \"),_c('a',{attrs:{\"href\":\"mailto:support@slevinthheaven.com\"}},[_vm._v(\"support@slevinthheaven.com\")]),_vm._v(\". We will respond to your inquiry within 30 days of its receipt. \")])])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrivacyPolicy.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PrivacyPolicy.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PrivacyPolicy.vue?vue&type=template&id=1886c53c\"\nimport script from \"./PrivacyPolicy.vue?vue&type=script&lang=js\"\nexport * from \"./PrivacyPolicy.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=61bce206&scoped=true\"\nimport script from \"./Home.vue?vue&type=script&lang=js\"\nexport * from \"./Home.vue?vue&type=script&lang=js\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=61bce206&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"61bce206\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}