{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?45f8","webpack:///./themeConfig.js","webpack:///./src/indexDB/item.js","webpack:///./src/store/app/index.js","webpack:///./src/store/app-config/index.js","webpack:///./src/store/vertical-menu/index.js","webpack:///./src/store/user-data/index.js","webpack:///./src/indexDB/order.js","webpack:///./src/store/item-data/index.js","webpack:///./src/indexDB/basket.js","webpack:///./src/store/basket-data/index.js","webpack:///./src/indexDB/favorite.js","webpack:///./src/store/favorite-data/index.js","webpack:///./src/store/index.js","webpack:///./src/@core/components/feather-icon/FeatherIcon.vue","webpack:///./src/App.vue?7669","webpack:///./src/@core/components/scroll-to-top/ScrollToTop.vue?098e","webpack:///src/@core/components/scroll-to-top/ScrollToTop.vue","webpack:///./src/@core/components/scroll-to-top/ScrollToTop.vue?d260","webpack:///./src/@core/components/scroll-to-top/ScrollToTop.vue","webpack:///src/App.vue","webpack:///./src/App.vue?03b3","webpack:///./src/App.vue","webpack:///src/@core/components/feather-icon/FeatherIcon.vue","webpack:///./src/@core/components/feather-icon/FeatherIcon.vue?ff83","webpack:///./src/global-components.js","webpack:///./src/libs/portal-vue.js","webpack:///./src/libs/toastification.js","webpack:///./src/libs/acl/index.js","webpack:///./src/libs/sweet-alerts.js","webpack:///./src/libs/tour.js","webpack:///./src/main.js","webpack:///./src/@core/components/scroll-to-top/ScrollToTop.vue?b6a9","webpack:///./src/@core/auth/jwt/jwtDefaultConfig.js","webpack:///./src/@core/auth/jwt/jwtService.js","webpack:///./src/@core/auth/jwt/useJwt.js","webpack:///./src/auth/jwt/useJwt.js","webpack:///./src/libs/axios.js","webpack:///./src/@core/components/feather-icon/FeatherIcon.vue?9c52","webpack:///./src/router/customer.js","webpack:///./src/router/administrator.js","webpack:///./src/libs/acl/routeProtection.js","webpack:///./src/router/supervisor.js","webpack:///./src/router/supplier.js","webpack:///./src/router/website.js","webpack:///./src/router/index.js","webpack:///./src/@core/app-config/useAppConfig.js","webpack:///./src/libs/acl/ability.js","webpack:///./src/assets/images/logo/logo.svg","webpack:///./src/libs/acl/config.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","$themeColors","$themeBreakpoints","$themeConfig","app","appName","appLogoImage","require","appLogoImage2","layout","isRTL","skin","routerTransition","contentWidth","menu","hidden","isCollapsed","navbar","backgroundColor","footer","customizer","enableScrollToTop","db","namespaced","state","windowWidth","shallShowOverlay","getters","currentBreakPoint","xl","lg","md","sm","mutations","UPDATE_WINDOW_WIDTH","val","TOGGLE_OVERLAY","actions","localStorage","getItem","TOGGLE_RTL","documentElement","UPDATE_SKIN","setItem","body","classList","add","className","match","remove","UPDATE_ROUTER_TRANSITION","UPDATE_LAYOUT_TYPE","UPDATE_CONTENT_WIDTH","UPDATE_NAV_MENU_HIDDEN","UPDATE_NAVBAR_CONFIG","obj","assign","UPDATE_FOOTER_CONFIG","isVerticalMenuCollapsed","UPDATE_VERTICAL_MENU_COLLAPSED","AppActiveUser","Companies","Company","getAppActiveUser","getCompanies","getCompany","UPDATE_USER_INFO","payload","username","UPDATE_COMPANIES","UPDATE_COMPANY","logout","_ref","commit","axiosIns","post","response","catch","finally","removeItem","useJwt","jwtConfig","storageTokenKeyName","storageRefreshTokenKeyName","INIT_USER_DATA","_ref2","log","INIT_COMPANIES","_ref3","companies","company","DB_NAME","DB_VERSION","ITEM_MED_NAME","ITEM_PARA_NAME","openDatabase","indexedDB","open","onsuccess","onupgradeneeded","objectStoreNames","contains","createObjectStore","keyPath","closeDatabase","close","addItem","storeName","item","transaction","store","objectStore","getRequest","existingItem","updatedItem","_objectSpread","updateRequest","put","addRequest","getAllItems","getAll","deleteItem","itemCode","deleteRequest","delete","ORDER_NAME","addOrder","compoundKey","IDBKeyRange","only","getAllOrders","deleteByCode","getOrderCount","count","itemsMED","itemsPARA","orderLines","isItemsMEDFetched","isItemsPARAFetched","geItemsMED","geItemsPARA","geItems","concat","geItemMEDByCode","find","geItemPARAByCode","geItemByCode","getOrderLines","parseInt","MUTATE_ITEMS_MED","MUTATE_ITEMS_PARA","UPDATE_ORDER_LINES","INCREMENT_ORDER_LINES","DECREMENT_ORDER_LINES","FETCH_ITEMS_FROM_BACKEND","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","dispatch","wrap","_context2","prev","next","axios","sent","status","itemDB","map","_callee","element","_context","updatedAt","stop","_x","arguments","t0","FETCH_ITEMS_FROM_BACKEND_WITH_PERCENTAGE","updateProgress","_callee4","totalItems","processedItems","_context4","_ref4","_callee3","_context3","_x2","FETCH_BLOQUED_ITEMS","_callee6","lastSyncDate","lastSyncMonth","currentMonth","today","_context6","Date","getMonth","forEach","_ref5","_callee5","_context5","_x3","toISOString","FETCH_ITEMS_FROM_BACKEND_ADMIN","_ref6","_callee8","_context8","_ref7","_callee7","_context7","_x4","INITIALIZE_ITEMS_MED","_ref8","_callee9","items","_context9","INITIALIZE_ITEMS_PARA","_ref9","_callee10","_context10","GET_INVENTORY","_ref10","Qte","resp","inventory","respStruct","title","icon","text","variant","promotion","price","price_ttc","public_price","packaging","dlc","Unit_Price","Price_Including_VAT","Public_Price","Packaging","DLC","Quotas_Item_Exist","Quotas_Item_by_Customer","Quantity_available","Description","Promotion_Inventory","Sales_threshold","Free_Sales_Qty","unitesGratuits","Math","floor","SAVE_ORDER","_ref11","_callee11","_context11","includes","orderDB","SAVE_ORDER_","_ref12","_callee12","_context12","FETCH_ORDERS","_callee13","orders","_context13","abrupt","filter","DELETE_ORDER_LINE","_ref13","_callee14","_context14","COUNT_ORDER_LINES","_ref14","_callee15","_context15","BASKET_HEADER_NAME","BASKET_LINE_NAME","autoIncrement","lineStore","createIndex","unique","addBasketHeader","headerId","addBasketLine","basketHeaderId","getAllBasketHeaders","getAllBasketLines","index","range","deleteBasketLine","deleteBasketHeaderAndLines","headerStore","linesIndex","linesRange","deleteLinesRequest","openCursor","cursor","continue","deleteHeaderRequest","basketHeaders","basketHeadersCount","getBasketHeaders","reverse","getBasketHeadersCount","MUTATE_BASKET_HEADER","FILL_BASKET_HEADERS","headers","basketDB","ADD_BASKET_HEADER","basketName","rootGetters","now","day","month","year","hours","minutes","seconds","formattedDateTime","String","getDate","padStart","getFullYear","getHours","getMinutes","getSeconds","description","time","ADD_BASKET_LINE","_","GET_BASKET_LINES","lines","DELETE_BASKET_LINE","line","DELETE_BASKET_HEADER","FVORITE_NAME","addFavorite","deleteFavorite","findAll","findByCode","favorites","getFavorites","MUTATE_FAVORITES","FILL_FAVORITES","favoritetDB","ADD_FAVORITE","DELETE_FAVORITE","FIND_FAVORITE","fav","Vue","use","Vuex","Store","appConfig","verticalMenu","userdata","itemData","basketData","favoriteData","strict","process","DEV","_vm","this","_h","$createElement","_c","_self","staticClass","class","skinClasses","attrs","staticRenderFns","y","directives","rawName","expression","modifiers","on","scrollToTop","Ripple","components","BButton","setup","_useWindowScroll","useWindowScroll","rootEle","scrollTo","top","behavior","component","LayoutVertical","LayoutHorizontal","LayoutFull","LayoutWebsite","ScrollToTop","computed","$route","meta","contentLayoutType","$store","beforeCreate","colors","len","useCssVar","trim","breakpoints","Number","_useAppConfig","useAppConfig","provideToast","hideProgressBar","closeOnClick","closeButton","transition","innerWidth","_useWindowSize","useWindowSize","width","watch","functional","props","required","size","default","badge","badgeClasses","Array","render","h","svg","icons","badgeEl","FeatherIcon","PortalVue","Toast","position","pauseOnFocusLoss","pauseOnHover","draggable","draggablePercent","maxToasts","newestOnTop","abilitiesPlugin","ability","VueSweetalert2","VueTour","BootstrapVue","VueCompositionAPI","VueMeta","config","productionTip","eventBus","router","App","$mount","loginEndpoint","registerEndpoint","refreshEndpoint","logoutEndpoint","tokenType","JwtService","jwtOverrideConfig","_this","_classCallCheck","_defineProperty","jwtDefaultConfig","interceptors","accessToken","getToken","Authorization","$emit","originalRequest","isAlreadyFetchingAccessToken","refreshToken","setToken","setRefreshToken","onAccessTokenFetched","retryOriginalRequest","addSubscriber","_createClass","subscribers","callback","token","JSON","stringify","sessionId","_len","args","_key","email","password","_this$axiosIns","_len2","_key2","getRefreshToken","jwt","_useJwt","baseURL","DIRECTORY_FILES_PATH","$serverpath","$http","path","resource","action","contentRenderer","contentClass","canNavigate","to","matched","some","route","can","VueRouter","base","scrollBehavior","x","routes","_toConsumableArray","customer","administrator","supervisor","supplier","website","redirect","beforeEach","fullPath","usAppConfig","set","layoutType","isNavMenuHidden","navbarBackgroundColor","navbarType","footerType","userData","parse","existingAbility","Ability","initialAbility","subject"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAGnBC,EAAqB,CACxB,IAAO,GAMJjB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASa,EAAe7B,GACvB,OAAOyB,EAAoBK,EAAI,OAAS,GAAG9B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,MAI50E,SAASyB,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAUgC,QAGnC,IAAIC,EAASL,EAAiB5B,GAAY,CACzCK,EAAGL,EACHkC,GAAG,EACHF,QAAS,IAUV,OANAlB,EAAQd,GAAUW,KAAKsB,EAAOD,QAASC,EAAQA,EAAOD,QAASN,GAG/DO,EAAOC,GAAI,EAGJD,EAAOD,QAKfN,EAAoBS,EAAI,SAAuBlC,GAC9C,IAAImC,EAAW,GAIXC,EAAY,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,GAC/tCR,EAAmB5B,GAAUmC,EAASvB,KAAKgB,EAAmB5B,IACzB,IAAhC4B,EAAmB5B,IAAkBoC,EAAUpC,IACtDmC,EAASvB,KAAKgB,EAAmB5B,GAAW,IAAIqC,SAAQ,SAASC,EAASC,GAIzE,IAHA,IAAIC,EAAO,QAAU,GAAGxC,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,OACpzEyC,EAAWhB,EAAoBK,EAAIU,EACnCE,EAAmBC,SAASC,qBAAqB,QAC7CxC,EAAI,EAAGA,EAAIsC,EAAiBpC,OAAQF,IAAK,CAChD,IAAIyC,EAAMH,EAAiBtC,GACvB0C,EAAWD,EAAIE,aAAa,cAAgBF,EAAIE,aAAa,QACjE,GAAe,eAAZF,EAAIG,MAAyBF,IAAaN,GAAQM,IAAaL,GAAW,OAAOH,IAErF,IAAIW,EAAoBN,SAASC,qBAAqB,SACtD,IAAQxC,EAAI,EAAGA,EAAI6C,EAAkB3C,OAAQF,IAAK,CAC7CyC,EAAMI,EAAkB7C,GACxB0C,EAAWD,EAAIE,aAAa,aAChC,GAAGD,IAAaN,GAAQM,IAAaL,EAAU,OAAOH,IAEvD,IAAIY,EAAUP,SAASQ,cAAc,QACrCD,EAAQF,IAAM,aACdE,EAAQE,KAAO,WACfF,EAAQG,OAASf,EACjBY,EAAQI,QAAU,SAASC,GAC1B,IAAIC,EAAUD,GAASA,EAAME,QAAUF,EAAME,OAAOC,KAAOjB,EACvDkB,EAAM,IAAIC,MAAM,qBAAuB5D,EAAU,cAAgBwD,EAAU,KAC/EG,EAAIE,KAAO,wBACXF,EAAIH,QAAUA,SACP5B,EAAmB5B,GAC1BkD,EAAQY,WAAWC,YAAYb,GAC/BX,EAAOoB,IAERT,EAAQV,KAAOC,EAEf,IAAIuB,EAAOrB,SAASC,qBAAqB,QAAQ,GACjDoB,EAAKC,YAAYf,MACfgB,MAAK,WACPtC,EAAmB5B,GAAW,MAMhC,IAAImE,EAAqBxD,EAAgBX,GACzC,GAA0B,IAAvBmE,EAGF,GAAGA,EACFhC,EAASvB,KAAKuD,EAAmB,QAC3B,CAEN,IAAIC,EAAU,IAAI/B,SAAQ,SAASC,EAASC,GAC3C4B,EAAqBxD,EAAgBX,GAAW,CAACsC,EAASC,MAE3DJ,EAASvB,KAAKuD,EAAmB,GAAKC,GAGtC,IACIC,EADAC,EAAS3B,SAASQ,cAAc,UAGpCmB,EAAOC,QAAU,QACjBD,EAAOE,QAAU,IACb/C,EAAoBgD,IACvBH,EAAOI,aAAa,QAASjD,EAAoBgD,IAElDH,EAAOZ,IAAM7B,EAAe7B,GAG5B,IAAI2E,EAAQ,IAAIf,MAChBS,EAAmB,SAAUd,GAE5Be,EAAOhB,QAAUgB,EAAOjB,OAAS,KACjCuB,aAAaJ,GACb,IAAIK,EAAQlE,EAAgBX,GAC5B,GAAa,IAAV6E,EAAa,CACf,GAAGA,EAAO,CACT,IAAIC,EAAYvB,IAAyB,SAAfA,EAAMH,KAAkB,UAAYG,EAAMH,MAChE2B,EAAUxB,GAASA,EAAME,QAAUF,EAAME,OAAOC,IACpDiB,EAAMK,QAAU,iBAAmBhF,EAAU,cAAgB8E,EAAY,KAAOC,EAAU,IAC1FJ,EAAMM,KAAO,iBACbN,EAAMvB,KAAO0B,EACbH,EAAMnB,QAAUuB,EAChBF,EAAM,GAAGF,GAEVhE,EAAgBX,QAAWkF,IAG7B,IAAIV,EAAUW,YAAW,WACxBd,EAAiB,CAAEjB,KAAM,UAAWK,OAAQa,MAC1C,MACHA,EAAOhB,QAAUgB,EAAOjB,OAASgB,EACjC1B,SAASqB,KAAKC,YAAYK,GAG5B,OAAOjC,QAAQ+C,IAAIjD,IAIpBV,EAAoB4D,EAAIxE,EAGxBY,EAAoB6D,EAAI3D,EAGxBF,EAAoB8D,EAAI,SAASxD,EAASkD,EAAMO,GAC3C/D,EAAoBgE,EAAE1D,EAASkD,IAClC1E,OAAOmF,eAAe3D,EAASkD,EAAM,CAAEU,YAAY,EAAMC,IAAKJ,KAKhE/D,EAAoBoE,EAAI,SAAS9D,GACX,qBAAX+D,QAA0BA,OAAOC,aAC1CxF,OAAOmF,eAAe3D,EAAS+D,OAAOC,YAAa,CAAEC,MAAO,WAE7DzF,OAAOmF,eAAe3D,EAAS,aAAc,CAAEiE,OAAO,KAQvDvE,EAAoBwE,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQvE,EAAoBuE,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAK7F,OAAO8F,OAAO,MAGvB,GAFA5E,EAAoBoE,EAAEO,GACtB7F,OAAOmF,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOvE,EAAoB8D,EAAEa,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIR3E,EAAoB+E,EAAI,SAASxE,GAChC,IAAIwD,EAASxD,GAAUA,EAAOmE,WAC7B,WAAwB,OAAOnE,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAP,EAAoB8D,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR/D,EAAoBgE,EAAI,SAASgB,EAAQC,GAAY,OAAOnG,OAAOC,UAAUC,eAAeC,KAAK+F,EAAQC,IAGzGjF,EAAoBK,EAAI,IAGxBL,EAAoBkF,GAAK,SAAShD,GAA2B,MAApBiD,QAAQjC,MAAMhB,GAAYA,GAEnE,IAAIkD,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAWjG,KAAK2F,KAAKM,GAC5CA,EAAWjG,KAAOf,EAClBgH,EAAaA,EAAWG,QACxB,IAAI,IAAI5G,EAAI,EAAGA,EAAIyG,EAAWvG,OAAQF,IAAKP,EAAqBgH,EAAWzG,IAC3E,IAAIU,EAAsBiG,EAI1B/F,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,6EC1QT,W,oCCAA,sGAEO,IAAM+F,EAAe,GAIfC,EAAoB,GAGpBC,EAAe,CAC1BC,IAAK,CACHC,QAAS,gBAETC,aAAcC,EAAQ,QACtBC,cAAeD,EAAQ,SAEzBE,OAAQ,CACNC,OAAO,EACPC,KAAM,QACNC,iBAAkB,aAClBxE,KAAM,aACNyE,aAAc,OACdC,KAAM,CACJC,QAAQ,EACRC,aAAa,GAEfC,OAAQ,CAEN7E,KAAM,WACN8E,gBAAiB,IAEnBC,OAAQ,CACN/E,KAAM,UAERgF,YAAY,EACZC,mBAAmB,K,sFC9BnBC,E,oCCHW,GACbC,YAAY,EACZC,MAAO,CACLC,YAAa,EACbC,kBAAkB,GAEpBC,QAAS,CACPC,kBAAmB,SAAAJ,GACjB,IAAQC,EAAgBD,EAAhBC,YACR,OAAIA,GAAevB,OAAkB2B,GAAW,KAC5CJ,GAAevB,OAAkB4B,GAAW,KAC5CL,GAAevB,OAAkB6B,GAAW,KAC5CN,GAAevB,OAAkB8B,GAAW,KACzC,OAGXC,UAAW,CACTC,oBAAmB,SAACV,EAAOW,GACzBX,EAAMC,YAAcU,GAEtBC,eAAc,SAACZ,EAAOW,GACpBX,EAAME,sBAA2BxD,IAARiE,EAAoBA,GAAOX,EAAME,mBAG9DW,QAAS,ICxBI,G,oBAAA,CACbd,YAAY,EACZC,MAAO,CACLf,OAAQ,CACNC,MAAOP,OAAaM,OAAOC,MAC3BC,KAAM2B,aAAaC,QAAQ,eAAiBpC,OAAaM,OAAOE,KAChEC,iBAAkBT,OAAaM,OAAOG,iBACtCxE,KAAM+D,OAAaM,OAAOrE,KAC1ByE,aAAcV,OAAaM,OAAOI,aAClCC,KAAM,CACJC,OAAQZ,OAAaM,OAAOK,KAAKC,QAEnCE,OAAQ,CACN7E,KAAM+D,OAAaM,OAAOQ,OAAO7E,KACjC8E,gBAAiBf,OAAaM,OAAOQ,OAAOC,iBAE9CC,OAAQ,CACN/E,KAAM+D,OAAaM,OAAOU,OAAO/E,QAIvCuF,QAAS,GACTM,UAAW,CACTO,WAAU,SAAChB,GACTA,EAAMf,OAAOC,OAASc,EAAMf,OAAOC,MACnC/E,SAAS8G,gBAAgB/E,aAAa,MAAO8D,EAAMf,OAAOC,MAAQ,MAAQ,QAE5EgC,YAAW,SAAClB,EAAOb,GACjBa,EAAMf,OAAOE,KAAOA,EAGpB2B,aAAaK,QAAQ,aAAchC,GAGtB,SAATA,EAAiBhF,SAASiH,KAAKC,UAAUC,IAAI,eACxCnH,SAASiH,KAAKG,UAAUC,MAAM,gBAAgBrH,SAASiH,KAAKC,UAAUI,OAAO,gBAExFC,yBAAwB,SAAC1B,EAAOW,GAC9BX,EAAMf,OAAOG,iBAAmBuB,GAElCgB,mBAAkB,SAAC3B,EAAOW,GACxBX,EAAMf,OAAOrE,KAAO+F,GAEtBiB,qBAAoB,SAAC5B,EAAOW,GAC1BX,EAAMf,OAAOI,aAAesB,GAE9BkB,uBAAsB,SAAC7B,EAAOW,GAC5BX,EAAMf,OAAOK,KAAKC,OAASoB,GAE7BmB,qBAAoB,SAAC9B,EAAO+B,GAC1BhK,OAAOiK,OAAOhC,EAAMf,OAAOQ,OAAQsC,IAErCE,qBAAoB,SAACjC,EAAO+B,GAC1BhK,OAAOiK,OAAOhC,EAAMf,OAAOU,OAAQoC,KAGvClB,QAAS,KCxDI,GACbd,YAAY,EACZC,MAAO,CACLkC,wBAAyBvD,OAAaM,OAAOK,KAAKE,aAEpDW,QAAS,GACTM,UAAW,CACT0B,+BAA8B,SAACnC,EAAOW,GACpCX,EAAMkC,wBAA0BvB,IAGpCE,QAAS,I,oCCVI,GACXd,YAAY,EACZC,MAAO,CACHoC,cAAe,GACfC,UAAW,GACXC,QAAS,IAEbnC,QAAS,CACLoC,iBAAkB,SAACvC,GAAK,OAAKA,EAAMoC,eACnCI,aAAc,SAACxC,GAAK,OAAKA,EAAMqC,WAC/BI,WAAY,SAACzC,GAAK,OAAKA,EAAMsC,UAEjC7B,UAAW,CACPiC,iBAAgB,SAAC1C,EAAO2C,GAChBA,EAAQC,SACR5C,EAAMoC,cAAgBO,EAGtB3C,EAAMoC,cAAgB,IAG9BS,iBAAgB,SAAC7C,EAAO2C,GAEhB3C,EAAMqC,UADNM,GAGkB,IAG1BG,eAAc,SAAC9C,EAAO2C,GAEd3C,EAAMsC,QADNK,GAGgB,KAI5B9B,QAAS,CACLkC,OAAM,SAAAC,GAAa,IAAVC,EAAMD,EAANC,OACL,OAAO,IAAIpJ,SAAQ,SAACC,EAASC,GACzBmJ,OAASC,KAAK,kBAAoBrC,aAAaC,QAAQ,cAClDrF,MAAK,SAAA0H,GACFH,EAAO,mBAAoB,IAC3BnJ,EAAQsJ,MAEXC,OAAM,SAAAlH,GACHpC,EAAOoC,MACRmH,SAAQ,WACPxC,aAAayC,WAAWC,OAAOC,UAAUC,qBACzC5C,aAAayC,WAAWC,OAAOC,UAAUE,4BACzC7C,aAAayC,WAAW,YACxBzC,aAAayC,WAAW,aACxBzC,aAAayC,WAAW,kBAKxCK,eAAc,SAAAC,GAAa,IAAVZ,EAAMY,EAANZ,OAEb,OADA7E,QAAQ0F,IAAI,kBACL,IAAIjK,SAAQ,SAACC,EAASC,GAEzBmJ,OAAS9F,IAAI,qBACR1B,MAAK,SAAA0H,GAEFH,EAAO,mBAAoBG,EAAS9L,MACpCwC,EAAQsJ,MAEXC,OAAM,SAAAlH,GACHpC,EAAOoC,UAIvB4H,eAAc,SAAAC,GAAa,IAAVf,EAAMe,EAANf,OAEb,OADA7E,QAAQ0F,IAAI,kBACL,IAAIjK,SAAQ,SAACC,EAASC,GACzBmJ,OAAS9F,IAAI,yBACR1B,MAAK,SAAA0H,GACFH,EAAO,mBAAoBG,EAAS9L,KAAK2M,WACzChB,EAAO,iBAAkBG,EAAS9L,KAAK4M,SACvCpK,EAAQsJ,MAEXC,OAAM,SAAAlH,GACHpC,EAAOoC,Y,gIJpFzBgI,EAAU,gBACVC,EAAa,EACbC,EAAgB,UAChBC,EAAiB,WAIvB,SAASC,IACL,OAAO,IAAI1K,SAAQ,SAACC,EAASC,GACzB,GAAI+F,EACAhG,EAAQgG,OADZ,CAKA,IAAM9E,EAAUwJ,UAAUC,KAAKN,EAASC,GAExCpJ,EAAQF,QAAU,SAACC,GACfqD,QAAQjC,MAAM,2BAA4BpB,EAAME,OAAOkB,OACvDpC,EAAOgB,EAAME,OAAOkB,QAGxBnB,EAAQ0J,UAAY,SAAC3J,GACjB+E,EAAK/E,EAAME,OAAOtC,OAClBmB,EAAQgG,IAGZ9E,EAAQ2J,gBAAkB,SAAC5J,GACvB+E,EAAK/E,EAAME,OAAOtC,OACbmH,EAAG8E,iBAAiBC,SAASR,IAC9BvE,EAAGgF,kBAAkBT,EAAe,CAAEU,QAAS,SAE9CjF,EAAG8E,iBAAiBC,SAASP,IAC9BxE,EAAGgF,kBAAkBR,EAAgB,CAAES,QAAS,cAMhE,SAASC,IACDlF,IACAA,EAAGmF,QACHnF,EAAK,MAIb,SAASoF,EAAQC,EAAWC,GACxB,OAAO,IAAIvL,SAAQ,SAACC,EAASC,GACzBwK,IACK7I,MAAK,WACF,IAAM2J,EAAcvF,EAAGuF,YAAY,CAACF,GAAY,aAC1CG,EAAQD,EAAYE,YAAYJ,GAEhCK,EAAaF,EAAMlI,IAAIgI,EAAK/J,MAElCmK,EAAWd,UAAY,SAAC3J,GACpB,IAAM0K,EAAe1K,EAAME,OAAOtC,OAElC,GAAI8M,EAAc,CACd,IAAMC,EAAWC,8BAAA,GAAQF,GAAiBL,GACpCQ,EAAgBN,EAAMO,IAAIH,GAEhCE,EAAclB,UAAY,WACtB5K,KAGJ8L,EAAc9K,QAAU,SAACC,GACrBqD,QAAQjC,MAAM,uBAAwBpB,EAAME,OAAOkB,OACnDpC,EAAOgB,EAAME,OAAOkB,YAErB,CACH,IAAM2J,EAAaR,EAAMhE,IAAI8D,GAE7BU,EAAWpB,UAAY,WACnB5K,KAGJgM,EAAWhL,QAAU,SAACC,GAClBqD,QAAQjC,MAAM,qBAAsBpB,EAAME,OAAOkB,OACjDpC,EAAOgB,EAAME,OAAOkB,aAKnCkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SASvB,SAAS4J,EAAYZ,GACjB,OAAO,IAAItL,SAAQ,SAACC,EAASC,GACzBwK,IACK7I,MAAK,WACF,IAAM2J,EAAcvF,EAAGuF,YAAY,CAACF,GAAY,YAC1CG,EAAQD,EAAYE,YAAYJ,GAChCnK,EAAUsK,EAAMU,SAEtBhL,EAAQ0J,UAAY,SAAC3J,GACjBjB,EAAQiB,EAAME,OAAOtC,SAGzBqC,EAAQF,QAAU,SAACC,GACfqD,QAAQjC,MAAM,0BAA2BpB,EAAME,OAAOkB,OACtDpC,EAAOgB,EAAME,OAAOkB,WAG3BkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SAqDvB,SAAS8J,EAAWd,EAAWe,GAC3B,OAAO,IAAIrM,SAAQ,SAACC,EAASC,GACzBwK,IACK7I,MAAK,WACF,IAAM2J,EAAcvF,EAAGuF,YAAY,CAACF,GAAY,aAC1CG,EAAQD,EAAYE,YAAYJ,GAChCgB,EAAgBb,EAAMc,OAAOF,GAEnCC,EAAczB,UAAY,WACtB5K,KAGJqM,EAAcrL,QAAU,SAACC,GACrBqD,QAAQjC,MAAM,uBAAwBpB,EAAME,OAAOkB,OACnDpC,EAAOgB,EAAME,OAAOkB,WAG3BkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SKzLvB,IAII2D,EAJEqE,EAAU,iBACVC,EAAa,EACbiC,EAAa,QAInB,SAAS9B,IACL,OAAO,IAAI1K,SAAQ,SAACC,EAASC,GACzB,GAAI+F,EACAhG,EAAQgG,OADZ,CAKA,IAAM9E,EAAUwJ,UAAUC,KAAKN,EAASC,GAExCpJ,EAAQF,QAAU,SAACC,GACfqD,QAAQjC,MAAM,2BAA4BpB,EAAME,OAAOkB,OACvDpC,EAAOgB,EAAME,OAAOkB,QAGxBnB,EAAQ0J,UAAY,SAAC3J,GACjB+E,EAAK/E,EAAME,OAAOtC,OAClBmB,EAAQgG,IAGZ9E,EAAQ2J,gBAAkB,SAAC5J,GACvB+E,EAAK/E,EAAME,OAAOtC,OACbmH,EAAG8E,iBAAiBC,SAASwB,IAC9BvG,EAAGgF,kBAAkBuB,EAAY,CAAEtB,QAAS,CAAC,UAAW,eAMxE,SAASC,IACDlF,IACAA,EAAGmF,QACHnF,EAAK,MAIb,SAASwG,EAASlB,GACd,OAAO,IAAIvL,SAAQ,SAACC,EAASC,GACzBwK,IACK7I,MAAK,WACF,IAAM2J,EAAcvF,EAAGuF,YAAY,CAACgB,GAAa,aAC3Cf,EAAQD,EAAYE,YAAYc,GAEhCE,EAAc,CAACzF,aAAaC,QAAQ,WAAYqE,EAAK/J,MAErDmK,EAAaF,EAAMlI,IAAIoJ,YAAYC,KAAKF,IAE9Cf,EAAWd,UAAY,SAAC3J,GACpB,IAAM0K,EAAe1K,EAAME,OAAOtC,OAElC,GAAI8M,EAAc,CACd,IAAMC,EAAWC,8BAAA,GAAQF,GAAiBL,GACpCQ,EAAgBN,EAAMO,IAAIH,GAEhCE,EAAclB,UAAY,WACtB5K,KAGJ8L,EAAc9K,QAAU,SAACC,GACrBqD,QAAQjC,MAAM,uBAAwBpB,EAAME,OAAOkB,OACnDpC,EAAOgB,EAAME,OAAOkB,YAErB,CACH,IAAM2J,EAAaR,EAAMhE,IAAI8D,GAE7BU,EAAWpB,UAAY,WACnB5K,KAGJgM,EAAWhL,QAAU,SAACC,GAClBqD,QAAQjC,MAAM,qBAAsBpB,EAAME,OAAOkB,OACjDpC,EAAOgB,EAAME,OAAOkB,aAKnCkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SASvB,SAASuK,IACL,OAAO,IAAI7M,SAAQ,SAACC,EAASC,GACzBwK,IACK7I,MAAK,WACF,IAAM2J,EAAcvF,EAAGuF,YAAY,CAACgB,GAAa,YAC3Cf,EAAQD,EAAYE,YAAYc,GAChCrL,EAAUsK,EAAMU,SAEtBhL,EAAQ0J,UAAY,SAAC3J,GACjBjB,EAAQiB,EAAME,OAAOtC,SAGzBqC,EAAQF,QAAU,SAACC,GACfqD,QAAQjC,MAAM,0BAA2BpB,EAAME,OAAOkB,OACtDpC,EAAOgB,EAAME,OAAOkB,WAG3BkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SAwDvB,SAASwK,EAAatL,EAAM6I,GACxB,OAAO,IAAIrK,SAAQ,SAACC,EAASC,GACzBwK,IACK7I,MAAK,WACF,IAAM2J,EAAcvF,EAAGuF,YAAY,CAACgB,GAAa,aAC3Cf,EAAQD,EAAYE,YAAYc,GAChCE,EAAc,CAACrC,EAAS7I,GAExBL,EAAUsK,EAAMc,OAAOI,YAAYC,KAAKF,IAE9CvL,EAAQ0J,UAAY,WAChB5K,KAGJkB,EAAQF,QAAU,SAACC,GACfqD,QAAQjC,MAAM,gCAAiCpB,EAAME,OAAOkB,OAC5DpC,EAAOgB,EAAME,OAAOkB,WAG3BkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SAKvB,SAASyK,IACL,OAAO,IAAI/M,SAAQ,SAACC,EAASC,GACzBwK,IACK7I,MAAK,WACF,IAAM2J,EAAcvF,EAAGuF,YAAY,CAACgB,GAAa,YAC3Cf,EAAQD,EAAYE,YAAYc,GAChCrL,EAAUsK,EAAMuB,QAEtB7L,EAAQ0J,UAAY,SAAC3J,GACjBjB,EAAQiB,EAAME,OAAOtC,SAGzBqC,EAAQF,QAAU,SAACC,GACfqD,QAAQjC,MAAM,wBAAyBpB,EAAME,OAAOkB,OACpDpC,EAAOgB,EAAME,OAAOkB,WAG3BkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SC/MR,ICAX2D,EDAW,GACXC,YAAY,EACZC,MAAO,CACH8G,SAAU,GACVC,UAAW,GACXC,WAAY,GAEhB7G,QAAS,CACL8G,kBAAmB,SAACjH,GAAK,OAAKA,EAAM8G,SAAShP,OAAS,GACtDoP,mBAAoB,SAAClH,GAAK,OAAKA,EAAM+G,UAAUjP,OAAS,GACxDqP,WAAY,SAACnH,GAAK,OAAKA,EAAM8G,UAC7BM,YAAa,SAACpH,GAAK,OAAKA,EAAM+G,WAC9BM,QAAS,SAACrH,GAAK,OAAKA,EAAM+G,UAAUO,OAAOtH,EAAM8G,WACjDS,gBAAiB,SAACvH,GAAK,OAAK,SAAC3E,GACzB,OAAO2E,EAAM8G,SAASU,MAAK,SAACpC,GAAI,OAAKA,EAAK/J,OAASA,OAEvDoM,iBAAkB,SAACzH,GAAK,OAAK,SAAC3E,GAC1B,OAAO2E,EAAM+G,UAAUS,MAAK,SAACpC,GAAI,OAAKA,EAAK/J,OAASA,OAExDqM,aAAc,SAAC1H,GAAK,OAAK,SAAC3E,GACtB,IAAI+J,EAAOpF,EAAM8G,SAASU,MAAK,SAACpC,GAAI,OAAKA,EAAK/J,OAASA,KACvD,YAAYqB,GAAR0I,EACOpF,EAAM+G,UAAUS,MAAK,SAACpC,GAAI,OAAKA,EAAK/J,OAASA,KAC5C+J,IAEhBuC,cAAe,SAAC3H,GAAK,OAAK4H,SAAS5H,EAAMgH,cAE7CvG,UAAW,CACPoH,iBAAgB,SAAC7H,EAAO2C,GACpB3C,EAAM8G,SAAWnE,GAErBmF,kBAAiB,SAAC9H,EAAO2C,GACrB3C,EAAM+G,UAAYpE,GAEtBoF,mBAAkB,SAAC/H,EAAO2C,GACtB3C,EAAMgH,WAAarE,GAEvBqF,sBAAqB,SAAChI,GAClBA,EAAMgH,WAAahH,EAAMgH,WAAa,GAE1CiB,sBAAqB,SAACjI,GAClBA,EAAMgH,WAAahH,EAAMgH,WAAa,IAG9CnG,QAAS,CACCqH,yBAAwB,SAAAlF,GAAe,OAAAmF,eAAAC,iBAAAC,MAAA,SAAAC,IAAA,IAAAC,EAAAnF,EAAA,OAAAgF,iBAAAI,MAAA,SAAAC,GAAA,eAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACD,OADXJ,EAAQvF,EAARuF,SAC7BnK,QAAQ0F,IAAI,4BAA4B2E,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEbC,OAAMxL,IAAI,SAAW0D,aAAaC,QAAQ,mBAAkB,OACjD,GAD5BqC,EAAQqF,EAAAI,KACdzK,QAAQ0F,IAAIV,EAAS9L,KAAKQ,QACH,KAAnBsL,EAAS0F,OAAa,CAAAL,EAAAE,KAAA,cAClBvF,EAAS9L,KAAKQ,OAAS,GAAC,CAAA2Q,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,GAClBI,IAAqB,eAAAN,EAAAE,KAAA,GACrB9O,QAAQ+C,IAAIwG,EAAS9L,KAAK0R,IAAG,eAAAnF,EAAAsE,eAAAC,iBAAAC,MAAC,SAAAY,EAAOC,GAAO,OAAAd,iBAAAI,MAAA,SAAAW,GAAA,eAAAA,EAAAT,KAAAS,EAAAR,MAAA,UAC1B,OAAhBO,EAAQtO,KAAa,CAAAuO,EAAAR,KAAA,eAAAQ,EAAAR,KAAA,EACfI,EAAeA,EAAsBG,GAAQ,OACnDpI,aAAaK,QAAQ,iBAAkB+H,EAAQE,WAAWD,EAAAR,KAAA,sBAAAQ,EAAAR,KAAA,EAEpDI,EAAeA,EAAuBG,GAAQ,OACpDpI,aAAaK,QAAQ,iBAAkB+H,EAAQE,WAAW,wBAAAD,EAAAE,UAAAJ,OAEjE,gBAAAK,GAAA,OAAAzF,EAAApL,MAAA,KAAA8Q,YARkC,KAQhC,eAAAd,EAAAE,KAAA,GAGLJ,EAAS,wBAAuB,eAAAE,EAAAE,KAAA,GAChCJ,EAAS,yBAAwB,QACvCQ,IAAuBN,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAe,GAAAf,EAAA,YAEvBrK,QAAQjC,MAAKsM,EAAAe,IAAQ,yBAAAf,EAAAY,UAAAf,EAAA,kBAvBgBH,IA2BvCsB,yCAAwC,SAAAzF,EAAe0F,GAAgB,OAAAvB,eAAAC,iBAAAC,MAAA,SAAAsB,IAAA,IAAApB,EAAAnF,EAAAwG,EAAAC,EAAA,OAAAzB,iBAAAI,MAAA,SAAAsB,GAAA,eAAAA,EAAApB,KAAAoB,EAAAnB,MAAA,OACjC,OADKJ,EAAQvE,EAARuE,SAC7CnK,QAAQ0F,IAAI,4BAA4BgG,EAAApB,KAAA,EAAAoB,EAAAnB,KAAA,EAEbC,OAAMxL,IAAI,SAAW0D,aAAaC,QAAQ,mBAAkB,OACjD,GAD5BqC,EAAQ0G,EAAAjB,KACdzK,QAAQ0F,IAAIV,EAAS9L,KAAKQ,QACH,KAAnBsL,EAAS0F,OAAa,CAAAgB,EAAAnB,KAAA,cAClBvF,EAAS9L,KAAKQ,OAAS,GAAC,CAAAgS,EAAAnB,KAAA,gBAAAmB,EAAAnB,KAAA,GAClBI,IAAqB,QAEL,OADlBa,EAAaxG,EAAS9L,KAAKQ,OAC3B+R,EAAiB,EAACC,EAAAnB,KAAA,GAChB9O,QAAQ+C,IAAIwG,EAAS9L,KAAK0R,IAAG,eAAAe,EAAA5B,eAAAC,iBAAAC,MAAC,SAAA2B,EAAOd,GAAO,OAAAd,iBAAAI,MAAA,SAAAyB,GAAA,eAAAA,EAAAvB,KAAAuB,EAAAtB,MAAA,UAC1B,OAAhBO,EAAQtO,KAAa,CAAAqP,EAAAtB,KAAA,eAAAsB,EAAAtB,KAAA,EACfI,EAAeA,EAAsBG,GAAQ,OAAAe,EAAAtB,KAAA,sBAAAsB,EAAAtB,KAAA,EAE7CI,EAAeA,EAAuBG,GAAQ,OAExDW,IACAH,EAAgBG,EAAiBD,EAAc,KAC/C9I,aAAaK,QAAQ,iBAAkB+H,EAAQE,WAAW,yBAAAa,EAAAZ,UAAAW,OAC7D,gBAAAE,GAAA,OAAAH,EAAAtR,MAAA,KAAA8Q,YATkC,KAShC,eAAAO,EAAAnB,KAAA,GAGLJ,EAAS,wBAAuB,eAAAuB,EAAAnB,KAAA,GAChCJ,EAAS,yBAAwB,QACvCQ,IAAuBe,EAAAnB,KAAA,iBAAAmB,EAAApB,KAAA,GAAAoB,EAAAN,GAAAM,EAAA,YAEvB1L,QAAQjC,MAAK2N,EAAAN,IAAQ,yBAAAM,EAAAT,UAAAM,EAAA,kBA1BgDxB,IA8BvEgC,oBAAmB,WAAG,OAAAhC,eAAAC,iBAAAC,MAAA,SAAA+B,IAAA,IAAAC,EAAAC,EAAAC,EAAAnH,EAAAoH,EAAA,OAAApC,iBAAAI,MAAA,SAAAiC,GAAA,eAAAA,EAAA/B,KAAA+B,EAAA9B,MAAA,OAQpB,GAPJvK,QAAQ0F,IAAI,uBAAuB2G,EAAA/B,KAAA,EAGzB2B,EAAevJ,aAAaC,QAAQ,mBACpCuJ,EAAgBD,EAAe,IAAIK,KAAKL,GAAcM,WAAa,KACnEJ,GAAe,IAAIG,MAAOC,WAGV,OAAlBL,GAA0BA,IAAkBC,EAAY,CAAAE,EAAA9B,KAAA,gBAAA8B,EAAA9B,KAAA,EAEjCC,OAAMxL,IAAI,iBAAgB,OAA3CgG,EAAQqH,EAAA5B,KAEdzF,EAAS9L,KAAKsT,QAAO,eAAAC,EAAA1C,eAAAC,iBAAAC,MAAC,SAAAyC,EAAM5B,GAAO,OAAAd,iBAAAI,MAAA,SAAAuC,GAAA,eAAAA,EAAArC,KAAAqC,EAAApC,MAAA,cAAAoC,EAAApC,KAAA,EACzBI,EAAkBA,EAAsBG,GAAQ,cAAA6B,EAAApC,KAAA,EAChDI,EAAkBA,EAAuBG,GAAQ,wBAAA6B,EAAA1B,UAAAyB,OAC1D,gBAAAE,GAAA,OAAAH,EAAApS,MAAA,KAAA8Q,YAHoB,IAOfiB,GAAQ,IAAIE,MAAOO,cAAczM,MAAM,EAAG,IAChDsC,aAAaK,QAAQ,kBAAmBqJ,GAAO,QAAAC,EAAA9B,KAAA,iBAAA8B,EAAA/B,KAAA,GAAA+B,EAAAjB,GAAAiB,EAAA,YAInDrM,QAAQjC,MAAKsO,EAAAjB,IAAQ,yBAAAiB,EAAApB,UAAAe,EAAA,kBAzBDjC,IA6BtB+C,+BAA8B,SAAAC,GAAe,OAAAhD,eAAAC,iBAAAC,MAAA,SAAA+C,IAAA,IAAA7C,EAAAnF,EAAA,OAAAgF,iBAAAI,MAAA,SAAA6C,GAAA,eAAAA,EAAA3C,KAAA2C,EAAA1C,MAAA,OACD,OADXJ,EAAQ4C,EAAR5C,SACnCnK,QAAQ0F,IAAI,kCAAkCuH,EAAA3C,KAAA,EAAA2C,EAAA1C,KAAA,EAEnBC,OAAMxL,IAAI,kBAAoB0D,aAAaC,QAAQ,mBAAkB,OAC1D,GAD5BqC,EAAQiI,EAAAxC,KACdzK,QAAQ0F,IAAIV,EAAS9L,KAAKQ,QACH,KAAnBsL,EAAS0F,OAAa,CAAAuC,EAAA1C,KAAA,cAClBvF,EAAS9L,KAAKQ,OAAS,GAAC,CAAAuT,EAAA1C,KAAA,gBAAA0C,EAAA1C,KAAA,GAClBI,IAAqB,eAAAsC,EAAA1C,KAAA,GACrB9O,QAAQ+C,IAAIwG,EAAS9L,KAAK0R,IAAG,eAAAsC,EAAAnD,eAAAC,iBAAAC,MAAC,SAAAkD,EAAOrC,GAAO,OAAAd,iBAAAI,MAAA,SAAAgD,GAAA,eAAAA,EAAA9C,KAAA8C,EAAA7C,MAAA,UAC1B,OAAhBO,EAAQtO,KAAa,CAAA4Q,EAAA7C,KAAA,eAAA6C,EAAA7C,KAAA,EACfI,EAAeA,EAAsBG,GAAQ,OACnDpI,aAAaK,QAAQ,iBAAkB+H,EAAQE,WAAWoC,EAAA7C,KAAA,sBAAA6C,EAAA7C,KAAA,EAEpDI,EAAeA,EAAuBG,GAAQ,OACpDpI,aAAaK,QAAQ,iBAAkB+H,EAAQE,WAAW,wBAAAoC,EAAAnC,UAAAkC,OAEjE,gBAAAE,GAAA,OAAAH,EAAA7S,MAAA,KAAA8Q,YARkC,KAQhC,eAAA8B,EAAA1C,KAAA,GAGLJ,EAAS,wBAAuB,eAAA8C,EAAA1C,KAAA,GAChCJ,EAAS,yBAAwB,QACvCQ,IAAuBsC,EAAA1C,KAAA,iBAAA0C,EAAA3C,KAAA,GAAA2C,EAAA7B,GAAA6B,EAAA,YAEvBjN,QAAQjC,MAAKkP,EAAA7B,IAAQ,yBAAA6B,EAAAhC,UAAA+B,EAAA,kBAvBsBjD,IA2B7CuD,qBAAoB,SAAAC,GAAa,OAAAxD,eAAAC,iBAAAC,MAAA,SAAAuD,IAAA,IAAA3I,EAAA4I,EAAA,OAAAzD,iBAAAI,MAAA,SAAAsD,GAAA,eAAAA,EAAApD,KAAAoD,EAAAnD,MAAA,OACC,OADX1F,EAAM0I,EAAN1I,OACzB7E,QAAQ0F,IAAI,wBAAwBgI,EAAAnD,KAAA,EAClBI,EAAmBA,GAAqB,OAAtD8C,EAAKC,EAAAjD,KACT5F,EAAO,mBAAoB4I,GAAO,wBAAAC,EAAAzC,UAAAuC,MAHCzD,IAKjC4D,sBAAqB,SAAAC,GAAa,OAAA7D,eAAAC,iBAAAC,MAAA,SAAA4D,IAAA,IAAAhJ,EAAA4I,EAAA,OAAAzD,iBAAAI,MAAA,SAAA0D,GAAA,eAAAA,EAAAxD,KAAAwD,EAAAvD,MAAA,OACC,OADX1F,EAAM+I,EAAN/I,OAC1B7E,QAAQ0F,IAAI,yBAAyBoI,EAAAvD,KAAA,EACnBI,EAAmBA,GAAsB,OAAvD8C,EAAKK,EAAArD,KACT5F,EAAO,oBAAqB4I,GAAO,wBAAAK,EAAA7C,UAAA4C,MAHC9D,IAMxCgE,cAAa,SAAAC,EAAezJ,GAAS,IAArB4F,EAAQ6D,EAAR7D,SACZ,OAAO,IAAI1O,SAAQ,SAACC,EAASC,GACzB6O,OAAMxL,IAAI,mBAAqBuF,EAAQtH,KAAO,IAAMuM,SAASjF,EAAQ0J,MAAM3Q,MAAK,SAAA4Q,GAE5E,GAAmB,KAAfA,EAAKxD,OACL,GAAwB,KAApBwD,EAAKhV,KAAKwR,OAAe,CACzB,IAAIyD,EAAYD,EAAKhV,KAAKqB,OACtB6T,EAAa,CACbC,MAAO,GACPC,KAAM,GACNC,KAAM,GACNC,QAAS,GACTC,UAAW,GACXC,MAAO,GACPC,UAAW,GACXC,aAAc,GACdC,UAAW,GACXC,IAAK,IAOT,GALAV,EAAWM,MAAQP,EAAUY,WAC7BX,EAAWO,UAAYR,EAAUa,oBACjCZ,EAAWQ,aAAeT,EAAUc,aACpCb,EAAWS,UAAYV,EAAUe,UACjCd,EAAWU,IAAMX,EAAUgB,IACvBhB,EAAUiB,kBACN7K,EAAQ0J,KAAOzE,SAAS2E,EAAUkB,0BAA4B9K,EAAQ0J,KAAOzE,SAAS2E,EAAUmB,qBAChGlB,EAAWC,MAAQ,oBACnBD,EAAWE,KAAO,YAClBF,EAAWI,QAAU,YAErBJ,EAAWC,MAAQ,0BACnBD,EAAWE,KAAO,eAClBF,EAAWG,KAAO,2CAA6CJ,EAAUoB,YAAc,IACvFnB,EAAWI,QAAU,eAGzB,GAAIhF,SAAS2E,EAAUmB,qBAAuB,EAC1ClB,EAAWC,MAAQ,0BACnBD,EAAWE,KAAO,eAClBF,EAAWG,KAAO,2CAA6CJ,EAAUoB,YAAc,IACvFnB,EAAWI,QAAU,cAClB,GAAIjK,EAAQ0J,IAAMzE,SAAS2E,EAAUmB,oBACxClB,EAAWC,MAAQ,sBACnBD,EAAWE,KAAO,mBAClBF,EAAWG,KAAO,iEAAmEJ,EAAUoB,YAAc,IAC7GnB,EAAWI,QAAU,cAClB,GAAIL,EAAUqB,oBAAsB,EACvC,GAAIhG,SAAS2E,EAAUsB,iBAAmBlL,EAAQ0J,IAC9CG,EAAWC,MAAQ,cACnBD,EAAWE,KAAO,WAClBF,EAAWG,KAAO,4CACdhK,EAAQ0J,IACR,oEACAE,EAAUsB,gBACV,OACAtB,EAAUuB,eACdtB,EAAWI,QAAU,OACrBJ,EAAWK,UAAYN,EAAUsB,gBAAkB,OAAStB,EAAUuB,mBACnE,CACH,IAAIC,EAAkBpL,EAAQ0J,IAAME,EAAUsB,gBAAmBtB,EAAUuB,eACvEC,EAAiBxB,EAAUqB,sBAC3BG,EAAiBxB,EAAUqB,qBAE/BpB,EAAWC,MAAQ,cACnBD,EAAWE,KAAO,WAClBF,EAAWG,KAAO,0BAA4BqB,KAAKC,MAAMF,GACrD,2BAA6BxB,EAAUsB,gBACvC,OAAStB,EAAUuB,eAAiB,IACxCtB,EAAWI,QAAU,OACrBJ,EAAWK,UAAY,IAAMmB,KAAKC,MAAMF,QAG5CvB,EAAWC,MAAQ,oBACnBD,EAAWE,KAAO,YAElBF,EAAWI,QAAU,UAG7BrE,EAAS,aAAc,CAAEiE,WAAYA,EAAYpH,KAAMzC,IACvD7I,EAAQ0S,QAERzS,EAAO,CACH0S,MAAO,oCACPE,KAAML,EAAKhV,KAAK6E,MAChBuQ,KAAM,eACNE,QAAS,gBAIjB7S,EAAOuS,EAAKhV,KAAK6E,UAEtBkH,OAAM,SAAAlH,GACLiC,QAAQ0F,IAAI3H,GACZpC,EAAOoC,UAKb+R,WAAU,SAAAC,EAAepM,GAAK,OAAAoG,eAAAC,iBAAAC,MAAA,SAAA+F,IAAA,IAAA7F,EAAA,OAAAH,iBAAAI,MAAA,SAAA6F,GAAA,eAAAA,EAAA3F,KAAA2F,EAAA1F,MAAA,OAasB,OAbvCJ,EAAQ4F,EAAR5F,SAGfxG,EAAIqD,KAAK,UAAY,CAAC,UAAW,UAAUkJ,SAASvM,EAAIyK,WAAWI,SACnE7K,EAAIqD,KAAK,aAAerD,EAAIyK,WAAWK,UACvC9K,EAAIqD,KAAK,SAAWrD,EAAIyK,WAAWM,MAEnC/K,EAAIqD,KAAK,aAAerD,EAAIyK,WAAWO,UAEvChL,EAAIqD,KAAK,gBAAkBrD,EAAIyK,WAAWQ,aAC1CjL,EAAIqD,KAAK,OAASrD,EAAIyK,WAAWU,IACjCnL,EAAIqD,KAAK,aAAerD,EAAIyK,WAAWS,UAEvClL,EAAIqD,KAAK,WAAatE,aAAaC,QAAQ,WAAWsN,EAAA1F,KAAA,GAChD4F,IAAsB,eAAAF,EAAA1F,KAAA,GACtB4F,EAAiBxM,EAAIqD,MAAK,eAAAiJ,EAAA1F,KAAA,GAC1B4F,IAAuB,QAG7BhG,EAAS,qBACT,yBAAA8F,EAAAhF,UAAA+E,MApBgCjG,IAuB9BqG,YAAW,SAAAC,EAAe1M,GAAK,OAAAoG,eAAAC,iBAAAC,MAAA,SAAAqG,IAAA,IAAAnG,EAAA,OAAAH,iBAAAI,MAAA,SAAAmG,GAAA,eAAAA,EAAAjG,KAAAiG,EAAAhG,MAAA,OACgB,OADjCJ,EAAQkG,EAARlG,SAChBxG,EAAI,WAAajB,aAAaC,QAAQ,WAAW4N,EAAAhG,KAAA,EAC3C4F,IAAsB,cAAAI,EAAAhG,KAAA,EACtB4F,EAAiBxM,GAAI,cAAA4M,EAAAhG,KAAA,EACrB4F,IAAuB,OAC7BhG,EAAS,qBAAqB,wBAAAoG,EAAAtF,UAAAqF,MALGvG,IAQ/ByG,aAAY,WAAG,OAAAzG,eAAAC,iBAAAC,MAAA,SAAAwG,IAAA,IAAAC,EAAA,OAAA1G,iBAAAI,MAAA,SAAAuG,GAAA,eAAAA,EAAArG,KAAAqG,EAAApG,MAAA,cAAAoG,EAAApG,KAAA,EACX4F,IAAsB,cAAAQ,EAAApG,KAAA,EACT4F,IAAsB,OAA/B,OAANO,EAAMC,EAAAlG,KAAAkG,EAAApG,KAAG,EACP4F,IAAuB,cAAAQ,EAAAC,OAAA,SACtBF,EAAOG,QAAO,SAAA7J,GAAI,OAAIA,EAAKlB,SAAWpD,aAAaC,QAAQ,eAAW,wBAAAgO,EAAA1F,UAAAwF,MAJ5D1G,IAOf+G,kBAAiB,SAAAC,EAAe9T,GAAM,OAAA8M,eAAAC,iBAAAC,MAAA,SAAA+G,IAAA,IAAA7G,EAAA,OAAAH,iBAAAI,MAAA,SAAA6G,GAAA,eAAAA,EAAA3G,KAAA2G,EAAA1G,MAAA,OAAV,OAARJ,EAAQ4G,EAAR5G,SAAQ8G,EAAA1G,KAAA,EACxB4F,IAAsB,cAAAc,EAAA1G,KAAA,EACtB4F,EAAqBlT,EAAMyF,aAAaC,QAAQ,YAAW,cAAAsO,EAAA1G,KAAA,EAC3D4F,IAAuB,OAE7BhG,EAAS,qBAAqB,wBAAA8G,EAAAhG,UAAA+F,MALUjH,IAQtCmH,kBAAiB,SAAAC,GAAa,OAAApH,eAAAC,iBAAAC,MAAA,SAAAmH,IAAA,IAAAvM,EAAA4D,EAAA,OAAAuB,iBAAAI,MAAA,SAAAiH,GAAA,eAAAA,EAAA/G,KAAA+G,EAAA9G,MAAA,OAAJ,OAAN1F,EAAMsM,EAANtM,OAAMwM,EAAA9G,KAAA,EACV4F,IAAuB,OAArC1H,EAAK4I,EAAA5G,KACT5F,EAAO,qBAAsB4D,GAAO,wBAAA4I,EAAApG,UAAAmG,MAFJrH,MC9TtChE,G,8BAAU,mBACVC,EAAa,EACbsL,EAAqB,eACrBC,EAAmB,aAIzB,SAASpL,IACL,OAAO,IAAI1K,SAAQ,SAACC,EAASC,GACzB,GAAI+F,EACAhG,EAAQgG,OADZ,CAKA,IAAM9E,EAAUwJ,UAAUC,KAAKN,EAASC,GAExCpJ,EAAQF,QAAU,SAACC,GACfqD,QAAQjC,MAAM,2BAA4BpB,EAAME,OAAOkB,OACvDpC,EAAOgB,EAAME,OAAOkB,QAGxBnB,EAAQ0J,UAAY,SAAC3J,GACjB+E,EAAK/E,EAAME,OAAOtC,OAClBmB,EAAQgG,IAGZ9E,EAAQ2J,gBAAkB,SAAC5J,GAKvB,GAJA+E,EAAK/E,EAAME,OAAOtC,OACbmH,EAAG8E,iBAAiBC,SAAS6K,IAC9B5P,EAAGgF,kBAAkB4K,EAAoB,CAAE3K,QAAS,KAAM6K,eAAe,KAExE9P,EAAG8E,iBAAiBC,SAAS8K,GAAmB,CACjD,IAAME,EAAY/P,EAAGgF,kBAAkB6K,EAAkB,CAAE5K,QAAS,CAAC,OAAQ,oBAC7E8K,EAAUC,YAAY,iBAAkB,iBAAkB,CAAEC,QAAQ,UAMpF,SAAS/K,IACDlF,IACAA,EAAGmF,QACHnF,EAAK,MAIb,SAASkQ,EAAgB5K,GACrB,OAAO,IAAIvL,SAAQ,SAACC,EAASC,GACzBwK,IACK7I,MAAK,WACF,IAAM2J,EAAcvF,EAAGuF,YAAY,CAACqK,GAAqB,aACnDpK,EAAQD,EAAYE,YAAYmK,GAChC5J,EAAaR,EAAMhE,IAAI8D,GAC7BU,EAAWpB,UAAY,SAAC3J,GACpB,IAAMkV,EAAWlV,EAAME,OAAOtC,OAC9BmB,EAAQmW,IAEZnK,EAAWhL,QAAU,SAACC,GAClBqD,QAAQjC,MAAM,qBAAsBpB,EAAME,OAAOkB,OACjDpC,EAAOgB,EAAME,OAAOkB,WAG3BkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SAKvB,SAAS+T,EAAc9K,GACnB,OAAO,IAAIvL,SAAQ,SAACC,EAASC,GACzBwK,IACK7I,MAAK,WACF,IAAM2J,EAAcvF,EAAGuF,YAAY,CAACsK,GAAmB,aACjDrK,EAAQD,EAAYE,YAAYoK,GAEhC7R,EAAM,CAACsH,EAAK/J,KAAM+J,EAAK+K,gBACvB3K,EAAaF,EAAMlI,IAAIU,GAE7B0H,EAAWd,UAAY,SAAC3J,GACpB,IAAM0K,EAAe1K,EAAME,OAAOtC,OAElC,GAAI8M,EAAc,CACd,IAAMC,EAAWC,8BAAA,GAAQF,GAAiBL,GACpCQ,EAAgBN,EAAMO,IAAIH,GAEhCE,EAAclB,UAAY,WACtB5K,KAGJ8L,EAAc9K,QAAU,SAACC,GACrBqD,QAAQjC,MAAM,uBAAwBpB,EAAME,OAAOkB,OACnDpC,EAAOgB,EAAME,OAAOkB,YAErB,CACH,IAAM2J,EAAaR,EAAMhE,IAAI8D,GAE7BU,EAAWpB,UAAY,WACnB5K,KAGJgM,EAAWhL,QAAU,SAACC,GAClBqD,QAAQjC,MAAM,qBAAsBpB,EAAME,OAAOkB,OACjDpC,EAAOgB,EAAME,OAAOkB,aAKnCkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SAKvB,SAASiU,IACL,OAAO,IAAIvW,SAAQ,SAACC,EAASC,GACzBwK,IACK7I,MAAK,WACF,IAAM2J,EAAcvF,EAAGuF,YAAY,CAACqK,GAAqB,YACnDpK,EAAQD,EAAYE,YAAYmK,GAChC1U,EAAUsK,EAAMU,SAEtBhL,EAAQ0J,UAAY,SAAC3J,GACjBjB,EAAQiB,EAAME,OAAOtC,SAGzBqC,EAAQF,QAAU,SAACC,GACfqD,QAAQjC,MAAM,0BAA2BpB,EAAME,OAAOkB,OACtDpC,EAAOgB,EAAME,OAAOkB,WAG3BkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SAKvB,SAASkU,EAAkBF,GACvB,OAAO,IAAItW,SAAQ,SAACC,EAASC,GACzBwK,IACK7I,MAAK,WACF,IAAM2J,EAAcvF,EAAGuF,YAAY,CAACsK,GAAmB,YACjDrK,EAAQD,EAAYE,YAAYoK,GAEhCW,EAAQhL,EAAMgL,MAAM,kBACpBC,EAAQ/J,YAAYC,KAAK0J,GACzBnV,EAAUsV,EAAMtK,OAAOuK,GAE7BvV,EAAQ0J,UAAY,SAAC3J,GACjBjB,EAAQiB,EAAME,OAAOtC,SAGzBqC,EAAQF,QAAU,SAACC,GACfqD,QAAQjC,MAAM,0BAA2BpB,EAAME,OAAOkB,OACtDpC,EAAOgB,EAAME,OAAOkB,WAG3BkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SAKvB,SAASqU,EAAiBnV,EAAM8U,GAC5B,OAAO,IAAItW,SAAQ,SAACC,EAASC,GACzBwK,IACK7I,MAAK,SAACoE,GACH,IAAMuF,EAAcvF,EAAGuF,YAAY,CAACsK,GAAmB,aACjDrK,EAAQD,EAAYE,YAAYoK,GAGhC7R,EAAM,CAACzC,EAAM8U,GACbhK,EAAgBb,EAAMc,OAAOtI,GAEnCqI,EAAczB,UAAY,WACtB5K,KAGJqM,EAAcrL,QAAU,SAACC,GACrBqD,QAAQjC,MAAM,uBAAwBpB,EAAME,OAAOkB,OACnDpC,EAAOgB,EAAME,OAAOkB,WAG3BkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SAKvB,SAASsU,EAA2BN,GAChC,OAAO,IAAItW,SAAQ,SAACC,EAASC,GACzBwK,IACK7I,MAAK,SAACoE,GACH,IAAMuF,EAAcvF,EAAGuF,YAAY,CAACqK,EAAoBC,GAAmB,aACrEe,EAAcrL,EAAYE,YAAYmK,GACtCG,EAAYxK,EAAYE,YAAYoK,GAEpCgB,EAAad,EAAUS,MAAM,kBAC7BM,EAAapK,YAAYC,KAAK0J,GAC9BU,EAAqBF,EAAWG,WAAWF,GAEjDC,EAAmBnM,UAAY,SAAC3J,GAC5B,IAAMgW,EAAShW,EAAME,OAAOtC,OAE5B,GAAIoY,EACAA,EAAO3K,SACP2K,EAAOC,eACJ,CACH,IAAMC,EAAsBP,EAAYtK,OAAO+J,GAE/Cc,EAAoBvM,UAAY,WAC5B5K,KAGJmX,EAAoBnW,QAAU,SAACC,GAC3BqD,QAAQjC,MAAM,yBAA0BpB,EAAME,OAAOkB,OACrDpC,EAAOgB,EAAME,OAAOkB,UAKhC0U,EAAmB/V,QAAU,SAACC,GAC1BqD,QAAQjC,MAAM,wBAAyBpB,EAAME,OAAOkB,OACpDpC,EAAOgB,EAAME,OAAOkB,WAG3BkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SCtOR,ICEX2D,EDFW,GACXC,YAAY,EACZC,MAAO,CACHkR,cAAe,GACfC,mBAAoB,GAExBhR,QAAS,CACLiR,iBAAkB,SAACpR,GAAK,OAAKA,EAAMkR,cAAcG,WACjDC,sBAAuB,SAACtR,GAAK,OAAK4H,SAAS5H,EAAMmR,sBAErD1Q,UAAW,CACP8Q,qBAAoB,SAACvR,EAAO2C,GACxB3C,EAAMkR,cAAgBvO,GAE1BoF,mBAAkB,SAAC/H,EAAO2C,GACtB3C,EAAMmR,mBAAqBxO,GAE/BqF,sBAAqB,SAAChI,GAClBA,EAAMmR,mBAAqBnR,EAAMmR,mBAAqB,GAE1DlJ,sBAAqB,SAACjI,GAClBA,EAAMmR,mBAAqBnR,EAAMmR,mBAAqB,IAG9DtQ,QAAS,CAEC2Q,oBAAmB,SAAAxO,GAAa,OAAAmF,eAAAC,iBAAAC,MAAA,SAAAY,IAAA,IAAAhG,EAAAwO,EAAA,OAAArJ,iBAAAI,MAAA,SAAAW,GAAA,eAAAA,EAAAT,KAAAS,EAAAR,MAAA,OAAJ,OAAN1F,EAAMD,EAANC,OAAMkG,EAAAR,KAAA,EACxB+I,IAAuB,cAAAvI,EAAAR,KAAA,EACT+I,IAA8B,OAA9CD,EAAOtI,EAAAN,KACX5F,EAAO,uBAAwBwO,GAC/BC,IAAyB,wBAAAvI,EAAAE,UAAAJ,MAJSd,IAMhCwJ,kBAAiB,SAAA9N,EAA4B+N,GAAY,OAAAzJ,eAAAC,iBAAAC,MAAA,SAAAC,IAAA,IAAAC,EAAAsJ,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAApC,EAAA,OAAA7H,iBAAAI,MAAA,SAAAC,GAAA,eAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAAhB,OAArBJ,EAAQ1E,EAAR0E,SAAUsJ,EAAWhO,EAAXgO,YAAWpJ,EAAAE,KAAA,EACrC+I,IAAuB,OAQmD,OAP1EI,EAAM,IAAIpH,KACVqH,EAAMO,OAAOR,EAAIS,WAAWC,SAAS,EAAG,KACxCR,EAAQM,OAAOR,EAAInH,WAAa,GAAG6H,SAAS,EAAG,KAC/CP,EAAOH,EAAIW,cACXP,EAAQI,OAAOR,EAAIY,YAAYF,SAAS,EAAG,KAC3CL,EAAUG,OAAOR,EAAIa,cAAcH,SAAS,EAAG,KAC/CJ,EAAUE,OAAOR,EAAIc,cAAcJ,SAAS,EAAG,KAC/CH,EAAoB,GAAH/K,OAAMyK,EAAG,KAAAzK,OAAI0K,EAAK,KAAA1K,OAAI2K,EAAI,KAAA3K,OAAI4K,EAAK,KAAA5K,OAAI6K,EAAO,KAAA7K,OAAI8K,GAAO3J,EAAAE,KAAA,GAC3D+I,EAAyB,CAAEjV,UAAoBC,GAAdkV,EAA0BC,EAAY,2BAA2BgB,YAAcjB,EAAYkB,KAAMT,IAAoB,QAA/J,OAARpC,EAAQxH,EAAAI,KAAAJ,EAAAE,KAAG,GACT+I,IAAwB,QACE,OAAhCnJ,EAAS,uBAAuBE,EAAAuG,OAAA,SACzBiB,GAAQ,yBAAAxH,EAAAY,UAAAf,MAb4CH,IAezD4K,gBAAe,SAACC,EAAG5N,GAAM,OAAA+C,eAAAC,iBAAAC,MAAA,SAAA2B,IAAA,OAAA5B,iBAAAI,MAAA,SAAAyB,GAAA,eAAAA,EAAAvB,KAAAuB,EAAAtB,MAAA,cAAAsB,EAAAtB,KAAA,EACrB+I,IAAuB,cAAAzH,EAAAtB,KAAA,EACvB+I,EAAuBtM,GAAK,cAAA6E,EAAAtB,KAAA,EAC5B+I,IAAwB,wBAAAzH,EAAAZ,UAAAW,MAHH7B,IAKzB8K,iBAAgB,SAACD,EAAG7C,GAAgB,OAAAhI,eAAAC,iBAAAC,MAAA,SAAAsB,IAAA,IAAAuJ,EAAA,OAAA9K,iBAAAI,MAAA,SAAAsB,GAAA,eAAAA,EAAApB,KAAAoB,EAAAnB,MAAA,cAAAmB,EAAAnB,KAAA,EAChC+I,IAAuB,cAAA5H,EAAAnB,KAAA,EACX+I,EAA2BvB,GAAe,OAAnD,OAAL+C,EAAKpJ,EAAAjB,KAAAiB,EAAAnB,KAAG,EACN+I,IAAwB,cAAA5H,EAAAkF,OAAA,SACvBkE,GAAK,wBAAApJ,EAAAT,UAAAM,MAJ0BxB,IAMpCgL,mBAAkB,SAACH,EAAGI,GAAM,OAAAjL,eAAAC,iBAAAC,MAAA,SAAAyC,IAAA,OAAA1C,iBAAAI,MAAA,SAAAuC,GAAA,eAAAA,EAAArC,KAAAqC,EAAApC,MAAA,cAAAoC,EAAApC,KAAA,EACxB+I,IAAuB,cAAA3G,EAAApC,KAAA,EACvB+I,EAA0B0B,EAAK/X,KAAM+X,EAAKjD,gBAAe,cAAApF,EAAApC,KAAA,EACzD+I,IAAwB,wBAAA3G,EAAA1B,UAAAyB,MAHA3C,IAK5BkL,qBAAoB,SAAArP,EAAemM,GAAgB,OAAAhI,eAAAC,iBAAAC,MAAA,SAAA+B,IAAA,IAAA7B,EAAA,OAAAH,iBAAAI,MAAA,SAAAiC,GAAA,eAAAA,EAAA/B,KAAA+B,EAAA9B,MAAA,OAApB,OAARJ,EAAQvE,EAARuE,SAAQkC,EAAA9B,KAAA,EAC3B+I,IAAuB,cAAAjH,EAAA9B,KAAA,EACvB+I,EAAoCvB,GAAe,cAAA1F,EAAA9B,KAAA,EACnDJ,EAAS,uBAAsB,cAAAkC,EAAA9B,KAAA,EAC/B+I,IAAwB,wBAAAjH,EAAApB,UAAAe,MAJuBjC,MCjE3DhE,EAAU,oBACVC,EAAa,EACbkP,EAAe,WAIrB,SAAS/O,KACL,OAAO,IAAI1K,SAAQ,SAACC,EAASC,GACzB,GAAI+F,EACAhG,EAAQgG,OADZ,CAKA,IAAM9E,EAAUwJ,UAAUC,KAAKN,EAASC,GAExCpJ,EAAQF,QAAU,SAACC,GACfqD,QAAQjC,MAAM,2BAA4BpB,EAAME,OAAOkB,OACvDpC,EAAOgB,EAAME,OAAOkB,QAGxBnB,EAAQ0J,UAAY,SAAC3J,GACjB+E,EAAK/E,EAAME,OAAOtC,OAClBmB,EAAQgG,IAGZ9E,EAAQ2J,gBAAkB,SAAC5J,GACvB+E,EAAK/E,EAAME,OAAOtC,OACbmH,EAAG8E,iBAAiBC,SAASyO,IAC9BxT,EAAGgF,kBAAkBwO,EAAc,CAAEvO,QAAS,cAM9D,SAASC,KACDlF,IACAA,EAAGmF,QACHnF,EAAK,MAIb,SAASyT,GAAYnO,GACjB,OAAO,IAAIvL,SAAQ,SAACC,EAASC,GACzBwK,KACK7I,MAAK,WACF,IAAM2J,EAAcvF,EAAGuF,YAAY,CAACiO,GAAe,aAC7ChO,EAAQD,EAAYE,YAAY+N,GAChCxN,EAAaR,EAAMhE,IAAI8D,GAC7BU,EAAWpB,UAAY,WACnB5K,KAEJgM,EAAWhL,QAAU,SAACC,GAClBqD,QAAQjC,MAAM,qBAAsBpB,EAAME,OAAOkB,OACjDpC,EAAOgB,EAAME,OAAOkB,WAG3BkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SAKvB,SAASqX,GAAenY,GACpB,OAAO,IAAIxB,SAAQ,SAACC,EAASC,GACzBwK,KACK7I,MAAK,WACF,IAAM2J,EAAcvF,EAAGuF,YAAY,CAACiO,GAAe,aAC7ChO,EAAQD,EAAYE,YAAY+N,GAEhCtY,EAAUsK,EAAMc,OAAO/K,GAG7BL,EAAQ0J,UAAY,WAChB5K,KAGJkB,EAAQF,QAAU,SAACC,GACfqD,QAAQjC,MAAM,gCAAiCpB,EAAME,OAAOkB,OAC5DpC,EAAOgB,EAAME,OAAOkB,WAG3BkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SAKvB,SAASsX,KACL,OAAO,IAAI5Z,SAAQ,SAACC,EAASC,GACzBwK,KACK7I,MAAK,WACF,IAAM2J,EAAcvF,EAAGuF,YAAY,CAACiO,GAAe,YAC7ChO,EAAQD,EAAYE,YAAY+N,GAChCtY,EAAUsK,EAAMU,SAEtBhL,EAAQ0J,UAAY,SAAC3J,GACjBjB,EAAQiB,EAAME,OAAOtC,SAGzBqC,EAAQF,QAAU,SAACC,GACfqD,QAAQjC,MAAM,0BAA2BpB,EAAME,OAAOkB,OACtDpC,EAAOgB,EAAME,OAAOkB,WAG3BkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SAKvB,SAASuX,GAAWrY,GAChB,OAAO,IAAIxB,SAAQ,SAACC,EAASC,GACzBwK,KACK7I,MAAK,WACF,IAAM2J,EAAcvF,EAAGuF,YAAY,CAACiO,GAAe,YAC7ChO,EAAQD,EAAYE,YAAY+N,GAChCtY,EAAUsK,EAAMlI,IAAI/B,GAE1BL,EAAQ0J,UAAY,SAAC3J,GACjBjB,EAAQiB,EAAME,OAAOtC,SAGzBqC,EAAQF,QAAU,SAACC,GACfqD,QAAQjC,MAAM,yBAA0BpB,EAAME,OAAOkB,OACrDpC,EAAOgB,EAAME,OAAOkB,WAG3BkH,OAAM,SAAClH,GACJiC,QAAQjC,MAAM,0BAA2BA,GACzCpC,EAAOoC,SClIR,QACX4D,YAAY,EACZC,MAAO,CACH2T,UAAW,IAEfxT,QAAS,CACLyT,aAAc,SAAC5T,GAAK,OAAKA,EAAM2T,UAAUtC,YAE7C5Q,UAAW,CACPoT,iBAAgB,SAAC7T,EAAO2C,GACpB3C,EAAM2T,UAAYhR,IAG1B9B,QAAS,CACCiT,eAAc,SAAA9Q,GAAa,OAAAmF,eAAAC,iBAAAC,MAAA,SAAAY,IAAA,IAAAhG,EAAA0Q,EAAA,OAAAvL,iBAAAI,MAAA,SAAAW,GAAA,eAAAA,EAAAT,KAAAS,EAAAR,MAAA,OAAJ,OAAN1F,EAAMD,EAANC,OAAMkG,EAAAR,KAAA,EACnBoL,KAA0B,cAAA5K,EAAAR,KAAA,EACVoL,KAAqB,OAAvCJ,EAASxK,EAAAN,KACb5F,EAAO,mBAAoB0Q,GAC3BI,KAA4B,wBAAA5K,EAAAE,UAAAJ,MAJCd,IAM3B6L,aAAY,SAAAnQ,EAAeuB,GAAM,OAAA+C,eAAAC,iBAAAC,MAAA,SAAAC,IAAA,IAAAC,EAAA,OAAAH,iBAAAI,MAAA,SAAAC,GAAA,eAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAAV,OAARJ,EAAQ1E,EAAR0E,SAAQE,EAAAE,KAAA,EACnBoL,KAA0B,cAAAtL,EAAAE,KAAA,EAC1BoL,GAAwB3O,GAAK,cAAAqD,EAAAE,KAAA,EAC7BoL,KAA2B,OACjCxL,EAAS,kBAAkB,wBAAAE,EAAAY,UAAAf,MAJQH,IAMjC8L,gBAAe,SAAAjQ,EAAeoP,GAAM,OAAAjL,eAAAC,iBAAAC,MAAA,SAAA2B,IAAA,IAAAzB,EAAA,OAAAH,iBAAAI,MAAA,SAAAyB,GAAA,eAAAA,EAAAvB,KAAAuB,EAAAtB,MAAA,OAAV,OAARJ,EAAQvE,EAARuE,SAAQ0B,EAAAtB,KAAA,EACtBoL,KAA0B,cAAA9J,EAAAtB,KAAA,EAC1BoL,GAA2BX,EAAK/X,MAAK,cAAA4O,EAAAtB,KAAA,EACrCoL,KAA2B,OACjCxL,EAAS,kBAAkB,wBAAA0B,EAAAZ,UAAAW,MAJW7B,IAMpC+L,cAAa,SAAClB,EAAG3X,GAAM,OAAA8M,eAAAC,iBAAAC,MAAA,SAAAsB,IAAA,IAAAwK,EAAA,OAAA/L,iBAAAI,MAAA,SAAAsB,GAAA,eAAAA,EAAApB,KAAAoB,EAAAnB,MAAA,cAAAmB,EAAAnB,KAAA,EACnBoL,KAA0B,cAAAjK,EAAAnB,KAAA,EAChBoL,GAAuB1Y,GAAK,OAArC,OAAH8Y,EAAGrK,EAAAjB,KAAAiB,EAAAnB,KAAG,EACJoL,KAA2B,cAAAjK,EAAAkF,OAAA,SAC1BmF,GAAG,wBAAArK,EAAAT,UAAAM,MAJexB,MCtBrCiM,aAAIC,IAAIC,QAEO,WAAIA,OAAKC,MAAM,CAC5Blc,QAAS,CACPuG,MACA4V,YACAC,eACA,eAAgBC,EAChB,YAAaC,EACb,cAAeC,EACf,gBAAiBC,IAEnBC,OAAQC,6CAAYC,O,gICxBlB,EAAQ,E,4DCAR,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,QAAQC,MAAM,CAACP,EAAIQ,aAAaC,MAAM,CAAC,GAAK,QAAQ,CAACL,EAAGJ,EAAIhW,OAAO,CAAC5E,IAAI,aAAa,CAACgb,EAAG,gBAAgB,GAAGA,EAAG,kBAAkB,IACnPM,EAAkB,GCDlB,G,4DAAS,WAAa,IAAIV,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,oBAAoBC,MAAM,CAAC,KAAQP,EAAIW,EAAI,MAAM,CAACP,EAAG,WAAW,CAACQ,WAAW,CAAC,CAACpZ,KAAK,SAASqZ,QAAQ,eAAetY,MAAM,4BAA8BuY,WAAW,8BAA8BC,UAAU,CAAC,KAAM,KAAQT,YAAY,WAAWG,MAAM,CAAC,QAAU,WAAWO,GAAG,CAAC,MAAQhB,EAAIiB,cAAc,CAACb,EAAG,eAAe,CAACK,MAAM,CAAC,KAAO,cAAc,KAAO,SAAS,IAAI,KAChe,EAAkB,G,oCCyBP,GACfG,WAAA,CACAM,eAEAC,WAAA,CACAC,gBAEAC,MAAA,WACA,IAAAC,EAAAC,iBAAAZ,EAAAW,EAAAX,EAEAM,EAAA,WACA,IAAAO,EAAAtc,SAAA8G,gBACAwV,EAAAC,SAAA,CACAC,IAAA,EACAC,SAAA,YAIA,OAAAhB,IAAAM,iBC5CkX,I,wBCQ9WW,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,EAAAA,E,4CCKfC,EAAA,0KACAC,EAAA,0KACAC,EAAA,mEACAC,EAAA,mEAEe,GAEfb,WAAA,CAGAW,mBACAD,iBACAE,aACAC,gBACAC,eAKAC,SAAA,CACAlY,OAAA,WACA,oBAAAmY,OAAAC,KAAApY,OAAA,cACA,iBAAAmY,OAAAC,KAAApY,OAAA,iBACA,UAAAqI,OAAA,KAAAgQ,oBAEAA,kBAAA,WACA,YAAAC,OAAAvX,MAAAwU,UAAAvV,OAAArE,OAGA4c,aAAA,WAKA,IAHA,IAAAC,EAAA,2EAGA7f,EAAA,EAAA8f,EAAAD,EAAA3f,OAAAF,EAAA8f,EAAA9f,IACA6G,OAAAgZ,EAAA7f,IAAA+f,eAAA,KAAArQ,OAAAmQ,EAAA7f,IAAAuC,SAAA8G,iBAAAzD,MAAAoa,OAOA,IAHA,IAAAC,EAAA,2BAGAjgB,EAAA,EAAA8f,EAAAG,EAAA/f,OAAAF,EAAA8f,EAAA9f,IACA8G,OAAAmZ,EAAAjgB,IAAAkgB,OAAAH,eAAA,gBAAArQ,OAAAuQ,EAAAjgB,IAAAuC,SAAA8G,iBAAAzD,MAAAgB,MAAA,OAIA,IAAAU,EAAAP,OAAAM,OAAAC,MACA/E,SAAA8G,gBAAA/E,aAAA,MAAAgD,EAAA,cAEAoX,MAAA,WACA,IAAAyB,EAAAC,iBAAA7Y,EAAA4Y,EAAA5Y,KAAAsW,EAAAsC,EAAAtC,YAGA,SAAAtW,EAAA3B,OAAArD,SAAAiH,KAAAC,UAAAC,IAAA,eAKA2W,0BAAA,CACAC,iBAAA,EACAC,cAAA,EACAC,aAAA,EACA1L,MAAA,EACA1Q,QAAA,IACAqc,WAAA,6BAIA/S,OAAArC,OAAA,0BAAA3E,OAAAga,YACA,IAAAC,EAAAC,iBAAAvY,EAAAsY,EAAAE,MAKA,OAJAC,mBAAAzY,GAAA,SAAAU,GACA2E,OAAArC,OAAA,0BAAAtC,MAGA,CACA8U,iBCpG6T,ICQzT,G,UAAY,eACd,EACA,EACAE,GACA,EACA,KACA,KACA,OAIa,I,kEChBA,GACflZ,KAAA,cACAkc,YAAA,EACAC,MAAA,CACAlM,KAAA,CACAmM,UAAA,EACAje,KAAA,CAAA0X,OAAAva,SAEA+gB,KAAA,CACAle,KAAA0X,OACAyG,QAAA,MAEAC,MAAA,CACApe,KAAA,CAAA0X,OAAAva,OAAA+f,QACAiB,QAAA,MAEAE,aAAA,CACAre,KAAA,CAAA0X,OAAAva,OAAAmhB,OACAH,QAAA,kBAGAI,OAAA,SAAAC,EAAApW,GAAA,IAAA4V,EAAA5V,EAAA4V,MAAAthB,EAAA0L,EAAA1L,KAEA+hB,EAAAD,EAAAE,EAAAV,EAAAlM,MAAA/G,eAAA,CAAAiT,MAAA,CAAAE,KAAAF,EAAAE,OAAAxhB,IAGA,IAAAshB,EAAAI,MAAA,OAAAK,EAGA,IAAAE,EAAAH,EAAA,QAAA7D,YAAA,4BAAAC,MAAAoD,EAAAK,cAAA,CAAAL,EAAAI,QAGA,OAAAI,EAAA,QAAA7D,YAAA,mCAAA8D,EAAAE,MCnCkX,IVQ9W,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,OAIa,I,QWhBfnF,aAAIyC,UAAU2C,EAAY/c,KAAM+c,G,yBCAhCpF,aAAIC,IAAIoF,K,oCCsBRrF,aAAIC,IAAIqF,aAAO,CACbhN,MAAM,EACN2L,WAAY,6BACZsB,SAAU,YACV3d,QAAS,IACTmc,cAAc,EACdyB,kBAAkB,EAClBC,cAAc,EACdC,WAAW,EACXC,iBAAkB,EAClB7B,iBAAiB,EACjB8B,UAAW,GACXC,aAAa,I,4BCjCf7F,aAAIC,IAAI6F,OAAiBC,Q,0BCDzB/F,aAAIC,IAAI+F,c,yBCARhG,aAAIC,IAAIgG,KCmBRjG,aAAIC,IAAIiG,QAGRlG,aAAIC,IAAIkG,cAERnG,aAAIC,IAAImG,QACRpG,aAAIyC,UAAU,iBAAkB9X,EAAQ,QAA2Cga,SAGnFha,EAAQ,QAGRA,EAAQ,QAwBRqV,aAAIqG,OAAOC,eAAgB,EACpB,IAAMC,EAAW,IAAIvG,aAC5B,IAAIA,aAAI,CACNwG,cACAtV,aACA6T,OAAQ,SAAAC,GAAC,OAAIA,EAAEyB,MACdC,OAAO,S,oCChEV,W,sFCAe,G,wCAAA,CAEbC,cAAe,SACfC,iBAAkB,gBAClBC,gBAAiB,qBACjBC,eAAgB,cAIhBC,UAAW,SAGXzX,oBAAqB,cACrBC,2BAA4B,iB,YCPTyX,EAAU,WAa7B,SAAAA,EAAYlY,EAAUmY,GAAmB,IAAAC,EAAA,KAAAC,eAAA,KAAAH,GAZzCI,eAAA,gBACW,MAEXA,eAAA,iBAAA7V,eAAA,GACiB8V,IAEjBD,eAAA,qCAC+B,GAE/BA,eAAA,mBACc,IAGZtG,KAAKhS,SAAWA,EAChBgS,KAAKzR,UAASkC,8BAAA,GAAQuP,KAAKzR,WAAc4X,GAGzCnG,KAAKhS,SAASwY,aAAa1gB,QAAQqZ,KACjC,SAAAoG,GAEE,IAAMkB,EAAcL,EAAKM,WAOzB,OAJID,IAEFlB,EAAOhJ,QAAQoK,cAAgB,GAAHvU,OAAMgU,EAAK7X,UAAU0X,UAAS,KAAA7T,OAAIqU,IAEzDlB,KAET,SAAAte,GAAK,OAAItC,QAAQE,OAAOoC,MAI1B+Y,KAAKhS,SAASwY,aAAatY,SAASiR,KAClC,SAAAjR,GAAQ,OAAIA,KACZ,SAAAjH,GAEE,IAAQse,EAAqBte,EAArBse,OAAQrX,EAAajH,EAAbiH,SAChBuX,cAASmB,MAAM,wBAAyB1Y,GACxC,IAAM2Y,EAAkBtB,EAGxB,GAAIrX,GAAgC,MAApBA,EAAS0F,OAAgB,CAClCwS,EAAKU,+BACRV,EAAKU,8BAA+B,EACpCV,EAAKW,eAAevgB,MAAK,SAAA2B,GACvBie,EAAKU,8BAA+B,EAGpCV,EAAKY,SAAS7e,EAAE/F,KAAKqkB,aACrBL,EAAKa,gBAAgB9e,EAAE/F,KAAK2kB,cAE5BX,EAAKc,qBAAqB/e,EAAE/F,KAAKqkB,iBAGrC,IAAMU,EAAuB,IAAIxiB,SAAQ,SAAAC,GACvCwhB,EAAKgB,eAAc,SAAAX,GAIjBI,EAAgBtK,QAAQoK,cAAgB,GAAHvU,OAAMgU,EAAK7X,UAAU0X,UAAS,KAAA7T,OAAIqU,GACvE7hB,EAAQwhB,EAAKpY,SAAS6Y,UAG1B,OAAOM,EAET,OAAOxiB,QAAQE,OAAOoC,MAG3B,OAAAogB,eAAAnB,EAAA,EAAAtd,IAAA,uBAAAN,MAED,SAAqBme,GACnBzG,KAAKsH,YAActH,KAAKsH,YAAYvN,QAAO,SAAAwN,GAAQ,OAAIA,EAASd,QACjE,CAAA7d,IAAA,gBAAAN,MAED,SAAcif,GACZvH,KAAKsH,YAAYpkB,KAAKqkB,KACvB,CAAA3e,IAAA,WAAAN,MAED,WACE,OAAOsD,aAAaC,QAAQmU,KAAKzR,UAAUC,uBAC5C,CAAA5F,IAAA,kBAAAN,MAED,WACE,OAAOsD,aAAaC,QAAQmU,KAAKzR,UAAUE,8BAK7C,CAAA7F,IAAA,WAAAN,MAEA,SAASlG,GACPwJ,aAAaK,QAAQ+T,KAAKzR,UAAUC,oBAAqBpM,EAAKolB,SAKhE,CAAA5e,IAAA,cAAAN,MAEA,SAAYA,GACVsD,aAAaK,QAAQ,WAAYwb,KAAKC,UAAUpf,IAChDsD,aAAaK,QAAQ,YAAa3D,EAAMqf,WACxC/b,aAAaK,QAAQ,UAAW3D,EAAM0G,WACvC,CAAApG,IAAA,kBAAAN,MAED,SAAgBA,GACdsD,aAAaK,QAAQ+T,KAAKzR,UAAUE,2BAA4BnG,KACjE,CAAAM,IAAA,QAAAN,MAED,WAAe,QAAAsf,EAAAvT,UAAAzR,OAANilB,EAAI,IAAA7D,MAAA4D,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAJD,EAAIC,GAAAzT,UAAAyT,GACX,OAAO9H,KAAKhS,SAASC,KAAK+R,KAAKzR,UAAUsX,cAAgB,GAAI,KAAM,CACjEtJ,QAAS,CACP7O,SAAUma,EAAK,GAAGE,MAClBC,SAAUH,EAAK,GAAGG,cAGvB,CAAApf,IAAA,WAAAN,MAED,WAAkB,QAAA2f,EAAAC,EAAA7T,UAAAzR,OAANilB,EAAI,IAAA7D,MAAAkE,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJN,EAAIM,GAAA9T,UAAA8T,GACd,OAAOF,EAAAjI,KAAKhS,UAASC,KAAI1K,MAAA0kB,EAAA,CAACjI,KAAKzR,UAAUuX,kBAAgB1T,OAAKyV,MAC/D,CAAAjf,IAAA,eAAAN,MAED,WACE,OAAO0X,KAAKhS,SAASC,KAAK+R,KAAKzR,UAAUwX,gBAAiB,CACxDgB,aAAc/G,KAAKoI,wBA7HM,GCJhB,SAAS9Z,EAAON,EAAUmY,GACvC,IAAMkC,EAAM,IAAInC,EAAWlY,EAAUmY,GAErC,MAAO,CACLkC,O,gBCHJC,EAAgBha,EAAOoF,OAAO,IAAtB2U,EAAGC,EAAHD,IACOA,U,6DCJf,qCAKMra,EAAW0F,IAAM/K,OAAO,CAG5B4f,QAAS,6CAGEC,EAAuB,2CAGpCtJ,aAAIpc,UAAU2lB,YAAcD,EAC5BtJ,aAAIpc,UAAU4lB,MAAQ1a,EACPA,U,oCChBf,W,oHCAe,GAEX,CACI2a,KAAM,eACNphB,KAAM,cACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,cACVC,OAAQ,SAGhB,CACIF,KAAM,kBACNphB,KAAM,iBACNoa,UAAW,WAAF,OAAQ,kIACjBQ,KAAM,CACFyG,SAAU,iBACVC,OAAQ,SAGhB,CACIF,KAAM,qBACNphB,KAAM,oBACNoa,UAAW,WAAF,OAAQ,kIACjBQ,KAAM,CACFyG,SAAU,oBACVC,OAAQ,SAGhB,CACIF,KAAM,+BACNphB,KAAM,8BACNoa,UAAW,WAAF,OAAQ,kIACjBQ,KAAM,CACFyG,SAAU,8BACVC,OAAQ,SAGhB,CACIF,KAAM,2BACNphB,KAAM,0BACNoa,UAAW,WAAF,OAAQ,kIACjBQ,KAAM,CACFyG,SAAU,0BACVC,OAAQ,SAGhB,CACIF,KAAM,gBACNphB,KAAM,eACNoa,UAAW,WAAF,OAAQ,kIACjBQ,KAAM,CACFyG,SAAU,eACVC,OAAQ,SAGhB,CACIF,KAAM,iBACNphB,KAAM,gBACNoa,UAAW,WAAF,OAAQ,kIACjBQ,KAAM,CACFyG,SAAU,gBACVC,OAAQ,SAGhB,CACIF,KAAM,qBACNphB,KAAM,yBACNoa,UAAW,WAAF,OAAQ,kIACjBQ,KAAM,CACFyG,SAAU,yBACVC,OAAQ,OACRC,gBAAiB,wBACjBC,aAAc,0BAGtB,CACIJ,KAAM,aACNphB,KAAM,WACNoa,UAAW,WAAF,OAAQ,wJACjBQ,KAAM,CACFyG,SAAU,WACVC,OAAQ,OACRC,gBAAiB,wBACjBC,aAAc,0BAGtB,CACIJ,KAAM,WACNphB,KAAM,UACNoa,UAAW,WAAF,OAAQ,wJACjBQ,KAAM,CACFyG,SAAU,UACVC,OAAQ,OACRC,gBAAiB,wBACjBC,aAAc,0BAGtB,CACIJ,KAAM,aACNphB,KAAM,YACNoa,UAAW,WAAF,OAAQ,wJACjBQ,KAAM,CACFyG,SAAU,YACVC,OAAQ,OACRtR,MAAO,iCAGf,CACIoR,KAAM,SACNphB,KAAM,eACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,eACVC,OAAQ,SAGhB,CACIF,KAAM,aACNphB,KAAM,eACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACFyG,SAAU,eACVC,OAAQ,SAGhB,CACIF,KAAM,UACNphB,KAAM,SACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,SACVC,OAAQ,SAGhB,CACIF,KAAM,UACNphB,KAAM,kBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,kBACVC,OAAQ,SAGhB,CACIF,KAAM,cACNphB,KAAM,sBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,kBACVC,OAAQ,SAGhB,CACIF,KAAM,oBACNphB,KAAM,mBACNoa,UAAW,WAAF,OAAQ,kIACjBQ,KAAM,CACFyG,SAAU,mBACVC,OAAQ,SAGhB,CACIF,KAAM,gBACNphB,KAAM,SACNoa,UAAW,WAAF,OAAQ,wJACjBQ,KAAM,CACFyG,SAAU,YACVC,OAAQ,UCxKL,GACX,CACIF,KAAM,2BACNphB,KAAM,kBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,kBACVC,OAAQ,SAGhB,CACIF,KAAM,gCACNphB,KAAM,uBACNoa,UAAW,WAAF,OAAQ,kIACjBQ,KAAM,CACFyG,SAAU,uBACVC,OAAQ,SAGhB,CACIF,KAAM,+BACNphB,KAAM,uBACNoa,UAAW,WAAF,OAAQ,kIACjBQ,KAAM,CACFyG,SAAU,uBACVC,OAAQ,SAYhB,CACIF,KAAM,6BACNphB,KAAM,oBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACF0G,OAAQ,OACRD,SAAU,sBAGlB,CACID,KAAM,qCACNphB,KAAM,4BACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACF0G,OAAQ,OACRD,SAAU,8BAGlB,CACID,KAAM,wBACNphB,KAAM,eACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACF0G,OAAQ,OACRD,SAAU,iBAGlB,CACID,KAAM,kBACNphB,KAAM,qBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACJ0G,OAAQ,OACRD,SAAU,8B,YCpEPI,EAAc,SAAAC,GAAE,OAAIA,EAAGC,QAAQC,MAAK,SAAAC,GAAK,OAAKnE,OAAQoE,IAAID,EAAMjH,KAAK0G,QAAU,OAAQO,EAAMjH,KAAKyG,WAAmC,QAArBQ,EAAMjH,KAAKpY,QAAyC,WAArBqf,EAAMjH,KAAKpY,WCFxJ,GACX,CACI4e,KAAM,wBACNphB,KAAM,uBACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACFyG,SAAU,uBACVC,OAAQ,SAGhB,CACIF,KAAM,wBACNphB,KAAM,uBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,uBACVC,OAAQ,SAGhB,CACIF,KAAM,uBACNphB,KAAM,sBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,sBACVC,OAAQ,SAGhB,CACIF,KAAM,2BACNphB,KAAM,0BACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACFyG,SAAU,sBACVC,OAAQ,SAGhB,CACIF,KAAM,qBACNphB,KAAM,oBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,oBACVC,OAAQ,SAGhB,CACIF,KAAM,yBACNphB,KAAM,wBACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACFyG,SAAU,oBACVC,OAAQ,SAGhB,CACIF,KAAM,8BACNphB,KAAM,uBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,uBACVC,OAAQ,SAGhB,CACIF,KAAM,8BACNphB,KAAM,uBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,uBACVC,OAAQ,SAGhB,CACIF,KAAM,oBACNphB,KAAM,uBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,uBACVC,OAAQ,SAGhB,CACIF,KAAM,yBACNphB,KAAM,wBACNoa,UAAW,WAAF,OAAQ,kIACjBQ,KAAM,CACFyG,SAAU,wBACVC,OAAQ,SAGhB,CACIF,KAAM,+BACNphB,KAAM,wBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,wBACVC,OAAQ,SAGhB,CACIF,KAAM,uBACNphB,KAAM,oBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,oBACVC,OAAQ,SAGhB,CACIF,KAAM,2BACNphB,KAAM,uBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,uBACVC,OAAQ,SAGhB,CACIF,KAAM,kBACNphB,KAAM,iBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,iBACVC,OAAQ,SAGhB,CACIF,KAAM,kCACNphB,KAAM,2BACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,2BACVC,OAAQ,SAGhB,CACIF,KAAM,mBACNphB,KAAM,6BACNoa,UAAW,WAAF,OAAQ,kIACjBQ,KAAM,CACFyG,SAAU,6BACVC,OAAQ,SAGhB,CACIF,KAAM,4BACNphB,KAAM,2BACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,2BACVC,OAAQ,SAGhB,CACIF,KAAM,6BACNphB,KAAM,4BACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,4BACVC,OAAQ,SAGhB,CACIF,KAAM,8BACNphB,KAAM,6BACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,6BACVC,OAAQ,SAGhB,CACIF,KAAM,gCACNphB,KAAM,+BACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,0BACVC,OAAQ,SAGhB,CACIF,KAAM,2BACNphB,KAAM,0BACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,0BACVC,OAAQ,SAGhB,CACIF,KAAM,+BACNphB,KAAM,+BACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,0BACVC,OAAQ,UCpML,GACX,CACIF,KAAM,sBACNphB,KAAM,qBACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACFyG,SAAU,qBACVC,OAAQ,SAGhB,CACIF,KAAM,+BACNphB,KAAM,8BACNoa,UAAW,WAAF,OAAQ,6GACjBQ,KAAM,CACFyG,SAAU,8BACVC,OAAQ,SAGhB,CACIF,KAAM,uBACNphB,KAAM,sBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACFyG,SAAU,sBACVC,OAAQ,OACRC,gBAAiB,wBACjBC,aAAc,0BAGtB,CACIJ,KAAM,gCACNphB,KAAM,2BACNoa,UAAW,WAAF,OAAQ,sFACjBQ,KAAM,CACF0G,OAAQ,OACRD,SAAU,6BAGlB,CACID,KAAM,0BACNphB,KAAM,yBACNoa,UAAW,WAAF,OAAQ,sFACjBQ,KAAM,CACFyG,SAAU,yBACVC,OAAQ,OACRC,gBAAiB,wBACjBC,aAAc,0BAGtB,CACIJ,KAAM,uBACNphB,KAAM,sBACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACF0G,OAAQ,OACRD,SAAU,wBAGlB,CACID,KAAM,uBACNphB,KAAM,sBACNoa,UAAW,WAAF,OAAQ,kIACjBQ,KAAM,CACFyG,SAAU,sBACVC,OAAQ,UCjEL,GACb,CACEF,KAAM,IACNphB,KAAM,OACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACJpY,OAAQ,YAGZ,CACE4e,KAAM,SACNphB,KAAM,QACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACJpY,OAAQ,YAGZ,CACE4e,KAAM,YACNphB,KAAM,WACNoa,UAAW,WAAF,OAAQ,kDACjBQ,KAAM,CACJpY,OAAQ,YAGZ,CACE4e,KAAM,WACNphB,KAAM,UACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACJpY,OAAQ,YAGZ,CACE4e,KAAM,QACNphB,KAAM,OACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACJpY,OAAQ,YAGZ,CACE4e,KAAM,YACNphB,KAAM,eACNoa,UAAW,WAAF,OAAQ,4GACjBQ,KAAM,CACJpY,OAAQ,aCrCdmV,aAAIC,IAAImK,QAER,IAAM5D,EAAS,IAAI4D,OAAU,CAC3B9gB,KAAM,UACN+gB,KAAM1J,IACN2J,eAAc,WACZ,MAAO,CAAEC,EAAG,EAAG/I,EAAG,IAEpBgJ,OAAQ,GAAFtX,OAAAuX,eACDC,GAAQD,eACRE,GAAaF,eACbG,GAAUH,eACVI,GAAQJ,eACRK,GAAO,CACV,CACErB,KAAM,SACNphB,KAAM,aACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACJpY,OAAQ,SAGZ,CACE4e,KAAM,YACNphB,KAAM,WACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACJpY,OAAQ,SAGZ,CACE4e,KAAM,wBACNphB,KAAM,sBACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACJpY,OAAQ,SAGZ,CACE4e,KAAM,SACNphB,KAAM,QACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACJpY,OAAQ,SAGZ,CACE4e,KAAM,gBACNphB,KAAM,eACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACJpY,OAAQ,SAGZ,CACE4e,KAAM,OACNphB,KAAM,YACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACJ0G,OAAQ,OACRD,SAAU,QAGd,CACED,KAAM,WACNphB,KAAM,UACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACJyG,SAAU,UACVC,OAAQ,SAKZ,CACEF,KAAM,iBACNphB,KAAM,gBACNoa,UAAW,WAAF,OAAQ,wJACjBQ,KAAM,CACJyG,SAAU,gBACVC,OAAQ,SAGZ,CACEF,KAAM,iBACNphB,KAAM,kBACNoa,UAAW,WAAF,OAAQ,iDACjBQ,KAAM,CACJ0G,OAAQ,OACRD,SAAU,kBACVG,aAAc,0BAIlB,CACEJ,KAAM,IACNsB,SAAU,aAKhBvE,EAAOwE,YAAW,SAACjB,EAAInL,EAAGrK,GAExB,OAAKuV,EAAYC,GAOVxV,IANc,KAAfwV,EAAGkB,SACE1W,EAAK,CAAElM,KAAM,eAEbkM,EAAK,CAAElM,KAAM,2BAMXme,U,yDC1Hf,8DAGe,SAAS0E,IAItB,IAAMpd,EAA0BiV,sBAAS,CACvC/Z,IAAK,WAAF,OAAQkI,OAAMtF,MAAMyU,aAAavS,yBACpCqd,IAAK,SAAA5e,GACH2E,OAAMrC,OAAO,8CAA+CtC,MAO1DzB,EAAQiY,sBAAS,CACrB/Z,IAAK,WAAF,OAAQkI,OAAMtF,MAAMwU,UAAUvV,OAAOC,OACxCqgB,IAAK,SAAA5e,GACH2E,OAAMrC,OAAO,uBAAwBtC,MAOnCxB,EAAOgY,sBAAS,CACpB/Z,IAAK,WAAF,OAAQkI,OAAMtF,MAAMwU,UAAUvV,OAAOE,MACxCogB,IAAK,SAAA5e,GACH2E,OAAMrC,OAAO,wBAAyBtC,MAIpC8U,EAAc0B,uBAAS,WAC3B,MAAmB,aAAfhY,EAAK3B,MAA6B,kBACnB,cAAf2B,EAAK3B,MAA8B,mBAIhC,QAMH4B,EAAmB+X,sBAAS,CAChC/Z,IAAK,WAAF,OAAQkI,OAAMtF,MAAMwU,UAAUvV,OAAOG,kBACxCmgB,IAAK,SAAA5e,GACH2E,OAAMrC,OAAO,qCAAsCtC,MAYjD6e,EAAarI,sBAAS,CAC1B/Z,IAAK,WAAF,OAAQkI,OAAMtF,MAAMwU,UAAUvV,OAAOrE,MACxC2kB,IAAK,SAAA5e,GACH2E,OAAMrC,OAAO,+BAAgCtC,MAKjD+X,mBAAM8G,GAAY,SAAA7e,GACJ,eAARA,GAAuC,cAAfxB,EAAK3B,QAAuB2B,EAAK3B,MAAQ,YAMvE,IAAM6B,EAAe8X,sBAAS,CAC5B/Z,IAAK,WAAF,OAAQkI,OAAMtF,MAAMwU,UAAUvV,OAAOI,cACxCkgB,IAAK,SAAA5e,GACH2E,OAAMrC,OAAO,iCAAkCtC,MAO7C8e,EAAkBtI,sBAAS,CAC/B/Z,IAAK,WAAF,OAAQkI,OAAMtF,MAAMwU,UAAUvV,OAAOK,KAAKC,QAC7CggB,IAAK,SAAA5e,GACH2E,OAAMrC,OAAO,mCAAoCtC,MAQ/C+e,EAAwBvI,sBAAS,CACrC/Z,IAAK,WAAF,OAAQkI,OAAMtF,MAAMwU,UAAUvV,OAAOQ,OAAOC,iBAC/C6f,IAAK,SAAA5e,GACH2E,OAAMrC,OAAO,iCAAkC,CAAEvD,gBAAiBiB,OAIhEgf,EAAaxI,sBAAS,CAC1B/Z,IAAK,WAAF,OAAQkI,OAAMtF,MAAMwU,UAAUvV,OAAOQ,OAAO7E,MAC/C2kB,IAAK,SAAA5e,GACH2E,OAAMrC,OAAO,iCAAkC,CAAErI,KAAM+F,OAQrDif,EAAazI,sBAAS,CAC1B/Z,IAAK,WAAF,OAAQkI,OAAMtF,MAAMwU,UAAUvV,OAAOU,OAAO/E,MAC/C2kB,IAAK,SAAA5e,GACH2E,OAAMrC,OAAO,iCAAkC,CAAErI,KAAM+F,OAI3D,MAAO,CACLuB,0BACAhD,QACAC,OACAsW,cACArW,mBAGAsgB,wBACAC,aAGAC,aAGAJ,aACAngB,eACAogB,qB,+FCpIEI,EAAWlD,KAAKmD,MAAMhf,aAAaC,QAAQ,aAC3Cgf,EAAkBF,EAAWA,EAAS1F,QAAU,KAEvC,WAAI6F,OAAQD,GAAmBE,S,qBCV9CzmB,EAAOD,QAAU,IAA0B,yB,yDCA3C,kCAAO,IAAM0mB,EAAiB,CAC5B,CACElC,OAAQ,OACRmC,QAAS","file":"js/app.5266333b.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-19d2598b\":\"5526a8a8\",\"chunk-25a92218\":\"dc2419b2\",\"chunk-1bb11815\":\"81dba2e5\",\"chunk-1cf979e0\":\"17ec25f5\",\"chunk-25f33290\":\"7dc7d5be\",\"chunk-29ec1d18\":\"f8f8f368\",\"chunk-2d0e9345\":\"6cea9cc0\",\"chunk-2d22bcc3\":\"d17dafab\",\"chunk-2d22d835\":\"4b3755b4\",\"chunk-404dfde1\":\"5bc6fabc\",\"chunk-44065306\":\"f5f7641f\",\"chunk-517f6c08\":\"29c60f53\",\"chunk-549a343e\":\"1ce053ea\",\"chunk-68064f74\":\"009b7d5e\",\"chunk-7fd4987b\":\"1e0c8bb5\",\"chunk-76b5f9e3\":\"b10415e4\",\"chunk-ce8365b2\":\"3cd735e9\",\"chunk-55cf54ca\":\"c4e498d1\",\"chunk-59665252\":\"7a4c8679\",\"chunk-5e1d1b84\":\"c5ee030a\",\"chunk-6e83591c\":\"22ec3898\",\"chunk-30147192\":\"9fa71fdd\",\"chunk-0d10ea2e\":\"71e7f74e\",\"chunk-200ead2d\":\"f70b00a2\",\"chunk-206e188f\":\"b6c4e6e5\",\"chunk-0082b902\":\"78c4e689\",\"chunk-0b043348\":\"42577a99\",\"chunk-14f66d70\":\"5020551c\",\"chunk-1dc0c18e\":\"afd298c1\",\"chunk-53e2fff0\":\"56d34b42\",\"chunk-5f127eae\":\"4573bd1a\",\"chunk-85162078\":\"cda26e9c\",\"chunk-c61274ce\":\"44671dec\",\"chunk-2667636e\":\"0737da8c\",\"chunk-286ebc4e\":\"fbc28066\",\"chunk-2c05e613\":\"f2f554ee\",\"chunk-2d0a4a39\":\"c6ab816c\",\"chunk-2d0b9978\":\"e5304c01\",\"chunk-2d0c1c81\":\"9b154273\",\"chunk-2d21e8f6\":\"2520c6ff\",\"chunk-2d8af5ee\":\"dd669867\",\"chunk-31e6e220\":\"04aef671\",\"chunk-469593b7\":\"3909a0e0\",\"chunk-4bd44658\":\"dacb6ce7\",\"chunk-4bd4b1af\":\"d9e18aa1\",\"chunk-597868ff\":\"159d11a8\",\"chunk-5c67de02\":\"c6df0d1b\",\"chunk-5f7ee66c\":\"9c6ca534\",\"chunk-2731ea50\":\"fe3991a4\",\"chunk-81f966a8\":\"9e052f84\",\"chunk-290652f6\":\"907e090d\",\"chunk-71a902c4\":\"b504d3fe\",\"chunk-d4ee32fc\":\"3f5cd738\",\"chunk-0c33ae06\":\"e05b7a20\",\"chunk-0d50d522\":\"837b9b12\",\"chunk-1941f4a4\":\"2435156d\",\"chunk-4e9316ba\":\"ed516928\",\"chunk-6d5f3a1d\":\"1af59769\",\"chunk-75ee15c6\":\"584595b8\",\"chunk-8a0edbda\":\"f8293d30\",\"chunk-9b534644\":\"5a47dcbf\",\"chunk-b30b12f8\":\"3b70cbfc\",\"chunk-b710c50a\":\"f4191f86\",\"chunk-cee38190\":\"b7f83cf9\",\"chunk-011f573c\":\"d78db386\",\"chunk-2abb9a1b\":\"bae06f6a\",\"chunk-d0fa178e\":\"4ba8a4cf\",\"chunk-e3cfdf04\":\"ef14792c\",\"chunk-ef8c38fc\":\"26edddb0\",\"chunk-efb672dc\":\"c2931b0f\",\"chunk-f49ab690\":\"a6715981\",\"chunk-2f8583c1\":\"b4339bad\",\"chunk-6a8d0f4b\":\"1996f125\",\"chunk-af21e1bc\":\"0ecacd0a\",\"chunk-74d52b92\":\"fa9eef1f\",\"chunk-bdf268d4\":\"44a08d98\",\"chunk-c5354252\":\"f7d12d6d\",\"chunk-ce99dda2\":\"32312c11\",\"chunk-d6797194\":\"66c69b16\",\"chunk-dc6f34ae\":\"f1a57a42\",\"chunk-efd10808\":\"1ea37385\",\"chunk-7252390d\":\"8d553b63\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-25a92218\":1,\"chunk-1bb11815\":1,\"chunk-1cf979e0\":1,\"chunk-25f33290\":1,\"chunk-29ec1d18\":1,\"chunk-404dfde1\":1,\"chunk-44065306\":1,\"chunk-517f6c08\":1,\"chunk-7fd4987b\":1,\"chunk-76b5f9e3\":1,\"chunk-ce8365b2\":1,\"chunk-55cf54ca\":1,\"chunk-59665252\":1,\"chunk-5e1d1b84\":1,\"chunk-30147192\":1,\"chunk-0d10ea2e\":1,\"chunk-200ead2d\":1,\"chunk-0082b902\":1,\"chunk-0b043348\":1,\"chunk-14f66d70\":1,\"chunk-1dc0c18e\":1,\"chunk-53e2fff0\":1,\"chunk-5f127eae\":1,\"chunk-85162078\":1,\"chunk-c61274ce\":1,\"chunk-2667636e\":1,\"chunk-286ebc4e\":1,\"chunk-2c05e613\":1,\"chunk-2d0b9978\":1,\"chunk-2d8af5ee\":1,\"chunk-31e6e220\":1,\"chunk-469593b7\":1,\"chunk-597868ff\":1,\"chunk-5c67de02\":1,\"chunk-2731ea50\":1,\"chunk-81f966a8\":1,\"chunk-290652f6\":1,\"chunk-71a902c4\":1,\"chunk-d4ee32fc\":1,\"chunk-0c33ae06\":1,\"chunk-0d50d522\":1,\"chunk-1941f4a4\":1,\"chunk-4e9316ba\":1,\"chunk-6d5f3a1d\":1,\"chunk-75ee15c6\":1,\"chunk-8a0edbda\":1,\"chunk-9b534644\":1,\"chunk-b30b12f8\":1,\"chunk-b710c50a\":1,\"chunk-cee38190\":1,\"chunk-011f573c\":1,\"chunk-2abb9a1b\":1,\"chunk-d0fa178e\":1,\"chunk-e3cfdf04\":1,\"chunk-f49ab690\":1,\"chunk-2f8583c1\":1,\"chunk-6a8d0f4b\":1,\"chunk-af21e1bc\":1,\"chunk-74d52b92\":1,\"chunk-bdf268d4\":1,\"chunk-c5354252\":1,\"chunk-ce99dda2\":1,\"chunk-d6797194\":1,\"chunk-dc6f34ae\":1,\"chunk-efd10808\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-19d2598b\":\"31d6cfe0\",\"chunk-25a92218\":\"98d445ba\",\"chunk-1bb11815\":\"e9ef9bad\",\"chunk-1cf979e0\":\"ed161fc3\",\"chunk-25f33290\":\"c0732149\",\"chunk-29ec1d18\":\"2265e602\",\"chunk-2d0e9345\":\"31d6cfe0\",\"chunk-2d22bcc3\":\"31d6cfe0\",\"chunk-2d22d835\":\"31d6cfe0\",\"chunk-404dfde1\":\"c0732149\",\"chunk-44065306\":\"e8bf1e1e\",\"chunk-517f6c08\":\"e25de314\",\"chunk-549a343e\":\"31d6cfe0\",\"chunk-68064f74\":\"31d6cfe0\",\"chunk-7fd4987b\":\"a0aef7a7\",\"chunk-76b5f9e3\":\"f30cbf58\",\"chunk-ce8365b2\":\"f30cbf58\",\"chunk-55cf54ca\":\"e25de314\",\"chunk-59665252\":\"3a7b71e0\",\"chunk-5e1d1b84\":\"2265e602\",\"chunk-6e83591c\":\"31d6cfe0\",\"chunk-30147192\":\"a1b593e2\",\"chunk-0d10ea2e\":\"d00325fc\",\"chunk-200ead2d\":\"3eb96991\",\"chunk-206e188f\":\"31d6cfe0\",\"chunk-0082b902\":\"c0b2e670\",\"chunk-0b043348\":\"2da2af11\",\"chunk-14f66d70\":\"9ed41285\",\"chunk-1dc0c18e\":\"a33209f2\",\"chunk-53e2fff0\":\"a53d988e\",\"chunk-5f127eae\":\"cf876e07\",\"chunk-85162078\":\"a4bf873c\",\"chunk-c61274ce\":\"6bae93f1\",\"chunk-2667636e\":\"e6e57257\",\"chunk-286ebc4e\":\"7658c896\",\"chunk-2c05e613\":\"8d262508\",\"chunk-2d0a4a39\":\"31d6cfe0\",\"chunk-2d0b9978\":\"e5e2d4ba\",\"chunk-2d0c1c81\":\"31d6cfe0\",\"chunk-2d21e8f6\":\"31d6cfe0\",\"chunk-2d8af5ee\":\"ae796000\",\"chunk-31e6e220\":\"a57f6fb9\",\"chunk-469593b7\":\"3dcad7d6\",\"chunk-4bd44658\":\"31d6cfe0\",\"chunk-4bd4b1af\":\"31d6cfe0\",\"chunk-597868ff\":\"e43d3d1d\",\"chunk-5c67de02\":\"7ee27f16\",\"chunk-5f7ee66c\":\"31d6cfe0\",\"chunk-2731ea50\":\"3a0b76c7\",\"chunk-81f966a8\":\"48051329\",\"chunk-290652f6\":\"dbe19263\",\"chunk-71a902c4\":\"0728f2fa\",\"chunk-d4ee32fc\":\"c39ceaf4\",\"chunk-0c33ae06\":\"be75db21\",\"chunk-0d50d522\":\"75ec87b4\",\"chunk-1941f4a4\":\"8fc2cff5\",\"chunk-4e9316ba\":\"06fa5774\",\"chunk-6d5f3a1d\":\"cb72d3c7\",\"chunk-75ee15c6\":\"dba1f807\",\"chunk-8a0edbda\":\"25a77c20\",\"chunk-9b534644\":\"69b4af91\",\"chunk-b30b12f8\":\"e6e57257\",\"chunk-b710c50a\":\"78b26c77\",\"chunk-cee38190\":\"4dd24b7e\",\"chunk-011f573c\":\"0e433876\",\"chunk-2abb9a1b\":\"0e433876\",\"chunk-d0fa178e\":\"e25de314\",\"chunk-e3cfdf04\":\"0e433876\",\"chunk-ef8c38fc\":\"31d6cfe0\",\"chunk-efb672dc\":\"31d6cfe0\",\"chunk-f49ab690\":\"ae796000\",\"chunk-2f8583c1\":\"9027cdb6\",\"chunk-6a8d0f4b\":\"b2d9a821\",\"chunk-af21e1bc\":\"a6702136\",\"chunk-74d52b92\":\"921ccf22\",\"chunk-bdf268d4\":\"c0732149\",\"chunk-c5354252\":\"b1951c0f\",\"chunk-ce99dda2\":\"c0732149\",\"chunk-d6797194\":\"dcf0e863\",\"chunk-dc6f34ae\":\"2df38712\",\"chunk-efd10808\":\"76363240\",\"chunk-7252390d\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=44b13065&prod&lang=css\"","// Theme Colors\n// Initially this will be blank. Later on when app is initialized we will assign bootstrap colors to this from CSS variables.\nexport const $themeColors = {}\n\n// App Breakpoints\n// Initially this will be blank. Later on when app is initialized we will assign bootstrap breakpoints to this object from CSS variables.\nexport const $themeBreakpoints = {}\n\n// APP CONFIG\nexport const $themeConfig = {\n app: {\n appName: 'PHARMACONNECT', // Will update name in navigation menu (Branding)\n // eslint-disable-next-line global-require\n appLogoImage: require('@/assets/images/logo/logo.svg'), // Will update logo in navigation menu (Branding)\n appLogoImage2: require('@/assets/images/logo/logo.svg'), // Will update logo in navigation menu (Branding)\n },\n layout: {\n isRTL: false,\n skin: 'light', // light, dark, bordered, semi-dark\n routerTransition: 'slide-fade', // zoom-fade, slide-fade, fade-bottom, fade, zoom-out, none\n type: 'horizontal', // vertical, horizontal\n contentWidth: 'full', // full, boxed\n menu: {\n hidden: false,\n isCollapsed: false,\n },\n navbar: {\n // ? For horizontal menu, navbar type will work for navMenu type\n type: 'floating', // static , sticky , floating, hidden\n backgroundColor: '', // BS color options [primary, success, etc]\n },\n footer: {\n type: 'sticky', // static, sticky, hidden\n },\n customizer: true,\n enableScrollToTop: true,\n },\n}\n","const DB_NAME = \"itemsDatabase\";\r\nconst DB_VERSION = 1;\r\nconst ITEM_MED_NAME = \"itemMED\";\r\nconst ITEM_PARA_NAME = \"itemPARA\";\r\n\r\nlet db;\r\n\r\nfunction openDatabase() {\r\n return new Promise((resolve, reject) => {\r\n if (db) {\r\n resolve(db);\r\n return;\r\n }\r\n\r\n const request = indexedDB.open(DB_NAME, DB_VERSION);\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Failed to open database:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n\r\n request.onsuccess = (event) => {\r\n db = event.target.result;\r\n resolve(db);\r\n };\r\n\r\n request.onupgradeneeded = (event) => {\r\n db = event.target.result;\r\n if (!db.objectStoreNames.contains(ITEM_MED_NAME)) {\r\n db.createObjectStore(ITEM_MED_NAME, { keyPath: 'code' });\r\n }\r\n if (!db.objectStoreNames.contains(ITEM_PARA_NAME)) {\r\n db.createObjectStore(ITEM_PARA_NAME, { keyPath: 'code' });\r\n }\r\n };\r\n });\r\n}\r\n\r\nfunction closeDatabase() {\r\n if (db) {\r\n db.close();\r\n db = null;\r\n }\r\n}\r\n\r\nfunction addItem(storeName, item) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([storeName], 'readwrite');\r\n const store = transaction.objectStore(storeName);\r\n\r\n const getRequest = store.get(item.code);\r\n\r\n getRequest.onsuccess = (event) => {\r\n const existingItem = event.target.result;\r\n\r\n if (existingItem) {\r\n const updatedItem = { ...existingItem, ...item };\r\n const updateRequest = store.put(updatedItem);\r\n\r\n updateRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n updateRequest.onerror = (event) => {\r\n console.error(\"Error updating item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n } else {\r\n const addRequest = store.add(item);\r\n\r\n addRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n addRequest.onerror = (event) => {\r\n console.error(\"Error adding item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n }\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction addItems(storeName, items) {\r\n return Promise.all(items.map((item) => addItem(storeName, item)));\r\n}\r\n\r\nfunction getAllItems(storeName) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([storeName], 'readonly');\r\n const store = transaction.objectStore(storeName);\r\n const request = store.getAll();\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving items:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction getItemByCode(storeName, itemCode) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([storeName], 'readonly');\r\n const store = transaction.objectStore(storeName);\r\n const request = store.get(itemCode);\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction getItemCount(storeName) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([storeName], 'readonly');\r\n const store = transaction.objectStore(storeName);\r\n const request = store.count();\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error counting items:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction deleteItem(storeName, itemCode) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([storeName], 'readwrite');\r\n const store = transaction.objectStore(storeName);\r\n const deleteRequest = store.delete(itemCode);\r\n\r\n deleteRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n deleteRequest.onerror = (event) => {\r\n console.error(\"Error deleting item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\n\r\nexport { ITEM_MED_NAME, ITEM_PARA_NAME, openDatabase, closeDatabase, addItem, addItems, getAllItems, getItemByCode, getItemCount, deleteItem };\r\n","import { $themeBreakpoints } from '@themeConfig'\n\nexport default {\n namespaced: true,\n state: {\n windowWidth: 0,\n shallShowOverlay: false,\n },\n getters: {\n currentBreakPoint: state => {\n const { windowWidth } = state\n if (windowWidth >= $themeBreakpoints.xl) return 'xl'\n if (windowWidth >= $themeBreakpoints.lg) return 'lg'\n if (windowWidth >= $themeBreakpoints.md) return 'md'\n if (windowWidth >= $themeBreakpoints.sm) return 'sm'\n return 'xs'\n },\n },\n mutations: {\n UPDATE_WINDOW_WIDTH(state, val) {\n state.windowWidth = val\n },\n TOGGLE_OVERLAY(state, val) {\n state.shallShowOverlay = val !== undefined ? val : !state.shallShowOverlay\n },\n },\n actions: {},\n}\n","import { $themeConfig } from '@themeConfig'\n\nexport default {\n namespaced: true,\n state: {\n layout: {\n isRTL: $themeConfig.layout.isRTL,\n skin: localStorage.getItem('vuexy-skin') || $themeConfig.layout.skin,\n routerTransition: $themeConfig.layout.routerTransition,\n type: $themeConfig.layout.type,\n contentWidth: $themeConfig.layout.contentWidth,\n menu: {\n hidden: $themeConfig.layout.menu.hidden,\n },\n navbar: {\n type: $themeConfig.layout.navbar.type,\n backgroundColor: $themeConfig.layout.navbar.backgroundColor,\n },\n footer: {\n type: $themeConfig.layout.footer.type,\n },\n },\n },\n getters: {},\n mutations: {\n TOGGLE_RTL(state) {\n state.layout.isRTL = !state.layout.isRTL\n document.documentElement.setAttribute('dir', state.layout.isRTL ? 'rtl' : 'ltr')\n },\n UPDATE_SKIN(state, skin) {\n state.layout.skin = skin\n\n // Update value in localStorage\n localStorage.setItem('vuexy-skin', skin)\n\n // Update DOM for dark-layout\n if (skin === 'dark') document.body.classList.add('dark-layout')\n else if (document.body.className.match('dark-layout')) document.body.classList.remove('dark-layout')\n },\n UPDATE_ROUTER_TRANSITION(state, val) {\n state.layout.routerTransition = val\n },\n UPDATE_LAYOUT_TYPE(state, val) {\n state.layout.type = val\n },\n UPDATE_CONTENT_WIDTH(state, val) {\n state.layout.contentWidth = val\n },\n UPDATE_NAV_MENU_HIDDEN(state, val) {\n state.layout.menu.hidden = val\n },\n UPDATE_NAVBAR_CONFIG(state, obj) {\n Object.assign(state.layout.navbar, obj)\n },\n UPDATE_FOOTER_CONFIG(state, obj) {\n Object.assign(state.layout.footer, obj)\n },\n },\n actions: {},\n}\n","import { $themeConfig } from '@themeConfig'\n\nexport default {\n namespaced: true,\n state: {\n isVerticalMenuCollapsed: $themeConfig.layout.menu.isCollapsed,\n },\n getters: {},\n mutations: {\n UPDATE_VERTICAL_MENU_COLLAPSED(state, val) {\n state.isVerticalMenuCollapsed = val\n },\n },\n actions: {},\n}\n","import axiosIns from \"@axios\";\r\nimport useJwt from '@/auth/jwt/useJwt'\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n AppActiveUser: {},\r\n Companies: [],\r\n Company: {}\r\n },\r\n getters: {\r\n getAppActiveUser: (state) => state.AppActiveUser,\r\n getCompanies: (state) => state.Companies,\r\n getCompany: (state) => state.Company,\r\n },\r\n mutations: {\r\n UPDATE_USER_INFO(state, payload) {\r\n if (payload.username) {\r\n state.AppActiveUser = payload;\r\n // localStorage.setItem(\"userInfo\", JSON.stringify(state.AppActiveUser))\r\n } else {\r\n state.AppActiveUser = {};\r\n }\r\n },\r\n UPDATE_COMPANIES(state, payload) {\r\n if (payload) {\r\n state.Companies = payload;\r\n } else {\r\n state.Companies = [];\r\n }\r\n },\r\n UPDATE_COMPANY(state, payload) {\r\n if (payload) {\r\n state.Company = payload;\r\n } else {\r\n state.Company = {};\r\n }\r\n },\r\n },\r\n actions: {\r\n logout({ commit }) {\r\n return new Promise((resolve, reject) => {\r\n axiosIns.post(\"account/logout/\" + localStorage.getItem(\"sessionId\"))\r\n .then(response => {\r\n commit('UPDATE_USER_INFO', {})\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error)\r\n }).finally(() => {\r\n localStorage.removeItem(useJwt.jwtConfig.storageTokenKeyName)\r\n localStorage.removeItem(useJwt.jwtConfig.storageRefreshTokenKeyName)\r\n localStorage.removeItem('userData');\r\n localStorage.removeItem('sessionId');\r\n localStorage.removeItem('company');\r\n // localStorage.clear()\r\n });\r\n })\r\n },\r\n INIT_USER_DATA({ commit }) {\r\n console.log(\"INIT_USER_DATA\")\r\n return new Promise((resolve, reject) => {\r\n // axiosIns.get(\"account/getMyInfo/\" + JSON.parse(localStorage.getItem('userData')).username)\r\n axiosIns.get(\"account/getMyInfo\")\r\n .then(response => {\r\n // localStorage.setItem(\"token\", response.headers.Authorization)\r\n commit('UPDATE_USER_INFO', response.data)\r\n resolve(response)\r\n })\r\n .catch(error => {\r\n reject(error)\r\n })\r\n })\r\n },\r\n INIT_COMPANIES({ commit }) {\r\n console.log(\"INIT_COMPANIES\")\r\n return new Promise((resolve, reject) => {\r\n axiosIns.get(\"company/findCompanies\")\r\n .then(response => {\r\n commit('UPDATE_COMPANIES', response.data.companies);\r\n commit('UPDATE_COMPANY', response.data.company);\r\n resolve(response);\r\n })\r\n .catch(error => {\r\n reject(error)\r\n })\r\n })\r\n }\r\n },\r\n}\r\n","const DB_NAME = \"ordersDatabase\";\r\nconst DB_VERSION = 1;\r\nconst ORDER_NAME = \"order\";\r\n\r\nlet db;\r\n\r\nfunction openDatabase() {\r\n return new Promise((resolve, reject) => {\r\n if (db) {\r\n resolve(db);\r\n return;\r\n }\r\n\r\n const request = indexedDB.open(DB_NAME, DB_VERSION);\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Failed to open database:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n\r\n request.onsuccess = (event) => {\r\n db = event.target.result;\r\n resolve(db);\r\n };\r\n\r\n request.onupgradeneeded = (event) => {\r\n db = event.target.result;\r\n if (!db.objectStoreNames.contains(ORDER_NAME)) {\r\n db.createObjectStore(ORDER_NAME, { keyPath: ['company', 'code'] });\r\n }\r\n };\r\n });\r\n}\r\n\r\nfunction closeDatabase() {\r\n if (db) {\r\n db.close();\r\n db = null;\r\n }\r\n}\r\n\r\nfunction addOrder(item) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([ORDER_NAME], 'readwrite');\r\n const store = transaction.objectStore(ORDER_NAME);\r\n\r\n const compoundKey = [localStorage.getItem('company'), item.code]; // Define the compound key as an array\r\n\r\n const getRequest = store.get(IDBKeyRange.only(compoundKey));\r\n\r\n getRequest.onsuccess = (event) => {\r\n const existingItem = event.target.result;\r\n\r\n if (existingItem) {\r\n const updatedItem = { ...existingItem, ...item };\r\n const updateRequest = store.put(updatedItem);\r\n\r\n updateRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n updateRequest.onerror = (event) => {\r\n console.error(\"Error updating item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n } else {\r\n const addRequest = store.add(item);\r\n\r\n addRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n addRequest.onerror = (event) => {\r\n console.error(\"Error adding item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n }\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction addOrders(items) {\r\n return Promise.all(items.map((item) => addOrder(ORDER_NAME, item)));\r\n}\r\n\r\nfunction getAllOrders() {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([ORDER_NAME], 'readonly');\r\n const store = transaction.objectStore(ORDER_NAME);\r\n const request = store.getAll();\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving items:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\n// function getByCompany(company) {\r\n// return new Promise((resolve, reject) => {\r\n// openDatabase()\r\n// .then(() => {\r\n// const transaction = db.transaction([ORDER_NAME], 'readonly');\r\n// const store = transaction.objectStore(ORDER_NAME);\r\n// const index = store.index('company');\r\n\r\n// const range = IDBKeyRange.only(company);\r\n// const request = index.getAll(range);\r\n\r\n// request.onsuccess = (event) => {\r\n// resolve(event.target.result);\r\n// };\r\n\r\n// request.onerror = (event) => {\r\n// console.error(\"Error retrieving items by company:\", event.target.error);\r\n// reject(event.target.error);\r\n// };\r\n// })\r\n// .catch((error) => {\r\n// console.error(\"Error opening database:\", error);\r\n// reject(error);\r\n// });\r\n// });\r\n// }\r\n\r\nfunction getOrderByCode(itemCode) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([ORDER_NAME], 'readonly');\r\n const store = transaction.objectStore(ORDER_NAME);\r\n const request = store.get(itemCode);\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction deleteByCode(code, company) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([ORDER_NAME], 'readwrite');\r\n const store = transaction.objectStore(ORDER_NAME);\r\n const compoundKey = [company, code]; // Define the compound key as an array\r\n\r\n const request = store.delete(IDBKeyRange.only(compoundKey)); // Use IDBKeyRange.only to match the compound key\r\n\r\n request.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error deleting items by code:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction getOrderCount() {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([ORDER_NAME], 'readonly');\r\n const store = transaction.objectStore(ORDER_NAME);\r\n const request = store.count();\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error counting items:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nexport { openDatabase, closeDatabase, addOrder, addOrders, getAllOrders, getOrderByCode, deleteByCode, getOrderCount };\r\n","import axios from '@axios'\r\n\r\nimport * as itemDB from '@/indexDB/item.js';\r\nimport * as orderDB from '@/indexDB/order.js';\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n itemsMED: [],\r\n itemsPARA: [],\r\n orderLines: 0,\r\n },\r\n getters: {\r\n isItemsMEDFetched: (state) => state.itemsMED.length > 0,\r\n isItemsPARAFetched: (state) => state.itemsPARA.length > 0,\r\n geItemsMED: (state) => state.itemsMED,\r\n geItemsPARA: (state) => state.itemsPARA,\r\n geItems: (state) => state.itemsPARA.concat(state.itemsMED),\r\n geItemMEDByCode: (state) => (code) => {\r\n return state.itemsMED.find((item) => item.code === code);\r\n },\r\n geItemPARAByCode: (state) => (code) => {\r\n return state.itemsPARA.find((item) => item.code === code);\r\n },\r\n geItemByCode: (state) => (code) => {\r\n let item = state.itemsMED.find((item) => item.code === code);\r\n if (item == undefined)\r\n return state.itemsPARA.find((item) => item.code === code);\r\n else return item;\r\n },\r\n getOrderLines: (state) => parseInt(state.orderLines),\r\n },\r\n mutations: {\r\n MUTATE_ITEMS_MED(state, payload) {\r\n state.itemsMED = payload;\r\n },\r\n MUTATE_ITEMS_PARA(state, payload) {\r\n state.itemsPARA = payload;\r\n },\r\n UPDATE_ORDER_LINES(state, payload) {\r\n state.orderLines = payload\r\n },\r\n INCREMENT_ORDER_LINES(state) {\r\n state.orderLines = state.orderLines + 1;\r\n },\r\n DECREMENT_ORDER_LINES(state) {\r\n state.orderLines = state.orderLines - 1;\r\n },\r\n },\r\n actions: {\r\n async FETCH_ITEMS_FROM_BACKEND({ dispatch }) {\r\n console.log(\"FETCH_ITEMS_FROM_BACKEND\");\r\n try {\r\n const response = await axios.get(\"_item/\" + localStorage.getItem(\"lastItemUpdate\"));\r\n console.log(response.data.length);\r\n if (response.status == 200) {\r\n if (response.data.length > 0) {\r\n await itemDB.openDatabase();\r\n await Promise.all(response.data.map(async (element) => {\r\n if (element.type == \"MED\") {\r\n await itemDB.addItem(itemDB.ITEM_MED_NAME, element);\r\n localStorage.setItem(\"lastItemUpdate\", element.updatedAt);\r\n } else {\r\n await itemDB.addItem(itemDB.ITEM_PARA_NAME, element);\r\n localStorage.setItem(\"lastItemUpdate\", element.updatedAt);\r\n }\r\n }));\r\n }\r\n }\r\n await dispatch('INITIALIZE_ITEMS_MED');\r\n await dispatch('INITIALIZE_ITEMS_PARA');\r\n itemDB.closeDatabase();\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n },\r\n\r\n async FETCH_ITEMS_FROM_BACKEND_WITH_PERCENTAGE({ dispatch }, updateProgress) {\r\n console.log(\"FETCH_ITEMS_FROM_BACKEND\");\r\n try {\r\n const response = await axios.get(\"_item/\" + localStorage.getItem(\"lastItemUpdate\"));\r\n console.log(response.data.length);\r\n if (response.status == 200) {\r\n if (response.data.length > 0) {\r\n await itemDB.openDatabase();\r\n let totalItems = response.data.length;\r\n let processedItems = 0;\r\n await Promise.all(response.data.map(async (element) => {\r\n if (element.type == \"MED\") {\r\n await itemDB.addItem(itemDB.ITEM_MED_NAME, element);\r\n } else {\r\n await itemDB.addItem(itemDB.ITEM_PARA_NAME, element);\r\n }\r\n processedItems++;\r\n updateProgress((processedItems / totalItems) * 100);\r\n localStorage.setItem(\"lastItemUpdate\", element.updatedAt);\r\n }));\r\n }\r\n }\r\n await dispatch('INITIALIZE_ITEMS_MED');\r\n await dispatch('INITIALIZE_ITEMS_PARA');\r\n itemDB.closeDatabase();\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n },\r\n\r\n async FETCH_BLOQUED_ITEMS() {\r\n console.log(\"FETCH_BLOQUED_ITEMS\");\r\n try {\r\n //* Sync Bloqued Items */\r\n const lastSyncDate = localStorage.getItem('lastBlockedSync');\r\n const lastSyncMonth = lastSyncDate ? new Date(lastSyncDate).getMonth() : null;\r\n const currentMonth = new Date().getMonth();\r\n\r\n // Check if the last sync was not this month\r\n if (lastSyncMonth === null || lastSyncMonth !== currentMonth) {\r\n // Call your API to sync the blocked items\r\n const response = await axios.get(\"_item/bloqued\");\r\n // await itemDB.openDatabase();\r\n response.data.forEach(async element => {\r\n await itemDB.deleteItem(itemDB.ITEM_MED_NAME, element);\r\n await itemDB.deleteItem(itemDB.ITEM_PARA_NAME, element);\r\n });\r\n // itemDB.closeDatabase();\r\n // console.log(response);\r\n // Update 'lastBlockedSync' in localStorage\r\n const today = new Date().toISOString().slice(0, 10);\r\n localStorage.setItem('lastBlockedSync', today);\r\n }\r\n //* Sync Bloqued Items */\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n },\r\n\r\n async FETCH_ITEMS_FROM_BACKEND_ADMIN({ dispatch }) {\r\n console.log(\"FETCH_ITEMS_FROM_BACKEND_ADMIN\");\r\n try {\r\n const response = await axios.get(\"_item/forAdmin/\" + localStorage.getItem(\"lastItemUpdate\"));\r\n console.log(response.data.length);\r\n if (response.status == 200) {\r\n if (response.data.length > 0) {\r\n await itemDB.openDatabase();\r\n await Promise.all(response.data.map(async (element) => {\r\n if (element.type == \"MED\") {\r\n await itemDB.addItem(itemDB.ITEM_MED_NAME, element);\r\n localStorage.setItem(\"lastItemUpdate\", element.updatedAt);\r\n } else {\r\n await itemDB.addItem(itemDB.ITEM_PARA_NAME, element);\r\n localStorage.setItem(\"lastItemUpdate\", element.updatedAt);\r\n }\r\n }));\r\n }\r\n }\r\n await dispatch('INITIALIZE_ITEMS_MED');\r\n await dispatch('INITIALIZE_ITEMS_PARA');\r\n itemDB.closeDatabase();\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n },\r\n\r\n async INITIALIZE_ITEMS_MED({ commit }) {\r\n console.log(\"INITIALIZE_ITEMS_MED\");\r\n let items = await itemDB.getAllItems(itemDB.ITEM_MED_NAME);\r\n commit('MUTATE_ITEMS_MED', items);\r\n },\r\n async INITIALIZE_ITEMS_PARA({ commit }) {\r\n console.log(\"INITIALIZE_ITEMS_PARA\");\r\n let items = await itemDB.getAllItems(itemDB.ITEM_PARA_NAME);\r\n commit('MUTATE_ITEMS_PARA', items);\r\n },\r\n\r\n GET_INVENTORY({ dispatch }, payload) {\r\n return new Promise((resolve, reject) => {\r\n axios.get('_item/inventory/' + payload.code + '/' + parseInt(payload.Qte)).then(resp => {\r\n // console.log(resp);\r\n if (resp.status == 200) {\r\n if (resp.data.status == 200) {\r\n let inventory = resp.data.result;\r\n let respStruct = {\r\n title: \"\",\r\n icon: \"\",\r\n text: \"\",\r\n variant: \"\",\r\n promotion: \"\",\r\n price: \"\",\r\n price_ttc: \"\",\r\n public_price: \"\",\r\n packaging: \"\",\r\n dlc: \"\",\r\n };\r\n respStruct.price = inventory.Unit_Price;\r\n respStruct.price_ttc = inventory.Price_Including_VAT;\r\n respStruct.public_price = inventory.Public_Price;\r\n respStruct.packaging = inventory.Packaging;\r\n respStruct.dlc = inventory.DLC;\r\n if (inventory.Quotas_Item_Exist) {\r\n if (payload.Qte <= parseInt(inventory.Quotas_Item_by_Customer) && payload.Qte <= parseInt(inventory.Quantity_available)) {\r\n respStruct.title = \"Quantité réservée\";\r\n respStruct.icon = \"CheckIcon\";\r\n respStruct.variant = \"success\";\r\n } else {\r\n respStruct.title = \"Indisponible en stock !\";\r\n respStruct.icon = \"XOctagonIcon\";\r\n respStruct.text = \"Aucun stock disponible pour l’article «\" + inventory.Description + \"»\";\r\n respStruct.variant = \"danger\";\r\n }\r\n } else {\r\n if (parseInt(inventory.Quantity_available) <= 0) {\r\n respStruct.title = \"Indisponible en stock !\";\r\n respStruct.icon = \"XOctagonIcon\";\r\n respStruct.text = \"Aucun stock disponible pour l’article «\" + inventory.Description + \"»\";\r\n respStruct.variant = \"danger\";\r\n } else if (payload.Qte > parseInt(inventory.Quantity_available)) {\r\n respStruct.title = \"Stock insuffisant !\";\r\n respStruct.icon = \"AlertOctagonIcon\";\r\n respStruct.text = \"Impossible de satisfaire la quantité demandée pour l’article «\" + inventory.Description + \"»\";\r\n respStruct.variant = \"danger\";\r\n } else if (inventory.Promotion_Inventory > 0) {\r\n if (parseInt(inventory.Sales_threshold) > payload.Qte) {\r\n respStruct.title = \"Promotion !\";\r\n respStruct.icon = \"GiftIcon\";\r\n respStruct.text = \"Une promotion disponible pour l’article «\" +\r\n payload.Qte +\r\n \"», changer la quantité pour pouvoir bénéficier de la promotion : \" +\r\n inventory.Sales_threshold +\r\n \" -> \" +\r\n inventory.Free_Sales_Qty;\r\n respStruct.variant = \"info\";\r\n respStruct.promotion = inventory.Sales_threshold + \" -> \" + inventory.Free_Sales_Qty;\r\n } else {\r\n var unitesGratuits = (payload.Qte / inventory.Sales_threshold) * inventory.Free_Sales_Qty;\r\n if (unitesGratuits > inventory.Promotion_Inventory) {\r\n unitesGratuits = inventory.Promotion_Inventory;\r\n }\r\n respStruct.title = \"Promotion !\";\r\n respStruct.icon = \"GiftIcon\";\r\n respStruct.text = \"Vous avez bénéficié de \" + Math.floor(unitesGratuits) +\r\n \" Unitée(s) gratuite(s) «\" + inventory.Sales_threshold +\r\n \" -> \" + inventory.Free_Sales_Qty + \"»\";\r\n respStruct.variant = \"info\";\r\n respStruct.promotion = \"+\" + Math.floor(unitesGratuits);\r\n }\r\n } else {\r\n respStruct.title = \"Quantité réservée\";\r\n respStruct.icon = \"CheckIcon\";\r\n // respStruct.text = \"Impossible de satisfaire la quantité demandée pour l’article «\" + response.data.Description + \"».\";\r\n respStruct.variant = \"success\";\r\n }\r\n }\r\n dispatch('SAVE_ORDER', { respStruct: respStruct, item: payload });\r\n resolve(respStruct);\r\n } else {\r\n reject({\r\n title: \"Article Actuellement Indisponible\",\r\n text: resp.data.error,\r\n icon: \"XOctagonIcon\",\r\n variant: \"danger\",\r\n });\r\n }\r\n } else {\r\n reject(resp.data.error)\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n reject(error)\r\n });\r\n });\r\n },\r\n\r\n async SAVE_ORDER({ dispatch }, obj) {\r\n // console.log(obj);\r\n // if (![\"warning\", \"danger\"].includes(obj.respStruct.variant)) {\r\n obj.item[\"state\"] = ![\"warning\", \"danger\"].includes(obj.respStruct.variant);\r\n obj.item[\"promotion\"] = obj.respStruct.promotion;\r\n obj.item[\"price\"] = obj.respStruct.price;\r\n // obj.item[\"priceHT\"] = obj.respStruct.price;\r\n obj.item[\"price_ttc\"] = obj.respStruct.price_ttc;\r\n // obj.item[\"priceTTC\"] = obj.respStruct.price_ttc;\r\n obj.item[\"public_price\"] = obj.respStruct.public_price;\r\n obj.item[\"dlc\"] = obj.respStruct.dlc;\r\n obj.item[\"packaging\"] = obj.respStruct.packaging;\r\n // obj.item[\"pricePublic\"] = obj.respStruct.public_price;\r\n obj.item[\"company\"] = localStorage.getItem('company');\r\n await orderDB.openDatabase();\r\n await orderDB.addOrder(obj.item);\r\n await orderDB.closeDatabase();\r\n // console.log(obj.item);\r\n // commit('INCREMENT_ORDER_LINES');\r\n dispatch('COUNT_ORDER_LINES');\r\n // }\r\n },\r\n\r\n async SAVE_ORDER_({ dispatch }, obj) {\r\n obj[\"company\"] = localStorage.getItem('company');\r\n await orderDB.openDatabase();\r\n await orderDB.addOrder(obj);\r\n await orderDB.closeDatabase();\r\n dispatch('COUNT_ORDER_LINES');\r\n },\r\n\r\n async FETCH_ORDERS() {\r\n await orderDB.openDatabase();\r\n let orders = await orderDB.getAllOrders();\r\n await orderDB.closeDatabase();\r\n return orders.filter(item => item.company == localStorage.getItem(\"company\"));\r\n },\r\n\r\n async DELETE_ORDER_LINE({ dispatch }, code) {\r\n await orderDB.openDatabase();\r\n await orderDB.deleteByCode(code, localStorage.getItem(\"company\"));\r\n await orderDB.closeDatabase();\r\n // commit('DECREMENT_ORDER_LINES');\r\n dispatch('COUNT_ORDER_LINES');\r\n },\r\n\r\n async COUNT_ORDER_LINES({ commit }) {\r\n let count = await orderDB.getOrderCount();\r\n commit('UPDATE_ORDER_LINES', count);\r\n },\r\n },\r\n}\r\n","const DB_NAME = \"basketsDatabase\";\r\nconst DB_VERSION = 1;\r\nconst BASKET_HEADER_NAME = \"basketHeader\";\r\nconst BASKET_LINE_NAME = \"basketLine\";\r\n\r\nlet db;\r\n\r\nfunction openDatabase() {\r\n return new Promise((resolve, reject) => {\r\n if (db) {\r\n resolve(db);\r\n return;\r\n }\r\n\r\n const request = indexedDB.open(DB_NAME, DB_VERSION);\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Failed to open database:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n\r\n request.onsuccess = (event) => {\r\n db = event.target.result;\r\n resolve(db);\r\n };\r\n\r\n request.onupgradeneeded = (event) => {\r\n db = event.target.result;\r\n if (!db.objectStoreNames.contains(BASKET_HEADER_NAME)) {\r\n db.createObjectStore(BASKET_HEADER_NAME, { keyPath: 'id', autoIncrement: true });\r\n }\r\n if (!db.objectStoreNames.contains(BASKET_LINE_NAME)) {\r\n const lineStore = db.createObjectStore(BASKET_LINE_NAME, { keyPath: ['code', 'basketHeaderId'] });\r\n lineStore.createIndex('basketHeaderId', 'basketHeaderId', { unique: false });\r\n }\r\n };\r\n });\r\n}\r\n\r\nfunction closeDatabase() {\r\n if (db) {\r\n db.close();\r\n db = null;\r\n }\r\n}\r\n\r\nfunction addBasketHeader(item) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([BASKET_HEADER_NAME], 'readwrite');\r\n const store = transaction.objectStore(BASKET_HEADER_NAME);\r\n const addRequest = store.add(item);\r\n addRequest.onsuccess = (event) => {\r\n const headerId = event.target.result;\r\n resolve(headerId);\r\n };\r\n addRequest.onerror = (event) => {\r\n console.error(\"Error adding item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction addBasketLine(item) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([BASKET_LINE_NAME], 'readwrite');\r\n const store = transaction.objectStore(BASKET_LINE_NAME);\r\n\r\n const key = [item.code, item.basketHeaderId];\r\n const getRequest = store.get(key);\r\n\r\n getRequest.onsuccess = (event) => {\r\n const existingItem = event.target.result;\r\n\r\n if (existingItem) {\r\n const updatedItem = { ...existingItem, ...item };\r\n const updateRequest = store.put(updatedItem);\r\n\r\n updateRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n updateRequest.onerror = (event) => {\r\n console.error(\"Error updating item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n } else {\r\n const addRequest = store.add(item);\r\n\r\n addRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n addRequest.onerror = (event) => {\r\n console.error(\"Error adding item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n }\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction getAllBasketHeaders() {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([BASKET_HEADER_NAME], 'readonly');\r\n const store = transaction.objectStore(BASKET_HEADER_NAME);\r\n const request = store.getAll();\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving items:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction getAllBasketLines(basketHeaderId) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([BASKET_LINE_NAME], 'readonly');\r\n const store = transaction.objectStore(BASKET_LINE_NAME);\r\n\r\n const index = store.index('basketHeaderId');\r\n const range = IDBKeyRange.only(basketHeaderId);\r\n const request = index.getAll(range);\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving items:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction deleteBasketLine(code, basketHeaderId) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then((db) => {\r\n const transaction = db.transaction([BASKET_LINE_NAME], 'readwrite');\r\n const store = transaction.objectStore(BASKET_LINE_NAME);\r\n\r\n // Create a compound key with code and basketHeaderId\r\n const key = [code, basketHeaderId];\r\n const deleteRequest = store.delete(key);\r\n\r\n deleteRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n deleteRequest.onerror = (event) => {\r\n console.error(\"Error deleting item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction deleteBasketHeaderAndLines(basketHeaderId) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then((db) => {\r\n const transaction = db.transaction([BASKET_HEADER_NAME, BASKET_LINE_NAME], 'readwrite');\r\n const headerStore = transaction.objectStore(BASKET_HEADER_NAME);\r\n const lineStore = transaction.objectStore(BASKET_LINE_NAME);\r\n\r\n const linesIndex = lineStore.index('basketHeaderId');\r\n const linesRange = IDBKeyRange.only(basketHeaderId);\r\n const deleteLinesRequest = linesIndex.openCursor(linesRange);\r\n\r\n deleteLinesRequest.onsuccess = (event) => {\r\n const cursor = event.target.result;\r\n\r\n if (cursor) {\r\n cursor.delete();\r\n cursor.continue();\r\n } else {\r\n const deleteHeaderRequest = headerStore.delete(basketHeaderId);\r\n\r\n deleteHeaderRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n deleteHeaderRequest.onerror = (event) => {\r\n console.error(\"Error deleting header:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n }\r\n };\r\n\r\n deleteLinesRequest.onerror = (event) => {\r\n console.error(\"Error deleting lines:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\n\r\nexport { openDatabase, closeDatabase, addBasketHeader, addBasketLine, getAllBasketHeaders, getAllBasketLines, deleteBasketLine, deleteBasketHeaderAndLines };\r\n","import * as basketDB from '@/indexDB/basket.js';\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n basketHeaders: [],\r\n basketHeadersCount: 0,\r\n },\r\n getters: {\r\n getBasketHeaders: (state) => state.basketHeaders.reverse(),\r\n getBasketHeadersCount: (state) => parseInt(state.basketHeadersCount),\r\n },\r\n mutations: {\r\n MUTATE_BASKET_HEADER(state, payload) {\r\n state.basketHeaders = payload;\r\n },\r\n UPDATE_ORDER_LINES(state, payload) {\r\n state.basketHeadersCount = payload\r\n },\r\n INCREMENT_ORDER_LINES(state) {\r\n state.basketHeadersCount = state.basketHeadersCount + 1;\r\n },\r\n DECREMENT_ORDER_LINES(state) {\r\n state.basketHeadersCount = state.basketHeadersCount - 1;\r\n },\r\n },\r\n actions: {\r\n\r\n async FILL_BASKET_HEADERS({ commit }) {\r\n await basketDB.openDatabase();\r\n let headers = await basketDB.getAllBasketHeaders();\r\n commit('MUTATE_BASKET_HEADER', headers);\r\n basketDB.closeDatabase();\r\n },\r\n async ADD_BASKET_HEADER({ dispatch, rootGetters }, basketName) {\r\n await basketDB.openDatabase();\r\n const now = new Date();\r\n const day = String(now.getDate()).padStart(2, '0');\r\n const month = String(now.getMonth() + 1).padStart(2, '0');\r\n const year = now.getFullYear();\r\n const hours = String(now.getHours()).padStart(2, '0');\r\n const minutes = String(now.getMinutes()).padStart(2, '0');\r\n const seconds = String(now.getSeconds()).padStart(2, '0');\r\n const formattedDateTime = `${day}-${month}-${year} ${hours}:${minutes}:${seconds}`;\r\n let headerId = await basketDB.addBasketHeader({ name: basketName == undefined ? rootGetters['app-userdata/getCompany'].description : basketName, time: formattedDateTime });\r\n await basketDB.closeDatabase();\r\n dispatch('FILL_BASKET_HEADERS');\r\n return headerId;\r\n },\r\n async ADD_BASKET_LINE(_, item) {\r\n await basketDB.openDatabase();\r\n await basketDB.addBasketLine(item);\r\n await basketDB.closeDatabase();\r\n },\r\n async GET_BASKET_LINES(_, basketHeaderId) {\r\n await basketDB.openDatabase();\r\n let lines = await basketDB.getAllBasketLines(basketHeaderId);\r\n await basketDB.closeDatabase();\r\n return lines;\r\n },\r\n async DELETE_BASKET_LINE(_, line) {\r\n await basketDB.openDatabase();\r\n await basketDB.deleteBasketLine(line.code, line.basketHeaderId);\r\n await basketDB.closeDatabase();\r\n },\r\n async DELETE_BASKET_HEADER({ dispatch }, basketHeaderId) {\r\n await basketDB.openDatabase();\r\n await basketDB.deleteBasketHeaderAndLines(basketHeaderId);\r\n await dispatch('FILL_BASKET_HEADERS');\r\n await basketDB.closeDatabase();\r\n },\r\n\r\n },\r\n}\r\n","const DB_NAME = \"favoritesDatabase\";\r\nconst DB_VERSION = 1;\r\nconst FVORITE_NAME = \"favorite\";\r\n\r\nlet db;\r\n\r\nfunction openDatabase() {\r\n return new Promise((resolve, reject) => {\r\n if (db) {\r\n resolve(db);\r\n return;\r\n }\r\n\r\n const request = indexedDB.open(DB_NAME, DB_VERSION);\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Failed to open database:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n\r\n request.onsuccess = (event) => {\r\n db = event.target.result;\r\n resolve(db);\r\n };\r\n\r\n request.onupgradeneeded = (event) => {\r\n db = event.target.result;\r\n if (!db.objectStoreNames.contains(FVORITE_NAME)) {\r\n db.createObjectStore(FVORITE_NAME, { keyPath: 'code' });\r\n }\r\n };\r\n });\r\n}\r\n\r\nfunction closeDatabase() {\r\n if (db) {\r\n db.close();\r\n db = null;\r\n }\r\n}\r\n\r\nfunction addFavorite(item) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([FVORITE_NAME], 'readwrite');\r\n const store = transaction.objectStore(FVORITE_NAME);\r\n const addRequest = store.add(item);\r\n addRequest.onsuccess = () => {\r\n resolve();\r\n };\r\n addRequest.onerror = (event) => {\r\n console.error(\"Error adding item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction deleteFavorite(code) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([FVORITE_NAME], 'readwrite');\r\n const store = transaction.objectStore(FVORITE_NAME);\r\n\r\n const request = store.delete(code); // Use IDBKeyRange.only to match the compound key\r\n\r\n\r\n request.onsuccess = () => {\r\n resolve();\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error deleting items by code:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction findAll() {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([FVORITE_NAME], 'readonly');\r\n const store = transaction.objectStore(FVORITE_NAME);\r\n const request = store.getAll();\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving items:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nfunction findByCode(code) {\r\n return new Promise((resolve, reject) => {\r\n openDatabase()\r\n .then(() => {\r\n const transaction = db.transaction([FVORITE_NAME], 'readonly');\r\n const store = transaction.objectStore(FVORITE_NAME);\r\n const request = store.get(code);\r\n\r\n request.onsuccess = (event) => {\r\n resolve(event.target.result);\r\n };\r\n\r\n request.onerror = (event) => {\r\n console.error(\"Error retrieving item:\", event.target.error);\r\n reject(event.target.error);\r\n };\r\n })\r\n .catch((error) => {\r\n console.error(\"Error opening database:\", error);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\nexport { openDatabase, closeDatabase, addFavorite, deleteFavorite, findAll, findByCode };\r\n","import * as favoritetDB from '@/indexDB/favorite.js';\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n favorites: [],\r\n },\r\n getters: {\r\n getFavorites: (state) => state.favorites.reverse(),\r\n },\r\n mutations: {\r\n MUTATE_FAVORITES(state, payload) {\r\n state.favorites = payload;\r\n },\r\n },\r\n actions: {\r\n async FILL_FAVORITES({ commit }) {\r\n await favoritetDB.openDatabase();\r\n let favorites = await favoritetDB.findAll();\r\n commit('MUTATE_FAVORITES', favorites);\r\n favoritetDB.closeDatabase();\r\n },\r\n async ADD_FAVORITE({ dispatch }, item) {\r\n await favoritetDB.openDatabase();\r\n await favoritetDB.addFavorite(item);\r\n await favoritetDB.closeDatabase();\r\n dispatch('FILL_FAVORITES');\r\n },\r\n async DELETE_FAVORITE({ dispatch }, line) {\r\n await favoritetDB.openDatabase();\r\n await favoritetDB.deleteFavorite(line.code);\r\n await favoritetDB.closeDatabase();\r\n dispatch('FILL_FAVORITES');\r\n },\r\n async FIND_FAVORITE(_, code) {\r\n await favoritetDB.openDatabase();\r\n let fav = await favoritetDB.findByCode(code);\r\n await favoritetDB.closeDatabase();\r\n return fav;\r\n },\r\n\r\n },\r\n}\r\n","import Vue from 'vue'\nimport Vuex from 'vuex'\n\n// Modules\nimport app from './app'\nimport appConfig from './app-config'\nimport verticalMenu from './vertical-menu'\nimport userdata from './user-data'\nimport itemData from './item-data'\nimport basketData from './basket-data'\nimport favoriteData from './favorite-data'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n modules: {\n app,\n appConfig,\n verticalMenu,\n 'app-userdata': userdata,\n 'app-items': itemData,\n 'app-baskets': basketData,\n 'app-favorites': favoriteData,\n },\n strict: process.env.DEV,\n})\n","var render, staticRenderFns\nimport script from \"./FeatherIcon.vue?vue&type=script&lang=js\"\nexport * from \"./FeatherIcon.vue?vue&type=script&lang=js\"\nimport style0 from \"./FeatherIcon.vue?vue&type=style&index=0&id=b3216f64&prod&lang=scss\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"h-100\",class:[_vm.skinClasses],attrs:{\"id\":\"app\"}},[_c(_vm.layout,{tag:\"component\"},[_c('router-view')],1),_c('scroll-to-top')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"btn-scroll-to-top\",class:{'show': _vm.y > 250}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"btn-icon\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.scrollToTop}},[_c('feather-icon',{attrs:{\"icon\":\"ArrowUpIcon\",\"size\":\"16\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!./ScrollToTop.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!./ScrollToTop.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ScrollToTop.vue?vue&type=template&id=8314f794&scoped=true\"\nimport script from \"./ScrollToTop.vue?vue&type=script&lang=js\"\nexport * from \"./ScrollToTop.vue?vue&type=script&lang=js\"\nimport style0 from \"./ScrollToTop.vue?vue&type=style&index=0&id=8314f794&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 \"8314f794\",\n null\n \n)\n\nexport default component.exports","\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!./App.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!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=44b13065\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=44b13065&prod&lang=css\"\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","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!./FeatherIcon.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!./FeatherIcon.vue?vue&type=script&lang=js\"","import Vue from 'vue'\nimport FeatherIcon from '@core/components/feather-icon/FeatherIcon.vue'\n\nVue.component(FeatherIcon.name, FeatherIcon)\n","import Vue from 'vue'\nimport PortalVue from 'portal-vue'\n\nVue.use(PortalVue)\n","import Vue from 'vue'\nimport Toast from 'vue-toastification'\n\n// Toast Notification Component Styles\nimport \"vue-toastification/dist/index.css\";\nimport '@core/scss/vue/libs/toastification.scss'\n\n/**\n * NOTE: If you are using other transition them make sure to import it in `src/@core/scss/vue/libs/notification.scss` from it's source\n */\n// Vue.use(Toast, {\n// icon: false,\n// position: \"top-right\",\n// timeout: 100000,\n// closeOnClick: true,\n// pauseOnFocusLoss: false,\n// pauseOnHover: true,\n// draggable: true,\n// draggablePercent: 2,\n// showCloseButtonOnHover: true,\n// hideProgressBar: true,\n// closeButton: \"button\",\n// transition: \"Vue-Toastification__bounce\",\n// })\n\nVue.use(Toast, {\n icon: false,\n transition: 'Vue-Toastification__bounce',\n position: \"top-right\",\n timeout: 8000,\n closeOnClick: false,\n pauseOnFocusLoss: false,\n pauseOnHover: true,\n draggable: true,\n draggablePercent: 2,\n hideProgressBar: false,\n maxToasts: 20,\n newestOnTop: true\n})\n","import Vue from 'vue'\nimport { abilitiesPlugin } from '@casl/vue'\nimport ability from './ability'\n\nVue.use(abilitiesPlugin, ability)\n","import Vue from 'vue'\nimport VueSweetalert2 from 'vue-sweetalert2'\n\nVue.use(VueSweetalert2)\n","import Vue from 'vue'\nimport VueTour from 'vue-tour'\n\nVue.use(VueTour)\n","import Vue from 'vue'\nimport { BootstrapVue } from 'bootstrap-vue'\nimport VueCompositionAPI from '@vue/composition-api'\n\nimport router from './router'\nimport store from './store'\nimport App from './App.vue'\nimport VueMeta from 'vue-meta';\nimport 'font-awesome/css/font-awesome.min.css'; // Import Font Awesome CSS\n\n// import * as Sentry from \"@sentry/vue\";\n// Global Components\nimport './global-components'\n\n// 3rd party plugins\nimport '@/libs/portal-vue'\nimport '@/libs/toastification'\nimport '@/libs/acl'\nimport 'material-icons/iconfont/material-icons.css' //Material Icons\nimport '@/libs/sweet-alerts'\nimport '@/libs/tour'\n// BSV Plugin Registration\nVue.use(BootstrapVue)\n\n// Composition API\nVue.use(VueCompositionAPI)\n\nVue.use(VueMeta);\nVue.component('VueFontawesome', require('vue-fontawesome-icon/VueFontawesome.vue').default);\n\n// import core styles\nrequire('@core/scss/core.scss')\n\n// import assets styles\nrequire('@/assets/scss/style.scss')\n\n\n\n// Sentry.init({\n// App,\n// dsn: \"https://adee03e0cd5a8189a71e5aa50db72259@o4507253316321280.ingest.de.sentry.io/4507253338275920\",\n// integrations: [\n// Sentry.browserTracingIntegration(),\n// Sentry.replayIntegration({\n// maskAllText: false,\n// blockAllMedia: false,\n// }),\n// ],\n// // Performance Monitoring\n// tracesSampleRate: 1.0, // Capture 100% of the transactions\n// // Set 'tracePropagationTargets' to control for which URLs distributed tracing should be enabled\n// tracePropagationTargets: [/^https:\\/\\/pharmaconnect\\.net/],\n// // Session Replay\n// replaysSessionSampleRate: 0.1, // This sets the sample rate at 10%. You may want to change it to 100% while in development and then sample at a lower rate in production.\n// replaysOnErrorSampleRate: 1.0, // If you're not already sampling the entire session, change the sample rate to 100% when sampling sessions where errors occur.\n// });\n\n\nVue.config.productionTip = false\nexport const eventBus = new Vue();\nnew Vue({\n router,\n store,\n render: h => h(App),\n}).$mount('#app')","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!./ScrollToTop.vue?vue&type=style&index=0&id=8314f794&prod&lang=scss&scoped=true\"","export default {\n // Endpoints\n loginEndpoint: '/login',\n registerEndpoint: '/jwt/register',\n refreshEndpoint: '/jwt/refresh-token',\n logoutEndpoint: '/jwt/logout',\n\n // This will be prefixed in authorization header with token\n // e.g. Authorization: Bearer \n tokenType: 'Bearer',\n\n // Value of this property will be used as key to store JWT token in storage\n storageTokenKeyName: 'accessToken',\n storageRefreshTokenKeyName: 'refreshToken',\n}\n","import jwtDefaultConfig from './jwtDefaultConfig'\n\n\nimport { eventBus } from '@/main';\n\n\nexport default class JwtService {\n // Will be used by this service for making API calls\n axiosIns = null\n\n // jwtConfig <= Will be used by this service\n jwtConfig = { ...jwtDefaultConfig }\n\n // For Refreshing Token\n isAlreadyFetchingAccessToken = false\n\n // For Refreshing Token\n subscribers = []\n\n constructor(axiosIns, jwtOverrideConfig) {\n this.axiosIns = axiosIns\n this.jwtConfig = { ...this.jwtConfig, ...jwtOverrideConfig }\n\n // Request Interceptor\n this.axiosIns.interceptors.request.use(\n config => {\n // Get token from localStorage\n const accessToken = this.getToken()\n\n // If token is present add it to request's Authorization Header\n if (accessToken) {\n // eslint-disable-next-line no-param-reassign\n config.headers.Authorization = `${this.jwtConfig.tokenType} ${accessToken}`\n }\n return config\n },\n error => Promise.reject(error),\n )\n\n // Add request/response interceptor\n this.axiosIns.interceptors.response.use(\n response => response,\n error => {\n // const { config, response: { status } } = error\n const { config, response } = error\n eventBus.$emit('show-sweetalert-error', response);\n const originalRequest = config\n\n // if (status === 401) {\n if (response && response.status === 401) {\n if (!this.isAlreadyFetchingAccessToken) {\n this.isAlreadyFetchingAccessToken = true\n this.refreshToken().then(r => {\n this.isAlreadyFetchingAccessToken = false\n\n // Update accessToken in localStorage\n this.setToken(r.data.accessToken)\n this.setRefreshToken(r.data.refreshToken)\n\n this.onAccessTokenFetched(r.data.accessToken)\n })\n }\n const retryOriginalRequest = new Promise(resolve => {\n this.addSubscriber(accessToken => {\n // Make sure to assign accessToken according to your response.\n // Check: https://pixinvent.ticksy.com/ticket/2413870\n // Change Authorization header\n originalRequest.headers.Authorization = `${this.jwtConfig.tokenType} ${accessToken}`\n resolve(this.axiosIns(originalRequest))\n })\n })\n return retryOriginalRequest\n }\n return Promise.reject(error)\n },\n )\n }\n\n onAccessTokenFetched(accessToken) {\n this.subscribers = this.subscribers.filter(callback => callback(accessToken))\n }\n\n addSubscriber(callback) {\n this.subscribers.push(callback)\n }\n\n getToken() {\n return localStorage.getItem(this.jwtConfig.storageTokenKeyName)\n }\n\n getRefreshToken() {\n return localStorage.getItem(this.jwtConfig.storageRefreshTokenKeyName)\n }\n\n // setCurrentCompany(company) {\n // localStorage.setItem(\"company\", company);\n // }\n\n setToken(data) {\n localStorage.setItem(this.jwtConfig.storageTokenKeyName, data.token);\n }\n\n // getBaseToken() {\n // return localStorage.getItem(this.jwtConfig.storageTokenKeyName);\n // }\n\n setUserData(value) {\n localStorage.setItem('userData', JSON.stringify(value));\n localStorage.setItem(\"sessionId\", value.sessionId);\n localStorage.setItem(\"company\", value.company);\n }\n\n setRefreshToken(value) {\n localStorage.setItem(this.jwtConfig.storageRefreshTokenKeyName, value)\n }\n\n login(...args) {\n return this.axiosIns.post(this.jwtConfig.loginEndpoint + '', null, {\n headers: {\n username: args[0].email,\n password: args[0].password\n }\n })\n }\n\n register(...args) {\n return this.axiosIns.post(this.jwtConfig.registerEndpoint, ...args)\n }\n\n refreshToken() {\n return this.axiosIns.post(this.jwtConfig.refreshEndpoint, {\n refreshToken: this.getRefreshToken(),\n })\n }\n}\n","import JwtService from './jwtService'\n\nexport default function useJwt(axiosIns, jwtOverrideConfig) {\n const jwt = new JwtService(axiosIns, jwtOverrideConfig)\n\n return {\n jwt,\n }\n}\n","import useJwt from '@core/auth/jwt/useJwt'\nimport axios from '@axios'\n\nconst { jwt } = useJwt(axios, {})\nexport default jwt\n","import Vue from 'vue'\n\n// axios\nimport axios from 'axios'\n\nconst axiosIns = axios.create({\n // baseURL: 'http://127.0.0.1:444/pharmaConnect/api/',\n // baseURL: '/pharmaconnect/',\n baseURL: 'https://pharmaconnect.net/pharmaconnect/',\n})\n\nexport const DIRECTORY_FILES_PATH = \"https://www.pharmaconnect.net/docserver/\"\n// export const DIRECTORY_FILES_PATH = \"https://www.pharmaconnect.net/docserverdev/\"\n\nVue.prototype.$serverpath = DIRECTORY_FILES_PATH\nVue.prototype.$http = axiosIns\nexport default axiosIns","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!./FeatherIcon.vue?vue&type=style&index=0&id=b3216f64&prod&lang=scss\"","export default [\r\n //documents --------------------\r\n {\r\n path: '/docs/orders',\r\n name: 'docs-orders',\r\n component: () => import('@/views/customer/docs/Orders.vue'),\r\n meta: {\r\n resource: 'docs-orders',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/docs/shipments',\r\n name: 'docs-shipments',\r\n component: () => import('@/views/customer/docs/Shipments.vue'),\r\n meta: {\r\n resource: 'docs-shipments',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/docs/credit-memos',\r\n name: 'docs-credit-memos',\r\n component: () => import('@/views/customer/docs/CreditMemos.vue'),\r\n meta: {\r\n resource: 'docs-credit-memos',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/docs/validated-credit-memos',\r\n name: 'docs-validated-credit-memos',\r\n component: () => import('@/views/customer/docs/ValidatedCreditMemos.vue'),\r\n meta: {\r\n resource: 'docs-validated-credit-memos',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/docs/validated-invoices',\r\n name: 'docs-validated-invoices',\r\n component: () => import('@/views/customer/docs/ValidateInvoices.vue'),\r\n meta: {\r\n resource: 'docs-validated-invoices',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/docs/returns',\r\n name: 'docs-returns',\r\n component: () => import('@/views/customer/docs/Returns.vue'),\r\n meta: {\r\n resource: 'docs-returns',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/docs/invoices',\r\n name: 'docs-invoices',\r\n component: () => import('@/views/customer/docs/Invoices.vue'),\r\n meta: {\r\n resource: 'docs-invoices',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/docs/billing-docs',\r\n name: 'docs-billing-documents',\r\n component: () => import('@/views/customer/docs/BillingDocs.vue'),\r\n meta: {\r\n resource: 'docs-billing-documents',\r\n action: 'page',\r\n contentRenderer: 'sidebar-left-detached',\r\n contentClass: 'ecommerce-application',\r\n },\r\n },\r\n {\r\n path: '/actuality',\r\n name: 'arrivals',\r\n component: () => import('@/views/customer/actuality/Actualities.vue'),\r\n meta: {\r\n resource: 'arrivals',\r\n action: 'page',\r\n contentRenderer: 'sidebar-left-detached',\r\n contentClass: 'ecommerce-application',\r\n },\r\n },\r\n {\r\n path: '/catalog',\r\n name: 'catalog',\r\n component: () => import('@/views/customer/catalog/Catalog.vue'),\r\n meta: {\r\n resource: 'catalog',\r\n action: 'page',\r\n contentRenderer: 'sidebar-left-detached',\r\n contentClass: 'ecommerce-application',\r\n },\r\n },\r\n {\r\n path: '/new-order',\r\n name: 'new-order',\r\n component: () => import('@/views/customer/order/NewOrder.vue'),\r\n meta: {\r\n resource: 'new-order',\r\n action: 'page',\r\n title: 'New Orderrrr - PharmaConnect'\r\n },\r\n },\r\n {\r\n path: '/users',\r\n name: 'sub-accounts',\r\n component: () => import('@/views/customer/users/Users.vue'),\r\n meta: {\r\n resource: 'sub-accounts',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/users/new',\r\n name: 'add-new-user',\r\n component: () => import('@/views/customer/users/NewUser.vue'),\r\n meta: {\r\n resource: 'add-new-user',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/claims',\r\n name: 'claims',\r\n component: () => import('@/views/customer/Claims.vue'),\r\n meta: {\r\n resource: 'claims',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/return',\r\n name: 'return-proposal',\r\n component: () => import('@/views/customer/return/Proposal.vue'),\r\n meta: {\r\n resource: 'return-proposal',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/return-new',\r\n name: 'return-proposal-new',\r\n component: () => import('@/views/customer/return/NewProposal.vue'),\r\n meta: {\r\n resource: 'return-proposal',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/purchase-history',\r\n name: 'purchase-history',\r\n component: () => import('@/views/customer/PurchaseHistory.vue'),\r\n meta: {\r\n resource: 'purchase-history',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/basket/:slug',\r\n name: 'basket',\r\n component: () => import('@/views/customer/basket/Basket.vue'),\r\n meta: {\r\n resource: 'new-order',\r\n action: 'page',\r\n },\r\n },\r\n]\r\n","export default [\r\n {\r\n path: '/administrator/dashboard',\r\n name: 'admin-dashboard',\r\n component: () => import('@/views/administrator/Dashboard.vue'),\r\n meta: {\r\n resource: 'admin-dashboard',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/administrator/customers-list',\r\n name: 'admin-customers-list',\r\n component: () => import('@/views/administrator/users/Customer.vue'),\r\n meta: {\r\n resource: 'admin-customers-list',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/administrator/supplier-list',\r\n name: 'admin-suppliers-list',\r\n component: () => import('@/views/administrator/users/Supplier.vue'),\r\n meta: {\r\n resource: 'admin-suppliers-list',\r\n action: 'page',\r\n },\r\n },\r\n // {\r\n // path: '/administrator/administrators-list',\r\n // name: 'admin-administrators-list',\r\n // component: () => import('@/views/administrator/users/Administrator.vue'),\r\n // meta: {\r\n // resource: 'admin-administrators-list',\r\n // action: 'page',\r\n // },\r\n // },\r\n {\r\n path: '/administrator/orders-list',\r\n name: 'admin-orders-list',\r\n component: () => import('@/views/administrator/orders/OrdersList.vue'),\r\n meta: {\r\n action: 'page',\r\n resource: 'admin-orders-list'\r\n },\r\n },\r\n {\r\n path: '/administrator/connection-tracking',\r\n name: 'admin-connection-tracking',\r\n component: () => import('@/views/administrator/ConnectionTracking.vue'),\r\n meta: {\r\n action: 'page',\r\n resource: 'admin-connection-tracking'\r\n },\r\n },\r\n {\r\n path: '/administrator/claims',\r\n name: 'admin-claims',\r\n component: () => import('@/views/administrator/Claims.vue'),\r\n meta: {\r\n action: 'page',\r\n resource: 'admin-claims'\r\n },\r\n },\r\n {\r\n path: '/customer/:slug',\r\n name: 'customer-dashboard',\r\n component: () => import('@/views/administrator/CustomerDashboard.vue'),\r\n meta: {\r\n action: 'page',\r\n resource: 'admin-customer-dashboard',\r\n },\r\n },\r\n]\r\n","import ability from './ability'\n\nexport const canNavigate = to => to.matched.some(route => (ability.can(route.meta.action || 'read', route.meta.resource) || (route.meta.layout == 'full' || route.meta.layout == 'website')))\n\nexport const _ = undefined\n","export default [\r\n {\r\n path: '/supervisor/dashboard',\r\n name: 'supervisor-dashboard',\r\n component: () => import('@/views/supervisor/Dashboard.vue'),\r\n meta: {\r\n resource: 'supervisor-dashboard',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/companies',\r\n name: 'supervisor-companies',\r\n component: () => import('@/views/supervisor/company/List.vue'),\r\n meta: {\r\n resource: 'supervisor-companies',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/pharmacy',\r\n name: 'supervisor-pharmacy',\r\n component: () => import('@/views/supervisor/pharmacy/List.vue'),\r\n meta: {\r\n resource: 'supervisor-pharmacy',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/pharmacy-new',\r\n name: 'supervisor-pharmacy-new',\r\n component: () => import('@/views/supervisor/pharmacy/New.vue'),\r\n meta: {\r\n resource: 'supervisor-pharmacy',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/vendor',\r\n name: 'supervisor-vendor',\r\n component: () => import('@/views/supervisor/vendor/List.vue'),\r\n meta: {\r\n resource: 'supervisor-vendor',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/vendor-new',\r\n name: 'supervisor-vendor-new',\r\n component: () => import('@/views/supervisor/vendor/New.vue'),\r\n meta: {\r\n resource: 'supervisor-vendor',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/customers/:slug',\r\n name: 'supervisor-customers',\r\n component: () => import('@/views/supervisor/company/CustomerByCompany.vue'),\r\n meta: {\r\n resource: 'supervisor-customers',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/suppliers/:slug',\r\n name: 'supervisor-suppliers',\r\n component: () => import('@/views/supervisor/company/SupplierByCompany.vue'),\r\n meta: {\r\n resource: 'supervisor-suppliers',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/items',\r\n name: 'supervisor-item-list',\r\n component: () => import('@/views/supervisor/item/ItemList.vue'),\r\n meta: {\r\n resource: 'supervisor-item-list',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/item/:code',\r\n name: 'supervisor-item-sheet',\r\n component: () => import('@/views/supervisor/item/ItemSheet.vue'),\r\n meta: {\r\n resource: 'supervisor-item-sheet',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/supp/items/:code',\r\n name: 'supervisor-supp-items',\r\n component: () => import('@/views/supervisor/vendor/Items.vue'),\r\n meta: {\r\n resource: 'supervisor-item-sheet',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/families',\r\n name: 'supervisor-family',\r\n component: () => import('@/views/supervisor/item/Family.vue'),\r\n meta: {\r\n resource: 'supervisor-family',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/sub-families',\r\n name: 'supervisor-subFamily',\r\n component: () => import('@/views/supervisor/item/SubFamily.vue'),\r\n meta: {\r\n resource: 'supervisor-subFamily',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/dci',\r\n name: 'supervisor-dci',\r\n component: () => import('@/views/supervisor/item/DCI.vue'),\r\n meta: {\r\n resource: 'supervisor-dci',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/company-items/:slug',\r\n name: 'supervisor-company-items',\r\n component: () => import('@/views/supervisor/item/CompanyItems.vue'),\r\n meta: {\r\n resource: 'supervisor-company-items',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/logs',\r\n name: 'supervisor-middleware-logs',\r\n component: () => import('@/views/supervisor/log/Log.vue'),\r\n meta: {\r\n resource: 'supervisor-middleware-logs',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/notifications',\r\n name: 'supervisor-notifications',\r\n component: () => import('@/views/supervisor/notification/List.vue'),\r\n meta: {\r\n resource: 'supervisor-notifications',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/matching-items',\r\n name: 'supervisor-matching-items',\r\n component: () => import('@/views/supervisor/item/MatchingItems.vue'),\r\n meta: {\r\n resource: 'supervisor-matching-items',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/website-contact',\r\n name: 'supervisor-website-contact',\r\n component: () => import('@/views/supervisor/website/Contact.vue'),\r\n meta: {\r\n resource: 'supervisor-website-contact',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/website-blog-list',\r\n name: 'supervisor-website-blog-list',\r\n component: () => import('@/views/supervisor/website/blog/List.vue'),\r\n meta: {\r\n resource: 'supervisor-website-blog',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/website-blog',\r\n name: 'supervisor-website-blog',\r\n component: () => import('@/views/supervisor/website/blog/Blog.vue'),\r\n meta: {\r\n resource: 'supervisor-website-blog',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supervisor/website-blog/:id',\r\n name: 'supervisor-website-blog-edit',\r\n component: () => import('@/views/supervisor/website/blog/Blog.vue'),\r\n meta: {\r\n resource: 'supervisor-website-blog',\r\n action: 'page',\r\n },\r\n },\r\n]\r\n","export default [\r\n {\r\n path: '/supplier/dashboard',\r\n name: 'supplier-dashboard',\r\n component: () => import('@/views/supplier/Dashboard.vue'),\r\n meta: {\r\n resource: 'supplier-dashboard',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supplier/stock-availibility',\r\n name: 'supplier-stock-availibility',\r\n component: () => import('@/views/supplier/StockAvailibility.vue'),\r\n meta: {\r\n resource: 'supplier-stock-availibility',\r\n action: 'page',\r\n },\r\n },\r\n {\r\n path: '/supplier/statistics',\r\n name: 'supplier-statistics',\r\n component: () => import('@/views/supplier/StatList.vue'),\r\n meta: {\r\n resource: 'supplier-statistics',\r\n action: 'page',\r\n contentRenderer: 'sidebar-left-detached',\r\n contentClass: 'ecommerce-application',\r\n },\r\n },\r\n {\r\n path: '/supplier/item-statistics/:no',\r\n name: 'supplier-item-statistics',\r\n component: () => import('@/views/supplier/StatDetails.vue'),\r\n meta: {\r\n action: 'page',\r\n resource: 'supplier-item-statistics'\r\n },\r\n },\r\n {\r\n path: '/supplier/items-catalog',\r\n name: 'supplier-items-catalog',\r\n component: () => import('@/views/supplier/Catalog.vue'),\r\n meta: {\r\n resource: 'supplier-items-catalog',\r\n action: 'page',\r\n contentRenderer: 'sidebar-left-detached',\r\n contentClass: 'ecommerce-application',\r\n },\r\n },\r\n {\r\n path: '/supplier/items-list',\r\n name: 'supplier-items-list',\r\n component: () => import('@/views/supplier/ItemsList.vue'),\r\n meta: {\r\n action: 'page',\r\n resource: 'supplier-items-list'\r\n },\r\n },\r\n {\r\n path: '/supplier/item/:code',\r\n name: 'supplier-item-sheet',\r\n component: () => import('@/views/supplier/ItemSheet.vue'),\r\n meta: {\r\n resource: 'supplier-item-sheet',\r\n action: 'page',\r\n },\r\n },\r\n]\r\n","export default [\n {\n path: '/',\n name: 'home',\n component: () => import('@/views/website/Home.vue'),\n meta: {\n layout: 'website',\n },\n },\n {\n path: '/about',\n name: 'about',\n component: () => import('@/views/website/About.vue'),\n meta: {\n layout: 'website',\n },\n },\n {\n path: '/services',\n name: 'services',\n component: () => import('@/views/website/Services.vue'),\n meta: {\n layout: 'website',\n },\n },\n {\n path: '/contact',\n name: 'contact',\n component: () => import('@/views/website/Contact.vue'),\n meta: {\n layout: 'website',\n },\n },\n {\n path: '/news',\n name: 'news',\n component: () => import('@/views/website/News.vue'),\n meta: {\n layout: 'website',\n },\n },\n {\n path: '/news/:id',\n name: 'news-details',\n component: () => import('@/views/website/NewsDetails.vue'),\n meta: {\n layout: 'website',\n },\n },\n]","import Vue from 'vue'\nimport VueRouter from 'vue-router'\nimport customer from \"./customer\";\nimport administrator from \"./administrator\";\nimport { canNavigate } from '@/libs/acl/routeProtection'\nimport supervisor from \"./supervisor\";\nimport supplier from \"./supplier\";\nimport website from \"./website\";\n\nVue.use(VueRouter)\n\nconst router = new VueRouter({\n mode: 'history',\n base: process.env.BASE_URL,\n scrollBehavior() {\n return { x: 0, y: 0 }\n },\n routes: [\n ...customer,\n ...administrator,\n ...supervisor,\n ...supplier,\n ...website,\n {\n path: '/login',\n name: 'auth-login',\n component: () => import('@/views/Login.vue'),\n meta: {\n layout: 'full',\n },\n },\n {\n path: '/password',\n name: 'password',\n component: () => import('@/views/ChangePassword.vue'),\n meta: {\n layout: 'full',\n },\n },\n {\n path: '/pages/not-authorized',\n name: 'misc-not-authorized',\n component: () => import('@/views/error/NotAuthorized.vue'),\n meta: {\n layout: 'full',\n },\n },\n {\n path: '/error',\n name: 'error',\n component: () => import('@/views/error/Error.vue'),\n meta: {\n layout: 'full',\n },\n },\n {\n path: '/not-affected',\n name: 'not-affected',\n component: () => import('@/views/error/NotAffected.vue'),\n meta: {\n layout: 'full',\n },\n },\n {\n path: '/faq',\n name: 'pages-faq',\n component: () => import('@/views/faq/Faq.vue'),\n meta: {\n action: \"page\",\n resource: \"faq\",\n },\n },\n {\n path: '/profile',\n name: 'profile',\n component: () => import('@/views/account-setting/AccountSetting.vue'),\n meta: {\n resource: \"profile\",\n action: \"page\",\n },\n },\n //------------------------------\n //articles\n {\n path: '/products-list',\n name: 'products-list',\n component: () => import('@/views/product/ProductsList.vue'),\n meta: {\n resource: 'products-list',\n action: 'page',\n },\n },\n {\n path: '/product/:slug',\n name: 'product-details',\n component: () => import('@/views/product/ProductDetails.vue'),\n meta: {\n action: 'page',\n resource: 'product-details',\n contentClass: 'ecommerce-application',\n },\n },\n //------------------------------\n {\n path: '*',\n redirect: 'error',\n },\n ],\n})\n\nrouter.beforeEach((to, _, next) => {\n\n if (!canNavigate(to)) {\n if (to.fullPath == \"/\")\n return next({ name: 'auth-login' })\n else\n return next({ name: 'misc-not-authorized' })\n }\n\n return next()\n});\n\nexport default router\n","import { computed, watch } from '@vue/composition-api'\nimport store from '@/store'\n\nexport default function usAppConfig() {\n // ------------------------------------------------\n // isVerticalMenuCollapsed\n // ------------------------------------------------\n const isVerticalMenuCollapsed = computed({\n get: () => store.state.verticalMenu.isVerticalMenuCollapsed,\n set: val => {\n store.commit('verticalMenu/UPDATE_VERTICAL_MENU_COLLAPSED', val)\n },\n })\n\n // ------------------------------------------------\n // RTL\n // ------------------------------------------------\n const isRTL = computed({\n get: () => store.state.appConfig.layout.isRTL,\n set: val => {\n store.commit('appConfig/TOGGLE_RTL', val)\n },\n })\n\n // ------------------------------------------------\n // Skin\n // ------------------------------------------------\n const skin = computed({\n get: () => store.state.appConfig.layout.skin,\n set: val => {\n store.commit('appConfig/UPDATE_SKIN', val)\n },\n })\n\n const skinClasses = computed(() => {\n if (skin.value === 'bordered') return 'bordered-layout'\n if (skin.value === 'semi-dark') return 'semi-dark-layout'\n\n // Do not return any class for dark layout because dark layout updates class in body\n // Do not return any class for light layout as that is default layout\n return null\n })\n\n // ------------------------------------------------\n // routerTransition\n // ------------------------------------------------\n const routerTransition = computed({\n get: () => store.state.appConfig.layout.routerTransition,\n set: val => {\n store.commit('appConfig/UPDATE_ROUTER_TRANSITION', val)\n },\n })\n\n // *===============================================---*\n // *--------- LAYOUT ---------------------------------------*\n // *===============================================---*\n\n // ------------------------------------------------\n // layoutType\n // ------------------------------------------------\n\n const layoutType = computed({\n get: () => store.state.appConfig.layout.type,\n set: val => {\n store.commit('appConfig/UPDATE_LAYOUT_TYPE', val)\n },\n })\n\n // Reset skin if skin is semi-dark and move to horizontal layout\n watch(layoutType, val => {\n if (val === 'horizontal' && skin.value === 'semi-dark') skin.value = 'light'\n })\n\n // ------------------------------------------------\n // Content Width (Full/Boxed)\n // ------------------------------------------------\n const contentWidth = computed({\n get: () => store.state.appConfig.layout.contentWidth,\n set: val => {\n store.commit('appConfig/UPDATE_CONTENT_WIDTH', val)\n },\n })\n\n // ------------------------------------------------\n // isNavMenuHidden\n // ------------------------------------------------\n const isNavMenuHidden = computed({\n get: () => store.state.appConfig.layout.menu.hidden,\n set: val => {\n store.commit('appConfig/UPDATE_NAV_MENU_HIDDEN', val)\n },\n })\n\n // *===============================================---*\n // *--------- NAVBAR ---------------------------------------*\n // *===============================================---*\n\n const navbarBackgroundColor = computed({\n get: () => store.state.appConfig.layout.navbar.backgroundColor,\n set: val => {\n store.commit('appConfig/UPDATE_NAVBAR_CONFIG', { backgroundColor: val })\n },\n })\n\n const navbarType = computed({\n get: () => store.state.appConfig.layout.navbar.type,\n set: val => {\n store.commit('appConfig/UPDATE_NAVBAR_CONFIG', { type: val })\n },\n })\n\n // *===============================================---*\n // *--------- FOOTER ---------------------------------------*\n // *===============================================---*\n\n const footerType = computed({\n get: () => store.state.appConfig.layout.footer.type,\n set: val => {\n store.commit('appConfig/UPDATE_FOOTER_CONFIG', { type: val })\n },\n })\n\n return {\n isVerticalMenuCollapsed,\n isRTL,\n skin,\n skinClasses,\n routerTransition,\n\n // Navbar\n navbarBackgroundColor,\n navbarType,\n\n // Footer\n footerType,\n\n // Layout\n layoutType,\n contentWidth,\n isNavMenuHidden,\n }\n}\n","import { Ability } from '@casl/ability'\nimport { initialAbility } from './config'\n\n// Read ability from localStorage\n// * Handles auto fetching previous abilities if already logged in user\n// ? You can update this if you store user abilities to more secure place\n// ! Anyone can update localStorage so be careful and please update this\nconst userData = JSON.parse(localStorage.getItem('userData'))\nconst existingAbility = userData ? userData.ability : null\n\nexport default new Ability(existingAbility || initialAbility)\n","module.exports = __webpack_public_path__ + \"img/logo.36f34a9f.svg\";","export const initialAbility = [\n {\n action: 'read',\n subject: 'Auth',\n },\n]\n\nexport const _ = undefined\n"],"sourceRoot":""}