{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"echarts\"","webpack:///./src/views/common/NavTop.vue?1325","webpack:///src/views/common/NavTop.vue","webpack:///./src/views/common/NavTop.vue?4cb7","webpack:///./src/views/common/NavTop.vue","webpack:///./src/views/common/Breadcrumb.vue?4f1a","webpack:///./src/views/common/Breadcrumb.vue?9347","webpack:///src/views/common/Breadcrumb.vue","webpack:///./src/views/common/Breadcrumb.vue?e3cf","webpack:///./src/views/common/Breadcrumb.vue","webpack:///./src/constants/FwStatus.js","webpack:///./src/lib/until.js","webpack:///./src/routes.js","webpack:///./src/messages.js","webpack:///./src/constants/CacheKeys.js","webpack:///./src/constants/ZentaoConsts.js","webpack:///./src/directives/hasPower.js","webpack:///./src/Main.vue?2de2","webpack:///./src/warterMark.js","webpack:///src/Main.vue","webpack:///./src/Main.vue?f178","webpack:///./src/Main.vue","webpack:///./src/main.js","webpack:///external \"ELEMENT\"","webpack:///./src/Date.js","webpack:///./src/utils/StringUtil.js","webpack:///external \"Vue\"","webpack:///./src/views/common/NavTop.vue?7f46","webpack:///./src/states.js","webpack:///./src/views/common/Aside.vue?ee4b","webpack:///src/views/common/Aside.vue","webpack:///./src/views/common/Aside.vue?c55a","webpack:///./src/views/common/Aside.vue","webpack:///./src/Main.vue?16b0","webpack:///external \"axios\"","webpack:///./src/views/common/Aside.vue?a9bc","webpack:///./src/utils/AxiosMethods.js","webpack:///./src/utils/LocalProxy.js","webpack:///./src/utils/Des3.js","webpack:///./src/utils/index.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","echarts","render","_vm","this","_h","$createElement","_c","_self","staticStyle","attrs","active","on","handleSelect","_l","item","_v","_s","$t","staticRenderFns","component","path","projectId","$store","getters","project_name","pathMap","FW_PRODUCT_STATUS","FW_CUSTOM_FIRMWARE_STATUS","FW_PROJECTS","1","2","FW_BOARD_APPROVAL_STATUS","local","JSON","parse","localStorage","getItem","set","val","setItem","stringify","install","vm","$local","NotFound","HelloWorld","Login","Index","NoPower","Home","ManageHelpDocs","HelpDocs","LegalNotices","PrivacyPolicy","GuestComplaint","GuestWorkOrder","GuestAnaly","GuestList","CommonWords","AccountList","ProjectList","PermissionGroup","AccountGroup","LicenseList","ThirdLicenseList","LicenseConflictList","ThirdLicenseConflictList","LicenseRecycleList","Packing","DataImport","P2PCode","BackDeviceList","VisitorList","BackUserList","BackGrayPublish","BackAppPublish","FeedbackList","BackDeviceShadow","BackDeviceDetail","DeviceUnbind","FeedbackCharts","Dubbo","ServerPing","BusinessServer","P2pServer","Redis","Mongo","Order","Cost","Activation","ActivationOrder","Income","Package","OssCharts","OrderCharts","CloudRefund","AppCrash","AppBuriedPoint","BuriedPointAnalysis","ServerLog","ServersLog","Upload","Country","GrayRelease","Icon","ProductList","FeedbackStandardList","AppConfigUrlChoise","PPSInternational","Awox","PictureTypeList","PictureDetail","TwoWayConfig","TestDevice","TestApp","TestP2p","BackStatUser","StatDevice","StatUserFeedback","StatProductFeedback","StatAppFeedback","StatAddress","DataOverview","StatVersion","DeviceList","UserList","DevicePublish","AppPublish","OperationFeedback","MemberList","Product","Company","AppAutoConfig","ProjectStatDevice","ProjectStatUser","ProductManage","BoardDetails","FunctionManage","PlatformManage","ProjectManage","FirmwarePublish","FirmwareCustomization","CustomPackDetails","Pack","ThirdPack","Zendao","CloudCharts","CloudPrice","TuyaOemManage","TuyaProducts","DeviceIOT","DeviceIOTCharts","RequestCount","AlarmLog","DeviceLog","RelayList","ThingModel","FactoryUser","MonitorList","DeviceIOTList","v1_device_off_publish","PPSConstant","AppNotice","PPSDefaultInternational","AppConfig","VersionPage","BasicConfig","PageConfig","FunctionConfig","BuildConfig","ShelfConfig","CodeEmailConfig","CodeSmsConfig","PushConfig","GetKey","AppCloudConfig","UploadTranslationFile","store","props","msg","redirect","hasAllPowers","route","parseInt","query","version","cn","hello","systemTitle","serverZone","myProject","platform","hz","us","eu","arenti_hz","arenti_us","arenti_eu","sg","dev","localhost","hz_pre","fail","identifyError","forgetPassword","readAgree","legalNotices","privacyPolicy","agreeTip","verifySuccess","verifyFail","verifySlider","language","en","admin","login","returnLogin","logout","signup","username","password","please_username","please_password","please_verify","please_passwordConfirm","notValidEmail","verify","Repass","getVerify","goBackToLogin","submit","edit","delete","updatePasswordFail","verifyCodeWrong","err_login","index","back","backConsole","productInfoManage","startConfiguration","cooperativeProjectMessageManage","oemCompanyMessageManage","tpMessageManage","manageProductInfo","appWorkbench","enterCustomer","queryDocs","helpDocs","helpDocTips","announcement","newDynamic","problemFeedback","manageDocs","enterBack","enterData","goBack","project","product","user","company","app","operation","serverExpansion","ppsConstant","ppsConstants","explain","addPpsConstant","appNotice","appNotices","add","publish","update","addAppNotice","beginTime","endTime","contentEn","contentPl","contentEs","contentDe","contentFr","contentJa","contentKo","contentNl","contentPt","contentZh","contentPtBr","contentZhTw","contentIt","contentRu","contentBr","pps_international","pps_default_international","ppsInternationals","addPpsInternational","addPpsDefaultInternational","lngType","content","contentSelect","deviceName","userAccount","verifyCode","nickName","batteryCapacity","default","cscs","customerService","guestComplaint","guestWorkOrder","guestAnalyse","guestList","common_words","guests","customerId","status","roleSetting","dateCreated","addCustomer","updateStatus","account","confirmPassword","commonWords","addWords","updateWords","appLngType","createTime","word","option","importFileDescription","sureSubmit","sureRollbackHistory","hint","cancelSubmit","setting","member","member_list","stat","account_list","project_list","permission_group","account_group","back_permission","project_permission","license","license_list","license_conflict_list","license_recycle_list","packing","data_import","p2p_code","factory_user","feedback_list","device_shadow","device_detail","device_unbind","unbindSuccess","unbindFail","syncSuccess","syncFail","cloud","order","cost","activation","income","package","activationOrder","oss_charts","cloud_refund","cloud_charts","cloud_price","cloudPrices","updateCloudPrice","cloudPrice","cloudPriceId","currency","refund","order_charts","feedback_charts","extend","deviceIOT","listIOT","iotConfigs","singleRestart","batchRestart","restartSuccess","restartError","file","uploadCSV","relayList","monitor_list","upload","uploadImage","imageLink","uploadNotNull","country","gray_release","icon","thingModel","product_list","feedback_standard_list","app_config_url","awox","dynamic_picture","productList","productID","productType","kindDeviceType","bulkUpload","number","url","kindDeviceIcon","powerOnImage","resetImage","scanQrcodeImage","resetApImage","wakeUpImage","placeholderImage","ledFlashQuickImage","ledFlashSlowImage","blueFlashImage","count","two_way_config","iconName","monitor","dubbo","pid","business_server","deviceIOTCharts","requestCount","p2p_server","redis","mongo","log","app_crash","app_buried_point","buried_point_analysis","server_log","servers_log","pps_user","pps_all","pps_alarm_producer","pps_cloud","pps_order","pps_message","pps_push","pps_push_token","pps_email","nginx_request_events","nginx_request","log_statistic","factory","alarm_log","alarm","alarm_push","alarm_oss","device_log","device_active","device_add","test","test_device","test_app","test_p2p","data_overview","stat_user","stat_device","stat_address","stat_version","noData","stat_feedback","stat_user_feedback","stat_product_feedback","stat_app_feedback","device_list","visitor","user_list","operation_feedback","creatingSubject","creatingProduct","creatingApp","batchProducing","introduction","getFail","findSuccess","findFail","detail","save","saveFail","saveSuccess","rollbackSuccess","rollbackFail","uploadSuccess","uploadFail","downloadSuccess","downloadFail","exportSuccess","exportFail","deleteSuccess","deleteFail","publishSuccess","publishFail","success","paramIsNull","formValidateMessage","notMatch","deleteSure","notAuth","confirmButton","orderNum","deviceID","mealType","storageTime","payMoney","orderStatus","createDate","payDate","userID","dealSign","sureUpdate","sureLogout","payType","storageType","serverTime","productName","fileSizeExcced","reset","confirm","cancel","numberMessage","download","firmware","productManage","addProduct","functionManage","addFunction","platformManage","addPlatform","projectManage","addProject","firmwarePublish","firmwareCustomization","tuyaOemManage","addTuyaOem","match","pack","third_pack","sendSuccess","sendFail","exportDataNull","browserNotSupport","factoryList","sn","packingId","workSheet","downloadExcel","deleteLicensePackInfo","batchFindLicenseIsSuccess","batchFindLicenseIsValidate","deleteThirdLicensePackInfo","batchFindThirdLicenseIsSuccess","batchFindThirdLicenseIsValidate","batchDeleteIsValidate","visitorList","activationList","generateOrder","downloadOrder","state","sourceApp","price","generate","getOrderInfoError","getActivationTypeError","cloudReplace","activationCodeOpen","oldSn","newSn","exportOrders","year","oemId","export","crossAccountTransfer","oldAccount","newAccount","oldSourceApp","newSourceApp","transfer","activationOrderList","id","source_app","total_price","packageList","addPackage","0","Y","M","day","awoxList","awoxP2p","addDevice","licenseBatchExport","getDetail","p2pType","model","mac","secretKey","p2pDataDetail","cameraDataDetail","used","remain","licenseIdMode","exportExcel","tip1","tip2","tip3","dynamicPicture","appPublish","fileExist","pushTitle","pushConfirm","pushSuccess","pushError","deviceUrl","versionId","versionName","versionType","versionCode","createDates","deviceVersionId","upgradeFlag","updateBy","action","view","firmID","selectFile","zh","de","fr","pl","es","ja","ko","publishApp","deleteHistory","updateHistory","deleteConfirm","versionUrl","goback","isUpgradeFlag","noUpgradeFlag","uploadProgress","uploadFileNameError","devVersionIdRepeat","updateUploadTip","devVersionIDTip","uploadFile","formValide","waitForUploadSucceed","devicePublish","deviceType","officialPub","licenseGrayPub","tpGrayPub","record","updatePersion","publishDevice","cancelDelete","publishRegion","cn_value","us_value","eu_value","formLicenseIDValidateMessage","formVersionIDValidateMessage","formTpValidateMessage","formBatchIDValidateMessage","clickUploadTip","uploadTip","addTips","selectTip","deviceGrayPublish","licenseID","tp","versionID","isForceUpdate","singleRelease","batchRelease","batchRemove","sameBatchRemove","batchId","firmwareUpload","firmwareName","firmwareSize","firmwareUrl","uploadDate","uploadTipLicense","uploadTipTp","uploadTipLicenseR","uploadTipTpR","uploadTipFirmware","clickUpload","uploadPrecondition","ratioConfig","progressQuery","total","ratio","getTotal","selectVersionID","rateTips","rateWain","userList","soundFlag","imageUrl","tyPassword","openID","deviceSecret","deviceSecretDesk","countryCode","phoneCode","timeFlag","updateDate","deviceList","deviceId","licenseId","firmId","userId","p2pId","deviceTypeId","deviceIcon","relayLicenseId","snNum","devTypeID","deviceVersionID","deviceUUID","userFlag","timeZone","hostKey","isBindingTY","devUid","nvrID","nvrPort","trialCloud","deviceTypeName","deviceImg","deviceP2P","brainPower","closePush","protocolVersion","longitude","latitude","radius","sleep","bellVoice","region","dayLight","wifyName","capability","cancelDate","shareAccessSign","isCancel","close","open","viewOnly","controllable","deviceShadow","device","allTp","totalDevice","activateDevice","currentlyOnline","nodeStatus","lastOnlineTime","operate","check","deviceDetail","show","hide","copy","online","offline","deviceInformation","topicList","subscribedTopicList","physicalModelData","deviceExtensionInformation","tagInformation","deviceTag","deviceTopic","postMessage","viewData","dpKey","dpText","dpDefinition","dpType","monitorPublish","firmwareList","deviceUpload","oemIdNotNull","allPublish","deviceUnbind","snNumConfirm","HK","HZ","title","feedbackInfo","addProblemType","problemTypeIsNull","problemType","contentTranfer","mailForward","dealPerson","remark","updateTime","isDealed","department","untreated","treated","editTitle","userFeedbackID","addUserFeedback","updateUserFeedback","deleteUserFeedback","formChar","lengthMessage","validateNumber","feedback_trends","feedback_data","immediate_deal","device_version","last_week","last_month","last_three_month","cumulative_feedback_total","processed_feedback_total","today_feedback_total","cumulative_product_feedback_total","product_processed_feedback_total","today_product_feedback_total","cumulative_app_feedback_total","app_processed_feedback_total","today_app_feedback_total","yesterday","all_feedback","undeal_feedback","dealed_feedback","one_week","two_week","one_month","incomeInfo","month","selectYear","selectMonth","statUser","appStatisticLog","searchTime","connectResult","connectTime","connectCount","logDetail","appLog","to","startDataPlaceholder","endDataPlaceholder","time","info","eventId","resultCode","eventId1","eventId2","eventId3","event01","event0101","event010101","event010102","event0102","event010201","event010202","event010203","event0103","event010301","event02","event0201","event020101","event020102","event0202","event020201","event020202","event0203","event020301","event0204","event020401","event020402","event020403","event0205","event020501","event0206","event020601","event020602","event020603","event020604","event0207","event020701","event020702","event020703","event0208","event020801","event020802","event020803","event020804","event0209","event020901","event020902","event0210","event021001","event021002","event021003","event03","event0301","event030101","event0302","event030201","event0303","event030301","event0304","event030401","event04","event05","event0501","event050101","event050102","event050103","event050104","event0502","event050201","event050202","event050203","event050204","event050205","event0503","event050301","event050302","event050303","event0504","event050401","event050402","event0505","event050501","event06","event07","event0701","event070101","event0702","event070201","event070202","event070203","event0703","event070301","event0704","event070401","event0705","event070501","event070502","event070503","event070504","event070505","event070506","event070507","event0706","event070601","event070602","event070603","event070604","event08","event0801","event080101","event080102","event0802","event080201","event0803","event080301","event080302","event0804","event080401","event080402","event0805","event080501","event0806","event080601","event080602","system","functionSetting","server","apitoken","describe","partnerName","urlNotFilled","enUrl","cnUrl","supportphoneaccount","supportphoneaccountPlaceholder","applestoreId","applestoreIdPlaceholder","editAppTitleName","deleteAppTitleName","confirmDelete","helper","notComplete","cloudstroage","Privacypolicy","aboutus","guide","uploadHtmlFile","copyrightEn","copyrightZh","copyrightPlaceholder","support","unSupport","copyright","sizeExceed","saveContent","createAppComment","packageAppComment","androidDownloadUrl","iosDownloadUrl","brandTitle","logo","require","splash","color","setUp","colorSetUp","top_title_bg_color","top_title_font_color","bottom_navigation_bg_color","bottom_navigation_font_color","prompt_bg_color","prompt_font_color","preview","final","ref","haveSameFile","emptyImg","alarmemptyImg","fileNotUpload","createApp","createAppTitle","createAppTitleName","sidebarApplicationId","sidebarWeb","sidebarSupportemail","sidebarCompany","sidebarCompanyEn","applicationId","appname","phonenumber","web","supportemail","company_en","applicationIdPlaceholder","appnamePlaceholder","phonenumberPlaceholder","webPlaceholder","supportemailPlaceholder","email","companyPlaceholder","company_enPlaceholder","formValidateMessagePlaceholder","passwordPlaceholder","appCreateStatus","compiling","lastCreateDate","pictureSize","pictureType","pictureNotPng","pictureSizeError","nl","pt","addLanguage","LanguageTitle","FCM","FCM_Master","configInfoTitle","camera","bell","NVR","voicebell","batterycamera","flightcamera","DeviceListTitle","EmailConfigTitle","iosPushPassword","iosPushFile","iosReleasePassword","iosReleaseFile","iosReleaseMobileprovisionFile","iosDevPassword","iosDevFile","iosDevMobileprovisionFile","iosAdhocFile","pushSetting","releaseSetting","devSetting","adhocSetting","certificateTitle","otherSetting","appCreateAndDownload","basic","createAppButton","getAppsFail","curlSuccess","forcedUpdate","thingModelPublish","issueVersion","choiceVersion","thingModelId","thingModelName","thingModelType","thingModelSpecs","thingModelDesc","thingModelAccessMode","thingModelRequired","remove","rw","w","int","intMax","intMin","intStep","intUnit","text","textLength","bool","bool0","bool1","enum","enumValue","enumRemark","versionRemark","cancleButton","alIOTVersionId","isCurrentVersion","isIssued","formThingModelIdValidateNumber","formThingModelIdValidateMessage","formThingModelNameValidateMessage","formThingModelRequiredValidateMessage","formThingModelAccessModeValidateMessage","formThingModelRemarkValidateMessage","formThingModelTypeValidateMessage","formThingModelLengthValidateMessage","formThingModelMaxValidateMessage","formThingModelMinValidateMessage","formThingModelStepValidateMessage","formThingModelUnitValidateMessage","formThingModeEnumValidateMessage","formThingModeBool0ValidateMessage","formThingModeBool1ValidateMessage","formThingModeVersionRemarkValidateMessage","companyInfo","oemName","oemDesc","oemProductNum","otherProduct","submitDelete","submitRemove","oemNameNotnull","oemIdNotnull","oemIdOnlyIsNumber","tpInput","tpClassify","device_publish","device_gray_publish","gray_publish","license_control","tp_control","firmware_control","app_publish","intelligent_products","userinfo_expired_msg","zendao","cloud_order_list","addProductBatch","moduleOperation","moduleDataStatistics","Complaint","moduleLog","WorkOrder","Analysis","moduleCloudStorage","moduleLicense","moduleExtend","realTimeInfo","realTimeInfoTips","deviceDataInfo","activatedYesterday","activated30Days","totalActivated","appDataInfo","registerYesterday","register30Days","totalRegister","feedbackYesterday","feedback30Days","totalFeedback","appWorkbenchTips","productTips","version_config","basic_config_item","page_config","certificate_config","email_config","sms_config","push_config","get_key","app_cloud_config","upload_translation_file","copySuccess","copyError","appConfigs","appSdkIntro","androidDocument","iosDocument","addApp","config","appName","androidPkgName","iosPkgName","appVersion","mobile","appLogo","appSplash","appThemeColor","appPackage","appIcon","address","host","port","isSupportSMTP","isStarttlsEnable","isStarttlsRequired","isSupportSSLTrust","transportProtocol","isUseSocketFactory","messageKey","messageSecret","messageSignName","messageTemplate","clickHelp","google","aurora","iosPushIntro","googlePushIntro","auroraPushIntro","p8Upload","jsonUpload","mi","huawei","vivo","oppo","uploadTranslationFile","viewTranslationFile","historyVersion","selectTranslationLang","addTranslationLang","pleaseSelectTranslationLang","addRemark","noHistory","it","ru","hu","wain","fileName","a","fileUrl","phoneType","isSync","selectVersion","selectVersionTips","fileNotExist","nameTips","nameWain","checkLang","checkAll","checkFile","supportFormat","steps","page","function","shelf","build","last","next","beginBuild","enterCloud","cloudTips","customerTips","guest","project_guest_list","project_common_words","project_feedback_list","functionalPoint","event020704","$CacheKeys","FW_PROJECT_LIST","FW_PLATFORM_LIST","FW_OEM_LIST","FW_PRODUCT_LIST","FW_FUNCTION_POINT_LIST","FW_PRODUCT_CATEGORY_LIST","FW_PRODUCT_MODEL_LIST","FW_P2P_LIST","PACKING_FW_CUSTOM_PACK","prod","userName","zentao","$zentao","directive","inserted","el","binding","$hasPower","$hasAnyPowers","$hasAllPowers","power","hasPower","powers","hasAnyPowers","_e","watermark","setWatermark","str","getElementById","body","can","width","height","cans","getContext","rotate","Math","PI","font","fillStyle","textAlign","textBaseline","fillText","div","style","pointerEvents","top","left","position","zIndex","documentElement","clientWidth","clientHeight","background","toDataURL","setInterval","onresize","TableColumn","showOverflowTooltip","use","$MD5","i18n","locale","messages","silentTranslationWarn","Store","states","router","base","routes","use_global_loading","loading","loading_num","open_loading","service","fullscreen","close_loading","getBaseUrl","originUrl","innerUrls","getServerZone","location","baseUrl","meari_zones","indexOf","hostname","prefix","isInnerUrl","forEach","startsWith","defaults","interceptors","isLogin","headers","common","token","baseURL","userinfoExpiredMsg","getLocale","toLowerCase","response","flag","isNaN","commit","duration","showClose","$axios","format_date","date","Date","$formatDate","filter","product_types","get_user_info","res","getSourceAppList","firmList","list","configInfo","$message","catch","resMap","pathname","search","Aside","Breadcrumb","NavTop","routerPush","routerReplace","replace","addEventListener","sessionStorage","oldValue","formatterCellValue","row","column","cellValue","Boolean","$formatterCellValue","h","$mount","ELEMENT","formatDate","fmt","RegExp","$1","getFullYear","substr","getMonth","getDate","getHours","getMinutes","getSeconds","k","padLeftZero","StringUtilClass","instance","StringUtil","getInstance","$StringUtil","Vue","meari_hash","toUpperCase","need_refresh","isBlank","user_info","my_project","getUrlKey","decodeURIComponent","exec","mutations","v","removeItem","user_token","jsonPower","includes","getDefaultCreateAppUrlPrefix","json","3","4","5","6","7","8","9","10","class","slot","sub_item","axios","async","getRequest","cacheKey","cacheValue","postRequest","form","post","$getRequest","$postRequest","$getLocal19Url","des","encrypt","iv","padding","unescape","encodeURIComponent","temp","right1","right2","right","looping","cbcleft","cbcleft2","cbcright","cbcright2","endloop","loopinc","spfunction1","Array","spfunction2","spfunction3","spfunction4","spfunction5","spfunction6","spfunction7","spfunction8","keys","des_createKeys","len","iterations","String","fromCharCode","tempresult","charCodeAt","paddingChars","substring","escape","lefttemp","righttemp","pc2bytes0","pc2bytes1","pc2bytes2","pc2bytes3","pc2bytes4","pc2bytes5","pc2bytes6","pc2bytes7","pc2bytes8","pc2bytes9","pc2bytes10","pc2bytes11","pc2bytes12","pc2bytes13","shifts","genkey","start","end","pad","vector","des3iv","DES3","input","genKey","btoa","decrypt","atob","DES3_KEY","encodeDes3","pass","Base64Encode","encode","PASS_SALT","decode","base64EncodeDec3","isNull","isEmpty","strings","checkEmail","reg","getUrlParam"],"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,CAAC,KAAO,OAAO,OAAS,SAAS,QAAU,WAAW9B,IAAUA,GAAW,IAAM,CAAC,KAAO,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,OAAS,WAAW,QAAU,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,MAIlgD,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,KAAO,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,OAAS,EAAE,QAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,GACznBR,EAAmB5B,GAAUmC,EAASvB,KAAKgB,EAAmB5B,IACzB,IAAhC4B,EAAmB5B,IAAkBoC,EAAUpC,IACtDmC,EAASvB,KAAKgB,EAAmB5B,GAAW,IAAIqC,SAAQ,SAASC,EAASC,GAIzE,IAHA,IAAIC,EAAO,QAAU,CAAC,KAAO,OAAO,OAAS,SAAS,QAAU,WAAWxC,IAAUA,GAAW,IAAM,CAAC,KAAO,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,OAAS,WAAW,QAAU,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,OAC1+CyC,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,8DC1QTc,EAAOD,QAAUkF,S,2CCAjB,IAAIC,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,YAAY,CAACE,YAAY,CAAC,OAAS,SAAS,CAACF,EAAG,SAAS,CAACE,YAAY,CAAC,OAAS,SAAS,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,KAAK,CAACH,EAAG,OAAO,CAACG,MAAM,CAAC,KAAO,SAASH,EAAG,UAAU,CAACG,MAAM,CAAC,iBAAiBP,EAAIQ,OAAO,KAAO,aAAa,oBAAoB,mBAAmBC,GAAG,CAAC,OAAST,EAAIU,eAAeV,EAAIW,GAAIX,EAAQ,MAAE,SAASY,GAAM,OAAOR,EAAG,eAAe,CAACjB,IAAIyB,EAAKN,YAAY,CAAC,OAAS,QAAQC,MAAM,CAAC,MAAQK,IAAO,CAACZ,EAAIa,GAAGb,EAAIc,GAAGd,EAAIe,GAAGH,IAAO,mBAAkB,IAAI,GAAGR,EAAG,SAAS,CAACG,MAAM,CAAC,KAAO,IAAI,CAACH,EAAG,aAAa,IAAI,IAAI,IAC9mBY,EAAkB,GCiBtB,oDACA,8CACA,OACE,KAAF,SACE,WAAF,oBACE,MAAF,CACI,OAAJ,OACI,UAAJ,QAEE,OACE,IAAJ,KAqEI,OApEJ,oBAEA,oCACQ,EAAR,kBAKA,oCACQ,EAAR,cAEA,oCACQ,EAAR,aAEA,oCACQ,EAAR,gBAEA,oCACQ,EAAR,gBAEA,oCACQ,EAAR,YAEA,oCACQ,EAAR,eAEA,oCACQ,EAAR,aAEA,mCACQ,EAAR,cAQA,oCACQ,EAAR,0BAOA,oCACQ,EAAR,gBAEA,oCACQ,EAAR,YAEA,oCACQ,EAAR,aAEA,oCACQ,EAAR,kBAEA,oCACQ,EAAR,gBAEA,oCACQ,EAAR,cAEA,oCACQ,EAAR,eAGA,CACM,SAGJ,QAAF,CACI,aAAJ,GACM,QAAN,gBACA,mBACQ,KAAR,yBAEQ,KAAR,6DC3G4O,I,wBCQxOC,EAAY,eACd,EACAlB,EACAiB,GACA,EACA,KACA,WACA,MAIa,aAAAC,E,sECnBf,W,2CCAA,IAAIlB,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,gBAAgB,CAACG,MAAM,CAAC,UAAY,MAAM,CAACH,EAAG,qBAAqB,CAACG,MAAM,CAAC,GAAK,CAAEW,KAAM,OAAQ,CAAClB,EAAIa,GAAGb,EAAIc,GAAGd,EAAIe,GAAG,cAAiC,IAAnBf,EAAImB,UAAkBf,EAAG,qBAAqB,CAACG,MAAM,CAAC,GAAK,CAAEW,KAAM,WAAY,CAAClB,EAAIa,GAAGb,EAAIc,GAAGd,EAAIe,GAAG,YAAYX,EAAG,qBAAqB,CAACJ,EAAIa,GAAGb,EAAIc,GAAGd,EAAIoB,OAAOC,QAAQC,aAAatB,EAAImB,eAAenB,EAAIW,GAAIX,EAAQ,MAAE,SAASY,GAAM,OAAOR,EAAG,qBAAqB,CAACjB,IAAIyB,EAAKL,MAAM,CAAC,GAAK,CAAEW,KAAMlB,EAAIuB,QAAQX,MAAU,CAACZ,EAAIa,GAAGb,EAAIc,GAAGd,EAAIe,GAAGH,IAAO,cAAa,IAC5kBI,EAAkB,GCStB,GACE,KAAF,aACE,MAAF,CACI,UAAJ,OACI,KAAJ,OAEE,QAAF,CACI,QAAJ,GACM,OAAN,mBACA,WAEA,+CCrBgP,I,wBCQ5OC,EAAY,eACd,EACAlB,EACAiB,GACA,EACA,KACA,WACA,MAIa,aAAAC,E,6CCnBf,wIACO,MAAMO,EAAoB,CAC/B,EAAK,KACL,EAAK,MACL,EAAK,OAIMC,EAA4B,CACvC,EAAK,MACL,EAAK,MACL,EAAK,MACL,EAAK,QACL,EAAK,MACL,EAAK,MAIMC,EAAc,CACzBC,EAAG,QACHC,EAAG,QAIQC,EAA2B,CACtC,EAAK,MACL,EAAK,Q,2KC1BP,IAAIC,EAAQ,CACRrD,IAAK,SAAUU,GAEX,OAAO4C,KAAKC,MAAMC,aAAaC,QAAQ/C,KAE3CgD,IAAK,SAAUhD,EAAKiD,GAEhBH,aAAaI,QAAQlD,EAAK4C,KAAKO,UAAUF,MAGlC,OACXG,QAAS,SAAUC,GAEnBA,EAAGnJ,UAAUoJ,OAASX,I,gGCb1B,MAAMY,EAAW,IAAM,wCACjBC,EAAa,IAAM,wCACnBC,EAAQ,IAAM,wCACdC,EAAQ,IAAM,wCAEdC,EAAU,IAAM,wCAChBC,EAAO,IAAM,gDACbC,EAAiB,IAAM,gDACvBC,EAAW,IAAM,gDACjBC,EAAe,IAAM,gDACrBC,EAAgB,IAAM,gDAGtBC,EAAiB,IAAM,sCACvBC,EAAiB,IAAM,sCACvBC,EAAa,IAAM,sCACnBC,EAAY,IAAM,sCAClBC,EAAc,IAAM,sCAKpBC,EAAc,IAAM,sCACpBC,EAAc,IAAM,sCACpBC,EAAkB,IAAM,sCACxBC,EAAe,IAAM,sCAKrBC,EAAc,IAAM,sCACpBC,EAAmB,IAAM,sCACzBC,EAAsB,IAAM,sCAC5BC,EAA2B,IAAM,sCACjCC,EAAqB,IAAM,sCAC3BC,EAAU,IAAM,sCAChBC,EAAa,IAAM,sCACnBC,EAAU,IAAM,sCAEhBC,EAAiB,IAAM,sCACvBC,EAAc,IAAM,sCACpBC,EAAe,IAAM,sCAErBC,EAAkB,IAAM,sCACxBC,EAAiB,IAAM,sCACvBC,EAAe,IAAM,sCACrBC,EAAmB,IAAM,sCACzBC,EAAmB,IAAM,sCACzBC,EAAe,IAAM,sCACrBC,GAAiB,IAAM,sCAIvBC,GAAQ,IAAM,sCACdC,GAAa,IAAM,sCACnBC,GAAiB,IAAM,sCACvBC,GAAY,IAAM,sCAClBC,GAAQ,IAAM,sCACdC,GAAQ,IAAM,sCAEdC,GAAQ,IAAM,sCACdC,GAAO,IAAM,sCACbC,GAAa,IAAM,sCACnBC,GAAkB,IAAM,sCACxBC,GAAS,IAAM,sCACfC,GAAU,IAAM,sCAChBC,GAAY,IAAM,sCAClBC,GAAc,IAAM,sCACpBC,GAAc,IAAM,sCACpBC,GAAW,IAAM,sCACjBC,GAAiB,IAAM,sCACvBC,GAAsB,IAAM,sCAC5BC,GAAY,IAAM,sCAClBC,GAAa,IAAM,sCAEnBC,GAAS,IAAM,sCACfC,GAAU,IAAM,sCAChBC,GAAc,IAAM,sCACpBC,GAAO,IAAM,sCACbC,GAAc,IAAM,gDACpBC,GAAuB,IAAM,sCAC7BC,GAAqB,IAAM,sCAC3BC,GAAmB,IAAM,sCACzBC,GAAO,IAAM,sCACbC,GAAkB,IAAM,sCACxBC,GAAgB,IAAM,sCACtBC,GAAe,IAAM,sCAErBC,GAAa,IAAM,sCACnBC,GAAU,IAAM,sCAChBC,GAAU,IAAM,sCAChBC,GAAe,IAAM,sCACrBC,GAAa,IAAM,sCACnBC,GAAmB,IAAM,sCACzBC,GAAsB,IAAM,sCAC5BC,GAAkB,IAAM,sCACxBC,GAAc,IAAM,sCACpBC,GAAe,IAAM,sCACrBC,GAAc,IAAM,sCAEpBC,GAAa,IAAM,0CACnBC,GAAW,IAAM,yCACjBC,GAAgB,IAAM,yCACtBC,GAAa,IAAM,yCACnBC,GAAoB,IAAM,yCAE1BC,GAAa,IAAM,yCAEnBC,GAAU,IAAM,yCAChBC,GAAU,IAAM,yCAEhBC,GAAgB,IAAM,yCAEtBC,GAAoB,IAAM,yCAC1BC,GAAkB,IAAM,yCAExBC,GAAgB,IAAM,gDACtBC,GAAe,IAAM,gDAErBC,GAAiB,IAAM,gDACvBC,GAAiB,IAAM,gDACvBC,GAAgB,IAAM,iDACtBC,GAAkB,IAAM,gDACxBC,GAAwB,IAAM,gDAC9BC,GAAoB,IAAM,gDAE1BC,GAAO,IAAM,gDACbC,GAAY,IAAM,gDAElBC,GAAS,IAAM,gDACfC,GAAc,IAAM,gDACpBC,GAAa,IAAM,gDAEnBC,GAAgB,IAAM,gDACtBC,GAAe,IAAM,gDAErBC,GAAY,IAAM,gDAClBC,GAAkB,IAAM,gDACxBC,GAAe,IAAM,gDAErBC,GAAW,IAAM,gDACjBC,GAAY,IAAM,gDAElBC,GAAY,IAAM,gDAClBC,GAAa,IAAM,gDACnBC,GAAc,IAAM,gDAEpBC,GAAc,IAAM,gDACpBC,GAAgB,IAAM,gDAEtBC,GAAwB,IAAM,gDAG9BC,GAAc,IAAM,gDACpBC,GAAY,IAAM,gDAClBC,GAA0B,IAAM,gDAGhCC,GAAY,IAAM,yCAClBC,GAAc,IAAM,yCACpBC,GAAc,IAAM,yCACpBC,GAAa,IAAM,yCACnBC,GAAiB,IAAM,yCACvBC,GAAc,IAAM,yCACpBC,GAAc,IAAM,yCACpBC,GAAkB,IAAM,yCACxBC,GAAgB,IAAM,yCACtBC,GAAa,IAAM,yCACnBC,GAAS,IAAM,yCACfC,GAAiB,IAAM,yCACvBC,GAAwB,IAAM,yCAMrB,OAAAC,GAAA,CAEb,CAAC7J,KAAM,IAAKD,UAAWyB,GACvB,CAACxB,KAAM,cAAeD,UAAW0B,EAAYqI,MAAO,CAACC,IAAK,+BAC1D,CAAC/J,KAAM,SAAUpD,KAAM,QAASmD,UAAW2B,GAE3C,CAAC1B,KAAM,IAAKpD,KAAM,OAAQmD,UAAW8B,GACrC,CAAC7B,KAAM,SAAUpD,KAAM,eAAgBmD,UAAW4B,GAClD,CAAC3B,KAAM,WAAYD,UAAW6B,GAC9B,CAAC5B,KAAM,kBAAmBpD,KAAM,iBAAkBmD,UAAW+B,GAC7D,CAAC9B,KAAM,YAAapD,KAAM,WAAYmD,UAAWgC,GAEjD,CAAC/B,KAAM,gBAAiBpD,KAAM,eAAgBmD,UAAWiC,GACzD,CAAChC,KAAM,iBAAkBpD,KAAM,gBAAiBmD,UAAWkC,GAM3D,CACEjC,KAAM,QAASpD,KAAM,OAAQoN,SAAU,IACjCH,EAAM1J,QAAQ8J,aAAa,CAAC,IAAM,OAC7B,kBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAM,OAC7B,gBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAM,OAC7B,cAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAM,OAC7B,aAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAM,OAC7B,gBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAM,OAC7B,gBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAM,OAC7B,YAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAM,OAC7B,eAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAM,OAC7B,aAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAM,MAC7B,cAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAM,MAC7B,iBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAM,OAC7B,oBADT,GAQJ,CACEjK,KAAM,gBAAiBgK,SAAU,IAC3BH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,qBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,qBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,yBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,2BADT,GAKJ,CAACjK,KAAM,qBAAsBD,UAAWwC,GACxC,CAACvC,KAAM,qBAAsBD,UAAWyC,GACxC,CAACxC,KAAM,yBAA0BD,UAAW0C,GAC5C,CAACzC,KAAM,sBAAuBD,UAAW2C,GAIzC,CACE1C,KAAM,gBAAiBpD,KAAM,gBAAiBoN,SAAU,IAClDH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,qBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,yBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,8BAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,kCAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,6BAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,gBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,oBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,iBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,0BADT,GAKJ,CAACjK,KAAM,qBAAsBD,UAAW4C,GACxC,CAAC3C,KAAM,yBAA0BD,UAAW6C,GAC5C,CAAC5C,KAAM,8BAA+BD,UAAW8C,GACjD,CAAC7C,KAAM,kCAAmCD,UAAW+C,GACrD,CAAC9C,KAAM,6BAA8BD,UAAWgD,GAChD,CAAC/C,KAAM,gBAAiBgK,SAAU,IAAM,8BACxC,CAAChK,KAAM,uBAAwBD,UAAWiD,GAC1C,CAAChD,KAAM,oBAAqBD,UAAWkD,GACvC,CAACjD,KAAM,iBAAkBD,UAAWmD,GACpC,CAAClD,KAAM,qBAAsBD,UAAW0I,IAKxC,CACEzI,KAAM,kBAAmBpD,KAAM,kBAAmBoN,SAAU,IACtDH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,oBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,sBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,kBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,sBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,uBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,yCAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,qBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,oBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,sBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,wBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,kBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,gBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,kBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,0BADT,GAKJ,CAACjK,KAAM,oBAAqBD,UAAWoD,GACvC,CAACnD,KAAM,qBAAsBD,UAAWqD,GACxC,CAACpD,KAAM,sBAAuBD,UAAW0D,GACzC,CAACzD,KAAM,sBAAuBD,UAAW2D,GACzC,CAAC1D,KAAM,kBAAmBD,UAAWsD,GACrC,CAACrD,KAAM,sBAAuBD,UAAWyD,GAEzC,CAACxD,KAAM,qBAAsBD,UAAWuD,GACxC,CAACtD,KAAM,qBAAsBgK,SAAU,IAAM,0CAC7C,CAAChK,KAAM,4BAA6BD,UAAWuD,GAC/C,CAACtD,KAAM,uBAAwBpD,KAAM,eAAgBmD,UAAW6I,IAGhE,CAAC5I,KAAM,oBAAqBD,UAAWwD,GACvC,CAACvD,KAAM,sBAAuBD,UAAW4D,GACzC,CAAC3D,KAAM,wBAAyBD,UAAW6D,IAC3C,CAAC5D,KAAM,kBAAmBD,UAAWmI,IACrC,CAAClI,KAAM,kBAAmBD,UAAWwI,IACrC,CAACvI,KAAM,qBAAsBD,UAAW2I,IACxC,CAAC1I,KAAM,gBAAiBD,UAAW4I,IAMnC,CACE3I,KAAM,gBAAiBgK,SAAU,IAC3BH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,cAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,YAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,wBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,mBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,cAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,mBADT,GAMJ,CAACjK,KAAM,cAAeD,UAAW8D,IACjC,CAAC7D,KAAM,YAAaD,UAAW+D,IAC/B,CAAC9D,KAAM,wBAAyBD,UAAWgE,IAC3C,CAAC/D,KAAM,mBAAoBD,UAAWiE,IACtC,CAAChE,KAAM,cAAeD,UAAWkE,IACjC,CAACjE,KAAM,cAAeD,UAAWmE,IAKjC,CACElE,KAAM,cAAepD,KAAM,qBAAsBoN,SAAU,IACrDH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,cAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,aAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,mBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,eAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,gBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,wBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,mBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,qBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,qBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,qBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,yBADT,GAKJ,CAACjK,KAAM,cAAeD,UAAWoE,IACjC,CAACnE,KAAM,aAAcD,UAAWqE,IAChC,CAACpE,KAAM,mBAAoBD,UAAWsE,IACtC,CAACrE,KAAM,eAAgBD,UAAWwE,IAClC,CAACvE,KAAM,gBAAiBD,UAAWyE,IACnC,CAACxE,KAAM,wBAAyBD,UAAWuE,IAC3C,CAACtE,KAAM,mBAAoBD,UAAW0E,IACtC,CAACzE,KAAM,qBAAsBD,UAAW4E,IACxC,CAAC3E,KAAM,qBAAsBD,UAAW2E,IACxC,CAAC1E,KAAM,qBAAsBD,UAAW+H,IACxC,CAAC9H,KAAM,oBAAqBD,UAAWgI,IAMvC,CACE/H,KAAM,YAAapD,KAAM,YAAaoN,SAAU,IAC1CH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,kBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,yBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,8BAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,mBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,kBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,mBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,yBADT,GAKJ,CAACjK,KAAM,kBAAmBD,UAAW6E,IACrC,CAAC5E,KAAM,yBAA0BD,UAAW8E,IAC5C,CAAC7E,KAAM,8BAA+BD,UAAW+E,IACjD,CAAC9E,KAAM,mBAAoBgK,SAAU,IAAM,6BAC3C,CAAChK,KAAM,uBAAwBD,UAAWgF,IAE1C,CAAC/E,KAAM,wBAAyBD,UAAWsI,IAC3C,CAACrI,KAAM,yBAA0BD,UAAWuI,IAC5C,CAACtI,KAAM,oBAAqBD,UAAWiF,IAMvC,CACEhF,KAAM,eAAgBpD,KAAM,eAAgBoN,SAAU,IAChDH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,eAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,gBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,qBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,aAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,qBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,mBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,+BAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,uBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,0BAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,aAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,wBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,4BADT,GAKJ,CAACjK,KAAM,eAAgBD,UAAWkF,IAClC,CAACjF,KAAM,gBAAiBD,UAAWmF,IACnC,CAAClF,KAAM,qBAAsBD,UAAWoF,IACxC,CAACnF,KAAM,aAAcD,UAAWqF,IAChC,CAACpF,KAAM,qBAAsBD,UAAWsF,IACxC,CAACrF,KAAM,mBAAoBD,UAAWyI,IACtC,CAACxI,KAAM,+BAAgCD,UAAWuF,IAClD,CAACtF,KAAM,uBAAwBD,UAAWwF,IAC1C,CAACvF,KAAM,0BAA2BD,UAAWyF,IAC7C,CAACxF,KAAM,aAAcD,UAAW0F,IAChC,CAACzF,KAAM,wBAAyBD,UAAW2F,IAC3C,CAAC1F,KAAM,+BAAgCD,UAAW4F,IAClD,CAAC3F,KAAM,uBAAwBD,UAAW6F,IAK1C,CACE5F,KAAM,aAAcgK,SAAU,IACxBH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,oBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,iBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,sBADT,GAKJ,CAACjK,KAAM,oBAAqBD,UAAW8F,IACvC,CAAC7F,KAAM,iBAAkBD,UAAW+F,IACpC,CAAC9F,KAAM,iBAAkBD,UAAWgG,IAIpC,CACE/F,KAAM,aAAcpD,KAAM,uBAAwBoN,SAAU,IACtDH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,sBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,kBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,oBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,wBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,qBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,sBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,qBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,0BADT,GAKJ,CAACjK,KAAM,kBAAmBD,UAAWiG,IACrC,CAAChG,KAAM,oBAAqBD,UAAWkG,IACvC,CAACjG,KAAM,wBAAyBD,UAAWoI,IAC3C,CAACnI,KAAM,qBAAsBD,UAAWqI,IACxC,CAACpI,KAAM,qBAAsBD,UAAWsG,IACxC,CAACrG,KAAM,qBAAsBD,UAAWwG,IACxC,CAACvG,KAAM,sBAAuBD,UAAWuG,IACzC,CAACtG,KAAM,sBAAuBgK,SAAU,IAAM,0CAE9C,CACEhK,KAAM,yCACND,UAAWmG,IAEb,CACElG,KAAM,4CACND,UAAWoG,IAEb,CACEnG,KAAM,wCACND,UAAWqG,IAKb,CACEpG,KAAM,iBAAkBgK,SAAU,IAC5BH,EAAM1J,QAAQ8J,aAAa,CAAC,IAAO,QAC9B,sBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAO,QAC9B,uBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAO,QAC9B,uBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAO,QAC9B,sBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAO,QAC9B,wBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAO,QAC9B,8BAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAO,QAC9B,2BADT,GAMJ,CAACjK,KAAM,sBAAuBD,UAAWoH,GAAevK,KAAM,qBAC9D,CAACoD,KAAM,qCAAsCD,UAAWqH,GAAcxK,KAAM,oBAG5E,CAACoD,KAAM,uBAAwBD,UAAWsH,GAAgBzK,KAAM,sBAChE,CAACoD,KAAM,uBAAwBD,UAAWuH,GAAgB1K,KAAM,sBAChE,CAACoD,KAAM,sBAAuBD,UAAWwH,GAAe3K,KAAM,qBAC9D,CAACoD,KAAM,wBAAyBD,UAAWyH,GAAiB5K,KAAM,iBAClE,CAACoD,KAAM,8BAA+BD,UAAW0H,GAAuB7K,KAAM,kBAC9E,CAACoD,KAAM,8BAA+BD,UAAW2H,GAAmB9K,KAAM,0BAE1E,CAACoD,KAAM,sBAAuBD,UAAWiI,GAAepL,KAAM,mBAC9D,CAACoD,KAAM,2BAA4BD,UAAWkI,GAAcrL,KAAM,wBAKlE,CACEoD,KAAM,cAAegK,SAAU,IACzBH,EAAM1J,QAAQ8J,aAAa,CAAC,IAAM,OAC7B,aAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,IAAM,OAC7B,wBADT,GAKJ,CAACjK,KAAM,aAAcD,UAAW4H,IAChC,CAAC3H,KAAM,mBAAoBD,UAAW6H,IAKtC,CACE5H,KAAM,wBAAyBgK,SAAU,IACnCH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAO,QAC9B,oBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAO,QAC9B,kBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAO,QAC9B,uCADT,GAKJ,CAACjK,KAAM,oBAAqBD,UAAW8I,IACvC,CAAC7I,KAAM,kBAAmBD,UAAW+I,IACrC,CAAC9I,KAAM,kCAAmCD,UAAWgJ,IAKrD,CACE/I,KAAM,wBAAyBgK,SAAU,IACnCH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAO,QAC9B,uBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAO,QAC9B,uBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAO,QAC9B,mBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAO,QAC9B,kBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAO,QAC9B,0BADT,GAKJ,CAACjK,KAAM,uBAAwBpD,KAAM,iBAAkBmD,UAAWmC,GAClE,CAAClC,KAAM,uBAAwBpD,KAAM,iBAAkBmD,UAAWoC,GAClE,CAACnC,KAAM,qBAAsBpD,KAAM,eAAgBmD,UAAWqC,GAC9D,CAACpC,KAAM,kBAAmBpD,KAAM,YAAamD,UAAWsC,GACxD,CAACrC,KAAM,qBAAsBpD,KAAM,eAAgBmD,UAAWuC,GAG9D,CAACtC,KAAM,eAAgBD,UAAW8H,IAKlC,CAAC7H,KAAM,mBAAoBgK,SAAU,IAAM,wBAC3C,CACEhK,KAAM,uBACND,UAAW8G,GACXiD,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAatD,CAACD,KAAM,mBAAoBD,UAAWgH,GAAS+C,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cACnG,CAACD,KAAM,mBAAoBD,UAAW+G,GAASgD,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAInG,CACED,KAAM,gBAAiBgK,SAAU,IAC3BH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,qBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,4BADT,GAKJ,CACEjK,KAAM,qBACND,UAAWmH,GACX4C,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAEtD,CACED,KAAM,uBACND,UAAWkH,GACX6C,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAMtD,CAACD,KAAM,qBAAsBD,UAAWiH,IACxC,CAAChH,KAAM,eAAgBD,UAAWiJ,IAClC,CACEhJ,KAAM,sBAAuBgK,SAAU,IACjCH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,0BAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,wBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,sBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,uBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,mBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,4BAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,wCADT,GAMJ,CACEjK,KAAM,0BACND,UAAWkJ,GACXa,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAEtD,CACED,KAAM,wBACND,UAAWmJ,GACXY,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,WAAYoK,QAASH,EAAME,MAAMC,WAEvF,CACErK,KAAM,uBACND,UAAWoJ,GACXW,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,WAAYoK,QAASH,EAAME,MAAMC,WAEvF,CACErK,KAAM,2BACND,UAAWqJ,GACXU,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,WAAYoK,QAASH,EAAME,MAAMC,WAEvF,CACErK,KAAM,wBACND,UAAWsJ,GACXS,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,WAAYoK,QAASH,EAAME,MAAMC,WAEvF,CACErK,KAAM,wBACND,UAAWuJ,GACXQ,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,WAAYoK,QAASH,EAAME,MAAMC,WAEvF,CACErK,KAAM,wBACND,UAAWwJ,GACXO,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAEtD,CACED,KAAM,sBACND,UAAWyJ,GACXM,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAEtD,CACED,KAAM,uBACND,UAAW0J,GACXK,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAEtD,CACED,KAAM,mBACND,UAAW2J,GACXI,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAEtD,CACED,KAAM,4BACND,UAAW4J,GACXG,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAEtD,CACED,KAAM,mCACND,UAAW6J,GACXE,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAMtD,CACED,KAAM,qBAAsBgK,SAAU,IAChCH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,uBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,qBAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,8BAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,0BAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,4BADT,GAKJ,CACEjK,KAAM,uBACND,UAAWyG,GACXsD,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAEtD,CAACD,KAAM,qBAAsBD,UAAW0G,GAAUqD,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cACtG,CACED,KAAM,0BACND,UAAW2G,GACXoD,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAEtD,CACED,KAAM,uBACND,UAAW4G,GACXmD,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAEtD,CACED,KAAM,8BACND,UAAW6G,GACXkD,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAMtD,CACED,KAAM,iBAAkBgK,SAAU,KAChC,GAAIH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OACpC,MAAO,8BAIb,CACEjK,KAAM,4BAA6BD,UAAW,IAAM,gDACpD+J,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAEtD,CACED,KAAM,iBAAkBgK,SAAU,IAC5BH,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,8BAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,gCAELJ,EAAM1J,QAAQ8J,aAAa,CAAC,KAAM,OAC7B,sCADT,GAKJ,CACEjK,KAAM,8BAA+BD,UAAW,IAAM,gDACtD+J,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAEtD,CACED,KAAM,gCAAiCD,UAAW,IAAM,gDACxD+J,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,cAEtD,CACED,KAAM,iCAAkCD,UAAW,IAAM,gDACzD+J,MAAQI,IAAU,CAAEjK,UAAWkK,SAASD,EAAME,MAAMnK,e,gDCz7BzC,IACbqK,GAAI,CACFC,MAAO,QACPC,YAAa,SACbC,WAAY,QACZC,UAAW,OACXC,SAAU,WACVC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,UAAW,YACXC,UAAW,YACXC,UAAW,YACXC,GAAI,MACJC,IAAK,MACLC,UAAW,YACXC,OAAQ,QACRC,KAAM,OACNC,cAAe,QACfC,eAAgB,QAChBC,UAAW,QACXC,aAAc,SACdC,cAAe,SACfC,SAAU,UACVC,cAAe,QACfC,WAAY,YACZC,aAAc,WACdC,SAAU,KACV1B,GAAI,KACJ2B,GAAI,UACJC,MAAO,QACPC,MAAO,KACPC,YAAa,OACbC,OAAQ,KACRC,OAAQ,KACRC,SAAU,MACVC,SAAU,KACVC,gBAAiB,SACjBC,gBAAiB,QACjBC,cAAe,YACfC,uBAAwB,YACxBC,cAAe,UACfC,OAAQ,MACRC,OAAQ,OACRC,UAAW,QACXC,cAAe,SACfC,OAAQ,KACRC,KAAM,KACNC,OAAQ,KACRC,mBAAoB,SACpBC,gBAAiB,QACjBC,UAAW,QACXC,MAAO,KACPC,KAAM,KACNC,YAAa,QACbC,kBAAmB,OACnBC,mBAAoB,OACpBC,gCAAiC,WACjCC,wBAAyB,YACzBC,gBAAiB,UACjBC,kBAAmB,OACnBC,aAAc,SACdC,cAAe,OACfC,UAAW,OACXC,SAAU,OACVC,YAAa,mCACbC,aAAc,KACdC,WAAY,OACZC,gBAAiB,OACjBC,WAAY,OACZC,UAAW,OACXC,UAAW,SACXC,OAAQ,KACRC,QAAS,KACTC,QAAS,KACTC,KAAM,KACNC,QAAS,KACTC,IAAK,MACLC,UAAW,KACXC,gBAAiB,QACjBC,YAAa,SACbC,aAAc,CACZC,QAAS,KACTC,eAAgB,WAElBC,UAAW,QACXC,WAAY,CACVC,IAAK,KACLC,QAAS,KACTvC,OAAQ,KACRwC,OAAQ,KACRC,aAAc,UACdC,UAAW,OACXC,QAAS,OACTC,UAAW,KACXC,UAAW,MACXC,UAAW,OACXC,UAAW,KACXC,UAAW,KACXC,UAAW,KACXC,UAAW,KACXC,UAAW,MACXC,UAAW,OACXC,UAAW,KACXC,YAAa,UACbC,YAAa,QACbC,UAAW,OACXC,UAAW,KACXC,UAAW,OAEbC,kBAAmB,SACnBC,0BAA2B,WAC3BC,kBAAmB,CACjBC,oBAAqB,WACrBC,2BAA4B,aAC5BvU,KAAM,KACNwU,QAAS,OACTC,QAAS,KACTC,cAAe,OACfC,WAAY,OACZC,YAAa,OACbC,WAAY,MACZC,SAAU,KACVC,gBAAiB,QAEnBnZ,QAAS,CACPoZ,QAAS,KACTnE,KAAM,KACNoB,QAAS,KACTgD,KAAM,MAERC,gBAAiB,OACjBC,eAAgB,OAChBC,eAAgB,OAChBC,aAAc,OACdC,UAAW,OACXC,aAAc,MACdC,OAAQ,CACNC,WAAY,OACZC,OAAQ,KACRC,YAAa,OACbC,YAAa,OACbC,YAAa,OACbC,aAAc,OACdvF,KAAM,KACNC,OAAQ,KACRuF,QAAS,KACTnG,SAAU,KACVoG,gBAAiB,QAEnBC,YAAa,CACXC,SAAU,QACVC,YAAa,QACbC,WAAY,QACZC,WAAY,OACZC,KAAM,MACNC,OAAQ,MAEVC,sBAAuB,SACvBC,WAAY,QACZC,oBAAqB,aACrBC,KAAM,KACNC,aAAc,OACdC,QAAS,KACTC,OAAQ,KACRC,YAAa,OACbC,KAAM,KACNjB,QAAS,KACTkB,aAAc,OACdC,aAAc,OACdC,iBAAkB,OAClBC,cAAe,OACfC,gBAAiB,yBACjBC,mBAAoB,4BACpBC,QAAS,KACTC,aAAc,YACd,mBAAoB,gBACpBC,sBAAuB,cACvB,4BAA6B,kBAC7BC,qBAAsB,cACtBC,QAAS,KACTC,YAAa,OACbC,SAAU,SACVC,aAAc,SACdC,cAAe,OACfC,cAAe,OACfC,cAAe,OACfC,cAAe,OACfC,cAAe,OACfC,WAAY,OACZC,YAAa,OACbC,SAAU,OACVC,MAAO,MACPC,MAAO,OACPC,KAAM,OACNC,WAAY,MACZC,OAAQ,OACRC,QAAS,OACTC,gBAAiB,QACjBC,WAAY,OACZC,aAAc,QACdC,aAAc,QACdC,YAAa,QACbC,YAAa,CACXC,iBAAkB,UAClBC,WAAY,QACZC,aAAc,UACdC,SAAU,QAEZC,OAAQ,KAAMC,aAAc,OAC5BC,gBAAiB,SACjBC,OAAQ,KACRC,UAAW,QACXC,QAAS,UACTC,WAAY,CACVC,cAAe,OACfC,aAAc,QAEhBC,eAAgB,OAChBC,aAAc,OACdC,KAAM,KACNC,UAAW,eACXC,UAAW,OACXC,aAAc,QACdC,OAAQ,OACRC,YAAa,OACbC,UAAW,OACXC,cAAe,WACfC,QAAS,OACTC,aAAc,OACdC,KAAM,OACNC,WAAY,MACZC,aAAc,OACdC,uBAAwB,SACxBC,eAAgB,aAChBC,KAAM,OACNC,gBAAiB,QACjBC,YAAa,CACXC,UAAW,OACXC,YAAa,OACbC,eAAgB,OAChBC,WAAY,OACZC,OAAQ,KACRC,IAAK,OACLtd,KAAM,KACNud,eAAgB,KAChBC,aAAc,UACdC,WAAY,QACZC,gBAAiB,QACjBC,aAAc,UACdC,YAAa,QACbC,iBAAkB,OAClBC,mBAAoB,UACpBC,kBAAmB,UACnBC,eAAgB,OAElBC,MAAO,KACPC,eAAgB,OAChBC,SAAU,OACVC,QAAS,KACTC,MAAO,QACPC,IAAK,OACLC,gBAAiB,QACjBC,gBAAiB,YACjBC,aAAc,SACdC,WAAY,SACZC,MAAO,QACPC,MAAO,QACPC,IAAK,KACLC,UAAW,QACXC,iBAAkB,QAClBC,sBAAuB,OACvBC,WAAY,WACZC,YAAa,QACbC,SAAU,OACVC,QAAS,OACTC,mBAAoB,OACpBC,UAAW,QACXC,UAAW,OACXC,YAAa,OACbC,SAAU,OACVC,eAAgB,YAChBC,UAAW,KACXC,qBAAsB,OACtBC,cAAe,UACfC,cAAe,SACfC,QAAS,OACTC,UAAW,SACXC,MAAO,KACPC,WAAY,OACZC,UAAW,QACXC,WAAY,SACZC,cAAe,SACfC,WAAY,SACZC,KAAM,KACNC,YAAa,OACbC,SAAU,QACVC,SAAU,QACVC,cAAe,OACfC,UAAW,OACXC,YAAa,OACbC,aAAc,OACdC,aAAc,OACdC,OAAQ,OACRC,cAAe,SACfC,mBAAoB,OACpBC,sBAAuB,QACvBC,kBAAmB,SACnBC,YAAa,OACbC,QAAS,QACTC,UAAW,OACXC,mBAAoB,OACpBC,gBAAiB,OACjBC,gBAAiB,OACjBC,YAAa,QACbC,eAAgB,OAChBC,aAAc,OACdC,QAAS,SACTC,YAAa,OACbC,SAAU,QACVC,OAAQ,KACRtN,IAAK,KACLuN,KAAM,KACNC,SAAU,OACVC,YAAa,OACbC,gBAAiB,OACjBC,aAAc,OACdC,cAAe,OACfC,WAAY,OACZC,gBAAiB,OACjBC,aAAc,OACdC,cAAe,OACfC,WAAY,OACZC,cAAe,OACfC,WAAY,OACZC,eAAgB,OAChBC,YAAa,OACbC,QAAS,KACTC,YAAa,SACbC,oBAAqB,QACrBC,SAAU,SACVC,WAAY,UACZC,QAAS,MACTC,cAAe,KACfC,SAAU,MACVC,SAAU,QACVC,SAAU,OACVC,YAAa,UACbC,SAAU,OACVC,YAAa,OACbC,WAAY,OACZC,QAAS,OACTC,OAAQ,OACRC,SAAU,OACVC,WAAY,UACZC,WAAY,gBACZC,QAAS,OACTC,YAAa,QACbC,WAAY,OACZC,YAAa,OACbC,eAAgB,SAChBC,MAAO,KACPC,QAAS,KACTC,OAAQ,KACRC,cAAe,QACfnO,YAAa,OACboO,SAAU,KACVC,SAAU,KACVC,cAAe,OACfC,WAAY,OACZC,eAAgB,QAChBC,YAAa,QACbC,eAAgB,OAChBC,YAAa,OACbC,cAAe,OACfC,WAAY,OACZC,gBAAiB,OACjBC,sBAAuB,OACvBC,cAAe,UACfC,WAAY,UACZC,MAAO,KACPC,KAAM,YACNC,WAAY,gBACZC,YAAa,OACbC,SAAU,OACVC,eAAgB,WAChBC,kBAAmB,wBACnBC,YAAa,CACXC,GAAI,KACJC,UAAW,KACXC,UAAW,MACXC,cAAe,SACfC,sBAAuB,aACvBC,0BAA2B,eAC3BC,2BAA4B,iBAC5BC,2BAA4B,aAC5BC,+BAAgC,eAChCC,gCAAiC,iBACjCC,sBAAuB,cAEzBC,YAAa,CACXjlB,KAAM,MAERklB,eAAgB,CACdtmB,KAAM,MACN4Z,MAAO,MACP2M,cAAe,OACfC,cAAe,QACfjnB,KAAM,KACNknB,MAAO,KACPC,UAAW,MACXlJ,MAAO,KACPmJ,MAAO,KACPjM,SAAU,KACVkM,SAAU,KACVC,kBAAmB,WACnBC,uBAAwB,WACxBC,aAAc,QACdC,mBAAoB,QACpBC,MAAO,OACPC,MAAO,OACPxB,GAAI,KACJyB,aAAc,OACdC,KAAM,KACNC,MAAO,QACPC,OAAQ,OACRC,qBAAsB,QACtBC,WAAY,MACZC,WAAY,MACZC,aAAc,aACdC,aAAc,aACdC,SAAU,QAEZC,oBAAqB,CACnBC,GAAI,KACJC,WAAY,MACZvK,MAAO,KACPje,KAAM,KACNonB,MAAO,KACPqB,YAAa,KACbtN,SAAU,MAEZuN,YAAa,CACXC,WAAY,UACZC,EAAG,OACHljB,EAAG,OACHmjB,EAAG,IACHC,EAAG,IACHC,IAAK,IACLxO,WAAY,MACZoJ,YAAa,UACbD,SAAU,OACVW,YAAa,QACbC,WAAY,QAEd0E,SAAU,CACRC,QAAS,aACTC,UAAW,OACXC,mBAAoB,cACpBC,UAAW,OACXC,QAAS,QACTC,MAAO,KACPC,IAAK,MACLpD,GAAI,KACJqD,UAAW,aACXC,cAAe,UACfC,iBAAkB,aAClB1pB,KAAM,KACN2pB,KAAM,KACNC,OAAQ,KACRvM,OAAQ,KACRwM,cAAe,uBACfC,YAAa,2BACbC,KAAM,4CACNC,KAAM,sDACNC,KAAM,qCAERC,eAAgB,GAChBC,WAAY,CACVC,UAAW,QACX5sB,KAAM,KACN6sB,UAAW,OACXC,YAAa,2BACbC,YAAa,SACbC,UAAW,SACXC,UAAW,QACXC,UAAW,OACXC,YAAa,OACbC,YAAa,OACbC,YAAa,MACbC,YAAa,OACbhH,WAAY,OACZiH,gBAAiB,QACjBC,YAAa,SACbC,SAAU,MACVC,OAAQ,KACR7Y,OAAQ,KACRwC,OAAQ,KACRsW,KAAM,KACNtG,SAAU,KACV5C,OAAQ,KACRmJ,OAAQ,UACRnoB,OAAQ,OACRwhB,MAAO,KACP4G,WAAY,OACZna,GAAI,KACJoa,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,OACJC,GAAI,KACJC,GAAI,KACJC,WAAY,QACZC,cAAe,OACfC,cAAe,SACfC,cAAe,UACfjQ,KAAM,MACNkQ,WAAY,SACZC,OAAQ,KACRC,cAAe,IACfC,cAAe,IACfC,eAAgB,OAChB7J,WAAY,OACZ8J,oBAAqB,YACrBC,mBAAoB,eACpBC,gBAAiB,kBACjBC,gBAAiB,iBACjBC,WAAY,OACZvJ,oBAAqB,QACrBwJ,WAAY,OACZC,qBAAsB,WAExBC,cAAe,CACbzC,UAAW,QACX5sB,KAAM,KACN6sB,UAAW,OACXC,YAAa,2BACbC,YAAa,SACbC,UAAW,SACXC,UAAW,QACXqC,WAAY,OACZhC,YAAa,OACbhH,WAAY,OACZiH,gBAAiB,MACjBgC,YAAa,OACbC,eAAgB,cAChBC,UAAW,SACXC,OAAQ,KACRC,cAAe,SACflC,SAAU,MACVC,OAAQ,KACR7Y,OAAQ,KACRwC,OAAQ,KACRsW,KAAM,KACNtG,SAAU,KACV5C,OAAQ,KACRmJ,OAAQ,UACRnoB,OAAQ,OACRwhB,MAAO,KACP4G,WAAY,OACZna,GAAI,KACJoa,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,KACJC,GAAI,OACJC,GAAI,KACJC,GAAI,KACJwB,cAAe,OACftB,cAAe,OACfC,cAAe,SACfC,cAAe,UACfqB,aAAc,OACdtR,KAAM,MACNkQ,WAAY,SACZC,OAAQ,KACRC,cAAe,IACfC,cAAe,IACfC,eAAgB,OAChB7J,WAAY,OACZ8J,oBAAqB,YACrBC,mBAAoB,eACpBC,gBAAiB,kBACjBC,gBAAiB,iBACjBC,WAAY,OACZvJ,oBAAqB,YACrByJ,qBAAsB,UACtBU,cAAe,OACf/d,GAAI,KACJO,GAAI,KACJC,GAAI,KACJwd,SAAU,KACVC,SAAU,KACVC,SAAU,KACVC,6BAA8B,kBAC9BC,6BAA8B,YAC9BC,sBAAuB,UACvBC,2BAA4B,UAC5BC,eAAgB,gBAChBC,UAAW,yBACXC,QAAS,QACTC,UAAW,UAEbC,kBAAmB,CACjBC,UAAW,aACXC,GAAI,KACJC,UAAW,QACXC,cAAe,OACfC,cAAe,OACfC,aAAc,OACdC,YAAa,OACbC,gBAAiB,OACjBC,QAAS,MACTC,eAAgB,OAChBC,aAAc,OACdC,aAAc,OACdC,YAAa,QACbC,WAAY,OACZC,iBAAkB,+BAClBC,YAAa,0BACbC,kBAAmB,+BACnBC,aAAc,0BACdC,kBAAmB,oBACnBC,YAAa,OACbnD,cAAe,IACfC,cAAe,IACfmD,mBAAoB,eACpBpd,OAAQ,KACR8L,MAAO,KACPuR,YAAa,OACbC,cAAe,SACfC,MAAO,OACPC,MAAO,OACPtS,OAAQ,OACRuS,SAAU,OACVC,gBAAiB,UACjBC,SAAU,WACVC,SAAU,2CAEZC,SAAU,CACRhM,OAAQ,OACRrN,SAAU,KACVF,YAAa,OACbwZ,UAAW,OACXC,SAAU,OACV7Z,QAAS,QACT8Z,WAAY,OACZhJ,UAAW,SACXiJ,OAAQ,OACRC,aAAc,OACdC,iBAAkB,SAClBC,YAAa,OACbC,UAAW,MACXC,SAAU,SACVC,WAAY,OACZ5M,WAAY,QAEd6M,WAAY,CACVC,SAAU,QACVC,UAAW,QACXC,OAAQ,UACRC,OAAQ,OACRC,MAAO,UACP3H,QAAS,QACT4H,aAAc,QACdC,WAAY,OACZnG,gBAAiB,OACjBoG,eAAgB,OAGhBC,MAAO,QACP5a,WAAY,OACZiN,SAAU,QACVO,OAAQ,OACRoH,OAAQ,UACRiG,UAAW,QACXC,gBAAiB,OACjBlD,GAAI,MACJmD,WAAY,UACZC,SAAU,SACVC,SAAU,KACVC,QAAS,OACTC,YAAa,SACbC,OAAQ,QACRC,MAAO,QACPC,QAAS,SACTC,WAAY,UACZC,eAAgB,YAChBC,UAAW,OACXC,UAAW,UACXC,WAAY,SACZC,UAAW,OACXC,gBAAiB,SACjBC,UAAW,KACXC,SAAU,KACVC,OAAQ,KACRC,MAAO,KACPC,UAAW,KACXC,OAAQ,KACRC,SAAU,MACVvC,aAAc,OACdwC,SAAU,SACVC,WAAY,MACZhP,WAAY,OACZiP,WAAY,OACZC,gBAAiB,OACjBC,SAAU,SACVC,MAAO,KACPC,KAAM,KACNC,SAAU,OACVC,aAAc,OAEhBC,aAAc,CACZC,OAAQ,KACRC,MAAO,QACPC,YAAa,OACbC,eAAgB,OAChBC,gBAAiB,OACjB/C,SAAU,OACVpa,WAAY,OACZ4a,MAAO,WACPhD,GAAI,KACJwF,WAAY,OACZrc,OAAQ,KACRsc,eAAgB,SAChBC,QAAS,KACTC,MAAO,MAETC,aAAc,CACZC,KAAM,KACNC,KAAM,KACNC,KAAM,KACN/hB,KAAM,KACNgiB,OAAQ,KACRC,QAAS,KACTC,kBAAmB,OACnBC,UAAW,UACXC,oBAAqB,aACrBC,kBAAmB,QACnBC,2BAA4B,SAC5BC,eAAgB,OAChBC,UAAW,OACXC,YAAa,WACbC,YAAa,OACbC,SAAU,OACVC,MAAO,MACPC,OAAQ,OACR3e,QAAS,MACT4e,aAAc,OACdC,OAAQ,QAEVC,eAAgB,CACdvI,cAAe,OACfG,eAAgB,cAChBqI,aAAc,OACdpI,UAAW,SACXqI,aAAc,OACdxN,MAAO,SACPyN,aAAc,YACdC,WAAY,QAEdC,aAAc,CACZC,aAAc,OACdtE,MAAO,KACPuE,GAAI,KACJC,GAAI,KACJC,MAAO,QAETC,aAAc,CACZ9R,OAAQ,OACRpM,QAAS,OACTme,eAAgB,SAChBC,kBAAmB,SACnBC,YAAa,OACb3f,QAAS,OACT4f,eAAgB,OAChBC,YAAa,OACbC,WAAY,OACZC,OAAQ,KACRC,WAAY,OACZC,SAAU,OACVC,WAAY,OACZjf,OAAQ,OACRkf,UAAW,MACXC,QAAS,MACTC,UAAW,SACXze,WAAY,OACZ0e,eAAgB,OAChB1L,OAAQ,KACR2L,gBAAiB,WACjBC,mBAAoB,WACpBC,mBAAoB,WACpB/K,cAAe,UACfnX,OAAQ,KACRxC,OAAQ,KACR4P,OAAQ,KACRkB,oBAAqB,QACrB6T,SAAU,SACVC,cAAe,SACfC,eAAgB,QAChBC,gBAAiB,OACjBC,cAAe,OACfC,eAAgB,OAChBC,eAAgB,GAChBC,UAAW,OACXC,WAAY,QACZC,iBAAkB,QAClBC,0BAA2B,UAC3BC,yBAA0B,SAC1BC,qBAAsB,UACtBC,kCAAmC,WACnCC,iCAAkC,YAClCC,6BAA8B,aAC9BC,8BAA+B,YAC/BC,6BAA8B,YAC9BC,yBAA0B,cAC1BC,UAAW,KACXC,aAAc,OACdC,gBAAiB,MACjBC,gBAAiB,MACjBnR,UAAW,KACX7X,QAAS,OACTwd,WAAY,OACZyL,SAAU,MACVC,SAAU,OACVC,UAAW,QAEbC,WAAY,CACV7C,MAAO,MACPhO,KAAM,KACN8Q,MAAO,KACPC,WAAY,OACZC,YAAa,QAEfC,SAAU,CACRjD,MAAO,OACPhO,KAAM,KACN8Q,MAAO,KACPC,WAAY,OACZC,YAAa,QAEfE,gBAAiB,CACf/U,OAAQ,OACRgV,WAAY,KACZC,cAAe,OACfC,YAAa,OACbC,aAAc,OACdz8B,KAAM,YACNmiB,IAAK,KACLua,UAAW,OACX7oB,KAAM,KACN0S,QAAS,MAEXoW,OAAQ,CACND,UAAW,KACXE,GAAI,KACJC,qBAAsB,OACtBC,mBAAoB,OACpBC,KAAM,KACNC,KAAM,KACN7a,IAAK,KACL9J,UAAW,OACXC,QAAS,OACTgP,OAAQ,OACR2V,QAAS,OACTrc,IAAK,MACLsc,WAAY,aACZzT,GAAI,KACJ0T,SAAU,KACVC,SAAU,KACVC,SAAU,KACVC,QAAS,OACTC,UAAW,OACXC,YAAa,SACbC,YAAa,OACbC,UAAW,OACXC,YAAa,SACbC,YAAa,UACbC,YAAa,OACbC,UAAW,OACXC,YAAa,OACbC,QAAS,OACTC,UAAW,SACXC,YAAa,KACbC,YAAa,SACbC,UAAW,cACXC,YAAa,KACbC,YAAa,SACbC,UAAW,YACXC,YAAa,KACbC,UAAW,OACXC,YAAa,KACbC,YAAa,MACbC,YAAa,aACbC,UAAW,OACXC,YAAa,KACbC,UAAW,QACXC,YAAa,KACbC,YAAa,UACbC,YAAa,eACbC,YAAa,cACbC,UAAW,aACXC,YAAa,KACbC,YAAa,QACbC,YAAa,KACbC,UAAW,WACXC,YAAa,KACbC,YAAa,QACbC,YAAa,KACbC,YAAa,WACbC,UAAW,SACXC,YAAa,KACbC,YAAa,SACbC,UAAW,OACXC,YAAa,KACbC,YAAa,SACbC,YAAa,WACbC,QAAS,OACTC,UAAW,OACXC,YAAa,KACbC,UAAW,KACXC,YAAa,KACbC,UAAW,OACXC,YAAa,KACbC,UAAW,MACXC,YAAa,KACbC,QAAS,OACTC,QAAS,OACTC,UAAW,WACXC,YAAa,KACbC,YAAa,KACbC,YAAa,KACbC,YAAa,SACbC,UAAW,SACXC,YAAa,KACbC,YAAa,MACbC,YAAa,OACbC,YAAa,QACbC,YAAa,OACbC,UAAW,SACXC,YAAa,KACbC,YAAa,KACbC,YAAa,KACbC,UAAW,WACXC,YAAa,KACbC,YAAa,KACbC,UAAW,SACXC,YAAa,SACbC,QAAS,OACTC,QAAS,KACTC,UAAW,QACXC,YAAa,OACbC,UAAW,QACXC,YAAa,SACbC,YAAa,OACbC,YAAa,SACbC,UAAW,OACXC,YAAa,OACbC,UAAW,OACXC,YAAa,OACbC,UAAW,QACXC,YAAa,UACbC,YAAa,OACbC,YAAa,MACbC,YAAa,OACbC,YAAa,OACbC,YAAa,WACbC,YAAa,SACbC,UAAW,QACXC,YAAa,OACbC,YAAa,OACbC,YAAa,WACbC,YAAa,OACbC,QAAS,QACTC,UAAW,OACXC,YAAa,YACbC,YAAa,YACbC,UAAW,SACXC,YAAa,SACbC,UAAW,OACXC,YAAa,aACbC,YAAa,cACbC,UAAW,OACXC,YAAa,SACbC,YAAa,SACbC,UAAW,UACXC,YAAa,UACbC,UAAW,gBACXC,YAAa,gBACbC,YAAa,kBAEfC,OAAQ,CACNC,gBAAiB,CACf7W,YAAa,MACbE,YAAa,QACb4W,OAAQ,MACRC,SAAU,gBACVC,SAAU,KACVC,YAAa,QACbC,aAAc,sBACdC,MAAO,UACPC,MAAO,UACPC,oBAAqB,SACrBC,+BAAgC,SAChCC,aAAc,eACdC,wBAAyB,eACzBC,iBAAkB,UAClBC,mBAAoB,QACpBC,cAAe,cACfC,OAAQ,QACRC,YAAa,QACbC,aAAc,OACdC,cAAe,QACfC,QAAS,MACTC,MAAO,MACPC,eAAgB,eAChB3xB,GAAI,KACJoa,GAAI,KACJwX,YAAa,UACbC,YAAa,UACbC,qBAAsB,cACtBnN,MAAO,SACPoN,QAAS,KACTC,UAAW,MACXC,UAAW,QACXC,WAAY,aACZC,YAAa,eACbnhB,KAAM,KACNyC,OAAQ,KACRvS,KAAM,KACNC,OAAQ,KACR8P,SAAU,OAEVC,YAAa,4BACbkhB,iBAAkB,SAClBC,kBAAmB,0BACnBC,mBAAoB,gBACpBC,eAAgB,kBAChBC,WAAY,UACZC,KAAM,OACNC,QAAS,OACTznB,OAAQ,KACR0nB,OAAQ,SACRC,MAAO,UACPC,MAAO,KACPC,WAAY,UACZC,mBAAoB,SACpBC,qBAAsB,SACtBC,2BAA4B,SAC5BC,6BAA8B,SAC9BC,gBAAiB,OACjBC,kBAAmB,OACnBC,QAAS,OACTC,MAAO,aACPC,IAAK,SACLC,aAAc,oBACdC,SAAU,SACVC,cAAe,SACfC,cAAe,UACfC,UAAW,KACXC,eAAgB,UAChBC,mBAAoB,OACpBC,qBAAsB,QACtBC,WAAY,MACZC,oBAAqB,MACrBC,eAAgB,QAChBC,iBAAkB,UAClBC,cAAe,OACfC,QAAS,OACTC,YAAa,OACbC,IAAK,KACLC,aAAc,KACdzxB,QAAS,OACT0xB,WAAY,SACZxiB,oBAAqB,QACrByiB,yBAA0B,yBAC1BC,mBAAoB,UACpBC,uBAAwB,SACxBC,eAAgB,UAChBC,wBAAyB,UACzBC,MAAO,UACPC,mBAAoB,SACpBC,sBAAuB,WACvBC,+BAAgC,OAChCC,oBAAqB,KACrBC,gBAAiB,MACjB5hB,QAAS,wBACTzB,QAAS,OACT1S,KAAM,OACNg2B,UAAW,+BACXC,eAAgB,UAChBC,YAAa,MACbC,YAAa,eACbC,cAAe,UACfC,iBAAkB,cAClB31B,SAAU,QACVsa,GAAI,KACJC,GAAI,KACJqb,GAAI,KACJnb,GAAI,OACJC,GAAI,KACJC,GAAI,KACJkb,GAAI,OACJv3B,GAAI,KACJw3B,YAAa,OACbC,cAAe,OACfC,IAAK,aACLC,WAAY,oBACZC,gBAAiB,OACjBC,OAAQ,MACRC,KAAM,KACNC,IAAK,MACLC,UAAW,OACXC,cAAe,QACfC,aAAc,QACd,YAAa,QACbC,gBAAiB,SACjBC,iBAAkB,UAClBC,gBAAiB,QACjBC,YAAa,QACbC,mBAAoB,QACpBC,eAAgB,UAChBC,8BAA+B,sBAC/BC,eAAgB,QAChBC,WAAY,UACZC,0BAA2B,sBAC3BC,aAAc,WACdC,YAAa,UACbC,eAAgB,YAChBC,WAAY,YACZC,aAAc,YACdC,iBAAkB,OAClBC,aAAc,OACdC,qBAAsB,UACtB1lC,OAAQ,KACR2lC,MAAO,OACPC,gBAAiB,QACjBtlB,cAAe,KACfulB,YAAa,UACbnnB,YAAa,UACbonB,YAAa,KACbjlB,WAAY,OACZklB,aAAc,SAGlBC,kBAAmB,CACjBC,aAAc,SACdC,cAAe,OACflmC,OAAQ,KACRypB,WAAY,OACZ0c,aAAc,OACdC,eAAgB,KAChBC,eAAgB,KAChBC,gBAAiB,KACjBC,eAAgB,KAChBC,qBAAsB,OACtBC,mBAAoB,KACpB70B,OAAQ,KACR80B,OAAQ,KACRh1B,IAAK,KACLi1B,GAAI,KACJnnC,EAAG,KACHonC,EAAG,KACHxT,OAAQ,KACRyT,IAAK,MACLC,OAAQ,MACRC,OAAQ,MACRC,QAAS,KACTC,QAAS,KACTC,KAAM,MACNC,WAAY,KACZC,KAAM,MACNC,MAAO,IACPC,MAAO,IACPC,KAAM,MACNC,UAAW,MACXC,WAAY,oDACZC,cAAe,OACfpnB,cAAe,KACfqnB,aAAc,KACdtb,YAAa,OACbub,eAAgB,YAChBC,iBAAkB,SAClBC,SAAU,QACVC,+BAAgC,YAChCC,gCAAiC,WACjCC,kCAAmC,SACnCC,sCAAuC,WACvCC,wCAAyC,WACzCC,oCAAqC,SACrCC,kCAAmC,SACnCC,oCAAqC,WACrCC,iCAAkC,UAClCC,iCAAkC,UAClCC,kCAAmC,SACnCC,kCAAmC,SACnCC,iCAAkC,UAClCC,kCAAmC,QACnCC,kCAAmC,QACnCC,0CAA2C,aAE7CC,YAAa,CACXlkB,MAAO,OACPmkB,QAAS,OACTC,QAAS,OACTC,cAAe,OACfjnC,UAAW,aACX4e,WAAY,OACZqH,KAAM,KACNtW,OAAQ,KACRxC,OAAQ,KACRsC,IAAK,KACLxC,OAAQ,KACRwS,OAAQ,KACRynB,aAAc,OACdnpC,OAAQ,KACRopC,aAAc,UACdC,aAAc,kBACdC,eAAgB,WAChBC,aAAc,kBACdC,kBAAmB,cACnBC,QAAS,SACTC,WAAY,SAEdC,eAAgB,OAChBC,oBAAqB,SACrBC,aAAc,SACdC,gBAAiB,YACjBC,WAAY,OACZC,iBAAkB,OAClBC,YAAa,QACbC,qBAAsB,OACtBC,qBAAsB,gBACtBC,OAAQ,KACRC,iBAAkB,OAClBC,gBAAiB,SAEjBC,gBAAiB,OACjBC,qBAAsB,OACtBC,UAAW,OACXC,UAAW,OACXC,UAAW,OACXC,SAAU,OACVC,mBAAoB,QACpBC,cAAe,YACfC,aAAc,OAEdC,aAAc,OACdC,iBAAkB,qCAClBC,eAAgB,OAChBC,mBAAoB,OACpBC,gBAAiB,SACjBC,eAAgB,OAEhBC,YAAa,QACbC,kBAAmB,OACnBC,eAAgB,SAChBC,cAAe,OAEfC,kBAAmB,OACnBC,eAAgB,SAChBC,cAAe,OACfC,iBAAkB,wDAClBC,YAAa,yCACbC,eAAgB,QAChBC,kBAAmB,OACnBC,YAAa,OACbC,mBAAoB,OACpBC,aAAc,UACdC,WAAY,aACZC,YAAa,OACbC,QAAS,QACTC,iBAAkB,SAClBC,wBAAyB,SACzBC,YAAa,OACbC,UAAW,OACXC,WAAY,CACVC,YAAa,yDACbC,gBAAiB,cACjBC,YAAa,UACbC,OAAQ,QACR14B,WAAY,OACZY,WAAY,OACZE,OAAQ,KACR63B,OAAQ,KACRC,QAAS,QACTC,eAAgB,OAChBC,WAAY,QACZC,WAAY,OACZnO,aAAc,YACduD,IAAK,OACLxxB,QAAS,OACTgyB,MAAO,OACPqK,OAAQ,OACRC,QAAS,UACTC,UAAW,SACXC,cAAe,SACfC,WAAY,QACZC,QAAS,QACTC,QAAS,KACTn/B,SAAU,KACVo/B,KAAM,KACNC,KAAM,MACNC,cAAe,WACfC,iBAAkB,eAClBC,mBAAoB,eACpBC,kBAAmB,YACnBC,kBAAmB,SACnBC,mBAAoB,oBACpBC,WAAY,QACZC,cAAe,OACfC,gBAAiB,OACjBC,gBAAiB,OACjBC,UAAW,WACXC,OAAQ,KACRC,OAAQ,KACRC,aAAc,oBACdC,gBAAiB,qBACjBC,gBAAiB,qBACjBC,SAAU,SACVC,WAAY,WACZC,GAAI,OACJC,OAAQ,OACRC,KAAM,SACNC,KAAM,SACNne,KAAM,KACNC,KAAM,KACNC,KAAM,KACNke,sBAAuB,SACvBC,oBAAqB,SACrBC,eAAgB,OAChBC,sBAAuB,SACvBC,mBAAoB,SACpBC,4BAA6B,WAC7BC,UAAW,SACXC,UAAW,SACX1hC,GAAI,KACJ,UAAW,OACXqa,GAAI,KACJC,GAAI,KACJC,GAAI,MACJC,GAAI,OACJC,GAAI,KACJC,GAAI,KACJinB,GAAI,OACJC,GAAI,KACJ,QAAS,MACT,QAAS,OACTjM,GAAI,MACJ,aAAc,OACdkM,GAAI,OACJznB,GAAI,OACJ,QAAS,OACTwb,GAAI,OACJ,QAAS,MACTkM,KAAM,eACNC,SAAU,OACVj2C,EAAG,KACHk2C,EAAG,KACHC,QAAS,QACTC,UAAW,OACXniC,SAAU,KACVkL,OAAQ,KACR6S,WAAY,OACZqkB,OAAQ,OACRC,cAAe,OACfC,kBAAmB,SACnBC,aAAc,QACdC,SAAU,mBACVC,SAAU,uCACVC,UAAW,OACXC,SAAU,KACVC,UAAW,OACXC,cAAe,QAEjBC,MAAO,CACLzkC,QAAS,OACTs5B,MAAO,OACPoL,KAAM,OACNC,SAAU,OACVC,MAAO,OACPC,MAAO,OACPC,KAAM,OACNC,KAAM,OACNC,WAAY,QAEdC,WAAY,QACZC,UAAW,gDACXC,aAAc,sCACdC,MAAO,OACPC,mBAAoB,OACpBC,qBAAsB,MACtBC,sBAAuB,UAEpB,MAEL3jC,GAAI,CACF1B,MAAO,cACPC,YAAa,4BACbC,WAAY,aACZC,UAAW,aACXC,SAAU,4BACVC,GAAI,WACJC,GAAI,UACJC,GAAI,SACJC,UAAW,YACXC,UAAW,YACXC,UAAW,YACXC,GAAI,YACJC,IAAK,MACLC,UAAW,YACXC,OAAQ,SACRC,KAAM,eACNC,cAAe,0BACfC,eAAgB,mBAChBC,UAAW,WACXC,aAAc,gBACdC,cAAe,iBACfC,SAAU,sBACVC,cAAe,YACfC,WAAY,yCACZC,aAAc,8BACdC,SAAU,WACV1B,GAAI,KACJ2B,GAAI,UACJC,MAAO,QACPC,MAAO,QACPC,YAAa,eACbC,OAAQ,SACRC,OAAQ,SACRC,SAAU,WACVC,SAAU,WACVC,gBAAiB,wBACjBC,gBAAiB,wBACjBC,cAAe,0BACfC,uBAAwB,8CACxBC,cAAe,sBACfC,OAAQ,YACRC,OAAQ,SACRC,UAAW,aACXC,cAAe,mBACfC,OAAQ,SACRC,KAAM,OACNC,OAAQ,SACRC,mBAAoB,uBACpBC,gBAAiB,mBACjBC,UAAW,sBACXC,MAAO,QACPC,KAAM,YACNC,YAAa,YACbC,kBAAmB,iBACnBC,mBAAoB,sBACpBC,gCAAiC,qCACjCC,wBAAyB,6BACzBC,gBAAiB,oBACjBC,kBAAmB,iBACnBC,aAAc,gBACdC,cAAe,iBACfC,UAAW,kBACXC,SAAU,iBACVC,YAAa,2HACbC,aAAc,eACdC,WAAY,cACZC,gBAAiB,mBACjBC,WAAY,mBACZC,UAAW,qBACXC,UAAW,oBACXC,OAAQ,UACRC,QAAS,UACTC,QAAS,UACTE,QAAS,UACTD,KAAM,OACNE,IAAK,MACLC,UAAW,YACXC,gBAAiB,SACjBC,YAAa,eACbC,aAAc,CACZC,QAAS,UACTC,eAAgB,oBAElBC,UAAW,aACXC,WAAY,CACVC,IAAK,MACLC,QAAS,UACTvC,OAAQ,SACRwC,OAAQ,SACRC,aAAc,iBACdC,UAAW,aACXC,QAAS,WACTC,UAAW,UACXC,UAAW,SACXC,UAAW,UACXC,UAAW,SACXC,UAAW,SACXC,UAAW,WACXC,UAAW,SACXC,UAAW,QACXC,UAAW,aACXC,UAAW,UACXC,YAAa,oBACbC,YAAa,iBACbC,UAAW,UACXC,UAAW,UACXC,UAAW,UAEbC,kBAAmB,WACnBC,0BAA2B,mBAC3BC,kBAAmB,CACjBC,oBAAqB,wBACrBC,2BAA4B,gCAC5BvU,KAAM,OACNwU,QAAS,gBACTC,QAAS,UACTC,cAAe,iBACfC,WAAY,cACZC,YAAa,eACbC,WAAY,cACZC,SAAU,YACVC,gBAAiB,oBAEnBnZ,QAAS,CACPoZ,QAAS,UACTnE,KAAM,OACNoB,QAAS,UACTgD,KAAM,UAERC,gBAAiB,WACjBC,eAAgB,kBAChBC,eAAgB,mBAChBC,aAAc,gBACdC,UAAW,aACXC,aAAc,eACdC,OAAQ,CACNC,WAAY,cACZC,OAAQ,SACRC,YAAa,eACbC,YAAa,eACbC,YAAa,eACbC,aAAc,gBACdvF,KAAM,OACNC,OAAQ,SACRuF,QAAS,UACTnG,SAAU,WACVoG,gBAAiB,oBAEnBC,YAAa,CACXC,SAAU,YACVC,YAAa,eACbC,WAAY,eACZC,WAAY,cACZC,KAAM,OACNC,OAAQ,UAEVC,sBAAuB,0BACvBC,WAAY,eACZC,oBAAqB,gDACrBC,KAAM,OACNC,aAAc,gBACdC,QAAS,UACTC,OAAQ,SACRC,YAAa,cACbC,KAAM,OACNjB,QAAS,UACTkB,aAAc,eACdC,aAAc,eACdC,iBAAkB,YAClBC,cAAe,aACfC,gBAAiB,yBACjBC,mBAAoB,4BACpBC,QAAS,UACTC,aAAc,eACd,mBAAoB,mBACpBC,sBAAuB,wBACvB,4BAA6B,4BAC7BC,qBAAsB,uBACtBC,QAAS,UACTC,YAAa,cACbC,SAAU,WACVC,aAAc,oBACdC,cAAe,gBACfC,cAAe,gBACfC,cAAe,gBACfC,cAAe,gBACfK,MAAO,QACPC,MAAO,QACPC,KAAM,OACNC,WAAY,aACZC,OAAQ,SACRC,QAAS,UACTC,gBAAiB,kBACjBC,WAAY,aACZE,aAAc,eACdC,YAAa,cACbC,YAAa,CACXC,iBAAkB,qBAClBC,WAAY,cACZC,aAAc,iBACdC,SAAU,YAEZP,aAAc,eACdQ,OAAQ,SAERC,aAAc,eACdC,gBAAiB,kBACjBC,OAAQ,SACRC,UAAW,aACXC,QAAS,oBACTC,WAAY,CACVC,cAAe,iBACfC,aAAc,iBAEhBC,eAAgB,kBAChBC,aAAc,gBACdC,KAAM,OACNC,UAAW,uCACXC,UAAW,aACXC,aAAc,eACdC,OAAQ,SACRC,YAAa,eACbC,UAAW,aACXC,cAAe,kBACfC,QAAS,UACTC,aAAc,eACdC,KAAM,OACNC,WAAY,cACZC,aAAc,eACdC,uBAAwB,yBACxBC,eAAgB,wBAChBC,KAAM,OACNC,gBAAiB,kBACjBC,YAAa,CACXC,UAAW,aACXC,YAAa,eACbC,eAAgB,cAChBC,WAAY,cACZC,OAAQ,SACRC,IAAK,MACLtd,KAAM,OACNud,eAAgB,cAChBC,aAAc,qBACdC,WAAY,cACZC,gBAAiB,6BACjBC,aAAc,iBACdC,YAAa,gBACbC,iBAAkB,uBAClBC,mBAAoB,8BACpBC,kBAAmB,8BACnBC,eAAgB,oBAElBC,MAAO,QACPC,eAAgB,iBAChBC,SAAU,YACVC,QAAS,UACTC,MAAO,QACPC,IAAK,MACLC,gBAAiB,kBACjBC,gBAAiB,2BACjBC,aAAc,gBACdC,WAAY,aACZC,MAAO,QACPC,MAAO,QACPC,IAAK,MACLC,UAAW,YACXC,iBAAkB,mBAClBC,sBAAuB,wBACvBC,WAAY,aACZC,YAAa,cACbC,SAAU,OACVC,QAAS,SACTC,mBAAoB,QACpBC,UAAW,QACXC,UAAW,QACXC,YAAa,UACbC,SAAU,OACVC,eAAgB,kBAChBC,UAAW,QACXC,qBAAsB,SACtBC,cAAe,QACfC,cAAe,gBACfC,QAAS,UACTC,UAAW,aACXC,MAAO,QACPC,WAAY,aACZC,UAAW,YACXC,WAAY,mBACZC,cAAe,oBACfC,WAAY,iBACZC,KAAM,OACNC,YAAa,cACbC,SAAU,WACVC,SAAU,YACVC,cAAe,gBACfC,UAAW,YACXC,YAAa,cACbC,aAAc,eACdC,aAAc,eACdC,OAAQ,UACRC,cAAe,uBACfC,mBAAoB,mBACpBC,sBAAuB,mBACvBC,kBAAmB,eAEnBC,YAAa,cACbC,QAAS,SACTC,UAAW,YACXC,mBAAoB,qBACpBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,YAAa,aACbC,eAAgB,gBAChBC,aAAc,eACdC,QAAS,iBACTG,OAAQ,SACRtN,IAAK,MACLuN,KAAM,OACNC,SAAU,YACVC,YAAa,eACbC,gBAAiB,mBACjBC,aAAc,gBACdC,cAAe,iBACfC,WAAY,cACZC,gBAAiB,mBACjBC,aAAc,gBACdC,cAAe,iBACfC,WAAY,cACZC,cAAe,iBACfC,WAAY,cACZC,eAAgB,kBAChBC,YAAa,eACbC,QAAS,UACTC,YAAa,gBACbC,oBAAqB,mBACrBC,SAAU,mBACVC,WAAY,0BACZC,QAAS,iBACTC,cAAe,UAEfC,SAAU,WACVC,SAAU,WACVC,SAAU,WACVC,YAAa,cACbC,SAAU,WACVC,YAAa,cACbC,WAAY,cACZC,QAAS,UACTC,OAAQ,SACRC,SAAU,WACVC,WAAY,0BACZC,WAAY,6DACZC,QAAS,UACTC,YAAa,cACbC,WAAY,aACZC,YAAa,eACbC,eAAgB,oBAChBC,MAAO,QACPC,QAAS,UACTC,OAAQ,SACRC,cAAe,iBACfnO,YAAa,cACboO,SAAU,WACVC,SAAU,WACVC,cAAe,iBACfC,WAAY,kBACZ8vB,gBAAiB,mBACjB7vB,eAAgB,kBAChBE,eAAgB,kBAChBC,YAAa,mBACbC,cAAe,iBACfC,WAAY,iBACZC,gBAAiB,mBACjBC,sBAAuB,yBACvBC,cAAe,kBACfC,WAAY,UACZI,YAAa,eACbC,SAAU,YACVC,eAAgB,mBAChBC,kBAAmB,mFACnBqC,oBAAqB,CACnBC,GAAI,KACJC,WAAY,SACZvK,MAAO,QACPje,KAAM,OACNonB,MAAO,QACPqB,YAAa,aACbtN,SAAU,YAEZ2L,YAAa,CACXjlB,KAAM,QAERklB,eAAgB,CACdtmB,KAAM,OACN4Z,MAAO,QACP2M,cAAe,iBACfC,cAAe,iBACfjnB,KAAM,OACNknB,MAAO,QACPC,UAAW,YACXlJ,MAAO,QACPmJ,MAAO,QACPjM,SAAU,WACVkM,SAAU,WACVC,kBAAmB,uBACnBC,uBAAwB,4BACxBC,aAAc,gBACdC,mBAAoB,uBACpBC,MAAO,SACPC,MAAO,SACPxB,GAAI,KACJyB,aAAc,gBACdC,KAAM,OACNC,MAAO,SACPC,OAAQ,SACRC,qBAAsB,yBACtBC,WAAY,cACZC,WAAY,cACZC,aAAc,gBACdC,aAAc,gBACdC,SAAU,YAEZK,YAAa,CACXC,WAAY,sBACZC,EAAG,gBACHljB,EAAG,qBACHmjB,EAAG,OACHC,EAAG,QACHC,IAAK,MACLxO,WAAY,aACZoJ,YAAa,eACbD,SAAU,YACVW,YAAa,eACbC,WAAY,eAEd0E,SAAU,CACRC,QAAS,kBACTC,UAAW,aACXC,mBAAoB,uBACpBC,UAAW,aACXC,QAAS,WACTC,MAAO,QACPC,IAAK,MACLpD,GAAI,KACJqD,UAAW,aACXC,cAAe,kBACfC,iBAAkB,qBAClB1pB,KAAM,OACN2pB,KAAM,OACNC,OAAQ,SACRvM,OAAQ,SACRwM,cAAe,iDACfC,YAAa,6DACbC,KAAM,+GACNC,KAAM,mFACNC,KAAM,8DAERC,eAAgB,CACdjI,OAAQ,SACR9F,OAAQ,SACRmB,IAAK,MACLtd,KAAM,QAERmqB,WAAY,CACVC,UAAW,cACX5sB,KAAM,OACN6sB,UAAW,qBACXC,YAAa,mFACbC,YAAa,uBACbC,UAAW,qBACXC,UAAW,cACXE,YAAa,cACbC,YAAa,UACbC,YAAa,cACb/G,WAAY,aACZgH,YAAa,aACbC,gBAAiB,kBACjBC,YAAa,cACbN,UAAW,YACXU,OAAQ,SACRnoB,OAAQ,SACRwhB,MAAO,QACP4G,WAAY,cACZJ,SAAU,WACVC,OAAQ,SACR7Y,OAAQ,SACRwC,OAAQ,SACRsW,KAAM,OACNtG,SAAU,WACV5C,OAAQ,SACR/Q,GAAI,UACJoa,GAAI,UACJC,GAAI,SACJC,GAAI,SACJC,GAAI,SACJC,GAAI,UACJC,GAAI,WACJC,GAAI,SACJC,WAAY,cACZ9P,KAAM,MACN+P,cAAe,gBACfC,cAAe,oBACfC,cAAe,mCACfC,WAAY,aACZC,OAAQ,SACRC,cAAe,MACfC,cAAe,KACfC,eAAgB,iBAChB7J,WAAY,aACZ8J,oBAAqB,iCACrBC,mBAAoB,0CACpBC,gBAAiB,mDACjBC,gBAAiB,6CACjBC,WAAY,cACZvJ,oBAAqB,qBACrBwJ,WAAY,mBACZC,qBAAsB,yCAExBC,cAAe,CACbzC,UAAW,cACX5sB,KAAM,OACN6sB,UAAW,qBACXC,YAAa,mFACbC,YAAa,uBACbC,UAAW,qBACXC,UAAW,cACXqC,WAAY,aACZhJ,WAAY,aACZgH,YAAa,aACbC,gBAAiB,YACjBgC,YAAa,mBACbC,eAAgB,uBAChBC,UAAW,kBACXC,OAAQ,UACRC,cAAe,cACf/B,OAAQ,SACRnoB,OAAQ,SACRwhB,MAAO,QACP4G,WAAY,cACZJ,SAAU,WACVC,OAAQ,SACR7Y,OAAQ,SACRwC,OAAQ,SACRsW,KAAM,OACNtG,SAAU,WACV5C,OAAQ,SACR/Q,GAAI,UACJoa,GAAI,UACJC,GAAI,SACJC,GAAI,SACJC,GAAI,SACJC,GAAI,UACJC,GAAI,WACJC,GAAI,SACJwB,cAAe,iBACfrR,KAAM,WACN+P,cAAe,gBACfC,cAAe,oBACfC,cAAe,mCACfqB,aAAc,eACdpB,WAAY,aACZC,OAAQ,SACRC,cAAe,MACfC,cAAe,KACfC,eAAgB,iBAChB7J,WAAY,aACZ8J,oBAAqB,iCACrBC,mBAAoB,0CACpBC,gBAAiB,qDACjBC,gBAAiB,6CACjBC,WAAY,cACZvJ,oBAAqB,mCACrByJ,qBAAsB,wCACtBU,cAAe,iBACf/d,GAAI,QACJO,GAAI,UACJC,GAAI,SACJwd,SAAU,KACVC,SAAU,KACVC,SAAU,KACVC,6BAA8B,iCAC9BC,6BAA8B,iCAC9BC,sBAAuB,4BACvBC,2BAA4B,+BAC5BC,eAAgB,sCAChBC,UAAW,qDACXC,QAAS,aACTC,UAAW,iBAEbC,kBAAmB,CACjBC,UAAW,aACXC,GAAI,KACJC,UAAW,iBACXC,cAAe,kBACfC,cAAe,gBACfC,aAAc,eACdC,YAAa,eACbC,gBAAiB,iBACjBE,eAAgB,kBAChBC,aAAc,gBACdC,aAAc,gBACdC,YAAa,eACbC,WAAY,cACZC,iBAAkB,+EAClBC,YAAa,0EACbC,kBAAmB,+EACnBC,aAAc,0EACdC,kBAAmB,qDACnBC,YAAa,kBACbnD,cAAe,MACfC,cAAe,KACfuC,QAAS,WACTY,mBAAoB,oDACpBpd,OAAQ,SACR8L,MAAO,QACPuR,YAAa,eACbC,cAAe,iBACfC,MAAO,QACPC,MAAO,QACPtS,OAAQ,SACRuS,SAAU,YACVC,gBAAiB,wBACjBC,SAAU,2CACVC,SAAU,sJAEZC,SAAU,CACRhM,OAAQ,WACRrN,SAAU,WACVF,YAAa,cACbwZ,UAAW,YACXC,SAAU,WACV7Z,QAAS,eACT8Z,WAAY,aACZhJ,UAAW,YACXiJ,OAAQ,SACRC,aAAc,eACdC,iBAAkB,mBAClBC,YAAa,cACbC,UAAW,YACXC,SAAU,YACVC,WAAY,aACZ5M,WAAY,cAEd6M,WAAY,CACVC,SAAU,WACVC,UAAW,QACXC,OAAQ,SACRC,OAAQ,SACRC,MAAO,SACP3H,QAAS,WACT4H,aAAc,eACdC,WAAY,aACZnG,gBAAiB,kBACjBoG,eAAgB,kBAEhB1N,SAAU,WACV8N,WAAY,aACZnD,GAAI,KACJiD,UAAW,YACXrN,OAAQ,SACRoN,MAAO,QACPK,SAAU,WACVC,QAAS,UACTlb,WAAY,aACZsN,WAAY,aACZiP,WAAY,aACZvB,SAAU,WACVF,gBAAiB,kBACjBK,YAAa,cACbC,OAAQ,SACRG,WAAY,aACZD,QAAS,UACTD,MAAO,QACPK,UAAW,YACX9G,OAAQ,SACR4G,eAAgB,iBAChBC,UAAW,YACXE,WAAY,aACZE,gBAAiB,kBACjBD,UAAW,YACXE,UAAW,YACXC,SAAU,WACVC,OAAQ,SACRC,MAAO,QACPC,UAAW,YACXC,OAAQ,SACRC,SAAU,WACVvC,aAAc,eACdwC,SAAU,WACVC,WAAY,aACZE,gBAAiB,mBACjBC,SAAU,kBACVC,MAAO,QACPC,KAAM,OACNC,SAAU,WACVC,aAAc,gBAEhBC,aAAc,CACZC,OAAQ,SACRC,MAAO,SACPC,YAAa,eACbC,eAAgB,kBAChBC,gBAAiB,mBACjB/C,SAAU,YACVpa,WAAY,cACZ4a,MAAO,UACPhD,GAAI,KACJwF,WAAY,cACZrc,OAAQ,SACRsc,eAAgB,kBAChBC,QAAS,UACTC,MAAO,SAETC,aAAc,CACZC,KAAM,OACNC,KAAM,OACNC,KAAM,OACN/hB,KAAM,OACNgiB,OAAQ,SACRC,QAAS,UACTC,kBAAmB,oBACnBC,UAAW,YACXC,oBAAqB,sBACrBC,kBAAmB,oBACnBC,2BAA4B,6BAC5BC,eAAgB,iBAChBC,UAAW,YACXC,YAAa,cACbC,YAAa,cACbC,SAAU,WACVC,MAAO,aACPC,OAAQ,gBACR3e,QAAS,cACT4e,aAAc,kBACdC,OAAQ,aAEVC,eAAgB,CACdvI,cAAe,gBACfG,eAAgB,qBAChBC,UAAW,gBACXoI,aAAc,gBACdC,aAAc,gBACdxN,MAAO,SACPyN,aAAc,kBACdC,WAAY,eAEdC,aAAc,CACZC,aAAc,aACdtE,MAAO,KACPuE,GAAI,KACJC,GAAI,KACJC,MAAO,iBAETC,aAAc,CACZ9R,OAAQ,YACRpM,QAAS,UACTme,eAAgB,mBAChBC,kBAAmB,uBACnBC,YAAa,eACb3f,QAAS,mBACT4f,eAAgB,UAChBC,YAAa,eACbC,WAAY,cACZC,OAAQ,SACRC,WAAY,WACZC,SAAU,SACVC,WAAY,aACZjf,OAAQ,SACRkf,UAAW,YACXC,QAAS,UACTC,UAAW,iBACXze,WAAY,aACZ0e,eAAgB,cAChB1L,OAAQ,SACR2L,gBAAiB,2BACjBC,mBAAoB,8BACpBC,mBAAoB,8BACpB/K,cAAe,mCACfnX,OAAQ,SACRxC,OAAQ,SACR4P,OAAQ,SACRkB,oBAAqB,mBACrB6T,SAAU,wBACVC,cAAe,wBACfC,eAAgB,wBAChBkB,aAAc,eACdb,UAAW,WACXC,WAAY,YACZC,iBAAkB,eAClBN,gBAAiB,kBACjBC,cAAe,gBACfM,0BAA2B,4BAC3BC,yBAA0B,2BAC1BC,qBAAsB,uBACtBC,kCAAmC,oCACnCC,iCAAkC,mCAClCC,6BAA8B,+BAC9BC,8BAA+B,gCAC/BC,6BAA8B,+BAC9BC,yBAA0B,2BAC1Bb,eAAgB,iBAChBc,UAAW,YACXE,gBAAiB,kBACjBC,gBAAiB,kBACjBnR,UAAW,YACX7X,QAAS,UACTwd,WAAY,aACZyL,SAAU,WACVC,SAAU,WACVC,UAAW,aAEbC,WAAY,CACV7C,MAAO,iBACPhO,KAAM,OACN8Q,MAAO,QACPC,WAAY,cACZC,YAAa,gBAEfC,SAAU,CACRjD,MAAO,cACPhO,KAAM,OACN8Q,MAAO,QACPC,WAAY,cACZC,YAAa,gBAEfE,gBAAiB,CACf/U,OAAQ,SACRgV,WAAY,aACZC,cAAe,SACfC,YAAa,aACbC,aAAc,QACdz8B,KAAM,YACNmiB,IAAK,MACLua,UAAW,aACX7oB,KAAM,OACN0S,QAAS,WAEXoW,OAAQ,CACND,UAAW,aACXE,GAAI,KACJC,qBAAsB,aACtBC,mBAAoB,WACpBC,KAAM,OACNC,KAAM,OACN7a,IAAK,MACL9J,UAAW,aACXC,QAAS,WACTgP,OAAQ,SACR2V,QAAS,aACTrc,IAAK,MACLsc,WAAY,aACZzT,GAAI,KACJ0T,SAAU,SACVC,SAAU,OACVC,SAAU,SACVC,QAAS,iBACTU,QAAS,aACTC,UAAW,qBACXC,YAAa,QACbC,YAAa,wBACbC,UAAW,+BACXC,YAAa,QACbC,YAAa,qBACbC,UAAW,oBACXC,YAAa,QACbC,UAAW,YACXC,YAAa,QACbC,YAAa,OACbE,UAAW,cACXC,YAAa,QACbC,UAAW,eACXC,YAAa,QACbC,YAAa,oBACbC,YAAa,mBACbC,YAAa,kBACbC,UAAW,+BACXC,YAAa,QACbC,YAAa,kBACbC,YAAa,MACb8Y,YAAa,MACb7Y,UAAW,sBACXC,YAAa,QACbC,YAAa,kBACbC,YAAa,MACbC,YAAa,gBACbC,UAAW,wBACXC,YAAa,QACbC,YAAa,kBACbC,UAAW,YACXC,YAAa,QACbC,YAAa,kBACbC,YAAa,iCACbC,QAAS,gBACTC,UAAW,OACXC,YAAa,QACbC,UAAW,UACXC,YAAa,QACbC,UAAW,eACXC,YAAa,QACbC,UAAW,eACXC,YAAa,QACbC,QAAS,iBACTC,QAAS,iBACTqB,QAAS,kBAETC,QAAS,QACTC,UAAW,YACXC,YAAa,YACbC,UAAW,aACXC,YAAa,iBACbC,YAAa,iBACbC,YAAa,eACbC,UAAW,eACXC,YAAa,eACbC,UAAW,sBACXC,YAAa,WACbC,UAAW,2BACXC,YAAa,2BACbC,YAAa,eACbC,YAAa,kBACbC,YAAa,oBACbC,YAAa,mBACbC,YAAa,cACbC,YAAa,uBACbC,UAAW,yBACXC,YAAa,gBACbC,YAAa,kBACbC,YAAa,uBACbC,YAAa,kBACbC,QAAS,mBACTC,UAAW,eACXC,YAAa,iBACbC,YAAa,wBACbC,UAAW,eACXC,YAAa,kBACbC,UAAW,gBACXC,YAAa,oCACbC,YAAa,6CACbC,UAAW,mBACXC,YAAa,2BACbC,YAAa,6BACbC,UAAW,4BACXC,YAAa,4BACbC,UAAW,uBACXC,YAAa,uBACbC,YAAa,yBAEfC,OAAQ,CACNC,gBAAiB,CACf7W,YAAa,eACbE,YAAa,eACb4W,OAAQ,SACRC,SAAU,WACVC,SAAU,WACVC,YAAa,cACbC,aAAc,8CACdC,MAAO,mBACPC,MAAO,mBACPC,oBAAqB,gBACrBC,+BAAgC,yBAChCC,aAAc,eACdC,wBAAyB,eACzBC,iBAAkB,gBAClBC,mBAAoB,aACpBC,cAAe,wCACfC,OAAQ,OACRC,YAAa,oBACbC,aAAc,iBACdC,cAAe,kBACfC,QAAS,YACTC,MAAO,SACPC,eAAgB,2BAChB3xB,GAAI,UACJoa,GAAI,UACJwX,YAAa,qBACbC,YAAa,qBACbC,qBAAsB,cACtBnN,MAAO,0BACPoN,QAAS,UACTC,UAAW,cACXC,UAAW,aACXC,WAAY,4BACZC,YAAa,4CACbnhB,KAAM,OACNyC,OAAQ,SACRvS,KAAM,OACNC,OAAQ,SACR8P,SAAU,YAEVC,YAAa,0EACbkhB,iBAAkB,sBAClBC,kBAAmB,wGACnBC,mBAAoB,4BACpBC,eAAgB,wBAChBC,WAAY,qBACZC,KAAM,WACNC,QAAS,YACTznB,OAAQ,SACR0nB,OAAQ,oBACRC,MAAO,wBACPC,MAAO,SACPC,WAAY,oBACZC,mBAAoB,uBACpBC,qBAAsB,iBACtBC,2BAA4B,+BAC5BC,6BAA8B,yBAC9BC,gBAAiB,oBACjBC,kBAAmB,cACnBC,QAAS,iBACTC,MAAO,4FACPC,IAAK,GACLC,aAAc,wDACdC,SAAU,cACVC,cAAe,oBACfC,cAAe,uBACfC,UAAW,aACXC,eAAgB,UAChBC,mBAAoB,aACpBC,qBAAsB,iBACtBC,WAAY,OACZC,oBAAqB,SACrBC,eAAgB,WAChBC,iBAAkB,kBAClBC,cAAe,iBACfC,QAAS,WACTC,YAAa,iBACbC,IAAK,MACLC,aAAc,gBACdzxB,QAAS,eACT0xB,WAAY,eACZxiB,oBAAqB,oBACrByiB,yBAA0B,qCAC1BC,mBAAoB,uCACpBC,uBAAwB,iCACxBC,eAAgB,4BAChBC,wBAAyB,0BACzBC,MAAO,kBACPC,mBAAoB,iCACpBC,sBAAuB,yCACvBC,+BAAgC,oBAChCC,oBAAqB,WACrBC,gBAAiB,UACjB5hB,QAAS,2EACTzB,QAAS,gBACT1S,KAAM,aACNg2B,UAAW,mEACXC,eAAgB,mBAChBC,YAAa,QACbC,YAAa,qBACbC,cAAe,kBACfC,iBAAkB,mCAClB31B,SAAU,mBACVsa,GAAI,SACJC,GAAI,SACJqb,GAAI,SACJnb,GAAI,UACJC,GAAI,WACJC,GAAI,SACJkb,GAAI,aACJv3B,GAAI,UACJw3B,YAAa,eACbC,cAAe,2BACfC,IAAK,aACLC,WAAY,oBACZC,gBAAiB,mBACjBC,OAAQ,SACRC,KAAM,OACNC,IAAK,MACLC,UAAW,aACXC,cAAe,iBACfC,aAAc,gBACd,YAAa,YACbC,gBAAiB,yBACjBE,gBAAiB,iBACjBC,YAAa,aACbC,mBAAoB,wBACpBC,eAAgB,mBAChBC,8BAA+B,+BAC/BC,eAAgB,wBAChBC,WAAY,mBACZC,0BAA2B,+BAC3BC,aAAc,aACdC,YAAa,mBACbC,eAAgB,sBAChBC,WAAY,wBACZC,aAAc,gBACdC,iBAAkB,cAClBC,aAAc,SACdC,qBAAsB,aACtB1lC,OAAQ,SACR2lC,MAAO,QACPC,gBAAiB,aACjBtlB,cAAe,UACfulB,YAAa,gBACbnnB,YAAa,eACbonB,YAAa,UACbjlB,WAAY,cACZklB,aAAc,kBAGlBC,kBAAmB,CACjBC,aAAc,wBACdC,cAAe,iBACflmC,OAAQ,SACRypB,WAAY,cACZ0c,aAAc,aACdC,eAAgB,OAChBC,eAAgB,OAChBC,gBAAiB,QACjBC,eAAgB,OAChBC,qBAAsB,cACtBC,mBAAoB,WACpB70B,OAAQ,SACR80B,OAAQ,SACRh1B,IAAK,SACLi1B,GAAI,aACJnnC,EAAG,YACHonC,EAAG,aACHxT,OAAQ,SACRyT,IAAK,MACLC,OAAQ,UACRC,OAAQ,UACRC,QAAS,OACTC,QAAS,OACTC,KAAM,OACNC,WAAY,SACZC,KAAM,OACNC,MAAO,IACPC,MAAO,IACPC,KAAM,OACNC,UAAW,aACXC,WAAY,qFACZC,cAAe,iBACfpnB,cAAe,UACfqnB,aAAc,SACdtb,YAAa,SACbub,eAAgB,oBAChBC,iBAAkB,qBAClBC,SAAU,gBACVC,+BAAgC,4BAChCC,gCAAiC,4BACjCC,kCAAmC,sBACnCC,sCAAuC,0BACvCC,wCAAyC,6BACzCC,oCAAqC,wBACrCC,kCAAmC,sBACnCC,oCAAqC,6BACrCC,iCAAkC,yBAClCC,iCAAkC,yBAClCC,kCAAmC,yBACnCC,kCAAmC,yBACnCC,iCAAkC,4BAClCC,kCAAmC,oBACnCC,kCAAmC,oBACnCC,0CAA2C,iCAE7CC,YAAa,CACXlkB,MAAO,SACPmkB,QAAS,WACTC,QAAS,kBACTC,cAAe,iBACfjnC,UAAW,aACX4e,WAAY,cACZqH,KAAM,OACNtW,OAAQ,SACRxC,OAAQ,SACRsC,IAAK,MACLxC,OAAQ,SACRwS,OAAQ,SACRynB,aAAc,gBACdnpC,OAAQ,SACRopC,aAAc,sBACdC,aAAc,qCACdC,eAAgB,kCAChBC,aAAc,uDACdC,kBAAmB,wCACnBC,QAAS,6BACTC,WAAY,eAEdC,eAAgB,iBAChBC,oBAAqB,sBACrBE,gBAAiB,kBACjBC,WAAY,aACZC,iBAAkB,mBAClBC,YAAa,cACbC,qBAAsB,uBACtBC,qBAAsB,wDACtBC,OAAQ,YACRC,iBAAkB,YAClBC,gBAAiB,oBAEjBC,gBAAiB,YACjBC,qBAAsB,kBACtBE,UAAW,YACXG,mBAAoB,gBACpBC,cAAe,sBACfC,aAAc,gBAEdC,aAAc,wBACdC,iBAAkB,iJAClBC,eAAgB,cAChBC,mBAAoB,sBACpBC,gBAAiB,8BACjBC,eAAgB,kBAEhBC,YAAa,WACbC,kBAAmB,uBACnBC,eAAgB,+BAChBC,cAAe,iBAEfC,kBAAmB,qBACnBC,eAAgB,6BAChBC,cAAe,iBACfC,iBAAkB,qMAClBC,YAAa,6JACbC,eAAgB,aAChBC,kBAAmB,eACnBC,YAAa,cACbC,mBAAoB,qBACpBC,aAAc,oBACdC,WAAY,kBACZC,YAAa,cACbC,QAAS,UACTC,iBAAkB,mBAClBC,wBAAyB,0BACzBC,YAAa,eACbC,UAAW,aACXC,WAAY,CACVC,YAAa,mOACbC,gBAAiB,+BACjBC,YAAa,2BACbC,OAAQ,UACR14B,WAAY,cACZY,WAAY,cACZE,OAAQ,SACR63B,OAAQ,SACRC,QAAS,WACTC,eAAgB,mBAChBC,WAAY,eACZC,WAAY,cACZnO,aAAc,YACduD,IAAK,MACLxxB,QAAS,UACTgyB,MAAO,QACPqK,OAAQ,SACRC,QAAS,WACTC,UAAW,aACXC,cAAe,kBACfC,WAAY,cACZC,QAAS,WACTC,QAAS,UACTn/B,SAAU,WACVo/B,KAAM,OACNC,KAAM,OACNC,cAAe,kBACfC,iBAAkB,qBAClBC,mBAAoB,uBACpBC,kBAAmB,uBACnBC,kBAAmB,qBACnBC,mBAAoB,wBACpBC,WAAY,cACZC,cAAe,iBACfC,gBAAiB,mBACjBC,gBAAiB,mBACjBC,UAAW,kCACXC,OAAQ,SACRC,OAAQ,SACRC,aAAc,yCACdC,gBAAiB,wDACjBC,gBAAiB,wDACjBC,SAAU,iBACVC,WAAY,mBACZC,GAAI,aACJC,OAAQ,iBACRC,KAAM,eACNC,KAAM,eACNne,KAAM,OACNC,KAAM,OACNC,KAAM,OACNke,sBAAuB,0BACvBC,oBAAqB,wBACrBC,eAAgB,kBAChBC,sBAAuB,0BACvBC,mBAAoB,uBACpBC,4BAA6B,2CAC7BC,UAAW,aACXC,UAAW,wBACX1hC,GAAI,UACJ,UAAW,qBACXqa,GAAI,SACJC,GAAI,SACJC,GAAI,SACJC,GAAI,UACJC,GAAI,WACJC,GAAI,SACJinB,GAAI,UACJC,GAAI,UACJ,QAAS,YACT,QAAS,aACTjM,GAAI,QACJ,aAAc,sBACdkM,GAAI,YACJznB,GAAI,qBACJ,QAAS,sBACTwb,GAAI,aACJ,QAAS,YACTkM,KAAM,uCACNC,SAAU,YACVj2C,EAAG,MACHk2C,EAAG,UACHC,QAAS,WACTC,UAAW,aACXniC,SAAU,WACVkL,OAAQ,SACR6S,WAAY,cACZqkB,OAAQ,UACRC,cAAe,iBACfC,kBAAmB,kCACnBC,aAAc,iBACdC,SAAU,iCACVC,SAAU,kIACVC,UAAW,iBACXC,SAAU,YACVC,UAAW,aACXC,cAAe,kBAEjBC,MAAO,CACLzkC,QAAS,UACTs5B,MAAO,QACPoL,KAAM,OACNC,SAAU,WACVC,MAAO,QACPC,MAAO,QACPC,KAAM,QACNC,KAAM,QACNC,WAAY,SAEdC,WAAY,cACZC,UAAW,iNACXC,aAAc,gKACdC,MAAO,WACPC,mBAAoB,aACpBC,qBAAsB,eACtBC,sBAAuB,qBACpB,O,uBCvrFP,IAAIz3C,UAAU43C,WAAa,CAEzBC,gBAAiB,kBAEjBC,iBAAkB,mBAElBC,YAAa,cAEbC,gBAAiB,kBAEjBC,uBAAwB,yBAExBC,yBAA0B,2BAE1BC,sBAAuB,wBAGvBC,YAAa,cAGbC,uBAAwB,0B,UCnB1B,MAgBMC,GAAO,CAGXC,SAAU,QACVl1C,KAAM,eACNyC,IAAK,mCAEL2tC,KAAM,gCAYF+E,GAAS,CACbrxC,OAAQmxC,IAGV,IAAIt4C,UAAUy4C,QAAUD,G,yCCpCP,IAAIE,UAAU,WAAY,CACzCC,SAAU,SAASC,EAAIC,GAEhB,IAAI74C,UAAU84C,UAAUD,EAAQrzC,QACnCozC,EAAGt1C,WAAWC,YAAYq1C,MAKX,IAAIF,UAAU,eAAgB,CACjDC,SAAU,SAASC,EAAIC,GAEhB,IAAI74C,UAAU+4C,cAAcF,EAAQrzC,QACvCozC,EAAGt1C,WAAWC,YAAYq1C,MAKX,IAAIF,UAAU,eAAgB,CACjDC,SAAU,SAASC,EAAIC,GAEhB,IAAI74C,UAAUg5C,cAAcH,EAAQrzC,QACvCozC,EAAGt1C,WAAWC,YAAYq1C,MAMhC,IAAI54C,UAAU84C,UAAY,SAASG,GACjC,OAAO,QAAMjxC,QAAQkxC,SAASD,IAGhC,IAAIj5C,UAAU+4C,cAAiBI,GACtB,QAAMnxC,QAAQoxC,aAAaD,GAGpC,IAAIn5C,UAAUg5C,cAAiBG,GACtB,QAAMnxC,QAAQ8J,aAAaqnC,G,wGC3ChCzyC,GAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,MAAM,CAAC,GAAK,QAAQ,CAAEP,EAAU,OAAEI,EAAG,eAAeJ,EAAI0yC,MAAM,IACpK1xC,GAAkB,GCCtB,IAAI2xC,GAAY,GAEZC,GAAgBC,IAClB,IAAIruB,EAAK,0BAE2B,OAAhChpB,SAASs3C,eAAetuB,IAC1BhpB,SAASu3C,KAAKn2C,YAAYpB,SAASs3C,eAAetuB,IAGpD,IAAIwuB,EAAMx3C,SAASQ,cAAc,UACjCg3C,EAAIC,MAAQ,IACZD,EAAIE,OAAS,IAEb,IAAIC,EAAOH,EAAII,WAAW,MAC1BD,EAAKE,QAAQ,GAAKC,KAAKC,GAAK,KAC5BJ,EAAKK,KAAO,cACZL,EAAKM,UAAY,4BACjBN,EAAKO,UAAY,OACjBP,EAAKQ,aAAe,SACpBR,EAAKS,SAASf,EAAKG,EAAIC,MAAQ,EAAGD,EAAIE,OAAS,GAE/C,IAAIW,EAAMr4C,SAASQ,cAAc,OAWjC,OAVA63C,EAAIrvB,GAAKA,EACTqvB,EAAIC,MAAMC,cAAgB,OAC1BF,EAAIC,MAAME,IAAM,OAChBH,EAAIC,MAAMG,KAAO,MACjBJ,EAAIC,MAAMI,SAAW,QACrBL,EAAIC,MAAMK,OAAS,SACnBN,EAAIC,MAAMb,MAAQz3C,SAAS44C,gBAAgBC,YAAc,IAAM,KAC/DR,EAAIC,MAAMZ,OAAS13C,SAAS44C,gBAAgBE,aAAe,IAAM,KACjET,EAAIC,MAAMS,WAAa,OAASvB,EAAIwB,UAAU,aAAe,oBAC7Dh5C,SAASu3C,KAAKj2C,YAAY+2C,GACnBrvB,GAITmuB,GAAUxwC,IAAO0wC,IACf,IAAIruB,EAAKouB,GAAaC,GACtB4B,YAAY,KAC0B,OAAhCj5C,SAASs3C,eAAetuB,KAC1BA,EAAKouB,GAAaC,KAEnB,KACHlzC,OAAO+0C,SAAW,KAChB9B,GAAaC,KAIF,ICkEf,IACE,KAAF,OACE,QAAF,WAEI,IAAJ,2BACM,IAAN,kBACM,GAAN,kDACQ,OAAR,EAEQ,KAAR,sBAII,KAAJ,uCAEE,UACE,MAAJ,CACM,OAAN,cAGE,OACE,MAAJ,CACM,QAAN,IAGE,QAAF,CACI,SACE,KAAN,UACM,KAAN,eACQ,KAAR,cAIE,MAAF,CAEI,OAAJ,CACM,QAAN,KACQ,eAAR,SAEM,MAAN,EACM,WAAN,KC5J8N,M,yBCQ1N5xC,GAAY,gBACd,GACAlB,GACAiB,IACA,EACA,KACA,KACA,MAIa,GAAAC,G,QCNf,IAAQ0zC,YAAY3pC,MAAM4pC,oBAAoB9hC,SAAU,EACxD,IAAI+hC,IAAI,KAER,IAAIA,IAAI,GAER,IAAIA,IAAI,QACR,IAAIA,IAAI,QACR,IAAIA,IAAI,QAIR,IAAIA,IAAI,KAMR,IAAIA,IAAI,KAKR,IAAIA,IAAI,KAcR,IAAIx7C,UAAUy7C,KAAO,KAMrB,MAAMC,GAAO,IAAI,OAAQ,CACvBC,OAAQ,KACRC,YACAC,uBAAuB,IAIzB,KAAcH,KAAK,CAAC51C,EAAKN,IAAUk2C,GAAKj2C,EAAEK,EAAKN,IAG/C,MAAMkM,GAAQ,IAAI,OAAKoqC,MAAMC,GAAA,MAGvBC,GAAS,IAAI,OAAO,CACxBt2C,KAAM,UACNu2C,KAAM,IACNC,OAAQA,GAAOxqC,MAOXyqC,IAAqB,EAC3B,IAAIC,GACAC,GAAc,EAElB,SAASC,KACHH,KACFC,GAAU,aAAQG,QAAQ,CAACC,YAAY,EAAMtB,WAAY,uBACzDmB,MAIJ,SAASI,KACPN,IAAwC,MAAhBE,IAAqBD,IAAWA,GAAQtmB,QAMlE,MAAM4mB,GAAcC,IAClB,MAAMC,EAAY,CAAC,UAAW,KAAM,iBAAkB,eAAgB,8BACpE,8BAA+B,8BAA+B,wBAAyB,sBAEzF,IAAItqC,EAAaZ,GAAM1J,QAAQ60C,cAC3BpJ,EAAOqJ,SAASrJ,KAChBsJ,EAAU,GAEd,GAAI,CAACC,YAAY,OAAQA,YAAY,cAAcC,QAAQxJ,IAAS,GAA2B,cAAtBqJ,SAASI,SAChFH,EAAU,YACL,CACL,IAAII,EAAS,GAGXA,EAFEH,YAAY,QAAUvJ,EAEf,SACAuJ,YAAY,UAEZ,QAMX,IAAII,GAAa,EACjBR,EAAUS,QAAQn9B,IACZy8B,EAAUW,WAAWp9B,KACvBk9B,GAAa,KAMfL,EAAUI,EAAS,MAAM1J,KAAQnhC,SAO/ByqC,EAAQE,QAAQ,cAAgB,IAClCF,EAAUI,EAAS,MAAM1J,aAGR,OAAfnhC,IACFyqC,EAAU,wCAqBd,OAAOA,GAIT,GAAAjH,EAAMyH,SAASv5C,QAAU,KAEzB,GAAA8xC,EAAM0H,aAAax6C,QAAQw4C,IACzB3I,IACEyJ,KAEI5qC,GAAMoY,MAAM2zB,UACd5K,EAAO6K,QAAQC,OAAO,iBAAmB,UAAUjsC,GAAMoY,MAAM8zB,OAIjE/K,EAAOgL,QAAUnB,GAAW7J,EAAO3yB,KAC5B2yB,GAET1uC,IACEs4C,KAGA,qBAAQ,CAAC75C,KAAM,QAAS4B,QAASL,EAAMK,UAChC3C,QAAQE,OAAOoC,KAI1B,IAAI25C,GAA8D,MAAzCpsC,GAAM1J,QAAQ+1C,UAAUC,cAC/C,gBAAkB,wDAGpB,GAAAlI,EAAM0H,aAAaS,SAASzC,IAC1ByC,IACExB,KAEA,IAAIyB,EAA2D,GAApD,gBAAYD,EAASpL,OAAO3yB,IAAK,gBAC5C,OAAIg+B,EACKD,EAILA,EAAS3+C,KAAKk9B,YAA2C,SAA7ByhB,EAAS3+C,KAAKk9B,YAGxC2hB,MAAMnsC,SAASisC,EAAS3+C,KAAKk9B,cAC/B,qBAAQ,CAAC55B,KAAM,QAAS4B,QAASy5C,EAAS3+C,KAAKk9B,aAE1C36B,QAAQE,OAAO,CAACk8C,cAElBA,GAET95C,IACEs4C,KAIsB,wCAAlBt4C,EAAMK,SACRkN,GAAM0sC,OAAO,eACbpC,GAAO57C,KAAK,UACZ,qBAAQ,CAACwC,KAAM,QAAS4B,QAASs5C,GAAoBO,SAAU,IAAMC,WAAW,KAEhF,qBAAQ,CAAC17C,KAAM,QAAS4B,QAASL,EAAMK,QAAS65C,SAAU,IAAMC,WAAW,IAEtEz8C,QAAQE,OAAOoC,KAI1B,IAAInE,UAAUu+C,OAAS,GAAAzI,EAKvB,MAAM0I,GAAcC,GAAQ,gBAAW,IAAIC,KAAKD,GAAO,uBACvDn4C,OAAOk4C,YAAcA,GACrB,IAAIx+C,UAAU2+C,YAAcH,GAC5B,IAAII,OAAO,aAAcJ,IACzB,IAAII,OAAO,WAAYh8C,GAAQ8O,GAAM1J,QAAQ62C,gBAAgBj8C,IAASA,GACtE,IAAIg8C,OAAO,gBAAiBt/C,GAAUA,QAAiBoF,IAATpF,GAA+B,KAATA,EAAuBA,EAAR,OAGnF,IAAIw/C,GAAiBhC,IAEnB,GAAAhH,EAAM1wC,IAAI,WAAW1B,KAAKq7C,IACxBrtC,GAAM0sC,OAAO,iBAAkBW,EAAIz/C,MAEnC,GAAAw2C,EAAM1wC,IAAI,iBAAiB1B,KAAKq7C,IAC9BrtC,GAAM0sC,OAAO,aAAcW,EAAIz/C,MAE3Bw9C,EACFd,GAAO57C,KAAK08C,GAEZd,GAAO57C,KAAK,UAKpB,IAAIJ,UAAU8+C,cAAgBA,GAE9B,MAAME,GAAoBC,IACxB,GAAAnJ,EAAM1wC,IAAI,2CAA2C1B,KAAKq7C,IACxD,MAAMz/C,EAAOy/C,EAAIz/C,KACjB,GAAIA,GAA4B,SAApBA,EAAKk9B,WAAuB,CACtC,IAAI0iB,EAAO5/C,EAAK4Z,QAChBgmC,EAAK7B,QAAQ8B,IACXF,EAAS7+C,KAAK,CACZ+qB,GAAIg0B,EAAWp1B,UACftlB,KAAM06C,EAAW3a,0BAKrB,GAAK4a,SAAS,CAAC56C,cAAS,GAAKkD,GAAG,QAAS9E,KAAM,YAGhDy8C,MAAOC,UACR,GAAKF,SAAS,CAAC56C,cAAS,GAAKkD,GAAG,QAAS9E,KAAM,aAKnD,IAAI5C,UAAUg/C,iBAAmBA,GAE7B,SACFF,GAAc,GAAGhC,SAASyC,WAAWzC,SAAS0C,UAOhD,IAAI53C,UAAU,QAAS63C,GAAA,YACvB,IAAI73C,UAAU,aAAc83C,GAAA,YAC5B,IAAI93C,UAAU,SAAU+3C,GAAA,YAGxB,MAAMC,GAAa,OAAO5/C,UAAUI,KACpC,OAAOJ,UAAUI,KAAO,SAAU08C,GAChC,OAAO8C,GAAW1/C,KAAK0G,KAAMk2C,GAAUuC,MAAMl7C,GAASA,IAGxD,MAAM07C,GAAgB,OAAO7/C,UAAU8/C,QACvC,OAAO9/C,UAAU8/C,QAAU,SAAUhD,GACnC,OAAO+C,GAAc3/C,KAAK0G,KAAMk2C,GAAUuC,MAAMl7C,GAASA,IAK3DmC,OAAOy5C,iBAAiB,UAAYr+C,IAClCs+C,eAAeh3C,QAAQtH,EAAEoE,IAAKpE,EAAEu+C,UAChCr3C,aAAaI,QAAQtH,EAAEoE,IAAKpE,EAAEu+C,YAIhC,MAAMC,GAAqB,CAACC,EAAKC,EAAQC,EAAWhrC,IAC7CirC,QAAQD,GAGJA,EAFA,KAKX,IAAIrgD,UAAUugD,oBAAsBL,GAMpC,IAAI,IAAI,CACNlE,UACAN,QACAhqC,SACAhL,OAAQ85C,GAAKA,EAAE,MACdC,OAAO,S,qBC5UVj/C,EAAOD,QAAUm/C,S,oCCAV,SAASC,EAAYlC,EAAMmC,GAChC,IAAInC,EACF,OAAO,KAGL,OAAOt7B,KAAKy9B,KACdA,EAAMA,EAAId,QAAQe,OAAOC,IAAKrC,EAAKsC,cAAgB,IAAIC,OAAO,EAAIH,OAAOC,GAAGhhD,UAE9E,IAAImF,EAAI,CACN,KAAMw5C,EAAKwC,WAAa,EACxB,KAAMxC,EAAKyC,UACX,KAAMzC,EAAK0C,WACX,KAAM1C,EAAK2C,aACX,KAAM3C,EAAK4C,cAEb,IAAK,IAAIC,KAAKr8C,EACZ,GAAI,IAAI47C,OAAO,IAAIS,MAAMn+B,KAAKy9B,GAAM,CAClC,IAAIpH,EAAMv0C,EAAEq8C,GAAK,GACjBV,EAAMA,EAAId,QAAQe,OAAOC,GAA0B,IAArBD,OAAOC,GAAGhhD,OAAgB05C,EAAM+H,EAAY/H,IAG9E,OAAOoH,EAGT,SAASW,EAAa/H,GACpB,OAAQ,KAAOA,GAAKwH,OAAOxH,EAAI15C,QAzBjC,mC,kCCAA,2DAGA,MAAM0hD,EACJ,cACE56C,KAAK66C,SAAW,KAGlB,qBAIE,OAHI76C,KAAK66C,WACP76C,KAAK66C,SAAW,IAAID,GAEf56C,KAAK66C,SAId,QAAQjI,GACN,OAAIA,MAGCA,EAAIjxB,MAAM,WAEJ,QAAUixB,IASlB,MAAMkI,EAAaF,EAAgBG,cAE1C,IAAI3hD,UAAU4hD,YAAcF,G,qBCjC5BlgD,EAAOD,QAAUsgD,K,kCCAjB,W,2DCAA,kDAGA,IAAIlG,EAAS/yC,aAAaC,QAAQ,WAAa,KAC3Ci5C,WAAW7E,QAAQ,WAAa,IAClCtB,EAASmG,WAAWd,OAAO,EAAIc,WAAW7E,QAAQ,WAAY,GAC9Dr0C,aAAaI,QAAQ,SAAU2yC,IAGjC,IAAIrpC,EAAa,GACjB,GAAI1J,aAAaC,QAAQ,eAAiBD,aAAaC,QAAQ,cAAc/I,OAAS,EACpFwS,EAAa1J,aAAaC,QAAQ,mBAElC,IAAK,IAAIjJ,KAAKo9C,YACRA,YAAYp9C,GAAGq9C,QAAQH,SAASrJ,OAAS,IAC3CnhC,EAAa1S,GAIf,KAAO0S,IACTA,EAAa,MAEW,cAAtBwqC,SAASI,WACX5qC,EAAa,aAEf,IAAK,IAAI1S,KAAKo9C,YACRA,YAAYp9C,GAAGq9C,QAAQH,SAASrJ,OAAS,IAC3CnhC,EAAa1S,EACbuC,SAASs2B,MAAQ,WAAanmB,EAAWyvC,eAG7Cn5C,aAAaI,QAAQ,aAAcsJ,GAEnC,IAAIsrC,EAAQh1C,aAAaC,QAAQ,SAC7Bm5C,GAAe,EACfF,WAAW7E,QAAQ,UAAY,IACjCW,EAAQkE,WAAWd,OAAO,EAAIc,WAAW7E,QAAQ,WAC5C,OAAWgF,QAAQrE,KACtBoE,GAAe,EACfp5C,aAAaI,QAAQ,QAAS40C,KAGlC,MAAMsE,EAAYx5C,KAAKC,MAAMC,aAAaC,QAAQ,eAAiB,GAC7DowC,EAAQvwC,KAAKC,MAAMC,aAAaC,QAAQ,WAAa,GACrDs5C,EAAaz5C,KAAKC,MAAMC,aAAaC,QAAQ,gBAAkB,GAE/Du5C,EAAY39C,GAChB49C,oBACG,IAAIxB,OAAO,QAAQp8C,wBAA2B69C,KAAKxF,SAAS96C,OAAS,MACpE0C,EACA,KACC,GAAGo7C,QAAQ,MAAO,SAClB,KAMQ,QAEbh2B,MAAO,CACL6xB,SACArpC,aACAmrC,SAAU,OAAWwE,QAAQrE,GAC7BA,QACAsE,YACAjJ,QACAkJ,cAIFI,UAAW,CACT,cAAcz4B,EAAO04B,GACnB14B,EAAM6xB,OAAS6G,EACf55C,aAAaI,QAAQ,SAAUw5C,IAEjC,kBAAkB14B,EAAO04B,GAavB55C,aAAaI,QAAQ,aAAcw5C,GACnC14B,EAAMxX,WAAakwC,GAErB,WAAW14B,EAAO04B,GAChB14B,EAAM8zB,MAAQ4E,EACd14B,EAAM2zB,SAAU,EAChB70C,aAAaI,QAAQ,QAASw5C,IAEhC,YAAY14B,GACVA,EAAM2zB,SAAU,EAChB3zB,EAAM8zB,MAAQ,KACd9zB,EAAMo4B,UAAY,GAClBp4B,EAAMmvB,MAAQ,GACdrwC,aAAa65C,WAAW,SACxB75C,aAAa65C,WAAW,aACxB75C,aAAa65C,WAAW,UAE1B,eAAe34B,EAAO04B,GAGpB14B,EAAMo4B,UAAYM,EAClB55C,aAAaI,QAAQ,YAAaN,KAAKO,UAAU6gB,EAAMo4B,aAEzD,WAAWp4B,EAAO04B,GAGhB14B,EAAMmvB,MAAQuJ,EACd55C,aAAaI,QAAQ,QAASN,KAAKO,UAAU6gB,EAAMmvB,SAErD,gBAAgBnvB,EAAO04B,GAGrB14B,EAAMq4B,WAAaK,EACnB55C,aAAaI,QAAQ,aAAcN,KAAKO,UAAU6gB,EAAMq4B,eAG5Dn6C,QAAS,CACP+1C,UAAWj0B,GAASphB,KAAKC,MAAMD,KAAKO,UAAU6gB,EAAM6xB,SACpDkB,cAAe/yB,GAASA,EAAMxX,WAE9B4vC,UAAWp4B,GAASphB,KAAKC,MAAMD,KAAKO,UAAU6gB,EAAMo4B,YACpDQ,WAAY54B,GAASA,EAAM8zB,MAE3B1E,SAAUpvB,GAAS,CAACmvB,EAAOviC,KAEpBA,IACHA,EAAU0rC,EAAU,eAAiB,GAEvC,MAAMO,EAAYj6C,KAAKC,MAAMD,KAAKO,UAAU6gB,EAAMmvB,QAClD,OAAO0J,EAAU1J,OAAS0J,EAAU1J,MAAMviC,IAAYisC,EAAU1J,MAAMviC,GAASksC,SAAS3J,IAE1FG,aAActvB,GAAUqvB,IACtB,MAAMziC,EAAU0rC,EAAU,eAAiB,EAC3C,IAAK,IAAInJ,KAASE,EAAQ,CACxB,MAAMwJ,EAAYj6C,KAAKC,MAAMD,KAAKO,UAAU6gB,EAAMmvB,QAClD,GAAI0J,EAAU1J,OAAS0J,EAAU1J,MAAMviC,IAAYisC,EAAU1J,MAAMviC,GAASksC,SAAS3J,GACnF,OAAO,EAGX,OAAO,GAETnnC,aAAcgY,GAAUqvB,IACtB,MAAMziC,EAAU0rC,EAAU,eAAiB,EAC3C,IAAK,IAAInJ,KAASE,EAAQ,CACxB,MAAMwJ,EAAYj6C,KAAKC,MAAMD,KAAKO,UAAU6gB,EAAMmvB,QAClD,GAAI0J,EAAU1J,QAAU0J,EAAU1J,MAAMviC,KAAaisC,EAAU1J,MAAMviC,GAASksC,SAAS3J,GACrF,OAAO,EAGX,OAAO,GAET4J,6BAA8B/4B,IAC5B,OAAQA,EAAMxX,YACZ,IAAK,KACH,MAAO,mDACT,IAAK,KACH,MAAO,+CACT,IAAK,KACH,MAAO,+CACT,QACE,MAAO,qDAIbrK,aAAc6hB,GAAUpT,IACtB,MAAMosC,EAAOp6C,KAAKC,MAAMD,KAAKO,UAAU6gB,EAAMq4B,aAC7C,IAAK,IAAI56C,KAAQu7C,EAAK5D,KACpB,GAAI33C,EAAK4jB,KAAOzU,EACd,OAAOnP,EAAK9C,KAGhB,OAAOiS,GAETmoC,cAAe/0B,GAAS,KACf,CACLxhB,EAAG,MACHC,EAAG,MACHw6C,EAAG,UACHC,EAAG,OACHC,EAAG,OACHC,EAAG,YACHC,EAAG,mBACHC,EAAG,SACHC,EAAG,QACHC,GAAI,mB,yCCjMZ,IAAI58C,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACA,EAAG,SAAS,CAACA,EAAG,SAAS,CAACA,EAAG,UAAU,CAACG,MAAM,CAAC,iBAAiBP,EAAIQ,QAAQC,GAAG,CAAC,OAAST,EAAIU,eAAeV,EAAIW,GAAIX,EAAQ,MAAE,SAASY,GAAM,OAAOR,EAAG,MAAM,CAACjB,IAAIyB,EAAK2Y,KAAK,CAAG3Y,EAAK23C,KAAiHv4C,EAAI0yC,KAA/GtyC,EAAG,eAAe,CAACG,MAAM,CAAC,MAAQK,EAAK2Y,MAAM,CAACnZ,EAAG,IAAI,CAACw8C,MAAMh8C,EAAK8X,OAAO1Y,EAAIa,GAAGb,EAAIc,GAAGd,EAAIe,GAAGH,EAAK2Y,SAAmB3Y,EAAS,KAAER,EAAG,aAAa,CAACG,MAAM,CAAC,MAAQK,EAAK2Y,MAAM,CAACnZ,EAAG,WAAW,CAACy8C,KAAK,SAAS,CAACz8C,EAAG,IAAI,CAACw8C,MAAMh8C,EAAK8X,OAAO1Y,EAAIa,GAAGb,EAAIc,GAAGd,EAAIe,GAAGH,EAAK2Y,SAASvZ,EAAIW,GAAIC,EAAS,MAAE,SAASk8C,GAAU,OAAO18C,EAAG,eAAe,CAACjB,IAAI29C,EAASv8C,MAAM,CAAC,MAAUK,EAAQ,IAAI,IAAMk8C,IAAY,CAAC98C,EAAIa,GAAGb,EAAIc,GAAGd,EAAIe,GAAG+7C,IAAW,wBAAuB,GAAG98C,EAAI0yC,MAAM,MAAK,IAAI,IAAI,IAAI,IAC9vB1xC,EAAkB,GCoBtB,GACE,KAAF,QACE,MAAF,CACI,OAAJ,OACI,KAAJ,OACI,UAAJ,QAEE,OACE,IAAJ,KA2tBI,OA1tBJ,oBAEA,wBACA,oCACU,EAAV,MACY,IAAZ,gBACY,KAAZ,yBAGA,oCACU,EAAV,MACY,IAAZ,eACY,KAAZ,gCAGA,oCACU,EAAV,MACY,IAAZ,eACY,KAAZ,iCAGA,oCACU,EAAV,MACY,IAAZ,mBACY,KAAZ,mCAIA,wBACA,oCACU,EAAV,MACY,IAAZ,eACY,KAAZ,wBAGA,oCACU,EAAV,MACY,IAAZ,mBACY,KAAZ,wBAGA,oCACU,EAAV,MACY,IAAZ,wBACY,KAAZ,wBAGA,oCACU,EAAV,MACY,IAAZ,4BACY,KAAZ,wBAGA,oCACU,EAAV,MACY,IAAZ,uBACY,KAAZ,0BAGA,oCACU,EAAV,MACY,IAAZ,UACY,KAAZ,CACc,eACA,kBACA,mBACA,qBACA,wBACA,0BAEF,KAAZ,sBAGA,oCACU,EAAV,MACY,IAAZ,cACY,KAAZ,wBAGA,oCACU,EAAV,MACY,IAAZ,WACY,KAAZ,wBAGA,oCACU,EAAV,MACY,IAAZ,eACY,KAAZ,yBAKA,0BACA,oCACU,EAAV,MACY,IAAZ,cACY,KAAZ,wBAGA,oCACU,EAAV,MACY,IAAZ,YACY,KAAZ,wBAGA,oCACU,EAAV,MACY,IAAZ,gBACY,KAAZ,wBAGA,oCACU,EAAV,MACY,IAAZ,YACY,KAAZ,gCAGA,oCACU,EAAV,MACY,IAAZ,gBACY,KAAZ,0BAGA,oCACU,EAAV,MACY,IAAZ,iBACY,KAAZ,yBAGA,oCACU,EAAV,MACY,IAAZ,eACY,KAAZ,0BAGA,oCACU,EAAV,MACY,IAAZ,eACY,KAAZ,4BAGA,oCACU,EAAV,MACY,IAAZ,cACY,KAAZ,4BAGA,oCACU,EAAV,MACY,IAAZ,gBACY,KAAZ,0BAGA,oCACU,EAAV,MACY,IAAZ,kBACY,KAAZ,yBAGA,oCACU,EAAV,MACY,IAAZ,YACY,KAAZ,yBAGA,oCACU,EAAV,MACY,IAAZ,UACY,KAAZ,0BAKA,wBACA,oCACU,EAAV,MACY,IAAZ,QACY,KAAZ,4BAGA,oCACU,EAAV,MACY,IAAZ,MACY,KAAZ,4BAGA,oCACU,EAAV,MACY,IAAZ,kBACY,KAAZ,2BAGA,oCACU,EAAV,MACY,IAAZ,aACY,KAAZ,8BAGA,oCACU,EAAV,MACY,IAAZ,QACY,KAAZ,wBAGA,oCACU,EAAV,MACY,IAAZ,QACY,KAAZ,yBAKA,sBACA,oCACU,EAAV,MACY,IAAZ,QACY,KAAZ,wBAGA,oCACU,EAAV,MACY,IAAZ,OACY,KAAZ,gCAGA,oCACU,EAAV,MACY,IAAZ,aACY,KAAZ,0BAGA,oCACU,EAAV,MACY,IAAZ,SACY,KAAZ,yBAGA,oCACU,EAAV,MACY,IAAZ,UACY,KAAZ,yBAMA,oCACU,EAAV,MACY,IAAZ,aACY,KAAZ,4BAGA,oCACU,EAAV,MACY,IAAZ,eACY,KAAZ,0BAGA,oCACU,EAAV,MACY,IAAZ,eACY,KAAZ,0BAGA,oCACU,EAAV,MACY,IAAZ,eACY,KAAZ,yBAGA,oCACU,EAAV,MACY,IAAZ,cACY,KAAZ,2BAIA,oBACA,oCACU,EAAV,MACY,IAAZ,YACY,KAAZ,0BAGA,oCACU,EAAV,MACY,IAAZ,mBACY,KAAZ,+BAGA,oCACU,EAAV,MACY,IAAZ,wBACY,KAAZ,+BAGA,oCACU,EAAV,MACY,IAAZ,aACY,KAAZ,CACc,WACA,cACA,WACA,iBACA,UACA,qBACA,YACA,YACA,YACA,gBACA,gBACA,WAEF,KAAZ,yBAIA,oCACU,EAAV,MACY,IAAZ,YACY,KAAZ,CACc,QACA,aACA,aAEF,KAAZ,+BAGA,oCACU,EAAV,MACY,IAAZ,aACY,KAAZ,CACc,gBACA,cAEF,KAAZ,yBAGA,oCACU,EAAV,MACY,IAAZ,cACY,KAAZ,yBAIA,uBACA,oCACU,EAAV,MACY,IAAZ,SACY,KAAZ,yBAGA,oCACU,EAAV,MACY,IAAZ,UACY,KAAZ,yBAGA,oCACU,EAAV,MACY,IAAZ,eACY,KAAZ,4BAGA,oCACU,EAAV,MACY,IAAZ,OACY,KAAZ,+BAGA,oCACU,EAAV,MACY,IAAZ,eACY,KAAZ,wBAGA,oCACU,EAAV,MACY,IAAZ,aACY,KAAZ,2BAGA,oCACU,EAAV,MACY,IAAZ,yBACY,KAAZ,0BAGA,oCACU,EAAV,MACY,IAAZ,iBACY,KAAZ,4BAGA,oCACU,EAAV,MACY,IAAZ,oBACY,KAAZ,wBAGA,oCACU,EAAV,MACY,IAAZ,OACY,KAAZ,2BAGA,oCACU,EAAV,MACY,IAAZ,kBACY,KAAZ,sBAGA,oCACU,EAAV,MACY,IAAZ,iBACY,KAAZ,2BAIA,qBACA,oCACU,EAAV,MACY,IAAZ,cACY,KAAZ,8BAGA,oCACU,EAAV,MACY,IAAZ,WACY,KAAZ,2BAGA,oCACU,EAAV,MACY,IAAZ,WACY,KAAZ,2BAIA,qBACA,oCACU,EAAV,MACY,IAAZ,gBACY,KAAZ,2BAGA,oCACU,EAAV,MACY,IAAZ,YACY,KAAZ,+BAGA,oCACU,EAAV,MACY,IAAZ,cACY,KAAZ,+BAGA,oCACU,EAAV,MACY,IAAZ,kBACY,KAAZ,0BAGA,oCACU,EAAV,MACY,IAAZ,eACY,KAAZ,0BAGA,oCACU,EAAV,MACY,IAAZ,gBACY,KAAZ,CACc,qBACA,wBACA,qBAEF,KAAZ,yBAGA,oCACU,EAAV,MACY,IAAZ,eACY,KAAZ,yBAGA,oCACU,EAAV,MACY,IAAZ,eACY,KAAZ,2BAIA,yBACA,qCACU,EAAV,MACY,IAAZ,mBAGA,qCACU,EAAV,MACY,IAAZ,kBAGA,qCACU,EAAV,MACY,IAAZ,mBAGA,qCACU,EAAV,MACY,IAAZ,kBAGA,qCACU,EAAV,MACY,IAAZ,oBAGA,qCACU,EAAV,MACY,IAAZ,0BAGA,qCACU,EAAV,MACY,IAAZ,mBAIA,sBACA,oCACU,EAAV,MACY,IAAZ,OACY,KAAZ,yBAGA,oCACU,EAAV,MACY,IAAZ,aACY,KAAZ,2BAIA,gCACA,qCACU,EAAV,MACY,IAAZ,cACY,KAAZ,wBAGA,qCACU,EAAV,MACY,IAAZ,YACY,KAAZ,2BAGA,qCACU,EAAV,MACY,IAAZ,4BACY,KAAZ,2BAsCA,uBACA,oCACU,EAAV,MACY,IAAZ,cACY,KAAZ,gCAKA,0BACA,oCACU,EAAV,MACY,IAAZ,cACY,KAAZ,wBAGA,oCACU,EAAV,MACY,IAAZ,YACY,KAAZ,gCAGA,oCACU,EAAV,MACY,IAAZ,iBACY,KAAZ,2BAGA,oCACU,EAAV,MACY,IAAZ,cACY,KAAZ,4BAGA,oCACU,EAAV,MACY,IAAZ,qBACY,KAAZ,2BAKA,qBACA,oCACU,EAAV,MACY,IAAZ,YACY,KAAZ,+BAGA,oCACU,EAAV,MACY,IAAZ,cACY,KAAZ,gCAKA,qBACA,oCACU,EAAV,MACY,IAAZ,mBACY,KAAZ,wBAIA,oBACA,oCACU,EAAV,MACY,IAAZ,iBACY,KAAZ,yBAGA,oCACU,EAAV,MACY,IAAZ,eACY,KAAZ,iCAGA,oCACU,EAAV,MACY,IAAZ,aACY,KAAZ,gCAGA,oCACU,EAAV,MACY,IAAZ,cACY,KAAZ,gCAGA,oCACU,EAAV,MACY,IAAZ,UACY,KAAZ,wBAGA,oCACU,EAAV,MACY,IAAZ,mBACY,KAAZ,4BAGA,oCACU,EAAV,MACY,IAAZ,0BACY,KAAZ,+BAIA,sBACA,oCACU,EAAV,MACY,IAAZ,qBACY,KAAZ,2BAGA,oCACU,EAAV,MACY,IAAZ,uBACY,KAAZ,yBAGA,oCACU,EAAV,MACY,IAAZ,wBACY,KAAZ,4BAKA,CACM,SAGJ,QAAF,CACI,aAAJ,IACA,oBACQ,QAAR,gBACQ,KAAR,0BAEQ,KAAR,6DClwB2O,I,wBCQvOC,EAAY,eACd,EACAlB,EACAiB,GACA,EACA,KACA,WACA,MAIa,aAAAC,E,2CCnBf,W,iECAApG,EAAOD,QAAUmiD,O,kCCAjB,W,wNCKAC,eAAeC,EAAW1jC,EAAI2jC,GAC5B,IAAIC,EAAa9D,eAAen3C,QAAQg7C,GACxC,GAAGA,GAAYC,EACb,OAAOp7C,KAAKC,MAAMm7C,GACf,CACH,IAAI/E,QAAY,EAAAjJ,EAAM1wC,IAAI8a,GAI1B,OAHG2jC,GACD7D,eAAeh3C,QAAQ66C,EAASn7C,KAAKO,UAAU81C,IAE1C,IAAIl9C,QAASC,IAClBA,EAAQi9C,MAKd4E,eAAeI,EAAY7jC,EAAI8jC,EAAKH,GAClC,IAAIC,EAAa9D,eAAen3C,QAAQg7C,GACxC,GAAGA,GAAYC,EACb,OAAOp7C,KAAKC,MAAMm7C,GACf,CACH,IAAI/E,QAAY,EAAAjJ,EAAMmO,KAAK/jC,EAAI8jC,GAI/B,OAHGH,GACD7D,eAAeh3C,QAAQ66C,EAASn7C,KAAKO,UAAU81C,IAE1C,IAAIl9C,QAASC,IAClBA,EAAQi9C,MAKd,IAAI/+C,UAAUkkD,YAAcN,EAC5B,IAAI5jD,UAAUmkD,aAAeJ,E,0BC3B7B,IAAI/jD,UAAUokD,eAAiB,KAC7B,IAAI9xC,EAAa,OAAMwX,MAAMxX,WACzBmhC,EAAOuJ,YAAY1qC,GAGvB,MAAG,CAAC0qC,YAAY,OAAOA,YAAY,aAAaA,YAAY,WAAWC,QAAQxJ,GAEtE,kC,gBCAX,SAAS4Q,EAAIv+C,EAAKtB,EAAS8/C,EAAS5+C,EAAM6+C,EAAIC,GACzCF,IACD9/C,EAAUigD,SAASC,mBAAmBlgD,KAExC,IAUS5E,EAAGkB,EAAG6jD,EAAaC,EAAQC,EAAQjK,EAAMkK,EAAOC,EACrDC,EAASC,EAAUC,EAAUC,EAC7BC,EAASC,EAZTC,EAAc,IAAIC,MAAO,SAAU,EAAE,MAAQ,SAAU,SAAU,MAAQ,EAAI,MAAQ,KAAM,SAAU,SAAU,KAAM,SAAU,SAAU,SAAU,EAAI,KAAM,SAAU,SAAU,MAAQ,MAAQ,SAAU,SAAU,SAAU,MAAQ,SAAU,SAAU,MAAQ,EAAE,KAAM,MAAQ,SAAU,MAAQ,SAAU,EAAI,SAAU,SAAU,SAAU,SAAU,KAAM,SAAU,MAAQ,MAAQ,SAAU,KAAM,EAAI,SAAU,MAAQ,SAAU,MAAQ,SAAU,SAAU,SAAU,KAAM,MAAQ,SAAU,KAAM,SAAU,SAAU,EAAE,MAAQ,MAAQ,EAAE,UACvhBC,EAAc,IAAID,OAAQ,YAAY,WAAW,MAAO,QAAS,QAAS,IAAM,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,QAAS,IAAM,WAAW,QAAS,SAAU,WAAW,GAAG,WAAW,MAAO,SAAU,WAAW,SAAU,WAAW,EAAE,QAAS,OAAQ,YAAY,WAAW,MAAO,EAAE,SAAU,WAAW,SAAU,YAAY,YAAY,WAAW,OAAQ,YAAY,WAAW,IAAM,WAAW,QAAS,GAAK,OAAQ,WAAW,OAAQ,WAAW,SAAU,WAAW,SAAU,YAAY,WAAW,QAAS,QAAS,GAAG,WAAW,OAAQ,YAAY,YAAY,WAAW,SACpnBE,EAAc,IAAIF,MAAO,IAAM,UAAU,EAAE,UAAU,UAAU,EAAE,OAAQ,UAAU,OAAQ,UAAU,UAAU,OAAQ,UAAU,OAAQ,UAAU,IAAM,UAAU,EAAI,UAAU,IAAM,OAAQ,UAAU,UAAU,OAAQ,UAAU,OAAQ,OAAQ,UAAU,EAAI,UAAU,IAAM,UAAU,UAAU,UAAU,OAAQ,IAAM,OAAQ,UAAU,UAAU,EAAE,IAAM,OAAQ,UAAU,UAAU,UAAU,IAAM,EAAE,UAAU,UAAU,OAAQ,UAAU,UAAU,EAAI,OAAQ,OAAQ,UAAU,UAAU,UAAU,IAAM,UAAU,OAAQ,EAAI,UAAU,QACzhBG,EAAc,IAAIH,MAAO,QAAS,KAAO,KAAO,IAAK,QAAS,QAAS,QAAS,KAAO,EAAE,QAAS,QAAS,QAAS,IAAK,EAAE,QAAS,QAAS,EAAI,KAAO,QAAS,QAAS,IAAK,QAAS,KAAO,KAAO,QAAS,EAAI,KAAO,QAAS,KAAO,QAAS,QAAS,IAAK,QAAS,QAAS,QAAS,QAAS,IAAK,EAAE,EAAE,QAAS,KAAO,QAAS,QAAS,EAAI,QAAS,KAAO,KAAO,IAAK,QAAS,IAAK,EAAI,KAAO,QAAS,KAAO,QAAS,QAAS,KAAO,KAAO,QAAS,QAAS,IAAK,QAAS,KAAO,SACheI,EAAc,IAAIJ,MAAO,IAAM,SAAU,SAAU,WAAW,OAAQ,IAAM,WAAW,SAAU,WAAW,OAAQ,SAAU,WAAW,WAAW,WAAW,OAAQ,WAAW,SAAU,WAAW,WAAW,EAAE,WAAW,WAAW,WAAW,SAAU,WAAW,WAAW,EAAE,WAAW,SAAU,SAAU,WAAW,OAAQ,OAAQ,WAAW,IAAM,SAAU,WAAW,SAAU,WAAW,WAAW,SAAU,WAAW,WAAW,SAAU,WAAW,IAAM,SAAU,WAAW,WAAW,OAAQ,WAAW,WAAW,SAAU,EAAE,WAAW,WAAW,OAAQ,SAAU,WAAW,OAAQ,EAAE,WAAW,SAAU,YAC9mBK,EAAc,IAAIL,MAAO,UAAW,UAAW,MAAO,UAAW,UAAW,GAAK,UAAW,QAAS,UAAW,QAAS,QAAS,UAAW,QAAS,UAAW,UAAW,MAAO,EAAE,QAAS,UAAW,MAAO,QAAS,UAAW,GAAK,UAAW,UAAW,EAAE,QAAS,UAAW,MAAO,QAAS,UAAW,UAAW,UAAW,GAAK,UAAW,QAAS,UAAW,QAAS,MAAO,UAAW,QAAS,UAAW,UAAW,MAAO,UAAW,UAAW,QAAS,UAAW,QAAS,UAAW,EAAE,UAAW,GAAK,MAAO,UAAW,QAAS,MAAO,QAAS,UAAW,EAAE,UAAW,UAAW,QAAS,WACllBM,EAAc,IAAIN,MAAO,QAAS,SAAU,SAAU,EAAE,KAAM,SAAU,QAAS,SAAU,SAAU,QAAS,EAAE,SAAU,EAAI,SAAU,SAAU,KAAM,SAAU,QAAS,QAAS,SAAU,SAAU,SAAU,SAAU,QAAS,SAAU,KAAM,KAAM,SAAU,QAAS,EAAI,SAAU,QAAS,SAAU,QAAS,QAAS,SAAU,SAAU,SAAU,SAAU,EAAI,QAAS,SAAU,SAAU,QAAS,SAAU,KAAM,QAAS,SAAU,KAAM,SAAU,SAAU,SAAU,QAAS,EAAE,EAAI,SAAU,EAAE,QAAS,SAAU,KAAM,SAAU,SAAU,KAAM,SACxiBO,EAAc,IAAIP,MAAO,UAAW,KAAO,OAAQ,UAAW,UAAW,UAAW,GAAK,UAAW,OAAQ,UAAW,UAAW,OAAQ,UAAW,OAAQ,KAAO,GAAK,UAAW,UAAW,UAAW,KAAO,OAAQ,OAAQ,UAAW,UAAW,KAAO,EAAE,EAAE,UAAW,UAAW,UAAW,OAAQ,OAAQ,OAAQ,OAAQ,UAAW,KAAO,GAAK,UAAW,KAAO,OAAQ,UAAW,GAAK,UAAW,UAAW,UAAW,UAAW,OAAQ,UAAW,EAAE,UAAW,OAAQ,UAAW,UAAW,UAAW,UAAW,EAAE,UAAW,OAAQ,OAAQ,KAAO,KAAO,OAAQ,UAAW,WAElkBQ,EAAOC,EAAgBlgD,GACvBjB,EAAE,EAGFohD,EAAMzhD,EAAQ1E,OACduE,EAAQ,EAER6hD,EAA4B,IAAfH,EAAKjmD,OAAe,EAAI,EACnBilD,EAAJ,GAAdmB,EAA4B5B,EAAU,IAAIiB,MAAO,EAAG,GAAI,GAAK,IAAIA,MAAO,IAAK,GAAI,GACrEjB,EAAU,IAAIiB,MAAO,EAAG,GAAI,EAAG,GAAI,IAAK,EAAG,GAAI,GAAI,GAAK,IAAIA,MAAO,GAAI,IAAK,EAAG,GAAI,GAAI,EAAG,IAAK,GAAI,GAEpG,GAAXf,EAAchgD,GAAW,OACT,GAAXggD,EACJF,IACDK,EAAO,EAAGsB,EAAI,EACdzhD,GAAW2hD,OAAOC,aAAazB,EAAKA,EAAKA,EAAKA,EAAKA,EAAKA,EAAKA,EAAKA,GACvD,IAAPA,IAAUsB,GAAK,IAGbzB,IAAShgD,GAAW,oBAE9B,IAAI7D,EAAS,GACT0lD,EAAa,GACL,GAAR3gD,IACFs/C,EAAWT,EAAG+B,WAAWzhD,MAAQ,GAAO0/C,EAAG+B,WAAWzhD,MAAQ,GAAO0/C,EAAG+B,WAAWzhD,MAAQ,EAAK0/C,EAAG+B,WAAWzhD,KAC9GqgD,EAAYX,EAAG+B,WAAWzhD,MAAQ,GAAO0/C,EAAG+B,WAAWzhD,MAAQ,GAAO0/C,EAAG+B,WAAWzhD,MAAQ,EAAK0/C,EAAG+B,WAAWzhD,KAC/GA,EAAE,GAGJ,MAAOA,EAAIohD,EAAK,CAcd,IAbArL,EAAQp2C,EAAQ8hD,WAAWzhD,MAAQ,GAAOL,EAAQ8hD,WAAWzhD,MAAQ,GAAOL,EAAQ8hD,WAAWzhD,MAAQ,EAAKL,EAAQ8hD,WAAWzhD,KAC/HigD,EAAStgD,EAAQ8hD,WAAWzhD,MAAQ,GAAOL,EAAQ8hD,WAAWzhD,MAAQ,GAAOL,EAAQ8hD,WAAWzhD,MAAQ,EAAKL,EAAQ8hD,WAAWzhD,KAEpH,GAARa,IAAgB4+C,GAAU1J,GAAQoK,EAASF,GAASI,IAAiBD,EAAWD,EAASG,EAAYD,EAAUF,EAAUpK,EAAMsK,EAAWJ,IAE9IH,EAAgC,WAAvB/J,IAAS,EAAKkK,GAAqBA,GAASH,EAAM/J,GAAS+J,GAAQ,EAC5EA,EAAiC,OAAxB/J,IAAS,GAAMkK,GAAqBA,GAASH,EAAM/J,GAAS+J,GAAQ,GAC7EA,EAAgC,WAAvBG,IAAU,EAAKlK,GAAoBA,GAAQ+J,EAAMG,GAAUH,GAAQ,EAC5EA,EAAgC,UAAvBG,IAAU,EAAKlK,GAAoBA,GAAQ+J,EAAMG,GAAUH,GAAQ,EAC5EA,EAAgC,YAAvB/J,IAAS,EAAKkK,GAAqBA,GAASH,EAAM/J,GAAS+J,GAAQ,EAC5E/J,EAASA,GAAQ,EAAMA,IAAS,GAChCkK,EAAUA,GAAS,EAAMA,IAAU,GAE9BhkD,EAAE,EAAGA,EAAEolD,EAAYplD,GAAG,EAAG,CAI5B,IAHAskD,EAAUL,EAAQjkD,EAAE,GACpBukD,EAAUN,EAAQjkD,EAAE,GAEflB,EAAEmlD,EAAQjkD,GAAIlB,GAAGwlD,EAASxlD,GAAGylD,EAChCT,EAASE,EAAQiB,EAAKnmD,GACtBilD,GAAWC,IAAU,EAAMA,GAAS,IAAOiB,EAAKnmD,EAAE,GAElD+kD,EAAO/J,EACPA,EAAOkK,EACPA,EAAQH,GAAQa,EAAaZ,IAAW,GAAM,IAAQc,EAAad,IAAW,GAAM,IAChFgB,EAAahB,IAAW,EAAK,IAAQkB,EAAqB,GAATlB,GACjDU,EAAaT,IAAW,GAAM,IAAQY,EAAaZ,IAAW,GAAM,IACpEc,EAAad,IAAW,EAAK,IAAQgB,EAAqB,GAAThB,IAEvDF,EAAO/J,EAAMA,EAAOkK,EAAOA,EAAQH,EAGrC/J,EAASA,IAAS,EAAMA,GAAQ,GAChCkK,EAAUA,IAAU,EAAMA,GAAS,GAEnCH,EAAgC,YAAvB/J,IAAS,EAAKkK,GAAqBA,GAASH,EAAM/J,GAAS+J,GAAQ,EAC5EA,EAAgC,UAAvBG,IAAU,EAAKlK,GAAoBA,GAAQ+J,EAAMG,GAAUH,GAAQ,EAC5EA,EAAgC,WAAvBG,IAAU,EAAKlK,GAAoBA,GAAQ+J,EAAMG,GAAUH,GAAQ,EAC5EA,EAAiC,OAAxB/J,IAAS,GAAMkK,GAAqBA,GAASH,EAAM/J,GAAS+J,GAAQ,GAC7EA,EAAgC,WAAvB/J,IAAS,EAAKkK,GAAqBA,GAASH,EAAM/J,GAAS+J,GAAQ,EAEhE,GAARj/C,IAAgB4+C,GAAUU,EAAUpK,EAAMsK,EAAWJ,IAAclK,GAAQqK,EAAUH,GAASK,IAClGkB,GAAcF,OAAOC,aAAexL,IAAO,GAAOA,IAAO,GAAM,IAASA,IAAO,EAAK,IAAe,IAAPA,EAAekK,IAAQ,GAAOA,IAAQ,GAAM,IAASA,IAAQ,EAAK,IAAgB,IAARA,GACtKzgD,GAAS,EACI,KAATA,IAAe1D,GAAU0lD,EAAYA,EAAa,GAAIhiD,EAAQ,GAKpE,GAFA1D,GAAU0lD,EACV1lD,EAASA,EAAOm/C,QAAQ,QAAS,KAC7BwE,EAAU,CACZ,GAAe,IAAZE,EAAe,CACZyB,EAAMtlD,EAAOb,OAAjB,IAAyBymD,EAAe,EACxCN,IAAQM,EAAe5lD,EAAO2lD,WAAWL,EAAI,IAC5CM,GAAgB,IAAO5lD,EAASA,EAAO6lD,UAAU,EAAGP,EAAMM,IAG7D5lD,EAAS0hD,mBAAmBoE,OAAO9lD,IAErC,OAAOA,EAKT,SAASqlD,EAAgBlgD,GAwBvB,IAtBA,IAqBI4gD,EAAUC,EAAqBhC,EArB/BiC,EAAY,IAAIrB,MAAO,EAAE,EAAI,UAAW,UAAW,MAAQ,MAAQ,UAAW,UAAW,IAAM,IAAM,UAAW,UAAW,MAAQ,MAAQ,UAAW,WACtJsB,EAAY,IAAItB,MAAO,EAAE,EAAI,QAAS,QAAS,SAAU,SAAU,SAAU,SAAU,IAAM,IAAM,QAAS,QAAS,SAAU,SAAU,SAAU,UACnJuB,EAAY,IAAIvB,MAAO,EAAE,EAAI,KAAM,KAAM,SAAU,SAAU,SAAU,SAAU,EAAE,EAAI,KAAM,KAAM,SAAU,SAAU,SAAU,UACjIwB,EAAY,IAAIxB,MAAO,EAAE,QAAS,UAAU,UAAU,KAAO,QAAS,UAAU,UAAU,OAAQ,QAAS,UAAU,UAAU,OAAQ,QAAS,UAAU,WAC1JyB,EAAY,IAAIzB,MAAO,EAAE,OAAQ,GAAK,OAAQ,EAAE,OAAQ,GAAK,OAAQ,KAAO,OAAQ,KAAO,OAAQ,KAAO,OAAQ,KAAO,QACzH0B,EAAY,IAAI1B,MAAO,EAAE,KAAM,GAAK,KAAM,EAAE,KAAM,GAAK,KAAM,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,UACnI2B,EAAY,IAAI3B,MAAO,EAAE,UAAW,OAAQ,UAAW,EAAI,UAAW,OAAQ,UAAW,EAAE,UAAW,OAAQ,UAAW,EAAI,UAAW,OAAQ,WAChJ4B,EAAY,IAAI5B,MAAO,EAAE,MAAQ,KAAM,MAAQ,UAAW,UAAW,UAAW,UAAW,OAAQ,OAAQ,OAAQ,OAAQ,UAAW,UAAW,UAAW,WAC5J6B,EAAY,IAAI7B,MAAO,EAAE,OAAQ,EAAE,OAAQ,EAAI,OAAQ,EAAI,OAAQ,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,UACzI8B,EAAY,IAAI9B,MAAO,EAAE,UAAW,EAAI,UAAW,EAAE,UAAW,EAAI,UAAW,KAAM,UAAW,KAAM,UAAW,KAAM,UAAW,KAAM,WACxI+B,EAAa,IAAI/B,MAAO,EAAE,GAAK,EAAE,GAAK,QAAS,QAAS,QAAS,QAAS,KAAO,KAAO,KAAO,KAAO,QAAS,QAAS,QAAS,SACjIgC,EAAa,IAAIhC,MAAO,EAAE,SAAU,IAAM,SAAU,QAAS,SAAU,QAAS,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,SAAU,UAChKiC,EAAa,IAAIjC,MAAO,EAAE,KAAO,UAAU,UAAU,OAAQ,OAAQ,UAAU,UAAU,GAAK,KAAO,UAAU,UAAU,OAAQ,OAAQ,UAAU,WACnJkC,EAAa,IAAIlC,MAAO,EAAE,EAAI,IAAM,IAAM,EAAE,EAAI,IAAM,IAAM,EAAI,EAAI,IAAM,IAAM,EAAI,EAAI,IAAM,KAE9FW,EAAapgD,EAAIhG,OAAS,EAAI,EAAI,EAElCimD,EAAO,IAAIR,MAAO,GAAKW,GAEvBwB,EAAS,IAAInC,MAAO,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAE5C1gD,EAAE,EAAGmB,EAAE,EACvBlF,EAAE,EAAGA,EAAEolD,EAAYplD,IAAK,CAC/B,IAAI85C,EAAQ90C,EAAIwgD,WAAWzhD,MAAQ,GAAOiB,EAAIwgD,WAAWzhD,MAAQ,GAAOiB,EAAIwgD,WAAWzhD,MAAQ,EAAKiB,EAAIwgD,WAAWzhD,KAC/GigD,EAASh/C,EAAIwgD,WAAWzhD,MAAQ,GAAOiB,EAAIwgD,WAAWzhD,MAAQ,GAAOiB,EAAIwgD,WAAWzhD,MAAQ,EAAKiB,EAAIwgD,WAAWzhD,KACpH8/C,EAAgC,WAAvB/J,IAAS,EAAKkK,GAAqBA,GAASH,EAAM/J,GAAS+J,GAAQ,EAC5EA,EAAkC,OAAzBG,KAAW,GAAMlK,GAAoBA,GAAQ+J,EAAMG,GAAUH,IAAS,GAC/EA,EAAgC,WAAvB/J,IAAS,EAAKkK,GAAqBA,GAASH,EAAM/J,GAAS+J,GAAQ,EAC5EA,EAAkC,OAAzBG,KAAW,GAAMlK,GAAoBA,GAAQ+J,EAAMG,GAAUH,IAAS,GAC/EA,EAAgC,YAAvB/J,IAAS,EAAKkK,GAAqBA,GAASH,EAAM/J,GAAS+J,GAAQ,EAC5EA,EAAgC,UAAvBG,IAAU,EAAKlK,GAAoBA,GAAQ+J,EAAMG,GAAUH,GAAQ,EAC5EA,EAAgC,YAAvB/J,IAAS,EAAKkK,GAAqBA,GAASH,EAAM/J,GAAS+J,GAAQ,EAE5EA,EAAQ/J,GAAQ,EAAOkK,IAAU,GAAM,IAEvClK,EAAQkK,GAAS,GAAQA,GAAS,EAAK,SAAcA,IAAU,EAAK,MAAYA,IAAU,GAAM,IAChGA,EAAQH,EAER,IAAK,IAAI/kD,EAAE,EAAGA,EAAI8nD,EAAO5nD,OAAQF,IAE3B8nD,EAAO9nD,IAAKg7C,EAAQA,GAAQ,EAAMA,IAAS,GAAKkK,EAASA,GAAS,EAAMA,IAAU,KAChFlK,EAAQA,GAAQ,EAAMA,IAAS,GAAKkK,EAASA,GAAS,EAAMA,IAAU,IAC5ElK,IAAS,GAAKkK,IAAU,GAKxB4B,EAAWE,EAAUhM,IAAS,IAAMiM,EAAWjM,IAAS,GAAM,IAC1DkM,EAAWlM,IAAS,GAAM,IAAOmM,EAAWnM,IAAS,GAAM,IAC3DoM,EAAWpM,IAAS,GAAM,IAAOqM,EAAWrM,IAAS,EAAK,IAC1DsM,EAAWtM,IAAS,EAAK,IAC7B+L,EAAYQ,EAAUrC,IAAU,IAAMsC,EAAWtC,IAAU,GAAM,IAC7DuC,EAAWvC,IAAU,GAAM,IAAOwC,EAAYxC,IAAU,GAAM,IAC9DyC,EAAYzC,IAAU,GAAM,IAAO0C,EAAY1C,IAAU,EAAK,IAC9D2C,EAAY3C,IAAU,EAAK,IAC/BH,EAAyC,OAAhCgC,IAAc,GAAMD,GAC7BX,EAAK//C,KAAO0gD,EAAW/B,EAAMoB,EAAK//C,KAAO2gD,EAAahC,GAAQ,GAIlE,OAAOoB,EAET,SAAS4B,EAAO7hD,EAAK8hD,EAAOC,GAE1B,MAAO,CAAC/hD,IAAIgiD,EAAIhiD,EAAIU,MAAMohD,EAAOC,IAAME,OAAQ,GAEjD,SAASD,EAAIhiD,GACX,IAAK,IAAIlG,EAAIkG,EAAIhG,OAAQF,EAAE,GAAIA,IAC7BkG,GAAK,IAEP,OAAOA,EAET,IAAIkiD,EAAS,WACTC,EAAO,CAET3D,QAAQ,SAASx+C,EAAIoiD,GACnB,IAAIC,EAASR,EAAO7hD,EAAK,EAAG,IAC5B,OAAOsiD,KAAK/D,EAAI8D,EAAOriD,IAAKoiD,EAAO,EAAG,EAAGF,EAAQ,KAGnDK,QAAQ,SAASviD,EAAIoiD,GACnB,IAAIC,EAASR,EAAO7hD,EAAK,EAAG,IAC5B,OAAOu+C,EAAI8D,EAAOriD,IAAKwiD,KAAKJ,GAAQ,EAAG,EAAGF,EAAQ,KAMtD,MAAMO,EAAW,mCACJC,EAAcC,GAClBR,EAAK3D,QAAQiE,EAASE,GC/MzBC,EAAe,OAAOC,OAGtBC,GAFe,OAAOC,OAEV,wBAEZC,EAAoBL,GACjBC,EAAaF,EAAWC,EAAOG,IAGlCG,EAAUvjD,GACE,MAATA,GAAmC,oBAAX,QAAoCd,IAAVc,EAIrDwjD,EAAWC,KACVF,EAAOE,KAENA,aAAmBlpD,QACU,MAA3B2I,KAAKO,UAAUggD,IAIuC,KAAvDA,EAAU,IAAInJ,QAAQ,iBAAkB,IAAIhgD,QAc/CopD,EAAcrgB,IAClB,IAAIsgB,EAAM,oEACV,OAAOA,EAAIhmC,KAAK0lB,IAGZugB,EAAc,CAAClpC,EAAKzb,IACxB49C,oBACG,IAAIxB,OAAO,QAAQp8C,wBAA2B69C,KAAKpiC,IAAQ,MAC1Dxb,EACA,KACC,GAAGo7C,QAAQ,MAAO,SAClB,M","file":"js/app.d9fefedb.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/\" + ({\"back\":\"back\",\"common\":\"common\",\"project\":\"project\"}[chunkId]||chunkId) + \".\" + {\"back\":\"8ded5130\",\"chunk-004aa3f6\":\"acce5eae\",\"chunk-016d7524\":\"ab5b61b9\",\"chunk-03f53200\":\"62acda37\",\"chunk-13c13864\":\"2f5232d8\",\"chunk-160e849c\":\"7eeb6466\",\"chunk-19ce40eb\":\"69a543a0\",\"chunk-27a6bfe0\":\"6945fc83\",\"chunk-2b262cb1\":\"167c9334\",\"chunk-2d0b59f3\":\"054807ad\",\"chunk-2d0d7881\":\"1003875e\",\"chunk-2d0de3c2\":\"9cf368c7\",\"chunk-2d0e9729\":\"118f20ad\",\"chunk-2d0f064e\":\"ebf150c5\",\"chunk-2d0f0c8e\":\"d4c83cc4\",\"chunk-2d20f051\":\"01ffcac8\",\"chunk-2d217ffe\":\"abd2bfb1\",\"chunk-2d2253fa\":\"02c1099e\",\"chunk-2d23759e\":\"8bb5037e\",\"chunk-32dbda08\":\"67950300\",\"chunk-36651e2c\":\"2a363638\",\"chunk-37f3ff28\":\"4d35047c\",\"chunk-3f73958c\":\"c4b0693b\",\"chunk-43124836\":\"37941456\",\"chunk-49879f90\":\"18da7853\",\"chunk-4bcb6fa2\":\"2c2e6ee1\",\"chunk-5902b01e\":\"a89af3cf\",\"chunk-5e371464\":\"9ee56936\",\"chunk-60876c62\":\"a355078e\",\"chunk-6110b22a\":\"cba9c896\",\"chunk-670bdea0\":\"3aea5ebb\",\"chunk-670c81bf\":\"27418a2f\",\"chunk-6efc4f2a\":\"82ae0487\",\"chunk-76c4d7c6\":\"599aea87\",\"chunk-c3f66a16\":\"c1b4db19\",\"chunk-c72d1fd8\":\"818cc3f5\",\"chunk-d0845c24\":\"a88cfc5b\",\"chunk-d7ae0080\":\"1df1441c\",\"chunk-de8012d0\":\"7edb3c12\",\"chunk-f0b56e08\":\"35070620\",\"chunk-f0fb3d3e\":\"b476bd68\",\"common\":\"3aa13e6f\",\"project\":\"2bce0118\",\"chunk-763fd216\":\"799b7d2f\",\"chunk-be3ed9dc\":\"dfbd221b\",\"chunk-2d0ac361\":\"1babff8d\",\"chunk-2d0c0d76\":\"1e8858b7\",\"chunk-2d0e5bbe\":\"4e580b2b\",\"chunk-2d0f1593\":\"d029555a\",\"chunk-2d21094d\":\"19ce22ba\",\"chunk-6111d4e0\":\"2134f571\"}[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 = {\"back\":1,\"chunk-004aa3f6\":1,\"chunk-016d7524\":1,\"chunk-03f53200\":1,\"chunk-160e849c\":1,\"chunk-19ce40eb\":1,\"chunk-27a6bfe0\":1,\"chunk-2b262cb1\":1,\"chunk-32dbda08\":1,\"chunk-36651e2c\":1,\"chunk-3f73958c\":1,\"chunk-43124836\":1,\"chunk-49879f90\":1,\"chunk-4bcb6fa2\":1,\"chunk-5902b01e\":1,\"chunk-5e371464\":1,\"chunk-60876c62\":1,\"chunk-6110b22a\":1,\"chunk-670bdea0\":1,\"chunk-670c81bf\":1,\"chunk-6efc4f2a\":1,\"chunk-76c4d7c6\":1,\"chunk-c3f66a16\":1,\"chunk-c72d1fd8\":1,\"chunk-d0845c24\":1,\"chunk-d7ae0080\":1,\"chunk-de8012d0\":1,\"chunk-f0b56e08\":1,\"chunk-f0fb3d3e\":1,\"common\":1,\"project\":1,\"chunk-763fd216\":1,\"chunk-be3ed9dc\":1,\"chunk-6111d4e0\":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/\" + ({\"back\":\"back\",\"common\":\"common\",\"project\":\"project\"}[chunkId]||chunkId) + \".\" + {\"back\":\"84933ac6\",\"chunk-004aa3f6\":\"7a1acfcf\",\"chunk-016d7524\":\"27d500e2\",\"chunk-03f53200\":\"c2192320\",\"chunk-13c13864\":\"31d6cfe0\",\"chunk-160e849c\":\"86dde196\",\"chunk-19ce40eb\":\"dc00bf7a\",\"chunk-27a6bfe0\":\"f79668f3\",\"chunk-2b262cb1\":\"49acc5db\",\"chunk-2d0b59f3\":\"31d6cfe0\",\"chunk-2d0d7881\":\"31d6cfe0\",\"chunk-2d0de3c2\":\"31d6cfe0\",\"chunk-2d0e9729\":\"31d6cfe0\",\"chunk-2d0f064e\":\"31d6cfe0\",\"chunk-2d0f0c8e\":\"31d6cfe0\",\"chunk-2d20f051\":\"31d6cfe0\",\"chunk-2d217ffe\":\"31d6cfe0\",\"chunk-2d2253fa\":\"31d6cfe0\",\"chunk-2d23759e\":\"31d6cfe0\",\"chunk-32dbda08\":\"a8a6735d\",\"chunk-36651e2c\":\"5e6a4a14\",\"chunk-37f3ff28\":\"31d6cfe0\",\"chunk-3f73958c\":\"b1360dd7\",\"chunk-43124836\":\"7e9f0fe6\",\"chunk-49879f90\":\"5434a8c0\",\"chunk-4bcb6fa2\":\"62062c8f\",\"chunk-5902b01e\":\"277857ae\",\"chunk-5e371464\":\"912e12a0\",\"chunk-60876c62\":\"36770bef\",\"chunk-6110b22a\":\"f74fff32\",\"chunk-670bdea0\":\"5b4ab0d9\",\"chunk-670c81bf\":\"cb5c6990\",\"chunk-6efc4f2a\":\"faab004c\",\"chunk-76c4d7c6\":\"91d21d11\",\"chunk-c3f66a16\":\"2be933d4\",\"chunk-c72d1fd8\":\"224f264e\",\"chunk-d0845c24\":\"d1ab1469\",\"chunk-d7ae0080\":\"80960291\",\"chunk-de8012d0\":\"37e88333\",\"chunk-f0b56e08\":\"c62907be\",\"chunk-f0fb3d3e\":\"effe8b2b\",\"common\":\"fd37f6db\",\"project\":\"da96bd30\",\"chunk-763fd216\":\"cb6fe390\",\"chunk-be3ed9dc\":\"6d20e249\",\"chunk-2d0ac361\":\"31d6cfe0\",\"chunk-2d0c0d76\":\"31d6cfe0\",\"chunk-2d0e5bbe\":\"31d6cfe0\",\"chunk-2d0f1593\":\"31d6cfe0\",\"chunk-2d21094d\":\"31d6cfe0\",\"chunk-6111d4e0\":\"5260c756\"}[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","module.exports = echarts;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-header',{staticStyle:{\"height\":\"44px\"}},[_c('el-row',{staticStyle:{\"height\":\"44px\"}},[_c('el-col',{attrs:{\"span\":20}},[_c('logo',{attrs:{\"type\":\"nav\"}}),_c('el-menu',{attrs:{\"default-active\":_vm.active,\"mode\":\"horizontal\",\"active-text-color\":\"rgb(15,187,181)\"},on:{\"select\":_vm.handleSelect}},_vm._l((_vm.list),function(item){return _c('el-menu-item',{key:item,staticStyle:{\"border\":\"none\"},attrs:{\"index\":item}},[_vm._v(_vm._s(_vm.$t(item))+\"\\n \")])}),1)],1),_c('el-col',{attrs:{\"span\":4}},[_c('NavRight')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./NavTop.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./NavTop.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NavTop.vue?vue&type=template&id=8cb23240&scoped=true&\"\nimport script from \"./NavTop.vue?vue&type=script&lang=js&\"\nexport * from \"./NavTop.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavTop.vue?vue&type=style&index=0&id=8cb23240&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8cb23240\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Breadcrumb.vue?vue&type=style&index=0&id=1c26590a&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-breadcrumb',{attrs:{\"separator\":\"/\"}},[_c('el-breadcrumb-item',{attrs:{\"to\":{ path: '/' }}},[_vm._v(_vm._s(_vm.$t(\"index\")))]),(_vm.projectId === -1)?_c('el-breadcrumb-item',{attrs:{\"to\":{ path: '/back' }}},[_vm._v(_vm._s(_vm.$t(\"back\")))]):_c('el-breadcrumb-item',[_vm._v(_vm._s(_vm.$store.getters.project_name(_vm.projectId)))]),_vm._l((_vm.list),function(item){return _c('el-breadcrumb-item',{key:item,attrs:{\"to\":{ path: _vm.pathMap(item) }}},[_vm._v(_vm._s(_vm.$t(item))+\"\\n \")])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Breadcrumb.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Breadcrumb.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Breadcrumb.vue?vue&type=template&id=1c26590a&scoped=true&\"\nimport script from \"./Breadcrumb.vue?vue&type=script&lang=js&\"\nexport * from \"./Breadcrumb.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Breadcrumb.vue?vue&type=style&index=0&id=1c26590a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1c26590a\",\n null\n \n)\n\nexport default component.exports","// 固件模块产品状态\r\nexport const FW_PRODUCT_STATUS = {\r\n \"1\": \"停产\",\r\n \"2\": \"研发中\",\r\n \"3\": \"已发布\",\r\n}\r\n\r\n// 固件模块定制固件状态\r\nexport const FW_CUSTOM_FIRMWARE_STATUS = {\r\n \"1\": \"未规划\",\r\n \"2\": \"已立项\",\r\n \"3\": \"研发中\",\r\n \"4\": \"系统测试中\",\r\n \"5\": \"已发布\",\r\n \"6\": \"停产\",\r\n}\r\n\r\n// 项目\r\nexport const FW_PROJECTS = {\r\n 1: \"MEARI\",\r\n 2: \"TUYA\"\r\n}\r\n\r\n// 固件打包板子审核状态\r\nexport const FW_BOARD_APPROVAL_STATUS = {\r\n \"0\": \"未审核\",\r\n \"1\": \"已审核\"\r\n}\r\n","let local = {\r\n get: function (key) {\r\n // 存储进去的是字符串所以get的也是字符串,因此要转换成对象\r\n return JSON.parse(localStorage.getItem(key))\r\n },\r\n set: function (key, val) {\r\n // 只接受字符串,所以val一定要从对象转换成字符串\r\n localStorage.setItem(key, JSON.stringify(val))\r\n }\r\n}\r\nexport default {\r\n install: function (vm) {\r\n // local是获取到的用户名\r\n vm.prototype.$local = local\r\n }\r\n}","const NotFound = () => import(/* webpackChunkName: \"common\" */\"./views/common/NotFound.vue\");\r\nconst HelloWorld = () => import(/* webpackChunkName: \"common\" */\"./views/common/HelloWorld.vue\");\r\nconst Login = () => import(/* webpackChunkName: \"common\" */\"./views/common/Login.vue\");\r\nconst Index = () => import(/* webpackChunkName: \"common\" */\"./views/common/Index.vue\");\r\nconst Main = () => import(/* webpackChunkName: \"common\" */\"./views/common/Main.vue\");\r\nconst NoPower = () => import(/* webpackChunkName: \"common\" */\"./views/common/NoPower.vue\");\r\nconst Home = () => import(\"@/views/common/Home.vue\");\r\nconst ManageHelpDocs = () => import(\"@/views/common/ManageHelpDocs.vue\");\r\nconst HelpDocs = () => import(\"@/views/common/HelpDocs.vue\");\r\nconst LegalNotices = () => import(\"@/views/common/LegalNotices.vue\");\r\nconst PrivacyPolicy = () => import(\"@/views/common/PrivacyPolicy.vue\");\r\n\r\n// 增加\r\nconst GuestComplaint = () => import(/* webpackChunkName: \"back\" */\"./views/cust/GuestComplaint.vue\");\r\nconst GuestWorkOrder = () => import(/* webpackChunkName: \"back\" */\"./views/cust/GuestWorkOrder.vue\");\r\nconst GuestAnaly = () => import(/* webpackChunkName: \"back\" */\"./views/cust/GuestAnaly.vue\");\r\nconst GuestList = () => import(/* webpackChunkName: \"back\" */\"./views/cust/GuestList.vue\");\r\nconst CommonWords = () => import(/* webpackChunkName: \"back\" */\"./views/cust/CommonWords.vue\");\r\n\r\n\r\n// 结束\r\n\r\nconst AccountList = () => import(/* webpackChunkName: \"back\" */\"./views/back/account/AccountList.vue\");\r\nconst ProjectList = () => import(/* webpackChunkName: \"back\" */\"./views/back/account/ProjectList.vue\");\r\nconst PermissionGroup = () => import(/* webpackChunkName: \"back\" */\"./views/back/account/PermissionGroup\");\r\nconst AccountGroup = () => import(/* webpackChunkName: \"back\" */\"./views/back/account/AccountGroup\");\r\n\r\n// const Pack = ()=> import(/* webpackChunkName: \"back\" */\"./views/back/match/Pack.vue\");\r\n// const ThirdPack = ()=> import(/* webpackChunkName: \"back\" */\"./views/back/match/ThirdPack.vue\");\r\n\r\nconst LicenseList = () => import(/* webpackChunkName: \"back\" */\"./views/back/stat/LicenseList.vue\");\r\nconst ThirdLicenseList = () => import(/* webpackChunkName: \"back\" */\"./views/back/license/ThirdLicenseList.vue\");\r\nconst LicenseConflictList = () => import(/* webpackChunkName: \"back\" */\"./views/back/license/LicenseConflictList.vue\");\r\nconst ThirdLicenseConflictList = () => import(/* webpackChunkName: \"back\" */\"./views/back/license/ThirdLicenseConflictList.vue\");\r\nconst LicenseRecycleList = () => import(/* webpackChunkName: \"back\" */\"./views/back/license/LicenseRecycleList.vue\");\r\nconst Packing = () => import(/* webpackChunkName: \"back\" */\"./views/back/license/Packing.vue\");\r\nconst DataImport = () => import(/* webpackChunkName: \"back\" */\"./views/back/license/DataImport.vue\");\r\nconst P2PCode = () => import(/* webpackChunkName: \"back\" */\"./views/back/license/P2PCode.vue\");\r\n\r\nconst BackDeviceList = () => import(/* webpackChunkName: \"back\" */\"./views/back/operation/DeviceList.vue\");\r\nconst VisitorList = () => import(/* webpackChunkName: \"back\" */\"./views/back/operation/VisitorList.vue\");\r\nconst BackUserList = () => import(/* webpackChunkName: \"back\" */\"./views/back/operation/UserList.vue\");\r\nconst BackDevicePublish = () => import(/* webpackChunkName: \"back\" */\"./views/back/operation/DevicePublish.vue\");\r\nconst BackGrayPublish = () => import(/* webpackChunkName: \"back\" */\"./views/back/operation/GrayPublish.vue\");\r\nconst BackAppPublish = () => import(/* webpackChunkName: \"back\" */\"./views/back/operation/AppPublish.vue\");\r\nconst FeedbackList = () => import(/* webpackChunkName: \"back\" */\"./views/back/operation/FeedbackList.vue\");\r\nconst BackDeviceShadow = () => import(/* webpackChunkName: \"back\" */\"./views/back/operation/DeviceShadow.vue\");\r\nconst BackDeviceDetail = () => import(/* webpackChunkName: \"back\" */\"./views/back/operation/DeviceDetail.vue\");\r\nconst DeviceUnbind = () => import(/* webpackChunkName: \"back\" */\"./views/back/operation/DeviceUnbind.vue\");\r\nconst FeedbackCharts = () => import(/* webpackChunkName: \"back\" */\"./views/back/operation/FeedbackCharts.vue\");\r\n\r\nconst DevicePub = () => import(\"@/views/back/operation/DevicePub.vue\");\r\n\r\nconst Dubbo = () => import(/* webpackChunkName: \"back\" */\"./views/back/monitor/Dubbo.vue\");\r\nconst ServerPing = () => import(/* webpackChunkName: \"back\" */\"./views/back/monitor/ServerPing\");\r\nconst BusinessServer = () => import(/* webpackChunkName: \"back\" */\"./views/back/monitor/BusinessServer\");\r\nconst P2pServer = () => import(/* webpackChunkName: \"back\" */\"./views/back/monitor/P2PServer\");\r\nconst Redis = () => import(/* webpackChunkName: \"back\" */\"./views/back/monitor/Redis\");\r\nconst Mongo = () => import(/* webpackChunkName: \"back\" */\"./views/back/monitor/Mongo\");\r\n\r\nconst Order = () => import(/* webpackChunkName: \"back\" */\"./views/back/cloud/Order.vue\");\r\nconst Cost = () => import(/* webpackChunkName: \"back\" */\"./views/back/cloud/Cost.vue\");\r\nconst Activation = () => import(/* webpackChunkName: \"back\" */\"./views/back/cloud/Activation.vue\");\r\nconst ActivationOrder = () => import(/* webpackChunkName: \"back\" */\"./views/back/cloud/ActivationOrder.vue\");\r\nconst Income = () => import(/* webpackChunkName: \"back\" */\"./views/back/cloud/Income.vue\");\r\nconst Package = () => import(/* webpackChunkName: \"back\" */\"./views/back/cloud/Package.vue\");\r\nconst OssCharts = () => import(/* webpackChunkName: \"back\" */\"./views/back/cloud/OssCharts.vue\");\r\nconst OrderCharts = () => import(/* webpackChunkName: \"back\" */\"./views/back/cloud/OrderCharts.vue\");\r\nconst CloudRefund = () => import(/* webpackChunkName: \"back\" */\"./views/back/cloud/CloudRefund.vue\");\r\nconst AppCrash = () => import(/* webpackChunkName: \"back\" */\"./views/back/log/AppCrash.vue\");\r\nconst AppBuriedPoint = () => import(/* webpackChunkName: \"back\" */\"./views/back/log/AppBuriedPoint.vue\");\r\nconst BuriedPointAnalysis = () => import(/* webpackChunkName: \"back\" */\"./views/back/log/BuriedPointAnalysis.vue\");\r\nconst ServerLog = () => import(/* webpackChunkName: \"back\" */\"./views/back/log/ServerLog.vue\");\r\nconst ServersLog = () => import(/* webpackChunkName: \"back\" */\"./views/back/log/ServersLog.vue\");\r\n\r\nconst Upload = () => import(/* webpackChunkName: \"back\" */\"./views/back/extend/Upload.vue\");\r\nconst Country = () => import(/* webpackChunkName: \"back\" */\"./views/back/extend/Country.vue\");\r\nconst GrayRelease = () => import(/* webpackChunkName: \"back\" */\"./views/back/extend/GrayRelease.vue\");\r\nconst Icon = () => import(/* webpackChunkName: \"back\" */\"./views/back/extend/Icon.vue\");\r\nconst ProductList = () => import(\"@/views/back/extend/ProductList.vue\");\r\nconst FeedbackStandardList = () => import( /* webpackChunkName: \"back\" */ \"./views/back/extend/FeedbackStandardList.vue\");\r\nconst AppConfigUrlChoise = () => import(/* webpackChunkName: \"back\" */\"./views/back/extend/AppConfigUrlChoise\");\r\nconst PPSInternational = () => import(/* webpackChunkName: \"back\" */\"./views/back/extend/PPSInternational\");\r\nconst Awox = () => import(/* webpackChunkName: \"back\" */\"./views/back/extend/Awox\");\r\nconst PictureTypeList = () => import(/* webpackChunkName: \"back\" */\"./views/back/extend/PictureTypeList\");\r\nconst PictureDetail = () => import(/* webpackChunkName: \"back\" */\"./views/back/extend/PictureDetail\");\r\nconst TwoWayConfig = () => import(/* webpackChunkName: \"back\" */\"./views/back/extend/TwoWayConfig\");\r\n\r\nconst TestDevice = () => import(/* webpackChunkName: \"back\" */\"./views/back/test/TestDevice.vue\");\r\nconst TestApp = () => import(/* webpackChunkName: \"back\" */\"./views/back/test/TestApp.vue\");\r\nconst TestP2p = () => import(/* webpackChunkName: \"back\" */\"./views/back/test/TestP2p.vue\");\r\nconst BackStatUser = () => import(/* webpackChunkName: \"back\" */\"./views/back/stat/StatUser.vue\");\r\nconst StatDevice = () => import(/* webpackChunkName: \"back\" */\"./views/back/stat/StatDevice.vue\");\r\nconst StatUserFeedback = () => import( /* webpackChunkName: \"back\" */\"./views/back/stat/StatUserFeedback.vue\");\r\nconst StatProductFeedback = () => import( /* webpackChunkName: \"back\" */\"./views/back/stat/StatProductFeedback.vue\");\r\nconst StatAppFeedback = () => import( /* webpackChunkName: \"back\" */\"./views/back/stat/StatAppFeedback.vue\");\r\nconst StatAddress = () => import( /* webpackChunkName: \"back\" */\"./views/back/stat/StatAddress.vue\");\r\nconst DataOverview = () => import( /* webpackChunkName: \"back\" */\"./views/back/stat/DataOverview.vue\");\r\nconst StatVersion = () => import( /* webpackChunkName: \"back\" */\"./views/back/stat/StatVersion.vue\");\r\n\r\nconst DeviceList = () => import(/* webpackChunkName: \"project\" */\"./views/project/operation/DeviceList.vue\");\r\nconst UserList = () => import(/* webpackChunkName: \"project\" */\"./views/project/operation/UserList.vue\");\r\nconst DevicePublish = () => import(/* webpackChunkName: \"project\" */\"./views/project/operation/DevicePublish.vue\");\r\nconst AppPublish = () => import(/* webpackChunkName: \"project\" */\"./views/project/operation/AppPublish.vue\");\r\nconst OperationFeedback = () => import(/* webpackChunkName: \"project\" */\"./views/project/operation/OperationFeedback.vue\");\r\n\r\nconst MemberList = () => import(/* webpackChunkName: \"project\" */\"./views/project/setting/MemberList.vue\");\r\n\r\nconst Product = () => import(/* webpackChunkName: \"project\" */\"./views/project/product/Product.vue\");\r\nconst Company = () => import(/* webpackChunkName: \"project\" */\"./views/project/product/Company.vue\");\r\n\r\nconst AppAutoConfig = () => import(/* webpackChunkName: \"project\" */\"./views/project/appCreate/AppAutoConfig.vue\");\r\n\r\nconst ProjectStatDevice = () => import(/* webpackChunkName: \"project\" */\"./views/project/stat/ProjectStatDevice.vue\");\r\nconst ProjectStatUser = () => import(/* webpackChunkName: \"project\" */\"./views/project/stat/ProjectStatUser.vue\");\r\n\r\nconst ProductManage = () => import(\"./views/back/firmware/ProductManage.vue\");\r\nconst BoardDetails = () => import(\"@/views/back/firmware/product/BoardDetails.vue\");\r\n\r\nconst FunctionManage = () => import(\"./views/back/firmware/FunctionManage.vue\");\r\nconst PlatformManage = () => import(\"./views/back/firmware/PlatformManage.vue\");\r\nconst ProjectManage = () => import(\"./views/back/firmware/ProjectManage.vue\");\r\nconst FirmwarePublish = () => import(\"./views/back/firmware/FirmwarePublish.vue\");\r\nconst FirmwareCustomization = () => import(\"./views/back/firmware/FirmwareCustomization.vue\");\r\nconst CustomPackDetails = () => import(\"@/views/back/firmware/CustomPackDetails.vue\");\r\n\r\nconst Pack = () => import(\"./views/back/match/Pack.vue\");\r\nconst ThirdPack = () => import(\"./views/back/match/ThirdPack.vue\");\r\n\r\nconst Zendao = () => import(\"@/views/back/zendao/ZendaoIndex.vue\");\r\nconst CloudCharts = () => import(\"@/views/back/cloud/datacharts/CloudChartsIndex.vue\");\r\nconst CloudPrice = () => import(\"@/views/back/cloud/CloudPrice.vue\");\r\n\r\nconst TuyaOemManage = () => import(\"@/views/back/firmware/TuyaOemManage.vue\");\r\nconst TuyaProducts = () => import(\"@/views/back/firmware/TuyaProducts.vue\");\r\n\r\nconst DeviceIOT = () => import(\"@/views/back/operation/DeviceIOT.vue\");\r\nconst DeviceIOTCharts = () => import(\"@/views/back/stat/DeviceIOTCharts.vue\");\r\nconst RequestCount = () => import(\"./views/back/stat/RequestCount.vue\");\r\n\r\nconst AlarmLog = () => import(\"@/views/back/log/AlarmLog.vue\");\r\nconst DeviceLog = () => import(\"@/views/back/log/DeviceLog.vue\");\r\n\r\nconst RelayList = () => import(\"@/views/back/operation/RelayList.vue\");\r\nconst ThingModel = () => import(\"@/views/back/extend/ThingModel.vue\");\r\nconst FactoryUser = () => import(\"@/views/back/license/FactoryUser.vue\");\r\n\r\nconst MonitorList = () => import(\"@/views/back/operation/monitor_pub/MonitorList.vue\");\r\nconst DeviceIOTList = () => import(\"@/views/back/operation/DeviceIOTList.vue\");\r\n\r\nconst v1_device_off_publish = () => import(\"@/views/back/operation/device_pub/OfficialPub.vue\");\r\n\r\n//下面是服务器拓展组件\r\nconst PPSConstant = () => import(\"@/views/back/server_expansion/PPSConstant.vue\");\r\nconst AppNotice = () => import(\"@/views/back/server_expansion/AppNotice.vue\");\r\nconst PPSDefaultInternational = () => import(\"@/views/back/server_expansion/PPSDefaultInternational.vue\");\r\n\r\n//app配置\r\nconst AppConfig = () => import(/* webpackChunkName: \"project\" */\"./views/project/appConfig/AppConfig.vue\");\r\nconst VersionPage = () => import(/* webpackChunkName: \"project\" */\"./views/project/appConfig/pages/VersionPage\");\r\nconst BasicConfig = () => import(/* webpackChunkName: \"project\" */\"./views/project/appConfig/pages/BasicConfig\");\r\nconst PageConfig = () => import(/* webpackChunkName: \"project\" */\"./views/project/appConfig/pages/PageConfig\");\r\nconst FunctionConfig = () => import(/* webpackChunkName: \"project\" */\"./views/project/appConfig/pages/FunctionConfig\");\r\nconst BuildConfig = () => import(/* webpackChunkName: \"project\" */\"./views/project/appConfig/pages/BuildConfig\");\r\nconst ShelfConfig = () => import(/* webpackChunkName: \"project\" */\"./views/project/appConfig/pages/ShelfConfig\");\r\nconst CodeEmailConfig = () => import(/* webpackChunkName: \"project\" */\"./views/project/appConfig/pages/CodeEmailConfig\");\r\nconst CodeSmsConfig = () => import(/* webpackChunkName: \"project\" */\"./views/project/appConfig/pages/CodeSmsConfig\");\r\nconst PushConfig = () => import(/* webpackChunkName: \"project\" */\"./views/project/appConfig/pages/PushConfig\");\r\nconst GetKey = () => import(/* webpackChunkName: \"project\" */\"./views/project/appConfig/pages/GetKey\");\r\nconst AppCloudConfig = () => import(/* webpackChunkName: \"project\" */\"./views/project/appConfig/pages/AppCloudConfig\");\r\nconst UploadTranslationFile = () => import(/* webpackChunkName: \"project\" */\"./views/project/appConfig/pages/UploadTranslationFile\");\r\n\r\n// 页面路由配置: url对应vue页面\r\n// 可直接在地址栏输入uri进行跳转\r\n// 可使用标签跳转\r\n// 可使用代码跳转this.$router.push(\"helloworld\");\r\nexport default store => [\r\n // 默认404\r\n {path: \"*\", component: NotFound},\r\n {path: \"/helloworld\", component: HelloWorld, props: {msg: \"Welcome to Your Vue.js App\"}},\r\n {path: \"/login\", name: 'login', component: Login},\r\n /*{ path: \"/\", component: Main },*/\r\n {path: \"/\", name: \"home\", component: Home},\r\n {path: \"/index\", name: 'projectIndex', component: Index},\r\n {path: \"/noPower\", component: NoPower},\r\n {path: \"/manageHelpDocs\", name: 'manageHelpDocs', component: ManageHelpDocs},\r\n {path: \"/helpDocs\", name: 'helpDocs', component: HelpDocs},\r\n\r\n {path: \"/legalNotices\", name: 'legalNotices', component: LegalNotices},\r\n {path: \"/privacyPolicy\", name: 'privacyPolicy', component: PrivacyPolicy},\r\n\r\n\r\n /**\r\n * 后台页面 /back 根据用户权限重定向到子页面\r\n */\r\n {\r\n path: \"/back\", name: 'back', redirect: () => {\r\n if (store.getters.hasAllPowers([1000, 1500])) {\r\n return \"/back/operation\";\r\n }\r\n if (store.getters.hasAllPowers([1000, 1600])) {\r\n return \"/back/monitor\";\r\n }\r\n if (store.getters.hasAllPowers([1000, 1300])) {\r\n return \"/back/cloud\";\r\n }\r\n if (store.getters.hasAllPowers([1000, 1700])) {\r\n return \"/back/stat\";\r\n }\r\n if (store.getters.hasAllPowers([1000, 1100])) {\r\n return \"/back/account\";\r\n }\r\n if (store.getters.hasAllPowers([1000, 1200])) {\r\n return \"/back/license\";\r\n }\r\n if (store.getters.hasAllPowers([1000, 1800])) {\r\n return \"/back/log\";\r\n }\r\n if (store.getters.hasAllPowers([1000, 1400])) {\r\n return \"/back/extend\";\r\n }\r\n if (store.getters.hasAllPowers([1000, 1900])) {\r\n return \"/back/test\";\r\n }\r\n if (store.getters.hasAllPowers([1000, 3000])) {\r\n return \"/back/match\";\r\n }\r\n if (store.getters.hasAllPowers([1000, 10000])) {\r\n return \"/back/firmware\";\r\n }\r\n if (store.getters.hasAllPowers([1000, 11000])) {\r\n return \"/back/zendao\";\r\n }\r\n }\r\n },\r\n /**\r\n * 后台account页面 /back/account 根据用户权限重定向到子页面\r\n */\r\n {\r\n path: \"/back/account\", redirect: () => {\r\n if (store.getters.hasAllPowers([1100, 1120])) {\r\n return \"/back/account_list\";\r\n }\r\n if (store.getters.hasAllPowers([1100, 1110])) {\r\n return \"/back/project_list\";\r\n }\r\n if (store.getters.hasAllPowers([1100, 1130])) {\r\n return \"/back/permission_group\";\r\n }\r\n if (store.getters.hasAllPowers([1100, 1140])) {\r\n return \"/back/account_group\";\r\n }\r\n }\r\n },\r\n {path: \"/back/account_list\", component: AccountList},\r\n {path: \"/back/project_list\", component: ProjectList},\r\n {path: \"/back/permission_group\", component: PermissionGroup},\r\n {path: \"/back/account_group\", component: AccountGroup},\r\n /**\r\n * 后台license页面 /back/license 根据用户权限重定向到子页面\r\n */\r\n {\r\n path: \"/back/license\", name: 'moduleLicense', redirect: () => {\r\n if (store.getters.hasAllPowers([1200, 1210])) {\r\n return \"/back/license_list\";\r\n }\r\n if (store.getters.hasAllPowers([1200, 1220])) {\r\n return \"/back/3rd_license_list\";\r\n }\r\n if (store.getters.hasAllPowers([1200, 1230])) {\r\n return \"/back/license_conflict_list\";\r\n }\r\n if (store.getters.hasAllPowers([1200, 1240])) {\r\n return \"/back/3rd_license_conflict_list\";\r\n }\r\n if (store.getters.hasAllPowers([1200, 1250])) {\r\n return \"/back/license_recycle_list\";\r\n }\r\n if (store.getters.hasAllPowers([1200, 1260])) {\r\n return \"/back/packing\";\r\n }\r\n if (store.getters.hasAllPowers([1200, 1270])) {\r\n return \"/back/data_import\";\r\n }\r\n if (store.getters.hasAllPowers([1200, 1280])) {\r\n return \"/back/p2p_code\";\r\n }\r\n if (store.getters.hasAllPowers([1200, 1290])) {\r\n return \"/back/factory_user\";\r\n }\r\n }\r\n },\r\n {path: \"/back/license_list\", component: LicenseList},\r\n {path: \"/back/3rd_license_list\", component: ThirdLicenseList},\r\n {path: \"/back/license_conflict_list\", component: LicenseConflictList},\r\n {path: \"/back/3rd_license_conflict_list\", component: ThirdLicenseConflictList},\r\n {path: \"/back/license_recycle_list\", component: LicenseRecycleList},\r\n {path: \"/back/packing\", redirect: () => \"/back/packing/license_pack\"},\r\n {path: \"/back/packing/:table\", component: Packing},\r\n {path: \"/back/data_import\", component: DataImport},\r\n {path: \"/back/p2p_code\", component: P2PCode},\r\n {path: \"/back/factory_user\", component: FactoryUser},\r\n\r\n /**\r\n * 后台运营页面\r\n */\r\n {\r\n path: \"/back/operation\", name: 'moduleOperation', redirect: () => {\r\n if (store.getters.hasAllPowers([1500, 1510])) {\r\n return \"/back/device_list\";\r\n }\r\n if (store.getters.hasAllPowers([1500, 1520])) {\r\n return \"/back/device_shadow\";\r\n }\r\n if (store.getters.hasAllPowers([1500, 1530])) {\r\n return \"/back/user_list\";\r\n }\r\n if (store.getters.hasAllPowers([1500, 1540])) {\r\n return \"/back/feedback_list\";\r\n }\r\n if (store.getters.hasAllPowers([1500, 1550])) {\r\n return \"/back/device_publish\";\r\n }\r\n if (store.getters.hasAllPowers([1500, 1555])) {\r\n return \"/back/gray_publish/device_gray_publish\";\r\n }\r\n if (store.getters.hasAllPowers([1500, 1555])) {\r\n return \"/back/gray_publish\";\r\n }\r\n if (store.getters.hasAllPowers([1500, 1560])) {\r\n return \"/back/app_publish\";\r\n }\r\n if (store.getters.hasAllPowers([1500, 1570])) {\r\n return \"/back/device_unbind\";\r\n }\r\n if (store.getters.hasAllPowers([1500, 1580])) {\r\n return \"/back/feedback_charts\";\r\n }\r\n if (store.getters.hasAllPowers([1500, 1590])) {\r\n return \"/back/deviceIOT\";\r\n }\r\n if (store.getters.hasAllPowers([1500, 1591])) {\r\n return \"/back/listIOT\";\r\n }\r\n if (store.getters.hasAllPowers([1500, 1595])) {\r\n return \"/back/relayList\";\r\n }\r\n if (store.getters.hasAllPowers([1500, 1566])) {\r\n return \"/back/monitor_list\";\r\n }\r\n }\r\n },\r\n {path: \"/back/device_list\", component: BackDeviceList},\r\n {path: \"/back/visitor_list\", component: VisitorList},\r\n {path: \"/back/device_shadow\", component: BackDeviceShadow},\r\n {path: \"/back/device_detail\", component: BackDeviceDetail},\r\n {path: \"/back/user_list\", component: BackUserList},\r\n {path: \"/back/feedback_list\", component: FeedbackList},\r\n /*{ path: \"/back/device_publish\", component: BackDevicePublish },*/\r\n {path: \"/back/gray_publish\", component: BackGrayPublish},\r\n {path: \"/back/gray_publish\", redirect: () => \"/back/gray_publish/device_gray_publish\"},\r\n {path: \"/back/gray_publish/:table\", component: BackGrayPublish},\r\n {path: \"/back/device_publish\", name: 'deviceOffPub', component: v1_device_off_publish},\r\n\r\n\r\n {path: \"/back/app_publish\", component: BackAppPublish},\r\n {path: \"/back/device_unbind\", component: DeviceUnbind},\r\n {path: \"/back/feedback_charts\", component: FeedbackCharts},\r\n {path: \"/back/deviceIOT\", component: DeviceIOT},\r\n {path: \"/back/relayList\", component: RelayList},\r\n {path: \"/back/monitor_list\", component: MonitorList},\r\n {path: \"/back/listIOT\", component: DeviceIOTList},\r\n\r\n\r\n /**\r\n * 后台监控页面\r\n */\r\n {\r\n path: \"/back/monitor\", redirect: () => {\r\n if (store.getters.hasAllPowers([1600, 1610])) {\r\n return \"/back/dubbo\";\r\n }\r\n if (store.getters.hasAllPowers([1600, 1620])) {\r\n return \"/back/pid\";\r\n }\r\n if (store.getters.hasAllPowers([1600, 1630])) {\r\n return \"/back/business_server\";\r\n }\r\n if (store.getters.hasAllPowers([1600, 1640])) {\r\n return \"/back/p2p_server\";\r\n }\r\n if (store.getters.hasAllPowers([1600, 1650])) {\r\n return \"/back/redis\";\r\n }\r\n if (store.getters.hasAllPowers([1600, 1660])) {\r\n return \"/back/mongo\";\r\n }\r\n\r\n }\r\n },\r\n {path: \"/back/dubbo\", component: Dubbo},\r\n {path: \"/back/pid\", component: ServerPing},\r\n {path: \"/back/business_server\", component: BusinessServer},\r\n {path: \"/back/p2p_server\", component: P2pServer},\r\n {path: \"/back/redis\", component: Redis},\r\n {path: \"/back/mongo\", component: Mongo},\r\n\r\n /**\r\n * 后台云存储页面\r\n */\r\n {\r\n path: \"/back/cloud\", name: 'moduleCloudStorage', redirect: () => {\r\n if (store.getters.hasAllPowers([1300, 1310])) {\r\n return \"/back/order\";\r\n }\r\n if (store.getters.hasAllPowers([1300, 1320])) {\r\n return \"/back/cost\";\r\n }\r\n if (store.getters.hasAllPowers([1300, 1330])) {\r\n return \"/back/activation\";\r\n }\r\n if (store.getters.hasAllPowers([1300, 1340])) {\r\n return \"/back/income\";\r\n }\r\n if (store.getters.hasAllPowers([1300, 1350])) {\r\n return \"/back/package\";\r\n }\r\n if (store.getters.hasAllPowers([1300, 1360])) {\r\n return \"/back/activationOrder\";\r\n }\r\n if (store.getters.hasAllPowers([1300, 1370])) {\r\n return \"/back/oss_charts\";\r\n }\r\n if (store.getters.hasAllPowers([1300, 1390])) {\r\n return \"/back/cloud_refund\";\r\n }\r\n if (store.getters.hasAllPowers([1300, 1380])) {\r\n return \"/back/order_charts\";\r\n }\r\n if (store.getters.hasAllPowers([1300, 1395])) {\r\n return \"/back/cloud_charts\";\r\n }\r\n if (store.getters.hasAllPowers([1300, 1345])) {\r\n return \"/back/cloud_price\";\r\n }\r\n }\r\n },\r\n {path: \"/back/order\", component: Order},\r\n {path: \"/back/cost\", component: Cost},\r\n {path: \"/back/activation\", component: Activation},\r\n {path: \"/back/income\", component: Income},\r\n {path: \"/back/package\", component: Package},\r\n {path: \"/back/activationOrder\", component: ActivationOrder},\r\n {path: \"/back/oss_charts\", component: OssCharts},\r\n {path: \"/back/cloud_refund\", component: CloudRefund},\r\n {path: \"/back/order_charts\", component: OrderCharts},\r\n {path: \"/back/cloud_charts\", component: CloudCharts},\r\n {path: \"/back/cloud_price\", component: CloudPrice},\r\n\r\n\r\n /**\r\n * 后台日志页面\r\n */\r\n {\r\n path: \"/back/log\", name: 'moduleLog', redirect: () => {\r\n if (store.getters.hasAllPowers([1800, 1810])) {\r\n return \"/back/app_crash\";\r\n }\r\n if (store.getters.hasAllPowers([1800, 1820])) {\r\n return \"/back/app_buried_point\";\r\n }\r\n if (store.getters.hasAllPowers([1800, 1830])) {\r\n return \"/back/buried_point_analysis\";\r\n }\r\n if (store.getters.hasAllPowers([1800, 1840])) {\r\n return \"/back/server_log\";\r\n }\r\n if (store.getters.hasAllPowers([1800, 1850])) {\r\n return \"/back/alarm_log\";\r\n }\r\n if (store.getters.hasAllPowers([1800, 1860])) {\r\n return \"/back/device_log\";\r\n }\r\n if (store.getters.hasAllPowers([1800, 1870])) {\r\n return \"/back/servers_log\";\r\n }\r\n }\r\n },\r\n {path: \"/back/app_crash\", component: AppCrash},\r\n {path: \"/back/app_buried_point\", component: AppBuriedPoint},\r\n {path: \"/back/buried_point_analysis\", component: BuriedPointAnalysis},\r\n {path: \"/back/server_log\", redirect: () => \"/back/server_log/pps_user\"},\r\n {path: \"/back/server_log/:db\", component: ServerLog},\r\n\r\n {path: \"/back/alarm_log/:type\", component: AlarmLog},\r\n {path: \"/back/device_log/:type\", component: DeviceLog},\r\n {path: \"/back/servers_log\", component: ServersLog},\r\n\r\n\r\n /**\r\n * 后台扩展页面\r\n */\r\n {\r\n path: \"/back/extend\", name: 'moduleExtend', redirect: () => {\r\n if (store.getters.hasAllPowers([1400, 1410])) {\r\n return \"/back/upload\";\r\n }\r\n if (store.getters.hasAllPowers([1400, 1420])) {\r\n return \"/back/country\";\r\n }\r\n if (store.getters.hasAllPowers([1400, 1430])) {\r\n return \"/back/gray_release\";\r\n }\r\n if (store.getters.hasAllPowers([1400, 1440])) {\r\n return \"/back/icon\";\r\n }\r\n if (store.getters.hasAllPowers([1400, 1450])) {\r\n return \"/back/product_list\";\r\n }\r\n if (store.getters.hasAllPowers([1400, 1460])) {\r\n return \"/back/thingModel\";\r\n }\r\n if (store.getters.hasAllPowers([1400, 1470])) {\r\n return \"/back/feedback_standard_list\";\r\n }\r\n if (store.getters.hasAllPowers([1400, 1480])) {\r\n return \"/back/app_config_url\";\r\n }\r\n if (store.getters.hasAllPowers([1400, 1485])) {\r\n return \"/back/pps_international\";\r\n }\r\n if (store.getters.hasAllPowers([1400, 1490])) {\r\n return \"/back/awox\";\r\n }\r\n if (store.getters.hasAllPowers([1400, 1495])) {\r\n return \"/back/dynamic_picture\";\r\n }\r\n if (store.getters.hasAllPowers([1400, 1425])) {\r\n return \"/back/two_way_config\";\r\n }\r\n }\r\n },\r\n {path: \"/back/upload\", component: Upload},\r\n {path: \"/back/country\", component: Country},\r\n {path: \"/back/gray_release\", component: GrayRelease},\r\n {path: \"/back/icon\", component: Icon},\r\n {path: \"/back/product_list\", component: ProductList},\r\n {path: \"/back/thingModel\", component: ThingModel},\r\n {path: \"/back/feedback_standard_list\", component: FeedbackStandardList},\r\n {path: \"/back/app_config_url\", component: AppConfigUrlChoise},\r\n {path: \"/back/pps_international\", component: PPSInternational},\r\n {path: \"/back/awox\", component: Awox},\r\n {path: \"/back/dynamic_picture\", component: PictureTypeList},\r\n {path: \"/back/dynamic_picture_detail\", component: PictureDetail},\r\n {path: \"/back/two_way_config\", component: TwoWayConfig},\r\n\r\n /**\r\n * 后台测试页面\r\n */\r\n {\r\n path: \"/back/test\", redirect: () => {\r\n if (store.getters.hasAllPowers([1900, 1910])) {\r\n return \"/back/test_device\";\r\n }\r\n if (store.getters.hasAllPowers([1900, 1920])) {\r\n return \"/back/test_app\";\r\n }\r\n if (store.getters.hasAllPowers([1900, 1930])) {\r\n return \"/back/test_p2p\";\r\n }\r\n }\r\n },\r\n {path: \"/back/test_device\", component: TestDevice},\r\n {path: \"/back/test_app\", component: TestApp},\r\n {path: \"/back/test_p2p\", component: TestP2p},\r\n /**\r\n * 后台数据页面\r\n */\r\n {\r\n path: \"/back/stat\", name: 'moduleDataStatistics', redirect: () => {\r\n if (store.getters.hasAllPowers([1700, 1770])) {\r\n return \"/back/data_overview\";\r\n }\r\n if (store.getters.hasAllPowers([1700, 1710])) {\r\n return \"/back/stat_user\";\r\n }\r\n if (store.getters.hasAllPowers([1700, 1720])) {\r\n return \"/back/stat_device\";\r\n }\r\n if (store.getters.hasAllPowers([1700, 1730])) {\r\n return \"/back/deviceIOTCharts\";\r\n }\r\n if (store.getters.hasAllPowers([1700, 1740])) {\r\n return \"/back/requestCount\";\r\n }\r\n if (store.getters.hasAllPowers([1700, 1750])) {\r\n return \"/back/stat_feedback\";\r\n }\r\n if (store.getters.hasAllPowers([1700, 1760])) {\r\n return \"/back/stat_address\";\r\n }\r\n if (store.getters.hasAllPowers([1700, 1780])) {\r\n return \"/back/stat_version\";\r\n }\r\n }\r\n },\r\n {path: \"/back/stat_user\", component: BackStatUser},\r\n {path: \"/back/stat_device\", component: StatDevice},\r\n {path: \"/back/deviceIOTCharts\", component: DeviceIOTCharts},\r\n {path: \"/back/requestCount\", component: RequestCount},\r\n {path: \"/back/stat_address\", component: StatAddress},\r\n {path: \"/back/stat_version\", component: StatVersion},\r\n {path: \"/back/data_overview\", component: DataOverview},\r\n {path: \"/back/stat_feedback\", redirect: () => \"/back/stat_feedback/stat_user_feedback\"},\r\n\r\n {\r\n path: \"/back/stat_feedback/stat_user_feedback\",\r\n component: StatUserFeedback\r\n },\r\n {\r\n path: \"/back/stat_feedback/stat_product_feedback\",\r\n component: StatProductFeedback\r\n },\r\n {\r\n path: \"/back/stat_feedback/stat_app_feedback\",\r\n component: StatAppFeedback\r\n },\r\n /**\r\n * 后台固件页面\r\n */\r\n {\r\n path: \"/back/firmware\", redirect: () => {\r\n if (store.getters.hasAllPowers([10000, 10100])) {\r\n return \"/back/productManage\";\r\n }\r\n if (store.getters.hasAllPowers([10000, 10200])) {\r\n return \"/back/functionManage\";\r\n }\r\n if (store.getters.hasAllPowers([10000, 10300])) {\r\n return \"/back/platformManage\";\r\n }\r\n if (store.getters.hasAllPowers([10000, 10400])) {\r\n return \"/back/projectManage\";\r\n }\r\n if (store.getters.hasAllPowers([10000, 10500])) {\r\n return \"/back/firmwarePublish\";\r\n }\r\n if (store.getters.hasAllPowers([10000, 10600])) {\r\n return \"/back/firmwareCustomization\";\r\n }\r\n if (store.getters.hasAllPowers([10000, 10700])) {\r\n return \"/back/tuyaOemManage\";\r\n }\r\n\r\n }\r\n },\r\n {path: \"/back/productManage\", component: ProductManage, name: \"fw_product_manage\"},\r\n {path: \"/back/boardDetails/:id/:isApproval\", component: BoardDetails, name: \"fw_board_details\"},\r\n\r\n\r\n {path: \"/back/functionManage\", component: FunctionManage, name: \"fw_function_manage\"},\r\n {path: \"/back/platformManage\", component: PlatformManage, name: \"fw_platform_manage\"},\r\n {path: \"/back/projectManage\", component: ProjectManage, name: \"fw_project_manage\"},\r\n {path: \"/back/firmwarePublish\", component: FirmwarePublish, name: \"fw_basic_pack\"},\r\n {path: \"/back/firmwareCustomization\", component: FirmwareCustomization, name: \"fw_custom_pack\"},\r\n {path: \"/back/customPackDetails/:id\", component: CustomPackDetails, name: \"fw_custom_pack_details\"},\r\n\r\n {path: \"/back/tuyaOemManage\", component: TuyaOemManage, name: \"tuya_oem_manage\"},\r\n {path: \"/back/tuyaProductsManage\", component: TuyaProducts, name: \"tuya_produsts_manage\"},\r\n\r\n /**\r\n * 后台tool页面 /back/match\r\n */\r\n {\r\n path: \"/back/match\", redirect: () => {\r\n if (store.getters.hasAllPowers([3000, 3100])) {\r\n return \"/back/pack\";\r\n }\r\n if (store.getters.hasAllPowers([3000, 3200])) {\r\n return \"/back/third_pack\";\r\n }\r\n }\r\n },\r\n {path: \"/back/pack\", component: Pack},\r\n {path: \"/back/third_pack\", component: ThirdPack},\r\n\r\n /**\r\n * 后台服务器拓展页面\r\n */\r\n {\r\n path: \"/back/serverExpansion\", redirect: () => {\r\n if (store.getters.hasAllPowers([12000, 12010])) {\r\n return \"/back/ppsConstant\";\r\n }\r\n if (store.getters.hasAllPowers([12000, 12020])) {\r\n return \"/back/appNotice\";\r\n }\r\n if (store.getters.hasAllPowers([12000, 12030])) {\r\n return \"/back/pps_default_international\";\r\n }\r\n }\r\n },\r\n {path: \"/back/ppsConstant\", component: PPSConstant},\r\n {path: \"/back/appNotice\", component: AppNotice},\r\n {path: \"/back/pps_default_international\", component: PPSDefaultInternational},\r\n\r\n /**\r\n * 后台客服系统页面\r\n */\r\n {\r\n path: \"/back/customerService\", redirect: () => {\r\n if (store.getters.hasAllPowers([13000, 13010])) {\r\n return \"/back/guestComplaint\";\r\n }\r\n if (store.getters.hasAllPowers([13000, 13020])) {\r\n return \"/back/guestWorkOrder\";\r\n }\r\n if (store.getters.hasAllPowers([13000, 13030])) {\r\n return \"/back/guestAnaly\";\r\n }\r\n if (store.getters.hasAllPowers([13000, 13040])) {\r\n return \"/back/guestList\";\r\n }\r\n if (store.getters.hasAllPowers([13000, 13050])) {\r\n return \"/back/common_words\";\r\n }\r\n }\r\n },\r\n {path: \"/back/guestComplaint\", name: 'guestComplaint', component: GuestComplaint},\r\n {path: \"/back/guestWorkOrder\", name: 'guestWorkOrder', component: GuestWorkOrder},\r\n {path: \"/back/guestAnalyse\", name: 'guestAnalyse', component: GuestAnaly},\r\n {path: \"/back/guestList\", name: 'guestList', component: GuestList},\r\n {path: \"/back/common_words\", name: 'common_words', component: CommonWords},\r\n\r\n // 权限 11000\r\n {path: \"/back/zendao\", component: Zendao},\r\n\r\n /**\r\n * 项目设置页面\r\n */\r\n {path: \"/project/setting\", redirect: () => \"/project/member_list\"},\r\n {\r\n path: \"/project/member_list\",\r\n component: MemberList,\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n /**\r\n * 项目产品页面\r\n */\r\n // { path: \"/project/stat\", redirect: () => {\r\n // if (store.getters.hasAllPowers([2100, 2110])) {\r\n // return \"/project/company\";\r\n // }\r\n // if (store.getters.hasAllPowers([2100, 2200])) {\r\n // return \"/project/product\";\r\n // }\r\n // } },\r\n {path: \"/project/company\", component: Company, props: (route) => ({projectId: parseInt(route.query.projectId)})},\r\n {path: \"/project/product\", component: Product, props: (route) => ({projectId: parseInt(route.query.projectId)})},\r\n /**\r\n * 项目数据页面\r\n */\r\n {\r\n path: \"/project/stat\", redirect: () => {\r\n if (store.getters.hasAllPowers([2300, 2310])) {\r\n return \"/project/stat_user\";\r\n }\r\n if (store.getters.hasAllPowers([2300, 2320])) {\r\n return \"/project/stat_device\";\r\n }\r\n }\r\n },\r\n {\r\n path: \"/project/stat_user\",\r\n component: ProjectStatUser,\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n {\r\n path: \"/project/stat_device\",\r\n component: ProjectStatDevice,\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n /**\r\n * 项目app页面\r\n */\r\n // { path: \"/project/app\", component: AppAutoConfig, props: (route) => ({ projectId: parseInt(route.query.projectId) }) },\r\n {path: \"/project/createApp\", component: AppAutoConfig},\r\n {path: \"/project/app\", component: AppConfig},\r\n {\r\n path: \"/project/app_config\", redirect: () => {\r\n if (store.getters.hasAllPowers([2200, 2220])) {\r\n return \"/project/version_config\";\r\n }\r\n if (store.getters.hasAllPowers([2200, 2240])) {\r\n return \"/project/email_config\";\r\n }\r\n if (store.getters.hasAllPowers([2200, 2250])) {\r\n return \"/project/sms_config\";\r\n }\r\n if (store.getters.hasAllPowers([2200, 2260])) {\r\n return \"/project/push_config\";\r\n }\r\n if (store.getters.hasAllPowers([2200, 2270])) {\r\n return \"/project/get_key\";\r\n }\r\n if (store.getters.hasAllPowers([2200, 2280])) {\r\n return \"/project/app_cloud_config\";\r\n }\r\n if (store.getters.hasAllPowers([2200, 2282])) {\r\n return \"/project/upload_translation_file\";\r\n }\r\n\r\n }\r\n },\r\n {\r\n path: \"/project/version_config\",\r\n component: VersionPage,\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n {\r\n path: \"/project/basic_config\",\r\n component: BasicConfig,\r\n props: (route) => ({projectId: parseInt(route.query.projectId), version: route.query.version})\r\n },\r\n {\r\n path: \"/project/page_config\",\r\n component: PageConfig,\r\n props: (route) => ({projectId: parseInt(route.query.projectId), version: route.query.version})\r\n },\r\n {\r\n path: \"/project/function_config\",\r\n component: FunctionConfig,\r\n props: (route) => ({projectId: parseInt(route.query.projectId), version: route.query.version})\r\n },\r\n {\r\n path: \"/project/build_config\",\r\n component: BuildConfig,\r\n props: (route) => ({projectId: parseInt(route.query.projectId), version: route.query.version})\r\n },\r\n {\r\n path: \"/project/shelf_config\",\r\n component: ShelfConfig,\r\n props: (route) => ({projectId: parseInt(route.query.projectId), version: route.query.version})\r\n },\r\n {\r\n path: \"/project/email_config\",\r\n component: CodeEmailConfig,\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n {\r\n path: \"/project/sms_config\",\r\n component: CodeSmsConfig,\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n {\r\n path: \"/project/push_config\",\r\n component: PushConfig,\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n {\r\n path: \"/project/get_key\",\r\n component: GetKey,\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n {\r\n path: \"/project/app_cloud_config\",\r\n component: AppCloudConfig,\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n {\r\n path: \"/project/upload_translation_file\",\r\n component: UploadTranslationFile,\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n\r\n /**\r\n * 项目运营页面\r\n */\r\n {\r\n path: \"/project/operation\", redirect: () => {\r\n if (store.getters.hasAllPowers([2400, 2410])) {\r\n return \"/project/device_list\";\r\n }\r\n if (store.getters.hasAllPowers([2400, 2420])) {\r\n return \"/project/user_list\";\r\n }\r\n if (store.getters.hasAllPowers([2400, 2430])) {\r\n return \"/project/operation_feedback\";\r\n }\r\n if (store.getters.hasAllPowers([2400, 2440])) {\r\n return \"/project/device_publish\";\r\n }\r\n if (store.getters.hasAllPowers([2400, 2450])) {\r\n return \"/project/app_publish\";\r\n }\r\n }\r\n },\r\n {\r\n path: \"/project/device_list\",\r\n component: DeviceList,\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n {path: \"/project/user_list\", component: UserList, props: (route) => ({projectId: parseInt(route.query.projectId)})},\r\n {\r\n path: \"/project/device_publish\",\r\n component: DevicePublish,\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n {\r\n path: \"/project/app_publish\",\r\n component: AppPublish,\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n {\r\n path: \"/project/operation_feedback\",\r\n component: OperationFeedback,\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n\r\n /**\r\n * 项目云存储页面\r\n */\r\n {\r\n path: \"/project/cloud\", redirect: () => {\r\n if (store.getters.hasAllPowers([2600, 2601])) {\r\n return \"/project/cloud_order_list\";\r\n }\r\n }\r\n },\r\n {\r\n path: \"/project/cloud_order_list\", component: () => import('@/views/project/cloud/OrderList.vue'),\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n {\r\n path: \"/project/guest\", redirect: () => {\r\n if (store.getters.hasAllPowers([2700, 2710])) {\r\n return \"/project/project_guest_list\";\r\n }\r\n if (store.getters.hasAllPowers([2700, 2720])) {\r\n return \"/project/project_common_words\";\r\n }\r\n if (store.getters.hasAllPowers([2700, 2730])) {\r\n return \"/project/project_feedback_list\";\r\n }\r\n }\r\n },\r\n {\r\n path: \"/project/project_guest_list\", component: () => import('@/views/project/guest/GuestList.vue'),\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n {\r\n path: \"/project/project_common_words\", component: () => import('@/views/project/guest/CommonWords.vue'),\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n {\r\n path: \"/project/project_feedback_list\", component: () => import('@/views/project/guest/GuestComplaint.vue'),\r\n props: (route) => ({projectId: parseInt(route.query.projectId)})\r\n },\r\n];\r\n\r\n","import enLocale from \"element-ui/lib/locale/lang/en\";\nimport cnLocale from \"element-ui/lib/locale/lang/zh-CN\";\n\nexport default {\n cn: {\n hello: \"你好,世界\",\n systemTitle: \"产品管理系统\",\n serverZone: \"服务器位置\",\n myProject: \"我的项目\",\n platform: \"智能生活开放平台\",\n hz: \"杭州\",\n us: \"美国\",\n eu: \"欧洲\",\n arenti_hz: \"Arenti 杭州\",\n arenti_us: \"Arenti 美国\",\n arenti_eu: \"Arenti 欧洲\",\n sg: '新加坡',\n dev: \"dev\",\n localhost: \"localhost\",\n hz_pre: '预发-杭州',\n fail: \"请求失败\",\n identifyError: \"验证码错误\",\n forgetPassword: \"忘记密码?\",\n readAgree: '阅读并同意',\n legalNotices: '《法律声明》',\n privacyPolicy: '《隐私政策》',\n agreeTip: '请勾选同意协议',\n verifySuccess: '验证通过!',\n verifyFail: '验证失败,请重试!',\n verifySlider: '拖动滑块完成拼图',\n language: \"语言\",\n cn: \"中文\",\n en: \"English\",\n admin: \"后台管理员\",\n login: \"登录\",\n returnLogin: \"返回登录\",\n logout: \"退出\",\n signup: \"注册\",\n username: \"登录名\",\n password: \"密码\",\n please_username: \"请输入登录名\",\n please_password: \"请输入密码\",\n please_verify: \"邮箱验证码不能为空\",\n please_passwordConfirm: \"两次密码输入不一致\",\n notValidEmail: \"不是有效的邮箱\",\n verify: \"验证码\",\n Repass: \"确认密码\",\n getVerify: \"获取验证码\",\n goBackToLogin: \"返回登录页面\",\n submit: \"提交\",\n edit: '编辑',\n delete: '删除',\n updatePasswordFail: \"修改密码失败\",\n verifyCodeWrong: \"验证码错误\",\n err_login: \"未通过认证\",\n index: \"主页\",\n back: \"后台\",\n backConsole: \"后台控制台\",\n productInfoManage: \"产品管理\",\n startConfiguration: \"开始配置\",\n cooperativeProjectMessageManage: \"合作项目信息管理\",\n oemCompanyMessageManage: \"OEM厂商信息管理\",\n tpMessageManage: \"TP值信息管理\",\n manageProductInfo: \"管理产品\",\n appWorkbench: \"App工作台\",\n enterCustomer: '进入客服',\n queryDocs: \"查看文档\",\n helpDocs: \"帮助文档\",\n helpDocTips: \"通过帮助文档快速了解如何使用该网站来查询所需信息或者进行相关操作\",\n announcement: \"公告\",\n newDynamic: '最新动态',\n problemFeedback: \"问题反馈\",\n manageDocs: \"管理文档\",\n enterBack: \"进入后台\",\n enterData: '进入数据中心',\n goBack: \"返回\",\n project: \"项目\",\n product: \"产品\",\n user: \"用户\",\n company: \"产品\",\n app: \"APP\",\n operation: \"运营\",\n serverExpansion: \"服务器拓展\",\n ppsConstant: \"PPS常量表\",\n ppsConstants: {\n explain: '说明',\n addPpsConstant: '添加PPS常量'\n },\n appNotice: 'App公告',\n appNotices: {\n add: '添加',\n publish: '发布',\n delete: '删除',\n update: '修改',\n addAppNotice: '添加APP公告',\n beginTime: '开始日期',\n endTime: '结束日期',\n contentEn: '英语',\n contentPl: '波兰语',\n contentEs: '西班牙语',\n contentDe: '德语',\n contentFr: '法语',\n contentJa: '日语',\n contentKo: '韩语',\n contentNl: '荷兰语',\n contentPt: '葡萄牙语',\n contentZh: '中文',\n contentPtBr: '葡萄牙语-巴西',\n contentZhTw: '中文-台湾',\n contentIt: '意大利语',\n contentRu: '俄语',\n contentBr: '巴西语',\n },\n pps_international: 'PPS国际化',\n pps_default_international: 'PPS默认国际化',\n ppsInternationals: {\n addPpsInternational: '添加PPS国际化',\n addPpsDefaultInternational: '添加PPS默认国际化',\n name: '名称',\n lngType: '语言类型',\n content: '内容',\n contentSelect: '内容选择',\n deviceName: '设备名称',\n userAccount: '用户账号',\n verifyCode: '验证码',\n nickName: '昵称',\n batteryCapacity: '电池电量'\n },\n modules: {\n default: '默认',\n back: '后台',\n project: '项目',\n cscs: '客服',\n },\n customerService: '客服系统',\n guestComplaint: '邮件客诉',\n guestWorkOrder: '客服工单',\n guestAnalyse: '客服分析',\n guestList: '客服列表',\n common_words: '常用语',\n guests: {\n customerId: '客服ID',\n status: '状态',\n roleSetting: '权限设置',\n dateCreated: '创建日期',\n addCustomer: '添加客服',\n updateStatus: '修改状态',\n edit: '编辑',\n delete: '删除',\n account: '账号',\n password: '密码',\n confirmPassword: '确认密码',\n },\n commonWords: {\n addWords: '添加常用语',\n updateWords: '更新常用语',\n appLngType: 'App语言',\n createTime: '创建时间',\n word: '常用语',\n option: '操作',\n },\n importFileDescription: '导入文件说明',\n sureSubmit: '确认提交?',\n sureRollbackHistory: '确认回滚该历史版本?',\n hint: '提示',\n cancelSubmit: '取消提交',\n setting: \"设置\",\n member: \"成员\",\n member_list: \"成员列表\",\n stat: \"数据\",\n account: \"账号\",\n account_list: \"账号列表\",\n project_list: \"项目列表\",\n permission_group: \"角色列表\",\n account_group: \"部门列表\",\n back_permission: \"后台权限 | back permission\",\n project_permission: \"项目权限 | project permission\",\n license: \"生产\",\n license_list: \"license列表\",\n \"3rd_license_list\": \"3rd-license列表\",\n license_conflict_list: \"license冲突记录\",\n \"3rd_license_conflict_list\": \"3rd-license冲突记录\",\n license_recycle_list: \"license回收记录\",\n packing: \"装箱\",\n data_import: \"数据导入\",\n p2p_code: \"p2p号管控\",\n factory_user: \"加密工具用户\",\n feedback_list: \"用户反馈\",\n device_shadow: \"设备影子\",\n device_detail: \"设备详情\",\n device_unbind: \"设备解绑\",\n unbindSuccess: \"解绑成功\",\n unbindFail: \"解绑失败\",\n syncSuccess: \"同步成功\",\n syncFail: \"同步失败\",\n cloud: \"云存储\",\n order: \"订单管理\",\n cost: \"成本分析\",\n activation: \"激活码\",\n income: \"收入统计\",\n package: \"套餐管控\",\n activationOrder: \"激活码订单\",\n oss_charts: \"地区分布\",\n cloud_refund: \"云存储退款\",\n cloud_charts: \"云存储统计\",\n cloud_price: '云存储定价',\n cloudPrices: {\n updateCloudPrice: '修改云存储定价',\n cloudPrice: '云存储价格',\n cloudPriceId: '云存储价格Id',\n currency: '货币类型'\n },\n refund: \"退款\", order_charts: \"订单统计\",\n feedback_charts: \"用户反馈统计\",\n extend: \"扩展\",\n deviceIOT: \"设备IOT\",\n listIOT: \"自研IOT配置\",\n iotConfigs: {\n singleRestart: '单个重启',\n batchRestart: '同批重启'\n },\n restartSuccess: '重启成功',\n restartError: '重启失败',\n file: '文件',\n uploadCSV: '上传文件必须是csv文件',\n relayList: \"中继列表\",\n monitor_list: '显示器发布',\n upload: \"上传文件\",\n uploadImage: '上传图片',\n imageLink: '图片链接',\n uploadNotNull: '上传文件不能为空',\n country: \"国家管理\",\n gray_release: \"灰度发布\",\n icon: \"图标管理\",\n thingModel: \"物模型\",\n product_list: \"产品列表\",\n feedback_standard_list: \"反馈标准列表\",\n app_config_url: \"App推送url配置\",\n awox: 'AWOX',\n dynamic_picture: '产品动态图',\n productList: {\n productID: '产品ID',\n productType: '产品种类',\n kindDeviceType: '设备型号',\n bulkUpload: '批量上传',\n number: '序号',\n url: '图片链接',\n type: '类型',\n kindDeviceIcon: '图标',\n powerOnImage: '电源开关引导图',\n resetImage: '复位引导图',\n scanQrcodeImage: '配网引导图',\n resetApImage: 'ap复位引导图',\n wakeUpImage: '唤醒引导图',\n placeholderImage: '产品简图',\n ledFlashQuickImage: 'led灯快闪图',\n ledFlashSlowImage: 'led灯慢闪图',\n blueFlashImage: '亮灯图'\n },\n count: '数量',\n two_way_config: '双向配置',\n iconName: '图标名称',\n monitor: \"监控\",\n dubbo: \"Dubbo\",\n pid: \"进程监控\",\n business_server: \"业务服务器\",\n deviceIOTCharts: \"IOT设备在线统计\",\n requestCount: \"请求数量统计\",\n p2p_server: \"p2p服务器\",\n redis: \"Redis\",\n mongo: \"Mongo\",\n log: \"日志\",\n app_crash: \"APP崩溃\",\n app_buried_point: \"APP埋点\",\n buried_point_analysis: \"埋点分析\",\n server_log: \"Server日志\",\n servers_log: \"服务器日志\",\n pps_user: \"用户模块\",\n pps_all: \"设备模块\",\n pps_alarm_producer: '报警模块',\n pps_cloud: \"云存储模块\",\n pps_order: \"订单模块\",\n pps_message: \"消息模块\",\n pps_push: \"推送模块\",\n pps_push_token: \"用户推送Token\",\n pps_email: \"邮件\",\n nginx_request_events: \"事件模块\",\n nginx_request: \"nginx模块\",\n log_statistic: \"日志统计模块\",\n factory: \"工厂模块\",\n alarm_log: \"报警推送日志\",\n alarm: \"报警\",\n alarm_push: \"报警推送\",\n alarm_oss: \"报警OSS\",\n device_log: \"设备报警日志\",\n device_active: \"设备启动日志\",\n device_add: \"设备添加日志\",\n test: \"测试\",\n test_device: \"设备测试\",\n test_app: \"APP测试\",\n test_p2p: \"P2P校验\",\n data_overview: '数据概况',\n stat_user: \"用户统计\",\n stat_device: \"设备统计\",\n stat_address: '地区分布',\n stat_version: '版本统计',\n noData: '暂无数据',\n stat_feedback: \"用户反馈统计\",\n stat_user_feedback: \"反馈概况\",\n stat_product_feedback: \"产品类反馈\",\n stat_app_feedback: \"APP类反馈\",\n device_list: \"设备列表\",\n visitor: '分享者信息',\n user_list: \"用户列表\",\n operation_feedback: \"用户反馈\",\n creatingSubject: \"创建项目\",\n creatingProduct: \"开发产品\",\n creatingApp: \"开发App\",\n batchProducing: \"批量生产\",\n introduction: \"新手引导\",\n getFail: \"获取数据失败\",\n findSuccess: \"查询成功\",\n findFail: \"查无此数据\",\n detail: '详情',\n add: '添加',\n save: '保存',\n saveFail: '保存失败',\n saveSuccess: '保存成功',\n rollbackSuccess: '回滚成功',\n rollbackFail: '回滚失败',\n uploadSuccess: '上传成功',\n uploadFail: '上传失败',\n downloadSuccess: '下载成功',\n downloadFail: '下载失败',\n exportSuccess: '导出成功',\n exportFail: '导出失败',\n deleteSuccess: '删除成功',\n deleteFail: '删除失败',\n publishSuccess: '发布成功',\n publishFail: '发布失败',\n success: '成功',\n paramIsNull: '存在参数为空',\n formValidateMessage: ' 不能为空',\n notMatch: ' 输入不匹配',\n deleteSure: '是否确定删除?',\n notAuth: '无权限',\n confirmButton: '确定',\n orderNum: \"订单号\",\n deviceID: \"设备ID号\",\n mealType: \"套餐单位\",\n storageTime: \"云存储时间类型\",\n payMoney: \"支付金额\",\n orderStatus: \"订单状态\",\n createDate: '创建日期',\n payDate: \"支付日期\",\n userID: \"用户ID\",\n dealSign: \"是否处理\",\n sureUpdate: '是否确定更新?',\n sureLogout: '修改未保存,是否确认退出?',\n payType: \"支付方式\",\n storageType: \"云存储类型\",\n serverTime: \"套餐数量\",\n productName: '项目名称',\n fileSizeExcced: '文件大小超过',\n reset: '重置',\n confirm: '确认',\n cancel: '取消',\n numberMessage: '必须是数字',\n userAccount: '用户账号',\n download: '下载',\n firmware: \"固件\",\n productManage: \"硬件板子\",\n addProduct: \"添加产品\",\n functionManage: \"功能点管理\",\n addFunction: \"添加功能点\",\n platformManage: \"产品平台\",\n addPlatform: \"添加平台\",\n projectManage: \"工程管理\",\n addProject: \"创建工程\",\n firmwarePublish: \"基础固件\",\n firmwareCustomization: \"固件定制\",\n tuyaOemManage: \"涂鸦OEM管理\",\n addTuyaOem: \"OEM信息录入\",\n match: \"查询\",\n pack: \"license查询\",\n third_pack: \"3rd-license查询\",\n sendSuccess: \"发送成功\",\n sendFail: \"发送失败\",\n exportDataNull: '导出的数据不存在',\n browserNotSupport: '该浏览器暂不支持预览图片,请使用谷歌浏览器',\n factoryList: {\n sn: \"SN\",\n packingId: \"箱号\",\n workSheet: \"工单号\",\n downloadExcel: \"导出装箱信息\",\n deleteLicensePackInfo: \"删除装箱信息(中性)\",\n batchFindLicenseIsSuccess: \"批量查询装箱信息(中性)\",\n batchFindLicenseIsValidate: \"批量查询上电验证信息(中性)\",\n deleteThirdLicensePackInfo: \"删除装箱信息(涂鸦)\",\n batchFindThirdLicenseIsSuccess: \"批量查询装箱信息(涂鸦)\",\n batchFindThirdLicenseIsValidate: \"批量查询上电验证信息(涂鸦)\",\n batchDeleteIsValidate: \"批量删除上电验证信息\"\n },\n visitorList: {\n name: '名称',\n },\n activationList: {\n code: \"激活码\",\n order: \"订单号\",\n generateOrder: \"生成订单\",\n downloadOrder: \"下载激活码\",\n type: \"类型\",\n state: \"状态\",\n sourceApp: \"经销商\",\n count: \"数量\",\n price: \"单价\",\n currency: \"币种\",\n generate: \"生成\",\n getOrderInfoError: \"获取订单信息失败\",\n getActivationTypeError: \"获取订单类型失败\",\n cloudReplace: \"云存储转移\",\n activationCodeOpen: \"激活码开通\",\n oldSn: \"旧的SN\",\n newSn: \"新的SN\",\n sn: \"SN\",\n exportOrders: '导出订单',\n year: '年份',\n oemId: 'oemId',\n export: '立即导出',\n crossAccountTransfer: '跨账号转移',\n oldAccount: '旧账号',\n newAccount: '新账号',\n oldSourceApp: '旧SourceApp',\n newSourceApp: '新SourceApp',\n transfer: '立即转移'\n },\n activationOrderList: {\n id: \"ID\",\n source_app: \"经销商\",\n count: \"数量\",\n type: \"类型\",\n price: \"单价\",\n total_price: \"总价\",\n currency: \"币种\",\n },\n packageList: {\n addPackage: '添加激活码套餐',\n 0: '事件存储',\n 1: '连续存储',\n Y: '年',\n M: '月',\n day: '天',\n activation: '套餐号',\n storageTime: '云存储时间类型',\n mealType: '套餐单位',\n storageType: '云存储类型',\n serverTime: '套餐数量',\n },\n awoxList: {\n awoxP2p: 'AWOX P2P详情',\n addDevice: '新增设备',\n licenseBatchExport: 'License批量导入',\n getDetail: '获取详情',\n p2pType: 'p2p类型',\n model: '型号',\n mac: 'MAC',\n sn: 'SN',\n secretKey: 'Secret Key',\n p2pDataDetail: 'p2p数据详情',\n cameraDataDetail: 'camera数据详情',\n type: '类型',\n used: '已用',\n remain: '剩余',\n number: '数量',\n licenseIdMode: 'licenseId长度为20且以pp开头',\n exportExcel: \"上传文件必须是Excel文件,且以.xlsx结尾\",\n tip1: '只支持 xlsx 格式的Excel文件,大小不超过10M,默认读取第一个Sheet',\n tip2: '工作簿表头为SN,License,Secret,LAN-MAC,p2pLicense,CustomSN',\n tip3: 'SN License Secret LAN-MAC 这4列必须有值',\n },\n dynamicPicture: {},\n appPublish: {\n fileExist: '文件已存在',\n push: '推送',\n pushTitle: '推送确认',\n pushConfirm: '你确定要将此固件升级推送给所有用户吗?固件版本是',\n pushSuccess: '推送消息成功',\n pushError: '推送消息失败',\n deviceUrl: '设备Url',\n versionId: '版本ID',\n versionName: '版本名称',\n versionType: '应用名称',\n versionCode: '版本号',\n createDates: '更新时间',\n createDate: '更新时间',\n deviceVersionId: '设备版本号',\n upgradeFlag: '是否强制升级',\n updateBy: '操作员',\n action: '操作',\n delete: '删除',\n update: '修改',\n view: '查看',\n download: '下载',\n detail: '详情',\n firmID: 'OEM id号',\n create: '立即创建',\n reset: '重置',\n selectFile: '选取文件',\n en: '英语',\n zh: '汉语',\n de: '德语',\n fr: '法语',\n pl: '波兰',\n es: '西班牙语',\n ja: '日语',\n ko: '韩语',\n publishApp: 'APP发布',\n deleteHistory: '删除版本',\n updateHistory: '修改版本信息',\n deleteConfirm: '是否确定要删除',\n file: '安装包',\n versionUrl: '安装包url',\n goback: '返回',\n isUpgradeFlag: '是',\n noUpgradeFlag: '否',\n uploadProgress: '上传进度',\n uploadFail: '上传失败',\n uploadFileNameError: '上传文件名格式错误',\n devVersionIdRepeat: '设备版本号重复或网络错误',\n updateUploadTip: '上传文件名必须以设备版本号开头',\n devVersionIDTip: '设备版本号必须以设备类型开头',\n uploadFile: '上传文件',\n formValidateMessage: '有数据为空',\n formValide: '不能为空',\n waitForUploadSucceed: '请等待上传完成'\n },\n devicePublish: {\n fileExist: '文件已存在',\n push: '推送',\n pushTitle: '推送确认',\n pushConfirm: '你确定要将此固件升级推送给所有用户吗?固件版本是',\n pushSuccess: '推送消息成功',\n pushError: '推送消息失败',\n deviceUrl: '设备Url',\n deviceType: '设备类型',\n createDates: '更新时间',\n createDate: '更新时间',\n deviceVersionId: '版本号',\n officialPub: \"正式发布\",\n licenseGrayPub: \"License灰度发布\",\n tpGrayPub: \"TP灰度发布\",\n record: \"记录\",\n updatePersion: '是否强制升级',\n updateBy: '操作员',\n action: '操作',\n delete: '删除',\n update: '修改',\n view: '查看',\n download: '下载',\n detail: '详情',\n firmID: 'OEM id号',\n create: '立即创建',\n reset: '重置',\n selectFile: '选取文件',\n en: '英语',\n zh: '汉语',\n de: '德语',\n fr: '法语',\n pl: '波兰',\n es: '西班牙语',\n ja: '日语',\n ko: '韩语',\n publishDevice: '固件发布',\n deleteHistory: '删除版本',\n updateHistory: '修改版本信息',\n deleteConfirm: '是否确定要删除',\n cancelDelete: '取消删除',\n file: '安装包',\n versionUrl: '安装包url',\n goback: '返回',\n isUpgradeFlag: '是',\n noUpgradeFlag: '否',\n uploadProgress: '上传进度',\n uploadFail: '上传失败',\n uploadFileNameError: '上传文件名格式错误',\n devVersionIdRepeat: '设备版本号重复或网络错误',\n updateUploadTip: '上传文件名必须以设备版本号开头',\n devVersionIDTip: '设备版本号必须以设备类型开头',\n uploadFile: '上传文件',\n formValidateMessage: '设备版本号不能为空',\n waitForUploadSucceed: '请等待上传完成',\n publishRegion: '发布区域',\n cn: '中国',\n us: '美洲',\n eu: '欧洲',\n cn_value: 'cn',\n us_value: 'us',\n eu_value: 'eu',\n formLicenseIDValidateMessage: 'License ID 不能为空',\n formVersionIDValidateMessage: '目标版本号不能为空',\n formTpValidateMessage: 'Tp 不能为空',\n formBatchIDValidateMessage: '批次号不能为空',\n clickUploadTip: '将文件拖到此处,或点击上传',\n uploadTip: '上传 -upgrade.bin 结尾的固件包',\n addTips: '新增提示语',\n selectTip: '选择提示语言'\n },\n deviceGrayPublish: {\n licenseID: 'License ID',\n tp: 'Tp',\n versionID: '目标版本号',\n isForceUpdate: '是否强升',\n singleRelease: '单个配置',\n batchRelease: '批量配置',\n batchRemove: '批量移除',\n sameBatchRemove: '同批移除',\n batchId: '批次号',\n firmwareUpload: '固件上传',\n firmwareName: '固件名字',\n firmwareSize: '固件大小',\n firmwareUrl: '固件URL',\n uploadDate: '上传日期',\n uploadTipLicense: '上传文件必须是excel文件,内容格式为license号',\n uploadTipTp: '上传文件必须是excel文件,内容格式为tp号',\n uploadTipLicenseR: '上传文件必须是excel文件,内容格式为license号',\n uploadTipTpR: '上传文件必须是excel文件,内容格式为tp号',\n uploadTipFirmware: '上传文件必须是固件,以.bin结尾',\n clickUpload: '点击上传',\n isUpgradeFlag: '是',\n noUpgradeFlag: '否',\n uploadPrecondition: '版本号与是否强升不能为空',\n submit: '提交',\n count: '数量',\n ratioConfig: '比率配置',\n progressQuery: '发布进度查询',\n total: '配置总量',\n ratio: '配置比率',\n number: '配置数量',\n getTotal: '获取总量',\n selectVersionID: '请先选择版本号',\n rateTips: '配置数量不能为0',\n rateWain: '当前比率超过80%,且总量大于10000,只能进行全量发布,是否前往全量发布?'\n },\n userList: {\n userID: '用户ID',\n nickName: '昵称',\n userAccount: '用户账号',\n soundFlag: '声音开关',\n imageUrl: '图像路径',\n lngType: 'app语言',\n tyPassword: '涂鸦密码',\n sourceApp: '合作伙伴ID',\n openID: '开启ID',\n deviceSecret: '设备秘钥',\n deviceSecretDesk: '设备秘钥服务',\n countryCode: '国家代号',\n phoneCode: '手机号',\n timeFlag: '新老用户标志',\n updateDate: '更新时间',\n createDate: '创建时间',\n },\n deviceList: {\n deviceId: \"设备ID号\",\n licenseId: \"设备SN号\",\n firmId: \"OEM ID号\",\n userId: \"用户ID\",\n p2pId: \"P2P ID号\",\n p2pType: \"P2P类型\",\n deviceTypeId: \"设备类型号\",\n deviceIcon: \"设备图标\",\n deviceVersionId: \"设备版本\",\n relayLicenseId: \"中继SN\",\n\n\n snNum: '设备SN号',\n deviceName: '设备名称',\n deviceID: '设备ID号',\n userID: '用户ID',\n firmID: 'OEM ID号',\n devTypeID: '设备类型号',\n deviceVersionID: '设备版本',\n tp: 'TP值',\n deviceUUID: '设备uuid号',\n userFlag: '设备是否生效',\n timeZone: '时区',\n hostKey: '设备密钥',\n isBindingTY: '是否绑定涂鸦',\n devUid: '涂鸦uid',\n nvrID: 'nvrID',\n nvrPort: 'nvr端口号',\n trialCloud: '云存储试用状态',\n deviceTypeName: '设备类型名称url',\n deviceImg: '设备图像',\n deviceP2P: '设备P2P方式',\n brainPower: '是否智能设备',\n closePush: '关闭推送',\n protocolVersion: '设备发行版本',\n longitude: '经度',\n latitude: '纬度',\n radius: '半径',\n sleep: '睡眠',\n bellVoice: '门铃',\n region: '区域',\n dayLight: '夏令时',\n deviceSecret: '设备密匙',\n wifyName: 'Wify名称',\n capability: '能力集',\n createDate: '创建时间',\n cancelDate: '取消时间',\n shareAccessSign: '分享权限',\n isCancel: '是否取消分享',\n close: '关闭',\n open: '开启',\n viewOnly: '仅可查看',\n controllable: '可控制',\n },\n deviceShadow: {\n device: '设备',\n allTp: '全部TP值',\n totalDevice: '设备总数',\n activateDevice: '激活设备',\n currentlyOnline: '当前在线',\n deviceId: '设备ID',\n deviceName: '设备名称',\n snNum: 'License号',\n tp: 'TP',\n nodeStatus: '节点类型',\n status: '状态',\n lastOnlineTime: '最后上线时间',\n operate: '操作',\n check: '查看',\n },\n deviceDetail: {\n show: '查看',\n hide: '隐藏',\n copy: '复制',\n edit: '编辑',\n online: '在线',\n offline: '离线',\n deviceInformation: '设备信息',\n topicList: 'Topic列表',\n subscribedTopicList: '已订阅Topic列表',\n physicalModelData: '物模型数据',\n deviceExtensionInformation: '设备扩展信息',\n tagInformation: '标签信息',\n deviceTag: '设备标签',\n deviceTopic: '设备的Topic',\n postMessage: '发布信息',\n viewData: '查看数据',\n dpKey: '标识符',\n dpText: '功能名称',\n content: '最终值',\n dpDefinition: '数据定义',\n dpType: '数据类型',\n },\n monitorPublish: {\n devicePublish: '固件发布',\n licenseGrayPub: 'license灰度发布',\n firmwareList: '固件列表',\n tpGrayPub: 'tp灰度发布',\n deviceUpload: '固件上传',\n oemId: 'Oem ID',\n oemIdNotNull: 'oemId不能为空',\n allPublish: '全量发布',\n },\n deviceUnbind: {\n snNumConfirm: '确认SN',\n snNum: 'SN',\n HK: '香港',\n HZ: '正式',\n title: '解绑设备'\n },\n feedbackInfo: {\n userID: '用户ID',\n account: '用户账号',\n addProblemType: \"添加问题类型\",\n problemTypeIsNull: \"问题类型为空\",\n problemType: \"问题类型\",\n content: '反馈内容',\n contentTranfer: '反馈内容',\n mailForward: '邮件转发',\n dealPerson: '处理人员',\n remark: '备注',\n updateTime: '结束时间',\n isDealed: '是否解决',\n department: '责任部门',\n status: '处理结果',\n untreated: '未处理',\n treated: '已处理',\n editTitle: '用户反馈处理',\n createTime: '创建时间',\n userFeedbackID: '反馈编号',\n action: '操作',\n addUserFeedback: '新增客户反馈信息',\n updateUserFeedback: '修改客户反馈信息',\n deleteUserFeedback: '删除客户反馈信息',\n deleteConfirm: '是否确定要删除',\n update: '修改',\n delete: '删除',\n detail: '详情',\n formValidateMessage: ' 不能为空',\n formChar: '最多一个字符',\n lengthMessage: '长度不能超过',\n validateNumber: '请输入数字',\n feedback_trends: \"反馈趋势\",\n feedback_data: \"反馈数据\",\n immediate_deal: \"立即处理\",\n device_version: \"\",\n last_week: \"最近一周\",\n last_month: \"最近一个月\",\n last_three_month: \"最近三个月\",\n cumulative_feedback_total: \"累计用户反馈数\",\n processed_feedback_total: \"待处理反馈数\",\n today_feedback_total: \"今日用户反馈数\",\n cumulative_product_feedback_total: \"累计产品类反馈数\",\n product_processed_feedback_total: \"产品类待处理反馈数\",\n today_product_feedback_total: \"今日产品类用户反馈数\",\n cumulative_app_feedback_total: \"累计App类反馈数\",\n app_processed_feedback_total: \"累计App类反馈数\",\n today_app_feedback_total: \"今日App类用户反馈数\",\n yesterday: \"昨日\",\n all_feedback: \"全部反馈\",\n undeal_feedback: \"未处理\",\n dealed_feedback: \"已处理\",\n sourceApp: \"客户\",\n version: \"设备版本\",\n deviceType: \"设备类型\",\n one_week: \"近7日\",\n two_week: \"近14日\",\n one_month: \"近30日\",\n },\n incomeInfo: {\n title: '云存储',\n year: '年份',\n month: '月份',\n selectYear: '选择年份',\n selectMonth: '选择月份'\n },\n statUser: {\n title: '活跃用户',\n year: '年份',\n month: '月份',\n selectYear: '选择年份',\n selectMonth: '选择月份'\n },\n appStatisticLog: {\n userID: '用户ID',\n searchTime: '日期',\n connectResult: '添加结果',\n connectTime: '配网时长',\n connectCount: '配网次数',\n data: 'ssid&pwd ',\n log: '日志',\n logDetail: '查看日志',\n fail: '失败',\n success: '成功'\n },\n appLog: {\n logDetail: \"详情\",\n to: \"To\",\n startDataPlaceholder: \"开始时间\",\n endDataPlaceholder: \"结束时间\",\n time: '时间',\n info: '信息',\n log: '日志',\n beginTime: '开始日期',\n endTime: '结束日期',\n userID: '用户ID',\n eventId: '页面路径',\n url: 'url',\n resultCode: 'resultCode',\n sn: 'sn',\n eventId1: '模块',\n eventId2: '页面',\n eventId3: '操作',\n event01: '登陆注册',\n event0101: '用户登录',\n event010101: '进入登录页面',\n event010102: '用户登录',\n event0102: '用户注册',\n event010201: '注册页面进入',\n event010202: '发送注册验证码',\n event010203: '用户注册',\n event0103: '用户登出',\n event010301: '用户登出',\n event02: '添加设备',\n event0201: '选择设备类别',\n event020101: '进入',\n event020102: '选择设备类型',\n event0202: '添加摄像机(接通电源)',\n event020201: '进入',\n event020202: '查看安装视频',\n event0203: '添加摄像机(复位)',\n event020301: '进入',\n event0204: '无线链接',\n event020401: '进入',\n event020402: '下一步',\n event020403: '无法获取wifi信息',\n event0205: '操作示意',\n event020501: '进入',\n event0206: '扫描二维码',\n event020601: '进入',\n event020602: '没有听到提示音',\n event020603: '网络请求二维码Token',\n event020604: '启动smartWifi',\n event0207: '链接网络(搜索添加)',\n event020701: '进入',\n event020702: '搜索到设备',\n event020703: '添加',\n event0208: '添加(搜索添加)',\n event020801: '进入',\n event020802: '搜索到设备',\n event020803: '添加',\n event020804: 'MQTT添加返回',\n event0209: '手动配置网络',\n event020901: '进入',\n event020902: '点击查看帮助',\n event0210: '查看帮助',\n event021001: '进入',\n event021002: '点击仍未解决',\n event021003: '点击尝试其他配网',\n event03: '设备中心',\n event0301: '设备列表',\n event030101: '进入',\n event0302: '预览',\n event030201: '进入',\n event0303: '本地回放',\n event030301: '进入',\n event0304: '云回放',\n event030401: '进入',\n event04: '消息中心',\n event05: '设备分享',\n event0501: '设备分享列表页面',\n event050101: '进入',\n event050102: '添加',\n event050103: '删除',\n event050104: '点击分享视频',\n event0502: '分享账号页面',\n event050201: '进入',\n event050202: '二维码',\n event050203: '手动输入',\n event050204: '最近联系人',\n event050205: '账号搜索',\n event0503: '分享结果页面',\n event050301: '进入',\n event050302: '账号',\n event050303: '分享',\n event0504: '我的设备分享页面',\n event050401: '进入',\n event050402: '分享',\n event0505: '设备分享接收',\n event050501: '接收好友请求',\n event06: '个人中心',\n event07: '其他',\n event0701: 'App异常',\n event070101: '崩溃日志',\n event0702: 'p2p相关',\n event070201: '打洞连接设备',\n event070202: '设备预览',\n event070203: '设备本地回放',\n event0703: '异地登录',\n event070301: '异地登录',\n event0704: '设备操作',\n event070401: '地理围栏',\n event0705: '云存储操作',\n event070501: '获取云存储状态',\n event070502: '点击试用',\n event070503: '激活码',\n event070504: '套餐选择',\n event070505: '订单生成',\n event070506: 'paypal调用',\n event070507: '订单支付结果',\n event0706: '云存储回放',\n event070601: '按天搜索',\n event070602: '按月搜索',\n event070603: '获取m3u8文件',\n event070604: '日历切换',\n event08: '推送和消息',\n event0801: '推送问题',\n event080101: '获取推送token',\n event080102: '上传推送token',\n event0802: 'mqtt问题',\n event080201: 'mqtt连接',\n event0803: '报警消息',\n event080301: '查询有报警消息的设备',\n event080302: '查询单个设备的报警消息',\n event0804: '门铃消息',\n event080401: '收到门铃消息',\n event080402: '弹出接听界面',\n event0805: '自研IOT状态',\n event080501: '自研IOT状态',\n event0806: 'Application创建',\n event080601: 'Application创建',\n event080602: 'MainActivity创建',\n },\n system: {\n functionSetting: {\n versionName: '版本号',\n versionCode: '内部版本号',\n server: '服务器',\n apitoken: 'webhook token',\n describe: '描述',\n partnerName: '经销商名称',\n urlNotFilled: '隐私政策或者帮助文档页面的url未填入',\n enUrl: '英文文档Url',\n cnUrl: '中文文档Url',\n supportphoneaccount: '手机注册支持',\n supportphoneaccountPlaceholder: '手机注册支持',\n applestoreId: 'App Store Id',\n applestoreIdPlaceholder: 'App Store Id',\n editAppTitleName: '修改App信息',\n deleteAppTitleName: '删除App',\n confirmDelete: '你确定你要删除app ',\n helper: '帮助页面:',\n notComplete: '数据未完善',\n cloudstroage: '云存储:',\n Privacypolicy: '隐私政策:',\n aboutus: '关于:',\n guide: '指南:',\n uploadHtmlFile: '请上传html格式文件:',\n en: '英文',\n zh: '中文',\n copyrightEn: '英文版权声明:',\n copyrightZh: '中文版权声明:',\n copyrightPlaceholder: '© Copyright',\n title: '基本功能设置',\n support: '支持',\n unSupport: '不支持',\n copyright: '版权声明:',\n sizeExceed: '上传文件大小不能超过',\n saveContent: '内容已修改,需保存后生效',\n save: '保存',\n cancel: '取消',\n edit: '修改',\n delete: '删除',\n saveFail: '保存失败',\n // curlSuccess: '保存成功',\n saveSuccess: '保存成功,请等待app构建,此步骤可能会花费几分钟',\n createAppComment: '应用打包服务',\n packageAppComment: '应用构建前,请确认应用配置和应用证书已完成设置',\n androidDownloadUrl: '最近构建成功的安卓app:',\n iosDownloadUrl: '最近构建成功的IOS App:',\n brandTitle: '品牌个性化设置',\n logo: '应用图标',\n require: '(必需)',\n upload: '上传',\n splash: 'App启动图',\n color: '设置App色调',\n setUp: '设置',\n colorSetUp: 'App色调更改',\n top_title_bg_color: \"顶部标题背景\",\n top_title_font_color: \"顶部标题字体\",\n bottom_navigation_bg_color: \"底部导航背景\",\n bottom_navigation_font_color: \"底部导航字体\",\n prompt_bg_color: \"提示背景\",\n prompt_font_color: \"提示字体\",\n preview: \"效果预览\",\n final: \"最终效果以安装包为准\",\n ref: \"此处只作参考\",\n haveSameFile: \"上传的文件有同名的,请改为不同名称\",\n emptyImg: \"空列表图标:\",\n alarmemptyImg: \"报警空图标:\",\n fileNotUpload: \"未选择上传文件\",\n createApp: \"创建\",\n createAppTitle: \"OEM App\",\n createAppTitleName: \"新建应用\",\n sidebarApplicationId: '应用id:',\n sidebarWeb: '官网:',\n sidebarSupportemail: '邮箱:',\n sidebarCompany: '公司名称:',\n sidebarCompanyEn: '公司英文名称:',\n applicationId: \"应用包名\",\n appname: \"应用名称\",\n phonenumber: \"联系方式\",\n web: \"官网\",\n supportemail: \"邮箱\",\n company: \"公司名称\",\n company_en: \"公司英文名称\",\n formValidateMessage: ' 不能为空',\n applicationIdPlaceholder: \"应用唯一标志,格式建议com.xxx.xxx\",\n appnamePlaceholder: \"请输入应用名称\",\n phonenumberPlaceholder: \"请输入手机号\",\n webPlaceholder: \"请输入官网地址\",\n supportemailPlaceholder: \"请输入邮箱地址\",\n email: '不是有效的邮箱',\n companyPlaceholder: \"请输入公司名\",\n company_enPlaceholder: \"请输入公司英文名\",\n formValidateMessagePlaceholder: '不能为空',\n passwordPlaceholder: '密码',\n appCreateStatus: '状态:',\n confirm: '第一次构建,需要管理员手动审核,请耐心等待',\n success: '构建成功',\n fail: '构建失败',\n compiling: '构建app中,此过程大概会花费10-20分钟,请耐心等待',\n lastCreateDate: '最近构建时间:',\n pictureSize: '尺寸 ',\n pictureType: 'png格式,不超过3Mb',\n pictureNotPng: '文件不是png',\n pictureSizeError: '图片的分辨率不满足要求',\n language: '支持的语言',\n de: '德语',\n fr: '法语',\n nl: '波兰',\n es: '西班牙语',\n ja: '日语',\n ko: '韩语',\n pt: '葡萄牙语',\n cn: '中文',\n addLanguage: '添加语言',\n LanguageTitle: '语言设置',\n FCM: 'Google FCM',\n FCM_Master: 'Google FCM_Master',\n configInfoTitle: '推送配置',\n camera: '摄像头',\n bell: '门铃',\n NVR: 'NVR',\n voicebell: '语音门铃',\n batterycamera: '电池摄像头',\n flightcamera: '灯具摄像头',\n '4g_camera': '4G摄像头',\n DeviceListTitle: '支持设备设置',\n EmailConfigTitle: '验证码邮箱配置',\n iosPushPassword: '证书密码:',\n iosPushFile: '推送证书:',\n iosReleasePassword: '证书密码:',\n iosReleaseFile: 'P12 证书:',\n iosReleaseMobileprovisionFile: 'Mobileprovision 证书:',\n iosDevPassword: '证书密码:',\n iosDevFile: 'P12 证书:',\n iosDevMobileprovisionFile: 'Mobileprovision 证书:',\n iosAdhocFile: 'Adhoc证书:',\n pushSetting: 'IOS推送设置',\n releaseSetting: 'IOS发布证书设置',\n devSetting: 'IOS开发证书设置',\n adhocSetting: 'Adhoc文件设置',\n certificateTitle: '证书设置',\n otherSetting: '拓展配置',\n appCreateAndDownload: '应用构建和下载',\n create: '创建',\n basic: '基础配置',\n createAppButton: 'APP定制',\n confirmButton: '确定',\n getAppsFail: '获取app失败',\n creatingApp: '创建中的app',\n curlSuccess: '成功',\n createDate: '创建日期',\n forcedUpdate: '强制更新',\n }\n },\n thingModelPublish: {\n issueVersion: \"发布当前版本\",\n choiceVersion: \"选择版本\",\n create: \"新增\",\n uploadFile: \"上传文件\",\n thingModelId: \"标识id\",\n thingModelName: \"名称\",\n thingModelType: \"类型\",\n thingModelSpecs: \"详情\",\n thingModelDesc: \"描述\",\n thingModelAccessMode: \"读写权限\",\n thingModelRequired: \"必须\",\n update: \"编辑\",\n remove: \"删除\",\n add: \"新增\",\n rw: \"读写\",\n r: \"只读\",\n w: \"只写\",\n remark: \"备注\",\n int: \"整数型\",\n intMax: \"最大值\",\n intMin: \"最小值\",\n intStep: \"步长\",\n intUnit: \"单位\",\n text: \"字符串\",\n textLength: \"长度\",\n bool: \"布尔型\",\n bool0: \"0\",\n bool1: \"1\",\n enum: \"枚举型\",\n enumValue: \"枚举值\",\n enumRemark: \"请将参数值和描述以 {\\\"key1\\\":\\\"value1\\\",\\\"key2\\\":\\\"value2\\\"} 的形式填写\",\n versionRemark: \"版本备注\",\n confirmButton: \"确定\",\n cancleButton: \"取消\",\n clickUpload: '点击上传',\n alIOTVersionId: \"阿里IOT版本ID\",\n isCurrentVersion: \"是否当前版本\",\n isIssued: \"是否已发布\",\n formThingModelIdValidateNumber: \"标识ID必须为数字\",\n formThingModelIdValidateMessage: \"标识ID不能为空\",\n formThingModelNameValidateMessage: \"名称不能为空\",\n formThingModelRequiredValidateMessage: \"是否必须不能为空\",\n formThingModelAccessModeValidateMessage: \"读写权限不能为空\",\n formThingModelRemarkValidateMessage: \"备注不能为空\",\n formThingModelTypeValidateMessage: \"类型不能为空\",\n formThingModelLengthValidateMessage: \"文本长度不能为空\",\n formThingModelMaxValidateMessage: \"最大值不能为空\",\n formThingModelMinValidateMessage: \"最小值不能为空\",\n formThingModelStepValidateMessage: \"步长不能为空\",\n formThingModelUnitValidateMessage: \"单位不能为空\",\n formThingModeEnumValidateMessage: \"枚举值不能为空\",\n formThingModeBool0ValidateMessage: \"0不能为空\",\n formThingModeBool1ValidateMessage: \"1不能为空\",\n formThingModeVersionRemarkValidateMessage: \" 版本备注不能为空\"\n },\n companyInfo: {\n oemId: \"公司ID\",\n oemName: \"公司名称\",\n oemDesc: \"公司描述\",\n oemProductNum: \"产品数量\",\n projectId: \"SOURCE APP\",\n createDate: \"创建时间\",\n view: \"查看\",\n update: \"编辑\",\n delete: \"删除\",\n add: \"添加\",\n submit: \"提交\",\n cancel: \"取消\",\n otherProduct: \"其他产品\",\n create: \"新增\",\n submitDelete: \"你确定删除吗?\",\n submitRemove: \"你确定移除产品OEM_ID吗?\",\n oemNameNotnull: \"公司名称不能为空\",\n oemIdNotnull: \"公司ID称不能为空且为9位数字\",\n oemIdOnlyIsNumber: \"公司ID必须为9位数字\",\n tpInput: \"请输入tp值\",\n tpClassify: 'TP值归类'\n },\n device_publish: \"固件发布\",\n device_gray_publish: \"固件灰度发布\",\n gray_publish: \"固件灰度发布\",\n license_control: \"License管控\",\n tp_control: \"Tp管控\",\n firmware_control: \"固件发布\",\n app_publish: \"APP发布\",\n intelligent_products: \"智能产品\",\n userinfo_expired_msg: \"登录信息过期,请重新登录!\",\n zendao: \"工单\",\n cloud_order_list: \"订单列表\",\n addProductBatch: \"批量添加产品\",\n\n moduleOperation: \"运营管理\",\n moduleDataStatistics: \"数据统计\",\n Complaint: '邮件客诉',\n moduleLog: \"日志查看\",\n WorkOrder: '客服工单',\n Analysis: '客诉分析',\n moduleCloudStorage: \"云存储管理\",\n moduleLicense: \"License信息\",\n moduleExtend: \"拓展模块\",\n\n realTimeInfo: \"实时信息\",\n realTimeInfoTips: \"实时展示设备数据,APP数据和用户反馈等实时信息,详情请查看具体模块\",\n deviceDataInfo: \"设备数据\",\n activatedYesterday: \"昨日激活\",\n activated30Days: \"近30日激活\",\n totalActivated: \"累计激活\",\n\n appDataInfo: \"APP数据\",\n registerYesterday: \"昨日注册\",\n register30Days: \"近30日注册\",\n totalRegister: \"累计注册\",\n\n feedbackYesterday: \"昨日反馈\",\n feedback30Days: \"近30日反馈\",\n totalFeedback: \"累计反馈\",\n appWorkbenchTips: \"一站式自有品牌OEM App构建及管理服务,基于官方模板,个性化配置品牌等信息,轻松创建和管理自己的App\",\n productTips: '为批量销售的产品提供实时监测,快速处理的设备管理能力和面向终端用户的运营能力',\n version_config: 'App开发',\n basic_config_item: '基础配置',\n page_config: '界面配置',\n certificate_config: '证书配置',\n email_config: '验证码邮箱配置',\n sms_config: '验证码SMS短信配置',\n push_config: '推送配置',\n get_key: '获取SDK',\n app_cloud_config: 'APP云配置',\n upload_translation_file: '翻译文件配置',\n copySuccess: '复制成功',\n copyError: '复制失败',\n appConfigs: {\n appSdkIntro: '根据您的需求,输入必须信息并选择所需的模块,配置完SDK套餐项,就可以下载自动生成的SDK配置包,开始开发。',\n androidDocument: 'Android开发文档',\n iosDocument: 'iOS开发文档',\n addApp: '创建App',\n customerId: '客户编号',\n createTime: '创建时间',\n option: '操作',\n config: '配置',\n appName: 'App名称',\n androidPkgName: '安卓包名',\n iosPkgName: 'iOS包名',\n appVersion: '上架版本',\n applestoreId: 'iOS AppId',\n web: '公司网址',\n company: '公司名称',\n email: '支持邮箱',\n mobile: '联系电话',\n appLogo: 'App应用图标',\n appSplash: 'App启动图',\n appThemeColor: 'App主题色',\n appPackage: 'App套装',\n appIcon: 'App图标',\n address: '地址',\n password: '密码',\n host: '主机',\n port: '端口号',\n isSupportSMTP: '是否支持SMTP',\n isStarttlsEnable: '是否启用starttls',\n isStarttlsRequired: 'starttls是否必要',\n isSupportSSLTrust: '是否支持ssl加密',\n transportProtocol: '邮件传输协议',\n isUseSocketFactory: '是否使用SocketFactory',\n messageKey: '消息Key',\n messageSecret: '消息密码',\n messageSignName: '消息签名',\n messageTemplate: '消息简介',\n clickHelp: '点击查看帮助文档',\n google: '谷歌',\n aurora: '极光',\n iosPushIntro: 'APNS是iOS App的推送证书',\n googlePushIntro: '如果您的App有海外用户,请配置此项',\n auroraPushIntro: '如果您的App有海内用户,请配置此项',\n p8Upload: 'P8文件上传',\n jsonUpload: 'JSON文件上传',\n mi: '小米通道',\n huawei: '华为通道',\n vivo: 'vivo通道',\n oppo: 'oppo通道',\n show: '显示',\n hide: '隐藏',\n copy: '复制',\n uploadTranslationFile: '上传翻译文件',\n viewTranslationFile: '查看翻译文件',\n historyVersion: '历史版本',\n selectTranslationLang: '选择翻译语言',\n addTranslationLang: '新增翻译语言',\n pleaseSelectTranslationLang: '请先选择翻译语言',\n addRemark: '添加配置说明',\n noHistory: '暂无历史版本',\n en: '英语',\n 'zh-Hans': '简体中文',\n de: '德语',\n fr: '法语',\n pl: '波兰语',\n es: '西班牙语',\n ja: '日语',\n ko: '韩语',\n it: '意大利语',\n ru: '俄语',\n 'pt-BR': '巴西语',\n 'pt-PT': '葡萄牙语',\n nl: '荷兰语',\n 'zh-Hant-TW': '繁体中文',\n hu: '匈牙利语',\n zh: '简体中文',\n 'zh-tw': '繁体中文',\n pt: '葡萄牙语',\n 'pt-br': '巴西语',\n wain: '没有初始化文件,不能操作',\n fileName: '文件名称',\n i: '苹果',\n a: '安卓',\n fileUrl: '文件Url',\n phoneType: '手机类型',\n language: '语言',\n upload: '上传',\n uploadDate: '上传时间',\n isSync: '是否同步',\n selectVersion: '选择版本',\n selectVersionTips: '请先选择版本',\n fileNotExist: '文件不存在',\n nameTips: '推荐格式:com.xxx.xxx',\n nameWain: '支持输入字母、数字、下划线。用\".\"进行分段,至少2段,每段以字母开头。',\n checkLang: '选择语种',\n checkAll: '全选',\n checkFile: '查看文件',\n supportFormat: '支持格式',\n },\n steps: {\n version: '选择版本',\n basic: '基础配置',\n page: '界面配置',\n function: '功能配置',\n shelf: '上架管理',\n build: '构建管理',\n last: '上一步:',\n next: '下一步:',\n beginBuild: '立即构建'\n },\n enterCloud: '进入云存储',\n cloudTips: '实时查看和管理设备的云存储数据,包括云存储订单,激活码和定价等实时信息,详情请查看具体模块',\n customerTips: '实时查看和管理用户的反馈数据,客服信息和常用语配置,详情请查看具体模块',\n guest: '客服系统',\n project_guest_list: '客服列表',\n project_common_words: '常用语',\n project_feedback_list: '邮件客诉',\n\n ...cnLocale\n },\n en: {\n hello: \"hello world\",\n systemTitle: \"Product Management System\",\n serverZone: \"ServerZone\",\n myProject: \"My Project\",\n platform: \"Intelligent Life Platform\",\n hz: \"HangZhou\",\n us: \"America\",\n eu: \"Europe\",\n arenti_hz: \"Arenti HZ\",\n arenti_us: \"Arenti US\",\n arenti_eu: \"Arenti EU\",\n sg: 'Singapore',\n dev: \"dev\",\n localhost: \"localhost\",\n hz_pre: 'HZ_PRE',\n fail: \"request fail\",\n identifyError: \"Identify Code not match\",\n forgetPassword: \"Forget Password?\",\n readAgree: 'Agree to',\n legalNotices: 'Legal Notices',\n privacyPolicy: 'Privacy Policy',\n agreeTip: 'Please Tick “Agree”',\n verifySuccess: 'Verified!',\n verifyFail: 'Verification failed, please try again!',\n verifySlider: 'Drag to complete the puzzle',\n language: \"Language\",\n cn: \"中文\",\n en: \"English\",\n admin: \"admin\",\n login: \"Login\",\n returnLogin: \"Return Login\",\n logout: \"Logout\",\n signup: \"Signup\",\n username: \"Username\",\n password: \"Password\",\n please_username: \"Plaese enter username\",\n please_password: \"Please enter password\",\n please_verify: \"Please enter verifyCode\",\n please_passwordConfirm: \"repassword must be same with above password\",\n notValidEmail: \"Not a valid mailbox\",\n verify: \"EmailCode\",\n Repass: \"Repass\",\n getVerify: \"VerifyCode\",\n goBackToLogin: \"Go back to login\",\n submit: \"Submit\",\n edit: 'Edit',\n delete: 'Delete',\n updatePasswordFail: \"update password fail\",\n verifyCodeWrong: \"verifyCode error\",\n err_login: \"Authentication fail\",\n index: \"Index\",\n back: \"Backstage\",\n backConsole: \"Backstage\",\n productInfoManage: \"product manage\",\n startConfiguration: \"start configuration\",\n cooperativeProjectMessageManage: \"Cooperative Project Message Manage\",\n oemCompanyMessageManage: \"OEM Company Message Manage\",\n tpMessageManage: \"TP Message Manage\",\n manageProductInfo: \"Manage Product\",\n appWorkbench: \"App Workbench\",\n enterCustomer: 'enter customer',\n queryDocs: \"query documents\",\n helpDocs: \"Help Documents\",\n helpDocTips: \"Learn how to use the website to query the required information or conduct relevant operations through the help documents\",\n announcement: \"Announcement\",\n newDynamic: 'New Dynamic',\n problemFeedback: \"Problem Feedback\",\n manageDocs: \"manage documents\",\n enterBack: \"enter back console\",\n enterData: 'enter data center',\n goBack: \"Go Back\",\n project: \"Project\",\n product: \"Product\",\n company: \"Product\",\n user: \"user\",\n app: \"APP\",\n operation: \"Operation\",\n serverExpansion: \"Server\",\n ppsConstant: \"PPS Constant\",\n ppsConstants: {\n explain: 'Explain',\n addPpsConstant: 'Add PPS Constant'\n },\n appNotice: 'App Notice',\n appNotices: {\n add: 'Add',\n publish: 'Publish',\n delete: 'Delete',\n update: 'Update',\n addAppNotice: 'Add APP Notice',\n beginTime: 'Begin Time',\n endTime: 'End Time',\n contentEn: 'English',\n contentPl: 'Polish',\n contentEs: 'Spanish',\n contentDe: 'German',\n contentFr: 'French',\n contentJa: 'Japanese',\n contentKo: 'Korean',\n contentNl: 'Dutch',\n contentPt: 'Portuguese',\n contentZh: 'Chinese',\n contentPtBr: 'Portuguese Brazil',\n contentZhTw: 'Chinese Taiwan',\n contentIt: 'Italian',\n contentRu: 'Russian',\n contentBr: 'Brazil',\n },\n pps_international: 'PPS Intl',\n pps_default_international: 'PPS Default Intl',\n ppsInternationals: {\n addPpsInternational: 'Add PPS International',\n addPpsDefaultInternational: 'Add PPS Default International',\n name: 'Name',\n lngType: 'Language Type',\n content: 'Content',\n contentSelect: 'Content Select',\n deviceName: 'Device Name',\n userAccount: 'User Account',\n verifyCode: 'Verify Code',\n nickName: 'Nick Name',\n batteryCapacity: 'Battery Capacity'\n },\n modules: {\n default: 'Default',\n back: 'Back',\n project: 'Project',\n cscs: 'Custom',\n },\n customerService: 'Customer',\n guestComplaint: 'Guest Complaint',\n guestWorkOrder: 'Guest Work Order',\n guestAnalyse: 'Guest Analyse',\n guestList: 'Guest List',\n common_words: 'Common Words',\n guests: {\n customerId: 'Customer ID',\n status: 'Status',\n roleSetting: 'Role Setting',\n dateCreated: 'Date Created',\n addCustomer: 'Add Customer',\n updateStatus: 'Update Status',\n edit: 'Edit',\n delete: 'Delete',\n account: 'Account',\n password: 'Password',\n confirmPassword: 'Confirm Password',\n },\n commonWords: {\n addWords: 'Add Words',\n updateWords: 'Update Words',\n appLngType: 'App Language',\n createTime: 'Create Time',\n word: 'Word',\n option: 'Option',\n },\n importFileDescription: 'Import File Description',\n sureSubmit: 'Sure Commit?',\n sureRollbackHistory: 'Confirm to roll back this historical version?',\n hint: 'Hint',\n cancelSubmit: 'Cancel Submit',\n setting: \"Setting\",\n member: \"Member\",\n member_list: \"Member List\",\n stat: \"Stat\",\n account: \"Account\",\n account_list: \"Account List\",\n project_list: \"Project List\",\n permission_group: \"Role List\",\n account_group: \"Group List\",\n back_permission: \"后台权限 | back permission\",\n project_permission: \"项目权限 | project permission\",\n license: \"License\",\n license_list: \"License List\",\n \"3rd_license_list\": \"3rd-license List\",\n license_conflict_list: \"License Conflict List\",\n \"3rd_license_conflict_list\": \"3rd-license Conflict List\",\n license_recycle_list: \"License Recycle List\",\n packing: \"Packing\",\n data_import: \"Data Import\",\n p2p_code: \"P2p Code\",\n factory_user: \"Encrypt Tool User\",\n feedback_list: \"Feedback List\",\n device_shadow: \"Device Shadow\",\n device_detail: \"Device Detail\",\n device_unbind: \"Device Unbind\",\n cloud: \"Cloud\",\n order: \"Order\",\n cost: \"Cost\",\n activation: \"Activation\",\n income: \"Income\",\n package: \"Package\",\n activationOrder: \"ActivationOrder\",\n oss_charts: \"OSS Charts\",\n cloud_charts: \"Cloud Charts\",\n cloud_price: 'Cloud Price',\n cloudPrices: {\n updateCloudPrice: 'Update Cloud Price',\n cloudPrice: 'Cloud Price',\n cloudPriceId: 'Cloud Price Id',\n currency: 'Currency'\n },\n cloud_refund: \"Cloud Refund\",\n refund: \"Refund\",\n\n order_charts: \"Order Charts\",\n feedback_charts: \"Feedback Charts\",\n extend: \"Extend\",\n deviceIOT: \"Device IOT\",\n listIOT: \"IOT Configuration\",\n iotConfigs: {\n singleRestart: 'Single Restart',\n batchRestart: 'Batch Restart'\n },\n restartSuccess: 'Restart Success',\n restartError: 'Restart Error',\n file: 'File',\n uploadCSV: 'The uploaded file must be a csv file',\n relayList: \"Relay List\",\n monitor_list: 'Monitor List',\n upload: \"Upload\",\n uploadImage: 'Upload Image',\n imageLink: 'Image link',\n uploadNotNull: 'Upload not null',\n country: \"Country\",\n gray_release: \"Gray Release\",\n icon: \"Icon\",\n thingModel: \"Thing Model\",\n product_list: \"Product List\",\n feedback_standard_list: \"Feedback Standard List\",\n app_config_url: \"App Configuration Url\",\n awox: 'AWOX',\n dynamic_picture: 'Dynamic Picture',\n productList: {\n productID: 'Product ID',\n productType: 'Product Type',\n kindDeviceType: 'Device Type',\n bulkUpload: 'Bulk Upload',\n number: 'Number',\n url: 'Url',\n type: 'Type',\n kindDeviceIcon: 'Device Icon',\n powerOnImage: 'Power switch image',\n resetImage: 'Reset image',\n scanQrcodeImage: 'Distribution network image',\n resetApImage: 'Ap reset image',\n wakeUpImage: 'Wake up image',\n placeholderImage: 'Product sketch image',\n ledFlashQuickImage: 'Fast flashing of led lights',\n ledFlashSlowImage: 'Slow flashing of led lights',\n blueFlashImage: 'Blue flash image'\n },\n count: 'Count',\n two_way_config: 'Two-way Config',\n iconName: 'Icon Name',\n monitor: \"Monitor\",\n dubbo: \"Dubbo\",\n pid: \"pid\",\n business_server: \"Business Server\",\n deviceIOTCharts: \"IOT Device-online Charts\",\n requestCount: \"Request Count\",\n p2p_server: \"P2P Server\",\n redis: \"Redis\",\n mongo: \"Mongo\",\n log: \"Log\",\n app_crash: \"App Crash\",\n app_buried_point: \"App Buried Point\",\n buried_point_analysis: \"Buried Point Analysis\",\n server_log: \"Server Log\",\n servers_log: \"Servers Log\",\n pps_user: \"User\",\n pps_all: \"Device\",\n pps_alarm_producer: 'Alarm',\n pps_cloud: \"Cloud\",\n pps_order: \"Order\",\n pps_message: \"Message\",\n pps_push: \"Push\",\n pps_push_token: \"User Push Token\",\n pps_email: \"Email\",\n nginx_request_events: \"Events\",\n nginx_request: \"Nginx\",\n log_statistic: \"Log Statistic\",\n factory: \"Factory\",\n alarm_log: \"Alarm Logs\",\n alarm: \"Alarm\",\n alarm_push: \"Alarm Push\",\n alarm_oss: \"Alarm OSS\",\n device_log: \"Device Alarm Log\",\n device_active: \"Device Active Log\",\n device_add: \"Device Add Log\",\n test: \"Test\",\n test_device: \"Test Device\",\n test_app: \"Test APP\",\n test_p2p: \"P2P check\",\n data_overview: 'Data Overview',\n stat_user: \"User Stat\",\n stat_device: \"Device Stat\",\n stat_address: 'Address Stat',\n stat_version: 'Version Stat',\n noData: 'No Data',\n stat_feedback: \"User Feedback Charts\",\n stat_user_feedback: \"Feedback Details\",\n stat_product_feedback: \"Product Feedback\",\n stat_app_feedback: \"APP Feedback\",\n\n device_list: \"Device List\",\n visitor: 'Sharer',\n user_list: \"User List\",\n operation_feedback: \"Operation Feedback\",\n creatingSubject: \"Create Subject\",\n creatingProduct: \"Create Product\",\n creatingApp: \"Create App\",\n batchProducing: \"Batch Produce\",\n introduction: \"Novice Guide\",\n getFail: \"get data error\",\n detail: 'Detail',\n add: 'Add',\n save: 'Save',\n saveFail: 'Save Fail',\n saveSuccess: 'Save Success',\n rollbackSuccess: 'Rollback Success',\n rollbackFail: 'Rollback Fail',\n uploadSuccess: 'Upload Success',\n uploadFail: 'upload Fail',\n downloadSuccess: 'Download Success',\n downloadFail: 'Download Fail',\n exportSuccess: 'Export Success',\n exportFail: 'Export Fail',\n deleteSuccess: 'Delete Success',\n deleteFail: 'Delete Fail',\n publishSuccess: 'Publish Success',\n publishFail: 'Publish Fail',\n success: 'success',\n paramIsNull: 'Param is null',\n formValidateMessage: ' cannot be empty',\n notMatch: ' input not match',\n deleteSure: 'Are you sure to delete?',\n notAuth: 'Not Permission',\n confirmButton: 'Confirm',\n\n orderNum: \"orderNum\",\n deviceID: \"deviceID\",\n mealType: \"mealType\",\n storageTime: \"storageTime\",\n payMoney: \"payMoney\",\n orderStatus: \"orderStatus\",\n createDate: 'Create Date',\n payDate: \"payDate\",\n userID: \"userID\",\n dealSign: \"dealSign\",\n sureUpdate: 'Are you sure to update?',\n sureLogout: 'The modification has not been saved, are you sure to exit?',\n payType: \"payType\",\n storageType: \"storageType\",\n serverTime: \"serverTime\",\n productName: 'Product Name',\n fileSizeExcced: 'File size exceed ',\n reset: 'Reset',\n confirm: 'Confirm',\n cancel: 'Cancel',\n numberMessage: 'must be number',\n userAccount: 'UserAccount',\n download: 'Download',\n firmware: \"Firmware\",\n productManage: \"Product Manage\",\n addProduct: \"Add New Product\",\n functionalPoint: \"Functional Point\",\n functionManage: \"Function Manage\",\n platformManage: \"Platform Manage\",\n addPlatform: \"Add New Platform\",\n projectManage: \"Project Manage\",\n addProject: \"Create Project\",\n firmwarePublish: \"Firmware Publish\",\n firmwareCustomization: \"Firmware Customization\",\n tuyaOemManage: \"Tuya OEM Manage\",\n addTuyaOem: \"Add OEM\",\n sendSuccess: \"Send Success\",\n sendFail: \"Send Fail\",\n exportDataNull: 'Export Data Null',\n browserNotSupport: 'This browser does not currently support preview images, please use Google Chrome',\n activationOrderList: {\n id: \"ID\",\n source_app: \"FirmID\",\n count: \"Count\",\n type: \"Type\",\n price: \"Price\",\n total_price: \"TotalPrice\",\n currency: \"Currency\",\n },\n visitorList: {\n name: 'Name',\n },\n activationList: {\n code: \"Code\",\n order: \"Order\",\n generateOrder: \"Generate Order\",\n downloadOrder: \"Download Order\",\n type: \"Type\",\n state: \"State\",\n sourceApp: \"SourceApp\",\n count: \"Count\",\n price: \"Price\",\n currency: \"Currency\",\n generate: \"Generate\",\n getOrderInfoError: \"Get order info error\",\n getActivationTypeError: \"Get activation type error\",\n cloudReplace: \"Cloud Replace\",\n activationCodeOpen: \"Activation Code Open\",\n oldSn: \"Old SN\",\n newSn: \"New SN\",\n sn: \"SN\",\n exportOrders: 'Export Orders',\n year: 'Year',\n oemId: 'Oem Id',\n export: 'Export',\n crossAccountTransfer: 'Cross Account Transfer',\n oldAccount: 'Old Account',\n newAccount: 'New Account',\n oldSourceApp: 'Old SourceApp',\n newSourceApp: 'New SourceApp',\n transfer: 'Transfer'\n },\n packageList: {\n addPackage: 'Add Activation Meal',\n 0: 'Event Storage',\n 1: 'Continuity Storage',\n Y: 'Year',\n M: 'Month',\n day: 'day',\n activation: 'ACTIVATION',\n storageTime: 'STORATE TIME',\n mealType: 'MEAL TYPE',\n storageType: 'STORAGE TYPE',\n serverTime: 'SERVER TIME',\n },\n awoxList: {\n awoxP2p: 'AWOX P2P Detail',\n addDevice: 'Add Device',\n licenseBatchExport: 'License Batch Export',\n getDetail: 'Get Detail',\n p2pType: 'P2P Type',\n model: 'Model',\n mac: 'MAC',\n sn: 'SN',\n secretKey: 'Secret Key',\n p2pDataDetail: 'P2P Data Detail',\n cameraDataDetail: 'Camera Data Detail',\n type: 'Type',\n used: 'Used',\n remain: 'Remain',\n number: 'Number',\n licenseIdMode: 'LicenseId is a length of 20 and starts with PP',\n exportExcel: \"The uploaded file must be an Excel file and end with .xlsx\",\n tip1: 'Only supports Excel files in xlsx format, the size does not exceed 10M, and reads the first Sheet by default',\n tip2: 'The header of the workbook is SN, License, Secret, LAN-MAC, p2pLicense, CustomSN',\n tip3: 'SN License Secret LAN-MAC These 4 columns must have values',\n },\n dynamicPicture: {\n detail: 'Detail',\n upload: 'Upload',\n url: 'Url',\n type: 'Type',\n },\n appPublish: {\n fileExist: 'File exists',\n push: 'push',\n pushTitle: 'Push Message Modal',\n pushConfirm: 'Are you sure you want to publish the firmware to all user? the firmware name is ',\n pushSuccess: 'Push message success',\n pushError: 'Push message error',\n deviceUrl: 'VersionName',\n versionName: 'VersionName',\n versionType: 'AppName',\n versionCode: 'VersionCode',\n createDate: 'CreateDate',\n createDates: 'CreateDate',\n deviceVersionId: 'DeviceVersionId',\n upgradeFlag: 'ForceUpdate',\n versionId: 'VersionID',\n firmID: 'FirmID',\n create: 'Create',\n reset: 'Reset',\n selectFile: 'Select File',\n updateBy: 'Operator',\n action: 'Action',\n delete: 'Delete',\n update: 'Update',\n view: 'View',\n download: 'Download',\n detail: 'Detail',\n en: 'English',\n zh: 'Chinese',\n de: 'German',\n fr: 'France',\n pl: 'Polish',\n es: 'Spanish',\n ja: 'Japanese',\n ko: 'Korean',\n publishApp: 'Publish App',\n file: 'Apk',\n deleteHistory: 'DeleteVersion',\n updateHistory: 'UpdateVersionInfo',\n deleteConfirm: 'Are you sure you want to delete ',\n versionUrl: 'VersionUrl',\n goback: 'GoBack',\n isUpgradeFlag: 'yes',\n noUpgradeFlag: 'no',\n uploadProgress: 'UploadProgress',\n uploadFail: 'UploadFail',\n uploadFileNameError: 'Upload file name pattern error',\n devVersionIdRepeat: 'DeviceVersionId repeat or network error',\n updateUploadTip: 'Upload file name must start with DeviceVersionId',\n devVersionIDTip: 'DeviceVersionId must start with deviceType',\n uploadFile: 'Upload File',\n formValidateMessage: 'some data is empty',\n formValide: 'can not be empty',\n waitForUploadSucceed: 'Please wait for the upload completion'\n },\n devicePublish: {\n fileExist: 'File exists',\n push: 'push',\n pushTitle: 'Push Message Modal',\n pushConfirm: 'Are you sure you want to publish the firmware to all user? the firmware name is ',\n pushSuccess: 'Push message success',\n pushError: 'Push message error',\n deviceUrl: 'VersionName',\n deviceType: 'DeviceType',\n createDate: 'CreateDate',\n createDates: 'CreateDate',\n deviceVersionId: 'VersionId',\n officialPub: \"Official Publish\",\n licenseGrayPub: \"License Gray Publish\",\n tpGrayPub: \"TP Gray Publish\",\n record: \" Record\",\n updatePersion: 'ForceUpdate',\n firmID: 'FirmID',\n create: 'Create',\n reset: 'Reset',\n selectFile: 'Select File',\n updateBy: 'Operator',\n action: 'Action',\n delete: 'Delete',\n update: 'Update',\n view: 'View',\n download: 'Download',\n detail: 'Detail',\n en: 'English',\n zh: 'Chinese',\n de: 'German',\n fr: 'France',\n pl: 'Polish',\n es: 'Spanish',\n ja: 'Japanese',\n ko: 'Korean',\n publishDevice: 'Publish Device',\n file: 'Firmware',\n deleteHistory: 'DeleteVersion',\n updateHistory: 'UpdateVersionInfo',\n deleteConfirm: 'Are you sure you want to delete ',\n cancelDelete: 'CancelDelete',\n versionUrl: 'VersionUrl',\n goback: 'GoBack',\n isUpgradeFlag: 'yes',\n noUpgradeFlag: 'no',\n uploadProgress: 'UploadProgress',\n uploadFail: 'UploadFail',\n uploadFileNameError: 'Upload file name pattern error',\n devVersionIdRepeat: 'DeviceVersionId repeat or network error',\n updateUploadTip: 'Upload file name must start with \\nDeviceVersionId',\n devVersionIDTip: 'DeviceVersionId must start with deviceType',\n uploadFile: 'Upload File',\n formValidateMessage: 'DeviceVersionId can not be empty',\n waitForUploadSucceed: 'Please wait for the upload completion',\n publishRegion: 'Publish Region',\n cn: 'China',\n us: 'America',\n eu: 'Europe',\n cn_value: 'cn',\n us_value: 'us',\n eu_value: 'eu',\n formLicenseIDValidateMessage: 'license number cannot be empty',\n formVersionIDValidateMessage: 'version number cannot be empty',\n formTpValidateMessage: 'tp number cannot be empty',\n formBatchIDValidateMessage: 'batch number cannot be empty',\n clickUploadTip: 'Drag the file here, or click upload',\n uploadTip: 'Upload the firmware package ending in -upgrade.bin',\n addTips: 'Add prompt',\n selectTip: 'Choose prompt'\n },\n deviceGrayPublish: {\n licenseID: 'License ID',\n tp: 'Tp',\n versionID: 'Target Version',\n isForceUpdate: 'Is Force Update',\n singleRelease: 'Single Config',\n batchRelease: 'Batch Config',\n batchRemove: 'Batch Remove',\n sameBatchRemove: 'A Batch Remove',\n firmwareUpload: 'Firmware Upload',\n firmwareName: 'Firmware Name',\n firmwareSize: 'Firmware Size',\n firmwareUrl: 'Firmware URL',\n uploadDate: 'Upload Date',\n uploadTipLicense: 'The uploaded file must be an excel file,the content format is license number',\n uploadTipTp: 'The uploaded file must be an excel file,the content format is tp number',\n uploadTipLicenseR: 'The uploaded file must be an excel file,the content format is license number',\n uploadTipTpR: 'The uploaded file must be an excel file,the content format is tp number',\n uploadTipFirmware: 'The uploaded file must be firmware, ending in .bin',\n clickUpload: 'Click To Upload',\n isUpgradeFlag: 'yes',\n noUpgradeFlag: 'no',\n batchId: 'Batch ID',\n uploadPrecondition: 'target version number and whether can not be null',\n submit: 'Submit',\n count: 'Count',\n ratioConfig: 'Ratio Config',\n progressQuery: 'Progress Query',\n total: 'Total',\n ratio: 'Ratio',\n number: 'Number',\n getTotal: 'Get Total',\n selectVersionID: 'Select target version',\n rateTips: 'The number of configurations cannot be 0',\n rateWain: 'The current ratio exceeds 80%, and the total amount is greater than 10,000. Only full release can be performed. Do you want to go to full release?'\n },\n userList: {\n userID: 'ClientID',\n nickName: 'NickName',\n userAccount: 'UserAccount',\n soundFlag: 'SoundFlag',\n imageUrl: 'ImageUrl',\n lngType: 'LanguageType',\n tyPassword: 'TYPassword',\n sourceApp: 'PartnerID',\n openID: 'OpenID',\n deviceSecret: 'DeviceSecret',\n deviceSecretDesk: 'DeviceSecretDesk',\n countryCode: 'CountryCode',\n phoneCode: 'PhoneCode',\n timeFlag: 'isOldUser',\n updateDate: 'UpdateDate',\n createDate: 'CreateDate',\n },\n deviceList: {\n deviceId: \"DeviceID\",\n licenseId: \"SnNum\",\n firmId: \"FirmID\",\n userId: \"UserID\",\n p2pId: \"P2P ID\",\n p2pType: \"P2P Type\",\n deviceTypeId: \"DeviceTypeId\",\n deviceIcon: \"DeviceIcon\",\n deviceVersionId: \"DeviceVersionID\",\n relayLicenseId: \"Parent Relay SN\",\n\n deviceID: 'DeviceID',\n deviceUUID: 'DeviceUUID',\n tp: 'TP',\n devTypeID: 'DevTypeID',\n userID: 'UserID',\n snNum: 'SnNum',\n timeZone: 'TimeZone',\n hostKey: 'HostKey',\n deviceName: 'DeviceName',\n createDate: 'CreateDate',\n cancelDate: 'CancelDate',\n userFlag: 'UserFlag',\n deviceVersionID: 'DeviceVersionID',\n isBindingTY: 'IsBindingTY',\n devUid: 'DevUid',\n trialCloud: 'TrialCloud',\n nvrPort: 'NvrPort',\n nvrID: 'NvrID',\n deviceP2P: 'DeviceP2P',\n firmID: 'FirmID',\n deviceTypeName: 'DeviceTypeName',\n deviceImg: 'DeviceImg',\n brainPower: 'BrainPower',\n protocolVersion: 'ProtocolVersion',\n closePush: 'ClosePush',\n longitude: 'Longitude',\n latitude: 'Latitude',\n radius: 'Radius',\n sleep: 'Sleep',\n bellVoice: 'BellVoice',\n region: 'Region',\n dayLight: 'DayLight',\n deviceSecret: 'DeviceSecret',\n wifyName: 'WifyName',\n capability: 'Capability',\n shareAccessSign: 'Share AccessSign',\n isCancel: 'Is Cancel Share',\n close: 'Close',\n open: 'Open',\n viewOnly: 'ViewOnly',\n controllable: 'Controllable',\n },\n deviceShadow: {\n device: 'Device',\n allTp: 'All TP',\n totalDevice: 'Total Device',\n activateDevice: 'Activate Device',\n currentlyOnline: 'Currently Online',\n deviceId: 'Device ID',\n deviceName: 'Device Name',\n snNum: 'License',\n tp: 'TP',\n nodeStatus: 'Node Status',\n status: 'Status',\n lastOnlineTime: 'LastOnline Time',\n operate: 'Operate',\n check: 'Check'\n },\n deviceDetail: {\n show: 'Show',\n hide: 'Hide',\n copy: 'Copy',\n edit: 'Edit',\n online: 'Online',\n offline: 'Offline',\n deviceInformation: 'DeviceInformation',\n topicList: 'TopicList',\n subscribedTopicList: 'SubscribedTopicList',\n physicalModelData: 'PhysicalModelData',\n deviceExtensionInformation: 'DeviceExtensionInformation',\n tagInformation: 'TagInformation',\n deviceTag: 'DeviceTag',\n deviceTopic: 'DeviceTopic',\n postMessage: 'PostMessage',\n viewData: 'ViewData',\n dpKey: 'Identifier',\n dpText: 'Function Name',\n content: 'Final Value',\n dpDefinition: 'Data Definition',\n dpType: 'Data Type',\n },\n monitorPublish: {\n devicePublish: 'DevicePublish',\n licenseGrayPub: 'LicenseGrayPublish',\n tpGrayPub: 'TpGrayPublish',\n firmwareList: 'Firmware List',\n deviceUpload: 'Device Upload',\n oemId: 'Oem ID',\n oemIdNotNull: 'Oem Id Not Null',\n allPublish: 'All Publish',\n },\n deviceUnbind: {\n snNumConfirm: 'CONFIRM SN',\n snNum: 'SN',\n HK: 'HK',\n HZ: 'HZ',\n title: 'Unbind Device'\n },\n feedbackInfo: {\n userID: 'Client ID',\n account: 'Account',\n addProblemType: \"Add problem Type\",\n problemTypeIsNull: \"Problem Type is null\",\n problemType: \"Problem Type\",\n content: 'Feedback Content',\n contentTranfer: 'Content',\n mailForward: 'Mail Forward',\n dealPerson: 'Deal Person',\n remark: 'Remark',\n updateTime: 'DealTime',\n isDealed: 'Status',\n department: 'Department',\n status: 'Status',\n untreated: 'untreated',\n treated: 'treated',\n editTitle: 'Feedback Treat',\n createTime: 'CreateTime',\n userFeedbackID: 'Feedback Id',\n action: 'Action',\n addUserFeedback: 'Add Client Feedback Info',\n updateUserFeedback: 'Update Client Feedback Info',\n deleteUserFeedback: 'Delete Client Feedback Info',\n deleteConfirm: 'Are you sure you want to delete ',\n update: 'Update',\n delete: 'Delete',\n detail: 'Detail',\n formValidateMessage: ' cannot be empty',\n formChar: 'one character at most',\n lengthMessage: 'length cannot exceed ',\n validateNumber: 'please enter a number',\n all_feedback: \"All Feedback\",\n last_week: \"One Week\",\n last_month: \"One Month\",\n last_three_month: \"Three Months\",\n feedback_trends: \"Feedback Trends\",\n feedback_data: \"Feedback Data\",\n cumulative_feedback_total: \"Cumulative Feedback Total\",\n processed_feedback_total: \"Processed Feedback Total\",\n today_feedback_total: \"Today Feedback Total\",\n cumulative_product_feedback_total: \"Cumulative Product Feedback Total\",\n product_processed_feedback_total: \"Product Processed Feedback Total\",\n today_product_feedback_total: \"Today Product Feedback Total\",\n cumulative_app_feedback_total: \"Cumulative App Feedback Total\",\n app_processed_feedback_total: \"App Processed Feedback Total\",\n today_app_feedback_total: \"Today App Feedback Total\",\n immediate_deal: \"Immediate Deal\",\n yesterday: \"Yesterday\",\n undeal_feedback: \"Undeal Feedback\",\n dealed_feedback: \"Dealed Feedback\",\n sourceApp: \"sourceApp\",\n version: \"version\",\n deviceType: \"deviceType\",\n one_week: \"One Week\",\n two_week: \"Two Week\",\n one_month: \"One Month\",\n },\n incomeInfo: {\n title: 'Storage Income',\n year: 'Year',\n month: 'Month',\n selectYear: 'Select Year',\n selectMonth: 'Select Month'\n },\n statUser: {\n title: 'Active User',\n year: 'Year',\n month: 'Month',\n selectYear: 'Select Year',\n selectMonth: 'Select Month'\n },\n appStatisticLog: {\n userID: 'userID',\n searchTime: 'searchTime',\n connectResult: 'result',\n connectTime: 'spend time',\n connectCount: 'count',\n data: 'ssid&pwd ',\n log: 'log',\n logDetail: 'log detail',\n fail: 'fail',\n success: 'success'\n },\n appLog: {\n logDetail: \"Log Detail\",\n to: \"To\",\n startDataPlaceholder: \"Start date\",\n endDataPlaceholder: \"End date\",\n time: 'time',\n info: 'info',\n log: 'log',\n beginTime: 'begin date',\n endTime: 'end date',\n userID: 'userID',\n eventId: 'event path',\n url: 'url',\n resultCode: 'resultCode',\n sn: 'sn',\n eventId1: 'modual',\n eventId2: 'page',\n eventId3: 'action',\n event01: 'login register',\n event02: 'add device',\n event0201: 'select device type',\n event020101: 'enter',\n event020102: 'select device version',\n event0202: 'add camera(with electricity)',\n event020201: 'enter',\n event020202: 'view install video',\n event0203: 'add camera(reset)',\n event020301: 'enter',\n event0204: 'link wifi',\n event020401: 'enter',\n event020402: 'next',\n event0205: 'action demo',\n event020501: 'enter',\n event0206: 'scan QR code',\n event020601: 'enter',\n event020602: 'no hint was heard',\n event020603: 'request QR token',\n event020604: 'start smartWifi',\n event0207: 'link network(search and add)',\n event020701: 'enter',\n event020702: 'device searched',\n event020703: 'add',\n event020704: 'add',\n event0208: 'add(search and add)',\n event020801: 'enter',\n event020802: 'device searched',\n event020803: 'add',\n event020804: 'MQTT response',\n event0209: 'manual network config',\n event020901: 'enter',\n event020902: 'click help page',\n event0210: 'view help',\n event021001: 'enter',\n event021002: 'click not fixed',\n event021003: 'click try other to connect net',\n event03: 'device center',\n event0301: 'list',\n event030101: 'enter',\n event0302: 'preview',\n event030201: 'enter',\n event0303: 'local review',\n event030301: 'enter',\n event0304: 'cloud review',\n event030401: 'enter',\n event04: 'message center',\n event05: 'friend manager',\n event06: 'personal center',\n\n event07: 'other',\n event0701: 'app error',\n event070101: 'crash log',\n event0702: 'p2p relate',\n event070201: 'connect device',\n event070202: 'deivce preview',\n event070203: 'local review',\n event0703: 'remote login',\n event070301: 'remote login',\n event0704: 'equipment operation',\n event070401: 'geofence',\n event0705: 'cloud storage operations',\n event070501: 'get cloud storage status',\n event070502: 'click to try',\n event070503: 'activation code',\n event070504: 'package selection',\n event070505: 'order generation',\n event070506: 'paypal call',\n event070507: 'order payment result',\n event0706: 'cloud storage playback',\n event070601: 'search by day',\n event070602: 'search by month',\n event070603: 'obtain the m3u8 file',\n event070604: 'calendar switch',\n event08: 'push and message',\n event0801: 'push problem',\n event080101: 'get push token',\n event080102: 'upload and push token',\n event0802: 'mqtt problem',\n event080201: 'mqtt connection',\n event0803: 'alarm message',\n event080301: 'query devices with alarm messages',\n event080302: 'query the alarm message of a single device',\n event0804: 'doorbell message',\n event080401: 'receive doorbell message',\n event080402: 'pop-up answering interface',\n event0805: 'self-developed IOT status',\n event080501: 'self-developed IOT status',\n event0806: 'application creation',\n event080601: 'application creation',\n event080602: 'mainActivity creation',\n },\n system: {\n functionSetting: {\n versionName: 'Version Name',\n versionCode: 'Version Code',\n server: 'server',\n apitoken: 'apitoken',\n describe: 'describe',\n partnerName: 'Trader Name',\n urlNotFilled: 'Helper or Privacypolicy Html Url not filled',\n enUrl: 'English Html Url',\n cnUrl: 'Chinese Html Url',\n supportphoneaccount: 'Phone Support',\n supportphoneaccountPlaceholder: 'Phone Register Support',\n applestoreId: 'App Store Id',\n applestoreIdPlaceholder: 'App Store Id',\n editAppTitleName: 'Edit App Info',\n deleteAppTitleName: 'Delete App',\n confirmDelete: 'Are you sure that you want to delete ',\n helper: 'FAQ:',\n notComplete: ' is not completed',\n cloudstroage: 'Cloud Stroage:',\n Privacypolicy: 'Privacy Policy:',\n aboutus: 'About us:',\n guide: 'Guide:',\n uploadHtmlFile: 'Please upload Html File:',\n en: 'English',\n zh: 'Chinese',\n copyrightEn: 'English Copyright:',\n copyrightZh: 'Chinese Copyright:',\n copyrightPlaceholder: '© Copyright',\n title: 'Basic function settings',\n support: 'Support',\n unSupport: 'Not Support',\n copyright: 'Copyright:',\n sizeExceed: 'File size can not exceed ',\n saveContent: 'Content has changed and needs to be saved',\n save: 'Save',\n cancel: 'Cancel',\n edit: 'Edit',\n delete: 'Delete',\n saveFail: 'Save Fail',\n // curlSuccess: 'Save Success',\n saveSuccess: 'Save success,please wait for the app building,it may take a few minutes',\n createAppComment: 'App package service',\n packageAppComment: 'Before packaging app,please make sure that the app certificate and other setting has been set already',\n androidDownloadUrl: 'Android app download url:',\n iosDownloadUrl: 'Ios app download url:',\n brandTitle: 'Brand personalized',\n logo: 'App Icon',\n require: '(Require)',\n upload: 'Upload',\n splash: 'App launch image ',\n color: 'Set up the App colors',\n setUp: 'Set up',\n colorSetUp: 'Change App colors',\n top_title_bg_color: \"Top title background\",\n top_title_font_color: \"Top title font\",\n bottom_navigation_bg_color: \"Bottom navigation background\",\n bottom_navigation_font_color: \"Bottom navigation font\",\n prompt_bg_color: \"Prompt background\",\n prompt_font_color: \"Prompt font\",\n preview: \"Effect preview\",\n final: \"The actual effect is subject to the installation package, the image is only for reference\",\n ref: \"\",\n haveSameFile: \"Files uploaded have same name,please change to others\",\n emptyImg: \"Empty Icon:\",\n alarmemptyImg: \"Alarm empty icon:\",\n fileNotUpload: \"No Upload File Found\",\n createApp: \"Create App\",\n createAppTitle: \"OEM App\",\n createAppTitleName: \"Create App\",\n sidebarApplicationId: 'ApplicationId:',\n sidebarWeb: 'Web:',\n sidebarSupportemail: 'Email:',\n sidebarCompany: 'Company:',\n sidebarCompanyEn: 'CompanyEnglish:',\n applicationId: \"Application Id\",\n appname: \"App Name\",\n phonenumber: \"Contact Number\",\n web: \"web\",\n supportemail: \"Support Email\",\n company: \"Company Name\",\n company_en: \"English Name\",\n formValidateMessage: ' can not be empty',\n applicationIdPlaceholder: \"Pkg name,you can input com.xxx.xxx\",\n appnamePlaceholder: \"Please input the name of application\",\n phonenumberPlaceholder: \"Please input your phone number\",\n webPlaceholder: \"Please input your Web Url\",\n supportemailPlaceholder: \"Please input your email\",\n email: 'not valid email',\n companyPlaceholder: \"Please input your Company Name\",\n company_enPlaceholder: \"Please input your Company English Name\",\n formValidateMessagePlaceholder: ' can not be empty',\n passwordPlaceholder: 'password',\n appCreateStatus: 'status:',\n confirm: 'it need to be audit by manager when it is first built,please wait for it',\n success: 'build success',\n fail: 'build fail',\n compiling: 'building app,it will take about 10-20 minutes,please wait for it',\n lastCreateDate: 'last build time:',\n pictureSize: 'Size ',\n pictureType: 'png,not exceed 3Mb',\n pictureNotPng: 'file is not png',\n pictureSizeError: 'img width or height do not match',\n language: 'Support Language',\n de: 'German',\n fr: 'France',\n nl: 'Polish',\n es: 'Spanish',\n ja: 'Japanese',\n ko: 'Korean',\n pt: 'Portuguesa',\n cn: 'Chinese',\n addLanguage: 'Add Language',\n LanguageTitle: 'Support Language Setting',\n FCM: 'Google FCM',\n FCM_Master: 'Google FCM_Master',\n configInfoTitle: 'App Push Setting',\n camera: 'Camera',\n bell: 'Bell',\n NVR: 'NVR',\n voicebell: 'Voice Bell',\n batterycamera: 'Battery Camera',\n flightcamera: 'Flight Camera',\n '4g_camera': '4G Camera',\n DeviceListTitle: 'Support Device Setting',\n iosPushPassword: 'Push password:',\n iosPushFile: 'Push file:',\n iosReleasePassword: 'Certificate password:',\n iosReleaseFile: 'P12 certificate:',\n iosReleaseMobileprovisionFile: 'Mobileprovision certificate:',\n iosDevPassword: 'Certificate password:',\n iosDevFile: 'P12 certificate:',\n iosDevMobileprovisionFile: 'Mobileprovision certificate:',\n iosAdhocFile: 'Adhoc File',\n pushSetting: 'IOS Push Setting',\n releaseSetting: 'IOS Release Setting',\n devSetting: 'IOS Developer Setting',\n adhocSetting: 'Adhoc Setting',\n certificateTitle: 'Certificate',\n otherSetting: 'Others',\n appCreateAndDownload: 'Create App',\n create: 'Create',\n basic: 'Basic',\n createAppButton: 'CREATE APP',\n confirmButton: 'Confirm',\n getAppsFail: 'get apps fail',\n creatingApp: 'Creating app',\n curlSuccess: 'success',\n createDate: 'Create Date',\n forcedUpdate: 'Forced Update',\n }\n },\n thingModelPublish: {\n issueVersion: \"issue current version\",\n choiceVersion: \"choice version\",\n create: \"create\",\n uploadFile: \"upload file\",\n thingModelId: \"identifier\",\n thingModelName: \"name\",\n thingModelType: \"type\",\n thingModelSpecs: \"spece\",\n thingModelDesc: \"desc\",\n thingModelAccessMode: \"access mode\",\n thingModelRequired: \"required\",\n update: \"redact\",\n remove: \"remove\",\n add: \"create\",\n rw: \"read-write\",\n r: \"read only\",\n w: \"write only\",\n remark: \"remark\",\n int: \"int\",\n intMax: \"maximum\",\n intMin: \"minimum\",\n intStep: \"step\",\n intUnit: \"unit\",\n text: \"text\",\n textLength: \"length\",\n bool: \"bool\",\n bool0: \"0\",\n bool1: \"1\",\n enum: \"enum\",\n enumValue: \"enum value\",\n enumRemark: \"fill in the parameter values and descriptions as {\\\"key1\\\":\\\"value1\\\",\\\"key2\\\":\\\"value2\\\"}\",\n versionRemark: \"version remark\",\n confirmButton: \"confirm\",\n cancleButton: \"cancle\",\n clickUpload: 'upload',\n alIOTVersionId: \"al IOT version ID\",\n isCurrentVersion: \"is current version\",\n isIssued: \"has published\",\n formThingModelIdValidateNumber: \"identifier must be number\",\n formThingModelIdValidateMessage: \"identifier cannot be null\",\n formThingModelNameValidateMessage: \"name cannot be null\",\n formThingModelRequiredValidateMessage: \"required cannot be null\",\n formThingModelAccessModeValidateMessage: \"access mode cannot be null\",\n formThingModelRemarkValidateMessage: \"remark cannot be null\",\n formThingModelTypeValidateMessage: \"type cannot be null\",\n formThingModelLengthValidateMessage: \"text length cannot be null\",\n formThingModelMaxValidateMessage: \"maximum cannot be null\",\n formThingModelMinValidateMessage: \"minimum cannot be null\",\n formThingModelStepValidateMessage: \"intStep cannot be null\",\n formThingModelUnitValidateMessage: \"intUnit cannot be null\",\n formThingModeEnumValidateMessage: \"enum value cannot be null\",\n formThingModeBool0ValidateMessage: \"0 cannot be null\",\n formThingModeBool1ValidateMessage: \"1 cannot be null\",\n formThingModeVersionRemarkValidateMessage: \"version remark cannot be null\"\n },\n companyInfo: {\n oemId: \"ome ID\",\n oemName: \"ome name\",\n oemDesc: \"ome description\",\n oemProductNum: \"product amount\",\n projectId: \"source app\",\n createDate: \"create date\",\n view: \"view\",\n update: \"update\",\n delete: \"delete\",\n add: \"add\",\n submit: \"submit\",\n cancel: \"cancel\",\n otherProduct: \"other product\",\n create: \"create\",\n submitDelete: \"are sure to delete?\",\n submitRemove: \"are sure to remove product OEM_ID?\",\n oemNameNotnull: \"the company name cannot be null\",\n oemIdNotnull: \"the company id cannot be null and has 9 digit number\",\n oemIdOnlyIsNumber: \"the company id must be 9 digit number\",\n tpInput: \"please input the tp number\",\n tpClassify: 'TP Classify'\n },\n device_publish: \"Device Publish\",\n device_gray_publish: \"Device Gray Publish\",\n license_control: \"License Control\",\n tp_control: \"Tp Control\",\n firmware_control: \"Firmware Control\",\n app_publish: \"App Publish\",\n intelligent_products: \"Intelligent Products\",\n userinfo_expired_msg: \"The login information is invalid. Please login again.\",\n zendao: \"WorkOrder\",\n cloud_order_list: \"OSS order\",\n addProductBatch: \"Add Product Batch\",\n\n moduleOperation: \"Operation\",\n moduleDataStatistics: \"Data Statistics\",\n moduleLog: \"Log Query\",\n moduleCloudStorage: \"Cloud Storage\",\n moduleLicense: \"License Information\",\n moduleExtend: \"Extend Module\",\n\n realTimeInfo: \"Real-time Information\",\n realTimeInfoTips: \"Real time display of device data, app data and user feedback and other real-time information. Please refer to the specific module for details.\",\n deviceDataInfo: \"device data\",\n activatedYesterday: \"activated yesterday\",\n activated30Days: \"activated in recent 30 days\",\n totalActivated: \"total activated\",\n\n appDataInfo: \"app data\",\n registerYesterday: \"registered yesterday\",\n register30Days: \"registered in recent 30 days\",\n totalRegister: \"total register\",\n\n feedbackYesterday: \"feedback yesterday\",\n feedback30Days: \"feedback in recent 30 days\",\n totalFeedback: \"total feedback\",\n appWorkbenchTips: \"One-stop self-owned brand OEM App construction and management service, based on official templates, personalized configuration brand and other information, easily create and manage your own App.\",\n productTips: 'Provide real-time monitoring, fast processing equipment management capabilities and end-user-oriented operation capabilities for products sold in batches.',\n version_config: 'App Config',\n basic_config_item: 'Basic Config',\n page_config: 'Page Config',\n certificate_config: 'Certificate Config',\n email_config: 'Code Email Config',\n sms_config: 'Code SMS Config',\n push_config: 'Push Config',\n get_key: 'Get SDK',\n app_cloud_config: 'APP Cloud Config',\n upload_translation_file: 'Translation File Config',\n copySuccess: 'Copy Success',\n copyError: 'Copy Error',\n appConfigs: {\n appSdkIntro: 'According to your needs, enter the necessary information and select the required modules. After configuring the SDK package items, you can download the automatically generated SDK configuration package and start development.',\n androidDocument: 'Android Development Document',\n iosDocument: 'iOS Development Document',\n addApp: 'Add App',\n customerId: 'Customer Id',\n createTime: 'Create Time',\n option: 'Option',\n config: 'Config',\n appName: 'App Name',\n androidPkgName: 'Android Pkg Name',\n iosPkgName: 'iOS Pkg Name',\n appVersion: 'App Version',\n applestoreId: 'iOS AppId',\n web: 'Web',\n company: 'Company',\n email: 'Email',\n mobile: 'Mobile',\n appLogo: 'App Logo',\n appSplash: 'App Splash',\n appThemeColor: 'App Theme Color',\n appPackage: 'App Package',\n appIcon: 'App Icon',\n address: 'Address',\n password: 'Password',\n host: 'Host',\n port: 'Port',\n isSupportSMTP: 'Is Support SMTP',\n isStarttlsEnable: 'Is Starttls Enable',\n isStarttlsRequired: 'Is Starttls Required',\n isSupportSSLTrust: 'Is Support SSL Trust',\n transportProtocol: 'Transport Protocol',\n isUseSocketFactory: 'Is Use Socket Factory',\n messageKey: 'Message Key',\n messageSecret: 'Message Secret',\n messageSignName: 'Message SignName',\n messageTemplate: 'Message Template',\n clickHelp: 'Click to view the help document',\n google: 'Google',\n aurora: 'Aurora',\n iosPushIntro: 'APNS is a push certificate for iOS App',\n googlePushIntro: 'If your App has overseas users, please configure this',\n auroraPushIntro: 'If your App has domestic users, please configure this',\n p8Upload: 'P8 file upload',\n jsonUpload: 'JSON file upload',\n mi: 'mi channel',\n huawei: 'huawei channel',\n vivo: 'vivo channel',\n oppo: 'oppo channel',\n show: 'Show',\n hide: 'Hide',\n copy: 'Copy',\n uploadTranslationFile: 'Upload Translation File',\n viewTranslationFile: 'View Translation File',\n historyVersion: 'History Version',\n selectTranslationLang: 'Select Translation Lang',\n addTranslationLang: 'Add Translation Lang',\n pleaseSelectTranslationLang: 'Please select translation language first',\n addRemark: 'Add Remark',\n noHistory: 'No Historical Version',\n en: 'English',\n 'zh-Hans': 'Simplified Chinese',\n de: 'German',\n fr: 'France',\n pl: 'Polish',\n es: 'Spanish',\n ja: 'Japanese',\n ko: 'Korean',\n it: 'Italian',\n ru: 'Russian',\n 'pt-BR': 'Brazilian',\n 'pt-PT': 'Portuguese',\n nl: 'Dutch',\n 'zh-Hant-TW': 'Traditional Chinese',\n hu: 'Hungarian',\n zh: 'Simplified Chinese',\n 'zh-tw': 'Traditional Chinese',\n pt: 'Portuguese',\n 'pt-br': 'Brazilian',\n wain: 'No initialization file, no operation',\n fileName: 'File Name',\n i: 'IOS',\n a: 'Android',\n fileUrl: 'File Url',\n phoneType: 'Phone Type',\n language: 'Language',\n upload: 'Upload',\n uploadDate: 'Upload Date',\n isSync: 'Is Sync',\n selectVersion: 'Select Version',\n selectVersionTips: 'Please select the version first',\n fileNotExist: 'File not exist',\n nameTips: 'Recommended format:com.xxx.xxx',\n nameWain: 'Supports input of letters, numbers, and underscores. Use \".\" to subdivide, at least 2 paragraphs, each beginning with a letter.',\n checkLang: 'Check Language',\n checkAll: 'Check All',\n checkFile: 'Check file',\n supportFormat: 'Support format',\n },\n steps: {\n version: 'Version',\n basic: 'Basic',\n page: 'Page',\n function: 'Function',\n shelf: 'Shelf',\n build: 'Build',\n last: 'Last:',\n next: 'Next:',\n beginBuild: 'Build'\n },\n enterCloud: 'enter cloud',\n cloudTips: 'View and manage the cloud storage data of the device in real time, including real-time information such as cloud storage orders, activation codes, and pricing. For details, please check the specific module.',\n customerTips: 'View and manage user feedback data, customer service information and common language configuration in real time, please check the specific module for details',\n guest: 'Customer',\n project_guest_list: 'Guest List',\n project_common_words: 'Common Words',\n project_feedback_list: 'Guest Complaint',\n ...enLocale\n }\n};\n","import Vue from 'vue'\r\n\r\nVue.prototype.$CacheKeys = {\r\n // 固件模块工程列表\r\n FW_PROJECT_LIST: \"fw_project_list\",\r\n // 固件模块平台列表\r\n FW_PLATFORM_LIST: \"fw_platform_list\",\r\n // 固件按模块OEM列表\r\n FW_OEM_LIST: \"fw_oem_list\",\r\n // 固件模块硬件板子列表\r\n FW_PRODUCT_LIST: \"fw_product_list\",\r\n // 固件模块功能点列表\r\n FW_FUNCTION_POINT_LIST: \"fw_function_point_list\",\r\n // 固件产品模块产品类型列表\r\n FW_PRODUCT_CATEGORY_LIST: \"fw_product_category_list\",\r\n // 固件产品模块产品型号列表\r\n FW_PRODUCT_MODEL_LIST: \"fw_product_model_list\",\r\n\r\n // 固件模块 p2p 列表\r\n FW_P2P_LIST: \"fw_p2p_list\",\r\n\r\n // 固件打包模块定制固件,用来和ID组合来展示进度条, 如下 PACKING_FW_CUSTOM_PACK_19: 300, 值是剩余时间,单位是 秒\r\n PACKING_FW_CUSTOM_PACK: \"PACKING_FW_CUSTOM_PACK\",\r\n}\r\n","import Vue from 'vue'\r\n\r\n// 20开发环境配置数据\r\nconst dev = {\r\n userName: \"admin\",\r\n code: \"dev20191122\",\r\n key: \"3fc44529ebd070ad80813cd6c8b3c55a\",\r\n host: \"https://192.168.1.20/zentao\",\r\n}\r\n\r\n// 本地环境配置数据\r\nconst local = {\r\n userName: \"admin\",\r\n code: \"apilogin2019\",\r\n key: \"a5d4c8d68d6786a77956f96e2cb5f73c\",\r\n host: \"http://127.0.0.1:443/zentao\",\r\n}\r\n\r\n// 正式环境配置数据\r\nconst prod = {\r\n /*host: \"http://47.254.45.205/zentao\",*/\r\n /*host: \"https://pis.meari.com.cn/zentao\",*/\r\n userName: \"admin\",\r\n code: \"iframe191122\",\r\n key: \"6ccf9e40fe443d2d800a749dbcc5df79\",\r\n /*host: \"http://47.254.45.205/zentao\",*/\r\n host: \"https://47.254.45.205/zentao\",\r\n}\r\n\r\n// 预发2上面的配置数据\r\nconst pre = {\r\n userName: \"admin\",\r\n code: \"iframe191122\",\r\n key: \"6ccf9e40fe443d2d800a749dbcc5df79\",\r\n /*host: \"http://47.254.45.205/zentao\",*/\r\n host: \"https://47.254.45.205/zentao\",\r\n}\r\n\r\nconst zentao = {\r\n active: prod,\r\n}\r\n\r\nVue.prototype.$zentao = zentao\r\n","import Vue from 'vue'\r\nimport store from '@/states.js'\r\n\r\n//inserted:被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)\r\n//如果bind获取不到el.parentNode\r\n//试试把 bind 改为 inserted\r\nconst hasPower = Vue.directive(\"hasPower\", {\r\n inserted: function(el, binding) {\r\n // 获取绑定元素的权限\r\n if (!Vue.prototype.$hasPower(binding.value)) {\r\n el.parentNode.removeChild(el);\r\n }\r\n }\r\n});\r\n\r\nconst hasAnyPowers = Vue.directive(\"hasAnyPowers\", {\r\n inserted: function(el, binding) {\r\n // 获取绑定元素的权限\r\n if (!Vue.prototype.$hasAnyPowers(binding.value)) {\r\n el.parentNode.removeChild(el);\r\n }\r\n }\r\n});\r\n\r\nconst hasAllPowers = Vue.directive(\"hasAllPowers\", {\r\n inserted: function(el, binding) {\r\n // 获取绑定元素的权限\r\n if (!Vue.prototype.$hasAllPowers(binding.value)) {\r\n el.parentNode.removeChild(el);\r\n }\r\n }\r\n});\r\n\r\n//// 权限检查方法(且把该方法添加到vue原型中)\r\nVue.prototype.$hasPower = function(power) {\r\n return store.getters.hasPower(power);\r\n};\r\n\r\nVue.prototype.$hasAnyPowers = (powers) => {\r\n return store.getters.hasAnyPowers(powers);\r\n}\r\n\r\nVue.prototype.$hasAllPowers = (powers) => {\r\n return store.getters.hasAllPowers(powers);\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[(_vm.isShow)?_c('router-view'):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","'use strict'\r\n\r\nlet watermark = {}\r\n\r\nlet setWatermark = (str) => {\r\n let id = '1.23452384164.123412415'\r\n\r\n if (document.getElementById(id) !== null) {\r\n document.body.removeChild(document.getElementById(id))\r\n }\r\n\r\n let can = document.createElement('canvas')\r\n can.width = 350\r\n can.height = 350\r\n\r\n let cans = can.getContext('2d')\r\n cans.rotate(-20 * Math.PI / 180)\r\n cans.font = '20px Vedana'\r\n cans.fillStyle = 'rgba(200, 200, 200, 0.20)'\r\n cans.textAlign = 'left'\r\n cans.textBaseline = 'Middle'\r\n cans.fillText(str, can.width / 3, can.height / 2)\r\n\r\n let div = document.createElement('div')\r\n div.id = id\r\n div.style.pointerEvents = 'none'\r\n div.style.top = '70px'\r\n div.style.left = '0px'\r\n div.style.position = 'fixed'\r\n div.style.zIndex = '100000'\r\n div.style.width = document.documentElement.clientWidth - 100 + 'px'\r\n div.style.height = document.documentElement.clientHeight - 100 + 'px'\r\n div.style.background = 'url(' + can.toDataURL('image/png') + ') left top repeat'\r\n document.body.appendChild(div)\r\n return id\r\n}\r\n\r\n// 该方法只允许调用一次\r\nwatermark.set = (str) => {\r\n let id = setWatermark(str)\r\n setInterval(() => {\r\n if (document.getElementById(id) === null) {\r\n id = setWatermark(str)\r\n }\r\n }, 500)\r\n window.onresize = () => {\r\n setWatermark(str)\r\n }\r\n}\r\n\r\nexport default watermark","\n\n\n\n\n","import mod from \"-!../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Main.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Main.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Main.vue?vue&type=template&id=18427006&\"\nimport script from \"./Main.vue?vue&type=script&lang=js&\"\nexport * from \"./Main.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Main.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/_vue-loader@15.9.6@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","import Vue from \"vue\";\r\nimport Router from \"vue-router\";\r\nimport \"./element-variables.scss\";\r\nimport VueI18n from \"vue-i18n\";\r\nimport Vuex from \"vuex\";\r\nimport \"element-ui/lib/theme-chalk/display.css\";\r\nimport '@/assets/icon/iconfont.css';\r\nimport '@/assets/css/common.css';\r\nimport local from './lib/until';\r\nimport Element from 'element-ui';\r\n\r\n\r\n//全局修改默认配置\r\nElement.TableColumn.props.showOverflowTooltip.default = true;\r\nVue.use(Element);\r\n\r\nVue.use(local);\r\n\r\nVue.use(Router);\r\nVue.use(VueI18n);\r\nVue.use(Vuex);\r\n\r\nimport VCharts from 'v-charts';\r\n\r\nVue.use(VCharts);\r\n\r\n// markdown 编辑器\r\nimport mavonEditor from 'mavon-editor';\r\nimport 'mavon-editor/dist/css/index.css';\r\n\r\nVue.use(mavonEditor);\r\n\r\n//复制插件\r\nimport Clipboard from 'v-clipboard';\r\n\r\nVue.use(Clipboard);\r\n\r\nimport routes from \"./routes\";\r\nimport messages from \"./messages\";\r\nimport states, {need_refresh} from \"./states\";\r\nimport './assets/css/appCreate.css';\r\nimport '@/assets/css/common.css';\r\n\r\n// 自定义的常量和工具类入口\r\nimport '@/constants/index.js';\r\nimport '@/utils/index.js';\r\n\r\nimport md5 from 'js-md5';\r\n\r\nVue.prototype.$MD5 = md5;\r\n\r\nimport '@/directives/hasPower.js';\r\n\r\n\r\n// 多语言\r\nconst i18n = new VueI18n({\r\n locale: \"en\",\r\n messages,\r\n silentTranslationWarn: true\r\n});\r\nimport ElementLocale from \"element-ui/lib/locale\";\r\n\r\nElementLocale.i18n((key, value) => i18n.t(key, value));\r\n\r\n// 全局变量\r\nconst store = new Vuex.Store(states);\r\n\r\n// 页面路由\r\nconst router = new Router({\r\n mode: \"history\",\r\n base: process.env.BASE_URL,\r\n routes: routes(store)\r\n});\r\n\r\n// 所有页面的http接口请求直接通过axios访问, 不封装额外的api.js\r\nimport axios from \"axios\";\r\nimport {Message, Loading} from \"element-ui\";\r\n\r\nconst use_global_loading = false;\r\nlet loading;\r\nlet loading_num = 0;\r\n\r\nfunction open_loading() {\r\n if (use_global_loading) {\r\n loading = Loading.service({fullscreen: true, background: 'rgba(0, 0, 0, 0.1)'});\r\n loading_num++;\r\n }\r\n}\r\n\r\nfunction close_loading() {\r\n use_global_loading && --loading_num === 0 && loading && loading.close();\r\n}\r\n\r\n// 在这里配置接口地址\r\n/*axios.defaults.baseURL = \"/api/\";*/\r\n\r\nconst getBaseUrl = (originUrl) => {\r\n const innerUrls = ['account', 'my', 'project/member', 'back/account', 'back/project/edit/addMember',\r\n 'back/project/edit/delMember', 'back/project/edit/delMember', 'back/permission-group', 'back/account-group'];\r\n\r\n let serverZone = store.getters.getServerZone;\r\n let host = location.host;\r\n let baseUrl = \"\";\r\n // 前端页面来自本地,用于本地开发\r\n if ([meari_zones[\"dev\"], meari_zones[\"localhost\"]].indexOf(host) >= 0 || location.hostname === 'localhost') {\r\n baseUrl = `/api/`;\r\n } else {\r\n let prefix = '';\r\n if (meari_zones[\"hz\"] === host) {\r\n //baseUrl = `http://${host}/${serverZone}_api/`;\r\n prefix = 'https';\r\n } else if (meari_zones[\"hz_pre\"] === host) {\r\n //baseUrl = `http://${host}/${serverZone}_api/`;\r\n prefix = 'http';\r\n } else {\r\n //baseUrl = `https://${host}/${serverZone}_api/`;\r\n prefix = 'http';\r\n }\r\n\r\n let isInnerUrl = false;\r\n innerUrls.forEach(url => {\r\n if (originUrl.startsWith(url)) {\r\n isInnerUrl = true;\r\n }\r\n });\r\n\r\n // 内部关于权限等操作全部转发到 HZ 服务器, 除杭州外的服务器都要配置 hz_api 转发到HZ\r\n if (isInnerUrl) {\r\n baseUrl = prefix + `://${host}/${serverZone}_api/`;\r\n //baseUrl = prefix + `://${host}/hz_api/`;\r\n } else {\r\n baseUrl = prefix + `://${host}/${serverZone}_api/`;\r\n }\r\n\r\n // 文档都转到HZ\r\n if (baseUrl.indexOf(\"help_doc/\") >= 0) {\r\n baseUrl = prefix + `://${host}/hz_api/`;\r\n }\r\n\r\n if (serverZone === 'sg') {\r\n baseUrl = 'https://pis-sg.meari.com.cn:444/api/';\r\n }\r\n }\r\n /*// 前端頁面是来自 HZ, 就通过HZ转发\r\n else if(meari_zones[\"hz\"] === host){\r\n let host = meari_zones[\"hz\"];\r\n baseUrl = `https://${host}/${serverZone}_api/`;\r\n }\r\n // 前端页面来自 us 通过 US 转发\r\n else if(meari_zones[\"us\"] === host){\r\n let host = meari_zones[\"us\"];\r\n baseUrl = `http://${host}/${serverZone}_api/`;\r\n }\r\n // 前端页面来自 eu 通过 EU 转发\r\n else if(meari_zones[\"eu\"] === host){\r\n let host = meari_zones[\"eu\"];\r\n baseUrl = `http://${host}/${serverZone}_api/`;\r\n }else if(meari_zones[\"arenti_hz\"] === host){\r\n let host = meari_zones[\"arenti_hz\"];\r\n baseUrl = `http://${host}/${serverZone}_api/`;\r\n }*/\r\n return baseUrl;\r\n};\r\n\r\n\r\naxios.defaults.timeout = 120000;\r\n// request interceptor\r\naxios.interceptors.request.use(\r\n config => {\r\n open_loading();\r\n // 处理用户登录后的请求头 config.headers={} 看不懂你们这个请求方式\r\n if (store.state.isLogin) {\r\n config.headers.common[\"Authorization\"] = `bearer ${store.state.token}`;\r\n }\r\n // todo 处理通用参数 config.data请求体, config.params请求参数\r\n // config参考https://github.com/axios/axios#request-config\r\n config.baseURL = getBaseUrl(config.url);\r\n return config;\r\n },\r\n error => {\r\n close_loading();\r\n // 处理通用请求异常\r\n // 如果需要覆盖这里的弹框, 直接在axios调用时catch即可\r\n Message({type: \"error\", message: error.message});\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nlet userinfoExpiredMsg = store.getters.getLocale.toLowerCase() == \"cn\" ?\r\n \"登录信息过期,请重新登录!\" : \"The login information is invalid. Please login again!\";\r\n\r\n// response interceptor\r\naxios.interceptors.response.use(\r\n response => {\r\n close_loading();\r\n //判断该接口是否需要验证\r\n let flag = getUrlParam(response.config.url, 'interceptexc') == 1;\r\n if (flag) {\r\n return response;\r\n }\r\n\r\n // 接口返回的resultCode如果不是1001, 触发catch\r\n if (response.data.resultCode && response.data.resultCode !== \"1001\") {\r\n\r\n // 如果resultCode不是数字, 直接弹出错误框\r\n if (isNaN(parseInt(response.data.resultCode))) {\r\n Message({type: \"error\", message: response.data.resultCode});\r\n }\r\n return Promise.reject({response});\r\n }\r\n return response;\r\n },\r\n error => {\r\n close_loading();\r\n\r\n // 处理通用响应异常\r\n // 如果需要覆盖这里的弹框, 直接在axios调用时catch即可\r\n if (error.message === \"Request failed with status code 401\") {\r\n store.commit(\"clean_token\");\r\n router.push(\"/login\");\r\n Message({type: \"error\", message: userinfoExpiredMsg, duration: 2000, showClose: true});\r\n } else {\r\n Message({type: \"error\", message: error.message, duration: 2000, showClose: true});\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nVue.prototype.$axios = axios;\r\n\r\n// 全局过滤器\r\nimport {formatDate} from './Date';\r\n\r\nconst format_date = date => formatDate(new Date(date), 'yyyy-MM-dd hh:mm:ss');\r\nwindow.format_date = format_date;\r\nVue.prototype.$formatDate = format_date;\r\nVue.filter(\"formatDate\", format_date);\r\nVue.filter(\"typeName\", type => store.getters.product_types()[type] || type);\r\nVue.filter(\"nullValueToNa\", data => (!data || data === undefined || data === '') ? \"N/A\" : data);\r\n\r\n// 全局函数 拉取用户信息和用户权限\r\nlet get_user_info = (location) => {\r\n // 获取账户信息, 放到states\r\n axios.get(\"my/info\").then(res => {\r\n store.commit(\"save_user_info\", res.data);\r\n // 获取账户权限, 放到states\r\n axios.get(\"my/power/list\").then(res => {\r\n store.commit(\"save_power\", res.data);\r\n // 跳转主页\r\n if (location) {\r\n router.push(location);\r\n } else {\r\n router.push(\"/\");\r\n }\r\n });\r\n });\r\n};\r\nVue.prototype.get_user_info = get_user_info;\r\n\r\nconst getSourceAppList = (firmList) => {\r\n axios.get(`/back/getAllConfigInfo?page=1&size=9999`).then(res => {\r\n const data = res.data;\r\n if (data && data.resultCode === '1001') {\r\n let list = data.content;\r\n list.forEach(configInfo => {\r\n firmList.push({\r\n id: configInfo.sourceApp,\r\n name: configInfo.partnerName\r\n });\r\n });\r\n\r\n } else {\r\n this.$message({message: this.$t('fail'), type: 'error'});\r\n }\r\n\r\n }).catch((resMap) => {\r\n this.$message({message: this.$t('fail'), type: 'error'});\r\n\r\n });\r\n};\r\n\r\nVue.prototype.getSourceAppList = getSourceAppList;\r\n\r\nif (need_refresh) {\r\n get_user_info(`${location.pathname}${location.search}`);\r\n}\r\n\r\nimport Aside from '@/views/common/Aside.vue';\r\nimport Breadcrumb from '@/views/common/Breadcrumb.vue';\r\nimport NavTop from '@/views/common/NavTop.vue';\r\n\r\nVue.component(\"Aside\", Aside);\r\nVue.component(\"Breadcrumb\", Breadcrumb);\r\nVue.component(\"NavTop\", NavTop);\r\n\r\n// 处理当前路由重复跳转时报错\r\nconst routerPush = Router.prototype.push;\r\nRouter.prototype.push = function (location) {\r\n return routerPush.call(this, location).catch(error => error);\r\n};\r\n\r\nconst routerReplace = Router.prototype.replace;\r\nRouter.prototype.replace = function (location) {\r\n return routerReplace.call(this, location).catch(error => error);\r\n};\r\n\r\n\r\n//防止手动修改localstorage\r\nwindow.addEventListener('storage', (e) => {\r\n sessionStorage.setItem(e.key, e.oldValue); //重新赋值修改前的值\r\n localStorage.setItem(e.key, e.oldValue); //重新赋值修改前的值\r\n});\r\n\r\n//table数据为空时展示--\r\nconst formatterCellValue = (row, column, cellValue, index) => {\r\n if (!Boolean(cellValue)) {\r\n return \"--\";\r\n } else {\r\n return cellValue;\r\n }\r\n};\r\nVue.prototype.$formatterCellValue = formatterCellValue;\r\n\r\n\r\nimport Main from \"./Main.vue\";\r\nimport {getUrlParam} from \"./utils\";\r\n\r\nnew Vue({\r\n router,\r\n i18n,\r\n store,\r\n render: h => h(Main)\r\n}).$mount(\"#app\");\r\n","module.exports = ELEMENT;","export function formatDate (date, fmt) {\r\n if(!date){\r\n return null;\r\n }\r\n\r\n if (/(y+)/.test(fmt)) {\r\n fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));\r\n }\r\n let o = {\r\n 'M+': date.getMonth() + 1,\r\n 'd+': date.getDate(),\r\n 'h+': date.getHours(),\r\n 'm+': date.getMinutes(),\r\n 's+': date.getSeconds()\r\n };\r\n for (let k in o) {\r\n if (new RegExp(`(${k})`).test(fmt)) {\r\n let str = o[k] + '';\r\n fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));\r\n }\r\n }\r\n return fmt;\r\n};\r\n\r\nfunction padLeftZero (str) {\r\n return ('00' + str).substr(str.length);\r\n};\r\n","import Vue from 'vue'\r\n\r\n\r\nclass StringUtilClass{\r\n constructor() {\r\n this.instance = null;\r\n }\r\n // 构造一个广为人知的接口,供用户对该类进行实例化\r\n static getInstance() {\r\n if(!this.instance) {\r\n this.instance = new StringUtilClass();\r\n }\r\n return this.instance;\r\n }\r\n\r\n // 是否为 null 或者 空字符串 或者为 \"null\"\r\n isBlank(str){\r\n if(!str){\r\n return true;\r\n }else{\r\n if(str.match(/^[ ]+$/)){\r\n return true;\r\n }else if(\"null\" == str){\r\n return true;\r\n }else{\r\n return false;\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport const StringUtil = StringUtilClass.getInstance();\r\n\r\nVue.prototype.$StringUtil = StringUtil;\r\n","module.exports = Vue;","export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./NavTop.vue?vue&type=style&index=0&id=8cb23240&scoped=true&lang=css&\"","// 读取浏览器保存的配置\nimport {StringUtil} from \"./utils/StringUtil\";\n\nlet locale = localStorage.getItem(\"locale\") || \"en\";\nif (meari_hash.indexOf(\"locale=\") > 0) {\n locale = meari_hash.substr(7 + meari_hash.indexOf(\"locale=\"), 2);\n localStorage.setItem(\"locale\", locale);\n}\n\nlet serverZone = \"\";\nif (localStorage.getItem(\"serverZone\") && localStorage.getItem(\"serverZone\").length > 0) {\n serverZone = localStorage.getItem(\"serverZone\");\n} else {\n for (let i in meari_zones) {\n if (meari_zones[i].indexOf(location.host) >= 0) {\n serverZone = i;\n }\n }\n}\nif (\"\" === serverZone) {\n serverZone = \"hz\";\n}\nif (location.hostname === 'localhost') {\n serverZone = 'localhost';\n}\nfor (let i in meari_zones) {\n if (meari_zones[i].indexOf(location.host) >= 0) {\n serverZone = i;\n document.title = 'meari | ' + serverZone.toUpperCase();\n }\n}\nlocalStorage.setItem(\"serverZone\", serverZone);\n\nlet token = localStorage.getItem(\"token\");\nlet need_refresh = false;\nif (meari_hash.indexOf(\"token=\") > 0) {\n token = meari_hash.substr(6 + meari_hash.indexOf(\"token=\"));\n if (!StringUtil.isBlank(token)) {\n need_refresh = true;\n localStorage.setItem(\"token\", token);\n }\n}\nconst user_info = JSON.parse(localStorage.getItem(\"user_info\")) || {};\nconst power = JSON.parse(localStorage.getItem(\"power\")) || {};\nconst my_project = JSON.parse(localStorage.getItem(\"my_project\")) || {};\n\nconst getUrlKey = name =>\n decodeURIComponent(\n (new RegExp(`[?|&]${name}=([^&;]+?)(&|#|;|$)`).exec(location.href) || [\n undefined,\n \"\"\n ])[1].replace(/\\+/g, \"%20\")\n ) || null;\n\nexport {\n need_refresh\n};\n\nexport default {\n // 全局变量\n state: {\n locale,\n serverZone,\n isLogin: !StringUtil.isBlank(token),\n token,\n user_info,\n power,\n my_project\n },\n // 全局变量的修改只能通过mutation函数\n // 通过this.$store.commit(\"change_locale\", \"cn\");调用\n mutations: {\n change_locale(state, v) {\n state.locale = v;\n localStorage.setItem(\"locale\", v);\n },\n change_serverZone(state, v) {\n // state.serverZone = v;\n // localStorage.setItem(\"serverZone\", v);\n /* for (let i in meari_zones) {\n if (v === i) {\n if(\"hz\" == i){\n location.href=`https://${meari_zones[i]}${location.pathname}${location.search}#locale=${state.locale}&token=${state.token}`;\n }else{\n location.href=`http://${meari_zones[i]}${location.pathname}${location.search}#locale=${state.locale}&token=${state.token}`;\n }\n //location.href=`${location.protocol}//${meari_zones[i]}${location.pathname}${location.search}#locale=${state.locale}&token=${state.token}`;\n }\n }*/\n localStorage.setItem(\"serverZone\", v);\n state.serverZone = v;\n },\n save_token(state, v) {\n state.token = v;\n state.isLogin = true;\n localStorage.setItem(\"token\", v);\n },\n clean_token(state) {\n state.isLogin = false;\n state.token = null;\n state.user_info = {};\n state.power = {};\n localStorage.removeItem(\"token\");\n localStorage.removeItem(\"user_info\");\n localStorage.removeItem(\"power\");\n },\n save_user_info(state, v) {\n /*state.user_info = JSON.stringify(v);\n localStorage.setItem(\"user_info\", state.user_info);*/\n state.user_info = v;\n localStorage.setItem(\"user_info\", JSON.stringify(state.user_info));\n },\n save_power(state, v) {\n /*state.power = JSON.stringify(v);\n localStorage.setItem(\"power\", state.power);*/\n state.power = v;\n localStorage.setItem(\"power\", JSON.stringify(state.power));\n },\n save_my_project(state, v) {\n /*state.my_project = JSON.stringify(v);\n localStorage.setItem(\"my_project\", state.my_project);*/\n state.my_project = v;\n localStorage.setItem(\"my_project\", JSON.stringify(state.my_project));\n }\n },\n getters: {\n getLocale: state => JSON.parse(JSON.stringify(state.locale)),\n getServerZone: state => state.serverZone,\n\n user_info: state => JSON.parse(JSON.stringify(state.user_info)),\n user_token: state => state.token,\n // 判断权限, 在页面中调用$store.getters.hasPower(1000)\n hasPower: state => (power, project) => {\n // project不传则从浏览器url获取, -1为后台权限, >0为项目权限\n if (!project) {\n project = getUrlKey(\"projectId\") || -1;\n }\n const jsonPower = JSON.parse(JSON.stringify(state.power));\n return jsonPower.power && jsonPower.power[project] && jsonPower.power[project].includes(power);\n },\n hasAnyPowers: state => (powers) => {\n const project = getUrlKey(\"projectId\") || -1;\n for (let power of powers) {\n const jsonPower = JSON.parse(JSON.stringify(state.power));\n if (jsonPower.power && jsonPower.power[project] && jsonPower.power[project].includes(power)) {\n return true;\n }\n }\n return false;\n },\n hasAllPowers: state => (powers) => {\n const project = getUrlKey(\"projectId\") || -1;\n for (let power of powers) {\n const jsonPower = JSON.parse(JSON.stringify(state.power));\n if (jsonPower.power && !jsonPower.power[project] || !jsonPower.power[project].includes(power)) {\n return false;\n }\n }\n return true;\n },\n getDefaultCreateAppUrlPrefix: state => {\n switch (state.serverZone) {\n case \"hz\":\n return \"https://apis-cn-hangzhou.meari.com.cn/appconfig/\";\n case \"eu\":\n return \"https://apis-us-west.meari.com.cn/appconfig/\";\n case \"us\":\n return \"https://apis-us-west.meari.com.cn/appconfig/\";\n default:\n return \"https://apis-cn-hangzhou.meari.com.cn/appconfig/\";\n }\n\n },\n project_name: state => (project) => {\n const json = JSON.parse(JSON.stringify(state.my_project));\n for (let item of json.list) {\n if (item.id === project) {\n return item.name;\n }\n }\n return project;\n },\n product_types: state => () => {\n return {\n 1: \"nvr\",\n 2: \"ipc\",\n 3: \"ipcMini\",\n 4: \"bell\",\n 5: \"snap\",\n 6: \"voiceBell\",\n 7: \"fourthGeneration\",\n 8: \"flight\", // 灯具\n 9: \"relay\",\n 10: \"babyMonitor\"\n };\n },\n }\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-aside',[_c('el-row',[_c('el-col',[_c('el-menu',{attrs:{\"default-active\":_vm.active},on:{\"select\":_vm.handleSelect}},_vm._l((_vm.list),function(item){return _c('div',{key:item.url},[(!item.list)?_c('el-menu-item',{attrs:{\"index\":item.url}},[_c('i',{class:item.icon}),_vm._v(_vm._s(_vm.$t(item.url)))]):_vm._e(),(item.list)?_c('el-submenu',{attrs:{\"index\":item.url}},[_c('template',{slot:\"title\"},[_c('i',{class:item.icon}),_vm._v(_vm._s(_vm.$t(item.url)))]),_vm._l((item.list),function(sub_item){return _c('el-menu-item',{key:sub_item,attrs:{\"index\":((item.url) + \"/\" + sub_item)}},[_vm._v(_vm._s(_vm.$t(sub_item))+\"\\n \")])})],2):_vm._e()],1)}),0)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Aside.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Aside.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Aside.vue?vue&type=template&id=62123d26&scoped=true&\"\nimport script from \"./Aside.vue?vue&type=script&lang=js&\"\nexport * from \"./Aside.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Aside.vue?vue&type=style&index=0&id=62123d26&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"62123d26\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Main.vue?vue&type=style&index=0&lang=css&\"","module.exports = axios;","export * from \"-!../../../node_modules/_mini-css-extract-plugin@0.8.2@mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/_css-loader@1.0.1@css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/_postcss-loader@3.0.0@postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/_cache-loader@2.0.1@cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/_vue-loader@15.9.6@vue-loader/lib/index.js??vue-loader-options!./Aside.vue?vue&type=style&index=0&id=62123d26&scoped=true&lang=css&\"","import Vue from 'vue'\r\nimport axios from \"axios\";\r\n\r\n// 封装的带 sessionStorage 缓存的请求方法,路由发生变化时会清除缓存,也可以手动清除\r\n\r\nasync function getRequest(url,cacheKey) {\r\n let cacheValue = sessionStorage.getItem(cacheKey);\r\n if(cacheKey && cacheValue){\r\n return JSON.parse(cacheValue);\r\n }else{\r\n let res = await axios.get(url);\r\n if(cacheKey){\r\n sessionStorage.setItem(cacheKey,JSON.stringify(res));\r\n }\r\n return new Promise( resolve => {\r\n resolve(res);\r\n })\r\n }\r\n}\r\n\r\nasync function postRequest(url,form,cacheKey) {\r\n let cacheValue = sessionStorage.getItem(cacheKey);\r\n if(cacheKey && cacheValue){\r\n return JSON.parse(cacheValue);\r\n }else{\r\n let res = await axios.post(url,form);\r\n if(cacheKey){\r\n sessionStorage.setItem(cacheKey,JSON.stringify(res));\r\n }\r\n return new Promise( resolve => {\r\n resolve(res);\r\n })\r\n }\r\n}\r\n\r\nVue.prototype.$getRequest = getRequest;\r\nVue.prototype.$postRequest = postRequest;\r\n","/*当前文件作用是:\r\n由于hz环境使用 https 所以直接访问19上面的http请求不能执行,目前采取的解决方法是\r\n在 hz 上面将 https 转成 http ,转发到 19 的外网 ip:443 -> 19:443 进行转发的方式*/\r\n\r\n\r\nimport Vue from 'vue'\r\nimport store from '@/states.js'\r\n\r\n// 获取当前环境 19上 的路径\r\nVue.prototype.$getLocal19Url = () => {\r\n let serverZone = store.state.serverZone;\r\n let host = meari_zones[serverZone];\r\n\r\n // 前端页面位于本地\r\n if([meari_zones[\"dev\"],meari_zones[\"localhost\"],meari_zones['hz_pre']].indexOf(host) >= 0){\r\n /*return \"http://192.168.1.19:443\";*/\r\n return \"https://pis.meari.com.cn/proxy\";\r\n }\r\n // 前端页面位于服务器\r\n else{\r\n return \"https://pis.meari.com.cn/proxy\";\r\n }\r\n}\r\n\r\n","/**\r\n * DES 加密算法\r\n *\r\n * 该函数接受一个 8 字节字符串作为普通 DES 算法的密钥(也就是 64 位,但是算法只使用 56 位),或者接受一个 24 字节字符串作为 3DES\r\n * 算法的密钥;第二个参数是要加密或解密的信息字符串;第三个布尔值参数用来说明信息是加密还是解密;接下来的可选参数 mode 如果是 0 表示 ECB\r\n * 模式,1 表示 CBC 模式,默认是 ECB 模式;最后一个可选项是一个 8 字节的输入向量字符串(在 ECB 模式下不使用)。返回的密文是字符串。\r\n *\r\n * 参数:
\r\n * key: 8字节字符串作为普通 DES 算法的密钥,或 24 字节字符串作为 3DES
\r\n * message: 加密或解密的信息字符串
\r\n * encrypt: 布尔值参数用来说明信息是加密还是解密
\r\n * mode: 1:CBC模式,0:ECB模式(默认)
\r\n * iv:
\r\n * padding: 可选项, 8字节的输入向量字符串(在 ECB 模式下不使用)\r\n */\r\n//this takes the key, the message, and whether to encrypt or decrypt\r\nfunction des(key, message, encrypt, mode, iv, padding) {\r\n if(encrypt) //如果是加密的话,首先转换编码\r\n message = unescape(encodeURIComponent(message));\r\n //declaring this locally speeds things up a bit\r\n var spfunction1 = new Array (0x1010400,0,0x10000,0x1010404,0x1010004,0x10404,0x4,0x10000,0x400,0x1010400,0x1010404,0x400,0x1000404,0x1010004,0x1000000,0x4,0x404,0x1000400,0x1000400,0x10400,0x10400,0x1010000,0x1010000,0x1000404,0x10004,0x1000004,0x1000004,0x10004,0,0x404,0x10404,0x1000000,0x10000,0x1010404,0x4,0x1010000,0x1010400,0x1000000,0x1000000,0x400,0x1010004,0x10000,0x10400,0x1000004,0x400,0x4,0x1000404,0x10404,0x1010404,0x10004,0x1010000,0x1000404,0x1000004,0x404,0x10404,0x1010400,0x404,0x1000400,0x1000400,0,0x10004,0x10400,0,0x1010004);\r\n var spfunction2 = new Array (-0x7fef7fe0,-0x7fff8000,0x8000,0x108020,0x100000,0x20,-0x7fefffe0,-0x7fff7fe0,-0x7fffffe0,-0x7fef7fe0,-0x7fef8000,-0x80000000,-0x7fff8000,0x100000,0x20,-0x7fefffe0,0x108000,0x100020,-0x7fff7fe0,0,-0x80000000,0x8000,0x108020,-0x7ff00000,0x100020,-0x7fffffe0,0,0x108000,0x8020,-0x7fef8000,-0x7ff00000,0x8020,0,0x108020,-0x7fefffe0,0x100000,-0x7fff7fe0,-0x7ff00000,-0x7fef8000,0x8000,-0x7ff00000,-0x7fff8000,0x20,-0x7fef7fe0,0x108020,0x20,0x8000,-0x80000000,0x8020,-0x7fef8000,0x100000,-0x7fffffe0,0x100020,-0x7fff7fe0,-0x7fffffe0,0x100020,0x108000,0,-0x7fff8000,0x8020,-0x80000000,-0x7fefffe0,-0x7fef7fe0,0x108000);\r\n var spfunction3 = new Array (0x208,0x8020200,0,0x8020008,0x8000200,0,0x20208,0x8000200,0x20008,0x8000008,0x8000008,0x20000,0x8020208,0x20008,0x8020000,0x208,0x8000000,0x8,0x8020200,0x200,0x20200,0x8020000,0x8020008,0x20208,0x8000208,0x20200,0x20000,0x8000208,0x8,0x8020208,0x200,0x8000000,0x8020200,0x8000000,0x20008,0x208,0x20000,0x8020200,0x8000200,0,0x200,0x20008,0x8020208,0x8000200,0x8000008,0x200,0,0x8020008,0x8000208,0x20000,0x8000000,0x8020208,0x8,0x20208,0x20200,0x8000008,0x8020000,0x8000208,0x208,0x8020000,0x20208,0x8,0x8020008,0x20200);\r\n var spfunction4 = new Array (0x802001,0x2081,0x2081,0x80,0x802080,0x800081,0x800001,0x2001,0,0x802000,0x802000,0x802081,0x81,0,0x800080,0x800001,0x1,0x2000,0x800000,0x802001,0x80,0x800000,0x2001,0x2080,0x800081,0x1,0x2080,0x800080,0x2000,0x802080,0x802081,0x81,0x800080,0x800001,0x802000,0x802081,0x81,0,0,0x802000,0x2080,0x800080,0x800081,0x1,0x802001,0x2081,0x2081,0x80,0x802081,0x81,0x1,0x2000,0x800001,0x2001,0x802080,0x800081,0x2001,0x2080,0x800000,0x802001,0x80,0x800000,0x2000,0x802080);\r\n var spfunction5 = new Array (0x100,0x2080100,0x2080000,0x42000100,0x80000,0x100,0x40000000,0x2080000,0x40080100,0x80000,0x2000100,0x40080100,0x42000100,0x42080000,0x80100,0x40000000,0x2000000,0x40080000,0x40080000,0,0x40000100,0x42080100,0x42080100,0x2000100,0x42080000,0x40000100,0,0x42000000,0x2080100,0x2000000,0x42000000,0x80100,0x80000,0x42000100,0x100,0x2000000,0x40000000,0x2080000,0x42000100,0x40080100,0x2000100,0x40000000,0x42080000,0x2080100,0x40080100,0x100,0x2000000,0x42080000,0x42080100,0x80100,0x42000000,0x42080100,0x2080000,0,0x40080000,0x42000000,0x80100,0x2000100,0x40000100,0x80000,0,0x40080000,0x2080100,0x40000100);\r\n var spfunction6 = new Array (0x20000010,0x20400000,0x4000,0x20404010,0x20400000,0x10,0x20404010,0x400000,0x20004000,0x404010,0x400000,0x20000010,0x400010,0x20004000,0x20000000,0x4010,0,0x400010,0x20004010,0x4000,0x404000,0x20004010,0x10,0x20400010,0x20400010,0,0x404010,0x20404000,0x4010,0x404000,0x20404000,0x20000000,0x20004000,0x10,0x20400010,0x404000,0x20404010,0x400000,0x4010,0x20000010,0x400000,0x20004000,0x20000000,0x4010,0x20000010,0x20404010,0x404000,0x20400000,0x404010,0x20404000,0,0x20400010,0x10,0x4000,0x20400000,0x404010,0x4000,0x400010,0x20004010,0,0x20404000,0x20000000,0x400010,0x20004010);\r\n var spfunction7 = new Array (0x200000,0x4200002,0x4000802,0,0x800,0x4000802,0x200802,0x4200800,0x4200802,0x200000,0,0x4000002,0x2,0x4000000,0x4200002,0x802,0x4000800,0x200802,0x200002,0x4000800,0x4000002,0x4200000,0x4200800,0x200002,0x4200000,0x800,0x802,0x4200802,0x200800,0x2,0x4000000,0x200800,0x4000000,0x200800,0x200000,0x4000802,0x4000802,0x4200002,0x4200002,0x2,0x200002,0x4000000,0x4000800,0x200000,0x4200800,0x802,0x200802,0x4200800,0x802,0x4000002,0x4200802,0x4200000,0x200800,0,0x2,0x4200802,0,0x200802,0x4200000,0x800,0x4000002,0x4000800,0x800,0x200002);\r\n var spfunction8 = new Array (0x10001040,0x1000,0x40000,0x10041040,0x10000000,0x10001040,0x40,0x10000000,0x40040,0x10040000,0x10041040,0x41000,0x10041000,0x41040,0x1000,0x40,0x10040000,0x10000040,0x10001000,0x1040,0x41000,0x40040,0x10040040,0x10041000,0x1040,0,0,0x10040040,0x10000040,0x10001000,0x41040,0x40000,0x41040,0x40000,0x10041000,0x1000,0x40,0x10040040,0x1000,0x41040,0x10001000,0x40,0x10000040,0x10040000,0x10040040,0x10000000,0x40000,0x10001040,0,0x10041040,0x40040,0x10000040,0x10040000,0x10001000,0x10001040,0,0x10041040,0x41000,0x41000,0x1040,0x1040,0x40040,0x10000000,0x10041000);\r\n //create the 16 or 48 subkeys we will need\r\n var keys = des_createKeys (key);\r\n var m=0, i, j, temp, temp2, right1, right2, left, right, looping;\r\n var cbcleft, cbcleft2, cbcright, cbcright2\r\n var endloop, loopinc;\r\n var len = message.length;\r\n var chunk = 0;\r\n //set up the loops for single and triple des\r\n var iterations = keys.length == 32 ? 3 : 9; //single or triple des\r\n if (iterations == 3) {looping = encrypt ? new Array (0, 32, 2) : new Array (30, -2, -2);}\r\n else {looping = encrypt ? new Array (0, 32, 2, 62, 30, -2, 64, 96, 2) : new Array (94, 62, -2, 32, 64, 2, 30, -2, -2);}\r\n //pad the message depending on the padding parameter\r\n if (padding == 2) message += \" \"; //pad the message with spaces\r\n else if (padding == 1) {\r\n if(encrypt) {\r\n temp = 8-(len%8);\r\n message += String.fromCharCode(temp,temp,temp,temp,temp,temp,temp,temp);\r\n if (temp===8) len+=8;\r\n }\r\n } //PKCS7 padding\r\n else if (!padding) message += \"\\0\\0\\0\\0\\0\\0\\0\\0\"; //pad the message out with null bytes\r\n //store the result here\r\n var result = \"\";\r\n var tempresult = \"\";\r\n if (mode == 1) { //CBC mode\r\n cbcleft = (iv.charCodeAt(m++) << 24) | (iv.charCodeAt(m++) << 16) | (iv.charCodeAt(m++) << 8) | iv.charCodeAt(m++);\r\n cbcright = (iv.charCodeAt(m++) << 24) | (iv.charCodeAt(m++) << 16) | (iv.charCodeAt(m++) << 8) | iv.charCodeAt(m++);\r\n m=0;\r\n }\r\n //loop through each 64 bit chunk of the message\r\n while (m < len) {\r\n left = (message.charCodeAt(m++) << 24) | (message.charCodeAt(m++) << 16) | (message.charCodeAt(m++) << 8) | message.charCodeAt(m++);\r\n right = (message.charCodeAt(m++) << 24) | (message.charCodeAt(m++) << 16) | (message.charCodeAt(m++) << 8) | message.charCodeAt(m++);\r\n //for Cipher Block Chaining mode, xor the message with the previous result\r\n if (mode == 1) {if (encrypt) {left ^= cbcleft; right ^= cbcright;} else {cbcleft2 = cbcleft; cbcright2 = cbcright; cbcleft = left; cbcright = right;}}\r\n //first each 64 but chunk of the message must be permuted according to IP\r\n temp = ((left >>> 4) ^ right) & 0x0f0f0f0f; right ^= temp; left ^= (temp << 4);\r\n temp = ((left >>> 16) ^ right) & 0x0000ffff; right ^= temp; left ^= (temp << 16);\r\n temp = ((right >>> 2) ^ left) & 0x33333333; left ^= temp; right ^= (temp << 2);\r\n temp = ((right >>> 8) ^ left) & 0x00ff00ff; left ^= temp; right ^= (temp << 8);\r\n temp = ((left >>> 1) ^ right) & 0x55555555; right ^= temp; left ^= (temp << 1);\r\n left = ((left << 1) | (left >>> 31));\r\n right = ((right << 1) | (right >>> 31));\r\n //do this either 1 or 3 times for each chunk of the message\r\n for (j=0; j>> 4) | (right << 28)) ^ keys[i+1];\r\n //the result is attained by passing these bytes through the S selection functions\r\n temp = left;\r\n left = right;\r\n right = temp ^ (spfunction2[(right1 >>> 24) & 0x3f] | spfunction4[(right1 >>> 16) & 0x3f]\r\n | spfunction6[(right1 >>> 8) & 0x3f] | spfunction8[right1 & 0x3f]\r\n | spfunction1[(right2 >>> 24) & 0x3f] | spfunction3[(right2 >>> 16) & 0x3f]\r\n | spfunction5[(right2 >>> 8) & 0x3f] | spfunction7[right2 & 0x3f]);\r\n }\r\n temp = left; left = right; right = temp; //unreverse left and right\r\n } //for either 1 or 3 iterations\r\n //move then each one bit to the right\r\n left = ((left >>> 1) | (left << 31));\r\n right = ((right >>> 1) | (right << 31));\r\n //now perform IP-1, which is IP in the opposite direction\r\n temp = ((left >>> 1) ^ right) & 0x55555555; right ^= temp; left ^= (temp << 1);\r\n temp = ((right >>> 8) ^ left) & 0x00ff00ff; left ^= temp; right ^= (temp << 8);\r\n temp = ((right >>> 2) ^ left) & 0x33333333; left ^= temp; right ^= (temp << 2);\r\n temp = ((left >>> 16) ^ right) & 0x0000ffff; right ^= temp; left ^= (temp << 16);\r\n temp = ((left >>> 4) ^ right) & 0x0f0f0f0f; right ^= temp; left ^= (temp << 4);\r\n //for Cipher Block Chaining mode, xor the message with the previous result\r\n if (mode == 1) {if (encrypt) {cbcleft = left; cbcright = right;} else {left ^= cbcleft2; right ^= cbcright2;}}\r\n tempresult += String.fromCharCode ((left>>>24), ((left>>>16) & 0xff), ((left>>>8) & 0xff), (left & 0xff), (right>>>24), ((right>>>16) & 0xff), ((right>>>8) & 0xff), (right & 0xff));\r\n chunk += 8;\r\n if (chunk == 512) {result += tempresult; tempresult = \"\"; chunk = 0;}\r\n } //for every 8 characters, or 64 bits in the message\r\n //return the result as an array\r\n result += tempresult;\r\n result = result.replace(/\\0*$/g, \"\");\r\n if(!encrypt ) { //如果是解密的话,解密结束后对PKCS7 padding进行解码,并转换成utf-8编码\r\n if(padding === 1) { //PKCS7 padding解码\r\n var len = result.length, paddingChars = 0;\r\n len && (paddingChars = result.charCodeAt(len-1));\r\n (paddingChars <= 8) && (result = result.substring(0, len - paddingChars));\r\n }\r\n //转换成UTF-8编码\r\n result = decodeURIComponent(escape(result));\r\n }\r\n return result;\r\n} //end of des\r\n//des_createKeys\r\n//this takes as input a 64 bit key (even though only 56 bits are used)\r\n//as an array of 2 integers, and returns 16 48 bit keys\r\nfunction des_createKeys (key) {\r\n //declaring this locally speeds things up a bit\r\n var pc2bytes0 = new Array (0,0x4,0x20000000,0x20000004,0x10000,0x10004,0x20010000,0x20010004,0x200,0x204,0x20000200,0x20000204,0x10200,0x10204,0x20010200,0x20010204);\r\n var pc2bytes1 = new Array (0,0x1,0x100000,0x100001,0x4000000,0x4000001,0x4100000,0x4100001,0x100,0x101,0x100100,0x100101,0x4000100,0x4000101,0x4100100,0x4100101);\r\n var pc2bytes2 = new Array (0,0x8,0x800,0x808,0x1000000,0x1000008,0x1000800,0x1000808,0,0x8,0x800,0x808,0x1000000,0x1000008,0x1000800,0x1000808);\r\n var pc2bytes3 = new Array (0,0x200000,0x8000000,0x8200000,0x2000,0x202000,0x8002000,0x8202000,0x20000,0x220000,0x8020000,0x8220000,0x22000,0x222000,0x8022000,0x8222000);\r\n var pc2bytes4 = new Array (0,0x40000,0x10,0x40010,0,0x40000,0x10,0x40010,0x1000,0x41000,0x1010,0x41010,0x1000,0x41000,0x1010,0x41010);\r\n var pc2bytes5 = new Array (0,0x400,0x20,0x420,0,0x400,0x20,0x420,0x2000000,0x2000400,0x2000020,0x2000420,0x2000000,0x2000400,0x2000020,0x2000420);\r\n var pc2bytes6 = new Array (0,0x10000000,0x80000,0x10080000,0x2,0x10000002,0x80002,0x10080002,0,0x10000000,0x80000,0x10080000,0x2,0x10000002,0x80002,0x10080002);\r\n var pc2bytes7 = new Array (0,0x10000,0x800,0x10800,0x20000000,0x20010000,0x20000800,0x20010800,0x20000,0x30000,0x20800,0x30800,0x20020000,0x20030000,0x20020800,0x20030800);\r\n var pc2bytes8 = new Array (0,0x40000,0,0x40000,0x2,0x40002,0x2,0x40002,0x2000000,0x2040000,0x2000000,0x2040000,0x2000002,0x2040002,0x2000002,0x2040002);\r\n var pc2bytes9 = new Array (0,0x10000000,0x8,0x10000008,0,0x10000000,0x8,0x10000008,0x400,0x10000400,0x408,0x10000408,0x400,0x10000400,0x408,0x10000408);\r\n var pc2bytes10 = new Array (0,0x20,0,0x20,0x100000,0x100020,0x100000,0x100020,0x2000,0x2020,0x2000,0x2020,0x102000,0x102020,0x102000,0x102020);\r\n var pc2bytes11 = new Array (0,0x1000000,0x200,0x1000200,0x200000,0x1200000,0x200200,0x1200200,0x4000000,0x5000000,0x4000200,0x5000200,0x4200000,0x5200000,0x4200200,0x5200200);\r\n var pc2bytes12 = new Array (0,0x1000,0x8000000,0x8001000,0x80000,0x81000,0x8080000,0x8081000,0x10,0x1010,0x8000010,0x8001010,0x80010,0x81010,0x8080010,0x8081010);\r\n var pc2bytes13 = new Array (0,0x4,0x100,0x104,0,0x4,0x100,0x104,0x1,0x5,0x101,0x105,0x1,0x5,0x101,0x105);\r\n //how many iterations (1 for des, 3 for triple des)\r\n var iterations = key.length > 8 ? 3 : 1; //changed by Paul 16/6/2007 to use Triple DES for 9+ byte keys\r\n //stores the return keys\r\n var keys = new Array (32 * iterations);\r\n //now define the left shifts which need to be done\r\n var shifts = new Array (0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0);\r\n //other variables\r\n var lefttemp, righttemp, m=0, n=0, temp;\r\n for (var j=0; j>> 4) ^ right) & 0x0f0f0f0f; right ^= temp; left ^= (temp << 4);\r\n temp = ((right >>> -16) ^ left) & 0x0000ffff; left ^= temp; right ^= (temp << -16);\r\n temp = ((left >>> 2) ^ right) & 0x33333333; right ^= temp; left ^= (temp << 2);\r\n temp = ((right >>> -16) ^ left) & 0x0000ffff; left ^= temp; right ^= (temp << -16);\r\n temp = ((left >>> 1) ^ right) & 0x55555555; right ^= temp; left ^= (temp << 1);\r\n temp = ((right >>> 8) ^ left) & 0x00ff00ff; left ^= temp; right ^= (temp << 8);\r\n temp = ((left >>> 1) ^ right) & 0x55555555; right ^= temp; left ^= (temp << 1);\r\n //the right side needs to be shifted and to get the last four bits of the left side\r\n temp = (left << 8) | ((right >>> 20) & 0x000000f0);\r\n //left needs to be put upside down\r\n left = (right << 24) | ((right << 8) & 0xff0000) | ((right >>> 8) & 0xff00) | ((right >>> 24) & 0xf0);\r\n right = temp;\r\n //now go through and perform these shifts on the left and right keys\r\n for (var i=0; i < shifts.length; i++) {\r\n //shift the keys either one or two bits to the left\r\n if (shifts[i]) {left = (left << 2) | (left >>> 26); right = (right << 2) | (right >>> 26);}\r\n else {left = (left << 1) | (left >>> 27); right = (right << 1) | (right >>> 27);}\r\n left &= -0xf; right &= -0xf;\r\n //now apply PC-2, in such a way that E is easier when encrypting or decrypting\r\n //this conversion will look like PC-2 except only the last 6 bits of each byte are used\r\n //rather than 48 consecutive bits and the order of lines will be according to\r\n //how the S selection functions will be applied: S2, S4, S6, S8, S1, S3, S5, S7\r\n lefttemp = pc2bytes0[left >>> 28] | pc2bytes1[(left >>> 24) & 0xf]\r\n | pc2bytes2[(left >>> 20) & 0xf] | pc2bytes3[(left >>> 16) & 0xf]\r\n | pc2bytes4[(left >>> 12) & 0xf] | pc2bytes5[(left >>> 8) & 0xf]\r\n | pc2bytes6[(left >>> 4) & 0xf];\r\n righttemp = pc2bytes7[right >>> 28] | pc2bytes8[(right >>> 24) & 0xf]\r\n | pc2bytes9[(right >>> 20) & 0xf] | pc2bytes10[(right >>> 16) & 0xf]\r\n | pc2bytes11[(right >>> 12) & 0xf] | pc2bytes12[(right >>> 8) & 0xf]\r\n | pc2bytes13[(right >>> 4) & 0xf];\r\n temp = ((righttemp >>> 16) ^ lefttemp) & 0x0000ffff;\r\n keys[n++] = lefttemp ^ temp; keys[n++] = righttemp ^ (temp << 16);\r\n }\r\n } //for each iterations\r\n //return the keys we've created\r\n return keys;\r\n} //end of des_createKeys\r\nfunction genkey(key, start, end) {\r\n //8 byte / 64 bit Key (DES) or 192 bit Key\r\n return {key:pad(key.slice(start, end)),vector: 1};\r\n}\r\nfunction pad(key) {\r\n for (var i = key.length; i<24; i++) {\r\n key+=\"0\";\r\n }\r\n return key;\r\n}\r\nvar des3iv = '12345678';\r\nvar DES3 = {\r\n //3DES加密,CBC/PKCS5Padding\r\n encrypt:function(key,input){\r\n var genKey = genkey(key, 0, 24);\r\n return btoa(des(genKey.key, input, 1, 1, des3iv, 1));\r\n },\r\n ////3DES解密,CBC/PKCS5Padding\r\n decrypt:function(key,input){\r\n var genKey = genkey(key, 0, 24);\r\n return des(genKey.key, atob(input), 0, 1, des3iv, 1);\r\n }\r\n};\r\n\r\n\r\n\r\nconst DES3_KEY = \"88fa778830dc426a841285043afac2ba\";\r\nexport const encodeDes3 = (pass) => {\r\n return DES3.encrypt(DES3_KEY,pass);\r\n}\r\n","import AxiosMethods from '@/utils/AxiosMethods.js';\r\nimport StringUtil from '@/utils/StringUtil.js';\r\nimport LocalProxy from '@/utils/LocalProxy.js';\r\nimport {Base64} from 'js-base64';\r\nimport {encodeDes3} from '@/utils/Des3.js';\r\n\r\nconst Base64Encode = Base64.encode;\r\nconst Base64Decode = Base64.decode;\r\n\r\nconst PASS_SALT = \"https://www.cscs.com\";\r\n\r\nconst base64EncodeDec3 = (pass) => {\r\n return Base64Encode(encodeDes3(pass + PASS_SALT));\r\n};\r\n\r\nconst isNull = (value) => {\r\n return value == null || typeof (value) == 'undefined' || value === undefined;\r\n\r\n};\r\n//是否为空(包括空字符串、空格、null,{},[])\r\nconst isEmpty = (strings) => {\r\n if (!isNull(strings)) { // 先判断是否为null,返回true ,判断是否为空字符串,返回true\r\n // 空对象\r\n if (strings instanceof Object) {\r\n if (JSON.stringify(strings) == \"{}\") {\r\n return true;\r\n }\r\n }\r\n if ((strings + '').replace(/(^\\s*)|(\\s*$)/g, '').length === 0) { //已修正bug[当strings为数字时,会报strings.replace is not a function]\r\n return true;\r\n }\r\n } else {\r\n return true;\r\n }\r\n // 不为空返回false\r\n return false;\r\n};\r\n\r\nconst checkPhone = (phone) => {\r\n return /^1[34578]\\d{9}$/.test(phone);\r\n};\r\n\r\nconst checkEmail = (email) => {\r\n let reg = /^\\w+((.\\w+)|(-\\w+))@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+).[A-Za-z0-9]+$/; //正则表达式\r\n return reg.test(email);\r\n};\r\n\r\nconst getUrlParam = (url, name) =>\r\n decodeURIComponent(\r\n (new RegExp(`[?|&]${name}=([^&;]+?)(&|#|;|$)`).exec(url) || [\r\n undefined,\r\n \"\"\r\n ])[1].replace(/\\+/g, \"%20\")\r\n ) || null;\r\nexport {\r\n AxiosMethods,\r\n StringUtil,\r\n LocalProxy,\r\n isEmpty,\r\n isNull,\r\n base64EncodeDec3,\r\n getUrlParam,\r\n checkEmail,\r\n checkPhone\r\n};\r\n"],"sourceRoot":""}