| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833 |
- "use weex:vue";
- /******/ (function(modules) { // webpackBootstrap
- /******/ // The module cache
- /******/ var installedModules = {};
- /******/
- /******/ // The require function
- /******/ function __webpack_require__(moduleId) {
- /******/
- /******/ // Check if module is in cache
- /******/ if(installedModules[moduleId]) {
- /******/ return installedModules[moduleId].exports;
- /******/ }
- /******/ // Create a new module (and put it into the cache)
- /******/ var module = installedModules[moduleId] = {
- /******/ i: moduleId,
- /******/ l: false,
- /******/ exports: {}
- /******/ };
- /******/
- /******/ // Execute the module function
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
- /******/
- /******/ // Flag the module as loaded
- /******/ module.l = true;
- /******/
- /******/ // Return the exports of the module
- /******/ return module.exports;
- /******/ }
- /******/
- /******/
- /******/ // expose the modules object (__webpack_modules__)
- /******/ __webpack_require__.m = modules;
- /******/
- /******/ // expose the module cache
- /******/ __webpack_require__.c = installedModules;
- /******/
- /******/ // define getter function for harmony exports
- /******/ __webpack_require__.d = function(exports, name, getter) {
- /******/ if(!__webpack_require__.o(exports, name)) {
- /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
- /******/ }
- /******/ };
- /******/
- /******/ // define __esModule on exports
- /******/ __webpack_require__.r = function(exports) {
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
- /******/ }
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
- /******/ };
- /******/
- /******/ // create a fake namespace object
- /******/ // mode & 1: value is a module id, require it
- /******/ // mode & 2: merge all properties of value into the ns
- /******/ // mode & 4: return value when already ns object
- /******/ // mode & 8|1: behave like require
- /******/ __webpack_require__.t = function(value, mode) {
- /******/ if(mode & 1) value = __webpack_require__(value);
- /******/ if(mode & 8) return value;
- /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
- /******/ var ns = Object.create(null);
- /******/ __webpack_require__.r(ns);
- /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
- /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
- /******/ return ns;
- /******/ };
- /******/
- /******/ // getDefaultExport function for compatibility with non-harmony modules
- /******/ __webpack_require__.n = function(module) {
- /******/ var getter = module && module.__esModule ?
- /******/ function getDefault() { return module['default']; } :
- /******/ function getModuleExports() { return module; };
- /******/ __webpack_require__.d(getter, 'a', getter);
- /******/ return getter;
- /******/ };
- /******/
- /******/ // Object.prototype.hasOwnProperty.call
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
- /******/
- /******/ // __webpack_public_path__
- /******/ __webpack_require__.p = "/";
- /******/
- /******/
- /******/ // Load entry module and return exports
- /******/ return __webpack_require__(__webpack_require__.s = 19);
- /******/ })
- /************************************************************************/
- /******/ ([
- /* 0 */,
- /* 1 */
- /*!**************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/main.js?{"type":"appStyle"} ***!
- \**************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- eval("Vue.prototype.__$appStyle__ = {}\nVue.prototype.__merge_style && Vue.prototype.__merge_style(__webpack_require__(/*! ./App.vue?vue&type=style&index=0&lang=scss */ 2).default,Vue.prototype.__$appStyle__)\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsMkRBQTJELG1CQUFPLENBQUMsbURBQTRDIiwiZmlsZSI6IjEuanMiLCJzb3VyY2VzQ29udGVudCI6WyJWdWUucHJvdG90eXBlLl9fJGFwcFN0eWxlX18gPSB7fVxuVnVlLnByb3RvdHlwZS5fX21lcmdlX3N0eWxlICYmIFZ1ZS5wcm90b3R5cGUuX19tZXJnZV9zdHlsZShyZXF1aXJlKFwiLi9BcHAudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmbGFuZz1zY3NzXCIpLmRlZmF1bHQsVnVlLnByb3RvdHlwZS5fXyRhcHBTdHlsZV9fKVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///1\n");
- /***/ }),
- /* 2 */
- /*!***************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/App.vue?vue&type=style&index=0&lang=scss ***!
- \***************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_11_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_11_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_4_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/style.js!../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-oneOf-0-1!../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--11-oneOf-0-2!../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--11-oneOf-0-3!../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-oneOf-0-4!../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss */ 3);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_11_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_11_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_4_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_11_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_11_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_4_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_scss__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_11_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_11_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_4_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_scss__WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_11_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_11_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_4_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_scss__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /* harmony default export */ __webpack_exports__["default"] = (_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_11_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_11_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_4_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_scss__WEBPACK_IMPORTED_MODULE_0___default.a);
- /***/ }),
- /* 3 */
- /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/style.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-oneOf-0-1!./node_modules/postcss-loader/src??ref--11-oneOf-0-2!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--11-oneOf-0-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-oneOf-0-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/App.vue?vue&type=style&index=0&lang=scss ***!
- \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = {
- ".content": {
- "": {
- "display": [
- "flex",
- 0,
- 0,
- 16
- ],
- "flexDirection": [
- "column",
- 0,
- 0,
- 16
- ],
- "width": [
- 94,
- 0,
- 0,
- 16
- ],
- "marginLeft": [
- 3,
- 0,
- 0,
- 16
- ],
- "backgroundColor": [
- "#FFFFFF",
- 0,
- 0,
- 16
- ],
- "borderRadius": [
- "16rpx",
- 0,
- 0,
- 16
- ],
- "boxShadow": [
- "0rpx 0rpx 10rpx 0rpx lightgray",
- 0,
- 0,
- 16
- ]
- }
- },
- ".contentInRowL": {
- "": {
- "display": [
- "flex",
- 0,
- 0,
- 17
- ],
- "flexDirection": [
- "row",
- 0,
- 0,
- 17
- ],
- "justifyContent": [
- "flex-start",
- 0,
- 0,
- 17
- ]
- }
- },
- ".contentInRowR": {
- "": {
- "display": [
- "flex",
- 0,
- 0,
- 18
- ],
- "flexDirection": [
- "row",
- 0,
- 0,
- 18
- ],
- "justifyContent": [
- "flex-end",
- 0,
- 0,
- 18
- ]
- }
- },
- ".contentInRowC": {
- "": {
- "display": [
- "flex",
- 0,
- 0,
- 19
- ],
- "flexDirection": [
- "row",
- 0,
- 0,
- 19
- ],
- "justifyContent": [
- "center",
- 0,
- 0,
- 19
- ],
- "alignItems": [
- "center",
- 0,
- 0,
- 19
- ]
- }
- },
- ".contentInRowS": {
- "": {
- "display": [
- "flex",
- 0,
- 0,
- 20
- ],
- "flexDirection": [
- "row",
- 0,
- 0,
- 20
- ],
- "alignItems": [
- "center",
- 0,
- 0,
- 20
- ],
- "justifyContent": [
- "space-between",
- 0,
- 0,
- 20
- ]
- }
- },
- ".contentColumn": {
- "": {
- "display": [
- "flex",
- 0,
- 0,
- 21
- ],
- "flexDirection": [
- "column",
- 0,
- 0,
- 21
- ]
- }
- },
- ".contentColumnC": {
- "": {
- "display": [
- "flex",
- 0,
- 0,
- 22
- ],
- "flexDirection": [
- "column",
- 0,
- 0,
- 22
- ],
- "alignItems": [
- "center",
- 0,
- 0,
- 22
- ],
- "justifyContent": [
- "center",
- 0,
- 0,
- 22
- ]
- }
- },
- ".text1row": {
- "": {
- "overflow": [
- "hidden",
- 0,
- 0,
- 23
- ],
- "textOverflow": [
- "ellipsis",
- 0,
- 0,
- 23
- ]
- }
- },
- ".text2row": {
- "": {
- "overflow": [
- "hidden",
- 0,
- 0,
- 24
- ],
- "textOverflow": [
- "ellipsis",
- 0,
- 0,
- 24
- ]
- }
- },
- "@VERSION": 2
- }
- /***/ }),
- /* 4 */
- /*!*******************************************************************!*\
- !*** ./node_modules/@dcloudio/uni-cli-shared/lib/uni-polyfill.js ***!
- \*******************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- if (typeof Promise !== 'undefined' && !Promise.prototype.finally) {
- Promise.prototype.finally = function (callback) {
- var promise = this.constructor;
- return this.then(function (value) {
- return promise.resolve(callback()).then(function () {
- return value;
- });
- }, function (reason) {
- return promise.resolve(callback()).then(function () {
- throw reason;
- });
- });
- };
- }
- if (typeof uni !== 'undefined' && uni && uni.requireGlobal) {
- var global = uni.requireGlobal();
- ArrayBuffer = global.ArrayBuffer;
- Int8Array = global.Int8Array;
- Uint8Array = global.Uint8Array;
- Uint8ClampedArray = global.Uint8ClampedArray;
- Int16Array = global.Int16Array;
- Uint16Array = global.Uint16Array;
- Int32Array = global.Int32Array;
- Uint32Array = global.Uint32Array;
- Float32Array = global.Float32Array;
- Float64Array = global.Float64Array;
- BigInt64Array = global.BigInt64Array;
- BigUint64Array = global.BigUint64Array;
- }
- /***/ }),
- /* 5 */,
- /* 6 */,
- /* 7 */,
- /* 8 */,
- /* 9 */,
- /* 10 */
- /*!******************************************************************************************************************!*\
- !*** ./node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/uni-app-plus-nvue/dist/require-native-plugin.js ***!
- \******************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = requireNativePlugin;
- function requireNativePlugin(name) {
- return weex.requireModule(name);
- }
- /***/ }),
- /* 11 */
- /*!*********************************************************************!*\
- !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js ***!
- \*********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = formatLog;
- exports.log = log;
- function typof(v) {
- var s = Object.prototype.toString.call(v);
- return s.substring(8, s.length - 1);
- }
- function isDebugMode() {
- /* eslint-disable no-undef */
- return typeof __channelId__ === 'string' && __channelId__;
- }
- function jsonStringifyReplacer(k, p) {
- switch (typof(p)) {
- case 'Function':
- return 'function() { [native code] }';
- default:
- return p;
- }
- }
- function log(type) {
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
- args[_key - 1] = arguments[_key];
- }
- console[type].apply(console, args);
- }
- function formatLog() {
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
- args[_key] = arguments[_key];
- }
- var type = args.shift();
- if (isDebugMode()) {
- args.push(args.pop().replace('at ', 'uni-app:///'));
- return console[type].apply(console, args);
- }
- var msgs = args.map(function (v) {
- var type = Object.prototype.toString.call(v).toLowerCase();
- if (type === '[object object]' || type === '[object array]') {
- try {
- v = '---BEGIN:JSON---' + JSON.stringify(v, jsonStringifyReplacer) + '---END:JSON---';
- } catch (e) {
- v = type;
- }
- } else {
- if (v === null) {
- v = '---NULL---';
- } else if (v === undefined) {
- v = '---UNDEFINED---';
- } else {
- var vType = typof(v).toUpperCase();
- if (vType === 'NUMBER' || vType === 'BOOLEAN') {
- v = '---BEGIN:' + vType + '---' + v + '---END:' + vType + '---';
- } else {
- v = String(v);
- }
- }
- }
- return v;
- });
- var msg = '';
- if (msgs.length > 1) {
- var lastMsg = msgs.pop();
- msg = msgs.join('---COMMA---');
- if (lastMsg.indexOf(' at ') === 0) {
- msg += lastMsg;
- } else {
- msg += '---COMMA---' + lastMsg;
- }
- } else {
- msg = msgs[0];
- }
- console[type](msg);
- }
- /***/ }),
- /* 12 */
- /*!**********************************************************************************************************!*\
- !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js ***!
- \**********************************************************************************************************/
- /*! exports provided: default */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return normalizeComponent; });
- /* globals __VUE_SSR_CONTEXT__ */
- // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
- // This module is a runtime utility for cleaner component module output and will
- // be included in the final webpack user bundle.
- function normalizeComponent (
- scriptExports,
- render,
- staticRenderFns,
- functionalTemplate,
- injectStyles,
- scopeId,
- moduleIdentifier, /* server only */
- shadowMode, /* vue-cli only */
- components, // fixed by xxxxxx auto components
- renderjs // fixed by xxxxxx renderjs
- ) {
- // Vue.extend constructor export interop
- var options = typeof scriptExports === 'function'
- ? scriptExports.options
- : scriptExports
- // fixed by xxxxxx auto components
- if (components) {
- if (!options.components) {
- options.components = {}
- }
- var hasOwn = Object.prototype.hasOwnProperty
- for (var name in components) {
- if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {
- options.components[name] = components[name]
- }
- }
- }
- // fixed by xxxxxx renderjs
- if (renderjs) {
- if(typeof renderjs.beforeCreate === 'function'){
- renderjs.beforeCreate = [renderjs.beforeCreate]
- }
- (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {
- this[renderjs.__module] = this
- });
- (options.mixins || (options.mixins = [])).push(renderjs)
- }
- // render functions
- if (render) {
- options.render = render
- options.staticRenderFns = staticRenderFns
- options._compiled = true
- }
- // functional template
- if (functionalTemplate) {
- options.functional = true
- }
- // scopedId
- if (scopeId) {
- options._scopeId = 'data-v-' + scopeId
- }
- var hook
- if (moduleIdentifier) { // server build
- hook = function (context) {
- // 2.3 injection
- context =
- context || // cached call
- (this.$vnode && this.$vnode.ssrContext) || // stateful
- (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
- // 2.2 with runInNewContext: true
- if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
- context = __VUE_SSR_CONTEXT__
- }
- // inject component styles
- if (injectStyles) {
- injectStyles.call(this, context)
- }
- // register component module identifier for async chunk inferrence
- if (context && context._registeredComponents) {
- context._registeredComponents.add(moduleIdentifier)
- }
- }
- // used by ssr in case component is cached and beforeCreate
- // never gets called
- options._ssrRegister = hook
- } else if (injectStyles) {
- hook = shadowMode
- ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }
- : injectStyles
- }
- if (hook) {
- if (options.functional) {
- // for template-only hot-reload because in that case the render fn doesn't
- // go through the normalizer
- options._injectStyles = hook
- // register for functioal component in vue file
- var originalRender = options.render
- options.render = function renderWithStyleInjection (h, context) {
- hook.call(context)
- return originalRender(h, context)
- }
- } else {
- // inject component registration as beforeCreate hook
- var existing = options.beforeCreate
- options.beforeCreate = existing
- ? [].concat(existing, hook)
- : [hook]
- }
- }
- return {
- exports: scriptExports,
- options: options
- }
- }
- /***/ }),
- /* 13 */,
- /* 14 */,
- /* 15 */,
- /* 16 */,
- /* 17 */,
- /* 18 */,
- /* 19 */
- /*!********************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/main.js?{"page":"pages%2Fimcall%2FaudioCall"} ***!
- \********************************************************************************/
- /*! no exports provided */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var uni_app_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! uni-app-style */ 1);\n/* harmony import */ var uni_app_style__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(uni_app_style__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var uni_polyfill__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! uni-polyfill */ 4);\n/* harmony import */ var uni_polyfill__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(uni_polyfill__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _pages_imcall_audioCall_nvue_mpType_page__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pages/imcall/audioCall.nvue?mpType=page */ 20);\n\n \n \n \n \n _pages_imcall_audioCall_nvue_mpType_page__WEBPACK_IMPORTED_MODULE_2__[\"default\"].mpType = 'page'\n _pages_imcall_audioCall_nvue_mpType_page__WEBPACK_IMPORTED_MODULE_2__[\"default\"].route = 'pages/imcall/audioCall'\n _pages_imcall_audioCall_nvue_mpType_page__WEBPACK_IMPORTED_MODULE_2__[\"default\"].el = '#root'\n new Vue(_pages_imcall_audioCall_nvue_mpType_page__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRUEsUUFBOEI7QUFDOUIsUUFBNkI7QUFDN0IsUUFBbUU7QUFDbkUsUUFBUSxnRkFBRztBQUNYLFFBQVEsZ0ZBQUc7QUFDWCxRQUFRLGdGQUFHO0FBQ1gsZ0JBQWdCLGdGQUFHIiwiZmlsZSI6IjE5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG4gICAgICAgIFxuICAgICAgICBpbXBvcnQgJ3VuaS1hcHAtc3R5bGUnXG4gICAgICAgIGltcG9ydCAndW5pLXBvbHlmaWxsJ1xuICAgICAgICBpbXBvcnQgQXBwIGZyb20gJy4vcGFnZXMvaW1jYWxsL2F1ZGlvQ2FsbC5udnVlP21wVHlwZT1wYWdlJ1xuICAgICAgICBBcHAubXBUeXBlID0gJ3BhZ2UnXG4gICAgICAgIEFwcC5yb3V0ZSA9ICdwYWdlcy9pbWNhbGwvYXVkaW9DYWxsJ1xuICAgICAgICBBcHAuZWwgPSAnI3Jvb3QnXG4gICAgICAgIG5ldyBWdWUoQXBwKVxuICAgICAgICAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///19\n");
- /***/ }),
- /* 20 */
- /*!**************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/pages/imcall/audioCall.nvue?mpType=page ***!
- \**************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _audioCall_nvue_vue_type_template_id_eddaf924_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./audioCall.nvue?vue&type=template&id=eddaf924&mpType=page */ 21);\n/* harmony import */ var _audioCall_nvue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./audioCall.nvue?vue&type=script&lang=js&mpType=page */ 47);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _audioCall_nvue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _audioCall_nvue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 12);\n\nvar renderjs\n\n\nfunction injectStyles (context) {\n \n if(!this.options.style){\n this.options.style = {}\n }\n if(Vue.prototype.__merge_style && Vue.prototype.__$appStyle__){\n Vue.prototype.__merge_style(Vue.prototype.__$appStyle__, this.options.style)\n }\n if(Vue.prototype.__merge_style){\n Vue.prototype.__merge_style(__webpack_require__(/*! ./audioCall.nvue?vue&type=style&index=0&lang=css&mpType=page */ 84).default, this.options.style)\n }else{\n Object.assign(this.options.style,__webpack_require__(/*! ./audioCall.nvue?vue&type=style&index=0&lang=css&mpType=page */ 84).default)\n }\n\n}\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _audioCall_nvue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _audioCall_nvue_vue_type_template_id_eddaf924_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _audioCall_nvue_vue_type_template_id_eddaf924_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n \"1786a3be\",\n false,\n _audioCall_nvue_vue_type_template_id_eddaf924_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ninjectStyles.call(component)\ncomponent.options.__file = \"pages/imcall/audioCall.nvue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBa0k7QUFDbEk7QUFDeUU7QUFDTDtBQUNwRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QyxtQkFBTyxDQUFDLHNFQUE4RDtBQUNsSCxhQUFhO0FBQ2IsaURBQWlELG1CQUFPLENBQUMsc0VBQThEO0FBQ3ZIOztBQUVBOztBQUVBO0FBQ21NO0FBQ25NLGdCQUFnQix1TUFBVTtBQUMxQixFQUFFLDJGQUFNO0FBQ1IsRUFBRSxnR0FBTTtBQUNSLEVBQUUseUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsb0dBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDZSxnRiIsImZpbGUiOiIyMC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzIH0gZnJvbSBcIi4vYXVkaW9DYWxsLm52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9ZWRkYWY5MjQmbXBUeXBlPXBhZ2VcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2F1ZGlvQ2FsbC5udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2F1ZGlvQ2FsbC5udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJm1wVHlwZT1wYWdlXCJcbmZ1bmN0aW9uIGluamVjdFN0eWxlcyAoY29udGV4dCkge1xuICBcbiAgaWYoIXRoaXMub3B0aW9ucy5zdHlsZSl7XG4gICAgICAgICAgdGhpcy5vcHRpb25zLnN0eWxlID0ge31cbiAgICAgIH1cbiAgICAgIGlmKFZ1ZS5wcm90b3R5cGUuX19tZXJnZV9zdHlsZSAmJiBWdWUucHJvdG90eXBlLl9fJGFwcFN0eWxlX18pe1xuICAgICAgICBWdWUucHJvdG90eXBlLl9fbWVyZ2Vfc3R5bGUoVnVlLnByb3RvdHlwZS5fXyRhcHBTdHlsZV9fLCB0aGlzLm9wdGlvbnMuc3R5bGUpXG4gICAgICB9XG4gICAgICBpZihWdWUucHJvdG90eXBlLl9fbWVyZ2Vfc3R5bGUpe1xuICAgICAgICAgICAgICAgIFZ1ZS5wcm90b3R5cGUuX19tZXJnZV9zdHlsZShyZXF1aXJlKFwiLi9hdWRpb0NhbGwubnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmxhbmc9Y3NzJm1wVHlwZT1wYWdlXCIpLmRlZmF1bHQsIHRoaXMub3B0aW9ucy5zdHlsZSlcbiAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5vcHRpb25zLnN0eWxlLHJlcXVpcmUoXCIuL2F1ZGlvQ2FsbC5udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmbGFuZz1jc3MmbXBUeXBlPXBhZ2VcIikuZGVmYXVsdClcbiAgICAgICAgICAgIH1cblxufVxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uL+W3peWFty9IQnVpbGRlclguNC44Ny4yMDI1MTIxMDA0L0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgXCIxNzg2YTNiZVwiLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuaW5qZWN0U3R5bGVzLmNhbGwoY29tcG9uZW50KVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9pbWNhbGwvYXVkaW9DYWxsLm52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///20\n");
- /***/ }),
- /* 21 */
- /*!********************************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/pages/imcall/audioCall.nvue?vue&type=template&id=eddaf924&mpType=page ***!
- \********************************************************************************************************/
- /*! exports provided: render, staticRenderFns, recyclableRender, components */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_template_id_eddaf924_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/template.js!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-0!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./audioCall.nvue?vue&type=template&id=eddaf924&mpType=page */ 22);
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_template_id_eddaf924_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_template_id_eddaf924_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_template_id_eddaf924_mpType_page__WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_template_id_eddaf924_mpType_page__WEBPACK_IMPORTED_MODULE_0__["components"]; });
- /***/ }),
- /* 22 */
- /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/pages/imcall/audioCall.nvue?vue&type=template&id=eddaf924&mpType=page ***!
- \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! exports provided: render, staticRenderFns, recyclableRender, components */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
- var components
- try {
- components = {
- customNav: __webpack_require__(/*! @/components/customNav/customNav.vue */ 23).default,
- netImage: __webpack_require__(/*! @/components/netImage/netImage.vue */ 40).default,
- }
- } catch (e) {
- if (
- e.message.indexOf("Cannot find module") !== -1 &&
- e.message.indexOf(".vue") !== -1
- ) {
- console.error(e.message)
- console.error("1. 排查组件名称拼写是否正确")
- console.error(
- "2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom"
- )
- console.error(
- "3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件"
- )
- } else {
- throw e
- }
- }
- var render = function () {
- var _vm = this
- var _h = _vm.$createElement
- var _c = _vm._self._c || _h
- return _c(
- "scroll-view",
- {
- staticStyle: { flexDirection: "column" },
- attrs: {
- scrollY: true,
- showScrollbar: true,
- enableBackToTop: true,
- bubble: "true",
- },
- },
- [
- _c(
- "view",
- [
- _c("customNav", {
- attrs: {
- shownav: true,
- title: _vm.i18n("audioCall.imtitle"),
- tinColor: "#40AE36",
- jiantou: "0",
- },
- }),
- _c(
- "view",
- {
- staticClass: ["contentColumnC"],
- staticStyle: {
- width: "700rpx",
- marginLeft: "25rpx",
- marginTop: "50rpx",
- },
- },
- [
- _c("netImage", {
- staticClass: ["spIcon"],
- attrs: {
- width: "120",
- height: "120",
- mysrc: _vm.avatar,
- mymode: "scaleToFill",
- },
- }),
- _c(
- "u-text",
- {
- staticStyle: { marginTop: "30rpx", fontSize: "32rpx" },
- appendAsTree: true,
- attrs: { append: "tree" },
- },
- [_vm._v(_vm._s(_vm.nickName))]
- ),
- !_vm.callState
- ? _c("u-image", {
- staticStyle: {
- width: "80rpx",
- height: "80rpx",
- marginTop: "80rpx",
- },
- attrs: {
- src: "/static/imags/jietong.png",
- mode: "scaleToFill",
- },
- on: {
- click: function ($event) {
- _vm.bohaoAct(1)
- },
- },
- })
- : _vm._e(),
- _vm.callState
- ? _c("u-image", {
- staticStyle: {
- width: "80rpx",
- height: "80rpx",
- marginTop: "80rpx",
- },
- attrs: {
- src: "/static/imags/guaduandd.png",
- mode: "scaleToFill",
- },
- on: {
- click: function ($event) {
- _vm.bohaoAct(2)
- },
- },
- })
- : _vm._e(),
- _c(
- "u-text",
- {
- staticStyle: { marginTop: "80rpx", fontSize: "32rpx" },
- appendAsTree: true,
- attrs: { append: "tree" },
- },
- [_vm._v(_vm._s(_vm.noteMessage))]
- ),
- ],
- 1
- ),
- ],
- 1
- ),
- ]
- )
- }
- var recyclableRender = false
- var staticRenderFns = []
- render._withStripped = true
- /***/ }),
- /* 23 */
- /*!*********************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/components/customNav/customNav.vue ***!
- \*********************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _customNav_vue_vue_type_template_id_d8c75eac___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./customNav.vue?vue&type=template&id=d8c75eac& */ 24);\n/* harmony import */ var _customNav_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./customNav.vue?vue&type=script&lang=js& */ 36);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _customNav_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _customNav_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 12);\n\nvar renderjs\n\n\nfunction injectStyles (context) {\n \n if(!this.options.style){\n this.options.style = {}\n }\n if(Vue.prototype.__merge_style && Vue.prototype.__$appStyle__){\n Vue.prototype.__merge_style(Vue.prototype.__$appStyle__, this.options.style)\n }\n if(Vue.prototype.__merge_style){\n Vue.prototype.__merge_style(__webpack_require__(/*! ./customNav.vue?vue&type=style&index=0&lang=css& */ 38).default, this.options.style)\n }else{\n Object.assign(this.options.style,__webpack_require__(/*! ./customNav.vue?vue&type=style&index=0&lang=css& */ 38).default)\n }\n\n}\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _customNav_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _customNav_vue_vue_type_template_id_d8c75eac___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _customNav_vue_vue_type_template_id_d8c75eac___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n \"ed825840\",\n false,\n _customNav_vue_vue_type_template_id_d8c75eac___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ninjectStyles.call(component)\ncomponent.options.__file = \"components/customNav/customNav.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBc0g7QUFDdEg7QUFDNkQ7QUFDTDtBQUN4RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QyxtQkFBTyxDQUFDLDBEQUFrRDtBQUN0RyxhQUFhO0FBQ2IsaURBQWlELG1CQUFPLENBQUMsMERBQWtEO0FBQzNHOztBQUVBOztBQUVBO0FBQ21NO0FBQ25NLGdCQUFnQix1TUFBVTtBQUMxQixFQUFFLCtFQUFNO0FBQ1IsRUFBRSxvRkFBTTtBQUNSLEVBQUUsNkZBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsd0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDZSxnRiIsImZpbGUiOiIyMy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzIH0gZnJvbSBcIi4vY3VzdG9tTmF2LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1kOGM3NWVhYyZcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL2N1c3RvbU5hdi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL2N1c3RvbU5hdi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmZ1bmN0aW9uIGluamVjdFN0eWxlcyAoY29udGV4dCkge1xuICBcbiAgaWYoIXRoaXMub3B0aW9ucy5zdHlsZSl7XG4gICAgICAgICAgdGhpcy5vcHRpb25zLnN0eWxlID0ge31cbiAgICAgIH1cbiAgICAgIGlmKFZ1ZS5wcm90b3R5cGUuX19tZXJnZV9zdHlsZSAmJiBWdWUucHJvdG90eXBlLl9fJGFwcFN0eWxlX18pe1xuICAgICAgICBWdWUucHJvdG90eXBlLl9fbWVyZ2Vfc3R5bGUoVnVlLnByb3RvdHlwZS5fXyRhcHBTdHlsZV9fLCB0aGlzLm9wdGlvbnMuc3R5bGUpXG4gICAgICB9XG4gICAgICBpZihWdWUucHJvdG90eXBlLl9fbWVyZ2Vfc3R5bGUpe1xuICAgICAgICAgICAgICAgIFZ1ZS5wcm90b3R5cGUuX19tZXJnZV9zdHlsZShyZXF1aXJlKFwiLi9jdXN0b21OYXYudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmbGFuZz1jc3MmXCIpLmRlZmF1bHQsIHRoaXMub3B0aW9ucy5zdHlsZSlcbiAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5vcHRpb25zLnN0eWxlLHJlcXVpcmUoXCIuL2N1c3RvbU5hdi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZsYW5nPWNzcyZcIikuZGVmYXVsdClcbiAgICAgICAgICAgIH1cblxufVxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uL+W3peWFty9IQnVpbGRlclguNC44Ny4yMDI1MTIxMDA0L0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgXCJlZDgyNTg0MFwiLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuaW5qZWN0U3R5bGVzLmNhbGwoY29tcG9uZW50KVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJjb21wb25lbnRzL2N1c3RvbU5hdi9jdXN0b21OYXYudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///23\n");
- /***/ }),
- /* 24 */
- /*!****************************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/components/customNav/customNav.vue?vue&type=template&id=d8c75eac& ***!
- \****************************************************************************************************/
- /*! exports provided: render, staticRenderFns, recyclableRender, components */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_template_id_d8c75eac___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/template.recycle.js!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-0!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./customNav.vue?vue&type=template&id=d8c75eac& */ 25);
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_template_id_d8c75eac___WEBPACK_IMPORTED_MODULE_0__["render"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_template_id_d8c75eac___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_template_id_d8c75eac___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_template_id_d8c75eac___WEBPACK_IMPORTED_MODULE_0__["components"]; });
- /***/ }),
- /* 25 */
- /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/template.recycle.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/components/customNav/customNav.vue?vue&type=template&id=d8c75eac& ***!
- \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! exports provided: render, staticRenderFns, recyclableRender, components */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
- var components
- try {
- components = {
- uniIcons:
- __webpack_require__(/*! @/uni_modules/uni-icons/components/uni-icons/uni-icons.vue */ 26)
- .default,
- }
- } catch (e) {
- if (
- e.message.indexOf("Cannot find module") !== -1 &&
- e.message.indexOf(".vue") !== -1
- ) {
- console.error(e.message)
- console.error("1. 排查组件名称拼写是否正确")
- console.error(
- "2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom"
- )
- console.error(
- "3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件"
- )
- } else {
- throw e
- }
- }
- var render = function () {
- var _vm = this
- var _h = _vm.$createElement
- var _c = _vm._self._c || _h
- return _c("view", {}, [
- _c(
- "view",
- {
- staticClass: ["contentView"],
- style: { backgroundColor: _vm.tinColor },
- },
- [
- _c(
- "view",
- {
- staticClass: ["navBarBox"],
- style: {
- marginTop: +_vm.statusBarHeight + "rpx",
- backgroundColor: _vm.tinColor,
- },
- },
- [
- _vm.shownav
- ? _c("view", { staticClass: ["navBar"] }, [
- _vm.jiantou == 0
- ? _c(
- "view",
- { staticClass: ["leftconten"] },
- [
- _c("u-image", {
- staticClass: ["logo"],
- attrs: { src: _vm.fanhuisrc, mode: "aspectFit" },
- on: {
- click: function ($event) {
- _vm.leftbuttonsel(1)
- },
- },
- }),
- _vm.titledetl == ""
- ? _c("view", { staticClass: ["textlableR"] }, [
- _c("view", { staticClass: ["lableTR"] }, [
- _c("u-text", [_vm._v(_vm._s(_vm.title))]),
- ]),
- ])
- : _vm._e(),
- _vm.titledetl != ""
- ? _c("view", { staticClass: ["textlable"] }, [
- _c(
- "u-text",
- {
- staticClass: ["lableT"],
- appendAsTree: true,
- attrs: { append: "tree" },
- },
- [_vm._v(_vm._s(_vm.title))]
- ),
- _c(
- "u-text",
- {
- staticClass: ["lableB"],
- appendAsTree: true,
- attrs: { append: "tree" },
- },
- [_vm._v(_vm._s(_vm.titledetl))]
- ),
- ])
- : _vm._e(),
- ],
- 1
- )
- : _vm._e(),
- _vm.jiantou == 1
- ? _c(
- "view",
- { staticClass: ["leftconten"] },
- [
- _c("u-image", {
- staticClass: ["logo"],
- attrs: { src: _vm.fanhuisrcb, mode: "aspectFit" },
- on: {
- click: function ($event) {
- _vm.leftbuttonsel(1)
- },
- },
- }),
- _vm.titledetl == ""
- ? _c("view", { staticClass: ["textlableR"] }, [
- _c("view", { staticClass: ["lableTRb"] }, [
- _c("u-text", [_vm._v(_vm._s(_vm.title))]),
- ]),
- ])
- : _vm._e(),
- _vm.titledetl != ""
- ? _c("view", { staticClass: ["textlable"] }, [
- _c("view", { staticClass: ["lableTb"] }, [
- _c("u-text", [_vm._v(_vm._s(_vm.title))]),
- ]),
- _c("view", { staticClass: ["lableB"] }, [
- _c("u-text", [_vm._v(_vm._s(_vm.titledetl))]),
- ]),
- ])
- : _vm._e(),
- ],
- 1
- )
- : _vm._e(),
- _c(
- "view",
- { staticClass: ["rightconten"] },
- [
- _vm.rightBT1 == 1
- ? _c("u-image", {
- staticClass: ["mycart"],
- attrs: {
- src: _vm.rightBTimg1,
- mode: "scaleToFill",
- },
- on: {
- click: function ($event) {
- _vm.leftbuttonsel(2)
- },
- },
- })
- : _vm._e(),
- _vm.rightBT2 == 1
- ? _c("u-image", {
- staticClass: ["mycart"],
- attrs: {
- src: _vm.rightBTimg2,
- mode: "scaleToFill",
- },
- on: {
- click: function ($event) {
- _vm.leftbuttonsel(3)
- },
- },
- })
- : _vm._e(),
- _vm.xinzeng == 1
- ? _c(
- "u-text",
- {
- staticClass: ["xinzengTxt"],
- appendAsTree: true,
- attrs: { append: "tree" },
- on: {
- click: function ($event) {
- _vm.leftbuttonsel(5)
- },
- },
- },
- [_vm._v(_vm._s(_vm.$t("schema.add")))]
- )
- : _vm._e(),
- _vm.addBT == 1
- ? _c("uni-icons", {
- attrs: {
- customPrefix: "custom-icon",
- color: "white",
- type: "plus",
- size: "26",
- },
- on: {
- click: function ($event) {
- _vm.leftbuttonsel(4)
- },
- },
- })
- : _vm._e(),
- ],
- 1
- ),
- ])
- : _vm._e(),
- ]
- ),
- ]
- ),
- _vm.shownav
- ? _c("view", { style: { height: _vm.navBarHeight + "rpx" } })
- : _vm._e(),
- !_vm.shownav
- ? _c("view", { style: { height: _vm.statusBarHeight + "rpx" } })
- : _vm._e(),
- ])
- }
- var recyclableRender = false
- var staticRenderFns = []
- render._withStripped = true
- /***/ }),
- /* 26 */
- /*!*******************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/uni_modules/uni-icons/components/uni-icons/uni-icons.vue ***!
- \*******************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _uni_icons_vue_vue_type_template_id_a2e81f6e___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./uni-icons.vue?vue&type=template&id=a2e81f6e& */ 27);\n/* harmony import */ var _uni_icons_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uni-icons.vue?vue&type=script&lang=js& */ 29);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _uni_icons_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _uni_icons_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 12);\n\nvar renderjs\n\n\nfunction injectStyles (context) {\n \n if(!this.options.style){\n this.options.style = {}\n }\n if(Vue.prototype.__merge_style && Vue.prototype.__$appStyle__){\n Vue.prototype.__merge_style(Vue.prototype.__$appStyle__, this.options.style)\n }\n if(Vue.prototype.__merge_style){\n Vue.prototype.__merge_style(__webpack_require__(/*! ./uni-icons.vue?vue&type=style&index=0&lang=scss& */ 34).default, this.options.style)\n }else{\n Object.assign(this.options.style,__webpack_require__(/*! ./uni-icons.vue?vue&type=style&index=0&lang=scss& */ 34).default)\n }\n\n}\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _uni_icons_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _uni_icons_vue_vue_type_template_id_a2e81f6e___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _uni_icons_vue_vue_type_template_id_a2e81f6e___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n \"200e2d19\",\n false,\n _uni_icons_vue_vue_type_template_id_a2e81f6e___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ninjectStyles.call(component)\ncomponent.options.__file = \"uni_modules/uni-icons/components/uni-icons/uni-icons.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBc0g7QUFDdEg7QUFDNkQ7QUFDTDtBQUN4RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QyxtQkFBTyxDQUFDLDJEQUFtRDtBQUN2RyxhQUFhO0FBQ2IsaURBQWlELG1CQUFPLENBQUMsMkRBQW1EO0FBQzVHOztBQUVBOztBQUVBO0FBQ3lNO0FBQ3pNLGdCQUFnQix1TUFBVTtBQUMxQixFQUFFLCtFQUFNO0FBQ1IsRUFBRSxvRkFBTTtBQUNSLEVBQUUsNkZBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsd0ZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDZSxnRiIsImZpbGUiOiIyNi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzIH0gZnJvbSBcIi4vdW5pLWljb25zLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD1hMmU4MWY2ZSZcIlxudmFyIHJlbmRlcmpzXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL3VuaS1pY29ucy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL3VuaS1pY29ucy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmZ1bmN0aW9uIGluamVjdFN0eWxlcyAoY29udGV4dCkge1xuICBcbiAgaWYoIXRoaXMub3B0aW9ucy5zdHlsZSl7XG4gICAgICAgICAgdGhpcy5vcHRpb25zLnN0eWxlID0ge31cbiAgICAgIH1cbiAgICAgIGlmKFZ1ZS5wcm90b3R5cGUuX19tZXJnZV9zdHlsZSAmJiBWdWUucHJvdG90eXBlLl9fJGFwcFN0eWxlX18pe1xuICAgICAgICBWdWUucHJvdG90eXBlLl9fbWVyZ2Vfc3R5bGUoVnVlLnByb3RvdHlwZS5fXyRhcHBTdHlsZV9fLCB0aGlzLm9wdGlvbnMuc3R5bGUpXG4gICAgICB9XG4gICAgICBpZihWdWUucHJvdG90eXBlLl9fbWVyZ2Vfc3R5bGUpe1xuICAgICAgICAgICAgICAgIFZ1ZS5wcm90b3R5cGUuX19tZXJnZV9zdHlsZShyZXF1aXJlKFwiLi91bmktaWNvbnMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmbGFuZz1zY3NzJlwiKS5kZWZhdWx0LCB0aGlzLm9wdGlvbnMuc3R5bGUpXG4gICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMub3B0aW9ucy5zdHlsZSxyZXF1aXJlKFwiLi91bmktaWNvbnMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmbGFuZz1zY3NzJlwiKS5kZWZhdWx0KVxuICAgICAgICAgICAgfVxuXG59XG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBcIjIwMGUyZDE5XCIsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5pbmplY3RTdHlsZXMuY2FsbChjb21wb25lbnQpXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInVuaV9tb2R1bGVzL3VuaS1pY29ucy9jb21wb25lbnRzL3VuaS1pY29ucy91bmktaWNvbnMudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///26\n");
- /***/ }),
- /* 27 */
- /*!**************************************************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/uni_modules/uni-icons/components/uni-icons/uni-icons.vue?vue&type=template&id=a2e81f6e& ***!
- \**************************************************************************************************************************/
- /*! exports provided: render, staticRenderFns, recyclableRender, components */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_template_id_a2e81f6e___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/template.recycle.js!../../../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-0!../../../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./uni-icons.vue?vue&type=template&id=a2e81f6e& */ 28);
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_template_id_a2e81f6e___WEBPACK_IMPORTED_MODULE_0__["render"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_template_id_a2e81f6e___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_template_id_a2e81f6e___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_template_id_a2e81f6e___WEBPACK_IMPORTED_MODULE_0__["components"]; });
- /***/ }),
- /* 28 */
- /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/template.recycle.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/uni_modules/uni-icons/components/uni-icons/uni-icons.vue?vue&type=template&id=a2e81f6e& ***!
- \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! exports provided: render, staticRenderFns, recyclableRender, components */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
- var components
- var render = function () {
- var _vm = this
- var _h = _vm.$createElement
- var _c = _vm._self._c || _h
- return _c(
- "u-text",
- {
- staticClass: ["uni-icons"],
- style: { color: _vm.color, "font-size": _vm.iconSize },
- appendAsTree: true,
- attrs: { append: "tree" },
- on: { click: _vm._onClick },
- },
- [_vm._v(_vm._s(_vm.unicode))]
- )
- }
- var recyclableRender = false
- var staticRenderFns = []
- render._withStripped = true
- /***/ }),
- /* 29 */
- /*!********************************************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/uni_modules/uni-icons/components/uni-icons/uni-icons.vue?vue&type=script&lang=js& ***!
- \********************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib??ref--5-0!../../../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--5-1!../../../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./uni-icons.vue?vue&type=script&lang=js& */ 30);\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTBoQixDQUFnQiwyaEJBQUcsRUFBQyIsImZpbGUiOiIyOS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS01LTAhLi4vLi4vLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTUtMSEuLi8uLi8uLi8uLi8uLi8uLi8uLi/lt6XlhbcvSEJ1aWxkZXJYLjQuODcuMjAyNTEyMTAwNC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi91bmktaWNvbnMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uLy4uLy4uL+W3peWFty9IQnVpbGRlclguNC44Ny4yMDI1MTIxMDA0L0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNS0wIS4uLy4uLy4uLy4uLy4uLy4uLy4uL+W3peWFty9IQnVpbGRlclguNC44Ny4yMDI1MTIxMDA0L0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlci9pbmRleC5qcz8/cmVmLS01LTEhLi4vLi4vLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vdW5pLWljb25zLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///29\n");
- /***/ }),
- /* 30 */
- /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/babel-loader/lib??ref--5-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--5-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/uni_modules/uni-icons/components/uni-icons/uni-icons.vue?vue&type=script&lang=js& ***!
- \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 31);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _icons = _interopRequireDefault(__webpack_require__(/*! ./icons.js */ 32));\nvar _uniicons = _interopRequireDefault(__webpack_require__(/*! ./uniicons.ttf */ 33));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nvar getVal = function getVal(val) {\n var reg = /^[0-9]*$/g;\n return typeof val === 'number' || reg.test(val) ? val + 'px' : val;\n};\nvar domModule = weex.requireModule('dom');\ndomModule.addRule('fontFace', {\n 'fontFamily': \"uniicons\",\n 'src': \"url('\" + _uniicons.default + \"')\"\n});\n\n/**\n * Icons 图标\n * @description 用于展示 icons 图标\n * @tutorial https://ext.dcloud.net.cn/plugin?id=28\n * @property {Number} size 图标大小\n * @property {String} type 图标图案,参考示例\n * @property {String} color 图标颜色\n * @property {String} customPrefix 自定义图标\n * @event {Function} click 点击 Icon 触发事件\n */\nvar _default = {\n name: 'UniIcons',\n emits: ['click'],\n props: {\n type: {\n type: String,\n default: ''\n },\n color: {\n type: String,\n default: '#333333'\n },\n size: {\n type: [Number, String],\n default: 16\n },\n customPrefix: {\n type: String,\n default: ''\n }\n },\n data: function data() {\n return {\n icons: _icons.default.glyphs\n };\n },\n computed: {\n unicode: function unicode() {\n var _this = this;\n var code = this.icons.find(function (v) {\n return v.font_class === _this.type;\n });\n if (code) {\n return unescape(\"%u\".concat(code.unicode));\n }\n return '';\n },\n iconSize: function iconSize() {\n return getVal(this.size);\n }\n },\n methods: {\n _onClick: function _onClick() {\n this.$emit('click');\n }\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvdW5pLWljb25zL2NvbXBvbmVudHMvdW5pLWljb25zL3VuaS1pY29ucy52dWUiXSwibmFtZXMiOlsiZG9tTW9kdWxlIiwibmFtZSIsImVtaXRzIiwicHJvcHMiLCJ0eXBlIiwiZGVmYXVsdCIsImNvbG9yIiwic2l6ZSIsImN1c3RvbVByZWZpeCIsImRhdGEiLCJpY29ucyIsImNvbXB1dGVkIiwidW5pY29kZSIsImljb25TaXplIiwibWV0aG9kcyIsIl9vbkNsaWNrIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBVUE7QUFPQTs7Ozs7Ozs7Ozs7QUFOQTtFQUNBO0VBQ0E7QUFDQTtBQUVBO0FBRUFBO0VBQ0E7RUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVEEsZUFVQTtFQUNBQztFQUNBQztFQUNBQztJQUNBQztNQUNBQTtNQUNBQztJQUNBO0lBQ0FDO01BQ0FGO01BQ0FDO0lBQ0E7SUFDQUU7TUFDQUg7TUFDQUM7SUFDQTtJQUNBRztNQUNBSjtNQUNBQztJQUNBO0VBQ0E7RUFDQUk7SUFDQTtNQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQUM7TUFBQTtNQUNBO1FBQUE7TUFBQTtNQUNBO1FBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQUM7TUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBIiwiZmlsZSI6IjMwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuXHQ8IS0tICNpZmRlZiBBUFAtTlZVRSAtLT5cblx0PHRleHQgOnN0eWxlPVwieyBjb2xvcjogY29sb3IsICdmb250LXNpemUnOiBpY29uU2l6ZSB9XCIgY2xhc3M9XCJ1bmktaWNvbnNcIiBAY2xpY2s9XCJfb25DbGlja1wiPnt7dW5pY29kZX19PC90ZXh0PlxuXHQ8IS0tICNlbmRpZiAtLT5cblx0PCEtLSAjaWZuZGVmIEFQUC1OVlVFIC0tPlxuXHQ8dGV4dCA6c3R5bGU9XCJ7IGNvbG9yOiBjb2xvciwgJ2ZvbnQtc2l6ZSc6IGljb25TaXplIH1cIiBjbGFzcz1cInVuaS1pY29uc1wiIDpjbGFzcz1cIlsndW5pdWktJyt0eXBlLGN1c3RvbVByZWZpeCxjdXN0b21QcmVmaXg/dHlwZTonJ11cIiBAY2xpY2s9XCJfb25DbGlja1wiPjwvdGV4dD5cblx0PCEtLSAjZW5kaWYgLS0+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCBpY29ucyBmcm9tICcuL2ljb25zLmpzJztcblx0Y29uc3QgZ2V0VmFsID0gKHZhbCkgPT4ge1xuXHRcdGNvbnN0IHJlZyA9IC9eWzAtOV0qJC9nXG5cdFx0cmV0dXJuICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJyB8fOOAgHJlZy50ZXN0KHZhbCkgKT8gdmFsICsgJ3B4JyA6IHZhbDtcblx0fSBcclxuXHQvLyAjaWZkZWYgQVBQLU5WVUVcclxuXHR2YXIgZG9tTW9kdWxlID0gd2VleC5yZXF1aXJlTW9kdWxlKCdkb20nKTtcclxuXHRpbXBvcnQgaWNvblVybCBmcm9tICcuL3VuaWljb25zLnR0ZidcclxuXHRkb21Nb2R1bGUuYWRkUnVsZSgnZm9udEZhY2UnLCB7XHJcblx0XHQnZm9udEZhbWlseSc6IFwidW5paWNvbnNcIixcclxuXHRcdCdzcmMnOiBcInVybCgnXCIraWNvblVybCtcIicpXCJcclxuXHR9KTtcclxuXHQvLyAjZW5kaWZcclxuXHJcblx0LyoqXHJcblx0ICogSWNvbnMg5Zu+5qCHXHJcblx0ICogQGRlc2NyaXB0aW9uIOeUqOS6juWxleekuiBpY29ucyDlm77moIdcclxuXHQgKiBAdHV0b3JpYWwgaHR0cHM6Ly9leHQuZGNsb3VkLm5ldC5jbi9wbHVnaW4/aWQ9MjhcclxuXHQgKiBAcHJvcGVydHkge051bWJlcn0gc2l6ZSDlm77moIflpKflsI9cclxuXHQgKiBAcHJvcGVydHkge1N0cmluZ30gdHlwZSDlm77moIflm77moYjvvIzlj4LogIPnpLrkvotcclxuXHQgKiBAcHJvcGVydHkge1N0cmluZ30gY29sb3Ig5Zu+5qCH6aKc6ImyXG5cdCAqIEBwcm9wZXJ0eSB7U3RyaW5nfSBjdXN0b21QcmVmaXgg6Ieq5a6a5LmJ5Zu+5qCHXG5cdCAqIEBldmVudCB7RnVuY3Rpb259IGNsaWNrIOeCueWHuyBJY29uIOinpuWPkeS6i+S7tlxyXG5cdCAqL1xyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdG5hbWU6ICdVbmlJY29ucycsXHJcblx0XHRlbWl0czpbJ2NsaWNrJ10sXHJcblx0XHRwcm9wczoge1xyXG5cdFx0XHR0eXBlOiB7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICcnXHJcblx0XHRcdH0sXHJcblx0XHRcdGNvbG9yOiB7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICcjMzMzMzMzJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRzaXplOiB7XHJcblx0XHRcdFx0dHlwZTogW051bWJlciwgU3RyaW5nXSxcclxuXHRcdFx0XHRkZWZhdWx0OiAxNlxyXG5cdFx0XHR9LFxuXHRcdFx0Y3VzdG9tUHJlZml4Ontcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0XHRkZWZhdWx0OiAnJ1xuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0aWNvbnM6IGljb25zLmdseXBoc1xyXG5cdFx0XHR9XHJcblx0XHR9LFxuXHRcdGNvbXB1dGVkOntcblx0XHRcdHVuaWNvZGUoKXtcblx0XHRcdFx0bGV0IGNvZGUgPSB0aGlzLmljb25zLmZpbmQodj0+di5mb250X2NsYXNzID09PSB0aGlzLnR5cGUpXG5cdFx0XHRcdGlmKGNvZGUpe1xuXHRcdFx0XHRcdHJldHVybiB1bmVzY2FwZShgJXUke2NvZGUudW5pY29kZX1gKVxuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiAnJ1xuXHRcdFx0fSxcblx0XHRcdGljb25TaXplKCl7XG5cdFx0XHRcdHJldHVybiBnZXRWYWwodGhpcy5zaXplKVxuXHRcdFx0fVxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdF9vbkNsaWNrKCkge1xyXG5cdFx0XHRcdHRoaXMuJGVtaXQoJ2NsaWNrJylcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgbGFuZz1cInNjc3NcIj5cblx0LyogI2lmbmRlZiBBUFAtTlZVRSAqL1xuXHRAaW1wb3J0ICcuL3VuaWljb25zLmNzcyc7XHJcblx0QGZvbnQtZmFjZSB7XHJcblx0XHRmb250LWZhbWlseTogdW5paWNvbnM7XHJcblx0XHRzcmM6IHVybCgnLi91bmlpY29ucy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XHJcblx0fVxyXG5cclxuXHQvKiAjZW5kaWYgKi9cblx0LnVuaS1pY29ucyB7XHJcblx0XHRmb250LWZhbWlseTogdW5paWNvbnM7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///30\n");
- /***/ }),
- /* 31 */
- /*!**********************************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/interopRequireDefault.js ***!
- \**********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- "default": obj
- };
- }
- module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 32 */
- /*!**************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/uni_modules/uni-icons/components/uni-icons/icons.js ***!
- \**************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = {\n \"id\": \"2852637\",\n \"name\": \"uniui图标库\",\n \"font_family\": \"uniicons\",\n \"css_prefix_text\": \"uniui-\",\n \"description\": \"\",\n \"glyphs\": [{\n \"icon_id\": \"25027049\",\n \"name\": \"yanse\",\n \"font_class\": \"color\",\n \"unicode\": \"e6cf\",\n \"unicode_decimal\": 59087\n }, {\n \"icon_id\": \"25027048\",\n \"name\": \"wallet\",\n \"font_class\": \"wallet\",\n \"unicode\": \"e6b1\",\n \"unicode_decimal\": 59057\n }, {\n \"icon_id\": \"25015720\",\n \"name\": \"settings-filled\",\n \"font_class\": \"settings-filled\",\n \"unicode\": \"e6ce\",\n \"unicode_decimal\": 59086\n }, {\n \"icon_id\": \"25015434\",\n \"name\": \"shimingrenzheng-filled\",\n \"font_class\": \"auth-filled\",\n \"unicode\": \"e6cc\",\n \"unicode_decimal\": 59084\n }, {\n \"icon_id\": \"24934246\",\n \"name\": \"shop-filled\",\n \"font_class\": \"shop-filled\",\n \"unicode\": \"e6cd\",\n \"unicode_decimal\": 59085\n }, {\n \"icon_id\": \"24934159\",\n \"name\": \"staff-filled-01\",\n \"font_class\": \"staff-filled\",\n \"unicode\": \"e6cb\",\n \"unicode_decimal\": 59083\n }, {\n \"icon_id\": \"24932461\",\n \"name\": \"VIP-filled\",\n \"font_class\": \"vip-filled\",\n \"unicode\": \"e6c6\",\n \"unicode_decimal\": 59078\n }, {\n \"icon_id\": \"24932462\",\n \"name\": \"plus_circle_fill\",\n \"font_class\": \"plus-filled\",\n \"unicode\": \"e6c7\",\n \"unicode_decimal\": 59079\n }, {\n \"icon_id\": \"24932463\",\n \"name\": \"folder_add-filled\",\n \"font_class\": \"folder-add-filled\",\n \"unicode\": \"e6c8\",\n \"unicode_decimal\": 59080\n }, {\n \"icon_id\": \"24932464\",\n \"name\": \"yanse-filled\",\n \"font_class\": \"color-filled\",\n \"unicode\": \"e6c9\",\n \"unicode_decimal\": 59081\n }, {\n \"icon_id\": \"24932465\",\n \"name\": \"tune-filled\",\n \"font_class\": \"tune-filled\",\n \"unicode\": \"e6ca\",\n \"unicode_decimal\": 59082\n }, {\n \"icon_id\": \"24932455\",\n \"name\": \"a-rilidaka-filled\",\n \"font_class\": \"calendar-filled\",\n \"unicode\": \"e6c0\",\n \"unicode_decimal\": 59072\n }, {\n \"icon_id\": \"24932456\",\n \"name\": \"notification-filled\",\n \"font_class\": \"notification-filled\",\n \"unicode\": \"e6c1\",\n \"unicode_decimal\": 59073\n }, {\n \"icon_id\": \"24932457\",\n \"name\": \"wallet-filled\",\n \"font_class\": \"wallet-filled\",\n \"unicode\": \"e6c2\",\n \"unicode_decimal\": 59074\n }, {\n \"icon_id\": \"24932458\",\n \"name\": \"paihangbang-filled\",\n \"font_class\": \"medal-filled\",\n \"unicode\": \"e6c3\",\n \"unicode_decimal\": 59075\n }, {\n \"icon_id\": \"24932459\",\n \"name\": \"gift-filled\",\n \"font_class\": \"gift-filled\",\n \"unicode\": \"e6c4\",\n \"unicode_decimal\": 59076\n }, {\n \"icon_id\": \"24932460\",\n \"name\": \"fire-filled\",\n \"font_class\": \"fire-filled\",\n \"unicode\": \"e6c5\",\n \"unicode_decimal\": 59077\n }, {\n \"icon_id\": \"24928001\",\n \"name\": \"refreshempty\",\n \"font_class\": \"refreshempty\",\n \"unicode\": \"e6bf\",\n \"unicode_decimal\": 59071\n }, {\n \"icon_id\": \"24926853\",\n \"name\": \"location-ellipse\",\n \"font_class\": \"location-filled\",\n \"unicode\": \"e6af\",\n \"unicode_decimal\": 59055\n }, {\n \"icon_id\": \"24926735\",\n \"name\": \"person-filled\",\n \"font_class\": \"person-filled\",\n \"unicode\": \"e69d\",\n \"unicode_decimal\": 59037\n }, {\n \"icon_id\": \"24926703\",\n \"name\": \"personadd-filled\",\n \"font_class\": \"personadd-filled\",\n \"unicode\": \"e698\",\n \"unicode_decimal\": 59032\n }, {\n \"icon_id\": \"24923351\",\n \"name\": \"back\",\n \"font_class\": \"back\",\n \"unicode\": \"e6b9\",\n \"unicode_decimal\": 59065\n }, {\n \"icon_id\": \"24923352\",\n \"name\": \"forward\",\n \"font_class\": \"forward\",\n \"unicode\": \"e6ba\",\n \"unicode_decimal\": 59066\n }, {\n \"icon_id\": \"24923353\",\n \"name\": \"arrowthinright\",\n \"font_class\": \"arrow-right\",\n \"unicode\": \"e6bb\",\n \"unicode_decimal\": 59067\n }, {\n \"icon_id\": \"24923353\",\n \"name\": \"arrowthinright\",\n \"font_class\": \"arrowthinright\",\n \"unicode\": \"e6bb\",\n \"unicode_decimal\": 59067\n }, {\n \"icon_id\": \"24923354\",\n \"name\": \"arrowthinleft\",\n \"font_class\": \"arrow-left\",\n \"unicode\": \"e6bc\",\n \"unicode_decimal\": 59068\n }, {\n \"icon_id\": \"24923354\",\n \"name\": \"arrowthinleft\",\n \"font_class\": \"arrowthinleft\",\n \"unicode\": \"e6bc\",\n \"unicode_decimal\": 59068\n }, {\n \"icon_id\": \"24923355\",\n \"name\": \"arrowthinup\",\n \"font_class\": \"arrow-up\",\n \"unicode\": \"e6bd\",\n \"unicode_decimal\": 59069\n }, {\n \"icon_id\": \"24923355\",\n \"name\": \"arrowthinup\",\n \"font_class\": \"arrowthinup\",\n \"unicode\": \"e6bd\",\n \"unicode_decimal\": 59069\n }, {\n \"icon_id\": \"24923356\",\n \"name\": \"arrowthindown\",\n \"font_class\": \"arrow-down\",\n \"unicode\": \"e6be\",\n \"unicode_decimal\": 59070\n }, {\n \"icon_id\": \"24923356\",\n \"name\": \"arrowthindown\",\n \"font_class\": \"arrowthindown\",\n \"unicode\": \"e6be\",\n \"unicode_decimal\": 59070\n }, {\n \"icon_id\": \"24923349\",\n \"name\": \"arrowdown\",\n \"font_class\": \"bottom\",\n \"unicode\": \"e6b8\",\n \"unicode_decimal\": 59064\n }, {\n \"icon_id\": \"24923349\",\n \"name\": \"arrowdown\",\n \"font_class\": \"arrowdown\",\n \"unicode\": \"e6b8\",\n \"unicode_decimal\": 59064\n }, {\n \"icon_id\": \"24923346\",\n \"name\": \"arrowright\",\n \"font_class\": \"right\",\n \"unicode\": \"e6b5\",\n \"unicode_decimal\": 59061\n }, {\n \"icon_id\": \"24923346\",\n \"name\": \"arrowright\",\n \"font_class\": \"arrowright\",\n \"unicode\": \"e6b5\",\n \"unicode_decimal\": 59061\n }, {\n \"icon_id\": \"24923347\",\n \"name\": \"arrowup\",\n \"font_class\": \"top\",\n \"unicode\": \"e6b6\",\n \"unicode_decimal\": 59062\n }, {\n \"icon_id\": \"24923347\",\n \"name\": \"arrowup\",\n \"font_class\": \"arrowup\",\n \"unicode\": \"e6b6\",\n \"unicode_decimal\": 59062\n }, {\n \"icon_id\": \"24923348\",\n \"name\": \"arrowleft\",\n \"font_class\": \"left\",\n \"unicode\": \"e6b7\",\n \"unicode_decimal\": 59063\n }, {\n \"icon_id\": \"24923348\",\n \"name\": \"arrowleft\",\n \"font_class\": \"arrowleft\",\n \"unicode\": \"e6b7\",\n \"unicode_decimal\": 59063\n }, {\n \"icon_id\": \"24923334\",\n \"name\": \"eye\",\n \"font_class\": \"eye\",\n \"unicode\": \"e651\",\n \"unicode_decimal\": 58961\n }, {\n \"icon_id\": \"24923335\",\n \"name\": \"eye-filled\",\n \"font_class\": \"eye-filled\",\n \"unicode\": \"e66a\",\n \"unicode_decimal\": 58986\n }, {\n \"icon_id\": \"24923336\",\n \"name\": \"eye-slash\",\n \"font_class\": \"eye-slash\",\n \"unicode\": \"e6b3\",\n \"unicode_decimal\": 59059\n }, {\n \"icon_id\": \"24923337\",\n \"name\": \"eye-slash-filled\",\n \"font_class\": \"eye-slash-filled\",\n \"unicode\": \"e6b4\",\n \"unicode_decimal\": 59060\n }, {\n \"icon_id\": \"24923305\",\n \"name\": \"info-filled\",\n \"font_class\": \"info-filled\",\n \"unicode\": \"e649\",\n \"unicode_decimal\": 58953\n }, {\n \"icon_id\": \"24923299\",\n \"name\": \"reload-01\",\n \"font_class\": \"reload\",\n \"unicode\": \"e6b2\",\n \"unicode_decimal\": 59058\n }, {\n \"icon_id\": \"24923195\",\n \"name\": \"mic_slash_fill\",\n \"font_class\": \"micoff-filled\",\n \"unicode\": \"e6b0\",\n \"unicode_decimal\": 59056\n }, {\n \"icon_id\": \"24923165\",\n \"name\": \"map-pin-ellipse\",\n \"font_class\": \"map-pin-ellipse\",\n \"unicode\": \"e6ac\",\n \"unicode_decimal\": 59052\n }, {\n \"icon_id\": \"24923166\",\n \"name\": \"map-pin\",\n \"font_class\": \"map-pin\",\n \"unicode\": \"e6ad\",\n \"unicode_decimal\": 59053\n }, {\n \"icon_id\": \"24923167\",\n \"name\": \"location\",\n \"font_class\": \"location\",\n \"unicode\": \"e6ae\",\n \"unicode_decimal\": 59054\n }, {\n \"icon_id\": \"24923064\",\n \"name\": \"starhalf\",\n \"font_class\": \"starhalf\",\n \"unicode\": \"e683\",\n \"unicode_decimal\": 59011\n }, {\n \"icon_id\": \"24923065\",\n \"name\": \"star\",\n \"font_class\": \"star\",\n \"unicode\": \"e688\",\n \"unicode_decimal\": 59016\n }, {\n \"icon_id\": \"24923066\",\n \"name\": \"star-filled\",\n \"font_class\": \"star-filled\",\n \"unicode\": \"e68f\",\n \"unicode_decimal\": 59023\n }, {\n \"icon_id\": \"24899646\",\n \"name\": \"a-rilidaka\",\n \"font_class\": \"calendar\",\n \"unicode\": \"e6a0\",\n \"unicode_decimal\": 59040\n }, {\n \"icon_id\": \"24899647\",\n \"name\": \"fire\",\n \"font_class\": \"fire\",\n \"unicode\": \"e6a1\",\n \"unicode_decimal\": 59041\n }, {\n \"icon_id\": \"24899648\",\n \"name\": \"paihangbang\",\n \"font_class\": \"medal\",\n \"unicode\": \"e6a2\",\n \"unicode_decimal\": 59042\n }, {\n \"icon_id\": \"24899649\",\n \"name\": \"font\",\n \"font_class\": \"font\",\n \"unicode\": \"e6a3\",\n \"unicode_decimal\": 59043\n }, {\n \"icon_id\": \"24899650\",\n \"name\": \"gift\",\n \"font_class\": \"gift\",\n \"unicode\": \"e6a4\",\n \"unicode_decimal\": 59044\n }, {\n \"icon_id\": \"24899651\",\n \"name\": \"link\",\n \"font_class\": \"link\",\n \"unicode\": \"e6a5\",\n \"unicode_decimal\": 59045\n }, {\n \"icon_id\": \"24899652\",\n \"name\": \"notification\",\n \"font_class\": \"notification\",\n \"unicode\": \"e6a6\",\n \"unicode_decimal\": 59046\n }, {\n \"icon_id\": \"24899653\",\n \"name\": \"staff\",\n \"font_class\": \"staff\",\n \"unicode\": \"e6a7\",\n \"unicode_decimal\": 59047\n }, {\n \"icon_id\": \"24899654\",\n \"name\": \"VIP\",\n \"font_class\": \"vip\",\n \"unicode\": \"e6a8\",\n \"unicode_decimal\": 59048\n }, {\n \"icon_id\": \"24899655\",\n \"name\": \"folder_add\",\n \"font_class\": \"folder-add\",\n \"unicode\": \"e6a9\",\n \"unicode_decimal\": 59049\n }, {\n \"icon_id\": \"24899656\",\n \"name\": \"tune\",\n \"font_class\": \"tune\",\n \"unicode\": \"e6aa\",\n \"unicode_decimal\": 59050\n }, {\n \"icon_id\": \"24899657\",\n \"name\": \"shimingrenzheng\",\n \"font_class\": \"auth\",\n \"unicode\": \"e6ab\",\n \"unicode_decimal\": 59051\n }, {\n \"icon_id\": \"24899565\",\n \"name\": \"person\",\n \"font_class\": \"person\",\n \"unicode\": \"e699\",\n \"unicode_decimal\": 59033\n }, {\n \"icon_id\": \"24899566\",\n \"name\": \"email-filled\",\n \"font_class\": \"email-filled\",\n \"unicode\": \"e69a\",\n \"unicode_decimal\": 59034\n }, {\n \"icon_id\": \"24899567\",\n \"name\": \"phone-filled\",\n \"font_class\": \"phone-filled\",\n \"unicode\": \"e69b\",\n \"unicode_decimal\": 59035\n }, {\n \"icon_id\": \"24899568\",\n \"name\": \"phone\",\n \"font_class\": \"phone\",\n \"unicode\": \"e69c\",\n \"unicode_decimal\": 59036\n }, {\n \"icon_id\": \"24899570\",\n \"name\": \"email\",\n \"font_class\": \"email\",\n \"unicode\": \"e69e\",\n \"unicode_decimal\": 59038\n }, {\n \"icon_id\": \"24899571\",\n \"name\": \"personadd\",\n \"font_class\": \"personadd\",\n \"unicode\": \"e69f\",\n \"unicode_decimal\": 59039\n }, {\n \"icon_id\": \"24899558\",\n \"name\": \"chatboxes-filled\",\n \"font_class\": \"chatboxes-filled\",\n \"unicode\": \"e692\",\n \"unicode_decimal\": 59026\n }, {\n \"icon_id\": \"24899559\",\n \"name\": \"contact\",\n \"font_class\": \"contact\",\n \"unicode\": \"e693\",\n \"unicode_decimal\": 59027\n }, {\n \"icon_id\": \"24899560\",\n \"name\": \"chatbubble-filled\",\n \"font_class\": \"chatbubble-filled\",\n \"unicode\": \"e694\",\n \"unicode_decimal\": 59028\n }, {\n \"icon_id\": \"24899561\",\n \"name\": \"contact-filled\",\n \"font_class\": \"contact-filled\",\n \"unicode\": \"e695\",\n \"unicode_decimal\": 59029\n }, {\n \"icon_id\": \"24899562\",\n \"name\": \"chatboxes\",\n \"font_class\": \"chatboxes\",\n \"unicode\": \"e696\",\n \"unicode_decimal\": 59030\n }, {\n \"icon_id\": \"24899563\",\n \"name\": \"chatbubble\",\n \"font_class\": \"chatbubble\",\n \"unicode\": \"e697\",\n \"unicode_decimal\": 59031\n }, {\n \"icon_id\": \"24881290\",\n \"name\": \"upload-filled\",\n \"font_class\": \"upload-filled\",\n \"unicode\": \"e68e\",\n \"unicode_decimal\": 59022\n }, {\n \"icon_id\": \"24881292\",\n \"name\": \"upload\",\n \"font_class\": \"upload\",\n \"unicode\": \"e690\",\n \"unicode_decimal\": 59024\n }, {\n \"icon_id\": \"24881293\",\n \"name\": \"weixin\",\n \"font_class\": \"weixin\",\n \"unicode\": \"e691\",\n \"unicode_decimal\": 59025\n }, {\n \"icon_id\": \"24881274\",\n \"name\": \"compose\",\n \"font_class\": \"compose\",\n \"unicode\": \"e67f\",\n \"unicode_decimal\": 59007\n }, {\n \"icon_id\": \"24881275\",\n \"name\": \"qq\",\n \"font_class\": \"qq\",\n \"unicode\": \"e680\",\n \"unicode_decimal\": 59008\n }, {\n \"icon_id\": \"24881276\",\n \"name\": \"download-filled\",\n \"font_class\": \"download-filled\",\n \"unicode\": \"e681\",\n \"unicode_decimal\": 59009\n }, {\n \"icon_id\": \"24881277\",\n \"name\": \"pengyouquan\",\n \"font_class\": \"pyq\",\n \"unicode\": \"e682\",\n \"unicode_decimal\": 59010\n }, {\n \"icon_id\": \"24881279\",\n \"name\": \"sound\",\n \"font_class\": \"sound\",\n \"unicode\": \"e684\",\n \"unicode_decimal\": 59012\n }, {\n \"icon_id\": \"24881280\",\n \"name\": \"trash-filled\",\n \"font_class\": \"trash-filled\",\n \"unicode\": \"e685\",\n \"unicode_decimal\": 59013\n }, {\n \"icon_id\": \"24881281\",\n \"name\": \"sound-filled\",\n \"font_class\": \"sound-filled\",\n \"unicode\": \"e686\",\n \"unicode_decimal\": 59014\n }, {\n \"icon_id\": \"24881282\",\n \"name\": \"trash\",\n \"font_class\": \"trash\",\n \"unicode\": \"e687\",\n \"unicode_decimal\": 59015\n }, {\n \"icon_id\": \"24881284\",\n \"name\": \"videocam-filled\",\n \"font_class\": \"videocam-filled\",\n \"unicode\": \"e689\",\n \"unicode_decimal\": 59017\n }, {\n \"icon_id\": \"24881285\",\n \"name\": \"spinner-cycle\",\n \"font_class\": \"spinner-cycle\",\n \"unicode\": \"e68a\",\n \"unicode_decimal\": 59018\n }, {\n \"icon_id\": \"24881286\",\n \"name\": \"weibo\",\n \"font_class\": \"weibo\",\n \"unicode\": \"e68b\",\n \"unicode_decimal\": 59019\n }, {\n \"icon_id\": \"24881288\",\n \"name\": \"videocam\",\n \"font_class\": \"videocam\",\n \"unicode\": \"e68c\",\n \"unicode_decimal\": 59020\n }, {\n \"icon_id\": \"24881289\",\n \"name\": \"download\",\n \"font_class\": \"download\",\n \"unicode\": \"e68d\",\n \"unicode_decimal\": 59021\n }, {\n \"icon_id\": \"24879601\",\n \"name\": \"help\",\n \"font_class\": \"help\",\n \"unicode\": \"e679\",\n \"unicode_decimal\": 59001\n }, {\n \"icon_id\": \"24879602\",\n \"name\": \"navigate-filled\",\n \"font_class\": \"navigate-filled\",\n \"unicode\": \"e67a\",\n \"unicode_decimal\": 59002\n }, {\n \"icon_id\": \"24879603\",\n \"name\": \"plusempty\",\n \"font_class\": \"plusempty\",\n \"unicode\": \"e67b\",\n \"unicode_decimal\": 59003\n }, {\n \"icon_id\": \"24879604\",\n \"name\": \"smallcircle\",\n \"font_class\": \"smallcircle\",\n \"unicode\": \"e67c\",\n \"unicode_decimal\": 59004\n }, {\n \"icon_id\": \"24879605\",\n \"name\": \"minus-filled\",\n \"font_class\": \"minus-filled\",\n \"unicode\": \"e67d\",\n \"unicode_decimal\": 59005\n }, {\n \"icon_id\": \"24879606\",\n \"name\": \"micoff\",\n \"font_class\": \"micoff\",\n \"unicode\": \"e67e\",\n \"unicode_decimal\": 59006\n }, {\n \"icon_id\": \"24879588\",\n \"name\": \"closeempty\",\n \"font_class\": \"closeempty\",\n \"unicode\": \"e66c\",\n \"unicode_decimal\": 58988\n }, {\n \"icon_id\": \"24879589\",\n \"name\": \"clear\",\n \"font_class\": \"clear\",\n \"unicode\": \"e66d\",\n \"unicode_decimal\": 58989\n }, {\n \"icon_id\": \"24879590\",\n \"name\": \"navigate\",\n \"font_class\": \"navigate\",\n \"unicode\": \"e66e\",\n \"unicode_decimal\": 58990\n }, {\n \"icon_id\": \"24879591\",\n \"name\": \"minus\",\n \"font_class\": \"minus\",\n \"unicode\": \"e66f\",\n \"unicode_decimal\": 58991\n }, {\n \"icon_id\": \"24879592\",\n \"name\": \"image\",\n \"font_class\": \"image\",\n \"unicode\": \"e670\",\n \"unicode_decimal\": 58992\n }, {\n \"icon_id\": \"24879593\",\n \"name\": \"mic\",\n \"font_class\": \"mic\",\n \"unicode\": \"e671\",\n \"unicode_decimal\": 58993\n }, {\n \"icon_id\": \"24879594\",\n \"name\": \"paperplane\",\n \"font_class\": \"paperplane\",\n \"unicode\": \"e672\",\n \"unicode_decimal\": 58994\n }, {\n \"icon_id\": \"24879595\",\n \"name\": \"close\",\n \"font_class\": \"close\",\n \"unicode\": \"e673\",\n \"unicode_decimal\": 58995\n }, {\n \"icon_id\": \"24879596\",\n \"name\": \"help-filled\",\n \"font_class\": \"help-filled\",\n \"unicode\": \"e674\",\n \"unicode_decimal\": 58996\n }, {\n \"icon_id\": \"24879597\",\n \"name\": \"plus-filled\",\n \"font_class\": \"paperplane-filled\",\n \"unicode\": \"e675\",\n \"unicode_decimal\": 58997\n }, {\n \"icon_id\": \"24879598\",\n \"name\": \"plus\",\n \"font_class\": \"plus\",\n \"unicode\": \"e676\",\n \"unicode_decimal\": 58998\n }, {\n \"icon_id\": \"24879599\",\n \"name\": \"mic-filled\",\n \"font_class\": \"mic-filled\",\n \"unicode\": \"e677\",\n \"unicode_decimal\": 58999\n }, {\n \"icon_id\": \"24879600\",\n \"name\": \"image-filled\",\n \"font_class\": \"image-filled\",\n \"unicode\": \"e678\",\n \"unicode_decimal\": 59000\n }, {\n \"icon_id\": \"24855900\",\n \"name\": \"locked-filled\",\n \"font_class\": \"locked-filled\",\n \"unicode\": \"e668\",\n \"unicode_decimal\": 58984\n }, {\n \"icon_id\": \"24855901\",\n \"name\": \"info\",\n \"font_class\": \"info\",\n \"unicode\": \"e669\",\n \"unicode_decimal\": 58985\n }, {\n \"icon_id\": \"24855903\",\n \"name\": \"locked\",\n \"font_class\": \"locked\",\n \"unicode\": \"e66b\",\n \"unicode_decimal\": 58987\n }, {\n \"icon_id\": \"24855884\",\n \"name\": \"camera-filled\",\n \"font_class\": \"camera-filled\",\n \"unicode\": \"e658\",\n \"unicode_decimal\": 58968\n }, {\n \"icon_id\": \"24855885\",\n \"name\": \"chat-filled\",\n \"font_class\": \"chat-filled\",\n \"unicode\": \"e659\",\n \"unicode_decimal\": 58969\n }, {\n \"icon_id\": \"24855886\",\n \"name\": \"camera\",\n \"font_class\": \"camera\",\n \"unicode\": \"e65a\",\n \"unicode_decimal\": 58970\n }, {\n \"icon_id\": \"24855887\",\n \"name\": \"circle\",\n \"font_class\": \"circle\",\n \"unicode\": \"e65b\",\n \"unicode_decimal\": 58971\n }, {\n \"icon_id\": \"24855888\",\n \"name\": \"checkmarkempty\",\n \"font_class\": \"checkmarkempty\",\n \"unicode\": \"e65c\",\n \"unicode_decimal\": 58972\n }, {\n \"icon_id\": \"24855889\",\n \"name\": \"chat\",\n \"font_class\": \"chat\",\n \"unicode\": \"e65d\",\n \"unicode_decimal\": 58973\n }, {\n \"icon_id\": \"24855890\",\n \"name\": \"circle-filled\",\n \"font_class\": \"circle-filled\",\n \"unicode\": \"e65e\",\n \"unicode_decimal\": 58974\n }, {\n \"icon_id\": \"24855891\",\n \"name\": \"flag\",\n \"font_class\": \"flag\",\n \"unicode\": \"e65f\",\n \"unicode_decimal\": 58975\n }, {\n \"icon_id\": \"24855892\",\n \"name\": \"flag-filled\",\n \"font_class\": \"flag-filled\",\n \"unicode\": \"e660\",\n \"unicode_decimal\": 58976\n }, {\n \"icon_id\": \"24855893\",\n \"name\": \"gear-filled\",\n \"font_class\": \"gear-filled\",\n \"unicode\": \"e661\",\n \"unicode_decimal\": 58977\n }, {\n \"icon_id\": \"24855894\",\n \"name\": \"home\",\n \"font_class\": \"home\",\n \"unicode\": \"e662\",\n \"unicode_decimal\": 58978\n }, {\n \"icon_id\": \"24855895\",\n \"name\": \"home-filled\",\n \"font_class\": \"home-filled\",\n \"unicode\": \"e663\",\n \"unicode_decimal\": 58979\n }, {\n \"icon_id\": \"24855896\",\n \"name\": \"gear\",\n \"font_class\": \"gear\",\n \"unicode\": \"e664\",\n \"unicode_decimal\": 58980\n }, {\n \"icon_id\": \"24855897\",\n \"name\": \"smallcircle-filled\",\n \"font_class\": \"smallcircle-filled\",\n \"unicode\": \"e665\",\n \"unicode_decimal\": 58981\n }, {\n \"icon_id\": \"24855898\",\n \"name\": \"map-filled\",\n \"font_class\": \"map-filled\",\n \"unicode\": \"e666\",\n \"unicode_decimal\": 58982\n }, {\n \"icon_id\": \"24855899\",\n \"name\": \"map\",\n \"font_class\": \"map\",\n \"unicode\": \"e667\",\n \"unicode_decimal\": 58983\n }, {\n \"icon_id\": \"24855825\",\n \"name\": \"refresh-filled\",\n \"font_class\": \"refresh-filled\",\n \"unicode\": \"e656\",\n \"unicode_decimal\": 58966\n }, {\n \"icon_id\": \"24855826\",\n \"name\": \"refresh\",\n \"font_class\": \"refresh\",\n \"unicode\": \"e657\",\n \"unicode_decimal\": 58967\n }, {\n \"icon_id\": \"24855808\",\n \"name\": \"cloud-upload\",\n \"font_class\": \"cloud-upload\",\n \"unicode\": \"e645\",\n \"unicode_decimal\": 58949\n }, {\n \"icon_id\": \"24855809\",\n \"name\": \"cloud-download-filled\",\n \"font_class\": \"cloud-download-filled\",\n \"unicode\": \"e646\",\n \"unicode_decimal\": 58950\n }, {\n \"icon_id\": \"24855810\",\n \"name\": \"cloud-download\",\n \"font_class\": \"cloud-download\",\n \"unicode\": \"e647\",\n \"unicode_decimal\": 58951\n }, {\n \"icon_id\": \"24855811\",\n \"name\": \"cloud-upload-filled\",\n \"font_class\": \"cloud-upload-filled\",\n \"unicode\": \"e648\",\n \"unicode_decimal\": 58952\n }, {\n \"icon_id\": \"24855813\",\n \"name\": \"redo\",\n \"font_class\": \"redo\",\n \"unicode\": \"e64a\",\n \"unicode_decimal\": 58954\n }, {\n \"icon_id\": \"24855814\",\n \"name\": \"images-filled\",\n \"font_class\": \"images-filled\",\n \"unicode\": \"e64b\",\n \"unicode_decimal\": 58955\n }, {\n \"icon_id\": \"24855815\",\n \"name\": \"undo-filled\",\n \"font_class\": \"undo-filled\",\n \"unicode\": \"e64c\",\n \"unicode_decimal\": 58956\n }, {\n \"icon_id\": \"24855816\",\n \"name\": \"more\",\n \"font_class\": \"more\",\n \"unicode\": \"e64d\",\n \"unicode_decimal\": 58957\n }, {\n \"icon_id\": \"24855817\",\n \"name\": \"more-filled\",\n \"font_class\": \"more-filled\",\n \"unicode\": \"e64e\",\n \"unicode_decimal\": 58958\n }, {\n \"icon_id\": \"24855818\",\n \"name\": \"undo\",\n \"font_class\": \"undo\",\n \"unicode\": \"e64f\",\n \"unicode_decimal\": 58959\n }, {\n \"icon_id\": \"24855819\",\n \"name\": \"images\",\n \"font_class\": \"images\",\n \"unicode\": \"e650\",\n \"unicode_decimal\": 58960\n }, {\n \"icon_id\": \"24855821\",\n \"name\": \"paperclip\",\n \"font_class\": \"paperclip\",\n \"unicode\": \"e652\",\n \"unicode_decimal\": 58962\n }, {\n \"icon_id\": \"24855822\",\n \"name\": \"settings\",\n \"font_class\": \"settings\",\n \"unicode\": \"e653\",\n \"unicode_decimal\": 58963\n }, {\n \"icon_id\": \"24855823\",\n \"name\": \"search\",\n \"font_class\": \"search\",\n \"unicode\": \"e654\",\n \"unicode_decimal\": 58964\n }, {\n \"icon_id\": \"24855824\",\n \"name\": \"redo-filled\",\n \"font_class\": \"redo-filled\",\n \"unicode\": \"e655\",\n \"unicode_decimal\": 58965\n }, {\n \"icon_id\": \"24841702\",\n \"name\": \"list\",\n \"font_class\": \"list\",\n \"unicode\": \"e644\",\n \"unicode_decimal\": 58948\n }, {\n \"icon_id\": \"24841489\",\n \"name\": \"mail-open-filled\",\n \"font_class\": \"mail-open-filled\",\n \"unicode\": \"e63a\",\n \"unicode_decimal\": 58938\n }, {\n \"icon_id\": \"24841491\",\n \"name\": \"hand-thumbsdown-filled\",\n \"font_class\": \"hand-down-filled\",\n \"unicode\": \"e63c\",\n \"unicode_decimal\": 58940\n }, {\n \"icon_id\": \"24841492\",\n \"name\": \"hand-thumbsdown\",\n \"font_class\": \"hand-down\",\n \"unicode\": \"e63d\",\n \"unicode_decimal\": 58941\n }, {\n \"icon_id\": \"24841493\",\n \"name\": \"hand-thumbsup-filled\",\n \"font_class\": \"hand-up-filled\",\n \"unicode\": \"e63e\",\n \"unicode_decimal\": 58942\n }, {\n \"icon_id\": \"24841494\",\n \"name\": \"hand-thumbsup\",\n \"font_class\": \"hand-up\",\n \"unicode\": \"e63f\",\n \"unicode_decimal\": 58943\n }, {\n \"icon_id\": \"24841496\",\n \"name\": \"heart-filled\",\n \"font_class\": \"heart-filled\",\n \"unicode\": \"e641\",\n \"unicode_decimal\": 58945\n }, {\n \"icon_id\": \"24841498\",\n \"name\": \"mail-open\",\n \"font_class\": \"mail-open\",\n \"unicode\": \"e643\",\n \"unicode_decimal\": 58947\n }, {\n \"icon_id\": \"24841488\",\n \"name\": \"heart\",\n \"font_class\": \"heart\",\n \"unicode\": \"e639\",\n \"unicode_decimal\": 58937\n }, {\n \"icon_id\": \"24839963\",\n \"name\": \"loop\",\n \"font_class\": \"loop\",\n \"unicode\": \"e633\",\n \"unicode_decimal\": 58931\n }, {\n \"icon_id\": \"24839866\",\n \"name\": \"pulldown\",\n \"font_class\": \"pulldown\",\n \"unicode\": \"e632\",\n \"unicode_decimal\": 58930\n }, {\n \"icon_id\": \"24813798\",\n \"name\": \"scan\",\n \"font_class\": \"scan\",\n \"unicode\": \"e62a\",\n \"unicode_decimal\": 58922\n }, {\n \"icon_id\": \"24813786\",\n \"name\": \"bars\",\n \"font_class\": \"bars\",\n \"unicode\": \"e627\",\n \"unicode_decimal\": 58919\n }, {\n \"icon_id\": \"24813788\",\n \"name\": \"cart-filled\",\n \"font_class\": \"cart-filled\",\n \"unicode\": \"e629\",\n \"unicode_decimal\": 58921\n }, {\n \"icon_id\": \"24813790\",\n \"name\": \"checkbox\",\n \"font_class\": \"checkbox\",\n \"unicode\": \"e62b\",\n \"unicode_decimal\": 58923\n }, {\n \"icon_id\": \"24813791\",\n \"name\": \"checkbox-filled\",\n \"font_class\": \"checkbox-filled\",\n \"unicode\": \"e62c\",\n \"unicode_decimal\": 58924\n }, {\n \"icon_id\": \"24813794\",\n \"name\": \"shop\",\n \"font_class\": \"shop\",\n \"unicode\": \"e62f\",\n \"unicode_decimal\": 58927\n }, {\n \"icon_id\": \"24813795\",\n \"name\": \"headphones\",\n \"font_class\": \"headphones\",\n \"unicode\": \"e630\",\n \"unicode_decimal\": 58928\n }, {\n \"icon_id\": \"24813796\",\n \"name\": \"cart\",\n \"font_class\": \"cart\",\n \"unicode\": \"e631\",\n \"unicode_decimal\": 58929\n }]\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvdW5pLWljb25zL2NvbXBvbmVudHMvdW5pLWljb25zL2ljb25zLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztlQUFlO0VBQ2IsSUFBSSxFQUFFLFNBQVM7RUFDZixNQUFNLEVBQUUsVUFBVTtFQUNsQixhQUFhLEVBQUUsVUFBVTtFQUN6QixpQkFBaUIsRUFBRSxRQUFRO0VBQzNCLGFBQWEsRUFBRSxFQUFFO0VBQ2pCLFFBQVEsRUFBRSxDQUNSO0lBQ0UsU0FBUyxFQUFFLFVBQVU7SUFDckIsTUFBTSxFQUFFLE9BQU87SUFDZixZQUFZLEVBQUUsT0FBTztJQUNyQixTQUFTLEVBQUUsTUFBTTtJQUNqQixpQkFBaUIsRUFBRTtFQUNyQixDQUFDLEVBQ0Q7SUFDRSxTQUFTLEVBQUUsVUFBVTtJQUNyQixNQUFNLEVBQUUsUUFBUTtJQUNoQixZQUFZLEVBQUUsUUFBUTtJQUN0QixTQUFTLEVBQUUsTUFBTTtJQUNqQixpQkFBaUIsRUFBRTtFQUNyQixDQUFDLEVBQ0Q7SUFDRSxTQUFTLEVBQUUsVUFBVTtJQUNyQixNQUFNLEVBQUUsaUJBQWlCO0lBQ3pCLFlBQVksRUFBRSxpQkFBaUI7SUFDL0IsU0FBUyxFQUFFLE1BQU07SUFDakIsaUJBQWlCLEVBQUU7RUFDckIsQ0FBQyxFQUNEO0lBQ0UsU0FBUyxFQUFFLFVBQVU7SUFDckIsTUFBTSxFQUFFLHdCQUF3QjtJQUNoQyxZQUFZLEVBQUUsYUFBYTtJQUMzQixTQUFTLEVBQUUsTUFBTTtJQUNqQixpQkFBaUIsRUFBRTtFQUNyQixDQUFDLEVBQ0Q7SUFDRSxTQUFTLEVBQUUsVUFBVTtJQUNyQixNQUFNLEVBQUUsYUFBYTtJQUNyQixZQUFZLEVBQUUsYUFBYTtJQUMzQixTQUFTLEVBQUUsTUFBTTtJQUNqQixpQkFBaUIsRUFBRTtFQUNyQixDQUFDLEVBQ0Q7SUFDRSxTQUFTLEVBQUUsVUFBVTtJQUNyQixNQUFNLEVBQUUsaUJBQWlCO0lBQ3pCLFlBQVksRUFBRSxj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QWE7SUFDckIsWUFBWSxFQUFFLGFBQWE7SUFDM0IsU0FBUyxFQUFFLE1BQU07SUFDakIsaUJBQWlCLEVBQUU7RUFDckIsQ0FBQyxFQUNDO0lBQ0UsU0FBUyxFQUFFLFVBQVU7SUFDckIsTUFBTSxFQUFFLGVBQWU7SUFDdkIsWUFBWSxFQUFFLFlBQVk7SUFDMUIsU0FBUyxFQUFFLE1BQU07SUFDakIsaUJBQWlCLEVBQUU7RUFDckIsQ0FBQyxFQUFDO0lBQ0EsU0FBUyxFQUFFLFVBQVU7SUFDckIsTUFBTSxFQUFFLGVBQWU7SUFDdkIsWUFBWSxFQUFFLGVBQWU7SUFDN0IsU0FBUyxFQUFFLE1BQU07SUFDakIsaUJBQWlCLEVBQUU7RUFDckIsQ0FBQyxFQUNEO0lBQ0UsU0FBUyxFQUFFLFVBQVU7SUFDckIsTUFBTSxFQUFFLFdBQVc7SUFDbkIsWUFBWSxFQUFFLFFBQVE7SUFDdEIsU0FBUyxFQUFFLE1BQU07SUFDakIsaUJBQWlCLEVBQUU7RUFDckIsQ0FBQyxFQUFDO0lBQ0EsU0FBUyxFQUFFLFVBQVU7SUFDckIsTUFBTSxFQUFFLFdBQVc7SUFDbkIsWUFBWSxFQUFFLFdBQVc7SUFDekIsU0FBUyxFQUFFLE1BQU07SUFDakIsaUJBQWlCLEVBQUU7RUFDckIsQ0FBQyxFQUNEO0lBQ0UsU0FBUyxFQUFFLFVBQVU7SUFDckIsTUFBTSxFQUFFLFlBQVk7SUFDcEIsWUFBWSxFQUFFLE9BQU87SUFDckIsU0FBUyxFQUFFLE1BQU07SUFDakIsaUJBQWlCLEVBQUU7RUFDckIsQ0FBQyxFQUNIO0lBQ0UsU0FBUyxFQUFFLFVBQVU7SUFDckIsTUFBTSxFQUFFLFlBQVk7SUFDcEIsWUFBWSxFQUFFLFlBQVk7SUFDMUIsU0FBUyxFQUFFLE1BQU07SUFDakIsaUJBQWlCLEVBQUU7RUFDckIsQ0FBQyxFQUNDO0lBQ0UsU0FBUyxFQUFFLFVBQVU7SUFDckIsTUFBTSxFQUFFLFNBQVM7SUFDakIsWUFBWSxFQUFFLEtBQUs7SUFDbkIsU0FBUyxFQUFFLE1BQU07SUFDakIsaUJBQWlCLEVBQUU7RUFDckIsQ0FBQyxFQUNIO0lB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dCBkZWZhdWx0IHtcbiAgXCJpZFwiOiBcIjI4NTI2MzdcIixcbiAgXCJuYW1lXCI6IFwidW5pdWnlm77moIflupNcIixcbiAgXCJmb250X2ZhbWlseVwiOiBcInVuaWljb25zXCIsXG4gIFwiY3NzX3ByZWZpeF90ZXh0XCI6IFwidW5pdWktXCIsXG4gIFwiZGVzY3JpcHRpb25cIjogXCJcIixcbiAgXCJnbHlwaHNcIjogW1xuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI1MDI3MDQ5XCIsXG4gICAgICBcIm5hbWVcIjogXCJ5YW5zZVwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiY29sb3JcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2Y2ZcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDg3XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNTAyNzA0OFwiLFxuICAgICAgXCJuYW1lXCI6IFwid2FsbGV0XCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJ3YWxsZXRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2YjFcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDU3XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNTAxNTcyMFwiLFxuICAgICAgXCJuYW1lXCI6IFwic2V0dGluZ3MtZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJzZXR0aW5ncy1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2Y2VcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDg2XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNTAxNTQzNFwiLFxuICAgICAgXCJuYW1lXCI6IFwic2hpbWluZ3JlbnpoZW5nLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiYXV0aC1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2Y2NcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDg0XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkzNDI0NlwiLFxuICAgICAgXCJuYW1lXCI6IFwic2hvcC1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInNob3AtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmNkXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA4NVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MzQxNTlcIixcbiAgICAgIFwibmFtZVwiOiBcInN0YWZmLWZpbGxlZC0wMVwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwic3RhZmYtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmNiXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA4M1xuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MzI0NjFcIixcbiAgICAgIFwibmFtZVwiOiBcIlZJUC1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInZpcC1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2YzZcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDc4XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkzMjQ2MlwiLFxuICAgICAgXCJuYW1lXCI6IFwicGx1c19jaXJjbGVfZmlsbFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwicGx1cy1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2YzdcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDc5XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkzMjQ2M1wiLFxuICAgICAgXCJuYW1lXCI6IFwiZm9sZGVyX2FkZC1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImZvbGRlci1hZGQtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmM4XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA4MFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MzI0NjRcIixcbiAgICAgIFwibmFtZVwiOiBcInlhbnNlLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiY29sb3ItZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmM5XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA4MVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MzI0NjVcIixcbiAgICAgIFwibmFtZVwiOiBcInR1bmUtZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJ0dW5lLWZpbGxlZFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTZjYVwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwODJcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0OTMyNDU1XCIsXG4gICAgICBcIm5hbWVcIjogXCJhLXJpbGlkYWthLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiY2FsZW5kYXItZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmMwXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA3MlxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MzI0NTZcIixcbiAgICAgIFwibmFtZVwiOiBcIm5vdGlmaWNhdGlvbi1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcIm5vdGlmaWNhdGlvbi1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2YzFcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDczXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkzMjQ1N1wiLFxuICAgICAgXCJuYW1lXCI6IFwid2FsbGV0LWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwid2FsbGV0LWZpbGxlZFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTZjMlwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwNzRcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0OTMyNDU4XCIsXG4gICAgICBcIm5hbWVcIjogXCJwYWloYW5nYmFuZy1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcIm1lZGFsLWZpbGxlZFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTZjM1wiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwNzVcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0OTMyNDU5XCIsXG4gICAgICBcIm5hbWVcIjogXCJnaWZ0LWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiZ2lmdC1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2YzRcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDc2XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkzMjQ2MFwiLFxuICAgICAgXCJuYW1lXCI6IFwiZmlyZS1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImZpcmUtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmM1XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA3N1xuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MjgwMDFcIixcbiAgICAgIFwibmFtZVwiOiBcInJlZnJlc2hlbXB0eVwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwicmVmcmVzaGVtcHR5XCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmJmXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA3MVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MjY4NTNcIixcbiAgICAgIFwibmFtZVwiOiBcImxvY2F0aW9uLWVsbGlwc2VcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImxvY2F0aW9uLWZpbGxlZFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTZhZlwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwNTVcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0OTI2NzM1XCIsXG4gICAgICBcIm5hbWVcIjogXCJwZXJzb24tZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJwZXJzb24tZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjlkXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAzN1xuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MjY3MDNcIixcbiAgICAgIFwibmFtZVwiOiBcInBlcnNvbmFkZC1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInBlcnNvbmFkZC1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2OThcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDMyXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkyMzM1MVwiLFxuICAgICAgXCJuYW1lXCI6IFwiYmFja1wiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiYmFja1wiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTZiOVwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwNjVcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0OTIzMzUyXCIsXG4gICAgICBcIm5hbWVcIjogXCJmb3J3YXJkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJmb3J3YXJkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmJhXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA2NlxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MjMzNTNcIixcbiAgICAgIFwibmFtZVwiOiBcImFycm93dGhpbnJpZ2h0XCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJhcnJvdy1yaWdodFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTZiYlwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwNjdcbiAgICB9LFxuXHRcdHtcblx0XHQgIFwiaWNvbl9pZFwiOiBcIjI0OTIzMzUzXCIsXG5cdFx0ICBcIm5hbWVcIjogXCJhcnJvd3RoaW5yaWdodFwiLFxuXHRcdCAgXCJmb250X2NsYXNzXCI6IFwiYXJyb3d0aGlucmlnaHRcIixcblx0XHQgIFwidW5pY29kZVwiOiBcImU2YmJcIixcblx0XHQgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDY3XG5cdFx0fSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkyMzM1NFwiLFxuICAgICAgXCJuYW1lXCI6IFwiYXJyb3d0aGlubGVmdFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiYXJyb3ctbGVmdFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTZiY1wiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwNjhcbiAgICB9LFxuXHRcdHtcblx0XHQgIFwiaWNvbl9pZFwiOiBcIjI0OTIzMzU0XCIsXG5cdFx0ICBcIm5hbWVcIjogXCJhcnJvd3RoaW5sZWZ0XCIsXG5cdFx0ICBcImZvbnRfY2xhc3NcIjogXCJhcnJvd3RoaW5sZWZ0XCIsXG5cdFx0ICBcInVuaWNvZGVcIjogXCJlNmJjXCIsXG5cdFx0ICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA2OFxuXHRcdH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MjMzNTVcIixcbiAgICAgIFwibmFtZVwiOiBcImFycm93dGhpbnVwXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJhcnJvdy11cFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTZiZFwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwNjlcbiAgICB9LFxuXHRcdHtcblx0XHQgIFwiaWNvbl9pZFwiOiBcIjI0OTIzMzU1XCIsXG5cdFx0ICBcIm5hbWVcIjogXCJhcnJvd3RoaW51cFwiLFxuXHRcdCAgXCJmb250X2NsYXNzXCI6IFwiYXJyb3d0aGludXBcIixcblx0XHQgIFwidW5pY29kZVwiOiBcImU2YmRcIixcblx0XHQgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDY5XG5cdFx0fSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkyMzM1NlwiLFxuICAgICAgXCJuYW1lXCI6IFwiYXJyb3d0aGluZG93blwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiYXJyb3ctZG93blwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTZiZVwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwNzBcbiAgICB9LHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0OTIzMzU2XCIsXG4gICAgICBcIm5hbWVcIjogXCJhcnJvd3RoaW5kb3duXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJhcnJvd3RoaW5kb3duXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmJlXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA3MFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MjMzNDlcIixcbiAgICAgIFwibmFtZVwiOiBcImFycm93ZG93blwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiYm90dG9tXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmI4XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA2NFxuICAgIH0se1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MjMzNDlcIixcbiAgICAgIFwibmFtZVwiOiBcImFycm93ZG93blwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiYXJyb3dkb3duXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmI4XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA2NFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MjMzNDZcIixcbiAgICAgIFwibmFtZVwiOiBcImFycm93cmlnaHRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInJpZ2h0XCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmI1XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA2MVxuICAgIH0sXG5cdFx0e1xuXHRcdCAgXCJpY29uX2lkXCI6IFwiMjQ5MjMzNDZcIixcblx0XHQgIFwibmFtZVwiOiBcImFycm93cmlnaHRcIixcblx0XHQgIFwiZm9udF9jbGFzc1wiOiBcImFycm93cmlnaHRcIixcblx0XHQgIFwidW5pY29kZVwiOiBcImU2YjVcIixcblx0XHQgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDYxXG5cdFx0fSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkyMzM0N1wiLFxuICAgICAgXCJuYW1lXCI6IFwiYXJyb3d1cFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwidG9wXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmI2XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA2MlxuICAgIH0sXG5cdFx0e1xuXHRcdCAgXCJpY29uX2lkXCI6IFwiMjQ5MjMzNDdcIixcblx0XHQgIFwibmFtZVwiOiBcImFycm93dXBcIixcblx0XHQgIFwiZm9udF9jbGFzc1wiOiBcImFycm93dXBcIixcblx0XHQgIFwidW5pY29kZVwiOiBcImU2YjZcIixcblx0XHQgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDYyXG5cdFx0fSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkyMzM0OFwiLFxuICAgICAgXCJuYW1lXCI6IFwiYXJyb3dsZWZ0XCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJsZWZ0XCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmI3XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA2M1xuICAgIH0sXG5cdFx0e1xuXHRcdCAgXCJpY29uX2lkXCI6IFwiMjQ5MjMzNDhcIixcblx0XHQgIFwibmFtZVwiOiBcImFycm93bGVmdFwiLFxuXHRcdCAgXCJmb250X2NsYXNzXCI6IFwiYXJyb3dsZWZ0XCIsXG5cdFx0ICBcInVuaWNvZGVcIjogXCJlNmI3XCIsXG5cdFx0ICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA2M1xuXHRcdH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MjMzMzRcIixcbiAgICAgIFwibmFtZVwiOiBcImV5ZVwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiZXllXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjUxXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk2MVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MjMzMzVcIixcbiAgICAgIFwibmFtZVwiOiBcImV5ZS1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImV5ZS1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NmFcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTg2XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkyMzMzNlwiLFxuICAgICAgXCJuYW1lXCI6IFwiZXllLXNsYXNoXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJleWUtc2xhc2hcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2YjNcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDU5XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkyMzMzN1wiLFxuICAgICAgXCJuYW1lXCI6IFwiZXllLXNsYXNoLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiZXllLXNsYXNoLWZpbGxlZFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTZiNFwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwNjBcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0OTIzMzA1XCIsXG4gICAgICBcIm5hbWVcIjogXCJpbmZvLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiaW5mby1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NDlcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTUzXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkyMzI5OVwiLFxuICAgICAgXCJuYW1lXCI6IFwicmVsb2FkLTAxXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJyZWxvYWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2YjJcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDU4XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkyMzE5NVwiLFxuICAgICAgXCJuYW1lXCI6IFwibWljX3NsYXNoX2ZpbGxcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcIm1pY29mZi1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2YjBcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDU2XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkyMzE2NVwiLFxuICAgICAgXCJuYW1lXCI6IFwibWFwLXBpbi1lbGxpcHNlXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJtYXAtcGluLWVsbGlwc2VcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2YWNcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDUyXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkyMzE2NlwiLFxuICAgICAgXCJuYW1lXCI6IFwibWFwLXBpblwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwibWFwLXBpblwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTZhZFwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwNTNcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0OTIzMTY3XCIsXG4gICAgICBcIm5hbWVcIjogXCJsb2NhdGlvblwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwibG9jYXRpb25cIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2YWVcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDU0XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkyMzA2NFwiLFxuICAgICAgXCJuYW1lXCI6IFwic3RhcmhhbGZcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInN0YXJoYWxmXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjgzXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAxMVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ5MjMwNjVcIixcbiAgICAgIFwibmFtZVwiOiBcInN0YXJcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInN0YXJcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2ODhcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDE2XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDkyMzA2NlwiLFxuICAgICAgXCJuYW1lXCI6IFwic3Rhci1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInN0YXItZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjhmXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAyM1xuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4OTk2NDZcIixcbiAgICAgIFwibmFtZVwiOiBcImEtcmlsaWRha2FcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImNhbGVuZGFyXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmEwXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA0MFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4OTk2NDdcIixcbiAgICAgIFwibmFtZVwiOiBcImZpcmVcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImZpcmVcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2YTFcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDQxXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg5OTY0OFwiLFxuICAgICAgXCJuYW1lXCI6IFwicGFpaGFuZ2JhbmdcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcIm1lZGFsXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmEyXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA0MlxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4OTk2NDlcIixcbiAgICAgIFwibmFtZVwiOiBcImZvbnRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImZvbnRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2YTNcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDQzXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg5OTY1MFwiLFxuICAgICAgXCJuYW1lXCI6IFwiZ2lmdFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiZ2lmdFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTZhNFwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwNDRcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODk5NjUxXCIsXG4gICAgICBcIm5hbWVcIjogXCJsaW5rXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJsaW5rXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmE1XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA0NVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4OTk2NTJcIixcbiAgICAgIFwibmFtZVwiOiBcIm5vdGlmaWNhdGlvblwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwibm90aWZpY2F0aW9uXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmE2XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA0NlxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4OTk2NTNcIixcbiAgICAgIFwibmFtZVwiOiBcInN0YWZmXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJzdGFmZlwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTZhN1wiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwNDdcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODk5NjU0XCIsXG4gICAgICBcIm5hbWVcIjogXCJWSVBcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInZpcFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTZhOFwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwNDhcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODk5NjU1XCIsXG4gICAgICBcIm5hbWVcIjogXCJmb2xkZXJfYWRkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJmb2xkZXItYWRkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmE5XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA0OVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4OTk2NTZcIixcbiAgICAgIFwibmFtZVwiOiBcInR1bmVcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInR1bmVcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2YWFcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDUwXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg5OTY1N1wiLFxuICAgICAgXCJuYW1lXCI6IFwic2hpbWluZ3JlbnpoZW5nXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJhdXRoXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNmFiXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTA1MVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4OTk1NjVcIixcbiAgICAgIFwibmFtZVwiOiBcInBlcnNvblwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwicGVyc29uXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjk5XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAzM1xuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4OTk1NjZcIixcbiAgICAgIFwibmFtZVwiOiBcImVtYWlsLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiZW1haWwtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjlhXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAzNFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4OTk1NjdcIixcbiAgICAgIFwibmFtZVwiOiBcInBob25lLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwicGhvbmUtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjliXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAzNVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4OTk1NjhcIixcbiAgICAgIFwibmFtZVwiOiBcInBob25lXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJwaG9uZVwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY5Y1wiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwMzZcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODk5NTcwXCIsXG4gICAgICBcIm5hbWVcIjogXCJlbWFpbFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiZW1haWxcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2OWVcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDM4XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg5OTU3MVwiLFxuICAgICAgXCJuYW1lXCI6IFwicGVyc29uYWRkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJwZXJzb25hZGRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2OWZcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDM5XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg5OTU1OFwiLFxuICAgICAgXCJuYW1lXCI6IFwiY2hhdGJveGVzLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiY2hhdGJveGVzLWZpbGxlZFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY5MlwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwMjZcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODk5NTU5XCIsXG4gICAgICBcIm5hbWVcIjogXCJjb250YWN0XCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJjb250YWN0XCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjkzXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAyN1xuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4OTk1NjBcIixcbiAgICAgIFwibmFtZVwiOiBcImNoYXRidWJibGUtZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJjaGF0YnViYmxlLWZpbGxlZFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY5NFwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwMjhcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODk5NTYxXCIsXG4gICAgICBcIm5hbWVcIjogXCJjb250YWN0LWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiY29udGFjdC1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2OTVcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDI5XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg5OTU2MlwiLFxuICAgICAgXCJuYW1lXCI6IFwiY2hhdGJveGVzXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJjaGF0Ym94ZXNcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2OTZcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDMwXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg5OTU2M1wiLFxuICAgICAgXCJuYW1lXCI6IFwiY2hhdGJ1YmJsZVwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiY2hhdGJ1YmJsZVwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY5N1wiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwMzFcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODgxMjkwXCIsXG4gICAgICBcIm5hbWVcIjogXCJ1cGxvYWQtZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJ1cGxvYWQtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjhlXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAyMlxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4ODEyOTJcIixcbiAgICAgIFwibmFtZVwiOiBcInVwbG9hZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwidXBsb2FkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjkwXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAyNFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4ODEyOTNcIixcbiAgICAgIFwibmFtZVwiOiBcIndlaXhpblwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwid2VpeGluXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjkxXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAyNVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4ODEyNzRcIixcbiAgICAgIFwibmFtZVwiOiBcImNvbXBvc2VcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImNvbXBvc2VcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2N2ZcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDA3XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg4MTI3NVwiLFxuICAgICAgXCJuYW1lXCI6IFwicXFcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInFxXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjgwXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAwOFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4ODEyNzZcIixcbiAgICAgIFwibmFtZVwiOiBcImRvd25sb2FkLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiZG93bmxvYWQtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjgxXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAwOVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4ODEyNzdcIixcbiAgICAgIFwibmFtZVwiOiBcInBlbmd5b3VxdWFuXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJweXFcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2ODJcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDEwXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg4MTI3OVwiLFxuICAgICAgXCJuYW1lXCI6IFwic291bmRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInNvdW5kXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjg0XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAxMlxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4ODEyODBcIixcbiAgICAgIFwibmFtZVwiOiBcInRyYXNoLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwidHJhc2gtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjg1XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAxM1xuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4ODEyODFcIixcbiAgICAgIFwibmFtZVwiOiBcInNvdW5kLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwic291bmQtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjg2XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAxNFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4ODEyODJcIixcbiAgICAgIFwibmFtZVwiOiBcInRyYXNoXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJ0cmFzaFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY4N1wiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwMTVcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODgxMjg0XCIsXG4gICAgICBcIm5hbWVcIjogXCJ2aWRlb2NhbS1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInZpZGVvY2FtLWZpbGxlZFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY4OVwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwMTdcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODgxMjg1XCIsXG4gICAgICBcIm5hbWVcIjogXCJzcGlubmVyLWN5Y2xlXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJzcGlubmVyLWN5Y2xlXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjhhXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAxOFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4ODEyODZcIixcbiAgICAgIFwibmFtZVwiOiBcIndlaWJvXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJ3ZWlib1wiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY4YlwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTkwMTlcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODgxMjg4XCIsXG4gICAgICBcIm5hbWVcIjogXCJ2aWRlb2NhbVwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwidmlkZW9jYW1cIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2OGNcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDIwXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg4MTI4OVwiLFxuICAgICAgXCJuYW1lXCI6IFwiZG93bmxvYWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImRvd25sb2FkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjhkXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAyMVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4Nzk2MDFcIixcbiAgICAgIFwibmFtZVwiOiBcImhlbHBcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImhlbHBcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NzlcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDAxXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg3OTYwMlwiLFxuICAgICAgXCJuYW1lXCI6IFwibmF2aWdhdGUtZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJuYXZpZ2F0ZS1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2N2FcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDAyXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg3OTYwM1wiLFxuICAgICAgXCJuYW1lXCI6IFwicGx1c2VtcHR5XCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJwbHVzZW1wdHlcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2N2JcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU5MDAzXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg3OTYwNFwiLFxuICAgICAgXCJuYW1lXCI6IFwic21hbGxjaXJjbGVcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInNtYWxsY2lyY2xlXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjdjXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAwNFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4Nzk2MDVcIixcbiAgICAgIFwibmFtZVwiOiBcIm1pbnVzLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwibWludXMtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjdkXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAwNVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4Nzk2MDZcIixcbiAgICAgIFwibmFtZVwiOiBcIm1pY29mZlwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwibWljb2ZmXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjdlXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAwNlxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4Nzk1ODhcIixcbiAgICAgIFwibmFtZVwiOiBcImNsb3NlZW1wdHlcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImNsb3NlZW1wdHlcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NmNcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTg4XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg3OTU4OVwiLFxuICAgICAgXCJuYW1lXCI6IFwiY2xlYXJcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImNsZWFyXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjZkXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk4OVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4Nzk1OTBcIixcbiAgICAgIFwibmFtZVwiOiBcIm5hdmlnYXRlXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJuYXZpZ2F0ZVwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY2ZVwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5OTBcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODc5NTkxXCIsXG4gICAgICBcIm5hbWVcIjogXCJtaW51c1wiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwibWludXNcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NmZcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTkxXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg3OTU5MlwiLFxuICAgICAgXCJuYW1lXCI6IFwiaW1hZ2VcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImltYWdlXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjcwXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk5MlxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4Nzk1OTNcIixcbiAgICAgIFwibmFtZVwiOiBcIm1pY1wiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwibWljXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjcxXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk5M1xuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4Nzk1OTRcIixcbiAgICAgIFwibmFtZVwiOiBcInBhcGVycGxhbmVcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInBhcGVycGxhbmVcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NzJcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTk0XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg3OTU5NVwiLFxuICAgICAgXCJuYW1lXCI6IFwiY2xvc2VcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImNsb3NlXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjczXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk5NVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4Nzk1OTZcIixcbiAgICAgIFwibmFtZVwiOiBcImhlbHAtZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJoZWxwLWZpbGxlZFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY3NFwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5OTZcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODc5NTk3XCIsXG4gICAgICBcIm5hbWVcIjogXCJwbHVzLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwicGFwZXJwbGFuZS1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NzVcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTk3XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg3OTU5OFwiLFxuICAgICAgXCJuYW1lXCI6IFwicGx1c1wiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwicGx1c1wiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY3NlwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5OThcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODc5NTk5XCIsXG4gICAgICBcIm5hbWVcIjogXCJtaWMtZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJtaWMtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjc3XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk5OVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4Nzk2MDBcIixcbiAgICAgIFwibmFtZVwiOiBcImltYWdlLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiaW1hZ2UtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjc4XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1OTAwMFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NTU5MDBcIixcbiAgICAgIFwibmFtZVwiOiBcImxvY2tlZC1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImxvY2tlZC1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NjhcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTg0XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg1NTkwMVwiLFxuICAgICAgXCJuYW1lXCI6IFwiaW5mb1wiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiaW5mb1wiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY2OVwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5ODVcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODU1OTAzXCIsXG4gICAgICBcIm5hbWVcIjogXCJsb2NrZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImxvY2tlZFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY2YlwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5ODdcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODU1ODg0XCIsXG4gICAgICBcIm5hbWVcIjogXCJjYW1lcmEtZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJjYW1lcmEtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjU4XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk2OFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NTU4ODVcIixcbiAgICAgIFwibmFtZVwiOiBcImNoYXQtZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJjaGF0LWZpbGxlZFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY1OVwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5NjlcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODU1ODg2XCIsXG4gICAgICBcIm5hbWVcIjogXCJjYW1lcmFcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImNhbWVyYVwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY1YVwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5NzBcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODU1ODg3XCIsXG4gICAgICBcIm5hbWVcIjogXCJjaXJjbGVcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImNpcmNsZVwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY1YlwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5NzFcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODU1ODg4XCIsXG4gICAgICBcIm5hbWVcIjogXCJjaGVja21hcmtlbXB0eVwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiY2hlY2ttYXJrZW1wdHlcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NWNcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTcyXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg1NTg4OVwiLFxuICAgICAgXCJuYW1lXCI6IFwiY2hhdFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiY2hhdFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY1ZFwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5NzNcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODU1ODkwXCIsXG4gICAgICBcIm5hbWVcIjogXCJjaXJjbGUtZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJjaXJjbGUtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjVlXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk3NFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NTU4OTFcIixcbiAgICAgIFwibmFtZVwiOiBcImZsYWdcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImZsYWdcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NWZcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTc1XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg1NTg5MlwiLFxuICAgICAgXCJuYW1lXCI6IFwiZmxhZy1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImZsYWctZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjYwXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk3NlxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NTU4OTNcIixcbiAgICAgIFwibmFtZVwiOiBcImdlYXItZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJnZWFyLWZpbGxlZFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY2MVwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5NzdcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODU1ODk0XCIsXG4gICAgICBcIm5hbWVcIjogXCJob21lXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJob21lXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjYyXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk3OFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NTU4OTVcIixcbiAgICAgIFwibmFtZVwiOiBcImhvbWUtZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJob21lLWZpbGxlZFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY2M1wiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5NzlcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODU1ODk2XCIsXG4gICAgICBcIm5hbWVcIjogXCJnZWFyXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJnZWFyXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjY0XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk4MFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NTU4OTdcIixcbiAgICAgIFwibmFtZVwiOiBcInNtYWxsY2lyY2xlLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwic21hbGxjaXJjbGUtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjY1XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk4MVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NTU4OThcIixcbiAgICAgIFwibmFtZVwiOiBcIm1hcC1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcIm1hcC1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NjZcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTgyXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg1NTg5OVwiLFxuICAgICAgXCJuYW1lXCI6IFwibWFwXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJtYXBcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NjdcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTgzXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg1NTgyNVwiLFxuICAgICAgXCJuYW1lXCI6IFwicmVmcmVzaC1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInJlZnJlc2gtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjU2XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk2NlxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NTU4MjZcIixcbiAgICAgIFwibmFtZVwiOiBcInJlZnJlc2hcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInJlZnJlc2hcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NTdcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTY3XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg1NTgwOFwiLFxuICAgICAgXCJuYW1lXCI6IFwiY2xvdWQtdXBsb2FkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJjbG91ZC11cGxvYWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NDVcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTQ5XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg1NTgwOVwiLFxuICAgICAgXCJuYW1lXCI6IFwiY2xvdWQtZG93bmxvYWQtZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJjbG91ZC1kb3dubG9hZC1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NDZcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTUwXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg1NTgxMFwiLFxuICAgICAgXCJuYW1lXCI6IFwiY2xvdWQtZG93bmxvYWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImNsb3VkLWRvd25sb2FkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjQ3XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk1MVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NTU4MTFcIixcbiAgICAgIFwibmFtZVwiOiBcImNsb3VkLXVwbG9hZC1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImNsb3VkLXVwbG9hZC1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NDhcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTUyXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg1NTgxM1wiLFxuICAgICAgXCJuYW1lXCI6IFwicmVkb1wiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwicmVkb1wiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY0YVwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5NTRcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODU1ODE0XCIsXG4gICAgICBcIm5hbWVcIjogXCJpbWFnZXMtZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJpbWFnZXMtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjRiXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk1NVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NTU4MTVcIixcbiAgICAgIFwibmFtZVwiOiBcInVuZG8tZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJ1bmRvLWZpbGxlZFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY0Y1wiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5NTZcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODU1ODE2XCIsXG4gICAgICBcIm5hbWVcIjogXCJtb3JlXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJtb3JlXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjRkXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk1N1xuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NTU4MTdcIixcbiAgICAgIFwibmFtZVwiOiBcIm1vcmUtZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJtb3JlLWZpbGxlZFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY0ZVwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5NThcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODU1ODE4XCIsXG4gICAgICBcIm5hbWVcIjogXCJ1bmRvXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJ1bmRvXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjRmXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk1OVxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NTU4MTlcIixcbiAgICAgIFwibmFtZVwiOiBcImltYWdlc1wiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiaW1hZ2VzXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjUwXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk2MFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NTU4MjFcIixcbiAgICAgIFwibmFtZVwiOiBcInBhcGVyY2xpcFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwicGFwZXJjbGlwXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjUyXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk2MlxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NTU4MjJcIixcbiAgICAgIFwibmFtZVwiOiBcInNldHRpbmdzXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJzZXR0aW5nc1wiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY1M1wiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5NjNcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODU1ODIzXCIsXG4gICAgICBcIm5hbWVcIjogXCJzZWFyY2hcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInNlYXJjaFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY1NFwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5NjRcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODU1ODI0XCIsXG4gICAgICBcIm5hbWVcIjogXCJyZWRvLWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwicmVkby1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NTVcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTY1XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg0MTcwMlwiLFxuICAgICAgXCJuYW1lXCI6IFwibGlzdFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwibGlzdFwiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTY0NFwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5NDhcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODQxNDg5XCIsXG4gICAgICBcIm5hbWVcIjogXCJtYWlsLW9wZW4tZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJtYWlsLW9wZW4tZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjNhXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODkzOFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NDE0OTFcIixcbiAgICAgIFwibmFtZVwiOiBcImhhbmQtdGh1bWJzZG93bi1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImhhbmQtZG93bi1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2M2NcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTQwXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg0MTQ5MlwiLFxuICAgICAgXCJuYW1lXCI6IFwiaGFuZC10aHVtYnNkb3duXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJoYW5kLWRvd25cIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2M2RcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTQxXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg0MTQ5M1wiLFxuICAgICAgXCJuYW1lXCI6IFwiaGFuZC10aHVtYnN1cC1maWxsZWRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImhhbmQtdXAtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjNlXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODk0MlxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4NDE0OTRcIixcbiAgICAgIFwibmFtZVwiOiBcImhhbmQtdGh1bWJzdXBcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImhhbmQtdXBcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2M2ZcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTQzXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg0MTQ5NlwiLFxuICAgICAgXCJuYW1lXCI6IFwiaGVhcnQtZmlsbGVkXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJoZWFydC1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NDFcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTQ1XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg0MTQ5OFwiLFxuICAgICAgXCJuYW1lXCI6IFwibWFpbC1vcGVuXCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJtYWlsLW9wZW5cIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2NDNcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTQ3XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDg0MTQ4OFwiLFxuICAgICAgXCJuYW1lXCI6IFwiaGVhcnRcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImhlYXJ0XCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjM5XCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODkzN1xuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4Mzk5NjNcIixcbiAgICAgIFwibmFtZVwiOiBcImxvb3BcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImxvb3BcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2MzNcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTMxXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDgzOTg2NlwiLFxuICAgICAgXCJuYW1lXCI6IFwicHVsbGRvd25cIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInB1bGxkb3duXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjMyXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODkzMFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4MTM3OThcIixcbiAgICAgIFwibmFtZVwiOiBcInNjYW5cIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInNjYW5cIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2MmFcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTIyXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDgxMzc4NlwiLFxuICAgICAgXCJuYW1lXCI6IFwiYmFyc1wiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiYmFyc1wiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTYyN1wiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5MTlcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODEzNzg4XCIsXG4gICAgICBcIm5hbWVcIjogXCJjYXJ0LWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiY2FydC1maWxsZWRcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2MjlcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTIxXG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDgxMzc5MFwiLFxuICAgICAgXCJuYW1lXCI6IFwiY2hlY2tib3hcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcImNoZWNrYm94XCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjJiXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODkyM1xuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4MTM3OTFcIixcbiAgICAgIFwibmFtZVwiOiBcImNoZWNrYm94LWZpbGxlZFwiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiY2hlY2tib3gtZmlsbGVkXCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjJjXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODkyNFxuICAgIH0sXG4gICAge1xuICAgICAgXCJpY29uX2lkXCI6IFwiMjQ4MTM3OTRcIixcbiAgICAgIFwibmFtZVwiOiBcInNob3BcIixcbiAgICAgIFwiZm9udF9jbGFzc1wiOiBcInNob3BcIixcbiAgICAgIFwidW5pY29kZVwiOiBcImU2MmZcIixcbiAgICAgIFwidW5pY29kZV9kZWNpbWFsXCI6IDU4OTI3XG4gICAgfSxcbiAgICB7XG4gICAgICBcImljb25faWRcIjogXCIyNDgxMzc5NVwiLFxuICAgICAgXCJuYW1lXCI6IFwiaGVhZHBob25lc1wiLFxuICAgICAgXCJmb250X2NsYXNzXCI6IFwiaGVhZHBob25lc1wiLFxuICAgICAgXCJ1bmljb2RlXCI6IFwiZTYzMFwiLFxuICAgICAgXCJ1bmljb2RlX2RlY2ltYWxcIjogNTg5MjhcbiAgICB9LFxuICAgIHtcbiAgICAgIFwiaWNvbl9pZFwiOiBcIjI0ODEzNzk2XCIsXG4gICAgICBcIm5hbWVcIjogXCJjYXJ0XCIsXG4gICAgICBcImZvbnRfY2xhc3NcIjogXCJjYXJ0XCIsXG4gICAgICBcInVuaWNvZGVcIjogXCJlNjMxXCIsXG4gICAgICBcInVuaWNvZGVfZGVjaW1hbFwiOiA1ODkyOVxuICAgIH1cbiAgXVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///32\n");
- /***/ }),
- /* 33 */
- /*!******************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/uni_modules/uni-icons/components/uni-icons/uniicons.ttf ***!
- \******************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- eval("module.exports = __webpack_require__.p + \"assets/uniicons.b6d3756e.ttf\";//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQixxQkFBdUIiLCJmaWxlIjoiMzMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IF9fd2VicGFja19wdWJsaWNfcGF0aF9fICsgXCJhc3NldHMvdW5paWNvbnMuYjZkMzc1NmUudHRmXCI7Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///33\n");
- /***/ }),
- /* 34 */
- /*!*****************************************************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/uni_modules/uni-icons/components/uni-icons/uni-icons.vue?vue&type=style&index=0&lang=scss& ***!
- \*****************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_11_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_11_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_4_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/style.js!../../../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-oneOf-0-1!../../../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--11-oneOf-0-2!../../../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--11-oneOf-0-3!../../../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-oneOf-0-4!../../../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./uni-icons.vue?vue&type=style&index=0&lang=scss& */ 35);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_11_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_11_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_4_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_11_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_11_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_4_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
- /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_11_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_11_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_4_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_11_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_11_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_4_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /* harmony default export */ __webpack_exports__["default"] = (_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_11_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_sass_loader_dist_cjs_js_ref_11_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_oneOf_0_4_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_uni_icons_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default.a);
- /***/ }),
- /* 35 */
- /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/style.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-oneOf-0-1!./node_modules/postcss-loader/src??ref--11-oneOf-0-2!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--11-oneOf-0-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-oneOf-0-4!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/uni_modules/uni-icons/components/uni-icons/uni-icons.vue?vue&type=style&index=0&lang=scss& ***!
- \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = {
- ".uni-icons": {
- "": {
- "fontFamily": [
- "uniicons",
- 0,
- 0,
- 16
- ],
- "textDecoration": [
- "none",
- 0,
- 0,
- 16
- ],
- "textAlign": [
- "center",
- 0,
- 0,
- 16
- ]
- }
- },
- "@VERSION": 2
- }
- /***/ }),
- /* 36 */
- /*!**********************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/components/customNav/customNav.vue?vue&type=script&lang=js& ***!
- \**********************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib??ref--5-0!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--5-1!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./customNav.vue?vue&type=script&lang=js& */ 37);\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXdnQixDQUFnQiwyaEJBQUcsRUFBQyIsImZpbGUiOiIzNi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS01LTAhLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTUtMSEuLi8uLi8uLi8uLi8uLi/lt6XlhbcvSEJ1aWxkZXJYLjQuODcuMjAyNTEyMTAwNC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9jdXN0b21OYXYudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL+W3peWFty9IQnVpbGRlclguNC44Ny4yMDI1MTIxMDA0L0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNS0wIS4uLy4uLy4uLy4uLy4uL+W3peWFty9IQnVpbGRlclguNC44Ny4yMDI1MTIxMDA0L0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlci9pbmRleC5qcz8/cmVmLS01LTEhLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vY3VzdG9tTmF2LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///36\n");
- /***/ }),
- /* 37 */
- /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/babel-loader/lib??ref--5-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--5-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/components/customNav/customNav.vue?vue&type=script&lang=js& ***!
- \*************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n props: {\n shownav: true,\n tinColor: '',\n title: '',\n titledetl: '',\n rightBT1: '',\n rightBTimg1: '',\n rightBT2: 0,\n rightBTimg2: '',\n isfaver: 0,\n addBT: 0,\n jiantou: 0,\n xinzeng: 0\n },\n data: function data() {\n return {\n // 状态栏高度\n statusBarHeight: 0,\n // 导航栏高度\n navBarHeight: 50,\n fanhuisrc: '/static/imags/fanhuiz@3x.png',\n fanhuisrcb: '/static/imags/fanhuiB@3x.png'\n };\n },\n //第一次加载时调用\n created: function created() {\n //获取手机状态栏高度\n var systemInfo = uni.getSystemInfoSync();\n this.statusBarHeight = systemInfo.statusBarHeight * 2 + 30;\n this.navBarHeight = 50 + this.statusBarHeight;\n },\n methods: {\n leftbuttonsel: function leftbuttonsel(item) {\n //触发一个更新事件\n if (item == 1) {\n uni.navigateBack();\n }\n this.$emit('Enavbarsel', item);\n }\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy9jdXN0b21OYXYvY3VzdG9tTmF2LnZ1ZSJdLCJuYW1lcyI6WyJwcm9wcyIsInNob3duYXYiLCJ0aW5Db2xvciIsInRpdGxlIiwidGl0bGVkZXRsIiwicmlnaHRCVDEiLCJyaWdodEJUaW1nMSIsInJpZ2h0QlQyIiwicmlnaHRCVGltZzIiLCJpc2ZhdmVyIiwiYWRkQlQiLCJqaWFudG91IiwieGluemVuZyIsImRhdGEiLCJzdGF0dXNCYXJIZWlnaHQiLCJuYXZCYXJIZWlnaHQiLCJmYW5odWlzcmMiLCJmYW5odWlzcmNiIiwiY3JlYXRlZCIsIm1ldGhvZHMiLCJsZWZ0YnV0dG9uc2VsIiwidW5pIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2VBaURBO0VBQ0FBO0lBQ0FDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0VBQ0E7RUFDQUM7SUFDQTtNQUNBO01BQ0FDO01BQ0E7TUFDQUM7TUFDQUM7TUFDQUM7SUFFQTtFQUNBO0VBQ0E7RUFDQUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0FDO01BQ0E7TUFDQTtRQUNBQztNQUNBO01BQ0E7SUFDQTtFQUVBO0FBQ0E7QUFBQSIsImZpbGUiOiIzNy5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0PCEtLSDoh6rlrprkuYnlr7zoiKrmoI8gLS0+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiY29udGVudFZpZXdcIiA6c3R5bGU9XCJ7J2JhY2tncm91bmRDb2xvcic6dGluQ29sb3J9XCI+XHJcblx0XHRcdDwhLS0g54q25oCB5qCP5Y2g5L2NIC0tPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cIm5hdkJhckJveFwiIDpzdHlsZT1cInsnbWFyZ2luVG9wJzorc3RhdHVzQmFySGVpZ2h0KydycHgnLCdiYWNrZ3JvdW5kQ29sb3InOnRpbkNvbG9yfVwiPlxyXG5cdFx0XHRcdDwhLS0g55u05q2j55qE5a+86Iiq5qCP5YaF5a65IC0tPlxyXG5cdFx0XHRcdDx2aWV3IHYtaWY9XCJzaG93bmF2XCIgY2xhc3M9XCJuYXZCYXJcIiA+XHJcblx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiamlhbnRvdT09MFwiIGNsYXNzPVwibGVmdGNvbnRlblwiPlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJsb2dvXCIgOnNyYz1cImZhbmh1aXNyY1wiIG1vZGU9XCJhc3BlY3RGaXRcIiBAY2xpY2s9XCJsZWZ0YnV0dG9uc2VsKDEpXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInRpdGxlZGV0bD09JydcIiBjbGFzcz1cInRleHRsYWJsZVJcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImxhYmxlVFJcIj57e3RpdGxlfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInRpdGxlZGV0bCE9JydcIiBjbGFzcz1cInRleHRsYWJsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwibGFibGVUXCI+e3t0aXRsZX19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0ICBjbGFzcz1cImxhYmxlQlwiPnt7dGl0bGVkZXRsfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJqaWFudG91PT0xXCIgY2xhc3M9XCJsZWZ0Y29udGVuXCI+XHJcblx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImxvZ29cIiA6c3JjPVwiZmFuaHVpc3JjYlwiIG1vZGU9XCJhc3BlY3RGaXRcIiBAY2xpY2s9XCJsZWZ0YnV0dG9uc2VsKDEpXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInRpdGxlZGV0bD09JydcIiBjbGFzcz1cInRleHRsYWJsZVJcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImxhYmxlVFJiXCI+e3t0aXRsZX19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJ0aXRsZWRldGwhPScnXCIgY2xhc3M9XCJ0ZXh0bGFibGVcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImxhYmxlVGJcIj57e3RpdGxlfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgIGNsYXNzPVwibGFibGVCXCI+e3t0aXRsZWRldGx9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyaWdodGNvbnRlblwiPlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2UgIHYtaWY9XCJyaWdodEJUMT09MVwiIGNsYXNzPVwibXljYXJ0XCIgOnNyYz1cInJpZ2h0QlRpbWcxXCIgbW9kZT1cInNjYWxlVG9GaWxsXCIgQGNsaWNrPVwibGVmdGJ1dHRvbnNlbCgyKVwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdDxpbWFnZSAgdi1pZj1cInJpZ2h0QlQyPT0xXCIgY2xhc3M9XCJteWNhcnRcIiA6c3JjPVwicmlnaHRCVGltZzJcIiBtb2RlPVwic2NhbGVUb0ZpbGxcIiBAY2xpY2s9XCJsZWZ0YnV0dG9uc2VsKDMpXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0PCEtLSA8aW1hZ2UgIHYtaWY9XCJhZGRCVD09MVwiIGNsYXNzPVwibXljYXJ0XCIgc3JjPVwiL3N0YXRpYy9pbWFnZXMvcGx1cy1jaXJjbGUtZmlsbEAzeC5wbmdcIiBtb2RlPVwiYXNwZWN0Rml0XCIgQGNsaWNrPVwibGVmdGJ1dHRvbnNlbCg0KVwiPjwvaW1hZ2U+IC0tPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCB2LWlmPVwieGluemVuZz09MVwiIGNsYXNzPVwieGluemVuZ1R4dFwiIEBjbGljaz1cImxlZnRidXR0b25zZWwoNSlcIj57eyR0KCdzY2hlbWEuYWRkJyl9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHVuaS1pY29ucyB2LWlmPVwiYWRkQlQ9PTFcIiAgY3VzdG9tLXByZWZpeD1cImN1c3RvbS1pY29uXCIgY29sb3I9XCJ3aGl0ZVwiIHR5cGU9XCJwbHVzXCIgc2l6ZT1cIjI2XCIgIEBjbGljaz1cImxlZnRidXR0b25zZWwoNClcIj48L3VuaS1pY29ucz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IHYtaWY9XCJzaG93bmF2XCIgOnN0eWxlPVwie2hlaWdodDpuYXZCYXJIZWlnaHQrJ3JweCd9XCI+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyB2LWlmPVwiIXNob3duYXZcIiA6c3R5bGU9XCJ7aGVpZ2h0OnN0YXR1c0JhckhlaWdodCsncnB4J31cIj5cclxuXHRcdDwvdmlldz5cclxuXHQ8L3ZpZXc+XG5cdFx0XG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXG5leHBvcnQgZGVmYXVsdFxyXG57XHJcblx0cHJvcHM6e1xyXG5cdFx0c2hvd25hdjp0cnVlLFxyXG5cdFx0dGluQ29sb3I6JycsXHJcblx0XHR0aXRsZTonJyxcclxuXHRcdHRpdGxlZGV0bDonJyxcclxuXHRcdHJpZ2h0QlQxOicnLFxyXG5cdFx0cmlnaHRCVGltZzE6JycsXHJcblx0XHRyaWdodEJUMjowLFxyXG5cdFx0cmlnaHRCVGltZzI6JycsXHJcblx0XHRpc2ZhdmVyOjAsXHJcblx0XHRhZGRCVDowLFxyXG5cdFx0amlhbnRvdTowLFxyXG5cdFx0eGluemVuZzowXHJcblx0fSxcclxuXHRkYXRhKCkge1xyXG5cdFx0cmV0dXJueyBcclxuXHRcdFx0Ly8g54q25oCB5qCP6auY5bqmXHJcblx0XHRcdHN0YXR1c0JhckhlaWdodDowLFxyXG5cdFx0XHQvLyDlr7zoiKrmoI/pq5jluqZcblx0XHRcdG5hdkJhckhlaWdodDogNTAsXHJcblx0XHRcdGZhbmh1aXNyYzonL3N0YXRpYy9pbWFncy9mYW5odWl6QDN4LnBuZycsXHJcblx0XHRcdGZhbmh1aXNyY2I6Jy9zdGF0aWMvaW1hZ3MvZmFuaHVpQkAzeC5wbmcnLFxyXG5cdFx0XHRcclxuXHRcdFx0fVxyXG5cdH0sXG5cdFx0Ly/nrKzkuIDmrKHliqDovb3ml7bosIPnlKhcblx0Y3JlYXRlZCgpIHtcclxuXHRcdFx0Ly/ojrflj5bmiYvmnLrnirbmgIHmoI/pq5jluqZcclxuXHRcdFx0dmFyIHN5c3RlbUluZm8gPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKTtcclxuXHRcdFx0dGhpcy5zdGF0dXNCYXJIZWlnaHQ9c3lzdGVtSW5mby5zdGF0dXNCYXJIZWlnaHQqMiszMDtcclxuXHRcdFx0dGhpcy5uYXZCYXJIZWlnaHQgPSA1MCt0aGlzLnN0YXR1c0JhckhlaWdodDtcclxuXHR9LFxyXG5cdG1ldGhvZHM6e1xyXG5cdFx0bGVmdGJ1dHRvbnNlbChpdGVtKXtcclxuXHRcdFx0Ly/op6blj5HkuIDkuKrmm7TmlrDkuovku7ZcclxuXHRcdFx0aWYoaXRlbT09MSl7XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlQmFjaygpO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuJGVtaXQoJ0VuYXZiYXJzZWwnLGl0ZW0pO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0fSxcclxufVxuXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZT5cclxuXHQuY29udGVudFZpZXd7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHR0b3A6IDA7XHJcblx0XHR6LWluZGV4OiA5OTk7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNDBBRTM2O1xyXG5cdH1cclxuXHQubmF2QmFyQm94e1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdHdpZHRoOiA3MDBycHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNDBBRTM2O1xyXG5cdH1cclxuXHRcclxuXHQubmF2QmFyIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHR3aWR0aDogNzAwcnB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDUlO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDEwcnB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdH1cblx0LmxvZ28ge1xyXG5cdFx0d2lkdGg6IDUwcnB4O1xuXHRcdGhlaWdodDogNTBycHg7XG5cdFx0bWFyZ2luLWxlZnQ6IDZycHg7XHJcblx0fVxyXG5cdC50ZXh0bGFibGV7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjpjb2x1bW47XHJcblx0XHRtYXJnaW4tbGVmdDogMjBycHg7XHJcblx0fVxyXG5cdC50ZXh0bGFibGVSe1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246Y29sdW1uO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDIwcnB4O1xyXG5cdH1cclxuXHQubGFibGVUUntcclxuXHRcdGZvbnQtc2l6ZTogMzJycHg7XHJcblx0XHRjb2xvcjogd2hpdGU7XHJcblx0fVxyXG5cdC5sYWJsZVRSYntcclxuXHRcdGZvbnQtc2l6ZTogMzBycHg7XHJcblx0XHRjb2xvcjogIzFBMUExQTtcclxuXHR9XHJcblx0LmxhYmxlVHtcclxuXHRcdGZvbnQtc2l6ZTogMzBycHg7XHJcblx0XHRjb2xvcjogd2hpdGU7XHJcblx0fVxyXG5cdC5sYWJsZVRie1xyXG5cdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdGNvbG9yOiAjMUExQTFBO1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR9XHJcblx0LmxhYmxlQntcclxuXHRcdGZvbnQtc2l6ZTogMjJycHg7XHJcblx0XHRjb2xvcjogd2hpdGU7XHJcblx0fVxyXG5cdC5sZWZ0Y29udGVue1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydDtcclxuXHR9XHJcblx0LnJpZ2h0Y29udGVue1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7XHJcblx0fVxyXG5cclxuXHQubXljYXJ0IHtcclxuXHRcdG1hcmdpbi1yaWdodDogMTBycHg7XHJcblx0XHR3aWR0aDogNTBycHg7XHJcblx0XHRoZWlnaHQ6IDQ2cnB4O1xyXG5cdH1cclxuXHQueGluemVuZ1R4dHtcclxuXHRcdG1hcmdpbi1yaWdodDogMTBycHg7XHJcblx0XHRjb2xvcjogd2hpdGU7XHJcblx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdH1cbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///37\n");
- /***/ }),
- /* 38 */
- /*!******************************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/components/customNav/customNav.vue?vue&type=style&index=0&lang=css& ***!
- \******************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/style.js!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-oneOf-0-1!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--10-oneOf-0-2!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-oneOf-0-3!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./customNav.vue?vue&type=style&index=0&lang=css& */ 39);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__);
- /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /* harmony default export */ __webpack_exports__["default"] = (_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_customNav_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
- /***/ }),
- /* 39 */
- /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/style.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-oneOf-0-1!./node_modules/postcss-loader/src??ref--10-oneOf-0-2!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-oneOf-0-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/components/customNav/customNav.vue?vue&type=style&index=0&lang=css& ***!
- \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = {
- ".contentView": {
- "": {
- "position": [
- "fixed",
- 0,
- 0,
- 0
- ],
- "left": [
- 0,
- 0,
- 0,
- 0
- ],
- "right": [
- 0,
- 0,
- 0,
- 0
- ],
- "top": [
- 0,
- 0,
- 0,
- 0
- ],
- "zIndex": [
- 999,
- 0,
- 0,
- 0
- ],
- "backgroundColor": [
- "#40AE36",
- 0,
- 0,
- 0
- ]
- }
- },
- ".navBarBox": {
- "": {
- "display": [
- "flex",
- 0,
- 0,
- 1
- ],
- "width": [
- "700rpx",
- 0,
- 0,
- 1
- ],
- "backgroundColor": [
- "#40AE36",
- 0,
- 0,
- 1
- ]
- }
- },
- ".navBar": {
- "": {
- "display": [
- "flex",
- 0,
- 0,
- 2
- ],
- "width": [
- "700rpx",
- 0,
- 0,
- 2
- ],
- "marginLeft": [
- 5,
- 0,
- 0,
- 2
- ],
- "paddingBottom": [
- "10rpx",
- 0,
- 0,
- 2
- ],
- "flexDirection": [
- "row",
- 0,
- 0,
- 2
- ],
- "justifyContent": [
- "space-between",
- 0,
- 0,
- 2
- ],
- "alignItems": [
- "center",
- 0,
- 0,
- 2
- ]
- }
- },
- ".logo": {
- "": {
- "width": [
- "50rpx",
- 0,
- 0,
- 3
- ],
- "height": [
- "50rpx",
- 0,
- 0,
- 3
- ],
- "marginLeft": [
- "6rpx",
- 0,
- 0,
- 3
- ]
- }
- },
- ".textlable": {
- "": {
- "flexDirection": [
- "column",
- 0,
- 0,
- 4
- ],
- "marginLeft": [
- "20rpx",
- 0,
- 0,
- 4
- ]
- }
- },
- ".textlableR": {
- "": {
- "flexDirection": [
- "column",
- 0,
- 0,
- 5
- ],
- "marginLeft": [
- "20rpx",
- 0,
- 0,
- 5
- ]
- }
- },
- ".lableTR": {
- "": {
- "fontSize": [
- "32rpx",
- 0,
- 0,
- 6
- ],
- "color": [
- "#FFFFFF",
- 0,
- 0,
- 6
- ]
- }
- },
- ".lableTRb": {
- "": {
- "fontSize": [
- "30rpx",
- 0,
- 0,
- 7
- ],
- "color": [
- "#1A1A1A",
- 0,
- 0,
- 7
- ]
- }
- },
- ".lableT": {
- "": {
- "fontSize": [
- "30rpx",
- 0,
- 0,
- 8
- ],
- "color": [
- "#FFFFFF",
- 0,
- 0,
- 8
- ]
- }
- },
- ".lableTb": {
- "": {
- "fontSize": [
- "30rpx",
- 0,
- 0,
- 9
- ],
- "color": [
- "#1A1A1A",
- 0,
- 0,
- 9
- ],
- "textAlign": [
- "left",
- 0,
- 0,
- 9
- ]
- }
- },
- ".lableB": {
- "": {
- "fontSize": [
- "22rpx",
- 0,
- 0,
- 10
- ],
- "color": [
- "#FFFFFF",
- 0,
- 0,
- 10
- ]
- }
- },
- ".leftconten": {
- "": {
- "display": [
- "flex",
- 0,
- 0,
- 11
- ],
- "flexDirection": [
- "row",
- 0,
- 0,
- 11
- ],
- "justifyContent": [
- "flex-start",
- 0,
- 0,
- 11
- ]
- }
- },
- ".rightconten": {
- "": {
- "display": [
- "flex",
- 0,
- 0,
- 12
- ],
- "flexDirection": [
- "row",
- 0,
- 0,
- 12
- ],
- "justifyContent": [
- "flex-end",
- 0,
- 0,
- 12
- ]
- }
- },
- ".mycart": {
- "": {
- "marginRight": [
- "10rpx",
- 0,
- 0,
- 13
- ],
- "width": [
- "50rpx",
- 0,
- 0,
- 13
- ],
- "height": [
- "46rpx",
- 0,
- 0,
- 13
- ]
- }
- },
- ".xinzengTxt": {
- "": {
- "marginRight": [
- "10rpx",
- 0,
- 0,
- 14
- ],
- "color": [
- "#FFFFFF",
- 0,
- 0,
- 14
- ],
- "fontSize": [
- "28rpx",
- 0,
- 0,
- 14
- ]
- }
- },
- "@VERSION": 2
- }
- /***/ }),
- /* 40 */
- /*!*******************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/components/netImage/netImage.vue ***!
- \*******************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _netImage_vue_vue_type_template_id_fd6c0078___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./netImage.vue?vue&type=template&id=fd6c0078& */ 41);\n/* harmony import */ var _netImage_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./netImage.vue?vue&type=script&lang=js& */ 43);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _netImage_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _netImage_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 12);\n\nvar renderjs\n\n\nfunction injectStyles (context) {\n \n if(!this.options.style){\n this.options.style = {}\n }\n if(Vue.prototype.__merge_style && Vue.prototype.__$appStyle__){\n Vue.prototype.__merge_style(Vue.prototype.__$appStyle__, this.options.style)\n }\n if(Vue.prototype.__merge_style){\n Vue.prototype.__merge_style(__webpack_require__(/*! ./netImage.vue?vue&type=style&index=0&lang=css& */ 45).default, this.options.style)\n }else{\n Object.assign(this.options.style,__webpack_require__(/*! ./netImage.vue?vue&type=style&index=0&lang=css& */ 45).default)\n }\n\n}\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _netImage_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _netImage_vue_vue_type_template_id_fd6c0078___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _netImage_vue_vue_type_template_id_fd6c0078___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n \"1fcdeb74\",\n false,\n _netImage_vue_vue_type_template_id_fd6c0078___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ninjectStyles.call(component)\ncomponent.options.__file = \"components/netImage/netImage.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBcUg7QUFDckg7QUFDNEQ7QUFDTDtBQUN2RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QyxtQkFBTyxDQUFDLHlEQUFpRDtBQUNyRyxhQUFhO0FBQ2IsaURBQWlELG1CQUFPLENBQUMseURBQWlEO0FBQzFHOztBQUVBOztBQUVBO0FBQ21NO0FBQ25NLGdCQUFnQix1TUFBVTtBQUMxQixFQUFFLDhFQUFNO0FBQ1IsRUFBRSxtRkFBTTtBQUNSLEVBQUUsNEZBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsdUZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ0E7QUFDZSxnRiIsImZpbGUiOiI0MC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zLCByZWN5Y2xhYmxlUmVuZGVyLCBjb21wb25lbnRzIH0gZnJvbSBcIi4vbmV0SW1hZ2UudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWZkNmMwMDc4JlwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vbmV0SW1hZ2UudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9uZXRJbWFnZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmZ1bmN0aW9uIGluamVjdFN0eWxlcyAoY29udGV4dCkge1xuICBcbiAgaWYoIXRoaXMub3B0aW9ucy5zdHlsZSl7XG4gICAgICAgICAgdGhpcy5vcHRpb25zLnN0eWxlID0ge31cbiAgICAgIH1cbiAgICAgIGlmKFZ1ZS5wcm90b3R5cGUuX19tZXJnZV9zdHlsZSAmJiBWdWUucHJvdG90eXBlLl9fJGFwcFN0eWxlX18pe1xuICAgICAgICBWdWUucHJvdG90eXBlLl9fbWVyZ2Vfc3R5bGUoVnVlLnByb3RvdHlwZS5fXyRhcHBTdHlsZV9fLCB0aGlzLm9wdGlvbnMuc3R5bGUpXG4gICAgICB9XG4gICAgICBpZihWdWUucHJvdG90eXBlLl9fbWVyZ2Vfc3R5bGUpe1xuICAgICAgICAgICAgICAgIFZ1ZS5wcm90b3R5cGUuX19tZXJnZV9zdHlsZShyZXF1aXJlKFwiLi9uZXRJbWFnZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZsYW5nPWNzcyZcIikuZGVmYXVsdCwgdGhpcy5vcHRpb25zLnN0eWxlKVxuICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm9wdGlvbnMuc3R5bGUscmVxdWlyZShcIi4vbmV0SW1hZ2UudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmbGFuZz1jc3MmXCIpLmRlZmF1bHQpXG4gICAgICAgICAgICB9XG5cbn1cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi/lt6XlhbcvSEJ1aWxkZXJYLjQuODcuMjAyNTEyMTAwNC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIG51bGwsXG4gIFwiMWZjZGViNzRcIixcbiAgZmFsc2UsXG4gIGNvbXBvbmVudHMsXG4gIHJlbmRlcmpzXG4pXG5cbmluamVjdFN0eWxlcy5jYWxsKGNvbXBvbmVudClcbmNvbXBvbmVudC5vcHRpb25zLl9fZmlsZSA9IFwiY29tcG9uZW50cy9uZXRJbWFnZS9uZXRJbWFnZS52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///40\n");
- /***/ }),
- /* 41 */
- /*!**************************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/components/netImage/netImage.vue?vue&type=template&id=fd6c0078& ***!
- \**************************************************************************************************/
- /*! exports provided: render, staticRenderFns, recyclableRender, components */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_template_id_fd6c0078___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/template.recycle.js!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-0!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./netImage.vue?vue&type=template&id=fd6c0078& */ 42);
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_template_id_fd6c0078___WEBPACK_IMPORTED_MODULE_0__["render"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_template_id_fd6c0078___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_template_id_fd6c0078___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_template_id_fd6c0078___WEBPACK_IMPORTED_MODULE_0__["components"]; });
- /***/ }),
- /* 42 */
- /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/template.recycle.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/components/netImage/netImage.vue?vue&type=template&id=fd6c0078& ***!
- \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! exports provided: render, staticRenderFns, recyclableRender, components */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
- var components
- var render = function () {
- var _vm = this
- var _h = _vm.$createElement
- var _c = _vm._self._c || _h
- return _c(
- "view",
- {
- class: _vm.backgrS == 1 ? "" : "imageBGV",
- style: {
- width: _vm.width + "rpx",
- height: _vm.height + "rpx",
- borderRadius: _vm.bradius + "rpx",
- },
- },
- [
- _c("u-image", {
- style: {
- width: _vm.width + "rpx",
- height: _vm.height + "rpx",
- borderRadius: _vm.bradius + "rpx",
- },
- attrs: { src: _vm.compleurl(_vm.comUrl), mode: _vm.mymode },
- on: { error: _vm.imageError, click: _vm.myimageclick },
- }),
- ],
- 1
- )
- }
- var recyclableRender = false
- var staticRenderFns = []
- render._withStripped = true
- /***/ }),
- /* 43 */
- /*!********************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/components/netImage/netImage.vue?vue&type=script&lang=js& ***!
- \********************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib??ref--5-0!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--5-1!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./netImage.vue?vue&type=script&lang=js& */ 44);\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXVnQixDQUFnQiwwaEJBQUcsRUFBQyIsImZpbGUiOiI0My5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS01LTAhLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTUtMSEuLi8uLi8uLi8uLi8uLi/lt6XlhbcvSEJ1aWxkZXJYLjQuODcuMjAyNTEyMTAwNC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9uZXRJbWFnZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS01LTAhLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTUtMSEuLi8uLi8uLi8uLi8uLi/lt6XlhbcvSEJ1aWxkZXJYLjQuODcuMjAyNTEyMTAwNC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9uZXRJbWFnZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///43\n");
- /***/ }),
- /* 44 */
- /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/babel-loader/lib??ref--5-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--5-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/components/netImage/netImage.vue?vue&type=script&lang=js& ***!
- \***********************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\n//\n//\nvar _default = {\n name: \"netImage\",\n props: {\n mysrc: '',\n mymode: '',\n width: 0,\n height: 0,\n bradius: 0,\n backgrS: 0\n },\n data: function data() {\n return {\n defaultImage: '/static/logo.png',\n baseUrl: 'https://backend.awayqtw.com/prod-api',\n showdefault: 0,\n comUrl: this.mysrc\n };\n },\n watch: {\n mysrc: function mysrc(val) {\n this.showdefault = 0;\n this.comUrl = this.mysrc;\n //console.log('watch-------------')\n //console.log(this.comUrl);\n }\n },\n\n methods: {\n imageError: function imageError() {\n this.comUrl = ''; // this.defaultImage;//morentup\n //console.log('imageError---------------')\n //console.log(this.baseUrl+this.comUrl)\n this.showdefault = 1;\n },\n myimageclick: function myimageclick() {\n this.$emit('Emyimageclick', this.comUrl);\n },\n compleurl: function compleurl(url) {\n //console.log('------compleurl',url)\n if (!url) {\n return '';\n }\n if (url.length < 8) {\n return '';\n }\n var http = url.substring(0, 8);\n if (http === 'https://') {\n return url;\n } else if (http === '/static/') {\n return url;\n } else {\n //console.log(this.baseUrl+url);\n return this.baseUrl + url;\n }\n }\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy9uZXRJbWFnZS9uZXRJbWFnZS52dWUiXSwibmFtZXMiOlsibmFtZSIsInByb3BzIiwibXlzcmMiLCJteW1vZGUiLCJ3aWR0aCIsImhlaWdodCIsImJyYWRpdXMiLCJiYWNrZ3JTIiwiZGF0YSIsImRlZmF1bHRJbWFnZSIsImJhc2VVcmwiLCJzaG93ZGVmYXVsdCIsImNvbVVybCIsIndhdGNoIiwibWV0aG9kcyIsImltYWdlRXJyb3IiLCJteWltYWdlY2xpY2siLCJjb21wbGV1cmwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztlQU9BO0VBQ0FBO0VBQ0FDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0lBQ0FDO0VBQ0E7RUFDQUM7SUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQVg7TUFDQTtNQUNBO01BQ0E7TUFDQTtJQUNBO0VBQ0E7O0VBQ0FZO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO1FBQ0E7TUFDQTtNQUNBO1FBQ0E7TUFDQTtNQUNBO01BQ0E7UUFDQTtNQUNBLE9BQ0E7UUFDQTtNQUNBLE9BQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSIsImZpbGUiOiI0NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cblx0PHZpZXcgOmNsYXNzPVwiYmFja2dyUz09MT8nJzonaW1hZ2VCR1YnXCIgOnN0eWxlPVwie3dpZHRoOndpZHRoKydycHgnLGhlaWdodDpoZWlnaHQrJ3JweCcsYm9yZGVyUmFkaXVzOmJyYWRpdXMrJ3JweCd9XCI+XHJcblx0XHQ8aW1hZ2UgOnN0eWxlPVwie3dpZHRoOndpZHRoKydycHgnLGhlaWdodDpoZWlnaHQrJ3JweCcsYm9yZGVyUmFkaXVzOmJyYWRpdXMrJ3JweCd9XCIgIDpzcmM9XCJjb21wbGV1cmwoY29tVXJsKVwiIDptb2RlPVwibXltb2RlXCIgQGVycm9yPVwiaW1hZ2VFcnJvclwiIEBjbGljaz1cIm15aW1hZ2VjbGlja1wiPjwvaW1hZ2U+XG5cdDwvdmlldz5cbjwvdGVtcGxhdGU+XHJcblxuPHNjcmlwdD5cblx0ZXhwb3J0IGRlZmF1bHQge1xuXHRcdG5hbWU6XCJuZXRJbWFnZVwiLFxyXG5cdFx0cHJvcHM6e1xyXG5cdFx0XHRteXNyYzogJycsXHJcblx0XHRcdG15bW9kZTonJyxcclxuXHRcdFx0d2lkdGg6MCxcclxuXHRcdFx0aGVpZ2h0OjAsXHJcblx0XHRcdGJyYWRpdXM6MCxcclxuXHRcdFx0YmFja2dyUzowLFxyXG5cdFx0fSxcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRkZWZhdWx0SW1hZ2U6Jy9zdGF0aWMvbG9nby5wbmcnLFxyXG5cdFx0XHRcdGJhc2VVcmw6J2h0dHBzOi8vYmFja2VuZC5hd2F5cXR3LmNvbS9wcm9kLWFwaScsXHJcblx0XHRcdFx0c2hvd2RlZmF1bHQ6MCxcclxuXHRcdFx0XHRjb21Vcmw6dGhpcy5teXNyY1xuXHRcdFx0fTtcblx0XHR9LFxyXG5cdFx0d2F0Y2g6IHtcclxuXHRcdFx0bXlzcmModmFsKXtcclxuXHRcdFx0XHR0aGlzLnNob3dkZWZhdWx0PTA7XHJcblx0XHRcdFx0dGhpcy5jb21VcmwgPSB0aGlzLm15c3JjXHJcblx0XHRcdFx0Ly9jb25zb2xlLmxvZygnd2F0Y2gtLS0tLS0tLS0tLS0tJylcclxuXHRcdFx0XHQvL2NvbnNvbGUubG9nKHRoaXMuY29tVXJsKTtcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6e1xyXG5cdFx0XHRpbWFnZUVycm9yKCl7XHJcblx0XHRcdFx0dGhpcy5jb21VcmwgPScnOy8vIHRoaXMuZGVmYXVsdEltYWdlOy8vbW9yZW50dXBcclxuXHRcdFx0XHQvL2NvbnNvbGUubG9nKCdpbWFnZUVycm9yLS0tLS0tLS0tLS0tLS0tJylcclxuXHRcdFx0XHQvL2NvbnNvbGUubG9nKHRoaXMuYmFzZVVybCt0aGlzLmNvbVVybClcclxuXHRcdFx0XHR0aGlzLnNob3dkZWZhdWx0PTE7XHJcblx0XHRcdH0sXHJcblx0XHRcdG15aW1hZ2VjbGljaygpe1xyXG5cdFx0XHRcdHRoaXMuJGVtaXQoJ0VteWltYWdlY2xpY2snLHRoaXMuY29tVXJsKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Y29tcGxldXJsKHVybCl7XHJcblx0XHRcdFx0Ly9jb25zb2xlLmxvZygnLS0tLS0tY29tcGxldXJsJyx1cmwpXHJcblx0XHRcdFx0aWYoIXVybCl7XHJcblx0XHRcdFx0XHRyZXR1cm4gJyc7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmKHVybC5sZW5ndGg8OCl7XHJcblx0XHRcdFx0XHRyZXR1cm4gJyc7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHZhciBodHRwPSB1cmwuc3Vic3RyaW5nKDAsOCk7XHJcblx0XHRcdFx0aWYoaHR0cD09PSdodHRwczovLycpe1xyXG5cdFx0XHRcdFx0cmV0dXJuIHVybDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0ZWxzZSBpZihodHRwPT09Jy9zdGF0aWMvJyl7XHJcblx0XHRcdFx0XHRyZXR1cm4gdXJsO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRlbHNle1xyXG5cdFx0XHRcdFx0Ly9jb25zb2xlLmxvZyh0aGlzLmJhc2VVcmwrdXJsKTtcclxuXHRcdFx0XHRcdHJldHVybiAodGhpcy5iYXNlVXJsK3VybCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9LFxuXHR9XG48L3NjcmlwdD5cblxuPHN0eWxlPlxyXG5cdC5pbWFnZUJHVntcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ZmxvcmFsd2hpdGU7XHJcblx0XHRib3JkZXI6IDFycHggc29saWQgbGlnaHRncmF5O1xyXG5cdH1cbjwvc3R5bGU+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///44\n");
- /***/ }),
- /* 45 */
- /*!****************************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/components/netImage/netImage.vue?vue&type=style&index=0&lang=css& ***!
- \****************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/style.js!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-oneOf-0-1!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--10-oneOf-0-2!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-oneOf-0-3!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./netImage.vue?vue&type=style&index=0&lang=css& */ 46);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__);
- /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /* harmony default export */ __webpack_exports__["default"] = (_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_netImage_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
- /***/ }),
- /* 46 */
- /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/style.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-oneOf-0-1!./node_modules/postcss-loader/src??ref--10-oneOf-0-2!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-oneOf-0-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/components/netImage/netImage.vue?vue&type=style&index=0&lang=css& ***!
- \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = {
- ".imageBGV": {
- "": {
- "backgroundColor": [
- "#FFFAF0",
- 0,
- 0,
- 0
- ],
- "borderWidth": [
- "1rpx",
- 0,
- 0,
- 0
- ],
- "borderStyle": [
- "solid",
- 0,
- 0,
- 0
- ],
- "borderColor": [
- "#D3D3D3",
- 0,
- 0,
- 0
- ]
- }
- },
- "@VERSION": 2
- }
- /***/ }),
- /* 47 */
- /*!**************************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/pages/imcall/audioCall.nvue?vue&type=script&lang=js&mpType=page ***!
- \**************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib??ref--5-0!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--5-1!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./audioCall.nvue?vue&type=script&lang=js&mpType=page */ 48);\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQW9oQixDQUFnQix1aUJBQUcsRUFBQyIsImZpbGUiOiI0Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS01LTAhLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTUtMSEuLi8uLi8uLi8uLi8uLi/lt6XlhbcvSEJ1aWxkZXJYLjQuODcuMjAyNTEyMTAwNC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9hdWRpb0NhbGwubnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL+W3peWFty9IQnVpbGRlclguNC44Ny4yMDI1MTIxMDA0L0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNS0wIS4uLy4uLy4uLy4uLy4uL+W3peWFty9IQnVpbGRlclguNC44Ny4yMDI1MTIxMDA0L0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlci9pbmRleC5qcz8/cmVmLS01LTEhLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vYXVkaW9DYWxsLm52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///47\n");
- /***/ }),
- /* 48 */
- /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/babel-loader/lib??ref--5-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--5-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/pages/imcall/audioCall.nvue?vue&type=script&lang=js&mpType=page ***!
- \*****************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 31);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _api = _interopRequireDefault(__webpack_require__(/*! @/pages/api/api.js */ 49));\nvar _permission = _interopRequireDefault(__webpack_require__(/*! @/TrtcCloud/permission.js */ 50));\nvar _index = _interopRequireDefault(__webpack_require__(/*! @/TrtcCloud/lib/index */ 51));\nvar _TrtcDefines = __webpack_require__(/*! @/TrtcCloud/lib/TrtcDefines */ 61);\nvar _GenerateTestUserSig = __webpack_require__(/*! @/debug/GenerateTestUserSig */ 72);\nvar _TrtcLocalView = _interopRequireDefault(__webpack_require__(/*! @/TrtcCloud/view/TrtcLocalView */ 74));\nvar _TrtcRemoteView = _interopRequireDefault(__webpack_require__(/*! @/TrtcCloud/view/TrtcRemoteView */ 79));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//const roomId = Math.floor(Math.random() * 100000).toString();\n//const userId = 'user_' + Math.floor(Math.random() * 100000).toString();\nvar _default = {\n components: {\n TrtcLocalView: _TrtcLocalView.default,\n TrtcRemoteView: _TrtcRemoteView.default\n },\n data: function data() {\n return {\n iscaller: false,\n trtcCloud: null,\n sdkAppId: 1600036174,\n userSig: '',\n roomId: Math.floor(Math.random() * 100000),\n userId: '',\n appScene: _TrtcDefines.TRTCAppScene.TRTCAppSceneVideoCall,\n // TRTCAppSceneVideoCall\n isFrontCamera: true,\n streamType: _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeBig,\n remoteUserId: '',\n userinfo: '',\n friend: '',\n nickName: '',\n avatar: '',\n noteMessage: '',\n callState: false,\n isAndroid: false,\n audioObj: null,\n soundPlay: false\n };\n },\n onLoad: function onLoad(option) {\n var systemInfo = uni.getSystemInfoSync();\n this.isAndroid = systemInfo.platform.toLowerCase() === 'android';\n __f__(\"log\", 'onLoad---------------------', \" at pages/imcall/audioCall.nvue:57\");\n getApp().globalData.imViewOpen = true;\n this.userinfo = uni.getStorageSync('userInfo');\n this.userId = 'user_' + this.userinfo.userId;\n __f__(\"log\", this.userId, \" at pages/imcall/audioCall.nvue:61\");\n if (option.caller == 1) {\n this.iscaller = true;\n var friendinfo = uni.getStorageSync('imUser');\n this.friend = {\n id: 'userid_' + friendinfo.userId,\n name: friendinfo.nickName,\n avatar: friendinfo.avatar\n };\n __f__(\"log\", friendinfo, \" at pages/imcall/audioCall.nvue:71\");\n this.nickName = friendinfo.nickName;\n this.avatar = friendinfo.avatar;\n this.noteMessage = this.i18n('audioCall.zhengzhj');\n } else {\n if (!this.isAndroid) {\n this.audioObj = uni.createInnerAudioContext();\n this.audioObj.src = 'hybrid/html/xuanfu/img/y800.mp3';\n this.audioObj.play();\n this.soundPlay = true;\n }\n }\n },\n mounted: function mounted() {\n if (uni.getSystemInfoSync().platform === 'android') {\n _permission.default.requestAndroidPermission('android.permission.RECORD_AUDIO');\n _permission.default.requestAndroidPermission('android.permission.CAMERA');\n }\n __f__(\"log\", 'mounted---------------------', \" at pages/imcall/audioCall.nvue:91\");\n // 生成 userSig\n if (this.iscaller) {\n //主动拨号\n this.getUserSig(this.userId);\n } else {\n //接听,解析发起人信息\n var payload = uni.getStorageSync('impayload');\n this.doPushMessage(payload);\n if (this.isAndroid) {\n this.getUserSig(this.userId);\n }\n }\n },\n unmounted: function unmounted() {\n this.handleUninstallEvents();\n },\n onUnload: function onUnload() {\n if (this.soundPlay) {\n this.audioObj.pause();\n }\n getApp().globalData.imViewOpen = false;\n this.destroyInstance();\n __f__(\"log\", '- onUnload', \" at pages/imcall/audioCall.nvue:114\");\n },\n onBackPress: function onBackPress() {\n getApp().globalData.imViewOpen = false;\n this.destroyInstance();\n },\n methods: {\n i18n: function i18n(str) {\n var rstr = getApp().globalData.$t(str);\n return rstr;\n },\n doPushMessage: function doPushMessage(str) {\n if (str.indexOf(\"\\\\\\\"\") != -1) {\n str = str.replace(/\\\\\\\"/g, '\\\"');\n str = str.replace(/\\\"{/g, '{');\n str = str.replace(/}\\\"/g, '}');\n }\n var obj = JSON.parse(str);\n __f__(\"log\", 'doPushMessage', obj, \" at pages/imcall/audioCall.nvue:132\");\n this.friend = {\n id: 'userid_' + obj.userId,\n name: obj.nickName,\n avatar: obj.avatar\n };\n this.roomId = obj.roomId;\n this.nickName = obj.nickName;\n this.avatar = obj.avatar;\n },\n destroyInstance: function destroyInstance() {\n this.exitRoom();\n if (this.trtcCloud) {\n _index.default.destroyInstance();\n this.trtcCloud = null;\n // uni.showToast({\n // \ttitle: '通话结束',\n // \ticon: 'none'\n // });\n }\n },\n createTrtcCloud: function createTrtcCloud() {\n // uni.showToast({\n // \ttitle: '创建实例 ',\n // \ticon: 'none',\n // });\n this.trtcCloud = _index.default.createInstance();\n this.handleEvents();\n },\n enterRoom: function enterRoom() {\n try {\n // 【1】创建实例\n this.createTrtcCloud();\n // 【2】进房\n var roomId = this.roomId,\n userId = this.userId,\n sdkAppId = this.sdkAppId,\n appScene = this.appScene,\n userSig = this.userSig;\n var param = {\n roomId: +roomId,\n userId: userId,\n sdkAppId: sdkAppId,\n userSig: userSig\n };\n __f__(\"log\", param, \" at pages/imcall/audioCall.nvue:169\");\n this.trtcCloud.enterRoom(param, appScene);\n if (!this.iscaller) {\n //接听者开始进入房间\n this.noteMessage = this.i18n('audioCall.zhengzjt');\n }\n } catch (error) {\n this.noteMessage = this.i18n('audioCall.wfjt');\n __f__(\"log\", \"enterRoom error = \".concat(JSON.stringify(error)), \" at pages/imcall/audioCall.nvue:176\");\n // this.sdkAppId && uni.$enterRoomFailedUpload(this.sdkAppId, JSON.stringify(error));\n }\n },\n exitRoom: function exitRoom() {\n try {\n this.stopLocalAudio();\n this.trtcCloud.exitRoom();\n this.remoteUserId = '';\n } catch (e) {\n // TODO handle the exception\n }\n },\n // 开启本地音频采集和上行\n startLocalAudio: function startLocalAudio() {\n this.trtcCloud.enableAudioVolumeEvaluation(300);\n this.trtcCloud.startLocalAudio();\n },\n // 关闭本地音频采集和上行\n stopLocalAudio: function stopLocalAudio() {\n this.trtcCloud.stopLocalAudio();\n },\n handleEvents: function handleEvents() {\n var _this = this;\n this.trtcCloud.on('onWarning', function (res) {\n // uni.showToast({\n // \ttitle: `onWarning: ${JSON.stringify(res)}`,\n // \ticon: 'none',\n // });\n });\n this.trtcCloud.on('onError', function (res) {\n __f__(\"log\", '- onError: ', JSON.stringify(res), \" at pages/imcall/audioCall.nvue:206\");\n // uni.showToast({\n // \ttitle: `error: ${JSON.stringify(res)}`,\n // \ticon: 'none',\n // });\n // this.sdkAppId && uni.$onErrorUpload(this.sdkAppId, JSON.stringify(res));\n });\n\n this.trtcCloud.on('onEnterRoom', function (result) {\n __f__(\"log\", \"- onEnterRoom = \".concat(result), \" at pages/imcall/audioCall.nvue:214\");\n if (result > 0) {\n if (_this.iscaller) {\n //this.sentroomId();\n _this.goEasypushmsg();\n } else {\n _this.startLocalAudio();\n _this.noteMessage = _this.i18n('audioCall.yijietong');\n }\n // uni.showToast({\n // \ttitle: `进房成功,耗时: ${result}ms`,\n // \ticon: 'none',\n // });\n } else {\n _this.noteMessage = _this.i18n('audioCall.wfjt');\n __f__(\"log\", \"enter room failed\\uFF0Cerror code = \".concat(result), \" at pages/imcall/audioCall.nvue:230\");\n }\n });\n this.trtcCloud.on('onExitRoom', function (reason) {\n _this.noteMessage = _this.i18n('audioCall.yiguanduan');\n __f__(\"log\", 'onExitRoom', reason, \" at pages/imcall/audioCall.nvue:235\");\n // const reasonList = ['主动调用 exitRoom 退房', '被服务器踢出当前房间', '当前房间整个被解散'];\n // uni.showToast({\n // \ttitle: `退房 ${reasonList[reason]}`,\n // \ticon: 'none',\n // \tduration: 1000\n // });\n });\n\n this.trtcCloud.on('onFirstVideoFrame', function (res) {\n __f__(\"log\", \"\\u6E32\\u67D3\\u7684\\u9996\\u5E27\\u753B\\u9762\\u54CD\\u5E94 = \".concat(JSON.stringify(res)), \" at pages/imcall/audioCall.nvue:244\");\n });\n this.trtcCloud.on('onRemoteUserEnterRoom', function (userId) {\n _this.remoteUserId = userId;\n _this.startLocalAudio();\n _this.noteMessage = _this.i18n('audioCall.yijietong');\n // uni.showToast({\n // \ttitle: `远端进房: userId = ${userId}`,\n // \ticon: 'none',\n // });\n });\n\n this.trtcCloud.on('onUserVideoAvailable', function (res) {\n var userId = res.userId,\n available = res.available;\n if (userId && available) {\n _this.remoteUserId = userId;\n _this.trtcCloud.startRemoteView(_this.remoteUserId, _this.streamType, _this.remoteUserId);\n }\n });\n this.trtcCloud.on('onUserVoiceVolume', function (res) {\n //console.log('音量 = ', res);\n });\n },\n handleUninstallEvents: function handleUninstallEvents() {\n this.trtcCloud.off('*');\n },\n //---------------------------------------------------------------\n bohaoAct: function bohaoAct(index) {\n if (index == 1) {\n //接通\n if (this.soundPlay) {\n this.audioObj.pause();\n }\n this.getUserSig(this.userId);\n } else if (index == 2) {\n //挂断\n uni.navigateBack();\n }\n },\n getUserSig: function getUserSig(userId) {\n var _this2 = this;\n this.callState = true;\n // console.log(userId);\n // // 本地生成 userSig\n // const { sdkAppId, userSig } = genTestUserSig(userId);\n // this.sdkAppId = sdkAppId;\n // this.userSig = userSig;\n // this.enterRoom();\n // console.log(userId,this.userSig);\n // return;\n //远程签名 userSig\n (0, _api.default)('getUserSig', {\n userId: userId\n }, function (res) {\n __f__(\"log\", 'getUserSig', res, \" at pages/imcall/audioCall.nvue:300\");\n if (res.data.code == 200) {\n _this2.userSig = res.data.data;\n _this2.enterRoom();\n } else {\n _this2.noteMessage = _this2.i18n('audioCall.wfjt');\n }\n }, function (failc) {\n //console.log('getadvertis----',failc)\n });\n },\n sentroomId: function sentroomId() {\n __f__(\"log\", 'sentroomId', \" at pages/imcall/audioCall.nvue:313\");\n if (this.imUser.cid == '' || this.imUser.cid == null || this.imUser.cid == undefined) {\n uni.showToast({\n title: this.i18n('audioCall.hujiaosb'),\n icon: 'none',\n duration: 1000\n });\n return;\n }\n var payload = {\n roomId: JSON.stringify(this.roomId),\n nickName: this.userinfo.nickName,\n avatar: this.userinfo.avatar\n };\n __f__(\"log\", 'sentroomId', this.imUser.cid, \" at pages/imcall/audioCall.nvue:328\");\n (0, _api.default)('pushMsgYH', {\n cid: this.imUser.cid,\n title: 'IM Call',\n content: 'IM Call',\n payload: payload\n }, function (res) {\n __f__(\"log\", res, \" at pages/imcall/audioCall.nvue:335\");\n }, function (failc) {\n //console.log('getadvertis----',failc)\n });\n },\n goEasypushmsg: function goEasypushmsg() {\n var payload = {\n roomId: JSON.stringify(this.roomId),\n userId: this.userinfo.userId,\n nickName: this.userinfo.nickName,\n avatar: this.userinfo.avatar,\n ptype: 1\n };\n __f__(\"log\", 'goEasypushmsg1', \" at pages/imcall/audioCall.nvue:348\");\n var goEasy = getApp().globalData.goEasy;\n var pubsub = goEasy.pubsub;\n __f__(\"log\", 'goEasypushmsg2', \" at pages/imcall/audioCall.nvue:351\");\n pubsub.publish({\n channel: this.friend.id,\n //请确认与接收端一致\n message: JSON.stringify(payload),\n //app内onMessage收到的消息内容\n notification: {\n //定义通知栏推送\n title: 'IM Call',\n //通知栏提醒标题,仅显示于通知栏\n body: 'Call' //通知栏提醒内容,仅显示于通知栏\n },\n\n onSuccess: function onSuccess() {\n __f__(\"log\", \"Publish successfully.\", \" at pages/imcall/audioCall.nvue:360\");\n },\n onFailed: function onFailed(error) {\n __f__(\"log\", \"Failed to publish message, code:\" + error.code + ' error:' + error.content, \" at pages/imcall/audioCall.nvue:363\");\n }\n });\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 11)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW1jYWxsL2F1ZGlvQ2FsbC5udnVlIl0sIm5hbWVzIjpbImNvbXBvbmVudHMiLCJUcnRjTG9jYWxWaWV3IiwiVHJ0Y1JlbW90ZVZpZXciLCJkYXRhIiwiaXNjYWxsZXIiLCJ0cnRjQ2xvdWQiLCJzZGtBcHBJZCIsInVzZXJTaWciLCJyb29tSWQiLCJ1c2VySWQiLCJhcHBTY2VuZSIsImlzRnJvbnRDYW1lcmEiLCJzdHJlYW1UeXBlIiwicmVtb3RlVXNlcklkIiwidXNlcmluZm8iLCJmcmllbmQiLCJuaWNrTmFtZSIsImF2YXRhciIsIm5vdGVNZXNzYWdlIiwiY2FsbFN0YXRlIiwiaXNBbmRyb2lkIiwiYXVkaW9PYmoiLCJzb3VuZFBsYXkiLCJvbkxvYWQiLCJnZXRBcHAiLCJpZCIsIm5hbWUiLCJtb3VudGVkIiwicGVybWlzaW9uIiwidW5tb3VudGVkIiwib25VbmxvYWQiLCJvbkJhY2tQcmVzcyIsIm1ldGhvZHMiLCJpMThuIiwiZG9QdXNoTWVzc2FnZSIsInN0ciIsImRlc3Ryb3lJbnN0YW5jZSIsIlRydGNDbG91ZCIsImNyZWF0ZVRydGNDbG91ZCIsImVudGVyUm9vbSIsImV4aXRSb29tIiwic3RhcnRMb2NhbEF1ZGlvIiwic3RvcExvY2FsQXVkaW8iLCJoYW5kbGVFdmVudHMiLCJyZXMiLCJhdmFpbGFibGUiLCJoYW5kbGVVbmluc3RhbGxFdmVudHMiLCJib2hhb0FjdCIsInVuaSIsImdldFVzZXJTaWciLCJzZW50cm9vbUlkIiwidGl0bGUiLCJpY29uIiwiZHVyYXRpb24iLCJjaWQiLCJjb250ZW50IiwicGF5bG9hZCIsImdvRWFzeXB1c2htc2ciLCJwdHlwZSIsInB1YnN1YiIsImNoYW5uZWwiLCJtZXNzYWdlIiwibm90aWZpY2F0aW9uIiwiYm9keSIsIm9uU3VjY2VzcyIsIm9uRmFpbGVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7OztBQUNBO0FBQ0E7QUFBQSxlQUVBO0VBQ0FBO0lBQ0FDO0lBQ0FDO0VBQ0E7RUFDQUM7SUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUFBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0lBQ0E7SUFDQTtJQUNBQztJQUNBO0lBQ0E7SUFDQTtJQUNBO01BQ0E7TUFDQTtNQUNBO1FBQ0FDO1FBQ0FDO1FBQ0FUO01BQ0E7TUFFQTtNQUNBO01BQ0E7TUFDQTtJQUNBLE9BQ0E7TUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtFQUNBO0VBQ0FVO0lBQ0E7TUFDQUM7TUFDQUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtNQUFBO01BQ0E7SUFDQSxPQUNBO01BQUE7TUFDQTtNQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7RUFFQTtFQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQTtNQUNBO0lBQ0E7SUFDQU47SUFDQTtJQUNBO0VBQ0E7RUFDQU87SUFDQVA7SUFDQTtFQUNBO0VBQ0FRO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFDQUM7UUFDQUE7UUFDQUE7TUFDQTtNQUNBO01BQ0E7TUFDQTtRQUNBVjtRQUNBQztRQUNBVDtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFFQW1CO01BQ0E7TUFDQTtRQUNBQztRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1VBQUE5QjtVQUFBSDtVQUFBSTtVQUFBSDtRQUNBO1VBQUFDO1VBQUFDO1VBQUFIO1VBQUFDO1FBQUE7UUFDQTtRQUNBO1FBQ0E7VUFBQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQWlDO01BQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtRQUNBO01BQUE7SUFFQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQUEsQ0FDQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7O01BQ0E7UUFDQTtRQUNBO1VBQ0E7WUFDQTtZQUNBO1VBQ0EsT0FDQTtZQUNBO1lBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1FBQ0E7VUFDQTtVQUNBO1FBQ0E7TUFDQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBOztNQUNBO1FBQ0E7TUFDQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTs7TUFDQTtRQUNBLElBQ0FsQyxTQUVBbUMsSUFGQW5DO1VBQ0FvQyxZQUNBRCxJQURBQztRQUVBO1VBQ0E7VUFDQTtRQUNBO01BQ0E7TUFDQTtRQUNBO01BQUEsQ0FDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFBQTtRQUNBO1VBQ0E7UUFDQTtRQUNBO01BQ0EsT0FDQTtRQUFBO1FBQ0FDO01BQ0E7SUFFQTtJQUNBQztNQUFBO01BRUE7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtRQUNBeEM7TUFDQTtRQUNBO1FBQ0E7VUFDQTtVQUNBO1FBQ0EsT0FDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO01BQUEsQ0FDQTtJQUNBO0lBQ0F5QztNQUNBO01BQ0E7UUFDQUY7VUFDQUc7VUFDQUM7VUFDQUM7UUFDQTtRQUNBO01BQ0E7TUFFQTtRQUNBN0M7UUFDQVE7UUFDQUM7TUFDQTtNQUNBO01BQ0E7UUFDQXFDO1FBQ0FIO1FBQ0FJO1FBQ0FDO01BQ0E7UUFDQTtNQUNBO1FBQ0E7TUFBQSxDQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUNBakQ7UUFDQUM7UUFDQU87UUFDQUM7UUFDQXlDO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBQztRQUNBQztRQUFBO1FBQ0FDO1FBQUE7UUFDQUM7VUFBQTtVQUNBWDtVQUFBO1VBQ0FZO1FBQ0E7O1FBQ0FDO1VBQ0E7UUFDQTtRQUNBQztVQUNBO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjQ4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3PlxyXG5cdFx0PGN1c3RvbU5hdiA6c2hvd25hdj1cInRydWVcIiA6dGl0bGU9XCJpMThuKCdhdWRpb0NhbGwuaW10aXRsZScpXCIgdGluQ29sb3I9XCIjNDBBRTM2XCIgamlhbnRvdT1cIjBcIj48L2N1c3RvbU5hdj5cclxuXHRcdDx2aWV3IGNsYXNzPVwiY29udGVudENvbHVtbkNcIiBzdHlsZT1cIndpZHRoOiA3MDBycHg7bWFyZ2luLWxlZnQ6IDI1cnB4O21hcmdpbi10b3A6IDUwcnB4O1wiPlxyXG5cdFx0XHQ8bmV0SW1hZ2UgY2xhc3M9XCJzcEljb25cIiB3aWR0aD1cIjEyMFwiIGhlaWdodD1cIjEyMFwiIDpteXNyYz1cImF2YXRhclwiIG15bW9kZT1cInNjYWxlVG9GaWxsXCI+PC9uZXRJbWFnZT5cclxuXHRcdFx0PHRleHQgc3R5bGU9XCJtYXJnaW4tdG9wOiAzMHJweDtmb250LXNpemU6IDMycnB4O1wiPnt7bmlja05hbWV9fTwvdGV4dD5cclxuXHRcdFx0PGltYWdlIHYtaWY9XCIhY2FsbFN0YXRlXCIgc3R5bGU9XCJ3aWR0aDogODBycHg7aGVpZ2h0OiA4MHJweDttYXJnaW4tdG9wOiA4MHJweDtcIiBzcmM9XCIvc3RhdGljL2ltYWdzL2ppZXRvbmcucG5nXCIgbW9kZT1cInNjYWxlVG9GaWxsXCIgQGNsaWNrPVwiYm9oYW9BY3QoMSlcIj48L2ltYWdlPlxyXG5cdFx0XHQ8aW1hZ2Ugdi1pZj1cImNhbGxTdGF0ZVwiIHN0eWxlPVwid2lkdGg6IDgwcnB4O2hlaWdodDogODBycHg7bWFyZ2luLXRvcDogODBycHg7XCIgc3JjPVwiL3N0YXRpYy9pbWFncy9ndWFkdWFuZGQucG5nXCIgbW9kZT1cInNjYWxlVG9GaWxsXCIgQGNsaWNrPVwiYm9oYW9BY3QoMilcIj48L2ltYWdlPlxyXG5cdFx0XHQ8dGV4dCBzdHlsZT1cIm1hcmdpbi10b3A6IDgwcnB4O2ZvbnQtc2l6ZTogMzJycHg7XCI+e3tub3RlTWVzc2FnZX19PC90ZXh0PlxyXG5cdFx0PC92aWV3PlxyXG5cdDwvdmlldz5cclxuXHRcclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0aW1wb3J0IGFwaSBmcm9tIFwiQC9wYWdlcy9hcGkvYXBpLmpzXCJcclxuXHRpbXBvcnQgcGVybWlzaW9uIGZyb20gXCJAL1RydGNDbG91ZC9wZXJtaXNzaW9uLmpzXCI7XHJcblx0aW1wb3J0IFRydGNDbG91ZCBmcm9tICdAL1RydGNDbG91ZC9saWIvaW5kZXgnO1xyXG5cdGltcG9ydCB7IFRSVENBcHBTY2VuZSwgVFJUQ1ZpZGVvU3RyZWFtVHlwZSwgVFJUQ0Nsb3VkRGVmIH0gZnJvbSAnQC9UcnRjQ2xvdWQvbGliL1RydGNEZWZpbmVzJztcclxuXHRpbXBvcnQgeyBnZW5UZXN0VXNlclNpZyB9IGZyb20gJ0AvZGVidWcvR2VuZXJhdGVUZXN0VXNlclNpZyc7XHJcblx0aW1wb3J0IFRydGNMb2NhbFZpZXcgZnJvbSAnQC9UcnRjQ2xvdWQvdmlldy9UcnRjTG9jYWxWaWV3JztcclxuXHRpbXBvcnQgVHJ0Y1JlbW90ZVZpZXcgZnJvbSAnQC9UcnRjQ2xvdWQvdmlldy9UcnRjUmVtb3RlVmlldyc7XHJcblx0Ly9jb25zdCByb29tSWQgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwMDApLnRvU3RyaW5nKCk7XHJcblx0Ly9jb25zdCB1c2VySWQgPSAndXNlcl8nICsgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDAwKS50b1N0cmluZygpO1xyXG5cclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRjb21wb25lbnRzOiB7XHJcblx0XHRcdFRydGNMb2NhbFZpZXc6IFRydGNMb2NhbFZpZXcsXHJcblx0XHRcdFRydGNSZW1vdGVWaWV3OiBUcnRjUmVtb3RlVmlldyxcclxuXHRcdH0sXHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGlzY2FsbGVyOmZhbHNlLFxyXG5cdFx0XHRcdHRydGNDbG91ZDogbnVsbCxcclxuXHRcdFx0XHRzZGtBcHBJZDoxNjAwMDM2MTc0LFxyXG5cdFx0XHRcdHVzZXJTaWc6ICcnLFxyXG5cdFx0XHRcdHJvb21JZDogTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDAwKSxcclxuXHRcdFx0XHR1c2VySWQ6JycsXHJcblx0XHRcdFx0YXBwU2NlbmU6IFRSVENBcHBTY2VuZS5UUlRDQXBwU2NlbmVWaWRlb0NhbGwsIC8vIFRSVENBcHBTY2VuZVZpZGVvQ2FsbFxyXG5cdFx0XHRcdGlzRnJvbnRDYW1lcmE6IHRydWUsXHJcblx0XHRcdFx0c3RyZWFtVHlwZTogVFJUQ1ZpZGVvU3RyZWFtVHlwZS5UUlRDVmlkZW9TdHJlYW1UeXBlQmlnLFxyXG5cdFx0XHRcdHJlbW90ZVVzZXJJZDogJycsXHJcblx0XHRcdFx0dXNlcmluZm86JycsXHJcblx0XHRcdFx0ZnJpZW5kOicnLFxyXG5cdFx0XHRcdG5pY2tOYW1lOicnLFxyXG5cdFx0XHRcdGF2YXRhcjonJyxcclxuXHRcdFx0XHRub3RlTWVzc2FnZTonJyxcclxuXHRcdFx0XHRjYWxsU3RhdGU6ZmFsc2UsXHJcblx0XHRcdFx0aXNBbmRyb2lkOmZhbHNlLFxyXG5cdFx0XHRcdGF1ZGlvT2JqOm51bGwsXHJcblx0XHRcdFx0c291bmRQbGF5OmZhbHNlXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRvbkxvYWQob3B0aW9uKSB7XHJcblx0XHRcdHZhciBzeXN0ZW1JbmZvID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKCk7XHJcblx0XHRcdHRoaXMuaXNBbmRyb2lkID0gc3lzdGVtSW5mby5wbGF0Zm9ybS50b0xvd2VyQ2FzZSgpID09PSAnYW5kcm9pZCc7XHJcblx0XHRcdGNvbnNvbGUubG9nKCdvbkxvYWQtLS0tLS0tLS0tLS0tLS0tLS0tLS0nKTtcclxuXHRcdFx0Z2V0QXBwKCkuZ2xvYmFsRGF0YS5pbVZpZXdPcGVuPXRydWU7XHJcblx0XHRcdHRoaXMudXNlcmluZm8gPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3VzZXJJbmZvJyk7XHJcblx0XHRcdHRoaXMudXNlcklkPSd1c2VyXycrdGhpcy51c2VyaW5mby51c2VySWQ7XHJcblx0XHRcdGNvbnNvbGUubG9nKHRoaXMudXNlcklkKTtcclxuXHRcdFx0aWYob3B0aW9uLmNhbGxlcj09MSl7XHJcblx0XHRcdFx0dGhpcy5pc2NhbGxlcj10cnVlO1xyXG5cdFx0XHRcdHZhciBmcmllbmRpbmZvID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdpbVVzZXInKTtcclxuXHRcdFx0XHR0aGlzLmZyaWVuZCA9IHtcclxuXHRcdFx0XHRcdGlkOid1c2VyaWRfJytmcmllbmRpbmZvLnVzZXJJZCxcclxuXHRcdFx0XHRcdG5hbWU6ZnJpZW5kaW5mby5uaWNrTmFtZSxcclxuXHRcdFx0XHRcdGF2YXRhcjpmcmllbmRpbmZvLmF2YXRhclxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhmcmllbmRpbmZvKTtcclxuXHRcdFx0XHR0aGlzLm5pY2tOYW1lPWZyaWVuZGluZm8ubmlja05hbWU7XHJcblx0XHRcdFx0dGhpcy5hdmF0YXI9ZnJpZW5kaW5mby5hdmF0YXI7XHJcblx0XHRcdFx0dGhpcy5ub3RlTWVzc2FnZT10aGlzLmkxOG4oJ2F1ZGlvQ2FsbC56aGVuZ3poaicpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGVsc2V7XHJcblx0XHRcdFx0aWYoIXRoaXMuaXNBbmRyb2lkKXtcclxuXHRcdFx0XHRcdHRoaXMuYXVkaW9PYmo9dW5pLmNyZWF0ZUlubmVyQXVkaW9Db250ZXh0KCk7XHJcblx0XHRcdFx0XHR0aGlzLmF1ZGlvT2JqLnNyYz0naHlicmlkL2h0bWwveHVhbmZ1L2ltZy95ODAwLm1wMyc7XHJcblx0XHRcdFx0XHR0aGlzLmF1ZGlvT2JqLnBsYXkoKTtcclxuXHRcdFx0XHRcdHRoaXMuc291bmRQbGF5PXRydWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0bW91bnRlZCgpIHtcclxuXHRcdFx0aWYgKHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpLnBsYXRmb3JtID09PSAnYW5kcm9pZCcpIHtcclxuXHRcdFx0XHRwZXJtaXNpb24ucmVxdWVzdEFuZHJvaWRQZXJtaXNzaW9uKCdhbmRyb2lkLnBlcm1pc3Npb24uUkVDT1JEX0FVRElPJyk7XHJcblx0XHRcdFx0cGVybWlzaW9uLnJlcXVlc3RBbmRyb2lkUGVybWlzc2lvbignYW5kcm9pZC5wZXJtaXNzaW9uLkNBTUVSQScpO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRjb25zb2xlLmxvZygnbW91bnRlZC0tLS0tLS0tLS0tLS0tLS0tLS0tLScpO1xyXG5cdFx0XHQvLyDnlJ/miJAgdXNlclNpZ1xyXG5cdFx0XHRpZih0aGlzLmlzY2FsbGVyKXsvL+S4u+WKqOaLqOWPt1xyXG5cdFx0XHRcdHRoaXMuZ2V0VXNlclNpZyh0aGlzLnVzZXJJZCk7XHJcblx0XHRcdH1cclxuXHRcdFx0ZWxzZXsvL+aOpeWQrO+8jOino+aekOWPkei1t+S6uuS/oeaBr1xyXG5cdFx0XHRcdHZhciBwYXlsb2FkPXVuaS5nZXRTdG9yYWdlU3luYygnaW1wYXlsb2FkJyk7XHJcblx0XHRcdFx0dGhpcy5kb1B1c2hNZXNzYWdlKHBheWxvYWQpO1xyXG5cdFx0XHRcdGlmKHRoaXMuaXNBbmRyb2lkKXtcclxuXHRcdFx0XHRcdHRoaXMuZ2V0VXNlclNpZyh0aGlzLnVzZXJJZCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0fSxcclxuXHRcdHVubW91bnRlZCgpIHtcclxuXHRcdFx0dGhpcy5oYW5kbGVVbmluc3RhbGxFdmVudHMoKTtcclxuXHRcdH0sXHJcblx0XHRvblVubG9hZCgpIHtcclxuXHRcdFx0aWYodGhpcy5zb3VuZFBsYXkpe1xyXG5cdFx0XHRcdHRoaXMuYXVkaW9PYmoucGF1c2UoKTtcclxuXHRcdFx0fVxyXG5cdFx0XHRnZXRBcHAoKS5nbG9iYWxEYXRhLmltVmlld09wZW49ZmFsc2U7XHJcblx0XHRcdHRoaXMuZGVzdHJveUluc3RhbmNlKCk7XHJcblx0XHRcdGNvbnNvbGUubG9nKCctIG9uVW5sb2FkJyk7XHJcblx0XHR9LFxyXG5cdFx0b25CYWNrUHJlc3MoKSB7XHJcblx0XHRcdGdldEFwcCgpLmdsb2JhbERhdGEuaW1WaWV3T3Blbj1mYWxzZTtcclxuXHRcdFx0dGhpcy5kZXN0cm95SW5zdGFuY2UoKTtcclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGkxOG4oc3RyKXtcclxuXHRcdFx0XHR2YXIgcnN0ciA9IGdldEFwcCgpLmdsb2JhbERhdGEuJHQoc3RyKTtcclxuXHRcdFx0XHRyZXR1cm4gcnN0cjtcclxuXHRcdFx0fSxcclxuXHRcdFx0ZG9QdXNoTWVzc2FnZShzdHIpe1xyXG5cdFx0XHRcdGlmKHN0ci5pbmRleE9mKFwiXFxcXFxcXCJcIikhPS0xKXtcclxuXHRcdFx0XHRcdHN0cj1zdHIucmVwbGFjZSgvXFxcXFxcXCIvZywgJ1xcXCInKTtcclxuXHRcdFx0XHRcdHN0ciA9IHN0ci5yZXBsYWNlKC9cXFwiey9nLCAneycpO1xyXG5cdFx0XHRcdFx0c3RyID0gc3RyLnJlcGxhY2UoL31cXFwiL2csICd9Jyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHZhciBvYmogPSBKU09OLnBhcnNlKHN0cilcclxuXHRcdFx0XHRjb25zb2xlLmxvZygnZG9QdXNoTWVzc2FnZScsb2JqKVxyXG5cdFx0XHRcdHRoaXMuZnJpZW5kID0ge1xyXG5cdFx0XHRcdFx0aWQ6J3VzZXJpZF8nK29iai51c2VySWQsXHJcblx0XHRcdFx0XHRuYW1lOm9iai5uaWNrTmFtZSxcclxuXHRcdFx0XHRcdGF2YXRhcjpvYmouYXZhdGFyXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMucm9vbUlkPW9iai5yb29tSWQ7XHJcblx0XHRcdFx0dGhpcy5uaWNrTmFtZT1vYmoubmlja05hbWU7XHJcblx0XHRcdFx0dGhpcy5hdmF0YXI9b2JqLmF2YXRhcjtcclxuXHRcdFx0fSxcclxuXHRcdFx0XHJcblx0XHRcdGRlc3Ryb3lJbnN0YW5jZSgpIHtcclxuXHRcdFx0XHR0aGlzLmV4aXRSb29tKCk7XHJcblx0XHRcdFx0aWYgKHRoaXMudHJ0Y0Nsb3VkKSB7XHJcblx0XHRcdFx0XHRUcnRjQ2xvdWQuZGVzdHJveUluc3RhbmNlKCk7XHJcblx0XHRcdFx0XHR0aGlzLnRydGNDbG91ZCA9IG51bGw7XHJcblx0XHRcdFx0XHQvLyB1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdC8vIFx0dGl0bGU6ICfpgJror53nu5PmnZ8nLFxyXG5cdFx0XHRcdFx0Ly8gXHRpY29uOiAnbm9uZSdcclxuXHRcdFx0XHRcdC8vIH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Y3JlYXRlVHJ0Y0Nsb3VkKCkge1xyXG5cdFx0XHRcdC8vIHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdC8vIFx0dGl0bGU6ICfliJvlu7rlrp7kvosgJyxcclxuXHRcdFx0XHQvLyBcdGljb246ICdub25lJyxcclxuXHRcdFx0XHQvLyB9KTtcclxuXHRcdFx0XHR0aGlzLnRydGNDbG91ZCA9IFRydGNDbG91ZC5jcmVhdGVJbnN0YW5jZSgpO1xyXG5cdFx0XHRcdHRoaXMuaGFuZGxlRXZlbnRzKCk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGVudGVyUm9vbSgpIHtcclxuXHRcdFx0XHR0cnkge1xyXG5cdFx0XHRcdFx0Ly8g44CQMeOAkeWIm+W7uuWunuS+i1xyXG5cdFx0XHRcdFx0dGhpcy5jcmVhdGVUcnRjQ2xvdWQoKTtcclxuXHRcdFx0XHRcdC8vIOOAkDLjgJHov5vmiL9cclxuXHRcdFx0XHRcdGNvbnN0IHsgcm9vbUlkLCB1c2VySWQsIHNka0FwcElkLCBhcHBTY2VuZSwgdXNlclNpZyB9ID0gdGhpcztcclxuXHRcdFx0XHRcdGxldCBwYXJhbSA9IHsgcm9vbUlkOiArcm9vbUlkLCB1c2VySWQsIHNka0FwcElkLCB1c2VyU2lnIH07XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhwYXJhbSk7XHJcblx0XHRcdFx0XHR0aGlzLnRydGNDbG91ZC5lbnRlclJvb20ocGFyYW0sIGFwcFNjZW5lKTtcclxuXHRcdFx0XHRcdGlmKCF0aGlzLmlzY2FsbGVyKXsvL+aOpeWQrOiAheW8gOWni+i/m+WFpeaIv+mXtFxyXG5cdFx0XHRcdFx0XHR0aGlzLm5vdGVNZXNzYWdlPXRoaXMuaTE4bignYXVkaW9DYWxsLnpoZW5nemp0Jyk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcclxuXHRcdFx0XHRcdHRoaXMubm90ZU1lc3NhZ2U9dGhpcy5pMThuKCdhdWRpb0NhbGwud2ZqdCcpO1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coYGVudGVyUm9vbSBlcnJvciA9ICR7SlNPTi5zdHJpbmdpZnkoZXJyb3IpfWApO1xyXG5cdFx0XHRcdFx0Ly8gdGhpcy5zZGtBcHBJZCAmJiB1bmkuJGVudGVyUm9vbUZhaWxlZFVwbG9hZCh0aGlzLnNka0FwcElkLCBKU09OLnN0cmluZ2lmeShlcnJvcikpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0ZXhpdFJvb20oKSB7XHJcblx0XHRcdFx0dHJ5IHtcclxuXHRcdFx0XHRcdHRoaXMuc3RvcExvY2FsQXVkaW8oKTtcclxuXHRcdFx0XHRcdHRoaXMudHJ0Y0Nsb3VkLmV4aXRSb29tKCk7XHJcblx0XHRcdFx0XHR0aGlzLnJlbW90ZVVzZXJJZCA9ICcnO1xyXG5cdFx0XHRcdH0gY2F0Y2ggKGUpIHtcclxuXHRcdFx0XHRcdC8vIFRPRE8gaGFuZGxlIHRoZSBleGNlcHRpb25cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOW8gOWQr+acrOWcsOmfs+mikemHh+mbhuWSjOS4iuihjFxyXG5cdFx0XHRzdGFydExvY2FsQXVkaW8oKSB7XG5cdFx0XHRcdHRoaXMudHJ0Y0Nsb3VkLmVuYWJsZUF1ZGlvVm9sdW1lRXZhbHVhdGlvbigzMDApO1xyXG5cdFx0XHRcdHRoaXMudHJ0Y0Nsb3VkLnN0YXJ0TG9jYWxBdWRpbygpO1xuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5YWz6Zet5pys5Zyw6Z+z6aKR6YeH6ZuG5ZKM5LiK6KGMXHJcblx0XHRcdHN0b3BMb2NhbEF1ZGlvKCkge1xyXG5cdFx0XHRcdHRoaXMudHJ0Y0Nsb3VkLnN0b3BMb2NhbEF1ZGlvKCk7XHJcblx0XHRcdH0sXG5cdFx0XHRoYW5kbGVFdmVudHMoKSB7XHJcblx0XHRcdFx0dGhpcy50cnRjQ2xvdWQub24oJ29uV2FybmluZycsIChyZXMpID0+IHtcclxuXHRcdFx0XHRcdC8vIHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0Ly8gXHR0aXRsZTogYG9uV2FybmluZzogJHtKU09OLnN0cmluZ2lmeShyZXMpfWAsXHJcblx0XHRcdFx0XHQvLyBcdGljb246ICdub25lJyxcclxuXHRcdFx0XHRcdC8vIH0pO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdHRoaXMudHJ0Y0Nsb3VkLm9uKCdvbkVycm9yJywgKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJy0gb25FcnJvcjogJywgSlNPTi5zdHJpbmdpZnkocmVzKSk7XHJcblx0XHRcdFx0XHQvLyB1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdC8vIFx0dGl0bGU6IGBlcnJvcjogJHtKU09OLnN0cmluZ2lmeShyZXMpfWAsXHJcblx0XHRcdFx0XHQvLyBcdGljb246ICdub25lJyxcclxuXHRcdFx0XHRcdC8vIH0pO1xyXG5cdFx0XHRcdFx0Ly8gdGhpcy5zZGtBcHBJZCAmJiB1bmkuJG9uRXJyb3JVcGxvYWQodGhpcy5zZGtBcHBJZCwgSlNPTi5zdHJpbmdpZnkocmVzKSk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0dGhpcy50cnRjQ2xvdWQub24oJ29uRW50ZXJSb29tJywgKHJlc3VsdCkgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coYC0gb25FbnRlclJvb20gPSAke3Jlc3VsdH1gKTtcclxuXHRcdFx0XHRcdGlmIChyZXN1bHQgPiAwKSB7XHJcblx0XHRcdFx0XHRcdGlmKHRoaXMuaXNjYWxsZXIpe1xyXG5cdFx0XHRcdFx0XHRcdC8vdGhpcy5zZW50cm9vbUlkKCk7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5nb0Vhc3lwdXNobXNnKCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0ZWxzZXtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnN0YXJ0TG9jYWxBdWRpbygpO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMubm90ZU1lc3NhZ2U9dGhpcy5pMThuKCdhdWRpb0NhbGwueWlqaWV0b25nJyk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0Ly8gdW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdC8vIFx0dGl0bGU6IGDov5vmiL/miJDlip/vvIzogJfml7Y6ICR7cmVzdWx0fW1zYCxcclxuXHRcdFx0XHRcdFx0Ly8gXHRpY29uOiAnbm9uZScsXHJcblx0XHRcdFx0XHRcdC8vIH0pO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5ub3RlTWVzc2FnZT10aGlzLmkxOG4oJ2F1ZGlvQ2FsbC53Zmp0Jyk7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGBlbnRlciByb29tIGZhaWxlZO+8jGVycm9yIGNvZGUgPSAke3Jlc3VsdH1gKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHR0aGlzLnRydGNDbG91ZC5vbignb25FeGl0Um9vbScsIChyZWFzb24pID0+IHtcclxuXHRcdFx0XHRcdHRoaXMubm90ZU1lc3NhZ2U9dGhpcy5pMThuKCdhdWRpb0NhbGwueWlndWFuZHVhbicpO1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ29uRXhpdFJvb20nLHJlYXNvbilcclxuXHRcdFx0XHRcdC8vIGNvbnN0IHJlYXNvbkxpc3QgPSBbJ+S4u+WKqOiwg+eUqCBleGl0Um9vbSDpgIDmiL8nLCAn6KKr5pyN5Yqh5Zmo6Lii5Ye65b2T5YmN5oi/6Ze0JywgJ+W9k+WJjeaIv+mXtOaVtOS4quiiq+ino+aVoyddO1xyXG5cdFx0XHRcdFx0Ly8gdW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHQvLyBcdHRpdGxlOiBg6YCA5oi/ICR7cmVhc29uTGlzdFtyZWFzb25dfWAsXHJcblx0XHRcdFx0XHQvLyBcdGljb246ICdub25lJyxcclxuXHRcdFx0XHRcdC8vIFx0ZHVyYXRpb246IDEwMDBcclxuXHRcdFx0XHRcdC8vIH0pO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdHRoaXMudHJ0Y0Nsb3VkLm9uKCdvbkZpcnN0VmlkZW9GcmFtZScsIChyZXMpID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGDmuLLmn5PnmoTpppbluKfnlLvpnaLlk43lupQgPSAke0pTT04uc3RyaW5naWZ5KHJlcyl9YCk7XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0dGhpcy50cnRjQ2xvdWQub24oJ29uUmVtb3RlVXNlckVudGVyUm9vbScsICh1c2VySWQpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMucmVtb3RlVXNlcklkID0gdXNlcklkO1xyXG5cdFx0XHRcdFx0dGhpcy5zdGFydExvY2FsQXVkaW8oKTtcclxuXHRcdFx0XHRcdHRoaXMubm90ZU1lc3NhZ2U9dGhpcy5pMThuKCdhdWRpb0NhbGwueWlqaWV0b25nJyk7XHJcblx0XHRcdFx0XHQvLyB1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdC8vIFx0dGl0bGU6IGDov5znq6/ov5vmiL86IHVzZXJJZCA9ICR7dXNlcklkfWAsXHJcblx0XHRcdFx0XHQvLyBcdGljb246ICdub25lJyxcclxuXHRcdFx0XHRcdC8vIH0pO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcdHRoaXMudHJ0Y0Nsb3VkLm9uKCdvblVzZXJWaWRlb0F2YWlsYWJsZScsIChyZXMpID0+IHtcclxuXHRcdFx0XHRcdGNvbnN0IHtcclxuXHRcdFx0XHRcdFx0dXNlcklkLFxyXG5cdFx0XHRcdFx0XHRhdmFpbGFibGVcclxuXHRcdFx0XHRcdH0gPSByZXM7XHJcblx0XHRcdFx0XHRpZiAodXNlcklkICYmIGF2YWlsYWJsZSkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnJlbW90ZVVzZXJJZCA9IHVzZXJJZDtcclxuXHRcdFx0XHRcdFx0dGhpcy50cnRjQ2xvdWQuc3RhcnRSZW1vdGVWaWV3KHRoaXMucmVtb3RlVXNlcklkLCB0aGlzLnN0cmVhbVR5cGUsIHRoaXMucmVtb3RlVXNlcklkKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcblx0XHRcdFx0dGhpcy50cnRjQ2xvdWQub24oJ29uVXNlclZvaWNlVm9sdW1lJywgKHJlcykgPT4ge1xuXHRcdFx0XHRcdC8vY29uc29sZS5sb2coJ+mfs+mHjyA9ICcsIHJlcyk7XG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRoYW5kbGVVbmluc3RhbGxFdmVudHMoKSB7XHJcblx0XHRcdFx0dGhpcy50cnRjQ2xvdWQub2ZmKCcqJyk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblx0XHRcdGJvaGFvQWN0KGluZGV4KXtcclxuXHRcdFx0XHRpZihpbmRleD09MSl7Ly/mjqXpgJpcclxuXHRcdFx0XHRcdGlmKHRoaXMuc291bmRQbGF5KXtcclxuXHRcdFx0XHRcdFx0dGhpcy5hdWRpb09iai5wYXVzZSgpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dGhpcy5nZXRVc2VyU2lnKHRoaXMudXNlcklkKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0ZWxzZSBpZihpbmRleD09Mil7Ly/mjILmlq1cclxuXHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZUJhY2soKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdH0sXHJcblx0XHRcdGdldFVzZXJTaWcodXNlcklkKXtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHQgdGhpcy5jYWxsU3RhdGU9dHJ1ZTtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyh1c2VySWQpO1xyXG5cdFx0XHRcdC8vIC8vIOacrOWcsOeUn+aIkCB1c2VyU2lnXHJcblx0XHRcdFx0Ly8gY29uc3QgeyBzZGtBcHBJZCwgdXNlclNpZyB9ID0gZ2VuVGVzdFVzZXJTaWcodXNlcklkKTtcclxuXHRcdFx0XHQvLyB0aGlzLnNka0FwcElkID0gc2RrQXBwSWQ7XHJcblx0XHRcdFx0Ly8gdGhpcy51c2VyU2lnID0gdXNlclNpZztcclxuXHRcdFx0XHQvLyB0aGlzLmVudGVyUm9vbSgpO1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHVzZXJJZCx0aGlzLnVzZXJTaWcpO1xyXG5cdFx0XHRcdC8vIHJldHVybjtcclxuXHRcdFx0XHQvL+i/nOeoi+etvuWQjSB1c2VyU2lnXHJcblx0XHRcdFx0YXBpKCdnZXRVc2VyU2lnJyx7XHJcblx0XHRcdFx0XHR1c2VySWQ6dXNlcklkLFxyXG5cdFx0XHRcdH0scmVzPT57XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygnZ2V0VXNlclNpZycscmVzKVxyXG5cdFx0XHRcdFx0aWYocmVzLmRhdGEuY29kZT09MjAwKXtcclxuXHRcdFx0XHRcdFx0dGhpcy51c2VyU2lnID0gcmVzLmRhdGEuZGF0YTtcclxuXHRcdFx0XHRcdFx0dGhpcy5lbnRlclJvb20oKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGVsc2V7XHJcblx0XHRcdFx0XHRcdHRoaXMubm90ZU1lc3NhZ2U9dGhpcy5pMThuKCdhdWRpb0NhbGwud2ZqdCcpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0sZmFpbGM9PntcclxuXHRcdFx0XHRcdC8vY29uc29sZS5sb2coJ2dldGFkdmVydGlzLS0tLScsZmFpbGMpXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0c2VudHJvb21JZCgpe1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCdzZW50cm9vbUlkJylcclxuXHRcdFx0XHRpZih0aGlzLmltVXNlci5jaWQ9PScnfHx0aGlzLmltVXNlci5jaWQ9PW51bGx8fHRoaXMuaW1Vc2VyLmNpZD09dW5kZWZpbmVkKXtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTp0aGlzLmkxOG4oJ2F1ZGlvQ2FsbC5odWppYW9zYicpLFxyXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZScsXHJcblx0XHRcdFx0XHRcdGR1cmF0aW9uOiAxMDAwXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0dmFyIHBheWxvYWQ9e1xyXG5cdFx0XHRcdFx0cm9vbUlkOkpTT04uc3RyaW5naWZ5KHRoaXMucm9vbUlkKSxcclxuXHRcdFx0XHRcdG5pY2tOYW1lOnRoaXMudXNlcmluZm8ubmlja05hbWUsXHJcblx0XHRcdFx0XHRhdmF0YXI6dGhpcy51c2VyaW5mby5hdmF0YXIsXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCdzZW50cm9vbUlkJyx0aGlzLmltVXNlci5jaWQpO1xyXG5cdFx0XHRcdGFwaSgncHVzaE1zZ1lIJyx7XHJcblx0XHRcdFx0XHRjaWQ6dGhpcy5pbVVzZXIuY2lkLFxyXG5cdFx0XHRcdFx0dGl0bGU6J0lNIENhbGwnLFxyXG5cdFx0XHRcdFx0Y29udGVudDonSU0gQ2FsbCcsXHJcblx0XHRcdFx0XHRwYXlsb2FkOnBheWxvYWRcclxuXHRcdFx0XHR9LHJlcz0+e1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKVxyXG5cdFx0XHRcdH0sZmFpbGM9PntcclxuXHRcdFx0XHRcdC8vY29uc29sZS5sb2coJ2dldGFkdmVydGlzLS0tLScsZmFpbGMpXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Z29FYXN5cHVzaG1zZygpe1xyXG5cdFx0XHRcdHZhciBwYXlsb2FkPXtcclxuXHRcdFx0XHRcdHJvb21JZDpKU09OLnN0cmluZ2lmeSh0aGlzLnJvb21JZCksXHJcblx0XHRcdFx0XHR1c2VySWQ6dGhpcy51c2VyaW5mby51c2VySWQsXHJcblx0XHRcdFx0XHRuaWNrTmFtZTp0aGlzLnVzZXJpbmZvLm5pY2tOYW1lLFxyXG5cdFx0XHRcdFx0YXZhdGFyOnRoaXMudXNlcmluZm8uYXZhdGFyLFxyXG5cdFx0XHRcdFx0cHR5cGU6MVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zb2xlLmxvZygnZ29FYXN5cHVzaG1zZzEnKVxyXG5cdFx0XHRcdHZhciBnb0Vhc3k9Z2V0QXBwKCkuZ2xvYmFsRGF0YS5nb0Vhc3k7XHJcblx0XHRcdCAgdmFyIHB1YnN1YiA9IGdvRWFzeS5wdWJzdWI7XHJcblx0XHRcdCAgY29uc29sZS5sb2coJ2dvRWFzeXB1c2htc2cyJylcclxuXHRcdFx0ICBwdWJzdWIucHVibGlzaCh7XHJcblx0XHRcdFx0ICBjaGFubmVsOnRoaXMuZnJpZW5kLmlkLCAgLy/or7fnoa7orqTkuI7mjqXmlLbnq6/kuIDoh7RcclxuXHRcdFx0XHQgIG1lc3NhZ2U6SlNPTi5zdHJpbmdpZnkocGF5bG9hZCksICAgLy9hcHDlhoVvbk1lc3NhZ2XmlLbliLDnmoTmtojmga/lhoXlrrlcclxuXHRcdFx0XHQgIG5vdGlmaWNhdGlvbjogeyAvL+WumuS5iemAmuefpeagj+aOqOmAgVxyXG5cdFx0XHRcdFx0ICB0aXRsZTogJ0lNIENhbGwnLCAvL+mAmuefpeagj+aPkOmGkuagh+mimO+8jOS7heaYvuekuuS6jumAmuefpeagj1xyXG5cdFx0XHRcdFx0ICBib2R5OidDYWxsJywgLy/pgJrnn6XmoI/mj5DphpLlhoXlrrnvvIzku4XmmL7npLrkuo7pgJrnn6XmoI9cclxuXHRcdFx0XHQgIH0sXHJcblx0XHRcdFx0ICBvblN1Y2Nlc3M6IGZ1bmN0aW9uICgpIHtcclxuXHRcdFx0XHRcdCAgY29uc29sZS5sb2coXCJQdWJsaXNoIHN1Y2Nlc3NmdWxseS5cIilcclxuXHRcdFx0XHQgIH0sXHJcblx0XHRcdFx0ICBvbkZhaWxlZDogZnVuY3Rpb24gKGVycm9yKSB7XHJcblx0XHRcdFx0XHQgIGNvbnNvbGUubG9nKFwiRmFpbGVkIHRvIHB1Ymxpc2ggbWVzc2FnZSwgY29kZTpcIiArIGVycm9yLmNvZGUgKyAnIGVycm9yOicgKyBlcnJvci5jb250ZW50KTtcclxuXHRcdFx0XHQgIH1cclxuXHRcdFx0ICB9KTtcclxuXHRcdFx0fSxcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG4uaWNvbkltZ3tcclxuXHRtYXJnaW4tdG9wOiAzMHJweDtcclxuXHR3aWR0aDogMjAwcnB4O1xyXG5cdGhlaWdodDogMjAwcnB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICMxQTFBMUE7XHJcbn1cclxuLnNwSWNvbntcclxuXHRtYXJnaW46IDIwcnB4O1xyXG5cdHdpZHRoOiAxNTBycHg7XHJcblx0aGVpZ2h0OiAxNTBycHg7XHJcbn1cclxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///48\n");
- /***/ }),
- /* 49 */
- /*!***************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/pages/api/api.js ***!
- \***************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- eval("var ApiUrl = 'https://api.awayqtw.com';\n//const ApiUrl = 'http://192.168.111.141:8080'\nvar getdata = function getdata(api, data, successc, failc) {\n if (api == 'SetTxorder') {\n uni.request({\n url: ApiUrl + '/system/txorder/SetTxorder',\n method: \"POST\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json'\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n if (api == 'getFjorder') {\n uni.request({\n url: ApiUrl + '/system/txorder/getFjorder',\n method: \"GET\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json'\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n if (api == 'getUsTxorder') {\n uni.request({\n url: ApiUrl + '/system/txorder/getUsTxorder',\n method: \"GET\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json',\n 'token': getApp().globalData.token\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n if (api == 'getTxorder') {\n uni.request({\n url: ApiUrl + '/system/txorder/getTxorder',\n method: \"GET\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json'\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n //消息推送————通知用户\n if (api == 'pushMsgYH') {\n uni.request({\n url: 'https://fc-mp-20ccbe79-10f8-41d7-a06c-c42581f351c1.next.bspapp.com/push',\n method: \"GET\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json'\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n //消息推送————通知商家\n if (api == 'pushMsgSJ') {\n uni.request({\n url: 'https://fc-mp-20ccbe79-10f8-41d7-a06c-c42581f351c1.next.bspapp.com/sjpush',\n method: \"GET\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json'\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n //上传消息推送内容\n if (api == 'userCall') {\n uni.request({\n url: ApiUrl + '/system/call/userCall',\n method: \"POST\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json',\n 'token': getApp().globalData.token\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n //获取IM协议信息\n if (api == 'getCall') {\n uni.request({\n url: ApiUrl + '/system/call/getCall',\n method: \"GET\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json',\n 'token': getApp().globalData.token\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n //挂断IM通话\n if (api == 'ringoff') {\n uni.request({\n url: ApiUrl + '/system/call/ringoff',\n method: \"GET\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json',\n 'token': getApp().globalData.token\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n //获取用户id签名(TRTC)\n if (api == 'getUserSig') {\n uni.request({\n url: ApiUrl + '/infouser/user/getUserSig',\n method: \"GET\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json'\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n //获取售后客服列表\n if (api == 'kefuMsgList') {\n uni.request({\n url: ApiUrl + '/system/appeal/apiList',\n method: \"GET\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json'\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n //提交售后客服信息\n if (api == 'updatakefuMsg') {\n uni.request({\n url: ApiUrl + '/system/appeal/apiAdd',\n method: \"POST\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json'\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n //售后快捷信息列表\n if (api == 'getfeedlist') {\n uni.request({\n url: ApiUrl + '/system/posfeedback/getfeedlist',\n method: \"GET\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json'\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n //账单明细 日\n if (api == 'getzddaylist') {\n uni.request({\n url: ApiUrl + '/Billing/billing/getzddaylist',\n method: \"GET\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json',\n 'token': getApp().globalData.token\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n //账单明细 周\n if (api == 'getzdmeeklist') {\n uni.request({\n url: ApiUrl + '/Billing/billing/getzdmeeklist',\n method: \"GET\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json',\n 'token': getApp().globalData.token\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n //账单明细 月\n if (api == 'getzdmatlist') {\n uni.request({\n url: ApiUrl + '/Billing/billing/getzdmatlist',\n method: \"GET\",\n sslVerify: false,\n data: data,\n header: {\n 'Content-Type': 'application/json',\n 'token': getApp().globalData.token\n },\n success: function success(res) {\n successc(res);\n },\n fail: function fail(err) {\n failc(err);\n }\n });\n }\n};\nmodule.exports = getdata;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYXBpL2FwaS5qcyJdLCJuYW1lcyI6WyJBcGlVcmwiLCJnZXRkYXRhIiwiYXBpIiwiZGF0YSIsInN1Y2Nlc3NjIiwiZmFpbGMiLCJ1bmkiLCJyZXF1ZXN0IiwidXJsIiwibWV0aG9kIiwic3NsVmVyaWZ5IiwiaGVhZGVyIiwic3VjY2VzcyIsInJlcyIsImZhaWwiLCJlcnIiLCJnZXRBcHAiLCJnbG9iYWxEYXRhIiwidG9rZW4iLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFNQSxNQUFNLEdBQUcseUJBQXlCO0FBQ3hDO0FBQ0EsSUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQU8sQ0FBWUMsR0FBRyxFQUFDQyxJQUFJLEVBQUNDLFFBQVEsRUFBQ0MsS0FBSyxFQUFDO0VBQ2hELElBQUdILEdBQUcsSUFBRSxZQUFZLEVBQUM7SUFDcEJJLEdBQUcsQ0FBQ0MsT0FBTyxDQUFDO01BQ1JDLEdBQUcsRUFBRVIsTUFBTSxHQUFDLDRCQUE0QjtNQUMzQ1MsTUFBTSxFQUFDLE1BQU07TUFDYkMsU0FBUyxFQUFDLEtBQUs7TUFDZlAsSUFBSSxFQUFDQSxJQUFJO01BQ05RLE1BQU0sRUFBRTtRQUNOLGNBQWMsRUFBRTtNQUNqQixDQUFDO01BQ0ZDLE9BQU8sRUFBRSxpQkFBQUMsR0FBRyxFQUFHO1FBQ2RULFFBQVEsQ0FBQ1MsR0FBRyxDQUFDO01BQ2QsQ0FBQztNQUNEQyxJQUFJLEVBQUUsY0FBVUMsR0FBRyxFQUFFO1FBQ3BCVixLQUFLLENBQUNVLEdBQUcsQ0FBQztNQUNYO0lBQ0osQ0FBQyxDQUFDO0VBQ0g7RUFDQSxJQUFHYixHQUFHLElBQUUsWUFBWSxFQUFDO0lBQ3BCSSxHQUFHLENBQUNDLE9BQU8sQ0FBQztNQUNSQyxHQUFHLEVBQUVSLE1BQU0sR0FBQyw0QkFBNEI7TUFDM0NTLE1BQU0sRUFBQyxLQUFLO01BQ1pDLFNBQVMsRUFBQyxLQUFLO01BQ2ZQLElBQUksRUFBQ0EsSUFBSTtNQUNOUSxNQUFNLEVB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T0FBTyxFQUFFLGlCQUFBQyxHQUFHLEVBQUc7UUFDZFQsUUFBUSxDQUFDUyxHQUFHLENBQUM7TUFDZCxDQUFDO01BQ0RDLElBQUksRUFBRSxjQUFVQyxHQUFHLEVBQUU7UUFDcEJWLEtBQUssQ0FBQ1UsR0FBRyxDQUFDO01BQ1g7SUFDSixDQUFDLENBQUM7RUFDSDtBQUNELENBQUM7QUFDREksTUFBTSxDQUFDQyxPQUFPLEdBQUduQixPQUFPIiwiZmlsZSI6IjQ5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQXBpVXJsID0gJ2h0dHBzOi8vYXBpLmF3YXlxdHcuY29tJ1xyXG4vL2NvbnN0IEFwaVVybCA9ICdodHRwOi8vMTkyLjE2OC4xMTEuMTQxOjgwODAnXHJcbmNvbnN0IGdldGRhdGEgPSBmdW5jdGlvbihhcGksZGF0YSxzdWNjZXNzYyxmYWlsYyl7XHJcblx0aWYoYXBpPT0nU2V0VHhvcmRlcicpe1xyXG5cdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0ICAgIHVybDogQXBpVXJsKycvc3lzdGVtL3R4b3JkZXIvU2V0VHhvcmRlcicsXHJcblx0XHRcdG1ldGhvZDpcIlBPU1RcIixcclxuXHRcdFx0c3NsVmVyaWZ5OmZhbHNlLFxyXG5cdFx0XHRkYXRhOmRhdGEsXHJcblx0XHQgICAgaGVhZGVyOiB7XHJcblx0XHQgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG5cdFx0ICAgICB9LFxyXG5cdFx0ICAgIHN1Y2Nlc3M6IHJlcz0+IHtcclxuXHRcdCAgICBcdHN1Y2Nlc3NjKHJlcyk7XHJcblx0XHQgICAgfSxcclxuXHRcdCAgICBmYWlsOiBmdW5jdGlvbiAoZXJyKSB7XHJcblx0XHQgICAgXHRmYWlsYyhlcnIpO1xyXG5cdFx0ICAgIH0sXHJcblx0XHR9KVxyXG5cdH1cclxuXHRpZihhcGk9PSdnZXRGam9yZGVyJyl7XHJcblx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHQgICAgdXJsOiBBcGlVcmwrJy9zeXN0ZW0vdHhvcmRlci9nZXRGam9yZGVyJyxcclxuXHRcdFx0bWV0aG9kOlwiR0VUXCIsXHJcblx0XHRcdHNzbFZlcmlmeTpmYWxzZSxcclxuXHRcdFx0ZGF0YTpkYXRhLFxyXG5cdFx0ICAgIGhlYWRlcjoge1xyXG5cdFx0ICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuXHRcdCAgICAgfSxcclxuXHRcdCAgICBzdWNjZXNzOiByZXM9PiB7XHJcblx0XHQgICAgXHRzdWNjZXNzYyhyZXMpO1xyXG5cdFx0ICAgIH0sXHJcblx0XHQgICAgZmFpbDogZnVuY3Rpb24gKGVycikge1xyXG5cdFx0ICAgIFx0ZmFpbGMoZXJyKTtcclxuXHRcdCAgICB9LFxyXG5cdFx0fSlcclxuXHR9XHJcblx0aWYoYXBpPT0nZ2V0VXNUeG9yZGVyJyl7XHJcblx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHQgICAgdXJsOiBBcGlVcmwrJy9zeXN0ZW0vdHhvcmRlci9nZXRVc1R4b3JkZXInLFxyXG5cdFx0XHRtZXRob2Q6XCJHRVRcIixcclxuXHRcdFx0c3NsVmVyaWZ5OmZhbHNlLFxyXG5cdFx0XHRkYXRhOmRhdGEsXHJcblx0XHQgICAgaGVhZGVyOiB7XHJcblx0XHQgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG5cdFx0XHQgICd0b2tlbic6Z2V0QXBwKCkuZ2xvYmFsRGF0YS50b2tlblxyXG5cdFx0ICAgICB9LFxyXG5cdFx0ICAgIHN1Y2Nlc3M6IHJlcz0+IHtcclxuXHRcdCAgICBcdHN1Y2Nlc3NjKHJlcyk7XHJcblx0XHQgICAgfSxcclxuXHRcdCAgICBmYWlsOiBmdW5jdGlvbiAoZXJyKSB7XHJcblx0XHQgICAgXHRmYWlsYyhlcnIpO1xyXG5cdFx0ICAgIH0sXHJcblx0XHR9KVxyXG5cdH1cclxuXHRpZihhcGk9PSdnZXRUeG9yZGVyJyl7XHJcblx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHQgICAgdXJsOiBBcGlVcmwrJy9zeXN0ZW0vdHhvcmRlci9nZXRUeG9yZGVyJyxcclxuXHRcdFx0bWV0aG9kOlwiR0VUXCIsXHJcblx0XHRcdHNzbFZlcmlmeTpmYWxzZSxcclxuXHRcdFx0ZGF0YTpkYXRhLFxyXG5cdFx0ICAgIGhlYWRlcjoge1xyXG5cdFx0ICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuXHRcdCAgICB9LFxyXG5cdFx0ICAgIHN1Y2Nlc3M6IHJlcz0+IHtcclxuXHRcdCAgICBcdHN1Y2Nlc3NjKHJlcyk7XHJcblx0XHQgICAgfSxcclxuXHRcdCAgICBmYWlsOiBmdW5jdGlvbiAoZXJyKSB7XHJcblx0XHQgICAgXHRmYWlsYyhlcnIpO1xyXG5cdFx0ICAgIH0sXHJcblx0XHR9KVxyXG5cdH1cclxuXHQvL+a2iOaBr+aOqOmAgeKAlOKAlOKAlOKAlOmAmuefpeeUqOaIt1xyXG5cdGlmKGFwaT09J3B1c2hNc2dZSCcpe1xyXG5cdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0ICAgIHVybDonaHR0cHM6Ly9mYy1tcC0yMGNjYmU3OS0xMGY4LTQxZDctYTA2Yy1jNDI1ODFmMzUxYzEubmV4dC5ic3BhcHAuY29tL3B1c2gnLFxyXG5cdFx0XHRtZXRob2Q6XCJHRVRcIixcclxuXHRcdFx0c3NsVmVyaWZ5OmZhbHNlLFxyXG5cdFx0XHRkYXRhOmRhdGEsXHJcblx0XHQgICAgaGVhZGVyOiB7XHJcblx0XHQgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG5cdFx0ICAgIH0sXHJcblx0XHQgICAgc3VjY2VzczogcmVzPT4ge1xyXG5cdFx0ICAgIFx0c3VjY2Vzc2MocmVzKTtcclxuXHRcdCAgICB9LFxyXG5cdFx0ICAgIGZhaWw6IGZ1bmN0aW9uIChlcnIpIHtcclxuXHRcdCAgICBcdGZhaWxjKGVycik7XHJcblx0XHQgICAgfSxcclxuXHRcdH0pXHJcblx0fVxyXG5cdC8v5raI5oGv5o6o6YCB4oCU4oCU4oCU4oCU6YCa55+l5ZWG5a62XHJcblx0aWYoYXBpPT0ncHVzaE1zZ1NKJyl7XHJcblx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHQgICAgdXJsOidodHRwczovL2ZjLW1wLTIwY2NiZTc5LTEwZjgtNDFkNy1hMDZjLWM0MjU4MWYzNTFjMS5uZXh0LmJzcGFwcC5jb20vc2pwdXNoJyxcclxuXHRcdFx0bWV0aG9kOlwiR0VUXCIsXHJcblx0XHRcdHNzbFZlcmlmeTpmYWxzZSxcclxuXHRcdFx0ZGF0YTpkYXRhLFxyXG5cdFx0ICAgIGhlYWRlcjoge1xyXG5cdFx0ICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuXHRcdCAgICB9LFxyXG5cdFx0ICAgIHN1Y2Nlc3M6IHJlcz0+IHtcclxuXHRcdCAgICBcdHN1Y2Nlc3NjKHJlcyk7XHJcblx0XHQgICAgfSxcclxuXHRcdCAgICBmYWlsOiBmdW5jdGlvbiAoZXJyKSB7XHJcblx0XHQgICAgXHRmYWlsYyhlcnIpO1xyXG5cdFx0ICAgIH0sXHJcblx0XHR9KVxyXG5cdH1cclxuXHQvL+S4iuS8oOa2iOaBr+aOqOmAgeWGheWuuVxyXG5cdGlmKGFwaT09J3VzZXJDYWxsJyl7XHJcblx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHQgICAgdXJsOkFwaVVybCsnL3N5c3RlbS9jYWxsL3VzZXJDYWxsJyxcclxuXHRcdFx0bWV0aG9kOlwiUE9TVFwiLFxyXG5cdFx0XHRzc2xWZXJpZnk6ZmFsc2UsXHJcblx0XHRcdGRhdGE6ZGF0YSxcclxuXHRcdCAgICBoZWFkZXI6IHtcclxuXHRcdCAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcblx0XHRcdCAgJ3Rva2VuJzpnZXRBcHAoKS5nbG9iYWxEYXRhLnRva2VuXHJcblx0XHQgICAgfSxcclxuXHRcdCAgICBzdWNjZXNzOiByZXM9PiB7XHJcblx0XHQgICAgXHRzdWNjZXNzYyhyZXMpO1xyXG5cdFx0ICAgIH0sXHJcblx0XHQgICAgZmFpbDogZnVuY3Rpb24gKGVycikge1xyXG5cdFx0ICAgIFx0ZmFpbGMoZXJyKTtcclxuXHRcdCAgICB9LFxyXG5cdFx0fSlcclxuXHR9XHJcblx0Ly/ojrflj5ZJTeWNj+iuruS/oeaBr1xyXG5cdGlmKGFwaT09J2dldENhbGwnKXtcclxuXHRcdHVuaS5yZXF1ZXN0KHtcclxuXHRcdCAgICB1cmw6QXBpVXJsKycvc3lzdGVtL2NhbGwvZ2V0Q2FsbCcsXHJcblx0XHRcdG1ldGhvZDpcIkdFVFwiLFxyXG5cdFx0XHRzc2xWZXJpZnk6ZmFsc2UsXHJcblx0XHRcdGRhdGE6ZGF0YSxcclxuXHRcdCAgICBoZWFkZXI6IHtcclxuXHRcdCAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcblx0XHRcdCAgJ3Rva2VuJzpnZXRBcHAoKS5nbG9iYWxEYXRhLnRva2VuXHJcblx0XHQgICAgfSxcclxuXHRcdCAgICBzdWNjZXNzOiByZXM9PiB7XHJcblx0XHQgICAgXHRzdWNjZXNzYyhyZXMpO1xyXG5cdFx0ICAgIH0sXHJcblx0XHQgICAgZmFpbDogZnVuY3Rpb24gKGVycikge1xyXG5cdFx0ICAgIFx0ZmFpbGMoZXJyKTtcclxuXHRcdCAgICB9LFxyXG5cdFx0fSlcclxuXHR9XHJcblx0Ly/mjILmlq1JTemAmuivnVxyXG5cdGlmKGFwaT09J3JpbmdvZmYnKXtcclxuXHRcdHVuaS5yZXF1ZXN0KHtcclxuXHRcdCAgICB1cmw6QXBpVXJsKycvc3lzdGVtL2NhbGwvcmluZ29mZicsXHJcblx0XHRcdG1ldGhvZDpcIkdFVFwiLFxyXG5cdFx0XHRzc2xWZXJpZnk6ZmFsc2UsXHJcblx0XHRcdGRhdGE6ZGF0YSxcclxuXHRcdCAgICBoZWFkZXI6IHtcclxuXHRcdCAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcblx0XHRcdCAgJ3Rva2VuJzpnZXRBcHAoKS5nbG9iYWxEYXRhLnRva2VuXHJcblx0XHQgICAgfSxcclxuXHRcdCAgICBzdWNjZXNzOiByZXM9PiB7XHJcblx0XHQgICAgXHRzdWNjZXNzYyhyZXMpO1xyXG5cdFx0ICAgIH0sXHJcblx0XHQgICAgZmFpbDogZnVuY3Rpb24gKGVycikge1xyXG5cdFx0ICAgIFx0ZmFpbGMoZXJyKTtcclxuXHRcdCAgICB9LFxyXG5cdFx0fSlcclxuXHR9XHJcblx0Ly/ojrflj5bnlKjmiLdpZOetvuWQje+8iFRSVEPvvIlcclxuXHRpZihhcGk9PSdnZXRVc2VyU2lnJyl7XHJcblx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHQgICAgdXJsOkFwaVVybCsnL2luZm91c2VyL3VzZXIvZ2V0VXNlclNpZycsXHJcblx0XHRcdG1ldGhvZDpcIkdFVFwiLFxyXG5cdFx0XHRzc2xWZXJpZnk6ZmFsc2UsXHJcblx0XHRcdGRhdGE6ZGF0YSxcclxuXHRcdCAgICBoZWFkZXI6IHtcclxuXHRcdCAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcblx0XHQgICAgfSxcclxuXHRcdCAgICBzdWNjZXNzOiByZXM9PiB7XHJcblx0XHQgICAgXHRzdWNjZXNzYyhyZXMpO1xyXG5cdFx0ICAgIH0sXHJcblx0XHQgICAgZmFpbDogZnVuY3Rpb24gKGVycikge1xyXG5cdFx0ICAgIFx0ZmFpbGMoZXJyKTtcclxuXHRcdCAgICB9LFxyXG5cdFx0fSlcclxuXHR9XHJcblx0Ly/ojrflj5bllK7lkI7lrqLmnI3liJfooahcclxuXHRpZihhcGk9PSdrZWZ1TXNnTGlzdCcpe1xyXG5cdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0ICAgIHVybDpBcGlVcmwrJy9zeXN0ZW0vYXBwZWFsL2FwaUxpc3QnLFxyXG5cdFx0XHRtZXRob2Q6XCJHRVRcIixcclxuXHRcdFx0c3NsVmVyaWZ5OmZhbHNlLFxyXG5cdFx0XHRkYXRhOmRhdGEsXHJcblx0XHQgICAgaGVhZGVyOiB7XHJcblx0XHQgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG5cdFx0ICAgIH0sXHJcblx0XHQgICAgc3VjY2VzczogcmVzPT4ge1xyXG5cdFx0ICAgIFx0c3VjY2Vzc2MocmVzKTtcclxuXHRcdCAgICB9LFxyXG5cdFx0ICAgIGZhaWw6IGZ1bmN0aW9uIChlcnIpIHtcclxuXHRcdCAgICBcdGZhaWxjKGVycik7XHJcblx0XHQgICAgfSxcclxuXHRcdH0pXHJcblx0fVxyXG5cdC8v5o+Q5Lqk5ZSu5ZCO5a6i5pyN5L+h5oGvXHJcblx0aWYoYXBpPT0ndXBkYXRha2VmdU1zZycpe1xyXG5cdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0ICAgIHVybDpBcGlVcmwrJy9zeXN0ZW0vYXBwZWFsL2FwaUFkZCcsXHJcblx0XHRcdG1ldGhvZDpcIlBPU1RcIixcclxuXHRcdFx0c3NsVmVyaWZ5OmZhbHNlLFxyXG5cdFx0XHRkYXRhOmRhdGEsXHJcblx0XHQgICAgaGVhZGVyOiB7XHJcblx0XHQgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG5cdFx0ICAgIH0sXHJcblx0XHQgICAgc3VjY2VzczogcmVzPT4ge1xyXG5cdFx0ICAgIFx0c3VjY2Vzc2MocmVzKTtcclxuXHRcdCAgICB9LFxyXG5cdFx0ICAgIGZhaWw6IGZ1bmN0aW9uIChlcnIpIHtcclxuXHRcdCAgICBcdGZhaWxjKGVycik7XHJcblx0XHQgICAgfSxcclxuXHRcdH0pXHJcblx0fVxyXG5cdC8v5ZSu5ZCO5b+r5o235L+h5oGv5YiX6KGoXHJcblx0aWYoYXBpPT0nZ2V0ZmVlZGxpc3QnKXtcclxuXHRcdHVuaS5yZXF1ZXN0KHtcclxuXHRcdCAgICB1cmw6QXBpVXJsKycvc3lzdGVtL3Bvc2ZlZWRiYWNrL2dldGZlZWRsaXN0JyxcclxuXHRcdFx0bWV0aG9kOlwiR0VUXCIsXHJcblx0XHRcdHNzbFZlcmlmeTpmYWxzZSxcclxuXHRcdFx0ZGF0YTpkYXRhLFxyXG5cdFx0ICAgIGhlYWRlcjoge1xyXG5cdFx0ICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuXHRcdCAgICB9LFxyXG5cdFx0ICAgIHN1Y2Nlc3M6IHJlcz0+IHtcclxuXHRcdCAgICBcdHN1Y2Nlc3NjKHJlcyk7XHJcblx0XHQgICAgfSxcclxuXHRcdCAgICBmYWlsOiBmdW5jdGlvbiAoZXJyKSB7XHJcblx0XHQgICAgXHRmYWlsYyhlcnIpO1xyXG5cdFx0ICAgIH0sXHJcblx0XHR9KVxyXG5cdH1cclxuXHQvL+i0puWNleaYjue7hiDml6VcclxuXHRpZihhcGk9PSdnZXR6ZGRheWxpc3QnKXtcclxuXHRcdHVuaS5yZXF1ZXN0KHtcclxuXHRcdCAgICB1cmw6QXBpVXJsKycvQmlsbGluZy9iaWxsaW5nL2dldHpkZGF5bGlzdCcsXHJcblx0XHRcdG1ldGhvZDpcIkdFVFwiLFxyXG5cdFx0XHRzc2xWZXJpZnk6ZmFsc2UsXHJcblx0XHRcdGRhdGE6ZGF0YSxcclxuXHRcdCAgICBoZWFkZXI6IHtcclxuXHRcdCAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcblx0XHRcdCAgJ3Rva2VuJzpnZXRBcHAoKS5nbG9iYWxEYXRhLnRva2VuXHJcblx0XHQgICAgfSxcclxuXHRcdCAgICBzdWNjZXNzOiByZXM9PiB7XHJcblx0XHQgICAgXHRzdWNjZXNzYyhyZXMpO1xyXG5cdFx0ICAgIH0sXHJcblx0XHQgICAgZmFpbDogZnVuY3Rpb24gKGVycikge1xyXG5cdFx0ICAgIFx0ZmFpbGMoZXJyKTtcclxuXHRcdCAgICB9LFxyXG5cdFx0fSlcclxuXHR9XHJcblx0Ly/otKbljZXmmI7nu4Yg5ZGoXHJcblx0aWYoYXBpPT0nZ2V0emRtZWVrbGlzdCcpe1xyXG5cdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0ICAgIHVybDpBcGlVcmwrJy9CaWxsaW5nL2JpbGxpbmcvZ2V0emRtZWVrbGlzdCcsXHJcblx0XHRcdG1ldGhvZDpcIkdFVFwiLFxyXG5cdFx0XHRzc2xWZXJpZnk6ZmFsc2UsXHJcblx0XHRcdGRhdGE6ZGF0YSxcclxuXHRcdCAgICBoZWFkZXI6IHtcclxuXHRcdCAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcblx0XHRcdCAgJ3Rva2VuJzpnZXRBcHAoKS5nbG9iYWxEYXRhLnRva2VuXHJcblx0XHQgICAgfSxcclxuXHRcdCAgICBzdWNjZXNzOiByZXM9PiB7XHJcblx0XHQgICAgXHRzdWNjZXNzYyhyZXMpO1xyXG5cdFx0ICAgIH0sXHJcblx0XHQgICAgZmFpbDogZnVuY3Rpb24gKGVycikge1xyXG5cdFx0ICAgIFx0ZmFpbGMoZXJyKTtcclxuXHRcdCAgICB9LFxyXG5cdFx0fSlcclxuXHR9XHJcblx0Ly/otKbljZXmmI7nu4Yg5pyIXHJcblx0aWYoYXBpPT0nZ2V0emRtYXRsaXN0Jyl7XHJcblx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHQgICAgdXJsOkFwaVVybCsnL0JpbGxpbmcvYmlsbGluZy9nZXR6ZG1hdGxpc3QnLFxyXG5cdFx0XHRtZXRob2Q6XCJHRVRcIixcclxuXHRcdFx0c3NsVmVyaWZ5OmZhbHNlLFxyXG5cdFx0XHRkYXRhOmRhdGEsXHJcblx0XHQgICAgaGVhZGVyOiB7XHJcblx0XHQgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG5cdFx0XHQgICd0b2tlbic6Z2V0QXBwKCkuZ2xvYmFsRGF0YS50b2tlblxyXG5cdFx0ICAgIH0sXHJcblx0XHQgICAgc3VjY2VzczogcmVzPT4ge1xyXG5cdFx0ICAgIFx0c3VjY2Vzc2MocmVzKTtcclxuXHRcdCAgICB9LFxyXG5cdFx0ICAgIGZhaWw6IGZ1bmN0aW9uIChlcnIpIHtcclxuXHRcdCAgICBcdGZhaWxjKGVycik7XHJcblx0XHQgICAgfSxcclxuXHRcdH0pXHJcblx0fVxyXG59XHJcbm1vZHVsZS5leHBvcnRzID0gZ2V0ZGF0YTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///49\n");
- /***/ }),
- /* 50 */
- /*!**********************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/TrtcCloud/permission.js ***!
- \**********************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n/**\n * 本模块封装了Android、iOS的应用权限判断、打开应用权限设置界面、以及位置系统服务是否开启\n */\nvar isIos;\nisIos = plus.os.name == \"iOS\";\n\n// 判断推送权限是否开启\nfunction judgeIosPermissionPush() {\n var result = false;\n var UIApplication = plus.ios.import(\"UIApplication\");\n var app = UIApplication.sharedApplication();\n var enabledTypes = 0;\n if (app.currentUserNotificationSettings) {\n var settings = app.currentUserNotificationSettings();\n enabledTypes = settings.plusGetAttribute(\"types\");\n __f__(\"log\", \"enabledTypes1:\" + enabledTypes, \" at TrtcCloud/permission.js:18\");\n if (enabledTypes == 0) {\n __f__(\"log\", \"推送权限没有开启\", \" at TrtcCloud/permission.js:20\");\n } else {\n result = true;\n __f__(\"log\", \"已经开启推送功能!\", \" at TrtcCloud/permission.js:23\");\n }\n plus.ios.deleteObject(settings);\n } else {\n enabledTypes = app.enabledRemoteNotificationTypes();\n if (enabledTypes == 0) {\n __f__(\"log\", \"推送权限没有开启!\", \" at TrtcCloud/permission.js:29\");\n } else {\n result = true;\n __f__(\"log\", \"已经开启推送功能!\", \" at TrtcCloud/permission.js:32\");\n }\n __f__(\"log\", \"enabledTypes2:\" + enabledTypes, \" at TrtcCloud/permission.js:34\");\n }\n plus.ios.deleteObject(app);\n plus.ios.deleteObject(UIApplication);\n return result;\n}\n\n// 判断定位权限是否开启\nfunction judgeIosPermissionLocation() {\n var result = false;\n var cllocationManger = plus.ios.import(\"CLLocationManager\");\n var status = cllocationManger.authorizationStatus();\n result = status != 2;\n __f__(\"log\", \"定位权限开启:\" + result, \" at TrtcCloud/permission.js:47\");\n // 以下代码判断了手机设备的定位是否关闭,推荐另行使用方法 checkSystemEnableLocation\n /* var enable = cllocationManger.locationServicesEnabled();\n var status = cllocationManger.authorizationStatus();\n console.log(\"enable:\" + enable);\n console.log(\"status:\" + status);\n if (enable && status != 2) {\n result = true;\n console.log(\"手机定位服务已开启且已授予定位权限\");\n } else {\n console.log(\"手机系统的定位没有打开或未给予定位权限\");\n } */\n plus.ios.deleteObject(cllocationManger);\n return result;\n}\n// 判断麦克风权限是否开启\nfunction judgeIosPermissionRecord() {\n var result = false;\n var avaudiosession = plus.ios.import(\"AVAudioSession\");\n var avaudio = avaudiosession.sharedInstance();\n var permissionStatus = avaudio.recordPermission();\n __f__(\"log\", \"permissionStatus:\" + permissionStatus, \" at TrtcCloud/permission.js:68\");\n if (permissionStatus == 1684369017 || permissionStatus == 1970168948) {\n __f__(\"log\", \"麦克风权限没有开启\", \" at TrtcCloud/permission.js:70\");\n } else {\n result = true;\n __f__(\"log\", \"麦克风权限已经开启\", \" at TrtcCloud/permission.js:73\");\n }\n plus.ios.deleteObject(avaudiosession);\n return result;\n}\n\n// 判断相机权限是否开启\nfunction judgeIosPermissionCamera() {\n var result = false;\n var AVCaptureDevice = plus.ios.import(\"AVCaptureDevice\");\n var authStatus = AVCaptureDevice.authorizationStatusForMediaType('vide');\n __f__(\"log\", \"authStatus:\" + authStatus, \" at TrtcCloud/permission.js:84\");\n if (authStatus == 3) {\n result = true;\n __f__(\"log\", \"相机权限已经开启\", \" at TrtcCloud/permission.js:87\");\n } else {\n __f__(\"log\", \"相机权限没有开启\", \" at TrtcCloud/permission.js:89\");\n }\n plus.ios.deleteObject(AVCaptureDevice);\n return result;\n}\n\n// 判断相册权限是否开启\nfunction judgeIosPermissionPhotoLibrary() {\n var result = false;\n var PHPhotoLibrary = plus.ios.import(\"PHPhotoLibrary\");\n var authStatus = PHPhotoLibrary.authorizationStatus();\n __f__(\"log\", \"authStatus:\" + authStatus, \" at TrtcCloud/permission.js:100\");\n if (authStatus == 3) {\n result = true;\n __f__(\"log\", \"相册权限已经开启\", \" at TrtcCloud/permission.js:103\");\n } else {\n __f__(\"log\", \"相册权限没有开启\", \" at TrtcCloud/permission.js:105\");\n }\n plus.ios.deleteObject(PHPhotoLibrary);\n return result;\n}\n\n// 判断通讯录权限是否开启\nfunction judgeIosPermissionContact() {\n var result = false;\n var CNContactStore = plus.ios.import(\"CNContactStore\");\n var cnAuthStatus = CNContactStore.authorizationStatusForEntityType(0);\n if (cnAuthStatus == 3) {\n result = true;\n __f__(\"log\", \"通讯录权限已经开启\", \" at TrtcCloud/permission.js:118\");\n } else {\n __f__(\"log\", \"通讯录权限没有开启\", \" at TrtcCloud/permission.js:120\");\n }\n plus.ios.deleteObject(CNContactStore);\n return result;\n}\n\n// 判断日历权限是否开启\nfunction judgeIosPermissionCalendar() {\n var result = false;\n var EKEventStore = plus.ios.import(\"EKEventStore\");\n var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(0);\n if (ekAuthStatus == 3) {\n result = true;\n __f__(\"log\", \"日历权限已经开启\", \" at TrtcCloud/permission.js:133\");\n } else {\n __f__(\"log\", \"日历权限没有开启\", \" at TrtcCloud/permission.js:135\");\n }\n plus.ios.deleteObject(EKEventStore);\n return result;\n}\n\n// 判断备忘录权限是否开启\nfunction judgeIosPermissionMemo() {\n var result = false;\n var EKEventStore = plus.ios.import(\"EKEventStore\");\n var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(1);\n if (ekAuthStatus == 3) {\n result = true;\n __f__(\"log\", \"备忘录权限已经开启\", \" at TrtcCloud/permission.js:148\");\n } else {\n __f__(\"log\", \"备忘录权限没有开启\", \" at TrtcCloud/permission.js:150\");\n }\n plus.ios.deleteObject(EKEventStore);\n return result;\n}\n\n// Android权限查询\nfunction requestAndroidPermission(permissionID) {\n return new Promise(function (resolve, reject) {\n plus.android.requestPermissions([permissionID],\n // 理论上支持多个权限同时查询,但实际上本函数封装只处理了一个权限的情况。有需要的可自行扩展封装\n function (resultObj) {\n var result = 0;\n for (var i = 0; i < resultObj.granted.length; i++) {\n var grantedPermission = resultObj.granted[i];\n __f__(\"log\", '已获取的权限:' + grantedPermission, \" at TrtcCloud/permission.js:165\");\n result = 1;\n }\n for (var i = 0; i < resultObj.deniedPresent.length; i++) {\n var deniedPresentPermission = resultObj.deniedPresent[i];\n __f__(\"log\", '拒绝本次申请的权限:' + deniedPresentPermission, \" at TrtcCloud/permission.js:170\");\n result = 0;\n }\n for (var i = 0; i < resultObj.deniedAlways.length; i++) {\n var deniedAlwaysPermission = resultObj.deniedAlways[i];\n __f__(\"log\", '永久拒绝申请的权限:' + deniedAlwaysPermission, \" at TrtcCloud/permission.js:175\");\n result = -1;\n }\n resolve(result);\n // 若所需权限被拒绝,则打开APP设置界面,可以在APP设置界面打开相应权限\n // if (result != 1) {\n // gotoAppPermissionSetting()\n // }\n }, function (error) {\n __f__(\"log\", '申请权限错误:' + error.code + \" = \" + error.message, \" at TrtcCloud/permission.js:185\");\n resolve({\n code: error.code,\n message: error.message\n });\n });\n });\n}\n\n// 使用一个方法,根据参数判断权限\nfunction judgeIosPermission(permissionID) {\n if (permissionID == \"location\") {\n return judgeIosPermissionLocation();\n } else if (permissionID == \"camera\") {\n return judgeIosPermissionCamera();\n } else if (permissionID == \"photoLibrary\") {\n return judgeIosPermissionPhotoLibrary();\n } else if (permissionID == \"record\") {\n return judgeIosPermissionRecord();\n } else if (permissionID == \"push\") {\n return judgeIosPermissionPush();\n } else if (permissionID == \"contact\") {\n return judgeIosPermissionContact();\n } else if (permissionID == \"calendar\") {\n return judgeIosPermissionCalendar();\n } else if (permissionID == \"memo\") {\n return judgeIosPermissionMemo();\n }\n return false;\n}\n\n// 跳转到**应用**的权限页面\nfunction gotoAppPermissionSetting() {\n if (isIos) {\n var UIApplication = plus.ios.import(\"UIApplication\");\n var application2 = UIApplication.sharedApplication();\n var NSURL2 = plus.ios.import(\"NSURL\");\n // var setting2 = NSURL2.URLWithString(\"prefs:root=LOCATION_SERVICES\");\t\t\n var setting2 = NSURL2.URLWithString(\"app-settings:\");\n application2.openURL(setting2);\n plus.ios.deleteObject(setting2);\n plus.ios.deleteObject(NSURL2);\n plus.ios.deleteObject(application2);\n } else {\n // console.log(plus.device.vendor);\n var Intent = plus.android.importClass(\"android.content.Intent\");\n var Settings = plus.android.importClass(\"android.provider.Settings\");\n var Uri = plus.android.importClass(\"android.net.Uri\");\n var mainActivity = plus.android.runtimeMainActivity();\n var intent = new Intent();\n intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);\n var uri = Uri.fromParts(\"package\", mainActivity.getPackageName(), null);\n intent.setData(uri);\n mainActivity.startActivity(intent);\n }\n}\n\n// 检查系统的设备服务是否开启\n// var checkSystemEnableLocation = async function () {\nfunction checkSystemEnableLocation() {\n if (isIos) {\n var result = false;\n var cllocationManger = plus.ios.import(\"CLLocationManager\");\n var result = cllocationManger.locationServicesEnabled();\n __f__(\"log\", \"系统定位开启:\" + result, \" at TrtcCloud/permission.js:251\");\n plus.ios.deleteObject(cllocationManger);\n return result;\n } else {\n var context = plus.android.importClass(\"android.content.Context\");\n var locationManager = plus.android.importClass(\"android.location.LocationManager\");\n var main = plus.android.runtimeMainActivity();\n var mainSvr = main.getSystemService(context.LOCATION_SERVICE);\n var result = mainSvr.isProviderEnabled(locationManager.GPS_PROVIDER);\n __f__(\"log\", \"系统定位开启:\" + result, \" at TrtcCloud/permission.js:260\");\n return result;\n }\n}\n\n// module.exports = {\n// judgeIosPermission: judgeIosPermission,\n// requestAndroidPermission: requestAndroidPermission,\n// checkSystemEnableLocation: checkSystemEnableLocation,\n// gotoAppPermissionSetting: gotoAppPermissionSetting\n// }\n\n// HBuilder 选择 vue3 时, 上面的打包无法通过 import 进行引入\nvar _default = {\n judgeIosPermission: judgeIosPermission,\n requestAndroidPermission: requestAndroidPermission,\n checkSystemEnableLocation: checkSystemEnableLocation,\n gotoAppPermissionSetting: gotoAppPermissionSetting\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 11)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vVHJ0Y0Nsb3VkL3Blcm1pc3Npb24uanMiXSwibmFtZXMiOlsiaXNJb3MiLCJwbHVzIiwib3MiLCJuYW1lIiwianVkZ2VJb3NQZXJtaXNzaW9uUHVzaCIsInJlc3VsdCIsIlVJQXBwbGljYXRpb24iLCJpb3MiLCJpbXBvcnQiLCJhcHAiLCJzaGFyZWRBcHBsaWNhdGlvbiIsImVuYWJsZWRUeXBlcyIsImN1cnJlbnRVc2VyTm90aWZpY2F0aW9uU2V0dGluZ3MiLCJzZXR0aW5ncyIsInBsdXNHZXRBdHRyaWJ1dGUiLCJkZWxldGVPYmplY3QiLCJlbmFibGVkUmVtb3RlTm90aWZpY2F0aW9uVHlwZXMiLCJqdWRnZUlvc1Blcm1pc3Npb25Mb2NhdGlvbiIsImNsbG9jYXRpb25NYW5nZXIiLCJzdGF0dXMiLCJhdXRob3JpemF0aW9uU3RhdHVzIiwianVkZ2VJb3NQZXJtaXNzaW9uUmVjb3JkIiwiYXZhdWRpb3Nlc3Npb24iLCJhdmF1ZGlvIiwic2hhcmVkSW5zdGFuY2UiLCJwZXJtaXNzaW9uU3RhdHVzIiwicmVjb3JkUGVybWlzc2lvbiIsImp1ZGdlSW9zUGVybWlzc2lvbkNhbWVyYSIsIkFWQ2FwdHVyZURldmljZSIsImF1dGhTdGF0dXMiLCJhdXRob3JpemF0aW9uU3RhdHVzRm9yTWVkaWFUeXBlIiwianVkZ2VJb3NQZXJtaXNzaW9uUGhvdG9MaWJyYXJ5IiwiUEhQaG90b0xpYnJhcnkiLCJqdWRnZUlvc1Blcm1pc3Npb25Db250YWN0IiwiQ05Db250YWN0U3RvcmUiLCJjbkF1dGhTdGF0dXMiLCJhdXRob3JpemF0aW9uU3RhdHVzRm9yRW50aXR5VHlwZSIsImp1ZGdlSW9zUGVybWlzc2lvbkNhbGVuZGFyIiwiRUtFdmVudFN0b3JlIiwiZWtBdXRoU3RhdHVzIiwianVkZ2VJb3NQZXJtaXNzaW9uTWVtbyIsInJlcXVlc3RBbmRyb2lkUGVybWlzc2lvbiIsInBlcm1pc3Npb25JRCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiYW5kcm9pZCIsInJlcXVlc3RQZXJtaXNzaW9ucyIsInJlc3VsdE9iaiIsImkiLCJncmFudGVkIiwibGVuZ3RoIiwiZ3JhbnRlZFBlcm1pc3Npb24iLCJkZW5pZWRQcmVzZW50IiwiZGVuaWVkUHJlc2VudFBlcm1pc3Npb24iLCJkZW5pZWRBbHdheXMiLCJkZW5pZWRBbHdheXNQZXJtaXNzaW9uIiwiZXJyb3IiLCJjb2RlIiwibWVzc2FnZSIsImp1ZGdlSW9zUGVybWlzc2lvbiIsImdvdG9BcHBQZXJtaXNzaW9uU2V0dGluZyIsImFwcGxpY2F0aW9uMiIsIk5TVVJMMiIsInNldHRpbmcyIiwiVVJMV2l0aFN0cmluZyIsIm9wZW5VUkwiLCJJbnRlbnQiLCJpbXBvcnRDbGFzcyIsIlNldHRpbmdzIiwiVXJpIiwibWFpbkFjdGl2aXR5IiwicnVudGltZU1haW5BY3Rpdml0eSIsImludGVudCIsInNldEFjdGlvbiIsIkFDVElPTl9BUFBMSUNBVElPTl9ERVRBSUxTX1NFVFRJTkdTIiwidXJpIiwiZnJvbVBhcnRzIiwiZ2V0UGFja2FnZU5hbWUiLCJzZXREYXRhIiwic3RhcnRBY3Rpdml0eSIsImNoZWNrU3lzdGVtRW5hYmxlTG9jYXRpb24iLCJsb2NhdGlvblNlcnZpY2VzRW5hYmxlZCIsImNvbnRleHQiLCJsb2NhdGlvbk1hbmFnZXIiLCJtYWluIiwibWFpblN2ciIsImdldFN5c3RlbVNlcnZpY2UiLCJMT0NBVElPTl9TRVJWSUNFIiwiaXNQcm92aWRlckVuYWJsZWQiLCJHUFNfUFJPVklERVIiXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNDLElBQUlBLEtBQUs7QUFFVEEsS0FBSyxHQUFJQyxJQUFJLENBQUNDLEVBQUUsQ0FBQ0MsSUFBSSxJQUFJLEtBQU07O0FBRy9CO0FBQ0EsU0FBU0Msc0JBQXNCLEdBQUc7RUFDaEMsSUFBSUMsTUFBTSxHQUFHLEtBQUs7RUFDbEIsSUFBSUMsYUFBYSxHQUFHTCxJQUFJLENBQUNNLEdBQUcsQ0FBQ0MsTUFBTSxDQUFDLGVBQWUsQ0FBQztFQUNwRCxJ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QUFJSCxNQUFNLEdBQUdhLGdCQUFnQixDQUFDZ0UsdUJBQXVCLEVBQUU7SUFDdkQsYUFBWSxTQUFTLEdBQUc3RSxNQUFNO0lBQzlCSixJQUFJLENBQUNNLEdBQUcsQ0FBQ1EsWUFBWSxDQUFDRyxnQkFBZ0IsQ0FBQztJQUN2QyxPQUFPYixNQUFNO0VBQ2YsQ0FBQyxNQUFNO0lBQ0wsSUFBSThFLE9BQU8sR0FBR2xGLElBQUksQ0FBQzZDLE9BQU8sQ0FBQ3NCLFdBQVcsQ0FBQyx5QkFBeUIsQ0FBQztJQUNqRSxJQUFJZ0IsZUFBZSxHQUFHbkYsSUFBSSxDQUFDNkMsT0FBTyxDQUFDc0IsV0FBVyxDQUFDLGtDQUFrQyxDQUFDO0lBQ2xGLElBQUlpQixJQUFJLEdBQUdwRixJQUFJLENBQUM2QyxPQUFPLENBQUMwQixtQkFBbUIsRUFBRTtJQUM3QyxJQUFJYyxPQUFPLEdBQUdELElBQUksQ0FBQ0UsZ0JBQWdCLENBQUNKLE9BQU8sQ0FBQ0ssZ0JBQWdCLENBQUM7SUFDN0QsSUFBSW5GLE1BQU0sR0FBR2lGLE9BQU8sQ0FBQ0csaUJBQWlCLENBQUNMLGVBQWUsQ0FBQ00sWUFBWSxDQUFDO0lBQ3BFLGFBQVksU0FBUyxHQUFHckYsTUFBTTtJQUM5QixPQUFPQSxNQUFNO0VBQ2Y7QUFDRjs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFBQSxlQUNlO0VBQ2J1RCxrQkFBa0IsRUFBRUEsa0JBQWtCO0VBQ3RDbkIsd0JBQXdCLEVBQUVBLHdCQUF3QjtFQUNsRHdDLHlCQUF5QixFQUFFQSx5QkFBeUI7RUFDcERwQix3QkFBd0IsRUFBRUE7QUFDNUIsQ0FBQztBQUFBLDJCIiwiZmlsZSI6IjUwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiDmnKzmqKHlnZflsIHoo4XkuoZBbmRyb2lk44CBaU9T55qE5bqU55So5p2D6ZmQ5Yik5pat44CB5omT5byA5bqU55So5p2D6ZmQ6K6+572u55WM6Z2i44CB5Lul5Y+K5L2N572u57O757uf5pyN5Yqh5piv5ZCm5byA5ZCvXG4gKi9cbiB2YXIgaXNJb3NcblxuIGlzSW9zID0gKHBsdXMub3MubmFtZSA9PSBcImlPU1wiKTtcblxuIFxuIC8vIOWIpOaWreaOqOmAgeadg+mZkOaYr+WQpuW8gOWQr1xuIGZ1bmN0aW9uIGp1ZGdlSW9zUGVybWlzc2lvblB1c2goKSB7XG4gICB2YXIgcmVzdWx0ID0gZmFsc2U7XG4gICB2YXIgVUlBcHBsaWNhdGlvbiA9IHBsdXMuaW9zLmltcG9ydChcIlVJQXBwbGljYXRpb25cIik7XG4gICB2YXIgYXBwID0gVUlBcHBsaWNhdGlvbi5zaGFyZWRBcHBsaWNhdGlvbigpO1xuICAgdmFyIGVuYWJsZWRUeXBlcyA9IDA7XG4gICBpZiAoYXBwLmN1cnJlbnRVc2VyTm90aWZpY2F0aW9uU2V0dGluZ3MpIHtcbiAgICAgdmFyIHNldHRpbmdzID0gYXBwLmN1cnJlbnRVc2VyTm90aWZpY2F0aW9uU2V0dGluZ3MoKTtcbiAgICAgZW5hYmxlZFR5cGVzID0gc2V0dGluZ3MucGx1c0dldEF0dHJpYnV0ZShcInR5cGVzXCIpO1xuICAgICBjb25zb2xlLmxvZyhcImVuYWJsZWRUeXBlczE6XCIgKyBlbmFibGVkVHlwZXMpO1xuICAgICBpZiAoZW5hYmxlZFR5cGVzID09IDApIHtcbiAgICAgICBjb25zb2xlLmxvZyhcIuaOqOmAgeadg+mZkOayoeacieW8gOWQr1wiKTtcbiAgICAgfSBlbHNlIHtcbiAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgIGNvbnNvbGUubG9nKFwi5bey57uP5byA5ZCv5o6o6YCB5Yqf6IO9IVwiKVxuICAgICB9XG4gICAgIHBsdXMuaW9zLmRlbGV0ZU9iamVjdChzZXR0aW5ncyk7XG4gICB9IGVsc2Uge1xuICAgICBlbmFibGVkVHlwZXMgPSBhcHAuZW5hYmxlZFJlbW90ZU5vdGlmaWNhdGlvblR5cGVzKCk7XG4gICAgIGlmIChlbmFibGVkVHlwZXMgPT0gMCkge1xuICAgICAgIGNvbnNvbGUubG9nKFwi5o6o6YCB5p2D6ZmQ5rKh5pyJ5byA5ZCvIVwiKTtcbiAgICAgfSBlbHNlIHtcbiAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgIGNvbnNvbGUubG9nKFwi5bey57uP5byA5ZCv5o6o6YCB5Yqf6IO9IVwiKVxuICAgICB9XG4gICAgIGNvbnNvbGUubG9nKFwiZW5hYmxlZFR5cGVzMjpcIiArIGVuYWJsZWRUeXBlcyk7XG4gICB9XG4gICBwbHVzLmlvcy5kZWxldGVPYmplY3QoYXBwKTtcbiAgIHBsdXMuaW9zLmRlbGV0ZU9iamVjdChVSUFwcGxpY2F0aW9uKTtcbiAgIHJldHVybiByZXN1bHQ7XG4gfVxuIFxuIC8vIOWIpOaWreWumuS9jeadg+mZkOaYr+WQpuW8gOWQr1xuIGZ1bmN0aW9uIGp1ZGdlSW9zUGVybWlzc2lvbkxvY2F0aW9uKCkge1xuICAgdmFyIHJlc3VsdCA9IGZhbHNlO1xuICAgdmFyIGNsbG9jYXRpb25NYW5nZXIgPSBwbHVzLmlvcy5pbXBvcnQoXCJDTExvY2F0aW9uTWFuYWdlclwiKTtcbiAgIHZhciBzdGF0dXMgPSBjbGxvY2F0aW9uTWFuZ2VyLmF1dGhvcml6YXRpb25TdGF0dXMoKTtcbiAgIHJlc3VsdCA9IChzdGF0dXMgIT0gMilcbiAgIGNvbnNvbGUubG9nKFwi5a6a5L2N5p2D6ZmQ5byA5ZCv77yaXCIgKyByZXN1bHQpO1xuICAgLy8g5Lul5LiL5Luj56CB5Yik5pat5LqG5omL5py66K6+5aSH55qE5a6a5L2N5piv5ZCm5YWz6Zet77yM5o6o6I2Q5Y+m6KGM5L2/55So5pa55rOVIGNoZWNrU3lzdGVtRW5hYmxlTG9jYXRpb25cbiAgIC8qIHZhciBlbmFibGUgPSBjbGxvY2F0aW9uTWFuZ2VyLmxvY2F0aW9uU2VydmljZXNFbmFibGVkKCk7XG4gICB2YXIgc3RhdHVzID0gY2xsb2NhdGlvbk1hbmdlci5hdXRob3JpemF0aW9uU3RhdHVzKCk7XG4gICBjb25zb2xlLmxvZyhcImVuYWJsZTpcIiArIGVuYWJsZSk7XG4gICBjb25zb2xlLmxvZyhcInN0YXR1czpcIiArIHN0YXR1cyk7XG4gICBpZiAoZW5hYmxlICYmIHN0YXR1cyAhPSAyKSB7XG4gICAgIHJlc3VsdCA9IHRydWU7XG4gICAgIGNvbnNvbGUubG9nKFwi5omL5py65a6a5L2N5pyN5Yqh5bey5byA5ZCv5LiU5bey5o6I5LqI5a6a5L2N5p2D6ZmQXCIpO1xuICAgfSBlbHNlIHtcbiAgICAgY29uc29sZS5sb2coXCLmiYvmnLrns7vnu5/nmoTlrprkvY3msqHmnInmiZPlvIDmiJbmnKrnu5nkuojlrprkvY3mnYPpmZBcIik7XG4gICB9ICovXG4gICBwbHVzLmlvcy5kZWxldGVPYmplY3QoY2xsb2NhdGlvbk1hbmdlcik7XG4gICByZXR1cm4gcmVzdWx0O1xuIH1cbiAvLyDliKTmlq3puqblhYvpo47mnYPpmZDmmK/lkKblvIDlkK9cbiBmdW5jdGlvbiBqdWRnZUlvc1Blcm1pc3Npb25SZWNvcmQoKSB7XG4gICB2YXIgcmVzdWx0ID0gZmFsc2U7XG4gICB2YXIgYXZhdWRpb3Nlc3Npb24gPSBwbHVzLmlvcy5pbXBvcnQoXCJBVkF1ZGlvU2Vzc2lvblwiKTtcbiAgIHZhciBhdmF1ZGlvID0gYXZhdWRpb3Nlc3Npb24uc2hhcmVkSW5zdGFuY2UoKTtcbiAgIHZhciBwZXJtaXNzaW9uU3RhdHVzID0gYXZhdWRpby5yZWNvcmRQZXJtaXNzaW9uKCk7XG4gICBjb25zb2xlLmxvZyhcInBlcm1pc3Npb25TdGF0dXM6XCIgKyBwZXJtaXNzaW9uU3RhdHVzKTtcbiAgIGlmIChwZXJtaXNzaW9uU3RhdHVzID09IDE2ODQzNjkwMTcgfHwgcGVybWlzc2lvblN0YXR1cyA9PSAxOTcwMTY4OTQ4KSB7XG4gICAgIGNvbnNvbGUubG9nKFwi6bqm5YWL6aOO5p2D6ZmQ5rKh5pyJ5byA5ZCvXCIpO1xuICAgfSBlbHNlIHtcbiAgICAgcmVzdWx0ID0gdHJ1ZTtcbiAgICAgY29uc29sZS5sb2coXCLpuqblhYvpo47mnYPpmZDlt7Lnu4/lvIDlkK9cIik7XG4gICB9XG4gICBwbHVzLmlvcy5kZWxldGVPYmplY3QoYXZhdWRpb3Nlc3Npb24pO1xuICAgcmV0dXJuIHJlc3VsdDtcbiB9XG4gXG4gLy8g5Yik5pat55u45py65p2D6ZmQ5piv5ZCm5byA5ZCvXG4gZnVuY3Rpb24ganVkZ2VJb3NQZXJtaXNzaW9uQ2FtZXJhKCkge1xuICAgdmFyIHJlc3VsdCA9IGZhbHNlO1xuICAgdmFyIEFWQ2FwdHVyZURldmljZSA9IHBsdXMuaW9zLmltcG9ydChcIkFWQ2FwdHVyZURldmljZVwiKTtcbiAgIHZhciBhdXRoU3RhdHVzID0gQVZDYXB0dXJlRGV2aWNlLmF1dGhvcml6YXRpb25TdGF0dXNGb3JNZWRpYVR5cGUoJ3ZpZGUnKTtcbiAgIGNvbnNvbGUubG9nKFwiYXV0aFN0YXR1czpcIiArIGF1dGhTdGF0dXMpO1xuICAgaWYgKGF1dGhTdGF0dXMgPT0gMykge1xuICAgICByZXN1bHQgPSB0cnVlO1xuICAgICBjb25zb2xlLmxvZyhcIuebuOacuuadg+mZkOW3sue7j+W8gOWQr1wiKTtcbiAgIH0gZWxzZSB7XG4gICAgIGNvbnNvbGUubG9nKFwi55u45py65p2D6ZmQ5rKh5pyJ5byA5ZCvXCIpO1xuICAgfVxuICAgcGx1cy5pb3MuZGVsZXRlT2JqZWN0KEFWQ2FwdHVyZURldmljZSk7XG4gICByZXR1cm4gcmVzdWx0O1xuIH1cbiBcbiAvLyDliKTmlq3nm7jlhozmnYPpmZDmmK/lkKblvIDlkK9cbiBmdW5jdGlvbiBqdWRnZUlvc1Blcm1pc3Npb25QaG90b0xpYnJhcnkoKSB7XG4gICB2YXIgcmVzdWx0ID0gZmFsc2U7XG4gICB2YXIgUEhQaG90b0xpYnJhcnkgPSBwbHVzLmlvcy5pbXBvcnQoXCJQSFBob3RvTGlicmFyeVwiKTtcbiAgIHZhciBhdXRoU3RhdHVzID0gUEhQaG90b0xpYnJhcnkuYXV0aG9yaXphdGlvblN0YXR1cygpO1xuICAgY29uc29sZS5sb2coXCJhdXRoU3RhdHVzOlwiICsgYXV0aFN0YXR1cyk7XG4gICBpZiAoYXV0aFN0YXR1cyA9PSAzKSB7XG4gICAgIHJlc3VsdCA9IHRydWU7XG4gICAgIGNvbnNvbGUubG9nKFwi55u45YaM5p2D6ZmQ5bey57uP5byA5ZCvXCIpO1xuICAgfSBlbHNlIHtcbiAgICAgY29uc29sZS5sb2coXCLnm7jlhozmnYPpmZDmsqHmnInlvIDlkK9cIik7XG4gICB9XG4gICBwbHVzLmlvcy5kZWxldGVPYmplY3QoUEhQaG90b0xpYnJhcnkpO1xuICAgcmV0dXJuIHJlc3VsdDtcbiB9XG4gXG4gLy8g5Yik5pat6YCa6K6v5b2V5p2D6ZmQ5piv5ZCm5byA5ZCvXG4gZnVuY3Rpb24ganVkZ2VJb3NQZXJtaXNzaW9uQ29udGFjdCgpIHtcbiAgIHZhciByZXN1bHQgPSBmYWxzZTtcbiAgIHZhciBDTkNvbnRhY3RTdG9yZSA9IHBsdXMuaW9zLmltcG9ydChcIkNOQ29udGFjdFN0b3JlXCIpO1xuICAgdmFyIGNuQXV0aFN0YXR1cyA9IENOQ29udGFjdFN0b3JlLmF1dGhvcml6YXRpb25TdGF0dXNGb3JFbnRpdHlUeXBlKDApO1xuICAgaWYgKGNuQXV0aFN0YXR1cyA9PSAzKSB7XG4gICAgIHJlc3VsdCA9IHRydWU7XG4gICAgIGNvbnNvbGUubG9nKFwi6YCa6K6v5b2V5p2D6ZmQ5bey57uP5byA5ZCvXCIpO1xuICAgfSBlbHNlIHtcbiAgICAgY29uc29sZS5sb2coXCLpgJrorq/lvZXmnYPpmZDmsqHmnInlvIDlkK9cIik7XG4gICB9XG4gICBwbHVzLmlvcy5kZWxldGVPYmplY3QoQ05Db250YWN0U3RvcmUpO1xuICAgcmV0dXJuIHJlc3VsdDtcbiB9XG4gXG4gLy8g5Yik5pat5pel5Y6G5p2D6ZmQ5piv5ZCm5byA5ZCvXG4gZnVuY3Rpb24ganVkZ2VJb3NQZXJtaXNzaW9uQ2FsZW5kYXIoKSB7XG4gICB2YXIgcmVzdWx0ID0gZmFsc2U7XG4gICB2YXIgRUtFdmVudFN0b3JlID0gcGx1cy5pb3MuaW1wb3J0KFwiRUtFdmVudFN0b3JlXCIpO1xuICAgdmFyIGVrQXV0aFN0YXR1cyA9IEVLRXZlbnRTdG9yZS5hdXRob3JpemF0aW9uU3RhdHVzRm9yRW50aXR5VHlwZSgwKTtcbiAgIGlmIChla0F1dGhTdGF0dXMgPT0gMykge1xuICAgICByZXN1bHQgPSB0cnVlO1xuICAgICBjb25zb2xlLmxvZyhcIuaXpeWOhuadg+mZkOW3sue7j+W8gOWQr1wiKTtcbiAgIH0gZWxzZSB7XG4gICAgIGNvbnNvbGUubG9nKFwi5pel5Y6G5p2D6ZmQ5rKh5pyJ5byA5ZCvXCIpO1xuICAgfVxuICAgcGx1cy5pb3MuZGVsZXRlT2JqZWN0KEVLRXZlbnRTdG9yZSk7XG4gICByZXR1cm4gcmVzdWx0O1xuIH1cbiBcbiAvLyDliKTmlq3lpIflv5jlvZXmnYPpmZDmmK/lkKblvIDlkK9cbiBmdW5jdGlvbiBqdWRnZUlvc1Blcm1pc3Npb25NZW1vKCkge1xuICAgdmFyIHJlc3VsdCA9IGZhbHNlO1xuICAgdmFyIEVLRXZlbnRTdG9yZSA9IHBsdXMuaW9zLmltcG9ydChcIkVLRXZlbnRTdG9yZVwiKTtcbiAgIHZhciBla0F1dGhTdGF0dXMgPSBFS0V2ZW50U3RvcmUuYXV0aG9yaXphdGlvblN0YXR1c0ZvckVudGl0eVR5cGUoMSk7XG4gICBpZiAoZWtBdXRoU3RhdHVzID09IDMpIHtcbiAgICAgcmVzdWx0ID0gdHJ1ZTtcbiAgICAgY29uc29sZS5sb2coXCLlpIflv5jlvZXmnYPpmZDlt7Lnu4/lvIDlkK9cIik7XG4gICB9IGVsc2Uge1xuICAgICBjb25zb2xlLmxvZyhcIuWkh+W/mOW9leadg+mZkOayoeacieW8gOWQr1wiKTtcbiAgIH1cbiAgIHBsdXMuaW9zLmRlbGV0ZU9iamVjdChFS0V2ZW50U3RvcmUpO1xuICAgcmV0dXJuIHJlc3VsdDtcbiB9XG4gXG4gLy8gQW5kcm9pZOadg+mZkOafpeivolxuIGZ1bmN0aW9uIHJlcXVlc3RBbmRyb2lkUGVybWlzc2lvbihwZXJtaXNzaW9uSUQpIHtcbiAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgIHBsdXMuYW5kcm9pZC5yZXF1ZXN0UGVybWlzc2lvbnMoXG4gICAgICAgW3Blcm1pc3Npb25JRF0sIC8vIOeQhuiuuuS4iuaUr+aMgeWkmuS4quadg+mZkOWQjOaXtuafpeivou+8jOS9huWunumZheS4iuacrOWHveaVsOWwgeijheWPquWkhOeQhuS6huS4gOS4quadg+mZkOeahOaDheWGteOAguaciemcgOimgeeahOWPr+iHquihjOaJqeWxleWwgeijhVxuICAgICAgIGZ1bmN0aW9uKHJlc3VsdE9iaikge1xuICAgICAgICAgdmFyIHJlc3VsdCA9IDA7XG4gICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdE9iai5ncmFudGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgIHZhciBncmFudGVkUGVybWlzc2lvbiA9IHJlc3VsdE9iai5ncmFudGVkW2ldO1xuICAgICAgICAgICBjb25zb2xlLmxvZygn5bey6I635Y+W55qE5p2D6ZmQ77yaJyArIGdyYW50ZWRQZXJtaXNzaW9uKTtcbiAgICAgICAgICAgcmVzdWx0ID0gMVxuICAgICAgICAgfVxuICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHRPYmouZGVuaWVkUHJlc2VudC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICB2YXIgZGVuaWVkUHJlc2VudFBlcm1pc3Npb24gPSByZXN1bHRPYmouZGVuaWVkUHJlc2VudFtpXTtcbiAgICAgICAgICAgY29uc29sZS5sb2coJ+aLkue7neacrOasoeeUs+ivt+eahOadg+mZkO+8micgKyBkZW5pZWRQcmVzZW50UGVybWlzc2lvbik7XG4gICAgICAgICAgIHJlc3VsdCA9IDBcbiAgICAgICAgIH1cbiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0T2JqLmRlbmllZEFsd2F5cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICB2YXIgZGVuaWVkQWx3YXlzUGVybWlzc2lvbiA9IHJlc3VsdE9iai5kZW5pZWRBbHdheXNbaV07XG4gICAgICAgICAgIGNvbnNvbGUubG9nKCfmsLjkuYXmi5Lnu53nlLPor7fnmoTmnYPpmZDvvJonICsgZGVuaWVkQWx3YXlzUGVybWlzc2lvbik7XG4gICAgICAgICAgIHJlc3VsdCA9IC0xXG4gICAgICAgICB9XG4gICAgICAgICByZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAvLyDoi6XmiYDpnIDmnYPpmZDooqvmi5Lnu50s5YiZ5omT5byAQVBQ6K6+572u55WM6Z2iLOWPr+S7peWcqEFQUOiuvue9rueVjOmdouaJk+W8gOebuOW6lOadg+mZkFxuICAgICAgICAgLy8gaWYgKHJlc3VsdCAhPSAxKSB7XG4gICAgICAgICAvLyBnb3RvQXBwUGVybWlzc2lvblNldHRpbmcoKVxuICAgICAgICAgLy8gfVxuICAgICAgIH0sXG4gICAgICAgZnVuY3Rpb24oZXJyb3IpIHtcbiAgICAgICAgIGNvbnNvbGUubG9nKCfnlLPor7fmnYPpmZDplJnor6/vvJonICsgZXJyb3IuY29kZSArIFwiID0gXCIgKyBlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgIHJlc29sdmUoe1xuICAgICAgICAgICBjb2RlOiBlcnJvci5jb2RlLFxuICAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlXG4gICAgICAgICB9KTtcbiAgICAgICB9XG4gICAgICk7XG4gICB9KTtcbiB9XG4gXG4gLy8g5L2/55So5LiA5Liq5pa55rOV77yM5qC55o2u5Y+C5pWw5Yik5pat5p2D6ZmQXG4gZnVuY3Rpb24ganVkZ2VJb3NQZXJtaXNzaW9uKHBlcm1pc3Npb25JRCkge1xuICAgaWYgKHBlcm1pc3Npb25JRCA9PSBcImxvY2F0aW9uXCIpIHtcbiAgICAgcmV0dXJuIGp1ZGdlSW9zUGVybWlzc2lvbkxvY2F0aW9uKClcbiAgIH0gZWxzZSBpZiAocGVybWlzc2lvbklEID09IFwiY2FtZXJhXCIpIHtcbiAgICAgcmV0dXJuIGp1ZGdlSW9zUGVybWlzc2lvbkNhbWVyYSgpXG4gICB9IGVsc2UgaWYgKHBlcm1pc3Npb25JRCA9PSBcInBob3RvTGlicmFyeVwiKSB7XG4gICAgIHJldHVybiBqdWRnZUlvc1Blcm1pc3Npb25QaG90b0xpYnJhcnkoKVxuICAgfSBlbHNlIGlmIChwZXJtaXNzaW9uSUQgPT0gXCJyZWNvcmRcIikge1xuICAgICByZXR1cm4ganVkZ2VJb3NQZXJtaXNzaW9uUmVjb3JkKClcbiAgIH0gZWxzZSBpZiAocGVybWlzc2lvbklEID09IFwicHVzaFwiKSB7XG4gICAgIHJldHVybiBqdWRnZUlvc1Blcm1pc3Npb25QdXNoKClcbiAgIH0gZWxzZSBpZiAocGVybWlzc2lvbklEID09IFwiY29udGFjdFwiKSB7XG4gICAgIHJldHVybiBqdWRnZUlvc1Blcm1pc3Npb25Db250YWN0KClcbiAgIH0gZWxzZSBpZiAocGVybWlzc2lvbklEID09IFwiY2FsZW5kYXJcIikge1xuICAgICByZXR1cm4ganVkZ2VJb3NQZXJtaXNzaW9uQ2FsZW5kYXIoKVxuICAgfSBlbHNlIGlmIChwZXJtaXNzaW9uSUQgPT0gXCJtZW1vXCIpIHtcbiAgICAgcmV0dXJuIGp1ZGdlSW9zUGVybWlzc2lvbk1lbW8oKVxuICAgfVxuICAgcmV0dXJuIGZhbHNlO1xuIH1cbiBcbiAvLyDot7PovazliLAqKuW6lOeUqCoq55qE5p2D6ZmQ6aG16Z2iXG4gZnVuY3Rpb24gZ290b0FwcFBlcm1pc3Npb25TZXR0aW5nKCkge1xuICAgaWYgKGlzSW9zKSB7XG4gICAgIHZhciBVSUFwcGxpY2F0aW9uID0gcGx1cy5pb3MuaW1wb3J0KFwiVUlBcHBsaWNhdGlvblwiKTtcbiAgICAgdmFyIGFwcGxpY2F0aW9uMiA9IFVJQXBwbGljYXRpb24uc2hhcmVkQXBwbGljYXRpb24oKTtcbiAgICAgdmFyIE5TVVJMMiA9IHBsdXMuaW9zLmltcG9ydChcIk5TVVJMXCIpO1xuICAgICAvLyB2YXIgc2V0dGluZzIgPSBOU1VSTDIuVVJMV2l0aFN0cmluZyhcInByZWZzOnJvb3Q9TE9DQVRJT05fU0VSVklDRVNcIik7XHRcdFxuICAgICB2YXIgc2V0dGluZzIgPSBOU1VSTDIuVVJMV2l0aFN0cmluZyhcImFwcC1zZXR0aW5nczpcIik7XG4gICAgIGFwcGxpY2F0aW9uMi5vcGVuVVJMKHNldHRpbmcyKTtcbiBcbiAgICAgcGx1cy5pb3MuZGVsZXRlT2JqZWN0KHNldHRpbmcyKTtcbiAgICAgcGx1cy5pb3MuZGVsZXRlT2JqZWN0KE5TVVJMMik7XG4gICAgIHBsdXMuaW9zLmRlbGV0ZU9iamVjdChhcHBsaWNhdGlvbjIpO1xuICAgfSBlbHNlIHtcbiAgICAgLy8gY29uc29sZS5sb2cocGx1cy5kZXZpY2UudmVuZG9yKTtcbiAgICAgdmFyIEludGVudCA9IHBsdXMuYW5kcm9pZC5pbXBvcnRDbGFzcyhcImFuZHJvaWQuY29udGVudC5JbnRlbnRcIik7XG4gICAgIHZhciBTZXR0aW5ncyA9IHBsdXMuYW5kcm9pZC5pbXBvcnRDbGFzcyhcImFuZHJvaWQucHJvdmlkZXIuU2V0dGluZ3NcIik7XG4gICAgIHZhciBVcmkgPSBwbHVzLmFuZHJvaWQuaW1wb3J0Q2xhc3MoXCJhbmRyb2lkLm5ldC5VcmlcIik7XG4gICAgIHZhciBtYWluQWN0aXZpdHkgPSBwbHVzLmFuZHJvaWQucnVudGltZU1haW5BY3Rpdml0eSgpO1xuICAgICB2YXIgaW50ZW50ID0gbmV3IEludGVudCgpO1xuICAgICBpbnRlbnQuc2V0QWN0aW9uKFNldHRpbmdzLkFDVElPTl9BUFBMSUNBVElPTl9ERVRBSUxTX1NFVFRJTkdTKTtcbiAgICAgdmFyIHVyaSA9IFVyaS5mcm9tUGFydHMoXCJwYWNrYWdlXCIsIG1haW5BY3Rpdml0eS5nZXRQYWNrYWdlTmFtZSgpLCBudWxsKTtcbiAgICAgaW50ZW50LnNldERhdGEodXJpKTtcbiAgICAgbWFpbkFjdGl2aXR5LnN0YXJ0QWN0aXZpdHkoaW50ZW50KTtcbiAgIH1cbiB9XG4gXG4gLy8g5qOA5p+l57O757uf55qE6K6+5aSH5pyN5Yqh5piv5ZCm5byA5ZCvXG4gLy8gdmFyIGNoZWNrU3lzdGVtRW5hYmxlTG9jYXRpb24gPSBhc3luYyBmdW5jdGlvbiAoKSB7XG4gZnVuY3Rpb24gY2hlY2tTeXN0ZW1FbmFibGVMb2NhdGlvbigpIHtcbiAgIGlmIChpc0lvcykge1xuICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7XG4gICAgIHZhciBjbGxvY2F0aW9uTWFuZ2VyID0gcGx1cy5pb3MuaW1wb3J0KFwiQ0xMb2NhdGlvbk1hbmFnZXJcIik7XG4gICAgIHZhciByZXN1bHQgPSBjbGxvY2F0aW9uTWFuZ2VyLmxvY2F0aW9uU2VydmljZXNFbmFibGVkKCk7XG4gICAgIGNvbnNvbGUubG9nKFwi57O757uf5a6a5L2N5byA5ZCvOlwiICsgcmVzdWx0KTtcbiAgICAgcGx1cy5pb3MuZGVsZXRlT2JqZWN0KGNsbG9jYXRpb25NYW5nZXIpO1xuICAgICByZXR1cm4gcmVzdWx0O1xuICAgfSBlbHNlIHtcbiAgICAgdmFyIGNvbnRleHQgPSBwbHVzLmFuZHJvaWQuaW1wb3J0Q2xhc3MoXCJhbmRyb2lkLmNvbnRlbnQuQ29udGV4dFwiKTtcbiAgICAgdmFyIGxvY2F0aW9uTWFuYWdlciA9IHBsdXMuYW5kcm9pZC5pbXBvcnRDbGFzcyhcImFuZHJvaWQubG9jYXRpb24uTG9jYXRpb25NYW5hZ2VyXCIpO1xuICAgICB2YXIgbWFpbiA9IHBsdXMuYW5kcm9pZC5ydW50aW1lTWFpbkFjdGl2aXR5KCk7XG4gICAgIHZhciBtYWluU3ZyID0gbWFpbi5nZXRTeXN0ZW1TZXJ2aWNlKGNvbnRleHQuTE9DQVRJT05fU0VSVklDRSk7XG4gICAgIHZhciByZXN1bHQgPSBtYWluU3ZyLmlzUHJvdmlkZXJFbmFibGVkKGxvY2F0aW9uTWFuYWdlci5HUFNfUFJPVklERVIpO1xuICAgICBjb25zb2xlLmxvZyhcIuezu+e7n+WumuS9jeW8gOWQrzpcIiArIHJlc3VsdCk7XG4gICAgIHJldHVybiByZXN1bHRcbiAgIH1cbiB9XG4gXG4vLyAgbW9kdWxlLmV4cG9ydHMgPSB7XG4vLyAgICBqdWRnZUlvc1Blcm1pc3Npb246IGp1ZGdlSW9zUGVybWlzc2lvbixcbi8vICAgIHJlcXVlc3RBbmRyb2lkUGVybWlzc2lvbjogcmVxdWVzdEFuZHJvaWRQZXJtaXNzaW9uLFxuLy8gICAgY2hlY2tTeXN0ZW1FbmFibGVMb2NhdGlvbjogY2hlY2tTeXN0ZW1FbmFibGVMb2NhdGlvbixcbi8vICAgIGdvdG9BcHBQZXJtaXNzaW9uU2V0dGluZzogZ290b0FwcFBlcm1pc3Npb25TZXR0aW5nXG4vLyAgfVxuXG4vLyBIQnVpbGRlciDpgInmi6kgdnVlMyDml7YsIOS4iumdoueahOaJk+WMheaXoOazlemAmui/hyBpbXBvcnQg6L+b6KGM5byV5YWlXG5leHBvcnQgZGVmYXVsdCB7XG4gIGp1ZGdlSW9zUGVybWlzc2lvbjoganVkZ2VJb3NQZXJtaXNzaW9uLFxuICByZXF1ZXN0QW5kcm9pZFBlcm1pc3Npb246IHJlcXVlc3RBbmRyb2lkUGVybWlzc2lvbixcbiAgY2hlY2tTeXN0ZW1FbmFibGVMb2NhdGlvbjogY2hlY2tTeXN0ZW1FbmFibGVMb2NhdGlvbixcbiAgZ290b0FwcFBlcm1pc3Npb25TZXR0aW5nOiBnb3RvQXBwUGVybWlzc2lvblNldHRpbmdcbn07XG4gIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///50\n");
- /***/ }),
- /* 51 */
- /*!*********************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/TrtcCloud/lib/index.js ***!
- \*********************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 31);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _exportNames = {};\nexports.default = void 0;\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 52));\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 53));\nvar _TrtcCloudImpl = _interopRequireDefault(__webpack_require__(/*! ./TrtcCloudImpl */ 57));\nvar _TrtcDefines = __webpack_require__(/*! ./TrtcDefines */ 61);\nObject.keys(_TrtcDefines).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _TrtcDefines[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _TrtcDefines[key];\n }\n });\n});\nvar version = '1.3.3';\n/**\n * TrtcCloud\n *\n * @class TrtcCloud\n */\nvar TrtcCloud = /*#__PURE__*/function () {\n function TrtcCloud() {\n (0, _classCallCheck2.default)(this, TrtcCloud);\n }\n (0, _createClass2.default)(TrtcCloud, [{\n key: \"on\",\n value:\n /**\n * 设置 TrtcCloud 事件监听\n *\n * @param {String} event 事件名称\n * @param {Function} callback 事件回调\n * @memberof TrtcCloud\n *\n * @example\n * this.trtcCloud = TrtcCloud.createInstance(); // 创建 trtcCloud 实例\n * this.trtcCloud.on('onEnterRoom', (res) => {});\n */\n function on(event, callback) {\n return _TrtcCloudImpl.default._getInstance().on(event, callback);\n }\n /**\n * 取消事件绑定<br>\n *\n * @param {String} event 事件名称,传入通配符 '*' 会解除所有事件绑定。\n * @memberof TrtcCloud\n * @example\n * this.trtcCloud.off('onEnterRoom');\n *\n * this.trtcCloud.off('*'); // 取消所有绑定的事件\n */\n }, {\n key: \"off\",\n value: function off(event) {\n return _TrtcCloudImpl.default._getInstance().off(event);\n }\n /**\n * 进房<br>\n * 调用接口后,您会收到来自 TRTCCallback 中的 [onEnterRoom(result)]{@link TRTCCallback#onEnterRoom} 回调\n * 如果加入成功,result 会是一个正数(result > 0),表示加入房间所消耗的时间,单位是毫秒(ms)。<br>\n * 如果加入失败,result 会是一个负数(result < 0),表示进房失败的错误码。\n *\n * * 参数 scene 的枚举值如下:\n * - {@link TRTCAppSceneVideoCall}:<br>\n * 视频通话场景,支持720P、1080P高清画质,单个房间最多支持300人同时在线,最高支持50人同时发言。<br>\n * 适合:[1对1视频通话]、[300人视频会议]、[在线问诊]、[视频聊天]、[远程面试]等。<br>\n * - {@link TRTCAppSceneAudioCall}:<br>\n * 语音通话场景,支持 48kHz,支持双声道。单个房间最多支持300人同时在线,最高支持50人同时发言。<br>\n * 适合:[1对1语音通话]、[300人语音会议]、[语音聊天]、[语音会议]、[在线狼人杀]等。<br>\n * - {@link TRTCAppSceneLIVE}:<br>\n * 视频互动直播,支持平滑上下麦,切换过程无需等待,主播延时小于300ms;支持十万级别观众同时播放,播放延时低至1000ms。<br>\n * 适合:[视频低延时直播]、[十万人互动课堂]、[视频直播 PK]、[视频相亲房]、[互动课堂]、[远程培训]、[超大型会议]等。<br>\n * - {@link TRTCAppSceneVoiceChatRoom}:<br>\n * 语音互动直播,支持平滑上下麦,切换过程无需等待,主播延时小于300ms;支持十万级别观众同时播放,播放延时低至1000ms。<br>\n * 适合:[语音低延时直播]、[语音直播连麦]、[语聊房]、[K 歌房]、[FM 电台]等。<br>\n *\n * **Note:**\n * 1. 当 scene 选择为 TRTCAppSceneLIVE 或 TRTCAppSceneVoiceChatRoom 时,您必须通过 TRTCParams 中的 role 字段指定当前用户的角色。\n * 2. 不管进房是否成功,enterRoom 都必须与 exitRoom 配对使用,在调用 `exitRoom` 前再次调用 `enterRoom` 函数会导致不可预期的错误问题。\n *\n * @param {TRTCParams} params - 进房参数\n * @param {Number} params.sdkAppId - 应用标识(必填)\n * @param {String} params.userId - 用户标识(必填)\n * @param {String} params.userSig - 用户签名(必填)\n * @param {Number} params.roomId - 房间号码, roomId 和 strRoomId 必须填一个, 若您选用 strRoomId,则 roomId 需要填写为0。\n * @param {String} params.strRoomId - 字符串房间号码 [选填],在同一个房间内的用户可以看到彼此并进行视频通话, roomId 和 strRoomId 必须填一个。若两者都填,则优先选择 roomId\n * @param {TRTCRoleType} params.role - 直播场景下的角色,默认值:主播\n * - TRTCRoleAnchor: 主播,可以上行视频和音频,一个房间里最多支持50个主播同时上行音视频。\n * - TRTCRoleAudience: 观众,只能观看,不能上行视频和音频,一个房间里的观众人数没有上限。\n * @param {String=} params.privateMapKey - 房间签名(非必填)\n * @param {String=} params.businessInfo - 业务数据(非必填)\n * @param {String=} params.streamId - 自定义 CDN 播放地址(非必填)\n * @param {String=} params.userDefineRecordId - 设置云端录制完成后的回调消息中的 \"userdefinerecordid\" 字段内容,便于您更方便的识别录制回调(非必填)\n * @param {TRTCAppScene} scene 应用场景,目前支持视频通话(TRTCAppSceneVideoCall)、语音通话(TRTCAppSceneAudioCall)、在线直播(TRTCAppSceneLIVE)、语音聊天室(VTRTCAppSceneVoiceChatRoom)四种场景,\n * 详见 [TrtcDefines] 中 TRTCAppScene 参数定义\n *\n * @memberof TrtcCloud\n * @example\n * import { TRTCAppScene } from '@/TrtcCloud/lib/TrtcDefines';\n * this.trtcCloud = TrtcCloud.createInstance(); // 创建实例,只需创建一次\n * const params = {\n * sdkAppId: 0,\n * userId: 'xxx',\n * roomId: 12345,\n * userSig: 'xxx'\n * };\n * this.trtcCloud.enterRoom(params, TRTCAppScene.TRTCAppSceneVideoCall);\n */\n }, {\n key: \"enterRoom\",\n value: function enterRoom(params, scene) {\n return _TrtcCloudImpl.default._getInstance().enterRoom(params, scene);\n }\n /**\n * 退房<br>\n * 执行退出房间的相关逻辑释放资源后,SDK 会通过 `onExitRoom()` 回调通知到您\n *\n * **Note:**\n * 1. 如果您要再次调用 `enterRoom()` 或者切换到其它的音视频 SDK,请等待 `onExitRoom()` 回调到来后再执行相关操作,否则可能会遇到如摄像头、麦克风设备被强占等各种异常问题。\n *\n * @memberof TrtcCloud\n * @example\n * this.trtcCloud.exitRoom();\n */\n }, {\n key: \"exitRoom\",\n value: function exitRoom() {\n return _TrtcCloudImpl.default._getInstance().exitRoom();\n }\n /**\n * 切换角色,仅适用于直播场景(TRTCAppSceneLIVE 和 TRTCAppSceneVoiceChatRoom)\n *\n * 在直播场景下,一个用户可能需要在“观众”和“主播”之间来回切换。\n * 您可以在进房前通过 TRTCParams 中的 role 字段确定角色,也可以通过 switchRole 在进房后切换角色。\n *\n * @param {TRTCRoleType} role - 目标角色,默认为主播\n * - TRTCRoleAnchor: 主播,可以上行视频和音频,一个房间里最多支持50个主播同时上行音视频。\n * - TRTCRoleAudience: 观众,只能观看,不能上行视频和音频,一个房间里的观众人数没有上限。\n *\n * @memberof TrtcCloud\n * @example\n * import { TRTCRoleType } from '@/TrtcCloud/lib/TrtcDefines';\n * this.trtcCloud.switchRole(TRTCRoleType.TRTCRoleAudience);\n */\n }, {\n key: \"switchRole\",\n value: function switchRole(role) {\n return _TrtcCloudImpl.default._getInstance().switchRole(role);\n }\n /**\n * 请求跨房通话\n *\n * 默认情况下,只有同一个房间中的用户之间可以进行音视频通话,不同的房间之间的音视频流是相互隔离的。\n * 使用该接口让身处两个不同房间中的主播进行跨房间的音视频流分享,从而让每个房间中的观众都能观看到这两个主播的音视频。\n * 跨房通话的请求结果会通过监听 [onConnectOtherRoom](https://web.sdk.qcloud.com/trtc/uniapp/doc/zh-cn/TRTCCallback.html#event:onConnectOtherRoom) 事件通知给您。\n *\n * @param {Object} params - 跨房通话参数\n * - 如果对端的房间号为数字,那么传入的参数为 roomId。\n * - 如果对端的房间号为字符串,那么传入的参数为 strRoomId。\n * - 针对对端的房间号类型传递对应参数,不需要两个同时传递。具体请看 example 的使用。\n * @param {Number} params.roomId 跨房通话时对端的数字房间号 roomId(与 strRoomId 选填其中一个,不可同时传递)\n * @param {String} params.strRoomId 跨房通话时对端的字符串房间号 strRoomId(与 roomId 选填其中一个,不可同时传递)\n * @param {String} params.userId 跨房通话时对端的 userId(必填)\n *\n *\n * @memberof TrtcCloud\n * @example\n * this.trtcCloud.connectOtherRoom({\"roomId\": 1233, \"userId\": \"user_11\"});\n * this.trtcCloud.connectOtherRoom({\"strRoomId\": \"1233\", \"userId\": \"user_22\"});\n */\n }, {\n key: \"connectOtherRoom\",\n value: function connectOtherRoom(params) {\n return _TrtcCloudImpl.default._getInstance().connectOtherRoom(params);\n }\n /**\n * 退出跨房通话\n *\n * 退出跨房通话的请求结果会通过监听 [onDisconnectOtherRoom](https://web.sdk.qcloud.com/trtc/uniapp/doc/zh-cn/TRTCCallback.html#event:onDisconnectOtherRoom) 事件通知给您。\n *\n * @memberof TrtcCloud\n * @example\n * this.trtcCloud.disconnectOtherRoom();\n */\n }, {\n key: \"disconnectOtherRoom\",\n value: function disconnectOtherRoom() {\n return _TrtcCloudImpl.default._getInstance().disconnectOtherRoom();\n }\n /**\n * 开启本地视频的预览画面<br>\n * 当开始渲染首帧摄像头画面时,您会收到 `onFirstVideoFrame(null)` 回调\n *\n * @param {Boolean} isFrontCamera 前置、后置摄像头,true:前置摄像头;false:后置摄像头,**默认为 true**\n * @param {String=} viewId 用于承载视频画面的渲染控件,使用原生插件中的 TRTCCloudUniPlugin-TXLocalViewComponent component,需要提供 viewId 属性值,例如 viewId=userId\n * @memberof TrtcCloud\n * @example\n * // 预览本地画面\n * const viewId = this.userId;\n * this.trtcCloud.startLocalPreview(true, viewId);\n */\n }, {\n key: \"startLocalPreview\",\n value: function startLocalPreview() {\n var isFrontCamera = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var viewId = arguments.length > 1 ? arguments[1] : undefined;\n return _TrtcCloudImpl.default._getInstance().startLocalPreview(isFrontCamera, viewId);\n }\n /**\n * 设置视频编码器的编码参数\n * - 该设置能够决定远端用户看到的画面质量,同时也能决定云端录制出的视频文件的画面质量。\n * @param {TRTCVideoEncParam} param 用于设置视频编码器的相关参数\n * @memberof TrtcCloud\n * @example\n *\n * import { TRTCVideoResolution, TRTCVideoResolutionMode, TRTCVideoEncParam } from '@/TrtcCloud/lib/TrtcDefines';\n * const videoResolution = TRTCVideoResolution.TRTCVideoResolution_480_360;\n * const videoResolutionMode = TRTCVideoResolutionMode.TRTCVideoResolutionModeLandscape; // 横屏采集\n * const videoFps = 15;\n * const videoBitrate = 900;\n * const minVideoBitrate = 200;\n * const enableAdjustRes = false;\n * // const param = new TRTCVideoEncParam(videoResolution, videoResolutionMode, videoFps, videoBitrate, minVideoBitrate, enableAdjustRes); // v1.1.0 方式\n *\n * const param = { // v1.2.0 以上版本支持的方式\n * videoResolution,\n * videoResolutionMode,\n * videoFps,\n * videoBitrate,\n * minVideoBitrate,\n * enableAdjustRes,\n * };\n *\n * this.trtcCloud.setVideoEncoderParam(param);\n */\n }, {\n key: \"setVideoEncoderParam\",\n value: function setVideoEncoderParam(param) {\n return _TrtcCloudImpl.default._getInstance().setVideoEncoderParam(param);\n }\n /**\n * 切换前置或后置摄像头\n *\n * @param {Boolean} isFrontCamera 前置、后置摄像头,true:前置摄像头;false:后置摄像头\n * @memberof TrtcCloud\n * @example\n * // 切换前置或后置摄像头\n * const isFrontCamera = true;\n * this.trtcCloud.switchCamera(isFrontCamera);\n */\n }, {\n key: \"switchCamera\",\n value: function switchCamera(isFrontCamera) {\n return _TrtcCloudImpl.default._getInstance().switchCamera(isFrontCamera);\n }\n /**\n * 停止本地视频采集及预览\n *\n * @memberof TrtcCloud\n * @example\n * this.trtcCloud.stopLocalPreview();\n */\n }, {\n key: \"stopLocalPreview\",\n value: function stopLocalPreview() {\n return _TrtcCloudImpl.default._getInstance().stopLocalPreview();\n }\n /**\n * 设置本地画面的渲染参数,可设置的参数包括有:画面的旋转角度、填充模式以及左右镜像等。\n * @param {TRTCRenderParams} params - 本地图像的参数\n * @param {TRTCVideoRotation} params.rotation - 图像的顺时针旋转角度,支持90、180以及270旋转角度,默认值:TRTCVideoRotation.TRTCVideoRotation_0\n * @param {TRTCVideoFillMode} params.fillMode - 视频画面填充模式,填充(画面可能会被拉伸裁剪)或适应(画面可能会有黑边),默认值:TRTCVideoFillMode.TRTCVideoFillMode_Fill\n * @param {TRTCVideoMirrorType} params.mirrorType - 画面镜像模式,默认值:TRTCVideoMirrorType.TRTCVideoMirrorType_Auto\n *\n * @memberof TrtcCloud\n * @example\n * import { TRTCVideoRotation, TRTCVideoFillMode, TRTCVideoMirrorType } from '@/TrtcCloud/lib/TrtcDefines';\n * const renderParams = {\n * rotation: TRTCVideoRotation.TRTCVideoRotation_0,\n * fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fill,\n * mirrorType: TRTCVideoMirrorType.TRTCVideoMirrorType_Auto\n * };\n * this.trtcCloud.setLocalRenderParams(renderParams);\n */\n }, {\n key: \"setLocalRenderParams\",\n value: function setLocalRenderParams(params) {\n return _TrtcCloudImpl.default._getInstance().setLocalRenderParams(params);\n }\n /**\n * 暂停/恢复发布本地的视频流\n *\n * 该接口可以暂停(或恢复)发布本地的视频画面,暂停之后,同一房间中的其他用户将无法继续看到自己画面。 该接口在指定 TRTCVideoStreamTypeBig 时等效于 start/stopLocalPreview 这两个接口,但具有更好的响应速度。 因为 start/stopLocalPreview 需要打开和关闭摄像头,而打开和关闭摄像头都是硬件设备相关的操作,非常耗时。 相比之下,muteLocalVideo 只需要在软件层面对数据流进行暂停或者放行即可,因此效率更高,也更适合需要频繁打开关闭的场景。 当暂停/恢复发布指定 TRTCVideoStreamTypeBig 后,同一房间中的其他用户将会收到 onUserVideoAvailable 回调通知。 当暂停/恢复发布指定 TRTCVideoStreamTypeSub 后,同一房间中的其他用户将会收到 onUserSubStreamAvailable 回调通知。\n * @param {Number} streamType 要暂停/恢复的视频流类型(仅支持 TRTCVideoStreamTypeBig 和 TRTCVideoStreamTypeSub)\n * @param {Boolean} mute - true:屏蔽;false:开启,默认值:false\n *\n * @memberof TrtcCloud\n * @example\n * this.trtcCloud.muteLocalVideo(TRTCVideoStreamType.TRTCVideoStreamTypeBig, true);\n */\n }, {\n key: \"muteLocalVideo\",\n value: function muteLocalVideo(streamType, mute) {\n return _TrtcCloudImpl.default._getInstance().muteLocalVideo(streamType, mute);\n }\n /**\n * 显示远端视频或辅流<br>\n *\n * @param {String} userId 指定远端用户的 userId\n * @param {Number} streamType 指定要观看 userId 的视频流类型\n * - 高清大画面:TRTCVideoStreamType.TRTCVideoStreamTypeBig\n * - 低清小画面:TRTCVideoStreamType.TRTCVideoStreamTypeSmall\n * - 辅流(屏幕分享):TRTCVideoStreamType.TRTCVideoStreamTypeSub\n * @param {String} viewId 用于承载视频画面的渲染控件,使用原生插件中的 TRTCCloudUniPlugin-TXRemoteViewComponent component,需要提供 viewId 属性值,例如 viewId=userId\n * @memberof TrtcCloud\n * @example\n * import { TRTCVideoStreamType } from '@/TrtcCloud/lib/TrtcDefines';\n * const viewId = this.remoteUserId;\n * this.trtcCloud.startRemoteView(userId, TRTCVideoStreamType.TRTCVideoStreamTypeBig, viewId);\n */\n }, {\n key: \"startRemoteView\",\n value: function startRemoteView(userId, streamType, viewId) {\n return _TrtcCloudImpl.default._getInstance().startRemoteView(userId, streamType, viewId);\n }\n /**\n * 停止显示远端视频画面,同时不再拉取该远端用户的视频数据流<br>\n * 指定要停止观看的 userId 的视频流类型\n *\n * @param {String} userId 指定的远端用户 ID\n * @param {Number} streamType\n * - 高清大画面:TRTCVideoStreamType.TRTCVideoStreamTypeBig\n * - 低清小画面:TRTCVideoStreamType.TRTCVideoStreamTypeSmall\n * - 辅流(屏幕分享):TRTCVideoStreamType.TRTCVideoStreamTypeSub\n * @memberof TrtcCloud\n * @example\n * import { TRTCVideoStreamType } from '@/TrtcCloud/lib/TrtcDefines';\n * this.trtcCloud.stopRemoteView(remoteUserId, TRTCVideoStreamType.TRTCVideoStreamTypeBig);\n */\n }, {\n key: \"stopRemoteView\",\n value: function stopRemoteView(userId, streamType) {\n return _TrtcCloudImpl.default._getInstance().stopRemoteView(userId, streamType);\n }\n /**\n * 设置远端画面的渲染参数,可设置的参数包括有:画面的旋转角度、填充模式以及左右镜像等。\n * @param {String} userId 远端用户 ID\n * @param {Number} streamType 可以设置为主路画面(TRTCVideoStreamTypeBig)或辅路画面(TRTCVideoStreamTypeSub)\n * @param {TRTCRenderParams} params - 图像的参数\n * @param {TRTCVideoRotation} params.rotation - 图像的顺时针旋转角度,支持90、180以及270旋转角度,默认值:TRTCVideoRotation.TRTCVideoRotation_0\n * @param {TRTCVideoFillMode} params.fillMode - 视频画面填充模式,填充(画面可能会被拉伸裁剪)或适应(画面可能会有黑边),默认值:TRTCVideoFillMode.TRTCVideoFillMode_Fill\n * @param {TRTCVideoMirrorType} params.mirrorType - 画面镜像模式,默认值:TRTCVideoMirrorType.TRTCVideoMirrorType_Auto\n * @memberof TrtcCloud\n * @example\n * import { TRTCVideoRotation, TRTCVideoFillMode, TRTCVideoMirrorType } from '@/TrtcCloud/lib/TrtcDefines';\n * const renderParams = {\n * rotation: TRTCVideoRotation.TRTCVideoRotation_0,\n * fillMode: TRTCVideoFillMode.TRTCVideoFillMode_Fill,\n * mirrorType: TRTCVideoMirrorType.TRTCVideoMirrorType_Auto\n * };\n * this.trtcCloud.setRemoteRenderParams(userId, TRTCVideoStreamType.TRTCVideoStreamTypeBig, renderParams);\n */\n }, {\n key: \"setRemoteRenderParams\",\n value: function setRemoteRenderParams(userId, streamType, params) {}\n /**\n * 设置视频编码器输出的画面方向<br>\n * 该设置不影响本地画面的预览方向,但会影响房间中其他用户所观看到(以及云端录制文件)的画面方向。\n * 当用户将手机或 Pad 上下颠倒时,由于摄像头的采集方向没有变,所以房间中其他用户所看到的画面会变成上下颠倒的,\n * 在这种情况下,您可以通过调用该接口将 SDK 编码出的画面方向旋转180度,如此一来,房间中其他用户所看到的画面可保持正常的方向。\n * 如果您希望实现上述这种友好的交互体验,我们更推荐您直接调用 setGSensorMode 实现更加智能的方向适配,无需您手动调用本接口。\n * @param {Number} rotation 目前支持 0、90、180、270 两个旋转角度,默认值:TRTCVideoRotation_0,即不旋转。\n * @memberof TrtcCloud\n * @example\n * import { TRTCVideoRotation } from '@/TrtcCloud/lib/TrtcDefines';\n * this.trtcCloud.setVideoEncoderRotation(TRTCVideoRotation.TRTCVideoRotation_90);\n */\n }, {\n key: \"setVideoEncoderRotation\",\n value: function setVideoEncoderRotation(rotation) {\n return _TrtcCloudImpl.default._getInstance().setVideoEncoderRotation(rotation);\n }\n /**\n * 设置编码器输出的画面镜像模式\n * @param {Boolean} mirror 是否开启远端镜像,true:开启远端画面镜像;false:关闭远端画面镜像,默认值:false。\n * @memberof TrtcCloud\n * @example\n * this.trtcCloud.setVideoEncoderMirror(true);\n */\n }, {\n key: \"setVideoEncoderMirror\",\n value: function setVideoEncoderMirror(mirror) {\n return _TrtcCloudImpl.default._getInstance().setVideoEncoderMirror(mirror);\n }\n /**\n * 设置重力感应的适配模式<br>\n * 您可以通过本接口实现如下这种友好的交互体验:\n * 当用户将手机或 Pad 上下颠倒时,由于摄像头的采集方向没有变,所以房间中其他用户所看到的画面会变成上下颠倒的,\n * 在这种情况下,您可以通过调用该接口让 SDK 根据设备陀螺仪的朝向自动调整本地画面和编码器输出画面的旋转方向,以使远端观众可以看到正常朝向的画面。\n * @param {Number} mode 重力感应模式,详情请参见 TRTCGSensorMode,默认值:TRTCGSensorMode_UIAutoLayout。。\n * @memberof TrtcCloud\n * @example\n * import { TRTCGSensorMode } from '@/TrtcCloud/lib/TrtcDefines';\n * this.trtcCloud.setGSensorMode(TRTCGSensorMode.TRTC_GSENSOR_MODE_DISABLE);\n */\n }, {\n key: \"setGSensorMode\",\n value: function setGSensorMode(mode) {\n return _TrtcCloudImpl.default._getInstance().setGSensorMode(mode);\n }\n /**\n * 视频画面截图\n *\n * 您可以通过本接口截取本地的视频画面,远端用户的主路画面以及远端用户的辅路(屏幕分享)画面。\n *\n * @param {String | null} userId 用户 ID,如指定 null 表示截取本地的视频画面\n * @param {Number} streamType 视频流类型,可选择截取主路画面(TRTCVideoStreamTypeBig,常用于摄像头)或辅路画面(TRTCVideoStreamTypeSub,常用于屏幕分享)\n * @param {TRTCSnapshotSourceType} sourceType 画面来源,可选择截取视频流画面(TRTCSnapshotSourceTypeStream)或视频渲染画面(TRTCSnapshotSourceTypeView),前者一般更清晰\n *\n * @memberof TrtcCloud\n * @example\n * import { TRTCVideoStreamType } from '@/TrtcCloud/lib/TrtcDefines';\n * this.trtcCloud.snapshotVideo(null, TRTCVideoStreamType.TRTCVideoStreamTypeBig, TRTCSnapshotSourceType.TRTCSnapshotSourceTypeStream); // 截取本地视频流画面\n * this.trtcCloud.snapshotVideo(this.remoteUserId, TRTCVideoStreamType.TRTCVideoStreamTypeBig, TRTCSnapshotSourceType.TRTCSnapshotSourceTypeView); // 截取远端指定用户视频渲染画面\n */\n }, {\n key: \"snapshotVideo\",\n value: function snapshotVideo(userId, streamType, sourceType) {\n return _TrtcCloudImpl.default._getInstance().snapshotVideo(userId, streamType, sourceType);\n }\n /**\n * 开启本地音频的采集和上行, 并设置音频质量<br>\n * 该函数会启动麦克风采集,并将音频数据传输给房间里的其他用户。 SDK 不会默认开启本地音频采集和上行,您需要调用该函数开启,否则房间里的其他用户将无法听到您的声音<br>\n * 主播端的音质越高,观众端的听感越好,但传输所依赖的带宽也就越高,在带宽有限的场景下也更容易出现卡顿\n *\n * @param {TRTCAudioQuality} quality 声音音质\n * - TRTCAudioQualitySpeech,流畅:采样率:16k;单声道;音频裸码率:16kbps;适合语音通话为主的场景,比如在线会议,语音通话。\n * - TRTCAudioQualityDefault,默认:采样率:48k;单声道;音频裸码率:50kbps;SDK 默认的音频质量,如无特殊需求推荐选择之。\n * - TRTCAudioQualityMusic,高音质:采样率:48k;双声道 + 全频带;音频裸码率:128kbps;适合需要高保真传输音乐的场景,比如在线K歌、音乐直播等\n * @memberof TrtcCloud\n * @example\n * import { TRTCAudioQuality } from '@/TrtcCloud/lib/TrtcDefines';\n * this.trtcCloud.startLocalAudio(TRTCAudioQuality.TRTCAudioQualityDefault);\n */\n }, {\n key: \"startLocalAudio\",\n value: function startLocalAudio(quality) {\n return _TrtcCloudImpl.default._getInstance().startLocalAudio(quality);\n }\n /**\n * 关闭本地音频的采集和上行<br>\n * 当关闭本地音频的采集和上行,房间里的其它成员会收到 `onUserAudioAvailable(false)` 回调通知\n *\n * @memberof TrtcCloud\n * @example\n * this.trtcCloud.stopLocalAudio();\n */\n }, {\n key: \"stopLocalAudio\",\n value: function stopLocalAudio() {\n return _TrtcCloudImpl.default._getInstance().stopLocalAudio();\n }\n /**\n * 静音本地的音频\n *\n * 当静音本地音频后,房间里的其它成员会收到 onUserAudioAvailable(false) 回调通知。\n * 与 stopLocalAudio 不同之处在于,muteLocalAudio 并不会停止发送音视频数据,而是会继续发送码率极低的静音包。\n * 在对录制质量要求很高的场景中,选择 muteLocalAudio 是更好的选择,能录制出兼容性更好的 MP4 文件。\n * 这是由于 MP4 等视频文件格式,对于音频的连续性是要求很高的,简单粗暴地 stopLocalAudio 会导致录制出的 MP4 不易播放。\n *\n * @param {Boolean} mute - true:屏蔽;false:开启,默认值:false\n *\n * @memberof TrtcCloud\n * @example\n * this.trtcCloud.muteLocalAudio(true);\n */\n }, {\n key: \"muteLocalAudio\",\n value: function muteLocalAudio(mute) {\n return _TrtcCloudImpl.default._getInstance().muteLocalAudio(mute);\n }\n /**\n * 静音掉某一个用户的声音,同时不再拉取该远端用户的音频数据流\n *\n * @param {String} userId - 用户 ID\n * @param {Boolean} mute - true:静音;false:非静音\n *\n * @memberof TrtcCloud\n * @example\n * this.trtcCloud.muteRemoteAudio('denny', true);\n */\n }, {\n key: \"muteRemoteAudio\",\n value: function muteRemoteAudio(userId, mute) {\n return _TrtcCloudImpl.default._getInstance().muteRemoteAudio(userId, mute);\n }\n /**\n * 静音掉所有用户的声音,同时不再拉取该远端用户的音频数据流\n *\n * @param {Boolean} mute - true:静音;false:非静音\n *\n * @memberof TrtcCloud\n * @example\n * this.trtcCloud.muteAllRemoteAudio(true);\n */\n }, {\n key: \"muteAllRemoteAudio\",\n value: function muteAllRemoteAudio(mute) {\n return _TrtcCloudImpl.default._getInstance().muteAllRemoteAudio(mute);\n }\n /**\n * 设置音频路由\n *\n * 设置“音频路由”,即设置声音是从手机的扬声器还是从听筒中播放出来,因此该接口仅适用于手机等移动端设备。 手机有两个扬声器:一个是位于手机顶部的听筒,一个是位于手机底部的立体声扬声器。\n * 设置音频路由为听筒时,声音比较小,只有将耳朵凑近才能听清楚,隐私性较好,适合用于接听电话。 设置音频路由为扬声器时,声音比较大,不用将手机贴脸也能听清,因此可以实现“免提”的功能。\n *\n * @param {TRTCAudioRoute} route 音频路由,即声音由哪里输出(扬声器、听筒), 默认值:TRTCAudioRoute.TRTCAudioRouteSpeaker(扬声器),\n * @memberof TrtcCloud\n * @example\n * import { TRTCAudioRoute } from '@/TrtcCloud/lib/TrtcDefines';\n * this.trtcCloud.setAudioRoute(TRTCAudioRoute.TRTCAudioRouteSpeaker); // TRTCAudioRoute.TRTCAudioRouteEarpiece (听筒)\n */\n }, {\n key: \"setAudioRoute\",\n value: function setAudioRoute(route) {\n return _TrtcCloudImpl.default._getInstance().setAudioRoute(route);\n }\n /**\n * 启用或关闭音量大小提示\n *\n * 开启此功能后,SDK 会在 onUserVoiceVolume() 中反馈对每一路声音音量大小值的评估。\n *\n * **Note:**\n * - 如需打开此功能,请在 startLocalAudio 之前调用才可以生效。\n *\n * @param {Number} interval - 设置 onUserVoiceVolume 回调的触发间隔,单位为ms,最小间隔为100ms,如果小于等于0则会关闭回调,建议设置为300ms\n * @memberof TrtcCloud\n * @example\n * this.trtcCloud.enableAudioVolumeEvaluation(300);\n */\n }, {\n key: \"enableAudioVolumeEvaluation\",\n value: function enableAudioVolumeEvaluation(interval) {\n return _TrtcCloudImpl.default._getInstance().enableAudioVolumeEvaluation(interval);\n }\n /////////////////////////////////////////////////////////////////////////////////\n //\n // 屏幕分享\n //\n /////////////////////////////////////////////////////////////////////////////////\n /**\n * 设置屏幕分享(即辅路)的视频编码参数\n *\n * 该接口可以设定远端用户所看到的屏幕分享(即辅路)的画面质量,同时也能决定云端录制出的视频文件中屏幕分享的画面质量。 请注意如下两个接口的差异:\n * - setVideoEncoderParam 用于设置主路画面(TRTCVideoStreamTypeBig,一般用于摄像头)的视频编码参数。\n * - setSubStreamEncoderParam 用于设置辅路画面(TRTCVideoStreamTypeSub,一般用于屏幕分享)的视频编码参数。\n *\n * **Note:**\n * - 即使您使用主路传输屏幕分享(在调用 startScreenCapture 时设置 type=TRTCVideoStreamTypeBig),依然要使用 setSubStreamEncoderParam 设定屏幕分享的编码参数,而不要使用 setVideoEncoderParam\n * @param {TRTCVideoEncParam} param\t辅流编码参数,详情请参考 TRTCVideoEncParam。\n * @memberof TrtcCloud\n * @example\n * const params = {\n * videoResolution: TRTCVideoResolution.TRTCVideoResolution_640_360,\n * videoResolutionMode: TRTCVideoResolutionMode.TRTCVideoResolutionModePortrait,\n * videoFps: 15,\n * videoBitrate: 900,\n * minVideoBitrate: 200,\n * enableAdjustRes: false,\n * };\n * this.trtcCloud.setSubStreamEncoderParam(params);\n */\n }, {\n key: \"setSubStreamEncoderParam\",\n value: function setSubStreamEncoderParam(param) {\n return _TrtcCloudImpl.default._getInstance().setSubStreamEncoderParam(param);\n }\n /**\n * 启动屏幕分享\n *\n * **Note:**\n * - 一个用户同时最多只能上传一条主路(TRTCVideoStreamTypeBig)画面和一条辅路(TRTCVideoStreamTypeSub)画面,\n * 默认情况下,屏幕分享使用辅路画面,如果使用主路画面,建议您提前停止摄像头采集(stopLocalPreview)避免相互冲突。\n * - **仅支持 iOS 13.0 及以上系统,进行应用内的屏幕分享**\n * - **Android: UniApp 使用 SDK 内置的前台服务时,只需要将接口参数 enableForegroundService 设置为 true。**\n * - **Android: UniApp 自己启动前台,需要在 mediaProject 类型的前台服务成功后再启动屏幕分享。**\n *\n * @param {Number} streamType 屏幕分享使用的线路,可以设置为主路(TRTCVideoStreamTypeBig)或者辅路(TRTCVideoStreamTypeSub),推荐使用\n * @param {TRTCVideoEncParam} encParams 屏幕分享的画面编码参数,可以设置为 null,表示让 SDK 选择最佳的编码参数(分辨率、码率等)。即使在调用 startScreenCapture 时设置 type=TRTCVideoStreamTypeBig,依然可以使用此接口更新屏幕分享的编码参数。\n * @param {TRTCScreenShareParams} shareParams 您可以通过其中的 enableForegroundService 参数启用 SDK 内置的前台服务\n * @memberof TrtcCloud\n * @example\n * import { TRTCVideoResolution, TRTCVideoResolutionMode, TRTCVideoStreamType} from '@/TrtcCloud/lib/TrtcDefines';\n * const encParams = {\n * videoResolution: TRTCVideoResolution.TRTCVideoResolution_640_360,\n * videoResolutionMode: TRTCVideoResolutionMode.TRTCVideoResolutionModePortrait,\n * videoFps: 15,\n * videoBitrate: 900,\n * minVideoBitrate: 200,\n * enableAdjustRes: false,\n * };\n * const shareParams = {\n * enableForegroundService: true,\n * };\n * this.trtcCloud.startScreenCapture(TRTCVideoStreamType.TRTCVideoStreamTypeSub, encParams, shareParams);\n */\n }, {\n key: \"startScreenCapture\",\n value: function startScreenCapture() {\n var streamType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeSub;\n var encParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var shareParams = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return _TrtcCloudImpl.default._getInstance().startScreenCapture(streamType, encParams, shareParams);\n }\n /**\n * 停止屏幕分享\n * @memberof TrtcCloud\n * @example\n * this.trtcCloud.stopScreenCapture();\n */\n }, {\n key: \"stopScreenCapture\",\n value: function stopScreenCapture() {\n return _TrtcCloudImpl.default._getInstance().stopScreenCapture();\n }\n /**\n * 暂停屏幕分享\n * @memberof TrtcCloud\n * @example\n * this.trtcCloud.pauseScreenCapture();\n */\n }, {\n key: \"pauseScreenCapture\",\n value: function pauseScreenCapture() {\n return _TrtcCloudImpl.default._getInstance().pauseScreenCapture();\n }\n /**\n * 恢复屏幕分享\n * @memberof TrtcCloud\n * @example\n * this.trtcCloud.resumeScreenCapture();\n */\n }, {\n key: \"resumeScreenCapture\",\n value: function resumeScreenCapture() {\n return _TrtcCloudImpl.default._getInstance().resumeScreenCapture();\n }\n /////////////////////////////////////////////////////////////////////////////////\n //\n // 美颜 + 水印\n //\n /////////////////////////////////////////////////////////////////////////////////\n /**\n * 设置美颜(磨皮)算法\n * TRTC 内置多种不同的磨皮算法,您可以选择最适合您产品定位的方案\n *\n * **Note:**\n * - 设置美颜前,先调用 `setBeautyLevel` 设置美颜级别。否则美颜级别为 0 表示关闭美颜\n *\n * @param {TRTCBeautyStyle} beautyStyle 美颜风格,TRTCBeautyStyleSmooth:光滑;TRTCBeautyStyleNature:自然;TRTCBeautyStylePitu:优图\n * @memberof TrtcCloud\n * @example\n * import { TRTCBeautyStyle } from '@/TrtcCloud/lib/TrtcDefines';\n * const beautyLevel = 5; // 美颜级别,取值范围0 - 9; 0表示关闭,9表示效果最明显。\n * this.trtcCloud.setBeautyLevel(beautyLevel);\n * this.trtcCloud.setBeautyStyle(TRTCBeautyStyle.TRTCBeautyStyleSmooth);\n */\n }, {\n key: \"setBeautyStyle\",\n value: function setBeautyStyle(beautyStyle) {\n return _TrtcCloudImpl.default._getInstance().setBeautyStyle(beautyStyle);\n }\n /**\n * 设置美颜级别\n * @param {Number} beautyLevel\t美颜级别,取值范围0 - 9; 0表示关闭,9表示效果最明显。\n *\n * @memberof TrtcCloud\n * @example\n * const beautyLevel = 5; // 美颜级别,取值范围0 - 9; 0表示关闭,9表示效果最明显。\n * this.trtcCloud.setBeautyLevel(beautyLevel);\n */\n }, {\n key: \"setBeautyLevel\",\n value: function setBeautyLevel(beautyLevel) {\n return _TrtcCloudImpl.default._getInstance().setBeautyLevel(beautyLevel);\n }\n /////////////////////////////////////////////////////////////////////////////////\n //\n // 背景音效\n //\n /////////////////////////////////////////////////////////////////////////////////\n /**\n * 开始播放背景音乐\n * 每个音乐都需要您指定具体的 ID,您可以通过该 ID 对音乐的开始、停止、音量等进行设置。<br>\n * **Note:**\n * - 如果要多次播放同一首背景音乐,请不要每次播放都分配一个新的 ID,我们推荐使用相同的 ID。\n * - 若您希望同时播放多首不同的音乐,请为不同的音乐分配不同的 ID 进行播放。\n * - 如果使用同一个 ID 播放不同音乐,SDK 会先停止播放旧的音乐,再播放新的音乐。\n *\n * **Note:**<br>\n * 在 uni-app 中 path 如何获取。\n * - 使用 cdn 地址,例如:`path = https://web.sdk.qcloud.com/component/TUIKit/assets/uni-app/calling-bell-1.mp3;`\n * - 使用本地绝对路径。\n * 1. 通过 [uni.saveFile](https://zh.uniapp.dcloud.io/api/file/file.html#savefile) 获取保存后的相对路径(建议这种路径)。\n * 2. 将上一步的相对路径转成绝对路径,[plus.io.convertLocalFileSystemURL](https://www.html5plus.org/doc/zh_cn/io.html#plus.io.convertLocalFileSystemURL)。\n *\n * @param {AudioMusicParam} musicParam 音乐参数\n * @param {Number} musicParam.id 音乐 ID\n * @param {String} musicParam.path 音效文件的完整路径或 URL 地址。支持的音频格式包括 MP3、AAC、M4A、WAV\n * @param {Number} musicParam.loopCount 音乐循环播放的次数。取值范围为0 - 任意正整数,默认值:0。0表示播放音乐一次;1表示播放音乐两次;以此类推\n * @param {Boolean} musicParam.publish 是否将音乐传到远端。true:音乐在本地播放的同时,远端用户也能听到该音乐;false:主播只能在本地听到该音乐,远端观众听不到。默认值:false。\n * @param {Boolean} musicParam.isShortFile 播放的是否为短音乐文件。true:需要重复播放的短音乐文件;false:正常的音乐文件。默认值:false\n * @param {Number} musicParam.startTimeMS 音乐开始播放时间点,单位: 毫秒。\n * @param {Number} musicParam.endTimeMS 音乐结束播放时间点,单位: 毫秒,0 表示播放至文件结尾。\n * @memberof TrtcCloud\n * @example\n * import { AudioMusicParam } from '@/TrtcCloud/lib/TrtcDefines';\n * const musicParam = {\n * id: 1,\n * path: '',\n * loopCount: 1,\n * publish: true,\n * isShortFile: false,\n * startTimeMS: 0,\n * endTimeMS: 0,\n * };\n * this.trtcCloud.startPlayMusic(musicParam);\n */\n }, {\n key: \"startPlayMusic\",\n value: function startPlayMusic(musicParam) {\n return _TrtcCloudImpl.default._getInstance().startPlayMusic(musicParam);\n }\n /**\n * 停止播放背景音乐\n * @param {Number} id\t音乐 ID\n *\n * @memberof TrtcCloud\n * @example\n * const musicId = 5;\n * this.trtcCloud.stopPlayMusic(musicId);\n */\n }, {\n key: \"stopPlayMusic\",\n value: function stopPlayMusic(id) {\n return _TrtcCloudImpl.default._getInstance().stopPlayMusic(id);\n }\n /**\n * 暂停播放背景音乐\n * @param {Number} id\t音乐 ID\n * @memberof TrtcCloud\n * @example\n * const musicId = 5;\n * this.trtcCloud.pausePlayMusic(musicId);\n */\n }, {\n key: \"pausePlayMusic\",\n value: function pausePlayMusic(id) {\n return _TrtcCloudImpl.default._getInstance().pausePlayMusic(id);\n }\n /**\n * 恢复播放背景音乐\n * @param {Number} id\t音乐 ID\n * @memberof TrtcCloud\n * @example\n * const musicId = 5;\n * this.trtcCloud.resumePlayMusic(musicId);\n */\n }, {\n key: \"resumePlayMusic\",\n value: function resumePlayMusic(id) {\n return _TrtcCloudImpl.default._getInstance().resumePlayMusic(id);\n }\n /////////////////////////////////////////////////////////////////////////////////\n //\n // 设置 TRTCCallback 回调\n //\n /////////////////////////////////////////////////////////////////////////////////\n /**\n * 设置 TrtcCloud 回调\n *\n * @example\n * // 创建/使用/销毁 TrtcCloud 对象的示例代码:\n * import TrtcCloud from '@/TrtcCloud/lib/index';\n * this.trtcCloud = new TrtcCloud();\n *\n * // 添加事件监听的方法,事件关键字详见下方”通用事件回调“\n * this.trtcCloud.on('onEnterRoom', (result) => {\n * if (result > 0) {\n * console.log(`enter room success, spend ${result}ms`);\n * } else {\n * console.log(`enter room failed, error code = ${result}`);\n * }\n * });\n *\n * @namespace TRTCCallback\n */\n /////////////////////////////////////////////////////////////////////////////////\n //\n // (一)事件回调\n //\n /////////////////////////////////////////////////////////////////////////////////\n /**\n * 错误回调,表示 SDK 不可恢复的错误,一定要监听并分情况给用户适当的界面提示<br>\n * @event TRTCCallback#onError\n * @param {Number} code 错误码,[详见](https://cloud.tencent.com/document/product/647/38308#.E9.94.99.E8.AF.AF.E7.A0.81.E8.A1.A8)\n * @param {String} message 错误信息\n * @param {Object} extraInfo 扩展信息字段,个别错误码可能会带额外的信息帮助定位问题\n */\n }, {\n key: \"onError\",\n value: function onError(code, message, extraInfo) {}\n /**\n * 警告回调,用于告知您一些非严重性问题,例如出现卡顿或者可恢复的解码失败<br>\n * @event TRTCCallback#onWarning\n * @param {Number} code 警告码,[详见](https://cloud.tencent.com/document/product/647/38308#.E8.AD.A6.E5.91.8A.E7.A0.81.E8.A1.A8)\n * @param {String} message 警告信息\n * @param {Object} extraInfo 扩展信息字段,个别警告码可能会带额外的信息帮助定位问题\n */\n }, {\n key: \"onWarning\",\n value: function onWarning(code, message, extraInfo) {}\n /**\n * 进房后的回调<br>\n * 调用 `enterRoom()` 接口执行进房操作后,会收到 `onEnterRoom(result)` 回调<br>\n * 如果加入成功,result 会是一个正数(result > 0),代表加入房间的时间消耗,单位是毫秒(ms)。<br>\n * 如果加入失败,result 会是一个负数(result < 0),代表进房失败的错误码。\n *\n * @event TRTCCallback#onEnterRoom\n * @param {Number} result 进房耗时\n */\n }, {\n key: \"onEnterRoom\",\n value: function onEnterRoom(result) {}\n /**\n * 离开房间的事件回调<br>\n * 调用 `exitRoom()` 接口会执行退出房间的相关逻辑,例如释放音视频设备资源和编解码器资源等。待资源释放完毕,会通过 `onExitRoom()` 回调通知到您<br>\n *\n * **Note:**\n * - 如果您要再次调用 `enterRoom()` 或者切换到其他的音视频 SDK,请等待 `onExitRoom()` 回调到来之后再执行相关操作。 否则可能会遇到音频设备被占用等各种异常问题\n *\n * @event TRTCCallback#onExitRoom\n * @param {Number} reason 离开房间原因,0:主动调用 exitRoom 退房;1:被服务器踢出当前房间;2:当前房间整个被解散\n */\n }, {\n key: \"onExitRoom\",\n value: function onExitRoom(reason) {}\n /**\n * 跨房通话事件回调<br>\n * 调用 TRTCCloud 中的 [connectOtherRoom()](https://web.sdk.qcloud.com/trtc/uniapp/doc/zh-cn/TrtcCloud.html#connectOtherRoom) 接口会将两个不同房间中的主播拉通视频通话,也就是所谓的“主播PK”功能。\n * 调用者会收到 onConnectOtherRoom() 事件回调来获知跨房通话是否成功, 如果成功,两个房间中的所有用户都会收到来自另一个房间中的 PK 主播的 [onUserVideoAvailable()](http://127.0.0.1:5500/UniApp-TRTC-SDK/packages/TrtcCloud/docs/zh-cn/api/TRTCCallback.html#event:onUserVideoAvailable) 回调。\n *\n * @event TRTCCallback#onConnectOtherRoom\n * @param {Object} params 调用 [connectOtherRoom()](https://web.sdk.qcloud.com/trtc/uniapp/doc/zh-cn/TrtcCloud.html#connectOtherRoom) 接口返回值数据。\n * - userId:跨房通话时对端 userId\n * - errCode: [错误状态码](https://cloud.tencent.com/document/product/647/38308#.E8.AD.A6.E5.91.8A.E7.A0.81.E8.A1.A8),返回0表示跨房通话成功。\n * - errMsg: 状态信息,跨房通话成功返回 OK。\n */\n }, {\n key: \"onConnectOtherRoom\",\n value: function onConnectOtherRoom(params) {}\n /**\n * 结束跨房通话的结果回调<br>\n * 调用 TRTCCloud 中的 [disconnectOtherRoom()](https://web.sdk.qcloud.com/trtc/uniapp/doc/zh-cn/TrtcCloud.html#disconnectOtherRoom) 接口会将两个不同房间中的主播拉通视频通话,也就是所谓的“主播PK”功能。\n * 调用者会收到 onDisconnectOtherRoom() 事件回调来获知结束跨房通话是否成功。\n *\n * @event TRTCCallback#onDisconnectOtherRoom\n * @param {Object} params 调用 [disconnectOtherRoom()](https://web.sdk.qcloud.com/trtc/uniapp/doc/zh-cn/TrtcCloud.html#disconnectOtherRoom) 失败时返回的错误数据。\n * - errCode: [错误状态码](https://cloud.tencent.com/document/product/647/38308#.E8.AD.A6.E5.91.8A.E7.A0.81.E8.A1.A8)。\n * - errMsg: 错误信息。\n */\n }, {\n key: \"onDisconnectOtherRoom\",\n value: function onDisconnectOtherRoom(params) {}\n /**\n * 切换角色的事件回调<br>\n * 调用 TRTCCloud 中的 switchRole() 接口会切换主播和观众的角色,该操作会伴随一个线路切换的过程, 待 SDK 切换完成后,会抛出 onSwitchRole() 事件回调\n *\n * @event TRTCCallback#onSwitchRole\n * @param {Number} code 错误码,[详见](https://cloud.tencent.com/document/product/647/38308#.E8.AD.A6.E5.91.8A.E7.A0.81.E8.A1.A8)\n * @param {String} message 错误信息\n */\n }, {\n key: \"onSwitchRole\",\n value: function onSwitchRole(code, message) {}\n /**\n * 开始渲染本地或远程用户的首帧画面<br>\n * 如果 userId 为 null,代表开始渲染本地采集的摄像头画面,需要您先调用 `startLocalPreview` 触发。 如果 userId 不为 null,代表开始渲染远程用户的首帧画面,需要您先调用 `startRemoteView` 触发<br>\n * 只有当您调用 `startLocalPreview()、startRemoteView() 或 startRemoteSubStreamView()` 之后,才会触发该回调\n *\n * @event TRTCCallback#onFirstVideoFrame\n * @param {String} userId 本地或远程用户 ID,如果 userId === null 代表本地,userId !== null 代表远程\n * @param {Number} streamType 视频流类型:摄像头或屏幕分享\n * @param {Number} width 画面宽度\n * @param {Number} height 画面高度\n */\n }, {\n key: \"onFirstVideoFrame\",\n value: function onFirstVideoFrame(userId, streamType, width, height) {}\n /**\n * 开始播放远程用户的首帧音频(本地声音暂不通知)<br>\n * 如果 userId 为 null,代表开始渲染本地采集的摄像头画面,需要您先调用 `startLocalPreview` 触发。 如果 userId 不为 null,代表开始渲染远程用户的首帧画面,需要您先调用 `startRemoteView` 触发<br>\n * 只有当您调用 `startLocalPreview()、startRemoteView() 或 startRemoteSubStreamView()` 之后,才会触发该回调\n *\n * @event TRTCCallback#onFirstAudioFrame\n * @param {String} userId 远程用户 ID\n */\n }, {\n key: \"onFirstAudioFrame\",\n value: function onFirstAudioFrame(userId) {}\n /**\n * 截图完成时回调<br>\n * @event TRTCCallback#onSnapshotComplete\n * @param {String} base64Data 截图对应的 base64 数据\n * @param {String} message 错误信息\n */\n }, {\n key: \"onSnapshotComplete\",\n value: function onSnapshotComplete(base64Data, message) {}\n /**\n * 麦克风准备就绪\n */\n }, {\n key: \"onMicDidReady\",\n value: function onMicDidReady() {}\n /**\n * 摄像头准备就绪\n */\n }, {\n key: \"onCameraDidReady\",\n value: function onCameraDidReady() {}\n /**\n * 网络质量:该回调每2秒触发一次,统计当前网络的上行和下行质量<br>\n * userId 为本地用户 ID 代表自己当前的视频质量\n *\n * @param {String} localQuality 上行网络质量\n * @param {String} remoteQuality 下行网络质量\n */\n }, {\n key: \"onNetworkQuality\",\n value: function onNetworkQuality(localQuality, remoteList) {}\n /**\n * 有用户加入当前房间<br>\n * 出于性能方面的考虑,在两种不同的应用场景下,该通知的行为会有差别:<br>\n * 通话场景(TRTCAppScene.TRTCAppSceneVideoCall 和 TRTCAppScene.TRTCAppSceneAudioCall):该场景下用户没有角色的区别,任何用户进入房间都会触发该通知。<br>\n * 直播场景(TRTCAppScene.TRTCAppSceneLIVE 和 TRTCAppScene.TRTCAppSceneVoiceChatRoom ):该场景不限制观众的数量,如果任何用户进出都抛出回调会引起很大的性能损耗,所以该场景下只有主播进入房间时才会触发该通知,观众进入房间不会触发该通知\n *\n * @event TRTCCallback#onRemoteUserEnterRoom\n * @param {String} userId 用户标识 ID\n */\n }, {\n key: \"onRemoteUserEnterRoom\",\n value: function onRemoteUserEnterRoom(userId) {}\n /**\n * 有用户离开当前房间<br>\n * 与 onRemoteUserEnterRoom 相对应,在两种不同的应用场景下,该通知的行为会有差别:<br>\n * 通话场景(TRTCAppScene.TRTCAppSceneVideoCall 和 TRTCAppScene.TRTCAppSceneAudioCall):该场景下用户没有角色的区别,任何用户进入房间都会触发该通知。<br>\n * 直播场景(TRTCAppScene.TRTCAppSceneLIVE 和 TRTCAppScene.TRTCAppSceneVoiceChatRoom ):该场景不限制观众的数量,如果任何用户进出都抛出回调会引起很大的性能损耗,所以该场景下只有主播进入房间时才会触发该通知,观众进入房间不会触发该通知\n *\n * @event TRTCCallback#onRemoteUserLeaveRoom\n * @param {String} userId 用户标识 ID\n * @param {Number} reason 离开原因,0 表示用户主动退出房间,1 表示用户超时退出,2 表示被踢出房间\n */\n }, {\n key: \"onRemoteUserLeaveRoom\",\n value: function onRemoteUserLeaveRoom(userId, reason) {}\n /**\n * 首帧本地音频数据已经被送出<br>\n * 在 `enterRoom()` 并 `startLocalAudio()` 成功后开始麦克风采集,并将采集到的声音进行编码。 当 SDK 成功向云端送出第一帧音频数据后,会抛出这个回调事件\n *\n * @event TRTCCallback#onSendFirstLocalAudioFrame\n */\n }, {\n key: \"onSendFirstLocalAudioFrame\",\n value: function onSendFirstLocalAudioFrame() {}\n /**\n * 首帧本地视频数据已经被送出<br>\n * SDK 会在 `enterRoom()` 并 `startLocalPreview()` 成功后开始摄像头采集,并将采集到的画面进行编码。 当 SDK 成功向云端送出第一帧视频数据后,会抛出这个回调事件\n *\n * @event TRTCCallback#onSendFirstLocalVideoFrame\n * @param {Number} streamType 视频流类型,大画面、小画面或辅流画面(屏幕分享)\n */\n }, {\n key: \"onSendFirstLocalVideoFrame\",\n value: function onSendFirstLocalVideoFrame(streamType) {}\n /**\n * 技术指标统计回调<br>\n * 如果您是熟悉音视频领域相关术语,可以通过这个回调获取 SDK 的所有技术指标。 如果您是首次开发音视频相关项目,可以只关注 `onNetworkQuality` 回调\n *\n * **Note:**\n * - 每 2 秒回调一次\n *\n * @param {Object} statics 状态数据\n */\n }, {\n key: \"onStatistics\",\n value: function onStatistics(statics) {}\n /**\n * 远端用户是否存在可播放的音频数据<br>\n * @event TRTCCallback#onUserAudioAvailable\n * @param {String} userId 用户标识 ID\n * @param {Boolean} available 声音是否开启\n */\n }, {\n key: \"onUserAudioAvailable\",\n value: function onUserAudioAvailable(userId, available) {}\n /**\n * 远端用户是否存在可播放的主路画面(一般用于摄像头)<br>\n * 当您收到 `onUserVideoAvailable(userId, true)` 通知时,表示该路画面已经有可用的视频数据帧到达。 此时,您需要调用 `startRemoteView(userId)` 接口加载该用户的远程画面。 然后,您会收到名为 onFirstVideoFrame(userid) 的首帧画面渲染回调。<br>\n * 当您收到 `onUserVideoAvailable(userId, false)` 通知时,表示该路远程画面已经被关闭,可能由于该用户调用了 `muteLocalVideo()` 或 `stopLocalPreview()`。\n *\n * @event TRTCCallback#onUserVideoAvailable\n * @param {String} userId 用户标识 ID\n * @param {Boolean} available 画面是否开启\n */\n }, {\n key: \"onUserVideoAvailable\",\n value: function onUserVideoAvailable(userId, available) {}\n /**\n * 用于提示音量大小的回调,包括每个 userId 的音量和远端总音量<br>\n * SDK 可以评估每一路音频的音量大小,并每隔一段时间抛出该事件回调,您可以根据音量大小在 UI 上做出相应的提示,比如“波形图”或“音量槽”。 要完成这个功能, 您需要先调用 enableAudioVolumeEvaluation 开启这个能力并设定事件抛出的时间间隔。 需要补充说明的是,无论当前房间中是否有人说话,SDK 都会按照您设定的时间间隔定时抛出此事件回调,只不过当没有人说话时,userVolumes 为空,totalVolume 为 0。\n *\n * **Note:**\n * - userVolumes 为一个数组,对于数组中的每一个元素,当 userId 为空时表示本地麦克风采集的音量大小,当 userId 不为空时代表远端用户的音量大小\n *\n * @event TRTCCallback#onUserVoiceVolume\n * @param {Array} userVolumes 是一个数组,用于承载所有正在说话的用户的音量大小,取值范围 0 - 100\n * @param {Number} totalVolume 所有远端用户的总音量大小, 取值范围 0 - 100\n */\n }, {\n key: \"onUserVoiceVolume\",\n value: function onUserVoiceVolume(userVolumes, totalVolume) {}\n /**\n * 屏幕分享开启的事件回调<br>\n * 当您通过 startScreenCapture 等相关接口启动屏幕分享时,SDK 便会抛出此事件回调\n * @event TRTCCallback#onScreenCaptureStarted\n */\n }, {\n key: \"onScreenCaptureStarted\",\n value: function onScreenCaptureStarted() {}\n /**\n * 屏幕分享停止的事件回调<br>\n * 当您通过 stopScreenCapture 停止屏幕分享时,SDK 便会抛出此事件回调\n * @event TRTCCallback#onScreenCaptureStopped\n * @param {Number} reason 停止原因,0:用户主动停止;1:屏幕窗口关闭导致停止;2:表示屏幕分享的显示屏状态变更(如接口被拔出、投影模式变更等)\n */\n }, {\n key: \"onScreenCaptureStopped\",\n value: function onScreenCaptureStopped(reason) {}\n /**\n * 屏幕分享停止的事件回调<br>\n * 当您通过 pauseScreenCapture 停止屏幕分享时,SDK 便会抛出此事件回调\n * @event TRTCCallback#onScreenCapturePaused\n * @param {Number} reason 停止原因,0:用户主动停止;1:屏幕窗口关闭导致停止;2:表示屏幕分享的显示屏状态变更(如接口被拔出、投影模式变更等)\n */\n }, {\n key: \"onScreenCapturePaused\",\n value: function onScreenCapturePaused(reason) {}\n /**\n * 屏幕分享恢复的事件回调<br>\n * 当您通过 resumeScreenCapture 恢复屏幕分享时,SDK 便会抛出此事件回调\n * @event TRTCCallback#onScreenCaptureResumed\n */\n }, {\n key: \"onScreenCaptureResumed\",\n value: function onScreenCaptureResumed() {}\n /**\n * 某远端用户发布/取消了辅路视频画面<br>\n * “辅路画面”一般被用于承载屏幕分享的画面。当您收到 onUserSubStreamAvailable(userId, true) 通知时,表示该路画面已经有可播放的视频帧到达。 此时,您需要调用 startRemoteView 接口订阅该用户的远程画面,订阅成功后,您会继续收到该用户的首帧画面渲染回调 onFirstVideoFrame(userId)\n *\n * **Note:**\n * - 拉取 Web 端(用 [WebRTC](https://web.sdk.qcloud.com/trtc/webrtc/doc/zh-cn/index.html) 实现屏幕分享)的屏幕分享,收不到 onUserSubStreamAvailable 事件。因为 [WebRTC](https://web.sdk.qcloud.com/trtc/webrtc/doc/zh-cn/index.html) 推的屏幕分享也是主流\n * @param {String} userId 用户 ID\n * @param {Boolean} available 是否可用,true 表示辅流可用\n * @event TRTCCallback#onUserSubStreamAvailable\n */\n }, {\n key: \"onUserSubStreamAvailable\",\n value: function onUserSubStreamAvailable(userId, available) {}\n /**\n * 用户视频大小发生改变回调。<br>\n * 当您收到 onUserVideoSizeChanged(userId, streamtype, newWidth, newHeight) 通知时,表示该路画面大小发生了调整,调整的原因可能是该用户调用了 setVideoEncoderParam 或者 setSubStreamEncoderParam 重新设置了画面尺寸。\n * @param {String} userId 用户 ID\n * @param {Number} streamType 视频流类型,仅支持 TRTCVideoStreamTypeBig 和 TRTCVideoStreamTypeSub\n * @param {Number} newWidth 视频流的宽度(像素)\n * @param {Number} newHeight 视频流的高度(像素)\n * @event TRTCCallback#onUserVideoSizeChanged\n */\n }, {\n key: \"onUserVideoSizeChanged\",\n value: function onUserVideoSizeChanged(userId, streamType, newWidth, newHeight) {}\n /**\n * 背景音乐开始播放\n * @param {Number} id 播放的 id\n * @param {Number} errCode 播放的状态码\n * @event TRTCCallback#onStart\n */\n }, {\n key: \"onStart\",\n value: function onStart(id, errCode) {}\n /**\n * 背景音乐的播放进度\n * @param {Number} id 播放的 id\n * @param {Number} curPtsMS 当前播放的位置\n * @param {Number} durationMS 当前音频总时长\n * @event TRTCCallback#onPlayProgress\n */\n }, {\n key: \"onPlayProgress\",\n value: function onPlayProgress(id, curPtsMS, durationMS) {}\n /**\n * 背景音乐已经播放完毕\n * @param {Number} id 播放的 id\n * @param {Number} errCode 播放结束的状态码\n * @event TRTCCallback#onComplete\n */\n }, {\n key: \"onComplete\",\n value: function onComplete(id, errCode) {}\n }], [{\n key: \"createInstance\",\n value:\n /**\n * 创建 TrtcCloud 单例\n *\n * @static\n * @memberof TrtcCloud\n * @example\n * TrtcCloud.createInstance();\n */\n function createInstance() {\n __f__(\"log\", '----------------------------------------------------------------', \" at TrtcCloud/lib/index.js:20\");\n __f__(\"log\", \" SDK \".concat(version, \" \"), \" at TrtcCloud/lib/index.js:21\");\n __f__(\"log\", '----------------------------------------------------------------', \" at TrtcCloud/lib/index.js:22\");\n return _TrtcCloudImpl.default._createInstance();\n }\n /**\n * 销毁 TrtcCloud 单例\n *\n * @static\n * @memberof TrtcCloud\n * @example\n * TrtcCloud.destroyInstance();\n */\n }, {\n key: \"destroyInstance\",\n value: function destroyInstance() {\n return _TrtcCloudImpl.default._destroyInstance();\n }\n }]);\n return TrtcCloud;\n}();\nexports.default = TrtcCloud;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 11)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vVHJ0Y0Nsb3VkL2xpYi9pbmRleC5qcyJdLCJuYW1lcyI6WyJ2ZXJzaW9uIiwiVHJ0Y0Nsb3VkIiwiZXZlbnQiLCJjYWxsYmFjayIsIlRydGNDbG91ZEltcGwiLCJfZ2V0SW5zdGFuY2UiLCJvbiIsIm9mZiIsInBhcmFtcyIsInNjZW5lIiwiZW50ZXJSb29tIiwiZXhpdFJvb20iLCJyb2xlIiwic3dpdGNoUm9sZSIsImNvbm5lY3RPdGhlclJvb20iLCJkaXNjb25uZWN0T3RoZXJSb29tIiwiaXNGcm9udENhbWVyYSIsInZpZXdJZCIsInN0YXJ0TG9jYWxQcmV2aWV3IiwicGFyYW0iLCJzZXRWaWRlb0VuY29kZXJQYXJhbSIsInN3aXRjaENhbWVyYSIsInN0b3BMb2NhbFByZXZpZXciLCJzZXRMb2NhbFJlbmRlclBhcmFtcyIsInN0cmVhbVR5cGUiLCJtdXRlIiwibXV0ZUxvY2FsVmlkZW8iLCJ1c2VySWQiLCJzdGFydFJlbW90ZVZpZXciLCJzdG9wUmVtb3RlVmlldyIsInJvdGF0aW9uIiwic2V0VmlkZW9FbmNvZGVyUm90YXRpb24iLCJtaXJyb3IiLCJzZXRWaWRlb0VuY29kZXJNaXJyb3IiLCJtb2RlIiwic2V0R1NlbnNvck1vZGUiLCJzb3VyY2VUeXBlIiwic25hcHNob3RWaWRlbyIsInF1YWxpdHkiLCJzdGFydExvY2FsQXVkaW8iLCJzdG9wTG9jYWxBdWRpbyIsIm11dGVMb2NhbEF1ZGlvIiwibXV0ZVJlbW90ZUF1ZGlvIiwibXV0ZUFsbFJlbW90ZUF1ZGlvIiwicm91dGUiLCJzZXRBdWRpb1JvdXRlIiwiaW50ZXJ2YWwiLCJlbmFibGVBdWRpb1ZvbHVtZUV2YWx1YXRpb24iLCJzZXRTdWJTdHJlYW1FbmNvZGVyUGFyYW0iLCJUUlRDVmlkZW9TdHJlYW1UeXBlIiwiVFJUQ1ZpZGVvU3RyZWFtVHlwZVN1YiIsImVuY1BhcmFtcyIsInNoYXJlUGFyYW1zIiwic3RhcnRTY3JlZW5DYXB0dXJlIiwic3RvcFNjcmVlbkNhcHR1cmUiLCJwYXVzZVNjcmVlbkNhcHR1cmUiLCJyZXN1bWVTY3JlZW5DYXB0dXJlIiwiYmVhdXR5U3R5bGUiLCJzZXRCZWF1dHlTdHlsZSIsImJlYXV0eUxldmVsIiwic2V0QmVhdXR5TGV2ZWwiLCJtdXNpY1BhcmFtIiwic3RhcnRQbGF5TXVzaWMiLCJpZCIsInN0b3BQbGF5TXVzaWMiLCJwYXVzZVBsYXlNdXNpYyIsInJlc3VtZVBsYXlNdXNpYyIsImNvZGUiLCJtZXNzYWdlIiwiZXh0cmFJbmZvIiwicmVzdWx0IiwicmVhc29uIiwid2lkdGgiLCJoZWlnaHQiLCJiYXNlNjREYXRhIiwibG9jYWxRdWFsaXR5IiwicmVtb3RlTGlzdCIsInN0YXRpY3MiLCJhdmFpbGFibGUiLCJ1c2VyVm9sdW1lcyIsInRvdGFsVm9sdW1lIiwibmV3V2lkdGgiLCJuZXdIZWlnaHQiLCJlcnJDb2RlIiwiY3VyUHRzTVMiLCJkdXJhdGlvbk1TIiwiX2NyZWF0ZUluc3RhbmNlIiwiX2Rlc3Ryb3lJbnN0YW5jZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFFQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0lBQUE7SUFBQTtNQUFBO0lBQUE7RUFBQTtBQUFBO0FBREEsSUFBTUEsT0FBTyxHQUFHLE9BQU87QUFFdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBLElBS3FCQyxTQUFTO0VBQUE7SUFBQTtFQUFBO0VBQUE7SUFBQTtJQUFBO0lBMEIxQjtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ0ksWUFBR0MsS0FBSyxFQUFFQyxRQUFRLEVBQUU7TUFDaEIsT0FBT0Msc0JBQWEsQ0FBQ0MsWUFBWSxFQUFFLENBQUNDLEVBQUUsQ0FBQ0osS0FBSyxFQUFFQyxRQUFRLENBQUM7SUFDM0Q7SUFDQTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQVRJO0lBQUE7SUFBQSxPQVVBLGFBQUlELEtBQUssRUFBRTtNQUNQLE9BQU9FLHNCQUFhLENBQUND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LE9BS0Esa0NBQXlCLENBQUU7SUFDM0I7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFUSTtJQUFBO0lBQUEsT0FVQSxrQ0FBeUI1QyxNQUFNLEVBQUVtRCxTQUFTLEVBQUUsQ0FBRTtJQUM5QztBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFSSTtJQUFBO0lBQUEsT0FTQSxnQ0FBdUJuRCxNQUFNLEVBQUVILFVBQVUsRUFBRXlELFFBQVEsRUFBRUMsU0FBUyxFQUFFLENBQUU7SUFDbEU7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBTEk7SUFBQTtJQUFBLE9BTUEsaUJBQVFuQixFQUFFLEVBQUVvQixPQUFPLEVBQUUsQ0FBRTtJQUN2QjtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQU5JO0lBQUE7SUFBQSxPQU9BLHdCQUFlcEIsRUFBRSxFQUFFcUIsUUFBUSxFQUFFQyxVQUFVLEVBQUUsQ0FBRTtJQUMzQztBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFMSTtJQUFBO0lBQUEsT0FNQSxvQkFBV3RCLEVBQUUsRUFBRW9CLE9BQU8sRUFBRSxDQUFFO0VBQUM7SUFBQTtJQUFBO0lBajlCM0I7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNJLDBCQUF3QjtNQUNwQixhQUFZLGtFQUFrRTtNQUM5RSxtREFBMkNuRixPQUFPO01BQ2xELGFBQVksa0VBQWtFO01BQzlFLE9BQU9JLHNCQUFhLENBQUNrRixlQUFlLEVBQUU7SUFDMUM7SUFDQTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBUEk7SUFBQTtJQUFBLE9BUUEsMkJBQXlCO01BQ3JCLE9BQU9sRixzQkFBYSxDQUFDbUYsZ0JBQWdCLEVBQUU7SUFDM0M7RUFBQztFQUFBO0FBQUE7QUFBQSw0QiIsImZpbGUiOiI1MS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBUcnRjQ2xvdWRJbXBsIGZyb20gJy4vVHJ0Y0Nsb3VkSW1wbCc7XG5pbXBvcnQgeyBUUlRDVmlkZW9TdHJlYW1UeXBlIH0gZnJvbSAnLi9UcnRjRGVmaW5lcyc7XG5jb25zdCB2ZXJzaW9uID0gJzEuMy4zJztcbmV4cG9ydCAqIGZyb20gJy4vVHJ0Y0RlZmluZXMnO1xuLyoqXG4gKiBUcnRjQ2xvdWRcbiAqXG4gKiBAY2xhc3MgVHJ0Y0Nsb3VkXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRydGNDbG91ZCB7XG4gICAgLyoqXG4gICAgICog5Yib5bu6IFRydGNDbG91ZCDljZXkvotcbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyb2YgVHJ0Y0Nsb3VkXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBUcnRjQ2xvdWQuY3JlYXRlSW5zdGFuY2UoKTtcbiAgICAgKi9cbiAgICBzdGF0aWMgY3JlYXRlSW5zdGFuY2UoKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJyk7XG4gICAgICAgIGNvbnNvbGUubG9nKGAgICAgICAgICAgICAgICAgICAgICAgICBTREsgJHt2ZXJzaW9ufSAgICAgICAgICAgICAgICAgICAgYCk7XG4gICAgICAgIGNvbnNvbGUubG9nKCctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tJyk7XG4gICAgICAgIHJldHVybiBUcnRjQ2xvdWRJbXBsLl9jcmVhdGVJbnN0YW5jZSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiDplIDmr4EgVHJ0Y0Nsb3VkIOWNleS+i1xuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJvZiBUcnRjQ2xvdWRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIFRydGNDbG91ZC5kZXN0cm95SW5zdGFuY2UoKTtcbiAgICAgKi9cbiAgICBzdGF0aWMgZGVzdHJveUluc3RhbmNlKCkge1xuICAgICAgICByZXR1cm4gVHJ0Y0Nsb3VkSW1wbC5fZGVzdHJveUluc3RhbmNlKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOiuvue9riBUcnRjQ2xvdWQg5LqL5Lu255uR5ZCsXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gZXZlbnQg5LqL5Lu25ZCN56ewXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2sg5LqL5Lu25Zue6LCDXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiB0aGlzLnRydGNDbG91ZCA9IFRydGNDbG91ZC5jcmVhdGVJbnN0YW5jZSgpOyAvLyDliJvlu7ogdHJ0Y0Nsb3VkIOWunuS+i1xuICAgICAqIHRoaXMudHJ0Y0Nsb3VkLm9uKCdvbkVudGVyUm9vbScsIChyZXMpID0+IHt9KTtcbiAgICAgKi9cbiAgICBvbihldmVudCwgY2FsbGJhY2spIHtcbiAgICAgICAgcmV0dXJuIFRydGNDbG91ZEltcGwuX2dldEluc3RhbmNlKCkub24oZXZlbnQsIGNhbGxiYWNrKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog5Y+W5raI5LqL5Lu257uR5a6aPGJyPlxuICAgICAqXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGV2ZW50IOS6i+S7tuWQjeensO+8jOS8oOWFpemAmumFjeespiAnKicg5Lya6Kej6Zmk5omA5pyJ5LqL5Lu257uR5a6a44CCXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogdGhpcy50cnRjQ2xvdWQub2ZmKCdvbkVudGVyUm9vbScpO1xuICAgICAqXG4gICAgICogdGhpcy50cnRjQ2xvdWQub2ZmKCcqJyk7IC8vIOWPlua2iOaJgOaciee7keWumueahOS6i+S7tlxuICAgICAqL1xuICAgIG9mZihldmVudCkge1xuICAgICAgICByZXR1cm4gVHJ0Y0Nsb3VkSW1wbC5fZ2V0SW5zdGFuY2UoKS5vZmYoZXZlbnQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiDov5vmiL88YnI+XG4gICAgICog6LCD55So5o6l5Y+j5ZCO77yM5oKo5Lya5pS25Yiw5p2l6IeqIFRSVENDYWxsYmFjayDkuK3nmoQgW29uRW50ZXJSb29tKHJlc3VsdClde0BsaW5rIFRSVENDYWxsYmFjayNvbkVudGVyUm9vbX0g5Zue6LCDXG4gICAgICog5aaC5p6c5Yqg5YWl5oiQ5Yqf77yMcmVzdWx0IOS8muaYr+S4gOS4quato+aVsO+8iHJlc3VsdCA+IDDvvInvvIzooajnpLrliqDlhaXmiL/pl7TmiYDmtojogJfnmoTml7bpl7TvvIzljZXkvY3mmK/mr6vnp5LvvIhtc++8ieOAgjxicj5cbiAgICAgKiDlpoLmnpzliqDlhaXlpLHotKXvvIxyZXN1bHQg5Lya5piv5LiA5Liq6LSf5pWw77yIcmVzdWx0IDwgMO+8ie+8jOihqOekuui/m+aIv+Wksei0peeahOmUmeivr+eggeOAglxuICAgICAqXG4gICAgICogKiDlj4LmlbAgc2NlbmUg55qE5p6a5Li+5YC85aaC5LiL77yaXG4gICAgICogLSB7QGxpbmsgVFJUQ0FwcFNjZW5lVmlkZW9DYWxsfe+8mjxicj5cbiAgICAgKiAgICAgICAgICDop4bpopHpgJror53lnLrmma/vvIzmlK/mjIE3MjBQ44CBMTA4MFDpq5jmuIXnlLvotKjvvIzljZXkuKrmiL/pl7TmnIDlpJrmlK/mjIEzMDDkurrlkIzml7blnKjnur/vvIzmnIDpq5jmlK/mjIE1MOS6uuWQjOaXtuWPkeiogOOAgjxicj5cbiAgICAgKiAgICAgICAgICDpgILlkIjvvJpbMeWvuTHop4bpopHpgJror51d44CBWzMwMOS6uuinhumikeS8muiurl3jgIFb5Zyo57q/6Zeu6K+KXeOAgVvop4bpopHogYrlpKld44CBW+i/nOeoi+mdouivlV3nrYnjgII8YnI+XG4gICAgICogLSB7QGxpbmsgVFJUQ0FwcFNjZW5lQXVkaW9DYWxsfe+8mjxicj5cbiAgICAgKiAgICAgICAgICDor63pn7PpgJror53lnLrmma/vvIzmlK/mjIEgNDhrSHrvvIzmlK/mjIHlj4zlo7DpgZPjgILljZXkuKrmiL/pl7TmnIDlpJrmlK/mjIEzMDDkurrlkIzml7blnKjnur/vvIzmnIDpq5jmlK/mjIE1MOS6uuWQjOaXtuWPkeiogOOAgjxicj5cbiAgICAgKiAgICAgICAgICDpgILlkIjvvJpbMeWvuTHor63pn7PpgJror51d44CBWzMwMOS6uuivremfs+S8muiurl3jgIFb6K+t6Z+z6IGK5aSpXeOAgVvor63pn7PkvJrorq5d44CBW+WcqOe6v+eLvOS6uuadgF3nrYnjgII8YnI+XG4gICAgICogLSB7QGxpbmsgVFJUQ0FwcFNjZW5lTElWRX3vvJo8YnI+XG4gICAgICogICAgICAgICAg6KeG6aKR5LqS5Yqo55u05pKt77yM5pSv5oyB5bmz5ruR5LiK5LiL6bqm77yM5YiH5o2i6L+H56iL5peg6ZyA562J5b6F77yM5Li75pKt5bu25pe25bCP5LqOMzAwbXPvvJvmlK/mjIHljYHkuIfnuqfliKvop4LkvJflkIzml7bmkq3mlL7vvIzmkq3mlL7lu7bml7bkvY7oh7MxMDAwbXPjgII8YnI+XG4gICAgICogICAgICAgICAg6YCC5ZCI77yaW+inhumikeS9juW7tuaXtuebtOaSrV3jgIFb5Y2B5LiH5Lq65LqS5Yqo6K++5aCCXeOAgVvop4bpopHnm7Tmkq0gUEtd44CBW+inhumikeebuOS6suaIv13jgIFb5LqS5Yqo6K++5aCCXeOAgVvov5znqIvln7norq1d44CBW+i2heWkp+Wei+S8muiurl3nrYnjgII8YnI+XG4gICAgICogLSB7QGxpbmsgVFJUQ0FwcFNjZW5lVm9pY2VDaGF0Um9vbX3vvJo8YnI+XG4gICAgICogICAgICAgICAg6K+t6Z+z5LqS5Yqo55u05pKt77yM5pSv5oyB5bmz5ruR5LiK5LiL6bqm77yM5YiH5o2i6L+H56iL5peg6ZyA562J5b6F77yM5Li75pKt5bu25pe25bCP5LqOMzAwbXPvvJvmlK/mjIHljYHkuIfnuqfliKvop4LkvJflkIzml7bmkq3mlL7vvIzmkq3mlL7lu7bml7bkvY7oh7MxMDAwbXPjgII8YnI+XG4gICAgICogICAgICAgICAg6YCC5ZCI77yaW+ivremfs+S9juW7tuaXtuebtOaSrV3jgIFb6K+t6Z+z55u05pKt6L+e6bqmXeOAgVvor63ogYrmiL9d44CBW0sg5q2M5oi/XeOAgVtGTSDnlLXlj7Bd562J44CCPGJyPlxuICAgICAqXG4gICAgICogKipOb3RlOioqXG4gICAgICogMS4g5b2TIHNjZW5lIOmAieaLqeS4uiBUUlRDQXBwU2NlbmVMSVZFIOaIliBUUlRDQXBwU2NlbmVWb2ljZUNoYXRSb29tIOaXtu+8jOaCqOW/hemhu+mAmui/hyBUUlRDUGFyYW1zIOS4reeahCByb2xlIOWtl+auteaMh+WumuW9k+WJjeeUqOaIt+eahOinkuiJsuOAglxuICAgICAqIDIuIOS4jeeuoei/m+aIv+aYr+WQpuaIkOWKn++8jGVudGVyUm9vbSDpg73lv4XpobvkuI4gZXhpdFJvb20g6YWN5a+55L2/55So77yM5Zyo6LCD55SoIGBleGl0Um9vbWAg5YmN5YaN5qyh6LCD55SoIGBlbnRlclJvb21gIOWHveaVsOS8muWvvOiHtOS4jeWPr+mihOacn+eahOmUmeivr+mXrumimOOAglxuICAgICAqXG4gICAgICogQHBhcmFtIHtUUlRDUGFyYW1zfSBwYXJhbXMgLSDov5vmiL/lj4LmlbBcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gcGFyYW1zLnNka0FwcElkICAgICAgLSDlupTnlKjmoIfor4bvvIjlv4XloavvvIlcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gcGFyYW1zLnVzZXJJZCAgICAgICAgLSDnlKjmiLfmoIfor4bvvIjlv4XloavvvIlcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gcGFyYW1zLnVzZXJTaWcgICAgICAgLSDnlKjmiLfnrb7lkI3vvIjlv4XloavvvIlcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gcGFyYW1zLnJvb21JZCAgICAgICAgLSDmiL/pl7Tlj7fnoIEsIHJvb21JZCDlkowgc3RyUm9vbUlkIOW/hemhu+Whq+S4gOS4qiwg6Iul5oKo6YCJ55SoIHN0clJvb21JZO+8jOWImSByb29tSWQg6ZyA6KaB5aGr5YaZ5Li6MOOAglxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBwYXJhbXMuc3RyUm9vbUlkICAgICAtIOWtl+espuS4suaIv+mXtOWPt+eggSBb6YCJ5aGrXe+8jOWcqOWQjOS4gOS4quaIv+mXtOWGheeahOeUqOaIt+WPr+S7peeci+WIsOW9vOatpOW5tui/m+ihjOinhumikemAmuivnSwgcm9vbUlkIOWSjCBzdHJSb29tSWQg5b+F6aG75aGr5LiA5Liq44CC6Iul5Lik6ICF6YO95aGr77yM5YiZ5LyY5YWI6YCJ5oupIHJvb21JZFxuICAgICAqIEBwYXJhbSB7VFJUQ1JvbGVUeXBlfSBwYXJhbXMucm9sZSAgICAtIOebtOaSreWcuuaZr+S4i+eahOinkuiJsu+8jOm7mOiupOWAvO+8muS4u+aSrVxuICAgICAqIC0gVFJUQ1JvbGVBbmNob3I6IOS4u+aSre+8jOWPr+S7peS4iuihjOinhumikeWSjOmfs+mike+8jOS4gOS4quaIv+mXtOmHjOacgOWkmuaUr+aMgTUw5Liq5Li75pKt5ZCM5pe25LiK6KGM6Z+z6KeG6aKR44CCXG4gICAgICogLSBUUlRDUm9sZUF1ZGllbmNlOiDop4LkvJfvvIzlj6rog73op4LnnIvvvIzkuI3og73kuIrooYzop4bpopHlkozpn7PpopHvvIzkuIDkuKrmiL/pl7Tph4znmoTop4LkvJfkurrmlbDmsqHmnInkuIrpmZDjgIJcbiAgICAgKiBAcGFyYW0ge1N0cmluZz19IHBhcmFtcy5wcml2YXRlTWFwS2V5IC0g5oi/6Ze0562+5ZCN77yI6Z2e5b+F5aGr77yJXG4gICAgICogQHBhcmFtIHtTdHJpbmc9fSBwYXJhbXMuYnVzaW5lc3NJbmZvICAtIOS4muWKoeaVsOaNru+8iOmdnuW/heWhq++8iVxuICAgICAqIEBwYXJhbSB7U3RyaW5nPX0gcGFyYW1zLnN0cmVhbUlkICAgICAgLSDoh6rlrprkuYkgQ0ROIOaSreaUvuWcsOWdgO+8iOmdnuW/heWhq++8iVxuICAgICAqIEBwYXJhbSB7U3RyaW5nPX0gcGFyYW1zLnVzZXJEZWZpbmVSZWNvcmRJZCAtIOiuvue9ruS6keerr+W9leWItuWujOaIkOWQjueahOWbnuiwg+a2iOaBr+S4reeahCBcInVzZXJkZWZpbmVyZWNvcmRpZFwiIOWtl+auteWGheWuue+8jOS+v+S6juaCqOabtOaWueS+v+eahOivhuWIq+W9leWItuWbnuiwg++8iOmdnuW/heWhq++8iVxuICAgICAqIEBwYXJhbSB7VFJUQ0FwcFNjZW5lfSBzY2VuZSDlupTnlKjlnLrmma/vvIznm67liY3mlK/mjIHop4bpopHpgJror53vvIhUUlRDQXBwU2NlbmVWaWRlb0NhbGzvvInjgIHor63pn7PpgJror53vvIhUUlRDQXBwU2NlbmVBdWRpb0NhbGzvvInjgIHlnKjnur/nm7Tmkq3vvIhUUlRDQXBwU2NlbmVMSVZF77yJ44CB6K+t6Z+z6IGK5aSp5a6k77yIVlRSVENBcHBTY2VuZVZvaWNlQ2hhdFJvb23vvInlm5vnp43lnLrmma/vvIxcbiAgICAgKiDor6bop4EgW1RydGNEZWZpbmVzXSDkuK0gVFJUQ0FwcFNjZW5lIOWPguaVsOWumuS5iVxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogaW1wb3J0IHsgVFJUQ0FwcFNjZW5lIH0gZnJvbSAnQC9UcnRjQ2xvdWQvbGliL1RydGNEZWZpbmVzJztcbiAgICAgKiB0aGlzLnRydGNDbG91ZCA9IFRydGNDbG91ZC5jcmVhdGVJbnN0YW5jZSgpOyAvLyDliJvlu7rlrp7kvovvvIzlj6rpnIDliJvlu7rkuIDmrKFcbiAgICAgKiBjb25zdCBwYXJhbXMgPSB7XG4gICAgICogICBzZGtBcHBJZDogMCxcbiAgICAgKiAgIHVzZXJJZDogJ3h4eCcsXG4gICAgICogICByb29tSWQ6IDEyMzQ1LFxuICAgICAqICAgdXNlclNpZzogJ3h4eCdcbiAgICAgKiB9O1xuICAgICAqIHRoaXMudHJ0Y0Nsb3VkLmVudGVyUm9vbShwYXJhbXMsIFRSVENBcHBTY2VuZS5UUlRDQXBwU2NlbmVWaWRlb0NhbGwpO1xuICAgICAqL1xuICAgIGVudGVyUm9vbShwYXJhbXMsIHNjZW5lKSB7XG4gICAgICAgIHJldHVybiBUcnRjQ2xvdWRJbXBsLl9nZXRJbnN0YW5jZSgpLmVudGVyUm9vbShwYXJhbXMsIHNjZW5lKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog6YCA5oi/PGJyPlxuICAgICAqIOaJp+ihjOmAgOWHuuaIv+mXtOeahOebuOWFs+mAu+i+kemHiuaUvui1hOa6kOWQju+8jFNESyDkvJrpgJrov4cgYG9uRXhpdFJvb20oKWAg5Zue6LCD6YCa55+l5Yiw5oKoXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KipcbiAgICAgKiAxLiDlpoLmnpzmgqjopoHlho3mrKHosIPnlKggYGVudGVyUm9vbSgpYCDmiJbogIXliIfmjaLliLDlhbblroPnmoTpn7Pop4bpopEgU0RL77yM6K+3562J5b6FIGBvbkV4aXRSb29tKClgIOWbnuiwg+WIsOadpeWQjuWGjeaJp+ihjOebuOWFs+aTjeS9nO+8jOWQpuWImeWPr+iDveS8mumBh+WIsOWmguaRhOWDj+WktOOAgem6puWFi+mjjuiuvuWkh+iiq+W8uuWNoOetieWQhOenjeW8guW4uOmXrumimOOAglxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogdGhpcy50cnRjQ2xvdWQuZXhpdFJvb20oKTtcbiAgICAgKi9cbiAgICBleGl0Um9vbSgpIHtcbiAgICAgICAgcmV0dXJuIFRydGNDbG91ZEltcGwuX2dldEluc3RhbmNlKCkuZXhpdFJvb20oKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog5YiH5o2i6KeS6Imy77yM5LuF6YCC55So5LqO55u05pKt5Zy65pmv77yIVFJUQ0FwcFNjZW5lTElWRSDlkowgVFJUQ0FwcFNjZW5lVm9pY2VDaGF0Um9vbe+8iVxuICAgICAqXG4gICAgICog5Zyo55u05pKt5Zy65pmv5LiL77yM5LiA5Liq55So5oi35Y+v6IO96ZyA6KaB5Zyo4oCc6KeC5LyX4oCd5ZKM4oCc5Li75pKt4oCd5LmL6Ze05p2l5Zue5YiH5o2i44CCXG4gICAgICog5oKo5Y+v5Lul5Zyo6L+b5oi/5YmN6YCa6L+HIFRSVENQYXJhbXMg5Lit55qEIHJvbGUg5a2X5q6156Gu5a6a6KeS6Imy77yM5Lmf5Y+v5Lul6YCa6L+HIHN3aXRjaFJvbGUg5Zyo6L+b5oi/5ZCO5YiH5o2i6KeS6Imy44CCXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1RSVENSb2xlVHlwZX0gcm9sZSAtIOebruagh+inkuiJsu+8jOm7mOiupOS4uuS4u+aSrVxuICAgICAqIC0gVFJUQ1JvbGVBbmNob3I6IOS4u+aSre+8jOWPr+S7peS4iuihjOinhumikeWSjOmfs+mike+8jOS4gOS4quaIv+mXtOmHjOacgOWkmuaUr+aMgTUw5Liq5Li75pKt5ZCM5pe25LiK6KGM6Z+z6KeG6aKR44CCXG4gICAgICogLSBUUlRDUm9sZUF1ZGllbmNlOiDop4LkvJfvvIzlj6rog73op4LnnIvvvIzkuI3og73kuIrooYzop4bpopHlkozpn7PpopHvvIzkuIDkuKrmiL/pl7Tph4znmoTop4LkvJfkurrmlbDmsqHmnInkuIrpmZDjgIJcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBUcnRjQ2xvdWRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGltcG9ydCB7IFRSVENSb2xlVHlwZSB9IGZyb20gJ0AvVHJ0Y0Nsb3VkL2xpYi9UcnRjRGVmaW5lcyc7XG4gICAgICogdGhpcy50cnRjQ2xvdWQuc3dpdGNoUm9sZShUUlRDUm9sZVR5cGUuVFJUQ1JvbGVBdWRpZW5jZSk7XG4gICAgICovXG4gICAgc3dpdGNoUm9sZShyb2xlKSB7XG4gICAgICAgIHJldHVybiBUcnRjQ2xvdWRJbXBsLl9nZXRJbnN0YW5jZSgpLnN3aXRjaFJvbGUocm9sZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOivt+axgui3qOaIv+mAmuivnVxuICAgICAqXG4gICAgICog6buY6K6k5oOF5Ya15LiL77yM5Y+q5pyJ5ZCM5LiA5Liq5oi/6Ze05Lit55qE55So5oi35LmL6Ze05Y+v5Lul6L+b6KGM6Z+z6KeG6aKR6YCa6K+d77yM5LiN5ZCM55qE5oi/6Ze05LmL6Ze055qE6Z+z6KeG6aKR5rWB5piv55u45LqS6ZqU56a755qE44CCXG4gICAgICog5L2/55So6K+l5o6l5Y+j6K6p6Lqr5aSE5Lik5Liq5LiN5ZCM5oi/6Ze05Lit55qE5Li75pKt6L+b6KGM6Leo5oi/6Ze055qE6Z+z6KeG6aKR5rWB5YiG5Lqr77yM5LuO6ICM6K6p5q+P5Liq5oi/6Ze05Lit55qE6KeC5LyX6YO96IO96KeC55yL5Yiw6L+Z5Lik5Liq5Li75pKt55qE6Z+z6KeG6aKR44CCXG4gICAgICog6Leo5oi/6YCa6K+d55qE6K+35rGC57uT5p6c5Lya6YCa6L+H55uR5ZCsIFtvbkNvbm5lY3RPdGhlclJvb21dKGh0dHBzOi8vd2ViLnNkay5xY2xvdWQuY29tL3RydGMvdW5pYXBwL2RvYy96aC1jbi9UUlRDQ2FsbGJhY2suaHRtbCNldmVudDpvbkNvbm5lY3RPdGhlclJvb20pIOS6i+S7tumAmuefpee7meaCqOOAglxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIOi3qOaIv+mAmuivneWPguaVsFxuICAgICAqIC0g5aaC5p6c5a+556uv55qE5oi/6Ze05Y+35Li65pWw5a2X77yM6YKj5LmI5Lyg5YWl55qE5Y+C5pWw5Li6IHJvb21JZOOAglxuICAgICAqIC0g5aaC5p6c5a+556uv55qE5oi/6Ze05Y+35Li65a2X56ym5Liy77yM6YKj5LmI5Lyg5YWl55qE5Y+C5pWw5Li6IHN0clJvb21JZOOAglxuICAgICAqIC0g6ZKI5a+55a+556uv55qE5oi/6Ze05Y+357G75Z6L5Lyg6YCS5a+55bqU5Y+C5pWw77yM5LiN6ZyA6KaB5Lik5Liq5ZCM5pe25Lyg6YCS44CC5YW35L2T6K+355yLIGV4YW1wbGUg55qE5L2/55So44CCXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IHBhcmFtcy5yb29tSWQg6Leo5oi/6YCa6K+d5pe25a+556uv55qE5pWw5a2X5oi/6Ze05Y+3IHJvb21JZCjkuI4gc3RyUm9vbUlkIOmAieWhq+WFtuS4reS4gOS4qu+8jOS4jeWPr+WQjOaXtuS8oOmAkilcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gcGFyYW1zLnN0clJvb21JZCDot6jmiL/pgJror53ml7blr7nnq6/nmoTlrZfnrKbkuLLmiL/pl7Tlj7cgc3RyUm9vbUlkKOS4jiByb29tSWQg6YCJ5aGr5YW25Lit5LiA5Liq77yM5LiN5Y+v5ZCM5pe25Lyg6YCSKVxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBwYXJhbXMudXNlcklkIOi3qOaIv+mAmuivneaXtuWvueerr+eahCB1c2VySWQo5b+F5aGrKVxuICAgICAqXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgVHJ0Y0Nsb3VkXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiB0aGlzLnRydGNDbG91ZC5jb25uZWN0T3RoZXJSb29tKHtcInJvb21JZFwiOiAxMjMzLCBcInVzZXJJZFwiOiBcInVzZXJfMTFcIn0pO1xuICAgICAqIHRoaXMudHJ0Y0Nsb3VkLmNvbm5lY3RPdGhlclJvb20oe1wic3RyUm9vbUlkXCI6IFwiMTIzM1wiLCBcInVzZXJJZFwiOiBcInVzZXJfMjJcIn0pO1xuICAgICAqL1xuICAgIGNvbm5lY3RPdGhlclJvb20ocGFyYW1zKSB7XG4gICAgICAgIHJldHVybiBUcnRjQ2xvdWRJbXBsLl9nZXRJbnN0YW5jZSgpLmNvbm5lY3RPdGhlclJvb20ocGFyYW1zKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog6YCA5Ye66Leo5oi/6YCa6K+dXG4gICAgICpcbiAgICAgKiDpgIDlh7rot6jmiL/pgJror53nmoTor7fmsYLnu5PmnpzkvJrpgJrov4fnm5HlkKwgW29uRGlzY29ubmVjdE90aGVyUm9vbV0oaHR0cHM6Ly93ZWIuc2RrLnFjbG91ZC5jb20vdHJ0Yy91bmlhcHAvZG9jL3poLWNuL1RSVENDYWxsYmFjay5odG1sI2V2ZW50Om9uRGlzY29ubmVjdE90aGVyUm9vbSkg5LqL5Lu26YCa55+l57uZ5oKo44CCXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgVHJ0Y0Nsb3VkXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiB0aGlzLnRydGNDbG91ZC5kaXNjb25uZWN0T3RoZXJSb29tKCk7XG4gICAgICovXG4gICAgZGlzY29ubmVjdE90aGVyUm9vbSgpIHtcbiAgICAgICAgcmV0dXJuIFRydGNDbG91ZEltcGwuX2dldEluc3RhbmNlKCkuZGlzY29ubmVjdE90aGVyUm9vbSgpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiDlvIDlkK/mnKzlnLDop4bpopHnmoTpooTop4jnlLvpnaI8YnI+XG4gICAgICog5b2T5byA5aeL5riy5p+T6aaW5bin5pGE5YOP5aS055S76Z2i5pe277yM5oKo5Lya5pS25YiwIGBvbkZpcnN0VmlkZW9GcmFtZShudWxsKWAg5Zue6LCDXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0Jvb2xlYW59IGlzRnJvbnRDYW1lcmEg5YmN572u44CB5ZCO572u5pGE5YOP5aS077yMdHJ1Ze+8muWJjee9ruaRhOWDj+WktO+8m2ZhbHNl77ya5ZCO572u5pGE5YOP5aS077yMKirpu5jorqTkuLogdHJ1ZSoqXG4gICAgICogQHBhcmFtIHtTdHJpbmc9fSB2aWV3SWQg55So5LqO5om/6L296KeG6aKR55S76Z2i55qE5riy5p+T5o6n5Lu277yM5L2/55So5Y6f55Sf5o+S5Lu25Lit55qEIFRSVENDbG91ZFVuaVBsdWdpbi1UWExvY2FsVmlld0NvbXBvbmVudCBjb21wb25lbnTvvIzpnIDopoHmj5Dkvpsgdmlld0lkIOWxnuaAp+WAvO+8jOS+i+WmgiB2aWV3SWQ9dXNlcklkXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8g6aKE6KeI5pys5Zyw55S76Z2iXG4gICAgICogY29uc3Qgdmlld0lkID0gdGhpcy51c2VySWQ7XG4gICAgICogdGhpcy50cnRjQ2xvdWQuc3RhcnRMb2NhbFByZXZpZXcodHJ1ZSwgdmlld0lkKTtcbiAgICAgKi9cbiAgICBzdGFydExvY2FsUHJldmlldyhpc0Zyb250Q2FtZXJhID0gdHJ1ZSwgdmlld0lkKSB7XG4gICAgICAgIHJldHVybiBUcnRjQ2xvdWRJbXBsLl9nZXRJbnN0YW5jZSgpLnN0YXJ0TG9jYWxQcmV2aWV3KGlzRnJvbnRDYW1lcmEsIHZpZXdJZCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOiuvue9ruinhumikee8lueggeWZqOeahOe8lueggeWPguaVsFxuICAgICAqIC0g6K+l6K6+572u6IO95aSf5Yaz5a6a6L+c56uv55So5oi355yL5Yiw55qE55S76Z2i6LSo6YeP77yM5ZCM5pe25Lmf6IO95Yaz5a6a5LqR56uv5b2V5Yi25Ye655qE6KeG6aKR5paH5Lu255qE55S76Z2i6LSo6YeP44CCXG4gICAgICogQHBhcmFtIHtUUlRDVmlkZW9FbmNQYXJhbX0gcGFyYW0g55So5LqO6K6+572u6KeG6aKR57yW56CB5Zmo55qE55u45YWz5Y+C5pWwXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBpbXBvcnQgeyBUUlRDVmlkZW9SZXNvbHV0aW9uLCBUUlRDVmlkZW9SZXNvbHV0aW9uTW9kZSwgVFJUQ1ZpZGVvRW5jUGFyYW0gfSBmcm9tICdAL1RydGNDbG91ZC9saWIvVHJ0Y0RlZmluZXMnO1xuICAgICAqIGNvbnN0IHZpZGVvUmVzb2x1dGlvbiA9IFRSVENWaWRlb1Jlc29sdXRpb24uVFJUQ1ZpZGVvUmVzb2x1dGlvbl80ODBfMzYwO1xuICAgICAqIGNvbnN0IHZpZGVvUmVzb2x1dGlvbk1vZGUgPSBUUlRDVmlkZW9SZXNvbHV0aW9uTW9kZS5UUlRDVmlkZW9SZXNvbHV0aW9uTW9kZUxhbmRzY2FwZTsgLy8g5qiq5bGP6YeH6ZuGXG4gICAgICogY29uc3QgdmlkZW9GcHMgPSAxNTtcbiAgICAgKiBjb25zdCB2aWRlb0JpdHJhdGUgPSA5MDA7XG4gICAgICogY29uc3QgbWluVmlkZW9CaXRyYXRlID0gMjAwO1xuICAgICAqIGNvbnN0IGVuYWJsZUFkanVzdFJlcyA9IGZhbHNlO1xuICAgICAqIC8vIGNvbnN0IHBhcmFtID0gbmV3IFRSVENWaWRlb0VuY1BhcmFtKHZpZGVvUmVzb2x1dGlvbiwgdmlkZW9SZXNvbHV0aW9uTW9kZSwgdmlkZW9GcHMsIHZpZGVvQml0cmF0ZSwgbWluVmlkZW9CaXRyYXRlLCBlbmFibGVBZGp1c3RSZXMpOyAvLyB2MS4xLjAg5pa55byPXG4gICAgICpcbiAgICAgKiBjb25zdCBwYXJhbSA9IHsgLy8gdjEuMi4wIOS7peS4iueJiOacrOaUr+aMgeeahOaWueW8j1xuICAgICAqICB2aWRlb1Jlc29sdXRpb24sXG4gICAgICogIHZpZGVvUmVzb2x1dGlvbk1vZGUsXG4gICAgICogIHZpZGVvRnBzLFxuICAgICAqICB2aWRlb0JpdHJhdGUsXG4gICAgICogIG1pblZpZGVvQml0cmF0ZSxcbiAgICAgKiAgZW5hYmxlQWRqdXN0UmVzLFxuICAgICAqIH07XG4gICAgICpcbiAgICAgKiB0aGlzLnRydGNDbG91ZC5zZXRWaWRlb0VuY29kZXJQYXJhbShwYXJhbSk7XG4gICAgICovXG4gICAgc2V0VmlkZW9FbmNvZGVyUGFyYW0ocGFyYW0pIHtcbiAgICAgICAgcmV0dXJuIFRydGNDbG91ZEltcGwuX2dldEluc3RhbmNlKCkuc2V0VmlkZW9FbmNvZGVyUGFyYW0ocGFyYW0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiDliIfmjaLliY3nva7miJblkI7nva7mkYTlg4/lpLRcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7Qm9vbGVhbn0gaXNGcm9udENhbWVyYSDliY3nva7jgIHlkI7nva7mkYTlg4/lpLTvvIx0cnVl77ya5YmN572u5pGE5YOP5aS077ybZmFsc2XvvJrlkI7nva7mkYTlg4/lpLRcbiAgICAgKiBAbWVtYmVyb2YgVHJ0Y0Nsb3VkXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyDliIfmjaLliY3nva7miJblkI7nva7mkYTlg4/lpLRcbiAgICAgKiBjb25zdCBpc0Zyb250Q2FtZXJhID0gdHJ1ZTtcbiAgICAgKiB0aGlzLnRydGNDbG91ZC5zd2l0Y2hDYW1lcmEoaXNGcm9udENhbWVyYSk7XG4gICAgICovXG4gICAgc3dpdGNoQ2FtZXJhKGlzRnJvbnRDYW1lcmEpIHtcbiAgICAgICAgcmV0dXJuIFRydGNDbG91ZEltcGwuX2dldEluc3RhbmNlKCkuc3dpdGNoQ2FtZXJhKGlzRnJvbnRDYW1lcmEpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiDlgZzmraLmnKzlnLDop4bpopHph4fpm4blj4rpooTop4hcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBUcnRjQ2xvdWRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIHRoaXMudHJ0Y0Nsb3VkLnN0b3BMb2NhbFByZXZpZXcoKTtcbiAgICAgKi9cbiAgICBzdG9wTG9jYWxQcmV2aWV3KCkge1xuICAgICAgICByZXR1cm4gVHJ0Y0Nsb3VkSW1wbC5fZ2V0SW5zdGFuY2UoKS5zdG9wTG9jYWxQcmV2aWV3KCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOiuvue9ruacrOWcsOeUu+mdoueahOa4suafk+WPguaVsO+8jOWPr+iuvue9rueahOWPguaVsOWMheaLrOacie+8mueUu+mdoueahOaXi+i9rOinkuW6puOAgeWhq+WFheaooeW8j+S7peWPiuW3puWPs+mVnOWDj+etieOAglxuICAgICAqIEBwYXJhbSB7VFJUQ1JlbmRlclBhcmFtc30gcGFyYW1zIC0g5pys5Zyw5Zu+5YOP55qE5Y+C5pWwXG4gICAgICogQHBhcmFtIHtUUlRDVmlkZW9Sb3RhdGlvbn0gcGFyYW1zLnJvdGF0aW9uIC0g5Zu+5YOP55qE6aG65pe26ZKI5peL6L2s6KeS5bqm77yM5pSv5oyBOTDjgIExODDku6Xlj4oyNzDml4vovazop5LluqbvvIzpu5jorqTlgLzvvJpUUlRDVmlkZW9Sb3RhdGlvbi5UUlRDVmlkZW9Sb3RhdGlvbl8wXG4gICAgICogQHBhcmFtIHtUUlRDVmlkZW9GaWxsTW9kZX0gcGFyYW1zLmZpbGxNb2RlIC0g6KeG6aKR55S76Z2i5aGr5YWF5qih5byP77yM5aGr5YWF77yI55S76Z2i5Y+v6IO95Lya6KKr5ouJ5Ly46KOB5Ymq77yJ5oiW6YCC5bqU77yI55S76Z2i5Y+v6IO95Lya5pyJ6buR6L6577yJ77yM6buY6K6k5YC877yaVFJUQ1ZpZGVvRmlsbE1vZGUuVFJUQ1ZpZGVvRmlsbE1vZGVfRmlsbFxuICAgICAqIEBwYXJhbSB7VFJUQ1ZpZGVvTWlycm9yVHlwZX0gcGFyYW1zLm1pcnJvclR5cGUgLSDnlLvpnaLplZzlg4/mqKHlvI/vvIzpu5jorqTlgLzvvJpUUlRDVmlkZW9NaXJyb3JUeXBlLlRSVENWaWRlb01pcnJvclR5cGVfQXV0b1xuICAgICAqXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogaW1wb3J0IHsgVFJUQ1ZpZGVvUm90YXRpb24sIFRSVENWaWRlb0ZpbGxNb2RlLCBUUlRDVmlkZW9NaXJyb3JUeXBlIH0gZnJvbSAnQC9UcnRjQ2xvdWQvbGliL1RydGNEZWZpbmVzJztcbiAgICAgKiBjb25zdCByZW5kZXJQYXJhbXMgPSB7XG4gICAgICogIHJvdGF0aW9uOiBUUlRDVmlkZW9Sb3RhdGlvbi5UUlRDVmlkZW9Sb3RhdGlvbl8wLFxuICAgICAqICBmaWxsTW9kZTogVFJUQ1ZpZGVvRmlsbE1vZGUuVFJUQ1ZpZGVvRmlsbE1vZGVfRmlsbCxcbiAgICAgKiAgbWlycm9yVHlwZTogVFJUQ1ZpZGVvTWlycm9yVHlwZS5UUlRDVmlkZW9NaXJyb3JUeXBlX0F1dG9cbiAgICAgKiB9O1xuICAgICAqIHRoaXMudHJ0Y0Nsb3VkLnNldExvY2FsUmVuZGVyUGFyYW1zKHJlbmRlclBhcmFtcyk7XG4gICAgICovXG4gICAgc2V0TG9jYWxSZW5kZXJQYXJhbXMocGFyYW1zKSB7XG4gICAgICAgIHJldHVybiBUcnRjQ2xvdWRJbXBsLl9nZXRJbnN0YW5jZSgpLnNldExvY2FsUmVuZGVyUGFyYW1zKHBhcmFtcyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOaaguWBnC/mgaLlpI3lj5HluIPmnKzlnLDnmoTop4bpopHmtYFcbiAgICAgKlxuICAgICAqIOivpeaOpeWPo+WPr+S7peaaguWBnO+8iOaIluaBouWkje+8ieWPkeW4g+acrOWcsOeahOinhumikeeUu+mdou+8jOaaguWBnOS5i+WQju+8jOWQjOS4gOaIv+mXtOS4reeahOWFtuS7lueUqOaIt+WwhuaXoOazlee7p+e7reeci+WIsOiHquW3seeUu+mdouOAgiDor6XmjqXlj6PlnKjmjIflrpogVFJUQ1ZpZGVvU3RyZWFtVHlwZUJpZyDml7bnrYnmlYjkuo4gc3RhcnQvc3RvcExvY2FsUHJldmlldyDov5nkuKTkuKrmjqXlj6PvvIzkvYblhbfmnInmm7Tlpb3nmoTlk43lupTpgJ/luqbjgIIg5Zug5Li6IHN0YXJ0L3N0b3BMb2NhbFByZXZpZXcg6ZyA6KaB5omT5byA5ZKM5YWz6Zet5pGE5YOP5aS077yM6ICM5omT5byA5ZKM5YWz6Zet5pGE5YOP5aS06YO95piv56Gs5Lu26K6+5aSH55u45YWz55qE5pON5L2c77yM6Z2e5bi46ICX5pe244CCIOebuOavlOS5i+S4i++8jG11dGVMb2NhbFZpZGVvIOWPqumcgOimgeWcqOi9r+S7tuWxgumdouWvueaVsOaNrua1gei/m+ihjOaaguWBnOaIluiAheaUvuihjOWNs+WPr++8jOWboOatpOaViOeOh+abtOmrmO+8jOS5n+abtOmAguWQiOmcgOimgemikee5geaJk+W8gOWFs+mXreeahOWcuuaZr+OAgiDlvZPmmoLlgZwv5oGi5aSN5Y+R5biD5oyH5a6aIFRSVENWaWRlb1N0cmVhbVR5cGVCaWcg5ZCO77yM5ZCM5LiA5oi/6Ze05Lit55qE5YW25LuW55So5oi35bCG5Lya5pS25YiwIG9uVXNlclZpZGVvQXZhaWxhYmxlIOWbnuiwg+mAmuefpeOAgiDlvZPmmoLlgZwv5oGi5aSN5Y+R5biD5oyH5a6aIFRSVENWaWRlb1N0cmVhbVR5cGVTdWIg5ZCO77yM5ZCM5LiA5oi/6Ze05Lit55qE5YW25LuW55So5oi35bCG5Lya5pS25YiwIG9uVXNlclN1YlN0cmVhbUF2YWlsYWJsZSDlm57osIPpgJrnn6XjgIJcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gc3RyZWFtVHlwZSDopoHmmoLlgZwv5oGi5aSN55qE6KeG6aKR5rWB57G75Z6L77yI5LuF5pSv5oyBIFRSVENWaWRlb1N0cmVhbVR5cGVCaWcg5ZKMIFRSVENWaWRlb1N0cmVhbVR5cGVTdWLvvIlcbiAgICAgKiBAcGFyYW0ge0Jvb2xlYW59IG11dGUgLSB0cnVl77ya5bGP6JS977ybZmFsc2XvvJrlvIDlkK/vvIzpu5jorqTlgLzvvJpmYWxzZVxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogdGhpcy50cnRjQ2xvdWQubXV0ZUxvY2FsVmlkZW8oVFJUQ1ZpZGVvU3RyZWFtVHlwZS5UUlRDVmlkZW9TdHJlYW1UeXBlQmlnLCB0cnVlKTtcbiAgICAgKi9cbiAgICBtdXRlTG9jYWxWaWRlbyhzdHJlYW1UeXBlLCBtdXRlKSB7XG4gICAgICAgIHJldHVybiBUcnRjQ2xvdWRJbXBsLl9nZXRJbnN0YW5jZSgpLm11dGVMb2NhbFZpZGVvKHN0cmVhbVR5cGUsIG11dGUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiDmmL7npLrov5znq6/op4bpopHmiJbovoXmtYE8YnI+XG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gdXNlcklkIOaMh+Wumui/nOerr+eUqOaIt+eahCB1c2VySWRcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gc3RyZWFtVHlwZSDmjIflrpropoHop4LnnIsgdXNlcklkIOeahOinhumikea1geexu+Wei1xuICAgICAqIC0g6auY5riF5aSn55S76Z2i77yaVFJUQ1ZpZGVvU3RyZWFtVHlwZS5UUlRDVmlkZW9TdHJlYW1UeXBlQmlnXG4gICAgICogLSDkvY7muIXlsI/nlLvpnaLvvJpUUlRDVmlkZW9TdHJlYW1UeXBlLlRSVENWaWRlb1N0cmVhbVR5cGVTbWFsbFxuICAgICAqIC0g6L6F5rWB77yI5bGP5bmV5YiG5Lqr77yJ77yaVFJUQ1ZpZGVvU3RyZWFtVHlwZS5UUlRDVmlkZW9TdHJlYW1UeXBlU3ViXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHZpZXdJZCDnlKjkuo7mib/ovb3op4bpopHnlLvpnaLnmoTmuLLmn5Pmjqfku7bvvIzkvb/nlKjljp/nlJ/mj5Lku7bkuK3nmoQgVFJUQ0Nsb3VkVW5pUGx1Z2luLVRYUmVtb3RlVmlld0NvbXBvbmVudCBjb21wb25lbnTvvIzpnIDopoHmj5Dkvpsgdmlld0lkIOWxnuaAp+WAvO+8jOS+i+WmgiB2aWV3SWQ9dXNlcklkXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogaW1wb3J0IHsgVFJUQ1ZpZGVvU3RyZWFtVHlwZSB9IGZyb20gJ0AvVHJ0Y0Nsb3VkL2xpYi9UcnRjRGVmaW5lcyc7XG4gICAgICogY29uc3Qgdmlld0lkID0gdGhpcy5yZW1vdGVVc2VySWQ7XG4gICAgICogdGhpcy50cnRjQ2xvdWQuc3RhcnRSZW1vdGVWaWV3KHVzZXJJZCwgVFJUQ1ZpZGVvU3RyZWFtVHlwZS5UUlRDVmlkZW9TdHJlYW1UeXBlQmlnLCB2aWV3SWQpO1xuICAgICAqL1xuICAgIHN0YXJ0UmVtb3RlVmlldyh1c2VySWQsIHN0cmVhbVR5cGUsIHZpZXdJZCkge1xuICAgICAgICByZXR1cm4gVHJ0Y0Nsb3VkSW1wbC5fZ2V0SW5zdGFuY2UoKS5zdGFydFJlbW90ZVZpZXcodXNlcklkLCBzdHJlYW1UeXBlLCB2aWV3SWQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiDlgZzmraLmmL7npLrov5znq6/op4bpopHnlLvpnaLvvIzlkIzml7bkuI3lho3mi4nlj5bor6Xov5znq6/nlKjmiLfnmoTop4bpopHmlbDmja7mtYE8YnI+XG4gICAgICog5oyH5a6a6KaB5YGc5q2i6KeC55yL55qEIHVzZXJJZCDnmoTop4bpopHmtYHnsbvlnotcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSB1c2VySWQg5oyH5a6a55qE6L+c56uv55So5oi3IElEXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IHN0cmVhbVR5cGVcbiAgICAgKiAtIOmrmOa4heWkp+eUu+mdou+8mlRSVENWaWRlb1N0cmVhbVR5cGUuVFJUQ1ZpZGVvU3RyZWFtVHlwZUJpZ1xuICAgICAqIC0g5L2O5riF5bCP55S76Z2i77yaVFJUQ1ZpZGVvU3RyZWFtVHlwZS5UUlRDVmlkZW9TdHJlYW1UeXBlU21hbGxcbiAgICAgKiAtIOi+hea1ge+8iOWxj+W5leWIhuS6q++8ie+8mlRSVENWaWRlb1N0cmVhbVR5cGUuVFJUQ1ZpZGVvU3RyZWFtVHlwZVN1YlxuICAgICAqIEBtZW1iZXJvZiBUcnRjQ2xvdWRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGltcG9ydCB7IFRSVENWaWRlb1N0cmVhbVR5cGUgfSBmcm9tICdAL1RydGNDbG91ZC9saWIvVHJ0Y0RlZmluZXMnO1xuICAgICAqIHRoaXMudHJ0Y0Nsb3VkLnN0b3BSZW1vdGVWaWV3KHJlbW90ZVVzZXJJZCwgVFJUQ1ZpZGVvU3RyZWFtVHlwZS5UUlRDVmlkZW9TdHJlYW1UeXBlQmlnKTtcbiAgICAgKi9cbiAgICBzdG9wUmVtb3RlVmlldyh1c2VySWQsIHN0cmVhbVR5cGUpIHtcbiAgICAgICAgcmV0dXJuIFRydGNDbG91ZEltcGwuX2dldEluc3RhbmNlKCkuc3RvcFJlbW90ZVZpZXcodXNlcklkLCBzdHJlYW1UeXBlKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog6K6+572u6L+c56uv55S76Z2i55qE5riy5p+T5Y+C5pWw77yM5Y+v6K6+572u55qE5Y+C5pWw5YyF5ous5pyJ77ya55S76Z2i55qE5peL6L2s6KeS5bqm44CB5aGr5YWF5qih5byP5Lul5Y+K5bem5Y+z6ZWc5YOP562J44CCXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHVzZXJJZCDov5znq6/nlKjmiLcgSURcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gc3RyZWFtVHlwZSDlj6/ku6Xorr7nva7kuLrkuLvot6/nlLvpnaLvvIhUUlRDVmlkZW9TdHJlYW1UeXBlQmln77yJ5oiW6L6F6Lev55S76Z2i77yIVFJUQ1ZpZGVvU3RyZWFtVHlwZVN1Yu+8iVxuICAgICAqIEBwYXJhbSB7VFJUQ1JlbmRlclBhcmFtc30gcGFyYW1zIC0g5Zu+5YOP55qE5Y+C5pWwXG4gICAgICogQHBhcmFtIHtUUlRDVmlkZW9Sb3RhdGlvbn0gcGFyYW1zLnJvdGF0aW9uIC0g5Zu+5YOP55qE6aG65pe26ZKI5peL6L2s6KeS5bqm77yM5pSv5oyBOTDjgIExODDku6Xlj4oyNzDml4vovazop5LluqbvvIzpu5jorqTlgLzvvJpUUlRDVmlkZW9Sb3RhdGlvbi5UUlRDVmlkZW9Sb3RhdGlvbl8wXG4gICAgICogQHBhcmFtIHtUUlRDVmlkZW9GaWxsTW9kZX0gcGFyYW1zLmZpbGxNb2RlIC0g6KeG6aKR55S76Z2i5aGr5YWF5qih5byP77yM5aGr5YWF77yI55S76Z2i5Y+v6IO95Lya6KKr5ouJ5Ly46KOB5Ymq77yJ5oiW6YCC5bqU77yI55S76Z2i5Y+v6IO95Lya5pyJ6buR6L6577yJ77yM6buY6K6k5YC877yaVFJUQ1ZpZGVvRmlsbE1vZGUuVFJUQ1ZpZGVvRmlsbE1vZGVfRmlsbFxuICAgICAqIEBwYXJhbSB7VFJUQ1ZpZGVvTWlycm9yVHlwZX0gcGFyYW1zLm1pcnJvclR5cGUgLSDnlLvpnaLplZzlg4/mqKHlvI/vvIzpu5jorqTlgLzvvJpUUlRDVmlkZW9NaXJyb3JUeXBlLlRSVENWaWRlb01pcnJvclR5cGVfQXV0b1xuICAgICAqIEBtZW1iZXJvZiBUcnRjQ2xvdWRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGltcG9ydCB7IFRSVENWaWRlb1JvdGF0aW9uLCBUUlRDVmlkZW9GaWxsTW9kZSwgVFJUQ1ZpZGVvTWlycm9yVHlwZSB9IGZyb20gJ0AvVHJ0Y0Nsb3VkL2xpYi9UcnRjRGVmaW5lcyc7XG4gICAgICogY29uc3QgcmVuZGVyUGFyYW1zID0ge1xuICAgICAqICByb3RhdGlvbjogVFJUQ1ZpZGVvUm90YXRpb24uVFJUQ1ZpZGVvUm90YXRpb25fMCxcbiAgICAgKiAgZmlsbE1vZGU6IFRSVENWaWRlb0ZpbGxNb2RlLlRSVENWaWRlb0ZpbGxNb2RlX0ZpbGwsXG4gICAgICogIG1pcnJvclR5cGU6IFRSVENWaWRlb01pcnJvclR5cGUuVFJUQ1ZpZGVvTWlycm9yVHlwZV9BdXRvXG4gICAgICogfTtcbiAgICAgKiB0aGlzLnRydGNDbG91ZC5zZXRSZW1vdGVSZW5kZXJQYXJhbXModXNlcklkLCBUUlRDVmlkZW9TdHJlYW1UeXBlLlRSVENWaWRlb1N0cmVhbVR5cGVCaWcsIHJlbmRlclBhcmFtcyk7XG4gICAgICovXG4gICAgc2V0UmVtb3RlUmVuZGVyUGFyYW1zKHVzZXJJZCwgc3RyZWFtVHlwZSwgcGFyYW1zKSB7IH1cbiAgICAvKipcbiAgICAgKiDorr7nva7op4bpopHnvJbnoIHlmajovpPlh7rnmoTnlLvpnaLmlrnlkJE8YnI+XG4gICAgICog6K+l6K6+572u5LiN5b2x5ZON5pys5Zyw55S76Z2i55qE6aKE6KeI5pa55ZCR77yM5L2G5Lya5b2x5ZON5oi/6Ze05Lit5YW25LuW55So5oi35omA6KeC55yL5Yiw77yI5Lul5Y+K5LqR56uv5b2V5Yi25paH5Lu277yJ55qE55S76Z2i5pa55ZCR44CCXG4gICAgICog5b2T55So5oi35bCG5omL5py65oiWIFBhZCDkuIrkuIvpoqDlgJLml7bvvIznlLHkuo7mkYTlg4/lpLTnmoTph4fpm4bmlrnlkJHmsqHmnInlj5jvvIzmiYDku6XmiL/pl7TkuK3lhbbku5bnlKjmiLfmiYDnnIvliLDnmoTnlLvpnaLkvJrlj5jmiJDkuIrkuIvpoqDlgJLnmoTvvIxcbiAgICAgKiDlnKjov5nnp43mg4XlhrXkuIvvvIzmgqjlj6/ku6XpgJrov4fosIPnlKjor6XmjqXlj6PlsIYgU0RLIOe8lueggeWHuueahOeUu+mdouaWueWQkeaXi+i9rDE4MOW6pu+8jOWmguatpOS4gOadpe+8jOaIv+mXtOS4reWFtuS7lueUqOaIt+aJgOeci+WIsOeahOeUu+mdouWPr+S/neaMgeato+W4uOeahOaWueWQkeOAglxuICAgICAqIOWmguaenOaCqOW4jOacm+WunueOsOS4iui/sOi/meenjeWPi+WlveeahOS6pOS6kuS9k+mqjO+8jOaIkeS7rOabtOaOqOiNkOaCqOebtOaOpeiwg+eUqCBzZXRHU2Vuc29yTW9kZSDlrp7njrDmm7TliqDmmbrog73nmoTmlrnlkJHpgILphY3vvIzml6DpnIDmgqjmiYvliqjosIPnlKjmnKzmjqXlj6PjgIJcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gcm90YXRpb24g55uu5YmN5pSv5oyBIDDjgIE5MOOAgTE4MOOAgTI3MCDkuKTkuKrml4vovazop5LluqbvvIzpu5jorqTlgLzvvJpUUlRDVmlkZW9Sb3RhdGlvbl8w77yM5Y2z5LiN5peL6L2s44CCXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogaW1wb3J0IHsgVFJUQ1ZpZGVvUm90YXRpb24gfSBmcm9tICdAL1RydGNDbG91ZC9saWIvVHJ0Y0RlZmluZXMnO1xuICAgICAqIHRoaXMudHJ0Y0Nsb3VkLnNldFZpZGVvRW5jb2RlclJvdGF0aW9uKFRSVENWaWRlb1JvdGF0aW9uLlRSVENWaWRlb1JvdGF0aW9uXzkwKTtcbiAgICAgKi9cbiAgICBzZXRWaWRlb0VuY29kZXJSb3RhdGlvbihyb3RhdGlvbikge1xuICAgICAgICByZXR1cm4gVHJ0Y0Nsb3VkSW1wbC5fZ2V0SW5zdGFuY2UoKS5zZXRWaWRlb0VuY29kZXJSb3RhdGlvbihyb3RhdGlvbik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOiuvue9rue8lueggeWZqOi+k+WHuueahOeUu+mdoumVnOWDj+aooeW8j1xuICAgICAqIEBwYXJhbSB7Qm9vbGVhbn0gbWlycm9yIOaYr+WQpuW8gOWQr+i/nOerr+mVnOWDj++8jHRydWXvvJrlvIDlkK/ov5znq6/nlLvpnaLplZzlg4/vvJtmYWxzZe+8muWFs+mXrei/nOerr+eUu+mdoumVnOWDj++8jOm7mOiupOWAvO+8mmZhbHNl44CCXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogdGhpcy50cnRjQ2xvdWQuc2V0VmlkZW9FbmNvZGVyTWlycm9yKHRydWUpO1xuICAgICAqL1xuICAgIHNldFZpZGVvRW5jb2Rlck1pcnJvcihtaXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIFRydGNDbG91ZEltcGwuX2dldEluc3RhbmNlKCkuc2V0VmlkZW9FbmNvZGVyTWlycm9yKG1pcnJvcik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOiuvue9rumHjeWKm+aEn+W6lOeahOmAgumFjeaooeW8jzxicj5cbiAgICAgKiDmgqjlj6/ku6XpgJrov4fmnKzmjqXlj6Plrp7njrDlpoLkuIvov5nnp43lj4vlpb3nmoTkuqTkupLkvZPpqozvvJpcbiAgICAgKiDlvZPnlKjmiLflsIbmiYvmnLrmiJYgUGFkIOS4iuS4i+mioOWAkuaXtu+8jOeUseS6juaRhOWDj+WktOeahOmHh+mbhuaWueWQkeayoeacieWPmO+8jOaJgOS7peaIv+mXtOS4reWFtuS7lueUqOaIt+aJgOeci+WIsOeahOeUu+mdouS8muWPmOaIkOS4iuS4i+mioOWAkueahO+8jFxuICAgICAqIOWcqOi/meenjeaDheWGteS4i++8jOaCqOWPr+S7pemAmui/h+iwg+eUqOivpeaOpeWPo+iuqSBTREsg5qC55o2u6K6+5aSH6ZmA6J665Luq55qE5pyd5ZCR6Ieq5Yqo6LCD5pW05pys5Zyw55S76Z2i5ZKM57yW56CB5Zmo6L6T5Ye655S76Z2i55qE5peL6L2s5pa55ZCR77yM5Lul5L2/6L+c56uv6KeC5LyX5Y+v5Lul55yL5Yiw5q2j5bi45pyd5ZCR55qE55S76Z2i44CCXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IG1vZGUg6YeN5Yqb5oSf5bqU5qih5byP77yM6K+m5oOF6K+35Y+C6KeBIFRSVENHU2Vuc29yTW9kZe+8jOm7mOiupOWAvO+8mlRSVENHU2Vuc29yTW9kZV9VSUF1dG9MYXlvdXTjgILjgIJcbiAgICAgKiBAbWVtYmVyb2YgVHJ0Y0Nsb3VkXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBpbXBvcnQgeyBUUlRDR1NlbnNvck1vZGUgfSBmcm9tICdAL1RydGNDbG91ZC9saWIvVHJ0Y0RlZmluZXMnO1xuICAgICAqIHRoaXMudHJ0Y0Nsb3VkLnNldEdTZW5zb3JNb2RlKFRSVENHU2Vuc29yTW9kZS5UUlRDX0dTRU5TT1JfTU9ERV9ESVNBQkxFKTtcbiAgICAgKi9cbiAgICBzZXRHU2Vuc29yTW9kZShtb2RlKSB7XG4gICAgICAgIHJldHVybiBUcnRjQ2xvdWRJbXBsLl9nZXRJbnN0YW5jZSgpLnNldEdTZW5zb3JNb2RlKG1vZGUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiDop4bpopHnlLvpnaLmiKrlm75cbiAgICAgKlxuICAgICAqIOaCqOWPr+S7pemAmui/h+acrOaOpeWPo+aIquWPluacrOWcsOeahOinhumikeeUu+mdou+8jOi/nOerr+eUqOaIt+eahOS4u+i3r+eUu+mdouS7peWPiui/nOerr+eUqOaIt+eahOi+hei3r++8iOWxj+W5leWIhuS6q++8ieeUu+mdouOAglxuICAgICAqXG4gICAgICogQHBhcmFtIHtTdHJpbmcgfCBudWxsfSB1c2VySWQg55So5oi3IElE77yM5aaC5oyH5a6aIG51bGwg6KGo56S65oiq5Y+W5pys5Zyw55qE6KeG6aKR55S76Z2iXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IHN0cmVhbVR5cGUg6KeG6aKR5rWB57G75Z6L77yM5Y+v6YCJ5oup5oiq5Y+W5Li76Lev55S76Z2i77yIVFJUQ1ZpZGVvU3RyZWFtVHlwZUJpZ++8jOW4uOeUqOS6juaRhOWDj+WktO+8ieaIlui+hei3r+eUu+mdou+8iFRSVENWaWRlb1N0cmVhbVR5cGVTdWLvvIzluLjnlKjkuo7lsY/luZXliIbkuqvvvIlcbiAgICAgKiBAcGFyYW0ge1RSVENTbmFwc2hvdFNvdXJjZVR5cGV9IHNvdXJjZVR5cGUg55S76Z2i5p2l5rqQ77yM5Y+v6YCJ5oup5oiq5Y+W6KeG6aKR5rWB55S76Z2i77yIVFJUQ1NuYXBzaG90U291cmNlVHlwZVN0cmVhbe+8ieaIluinhumikea4suafk+eUu+mdou+8iFRSVENTbmFwc2hvdFNvdXJjZVR5cGVWaWV377yJ77yM5YmN6ICF5LiA6Iis5pu05riF5pmwXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgVHJ0Y0Nsb3VkXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBpbXBvcnQgeyBUUlRDVmlkZW9TdHJlYW1UeXBlIH0gZnJvbSAnQC9UcnRjQ2xvdWQvbGliL1RydGNEZWZpbmVzJztcbiAgICAgKiB0aGlzLnRydGNDbG91ZC5zbmFwc2hvdFZpZGVvKG51bGwsIFRSVENWaWRlb1N0cmVhbVR5cGUuVFJUQ1ZpZGVvU3RyZWFtVHlwZUJpZywgVFJUQ1NuYXBzaG90U291cmNlVHlwZS5UUlRDU25hcHNob3RTb3VyY2VUeXBlU3RyZWFtKTsgLy8g5oiq5Y+W5pys5Zyw6KeG6aKR5rWB55S76Z2iXG4gICAgICogdGhpcy50cnRjQ2xvdWQuc25hcHNob3RWaWRlbyh0aGlzLnJlbW90ZVVzZXJJZCwgVFJUQ1ZpZGVvU3RyZWFtVHlwZS5UUlRDVmlkZW9TdHJlYW1UeXBlQmlnLCBUUlRDU25hcHNob3RTb3VyY2VUeXBlLlRSVENTbmFwc2hvdFNvdXJjZVR5cGVWaWV3KTsgLy8g5oiq5Y+W6L+c56uv5oyH5a6a55So5oi36KeG6aKR5riy5p+T55S76Z2iXG4gICAgICovXG4gICAgc25hcHNob3RWaWRlbyh1c2VySWQsIHN0cmVhbVR5cGUsIHNvdXJjZVR5cGUpIHtcbiAgICAgICAgcmV0dXJuIFRydGNDbG91ZEltcGwuX2dldEluc3RhbmNlKCkuc25hcHNob3RWaWRlbyh1c2VySWQsIHN0cmVhbVR5cGUsIHNvdXJjZVR5cGUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiDlvIDlkK/mnKzlnLDpn7PpopHnmoTph4fpm4blkozkuIrooYwsIOW5tuiuvue9rumfs+mikei0qOmHjzxicj5cbiAgICAgKiDor6Xlh73mlbDkvJrlkK/liqjpuqblhYvpo47ph4fpm4bvvIzlubblsIbpn7PpopHmlbDmja7kvKDovpPnu5nmiL/pl7Tph4znmoTlhbbku5bnlKjmiLfjgIIgU0RLIOS4jeS8mum7mOiupOW8gOWQr+acrOWcsOmfs+mikemHh+mbhuWSjOS4iuihjO+8jOaCqOmcgOimgeiwg+eUqOivpeWHveaVsOW8gOWQr++8jOWQpuWImeaIv+mXtOmHjOeahOWFtuS7lueUqOaIt+WwhuaXoOazleWQrOWIsOaCqOeahOWjsOmfszxicj5cbiAgICAgKiDkuLvmkq3nq6/nmoTpn7PotKjotorpq5jvvIzop4LkvJfnq6/nmoTlkKzmhJ/otorlpb3vvIzkvYbkvKDovpPmiYDkvp3otZbnmoTluKblrr3kuZ/lsLHotorpq5jvvIzlnKjluKblrr3mnInpmZDnmoTlnLrmma/kuIvkuZ/mm7TlrrnmmJPlh7rnjrDljaHpob9cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7VFJUQ0F1ZGlvUXVhbGl0eX0gcXVhbGl0eSDlo7Dpn7Ppn7PotKhcbiAgICAgKiAtIFRSVENBdWRpb1F1YWxpdHlTcGVlY2jvvIzmtYHnlYXvvJrph4fmoLfnjofvvJoxNmvvvJvljZXlo7DpgZPvvJvpn7PpopHoo7jnoIHnjofvvJoxNmticHPvvJvpgILlkIjor63pn7PpgJror53kuLrkuLvnmoTlnLrmma/vvIzmr5TlpoLlnKjnur/kvJrorq7vvIzor63pn7PpgJror53jgIJcbiAgICAgKiAtIFRSVENBdWRpb1F1YWxpdHlEZWZhdWx077yM6buY6K6k77ya6YeH5qC3546H77yaNDhr77yb5Y2V5aOw6YGT77yb6Z+z6aKR6KO456CB546H77yaNTBrYnBz77ybU0RLIOm7mOiupOeahOmfs+mikei0qOmHj++8jOWmguaXoOeJueauiumcgOaxguaOqOiNkOmAieaLqeS5i+OAglxuICAgICAqIC0gVFJUQ0F1ZGlvUXVhbGl0eU11c2lj77yM6auY6Z+z6LSo77ya6YeH5qC3546H77yaNDhr77yb5Y+M5aOw6YGTICsg5YWo6aKR5bim77yb6Z+z6aKR6KO456CB546H77yaMTI4a2Jwc++8m+mAguWQiOmcgOimgemrmOS/neecn+S8oOi+k+mfs+S5kOeahOWcuuaZr++8jOavlOWmguWcqOe6v0vmrYzjgIHpn7PkuZDnm7Tmkq3nrYlcbiAgICAgKiBAbWVtYmVyb2YgVHJ0Y0Nsb3VkXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBpbXBvcnQgeyBUUlRDQXVkaW9RdWFsaXR5IH0gZnJvbSAnQC9UcnRjQ2xvdWQvbGliL1RydGNEZWZpbmVzJztcbiAgICAgKiB0aGlzLnRydGNDbG91ZC5zdGFydExvY2FsQXVkaW8oVFJUQ0F1ZGlvUXVhbGl0eS5UUlRDQXVkaW9RdWFsaXR5RGVmYXVsdCk7XG4gICAgICovXG4gICAgc3RhcnRMb2NhbEF1ZGlvKHF1YWxpdHkpIHtcbiAgICAgICAgcmV0dXJuIFRydGNDbG91ZEltcGwuX2dldEluc3RhbmNlKCkuc3RhcnRMb2NhbEF1ZGlvKHF1YWxpdHkpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiDlhbPpl63mnKzlnLDpn7PpopHnmoTph4fpm4blkozkuIrooYw8YnI+XG4gICAgICog5b2T5YWz6Zet5pys5Zyw6Z+z6aKR55qE6YeH6ZuG5ZKM5LiK6KGM77yM5oi/6Ze06YeM55qE5YW25a6D5oiQ5ZGY5Lya5pS25YiwIGBvblVzZXJBdWRpb0F2YWlsYWJsZShmYWxzZSlgIOWbnuiwg+mAmuefpVxuICAgICAqXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogdGhpcy50cnRjQ2xvdWQuc3RvcExvY2FsQXVkaW8oKTtcbiAgICAgKi9cbiAgICBzdG9wTG9jYWxBdWRpbygpIHtcbiAgICAgICAgcmV0dXJuIFRydGNDbG91ZEltcGwuX2dldEluc3RhbmNlKCkuc3RvcExvY2FsQXVkaW8oKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog6Z2Z6Z+z5pys5Zyw55qE6Z+z6aKRXG4gICAgICpcbiAgICAgKiDlvZPpnZnpn7PmnKzlnLDpn7PpopHlkI7vvIzmiL/pl7Tph4znmoTlhbblroPmiJDlkZjkvJrmlLbliLAgb25Vc2VyQXVkaW9BdmFpbGFibGUoZmFsc2UpIOWbnuiwg+mAmuefpeOAglxuICAgICAqIOS4jiBzdG9wTG9jYWxBdWRpbyDkuI3lkIzkuYvlpITlnKjkuo7vvIxtdXRlTG9jYWxBdWRpbyDlubbkuI3kvJrlgZzmraLlj5HpgIHpn7Pop4bpopHmlbDmja7vvIzogIzmmK/kvJrnu6fnu63lj5HpgIHnoIHnjofmnoHkvY7nmoTpnZnpn7PljIXjgIJcbiAgICAgKiDlnKjlr7nlvZXliLbotKjph4/opoHmsYLlvojpq5jnmoTlnLrmma/kuK3vvIzpgInmi6kgbXV0ZUxvY2FsQXVkaW8g5piv5pu05aW955qE6YCJ5oup77yM6IO95b2V5Yi25Ye65YW85a655oCn5pu05aW955qEIE1QNCDmlofku7bjgIJcbiAgICAgKiDov5nmmK/nlLHkuo4gTVA0IOetieinhumikeaWh+S7tuagvOW8j++8jOWvueS6jumfs+mikeeahOi/nue7reaAp+aYr+imgeaxguW+iOmrmOeahO+8jOeugOWNleeyl+aatOWcsCBzdG9wTG9jYWxBdWRpbyDkvJrlr7zoh7TlvZXliLblh7rnmoQgTVA0IOS4jeaYk+aSreaUvuOAglxuICAgICAqXG4gICAgICogQHBhcmFtIHtCb29sZWFufSBtdXRlIC0gdHJ1Ze+8muWxj+iUve+8m2ZhbHNl77ya5byA5ZCv77yM6buY6K6k5YC877yaZmFsc2VcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBUcnRjQ2xvdWRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIHRoaXMudHJ0Y0Nsb3VkLm11dGVMb2NhbEF1ZGlvKHRydWUpO1xuICAgICAqL1xuICAgIG11dGVMb2NhbEF1ZGlvKG11dGUpIHtcbiAgICAgICAgcmV0dXJuIFRydGNDbG91ZEltcGwuX2dldEluc3RhbmNlKCkubXV0ZUxvY2FsQXVkaW8obXV0ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOmdmemfs+aOieafkOS4gOS4queUqOaIt+eahOWjsOmfs++8jOWQjOaXtuS4jeWGjeaLieWPluivpei/nOerr+eUqOaIt+eahOmfs+mikeaVsOaNrua1gVxuICAgICAqXG4gICAgICogQHBhcmFtIHtTdHJpbmd9ICB1c2VySWQgLSDnlKjmiLcgSURcbiAgICAgKiBAcGFyYW0ge0Jvb2xlYW59IG11dGUgICAtIHRydWXvvJrpnZnpn7PvvJtmYWxzZe+8mumdnumdmemfs1xuICAgICAqXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogdGhpcy50cnRjQ2xvdWQubXV0ZVJlbW90ZUF1ZGlvKCdkZW5ueScsIHRydWUpO1xuICAgICAqL1xuICAgIG11dGVSZW1vdGVBdWRpbyh1c2VySWQsIG11dGUpIHtcbiAgICAgICAgcmV0dXJuIFRydGNDbG91ZEltcGwuX2dldEluc3RhbmNlKCkubXV0ZVJlbW90ZUF1ZGlvKHVzZXJJZCwgbXV0ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOmdmemfs+aOieaJgOacieeUqOaIt+eahOWjsOmfs++8jOWQjOaXtuS4jeWGjeaLieWPluivpei/nOerr+eUqOaIt+eahOmfs+mikeaVsOaNrua1gVxuICAgICAqXG4gICAgICogQHBhcmFtIHtCb29sZWFufSBtdXRlIC0gdHJ1Ze+8mumdmemfs++8m2ZhbHNl77ya6Z2e6Z2Z6Z+zXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgVHJ0Y0Nsb3VkXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiB0aGlzLnRydGNDbG91ZC5tdXRlQWxsUmVtb3RlQXVkaW8odHJ1ZSk7XG4gICAgICovXG4gICAgbXV0ZUFsbFJlbW90ZUF1ZGlvKG11dGUpIHtcbiAgICAgICAgcmV0dXJuIFRydGNDbG91ZEltcGwuX2dldEluc3RhbmNlKCkubXV0ZUFsbFJlbW90ZUF1ZGlvKG11dGUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiDorr7nva7pn7PpopHot6/nlLFcbiAgICAgKlxuICAgICAqIOiuvue9ruKAnOmfs+mikei3r+eUseKAne+8jOWNs+iuvue9ruWjsOmfs+aYr+S7juaJi+acuueahOaJrOWjsOWZqOi/mOaYr+S7juWQrOetkuS4reaSreaUvuWHuuadpe+8jOWboOatpOivpeaOpeWPo+S7hemAgueUqOS6juaJi+acuuetieenu+WKqOerr+iuvuWkh+OAgiDmiYvmnLrmnInkuKTkuKrmiazlo7DlmajvvJrkuIDkuKrmmK/kvY3kuo7miYvmnLrpobbpg6jnmoTlkKznrZLvvIzkuIDkuKrmmK/kvY3kuo7miYvmnLrlupXpg6jnmoTnq4vkvZPlo7Dmiazlo7DlmajjgIJcbiAgICAgKiDorr7nva7pn7PpopHot6/nlLHkuLrlkKznrZLml7bvvIzlo7Dpn7Pmr5TovoPlsI/vvIzlj6rmnInlsIbogLPmnLXlh5Hov5HmiY3og73lkKzmuIXmpZrvvIzpmpDnp4HmgKfovoPlpb3vvIzpgILlkIjnlKjkuo7mjqXlkKznlLXor53jgIIg6K6+572u6Z+z6aKR6Lev55Sx5Li65oms5aOw5Zmo5pe277yM5aOw6Z+z5q+U6L6D5aSn77yM5LiN55So5bCG5omL5py66LS06IS45Lmf6IO95ZCs5riF77yM5Zug5q2k5Y+v5Lul5a6e546w4oCc5YWN5o+Q4oCd55qE5Yqf6IO944CCXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1RSVENBdWRpb1JvdXRlfSByb3V0ZSDpn7PpopHot6/nlLHvvIzljbPlo7Dpn7PnlLHlk6rph4zovpPlh7rvvIjmiazlo7DlmajjgIHlkKznrZLvvIksIOm7mOiupOWAvO+8mlRSVENBdWRpb1JvdXRlLlRSVENBdWRpb1JvdXRlU3BlYWtlcu+8iOaJrOWjsOWZqO+8iSxcbiAgICAgKiBAbWVtYmVyb2YgVHJ0Y0Nsb3VkXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBpbXBvcnQgeyBUUlRDQXVkaW9Sb3V0ZSB9IGZyb20gJ0AvVHJ0Y0Nsb3VkL2xpYi9UcnRjRGVmaW5lcyc7XG4gICAgICogdGhpcy50cnRjQ2xvdWQuc2V0QXVkaW9Sb3V0ZShUUlRDQXVkaW9Sb3V0ZS5UUlRDQXVkaW9Sb3V0ZVNwZWFrZXIpOyAvLyBUUlRDQXVkaW9Sb3V0ZS5UUlRDQXVkaW9Sb3V0ZUVhcnBpZWNlICjlkKznrZIpXG4gICAgICovXG4gICAgc2V0QXVkaW9Sb3V0ZShyb3V0ZSkge1xuICAgICAgICByZXR1cm4gVHJ0Y0Nsb3VkSW1wbC5fZ2V0SW5zdGFuY2UoKS5zZXRBdWRpb1JvdXRlKHJvdXRlKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog5ZCv55So5oiW5YWz6Zet6Z+z6YeP5aSn5bCP5o+Q56S6XG4gICAgICpcbiAgICAgKiDlvIDlkK/mraTlip/og73lkI7vvIxTREsg5Lya5ZyoIG9uVXNlclZvaWNlVm9sdW1lKCkg5Lit5Y+N6aaI5a+55q+P5LiA6Lev5aOw6Z+z6Z+z6YeP5aSn5bCP5YC855qE6K+E5Lyw44CCXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KipcbiAgICAgKiAtIOWmgumcgOaJk+W8gOatpOWKn+iDve+8jOivt+WcqCBzdGFydExvY2FsQXVkaW8g5LmL5YmN6LCD55So5omN5Y+v5Lul55Sf5pWI44CCXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gaW50ZXJ2YWwgLSDorr7nva4gb25Vc2VyVm9pY2VWb2x1bWUg5Zue6LCD55qE6Kem5Y+R6Ze06ZqU77yM5Y2V5L2N5Li6bXPvvIzmnIDlsI/pl7TpmpTkuLoxMDBtc++8jOWmguaenOWwj+S6juetieS6jjDliJnkvJrlhbPpl63lm57osIPvvIzlu7rorq7orr7nva7kuLozMDBtc1xuICAgICAqIEBtZW1iZXJvZiBUcnRjQ2xvdWRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIHRoaXMudHJ0Y0Nsb3VkLmVuYWJsZUF1ZGlvVm9sdW1lRXZhbHVhdGlvbigzMDApO1xuICAgICAqL1xuICAgIGVuYWJsZUF1ZGlvVm9sdW1lRXZhbHVhdGlvbihpbnRlcnZhbCkge1xuICAgICAgICByZXR1cm4gVHJ0Y0Nsb3VkSW1wbC5fZ2V0SW5zdGFuY2UoKS5lbmFibGVBdWRpb1ZvbHVtZUV2YWx1YXRpb24oaW50ZXJ2YWwpO1xuICAgIH1cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvL1xuICAgIC8vICAgICAgICAgICAgICAgICAgICAgIOWxj+W5leWIhuS6q1xuICAgIC8vXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLyoqXG4gICAgICog6K6+572u5bGP5bmV5YiG5Lqr77yI5Y2z6L6F6Lev77yJ55qE6KeG6aKR57yW56CB5Y+C5pWwXG4gICAgICpcbiAgICAgKiDor6XmjqXlj6Plj6/ku6Xorr7lrprov5znq6/nlKjmiLfmiYDnnIvliLDnmoTlsY/luZXliIbkuqvvvIjljbPovoXot6/vvInnmoTnlLvpnaLotKjph4/vvIzlkIzml7bkuZ/og73lhrPlrprkupHnq6/lvZXliLblh7rnmoTop4bpopHmlofku7bkuK3lsY/luZXliIbkuqvnmoTnlLvpnaLotKjph4/jgIIg6K+35rOo5oSP5aaC5LiL5Lik5Liq5o6l5Y+j55qE5beu5byC77yaXG4gICAgICogIC0gc2V0VmlkZW9FbmNvZGVyUGFyYW0g55So5LqO6K6+572u5Li76Lev55S76Z2i77yIVFJUQ1ZpZGVvU3RyZWFtVHlwZUJpZ++8jOS4gOiIrOeUqOS6juaRhOWDj+WktO+8ieeahOinhumikee8lueggeWPguaVsOOAglxuICAgICAqICAtIHNldFN1YlN0cmVhbUVuY29kZXJQYXJhbSDnlKjkuo7orr7nva7ovoXot6/nlLvpnaLvvIhUUlRDVmlkZW9TdHJlYW1UeXBlU3Vi77yM5LiA6Iis55So5LqO5bGP5bmV5YiG5Lqr77yJ55qE6KeG6aKR57yW56CB5Y+C5pWw44CCXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KipcbiAgICAgKiAgLSDljbPkvb/mgqjkvb/nlKjkuLvot6/kvKDovpPlsY/luZXliIbkuqvvvIjlnKjosIPnlKggc3RhcnRTY3JlZW5DYXB0dXJlIOaXtuiuvue9riB0eXBlPVRSVENWaWRlb1N0cmVhbVR5cGVCaWfvvInvvIzkvp3nhLbopoHkvb/nlKggc2V0U3ViU3RyZWFtRW5jb2RlclBhcmFtIOiuvuWumuWxj+W5leWIhuS6q+eahOe8lueggeWPguaVsO+8jOiAjOS4jeimgeS9v+eUqCBzZXRWaWRlb0VuY29kZXJQYXJhbVxuICAgICAqIEBwYXJhbSB7VFJUQ1ZpZGVvRW5jUGFyYW19IHBhcmFtXHTovoXmtYHnvJbnoIHlj4LmlbDvvIzor6bmg4Xor7flj4LogIMgVFJUQ1ZpZGVvRW5jUGFyYW3jgIJcbiAgICAgKiBAbWVtYmVyb2YgVHJ0Y0Nsb3VkXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBjb25zdCBwYXJhbXMgPSB7XG4gICAgICogICB2aWRlb1Jlc29sdXRpb246IFRSVENWaWRlb1Jlc29sdXRpb24uVFJUQ1ZpZGVvUmVzb2x1dGlvbl82NDBfMzYwLFxuICAgICAqICAgdmlkZW9SZXNvbHV0aW9uTW9kZTogVFJUQ1ZpZGVvUmVzb2x1dGlvbk1vZGUuVFJUQ1ZpZGVvUmVzb2x1dGlvbk1vZGVQb3J0cmFpdCxcbiAgICAgKiAgIHZpZGVvRnBzOiAxNSxcbiAgICAgKiAgIHZpZGVvQml0cmF0ZTogOTAwLFxuICAgICAqICAgbWluVmlkZW9CaXRyYXRlOiAyMDAsXG4gICAgICogICBlbmFibGVBZGp1c3RSZXM6IGZhbHNlLFxuICAgICAqIH07XG4gICAgICogdGhpcy50cnRjQ2xvdWQuc2V0U3ViU3RyZWFtRW5jb2RlclBhcmFtKHBhcmFtcyk7XG4gICAgICovXG4gICAgc2V0U3ViU3RyZWFtRW5jb2RlclBhcmFtKHBhcmFtKSB7XG4gICAgICAgIHJldHVybiBUcnRjQ2xvdWRJbXBsLl9nZXRJbnN0YW5jZSgpLnNldFN1YlN0cmVhbUVuY29kZXJQYXJhbShwYXJhbSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOWQr+WKqOWxj+W5leWIhuS6q1xuICAgICAqXG4gICAgICogKipOb3RlOioqXG4gICAgICogIC0g5LiA5Liq55So5oi35ZCM5pe25pyA5aSa5Y+q6IO95LiK5Lyg5LiA5p2h5Li76Lev77yIVFJUQ1ZpZGVvU3RyZWFtVHlwZUJpZ++8ieeUu+mdouWSjOS4gOadoei+hei3r++8iFRSVENWaWRlb1N0cmVhbVR5cGVTdWLvvInnlLvpnaLvvIxcbiAgICAgKiDpu5jorqTmg4XlhrXkuIvvvIzlsY/luZXliIbkuqvkvb/nlKjovoXot6/nlLvpnaLvvIzlpoLmnpzkvb/nlKjkuLvot6/nlLvpnaLvvIzlu7rorq7mgqjmj5DliY3lgZzmraLmkYTlg4/lpLTph4fpm4bvvIhzdG9wTG9jYWxQcmV2aWV377yJ6YG/5YWN55u45LqS5Yay56qB44CCXG4gICAgICogIC0gKirku4XmlK/mjIEgaU9TIDEzLjAg5Y+K5Lul5LiK57O757uf77yM6L+b6KGM5bqU55So5YaF55qE5bGP5bmV5YiG5LqrKipcbiAgICAgKiAgLSAqKkFuZHJvaWQ6IFVuaUFwcCDkvb/nlKggU0RLIOWGhee9rueahOWJjeWPsOacjeWKoeaXtu+8jOWPqumcgOimgeWwhuaOpeWPo+WPguaVsCBlbmFibGVGb3JlZ3JvdW5kU2VydmljZSDorr7nva7kuLogdHJ1ZeOAgioqXG4gICAgICogIC0gKipBbmRyb2lkOiBVbmlBcHAg6Ieq5bex5ZCv5Yqo5YmN5Y+w77yM6ZyA6KaB5ZyoIG1lZGlhUHJvamVjdCDnsbvlnovnmoTliY3lj7DmnI3liqHmiJDlip/lkI7lho3lkK/liqjlsY/luZXliIbkuqvjgIIqKlxuICAgICAqXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IHN0cmVhbVR5cGUg5bGP5bmV5YiG5Lqr5L2/55So55qE57q/6Lev77yM5Y+v5Lul6K6+572u5Li65Li76Lev77yIVFJUQ1ZpZGVvU3RyZWFtVHlwZUJpZ++8ieaIluiAhei+hei3r++8iFRSVENWaWRlb1N0cmVhbVR5cGVTdWLvvInvvIzmjqjojZDkvb/nlKhcbiAgICAgKiBAcGFyYW0ge1RSVENWaWRlb0VuY1BhcmFtfSBlbmNQYXJhbXMg5bGP5bmV5YiG5Lqr55qE55S76Z2i57yW56CB5Y+C5pWw77yM5Y+v5Lul6K6+572u5Li6IG51bGzvvIzooajnpLrorqkgU0RLIOmAieaLqeacgOS9s+eahOe8lueggeWPguaVsO+8iOWIhui+qOeOh+OAgeeggeeOh+etie+8ieOAguWNs+S9v+WcqOiwg+eUqCBzdGFydFNjcmVlbkNhcHR1cmUg5pe26K6+572uIHR5cGU9VFJUQ1ZpZGVvU3RyZWFtVHlwZUJpZ++8jOS+neeEtuWPr+S7peS9v+eUqOatpOaOpeWPo+abtOaWsOWxj+W5leWIhuS6q+eahOe8lueggeWPguaVsOOAglxuICAgICAqIEBwYXJhbSB7VFJUQ1NjcmVlblNoYXJlUGFyYW1zfSBzaGFyZVBhcmFtcyDmgqjlj6/ku6XpgJrov4flhbbkuK3nmoQgZW5hYmxlRm9yZWdyb3VuZFNlcnZpY2Ug5Y+C5pWw5ZCv55SoIFNESyDlhoXnva7nmoTliY3lj7DmnI3liqFcbiAgICAgKiBAbWVtYmVyb2YgVHJ0Y0Nsb3VkXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBpbXBvcnQgeyBUUlRDVmlkZW9SZXNvbHV0aW9uLCBUUlRDVmlkZW9SZXNvbHV0aW9uTW9kZSwgVFJUQ1ZpZGVvU3RyZWFtVHlwZX0gZnJvbSAnQC9UcnRjQ2xvdWQvbGliL1RydGNEZWZpbmVzJztcbiAgICAgKiBjb25zdCBlbmNQYXJhbXMgPSB7XG4gICAgICogICB2aWRlb1Jlc29sdXRpb246IFRSVENWaWRlb1Jlc29sdXRpb24uVFJUQ1ZpZGVvUmVzb2x1dGlvbl82NDBfMzYwLFxuICAgICAqICAgdmlkZW9SZXNvbHV0aW9uTW9kZTogVFJUQ1ZpZGVvUmVzb2x1dGlvbk1vZGUuVFJUQ1ZpZGVvUmVzb2x1dGlvbk1vZGVQb3J0cmFpdCxcbiAgICAgKiAgIHZpZGVvRnBzOiAxNSxcbiAgICAgKiAgIHZpZGVvQml0cmF0ZTogOTAwLFxuICAgICAqICAgbWluVmlkZW9CaXRyYXRlOiAyMDAsXG4gICAgICogICBlbmFibGVBZGp1c3RSZXM6IGZhbHNlLFxuICAgICAqIH07XG4gICAgICogY29uc3Qgc2hhcmVQYXJhbXMgPSB7XG4gICAgICogICBlbmFibGVGb3JlZ3JvdW5kU2VydmljZTogdHJ1ZSxcbiAgICAgKiB9O1xuICAgICAqIHRoaXMudHJ0Y0Nsb3VkLnN0YXJ0U2NyZWVuQ2FwdHVyZShUUlRDVmlkZW9TdHJlYW1UeXBlLlRSVENWaWRlb1N0cmVhbVR5cGVTdWIsIGVuY1BhcmFtcywgc2hhcmVQYXJhbXMpO1xuICAgICAqL1xuICAgIHN0YXJ0U2NyZWVuQ2FwdHVyZShzdHJlYW1UeXBlID0gVFJUQ1ZpZGVvU3RyZWFtVHlwZS5UUlRDVmlkZW9TdHJlYW1UeXBlU3ViLCBlbmNQYXJhbXMgPSBudWxsLCBzaGFyZVBhcmFtcyA9IHt9KSB7XG4gICAgICAgIHJldHVybiBUcnRjQ2xvdWRJbXBsLl9nZXRJbnN0YW5jZSgpLnN0YXJ0U2NyZWVuQ2FwdHVyZShzdHJlYW1UeXBlLCBlbmNQYXJhbXMsIHNoYXJlUGFyYW1zKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog5YGc5q2i5bGP5bmV5YiG5LqrXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogdGhpcy50cnRjQ2xvdWQuc3RvcFNjcmVlbkNhcHR1cmUoKTtcbiAgICAgKi9cbiAgICBzdG9wU2NyZWVuQ2FwdHVyZSgpIHtcbiAgICAgICAgcmV0dXJuIFRydGNDbG91ZEltcGwuX2dldEluc3RhbmNlKCkuc3RvcFNjcmVlbkNhcHR1cmUoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog5pqC5YGc5bGP5bmV5YiG5LqrXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogdGhpcy50cnRjQ2xvdWQucGF1c2VTY3JlZW5DYXB0dXJlKCk7XG4gICAgICovXG4gICAgcGF1c2VTY3JlZW5DYXB0dXJlKCkge1xuICAgICAgICByZXR1cm4gVHJ0Y0Nsb3VkSW1wbC5fZ2V0SW5zdGFuY2UoKS5wYXVzZVNjcmVlbkNhcHR1cmUoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog5oGi5aSN5bGP5bmV5YiG5LqrXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogdGhpcy50cnRjQ2xvdWQucmVzdW1lU2NyZWVuQ2FwdHVyZSgpO1xuICAgICAqL1xuICAgIHJlc3VtZVNjcmVlbkNhcHR1cmUoKSB7XG4gICAgICAgIHJldHVybiBUcnRjQ2xvdWRJbXBsLl9nZXRJbnN0YW5jZSgpLnJlc3VtZVNjcmVlbkNhcHR1cmUoKTtcbiAgICB9XG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICDnvo7popwgKyDmsLTljbBcbiAgICAvL1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8qKlxuICAgICAqIOiuvue9rue+juminO+8iOejqOearu+8ieeul+azlVxuICAgICAqIFRSVEMg5YaF572u5aSa56eN5LiN5ZCM55qE56Oo55qu566X5rOV77yM5oKo5Y+v5Lul6YCJ5oup5pyA6YCC5ZCI5oKo5Lqn5ZOB5a6a5L2N55qE5pa55qGIXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KipcbiAgICAgKiAtIOiuvue9rue+juminOWJje+8jOWFiOiwg+eUqCBgc2V0QmVhdXR5TGV2ZWxgIOiuvue9rue+juminOe6p+WIq+OAguWQpuWImee+juminOe6p+WIq+S4uiAwIOihqOekuuWFs+mXree+juminFxuICAgICAqXG4gICAgICogQHBhcmFtIHtUUlRDQmVhdXR5U3R5bGV9IGJlYXV0eVN0eWxlIOe+juminOmjjuagvO+8jFRSVENCZWF1dHlTdHlsZVNtb290aO+8muWFiea7ke+8m1RSVENCZWF1dHlTdHlsZU5hdHVyZe+8muiHqueEtu+8m1RSVENCZWF1dHlTdHlsZVBpdHXvvJrkvJjlm75cbiAgICAgKiBAbWVtYmVyb2YgVHJ0Y0Nsb3VkXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBpbXBvcnQgeyBUUlRDQmVhdXR5U3R5bGUgfSBmcm9tICdAL1RydGNDbG91ZC9saWIvVHJ0Y0RlZmluZXMnO1xuICAgICAqIGNvbnN0IGJlYXV0eUxldmVsID0gNTsgLy8g576O6aKc57qn5Yir77yM5Y+W5YC86IyD5Zu0MCAtIDnvvJsgMOihqOekuuWFs+mXre+8jDnooajnpLrmlYjmnpzmnIDmmI7mmL7jgIJcbiAgICAgKiB0aGlzLnRydGNDbG91ZC5zZXRCZWF1dHlMZXZlbChiZWF1dHlMZXZlbCk7XG4gICAgICogdGhpcy50cnRjQ2xvdWQuc2V0QmVhdXR5U3R5bGUoVFJUQ0JlYXV0eVN0eWxlLlRSVENCZWF1dHlTdHlsZVNtb290aCk7XG4gICAgICovXG4gICAgc2V0QmVhdXR5U3R5bGUoYmVhdXR5U3R5bGUpIHtcbiAgICAgICAgcmV0dXJuIFRydGNDbG91ZEltcGwuX2dldEluc3RhbmNlKCkuc2V0QmVhdXR5U3R5bGUoYmVhdXR5U3R5bGUpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiDorr7nva7nvo7popznuqfliKtcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gYmVhdXR5TGV2ZWxcdOe+juminOe6p+WIq++8jOWPluWAvOiMg+WbtDAgLSA577ybIDDooajnpLrlhbPpl63vvIw56KGo56S65pWI5p6c5pyA5piO5pi+44CCXG4gICAgICpcbiAgICAgKiBAbWVtYmVyb2YgVHJ0Y0Nsb3VkXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBjb25zdCBiZWF1dHlMZXZlbCA9IDU7IC8vIOe+juminOe6p+WIq++8jOWPluWAvOiMg+WbtDAgLSA577ybIDDooajnpLrlhbPpl63vvIw56KGo56S65pWI5p6c5pyA5piO5pi+44CCXG4gICAgICogdGhpcy50cnRjQ2xvdWQuc2V0QmVhdXR5TGV2ZWwoYmVhdXR5TGV2ZWwpO1xuICAgICAqL1xuICAgIHNldEJlYXV0eUxldmVsKGJlYXV0eUxldmVsKSB7XG4gICAgICAgIHJldHVybiBUcnRjQ2xvdWRJbXBsLl9nZXRJbnN0YW5jZSgpLnNldEJlYXV0eUxldmVsKGJlYXV0eUxldmVsKTtcbiAgICB9XG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICDog4zmma/pn7PmlYhcbiAgICAvL1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8qKlxuICAgICAqIOW8gOWni+aSreaUvuiDjOaZr+mfs+S5kFxuICAgICAqIOavj+S4qumfs+S5kOmDvemcgOimgeaCqOaMh+WumuWFt+S9k+eahCBJRO+8jOaCqOWPr+S7pemAmui/h+ivpSBJRCDlr7npn7PkuZDnmoTlvIDlp4vjgIHlgZzmraLjgIHpn7Pph4/nrYnov5vooYzorr7nva7jgII8YnI+XG4gICAgICogKipOb3RlOioqXG4gICAgICogLSDlpoLmnpzopoHlpJrmrKHmkq3mlL7lkIzkuIDpppbog4zmma/pn7PkuZDvvIzor7fkuI3opoHmr4/mrKHmkq3mlL7pg73liIbphY3kuIDkuKrmlrDnmoQgSUTvvIzmiJHku6zmjqjojZDkvb/nlKjnm7jlkIznmoQgSUTjgIJcbiAgICAgKiAtIOiLpeaCqOW4jOacm+WQjOaXtuaSreaUvuWkmummluS4jeWQjOeahOmfs+S5kO+8jOivt+S4uuS4jeWQjOeahOmfs+S5kOWIhumFjeS4jeWQjOeahCBJRCDov5vooYzmkq3mlL7jgIJcbiAgICAgKiAtIOWmguaenOS9v+eUqOWQjOS4gOS4qiBJRCDmkq3mlL7kuI3lkIzpn7PkuZDvvIxTREsg5Lya5YWI5YGc5q2i5pKt5pS+5pen55qE6Z+z5LmQ77yM5YaN5pKt5pS+5paw55qE6Z+z5LmQ44CCXG4gICAgICpcbiAgICAgKiAqKk5vdGU6Kio8YnI+XG4gICAgICog5ZyoIHVuaS1hcHAg5LitIHBhdGgg5aaC5L2V6I635Y+W44CCXG4gICAgICogLSDkvb/nlKggY2RuIOWcsOWdgO+8jOS+i+Wmgu+8mmBwYXRoID0gaHR0cHM6Ly93ZWIuc2RrLnFjbG91ZC5jb20vY29tcG9uZW50L1RVSUtpdC9hc3NldHMvdW5pLWFwcC9jYWxsaW5nLWJlbGwtMS5tcDM7YFxuICAgICAqIC0g5L2/55So5pys5Zyw57ud5a+56Lev5b6E44CCXG4gICAgICogICAgIDEuIOmAmui/hyBbdW5pLnNhdmVGaWxlXShodHRwczovL3poLnVuaWFwcC5kY2xvdWQuaW8vYXBpL2ZpbGUvZmlsZS5odG1sI3NhdmVmaWxlKSDojrflj5bkv53lrZjlkI7nmoTnm7jlr7not6/lvoTvvIjlu7rorq7ov5nnp43ot6/lvoTvvInjgIJcbiAgICAgKiAgICAgMi4g5bCG5LiK5LiA5q2l55qE55u45a+56Lev5b6E6L2s5oiQ57ud5a+56Lev5b6E77yMW3BsdXMuaW8uY29udmVydExvY2FsRmlsZVN5c3RlbVVSTF0oaHR0cHM6Ly93d3cuaHRtbDVwbHVzLm9yZy9kb2MvemhfY24vaW8uaHRtbCNwbHVzLmlvLmNvbnZlcnRMb2NhbEZpbGVTeXN0ZW1VUkwp44CCXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0F1ZGlvTXVzaWNQYXJhbX0gbXVzaWNQYXJhbSDpn7PkuZDlj4LmlbBcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gbXVzaWNQYXJhbS5pZCDpn7PkuZAgSURcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gbXVzaWNQYXJhbS5wYXRoIOmfs+aViOaWh+S7tueahOWujOaVtOi3r+W+hOaIliBVUkwg5Zyw5Z2A44CC5pSv5oyB55qE6Z+z6aKR5qC85byP5YyF5ousIE1QM+OAgUFBQ+OAgU00QeOAgVdBVlxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBtdXNpY1BhcmFtLmxvb3BDb3VudCDpn7PkuZDlvqrnjq/mkq3mlL7nmoTmrKHmlbDjgILlj5blgLzojIPlm7TkuLowIC0g5Lu75oSP5q2j5pW05pWw77yM6buY6K6k5YC877yaMOOAgjDooajnpLrmkq3mlL7pn7PkuZDkuIDmrKHvvJsx6KGo56S65pKt5pS+6Z+z5LmQ5Lik5qyh77yb5Lul5q2k57G75o6oXG4gICAgICogQHBhcmFtIHtCb29sZWFufSBtdXNpY1BhcmFtLnB1Ymxpc2gg5piv5ZCm5bCG6Z+z5LmQ5Lyg5Yiw6L+c56uv44CCdHJ1Ze+8mumfs+S5kOWcqOacrOWcsOaSreaUvueahOWQjOaXtu+8jOi/nOerr+eUqOaIt+S5n+iDveWQrOWIsOivpemfs+S5kO+8m2ZhbHNl77ya5Li75pKt5Y+q6IO95Zyo5pys5Zyw5ZCs5Yiw6K+l6Z+z5LmQ77yM6L+c56uv6KeC5LyX5ZCs5LiN5Yiw44CC6buY6K6k5YC877yaZmFsc2XjgIJcbiAgICAgKiBAcGFyYW0ge0Jvb2xlYW59IG11c2ljUGFyYW0uaXNTaG9ydEZpbGUg5pKt5pS+55qE5piv5ZCm5Li655+t6Z+z5LmQ5paH5Lu244CCdHJ1Ze+8mumcgOimgemHjeWkjeaSreaUvueahOefremfs+S5kOaWh+S7tu+8m2ZhbHNl77ya5q2j5bi455qE6Z+z5LmQ5paH5Lu244CC6buY6K6k5YC877yaZmFsc2VcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gbXVzaWNQYXJhbS5zdGFydFRpbWVNUyDpn7PkuZDlvIDlp4vmkq3mlL7ml7bpl7TngrnvvIzljZXkvY06IOavq+enkuOAglxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBtdXNpY1BhcmFtLmVuZFRpbWVNUyDpn7PkuZDnu5PmnZ/mkq3mlL7ml7bpl7TngrnvvIzljZXkvY06IOavq+enku+8jDAg6KGo56S65pKt5pS+6Iez5paH5Lu257uT5bC+44CCXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogaW1wb3J0IHsgQXVkaW9NdXNpY1BhcmFtIH0gZnJvbSAnQC9UcnRjQ2xvdWQvbGliL1RydGNEZWZpbmVzJztcbiAgICAgKiBjb25zdCBtdXNpY1BhcmFtID0ge1xuICAgICAqICBpZDogMSxcbiAgICAgKiAgcGF0aDogJycsXG4gICAgICogIGxvb3BDb3VudDogMSxcbiAgICAgKiAgcHVibGlzaDogdHJ1ZSxcbiAgICAgKiAgaXNTaG9ydEZpbGU6IGZhbHNlLFxuICAgICAqICBzdGFydFRpbWVNUzogMCxcbiAgICAgKiAgZW5kVGltZU1TOiAwLFxuICAgICAqIH07XG4gICAgICogdGhpcy50cnRjQ2xvdWQuc3RhcnRQbGF5TXVzaWMobXVzaWNQYXJhbSk7XG4gICAgICovXG4gICAgc3RhcnRQbGF5TXVzaWMobXVzaWNQYXJhbSkge1xuICAgICAgICByZXR1cm4gVHJ0Y0Nsb3VkSW1wbC5fZ2V0SW5zdGFuY2UoKS5zdGFydFBsYXlNdXNpYyhtdXNpY1BhcmFtKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog5YGc5q2i5pKt5pS+6IOM5pmv6Z+z5LmQXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IGlkXHTpn7PkuZAgSURcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBUcnRjQ2xvdWRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGNvbnN0IG11c2ljSWQgPSA1O1xuICAgICAqIHRoaXMudHJ0Y0Nsb3VkLnN0b3BQbGF5TXVzaWMobXVzaWNJZCk7XG4gICAgICovXG4gICAgc3RvcFBsYXlNdXNpYyhpZCkge1xuICAgICAgICByZXR1cm4gVHJ0Y0Nsb3VkSW1wbC5fZ2V0SW5zdGFuY2UoKS5zdG9wUGxheU11c2ljKGlkKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICog5pqC5YGc5pKt5pS+6IOM5pmv6Z+z5LmQXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IGlkXHTpn7PkuZAgSURcbiAgICAgKiBAbWVtYmVyb2YgVHJ0Y0Nsb3VkXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBjb25zdCBtdXNpY0lkID0gNTtcbiAgICAgKiB0aGlzLnRydGNDbG91ZC5wYXVzZVBsYXlNdXNpYyhtdXNpY0lkKTtcbiAgICAgKi9cbiAgICBwYXVzZVBsYXlNdXNpYyhpZCkge1xuICAgICAgICByZXR1cm4gVHJ0Y0Nsb3VkSW1wbC5fZ2V0SW5zdGFuY2UoKS5wYXVzZVBsYXlNdXNpYyhpZCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOaBouWkjeaSreaUvuiDjOaZr+mfs+S5kFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBpZFx06Z+z5LmQIElEXG4gICAgICogQG1lbWJlcm9mIFRydGNDbG91ZFxuICAgICAqIEBleGFtcGxlXG4gICAgICogY29uc3QgbXVzaWNJZCA9IDU7XG4gICAgICogdGhpcy50cnRjQ2xvdWQucmVzdW1lUGxheU11c2ljKG11c2ljSWQpO1xuICAgICAqL1xuICAgIHJlc3VtZVBsYXlNdXNpYyhpZCkge1xuICAgICAgICByZXR1cm4gVHJ0Y0Nsb3VkSW1wbC5fZ2V0SW5zdGFuY2UoKS5yZXN1bWVQbGF5TXVzaWMoaWQpO1xuICAgIH1cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvL1xuICAgIC8vICAgICAgICAgICAgICAgICAgICAgICDorr7nva4gVFJUQ0NhbGxiYWNrIOWbnuiwg1xuICAgIC8vXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLyoqXG4gICAgICog6K6+572uIFRydGNDbG91ZCDlm57osINcbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8g5Yib5bu6L+S9v+eUqC/plIDmr4EgVHJ0Y0Nsb3VkIOWvueixoeeahOekuuS+i+S7o+egge+8mlxuICAgICAqIGltcG9ydCBUcnRjQ2xvdWQgZnJvbSAnQC9UcnRjQ2xvdWQvbGliL2luZGV4JztcbiAgICAgKiB0aGlzLnRydGNDbG91ZCA9IG5ldyBUcnRjQ2xvdWQoKTtcbiAgICAgKlxuICAgICAqIC8vIOa3u+WKoOS6i+S7tuebkeWQrOeahOaWueazle+8jOS6i+S7tuWFs+mUruWtl+ivpuingeS4i+aWueKAnemAmueUqOS6i+S7tuWbnuiwg+KAnFxuICAgICAqIHRoaXMudHJ0Y0Nsb3VkLm9uKCdvbkVudGVyUm9vbScsIChyZXN1bHQpID0+IHtcbiAgICAgKiAgIGlmIChyZXN1bHQgPiAwKSB7XG4gICAgICogICAgIGNvbnNvbGUubG9nKGBlbnRlciByb29tIHN1Y2Nlc3MsIHNwZW5kICR7cmVzdWx0fW1zYCk7XG4gICAgICogICB9IGVsc2Uge1xuICAgICAqICAgICBjb25zb2xlLmxvZyhgZW50ZXIgcm9vbSBmYWlsZWQsIGVycm9yIGNvZGUgPSAke3Jlc3VsdH1gKTtcbiAgICAgKiAgIH1cbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIEBuYW1lc3BhY2UgVFJUQ0NhbGxiYWNrXG4gICAgICovXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICDvvIjkuIDvvInkuovku7blm57osINcbiAgICAvL1xuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8qKlxuICAgICAqIOmUmeivr+Wbnuiwg++8jOihqOekuiBTREsg5LiN5Y+v5oGi5aSN55qE6ZSZ6K+v77yM5LiA5a6a6KaB55uR5ZCs5bm25YiG5oOF5Ya157uZ55So5oi36YCC5b2T55qE55WM6Z2i5o+Q56S6PGJyPlxuICAgICAqIEBldmVudCBUUlRDQ2FsbGJhY2sjb25FcnJvclxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBjb2RlIOmUmeivr+egge+8jFvor6bop4FdKGh0dHBzOi8vY2xvdWQudGVuY2VudC5jb20vZG9jdW1lbnQvcHJvZHVjdC82NDcvMzgzMDgjLkU5Ljk0Ljk5LkU4LkFGLkFGLkU3LkEwLjgxLkU4LkExLkE4KVxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBtZXNzYWdlIOmUmeivr+S/oeaBr1xuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBleHRyYUluZm8g5omp5bGV5L+h5oGv5a2X5q6177yM5Liq5Yir6ZSZ6K+v56CB5Y+v6IO95Lya5bim6aKd5aSW55qE5L+h5oGv5biu5Yqp5a6a5L2N6Zeu6aKYXG4gICAgICovXG4gICAgb25FcnJvcihjb2RlLCBtZXNzYWdlLCBleHRyYUluZm8pIHsgfVxuICAgIC8qKlxuICAgICAqIOitpuWRiuWbnuiwg++8jOeUqOS6juWRiuefpeaCqOS4gOS6m+mdnuS4pemHjeaAp+mXrumimO+8jOS+i+WmguWHuueOsOWNoemhv+aIluiAheWPr+aBouWkjeeahOino+eggeWksei0pTxicj5cbiAgICAgKiBAZXZlbnQgVFJUQ0NhbGxiYWNrI29uV2FybmluZ1xuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBjb2RlIOitpuWRiuegge+8jFvor6bop4FdKGh0dHBzOi8vY2xvdWQudGVuY2VudC5jb20vZG9jdW1lbnQvcHJvZHVjdC82NDcvMzgzMDgjLkU4LkFELkE2LkU1LjkxLjhBLkU3LkEwLjgxLkU4LkExLkE4KVxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBtZXNzYWdlIOitpuWRiuS/oeaBr1xuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBleHRyYUluZm8g5omp5bGV5L+h5oGv5a2X5q6177yM5Liq5Yir6K2m5ZGK56CB5Y+v6IO95Lya5bim6aKd5aSW55qE5L+h5oGv5biu5Yqp5a6a5L2N6Zeu6aKYXG4gICAgICovXG4gICAgb25XYXJuaW5nKGNvZGUsIG1lc3NhZ2UsIGV4dHJhSW5mbykgeyB9XG4gICAgLyoqXG4gICAgICog6L+b5oi/5ZCO55qE5Zue6LCDPGJyPlxuICAgICAqIOiwg+eUqCBgZW50ZXJSb29tKClgIOaOpeWPo+aJp+ihjOi/m+aIv+aTjeS9nOWQju+8jOS8muaUtuWIsCBgb25FbnRlclJvb20ocmVzdWx0KWAg5Zue6LCDPGJyPlxuICAgICAqIOWmguaenOWKoOWFpeaIkOWKn++8jHJlc3VsdCDkvJrmmK/kuIDkuKrmraPmlbDvvIhyZXN1bHQgPiAw77yJ77yM5Luj6KGo5Yqg5YWl5oi/6Ze055qE5pe26Ze05raI6ICX77yM5Y2V5L2N5piv5q+r56eS77yIbXPvvInjgII8YnI+XG4gICAgICog5aaC5p6c5Yqg5YWl5aSx6LSl77yMcmVzdWx0IOS8muaYr+S4gOS4qui0n+aVsO+8iHJlc3VsdCA8IDDvvInvvIzku6Pooajov5vmiL/lpLHotKXnmoTplJnor6/noIHjgIJcbiAgICAgKlxuICAgICAqIEBldmVudCBUUlRDQ2FsbGJhY2sjb25FbnRlclJvb21cbiAgICAgKiBAcGFyYW0ge051bWJlcn0gcmVzdWx0IOi/m+aIv+iAl+aXtlxuICAgICAqL1xuICAgIG9uRW50ZXJSb29tKHJlc3VsdCkgeyB9XG4gICAgLyoqXG4gICAgICog56a75byA5oi/6Ze055qE5LqL5Lu25Zue6LCDPGJyPlxuICAgICAqIOiwg+eUqCBgZXhpdFJvb20oKWAg5o6l5Y+j5Lya5omn6KGM6YCA5Ye65oi/6Ze055qE55u45YWz6YC76L6R77yM5L6L5aaC6YeK5pS+6Z+z6KeG6aKR6K6+5aSH6LWE5rqQ5ZKM57yW6Kej56CB5Zmo6LWE5rqQ562J44CC5b6F6LWE5rqQ6YeK5pS+5a6M5q+V77yM5Lya6YCa6L+HIGBvbkV4aXRSb29tKClgIOWbnuiwg+mAmuefpeWIsOaCqDxicj5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKlxuICAgICAqIC0g5aaC5p6c5oKo6KaB5YaN5qyh6LCD55SoIGBlbnRlclJvb20oKWAg5oiW6ICF5YiH5o2i5Yiw5YW25LuW55qE6Z+z6KeG6aKRIFNES++8jOivt+etieW+hSBgb25FeGl0Um9vbSgpYCDlm57osIPliLDmnaXkuYvlkI7lho3miafooYznm7jlhbPmk43kvZzjgIIg5ZCm5YiZ5Y+v6IO95Lya6YGH5Yiw6Z+z6aKR6K6+5aSH6KKr5Y2g55So562J5ZCE56eN5byC5bi46Zeu6aKYXG4gICAgICpcbiAgICAgKiBAZXZlbnQgVFJUQ0NhbGxiYWNrI29uRXhpdFJvb21cbiAgICAgKiBAcGFyYW0ge051bWJlcn0gcmVhc29uIOemu+W8gOaIv+mXtOWOn+WboO+8jDDvvJrkuLvliqjosIPnlKggZXhpdFJvb20g6YCA5oi/77ybMe+8muiiq+acjeWKoeWZqOi4ouWHuuW9k+WJjeaIv+mXtO+8mzLvvJrlvZPliY3miL/pl7TmlbTkuKrooqvop6PmlaNcbiAgICAgKi9cbiAgICBvbkV4aXRSb29tKHJlYXNvbikgeyB9XG4gICAgLyoqXG4gICAgICog6Leo5oi/6YCa6K+d5LqL5Lu25Zue6LCDPGJyPlxuICAgICAqIOiwg+eUqCBUUlRDQ2xvdWQg5Lit55qEIFtjb25uZWN0T3RoZXJSb29tKCldKGh0dHBzOi8vd2ViLnNkay5xY2xvdWQuY29tL3RydGMvdW5pYXBwL2RvYy96aC1jbi9UcnRjQ2xvdWQuaHRtbCNjb25uZWN0T3RoZXJSb29tKSDmjqXlj6PkvJrlsIbkuKTkuKrkuI3lkIzmiL/pl7TkuK3nmoTkuLvmkq3mi4npgJrop4bpopHpgJror53vvIzkuZ/lsLHmmK/miYDosJPnmoTigJzkuLvmkq1QS+KAneWKn+iDveOAglxuICAgICAqIOiwg+eUqOiAheS8muaUtuWIsCBvbkNvbm5lY3RPdGhlclJvb20oKSDkuovku7blm57osIPmnaXojrfnn6Xot6jmiL/pgJror53mmK/lkKbmiJDlip/vvIwg5aaC5p6c5oiQ5Yqf77yM5Lik5Liq5oi/6Ze05Lit55qE5omA5pyJ55So5oi36YO95Lya5pS25Yiw5p2l6Ieq5Y+m5LiA5Liq5oi/6Ze05Lit55qEIFBLIOS4u+aSreeahCBbb25Vc2VyVmlkZW9BdmFpbGFibGUoKV0oaHR0cDovLzEyNy4wLjAuMTo1NTAwL1VuaUFwcC1UUlRDLVNESy9wYWNrYWdlcy9UcnRjQ2xvdWQvZG9jcy96aC1jbi9hcGkvVFJUQ0NhbGxiYWNrLmh0bWwjZXZlbnQ6b25Vc2VyVmlkZW9BdmFpbGFibGUpIOWbnuiwg+OAglxuICAgICAqXG4gICAgICogQGV2ZW50IFRSVENDYWxsYmFjayNvbkNvbm5lY3RPdGhlclJvb21cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zIOiwg+eUqCBbY29ubmVjdE90aGVyUm9vbSgpXShodHRwczovL3dlYi5zZGsucWNsb3VkLmNvbS90cnRjL3VuaWFwcC9kb2MvemgtY24vVHJ0Y0Nsb3VkLmh0bWwjY29ubmVjdE90aGVyUm9vbSkg5o6l5Y+j6L+U5Zue5YC85pWw5o2u44CCXG4gICAgICogLSB1c2VySWTvvJrot6jmiL/pgJror53ml7blr7nnq68gdXNlcklkXG4gICAgICogLSBlcnJDb2RlOiBb6ZSZ6K+v54q25oCB56CBXShodHRwczovL2Nsb3VkLnRlbmNlbnQuY29tL2RvY3VtZW50L3Byb2R1Y3QvNjQ3LzM4MzA4Iy5FOC5BRC5BNi5FNS45MS44QS5FNy5BMC44MS5FOC5BMS5BOCks6L+U5ZueMOihqOekuui3qOaIv+mAmuivneaIkOWKn+OAglxuICAgICAqIC0gZXJyTXNnOiDnirbmgIHkv6Hmga/vvIzot6jmiL/pgJror53miJDlip/ov5Tlm54gT0vjgIJcbiAgICAgKi9cbiAgICBvbkNvbm5lY3RPdGhlclJvb20ocGFyYW1zKSB7IH1cbiAgICAvKipcbiAgICAgKiDnu5PmnZ/ot6jmiL/pgJror53nmoTnu5Pmnpzlm57osIM8YnI+XG4gICAgICog6LCD55SoIFRSVENDbG91ZCDkuK3nmoQgW2Rpc2Nvbm5lY3RPdGhlclJvb20oKV0oaHR0cHM6Ly93ZWIuc2RrLnFjbG91ZC5jb20vdHJ0Yy91bmlhcHAvZG9jL3poLWNuL1RydGNDbG91ZC5odG1sI2Rpc2Nvbm5lY3RPdGhlclJvb20pIOaOpeWPo+S8muWwhuS4pOS4quS4jeWQjOaIv+mXtOS4reeahOS4u+aSreaLiemAmuinhumikemAmuivne+8jOS5n+WwseaYr+aJgOiwk+eahOKAnOS4u+aSrVBL4oCd5Yqf6IO944CCXG4gICAgICog6LCD55So6ICF5Lya5pS25YiwIG9uRGlzY29ubmVjdE90aGVyUm9vbSgpIOS6i+S7tuWbnuiwg+adpeiOt+efpee7k+adn+i3qOaIv+mAmuivneaYr+WQpuaIkOWKn+OAglxuICAgICAqXG4gICAgICogQGV2ZW50IFRSVENDYWxsYmFjayNvbkRpc2Nvbm5lY3RPdGhlclJvb21cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zIOiwg+eUqCBbZGlzY29ubmVjdE90aGVyUm9vbSgpXShodHRwczovL3dlYi5zZGsucWNsb3VkLmNvbS90cnRjL3VuaWFwcC9kb2MvemgtY24vVHJ0Y0Nsb3VkLmh0bWwjZGlzY29ubmVjdE90aGVyUm9vbSkg5aSx6LSl5pe26L+U5Zue55qE6ZSZ6K+v5pWw5o2u44CCXG4gICAgICogLSBlcnJDb2RlOiBb6ZSZ6K+v54q25oCB56CBXShodHRwczovL2Nsb3VkLnRlbmNlbnQuY29tL2RvY3VtZW50L3Byb2R1Y3QvNjQ3LzM4MzA4Iy5FOC5BRC5BNi5FNS45MS44QS5FNy5BMC44MS5FOC5BMS5BOCnjgIJcbiAgICAgKiAtIGVyck1zZzog6ZSZ6K+v5L+h5oGv44CCXG4gICAgICovXG4gICAgb25EaXNjb25uZWN0T3RoZXJSb29tKHBhcmFtcykgeyB9XG4gICAgLyoqXG4gICAgICog5YiH5o2i6KeS6Imy55qE5LqL5Lu25Zue6LCDPGJyPlxuICAgICAqIOiwg+eUqCBUUlRDQ2xvdWQg5Lit55qEIHN3aXRjaFJvbGUoKSDmjqXlj6PkvJrliIfmjaLkuLvmkq3lkozop4LkvJfnmoTop5LoibLvvIzor6Xmk43kvZzkvJrkvLTpmo/kuIDkuKrnur/ot6/liIfmjaLnmoTov4fnqIvvvIwg5b6FIFNESyDliIfmjaLlrozmiJDlkI7vvIzkvJrmipvlh7ogb25Td2l0Y2hSb2xlKCkg5LqL5Lu25Zue6LCDXG4gICAgICpcbiAgICAgKiBAZXZlbnQgVFJUQ0NhbGxiYWNrI29uU3dpdGNoUm9sZVxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBjb2RlIOmUmeivr+egge+8jFvor6bop4FdKGh0dHBzOi8vY2xvdWQudGVuY2VudC5jb20vZG9jdW1lbnQvcHJvZHVjdC82NDcvMzgzMDgjLkU4LkFELkE2LkU1LjkxLjhBLkU3LkEwLjgxLkU4LkExLkE4KVxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBtZXNzYWdlIOmUmeivr+S/oeaBr1xuICAgICAqL1xuICAgIG9uU3dpdGNoUm9sZShjb2RlLCBtZXNzYWdlKSB7IH1cbiAgICAvKipcbiAgICAgKiDlvIDlp4vmuLLmn5PmnKzlnLDmiJbov5znqIvnlKjmiLfnmoTpppbluKfnlLvpnaI8YnI+XG4gICAgICog5aaC5p6cIHVzZXJJZCDkuLogbnVsbO+8jOS7o+ihqOW8gOWni+a4suafk+acrOWcsOmHh+mbhueahOaRhOWDj+WktOeUu+mdou+8jOmcgOimgeaCqOWFiOiwg+eUqCBgc3RhcnRMb2NhbFByZXZpZXdgIOinpuWPkeOAgiDlpoLmnpwgdXNlcklkIOS4jeS4uiBudWxs77yM5Luj6KGo5byA5aeL5riy5p+T6L+c56iL55So5oi355qE6aaW5bin55S76Z2i77yM6ZyA6KaB5oKo5YWI6LCD55SoIGBzdGFydFJlbW90ZVZpZXdgIOinpuWPkTxicj5cbiAgICAgKiDlj6rmnInlvZPmgqjosIPnlKggYHN0YXJ0TG9jYWxQcmV2aWV3KCnjgIFzdGFydFJlbW90ZVZpZXcoKSDmiJYgc3RhcnRSZW1vdGVTdWJTdHJlYW1WaWV3KClgIOS5i+WQju+8jOaJjeS8muinpuWPkeivpeWbnuiwg1xuICAgICAqXG4gICAgICogQGV2ZW50IFRSVENDYWxsYmFjayNvbkZpcnN0VmlkZW9GcmFtZVxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSB1c2VySWQg5pys5Zyw5oiW6L+c56iL55So5oi3IElE77yM5aaC5p6cIHVzZXJJZCA9PT0gbnVsbCDku6PooajmnKzlnLDvvIx1c2VySWQgIT09IG51bGwg5Luj6KGo6L+c56iLXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IHN0cmVhbVR5cGUg6KeG6aKR5rWB57G75Z6L77ya5pGE5YOP5aS05oiW5bGP5bmV5YiG5LqrXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IHdpZHRoIOeUu+mdouWuveW6plxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBoZWlnaHQg55S76Z2i6auY5bqmXG4gICAgICovXG4gICAgb25GaXJzdFZpZGVvRnJhbWUodXNlcklkLCBzdHJlYW1UeXBlLCB3aWR0aCwgaGVpZ2h0KSB7IH1cbiAgICAvKipcbiAgICAgKiDlvIDlp4vmkq3mlL7ov5znqIvnlKjmiLfnmoTpppbluKfpn7PpopHvvIjmnKzlnLDlo7Dpn7PmmoLkuI3pgJrnn6XvvIk8YnI+XG4gICAgICog5aaC5p6cIHVzZXJJZCDkuLogbnVsbO+8jOS7o+ihqOW8gOWni+a4suafk+acrOWcsOmHh+mbhueahOaRhOWDj+WktOeUu+mdou+8jOmcgOimgeaCqOWFiOiwg+eUqCBgc3RhcnRMb2NhbFByZXZpZXdgIOinpuWPkeOAgiDlpoLmnpwgdXNlcklkIOS4jeS4uiBudWxs77yM5Luj6KGo5byA5aeL5riy5p+T6L+c56iL55So5oi355qE6aaW5bin55S76Z2i77yM6ZyA6KaB5oKo5YWI6LCD55SoIGBzdGFydFJlbW90ZVZpZXdgIOinpuWPkTxicj5cbiAgICAgKiDlj6rmnInlvZPmgqjosIPnlKggYHN0YXJ0TG9jYWxQcmV2aWV3KCnjgIFzdGFydFJlbW90ZVZpZXcoKSDmiJYgc3RhcnRSZW1vdGVTdWJTdHJlYW1WaWV3KClgIOS5i+WQju+8jOaJjeS8muinpuWPkeivpeWbnuiwg1xuICAgICAqXG4gICAgICogQGV2ZW50IFRSVENDYWxsYmFjayNvbkZpcnN0QXVkaW9GcmFtZVxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSB1c2VySWQg6L+c56iL55So5oi3IElEXG4gICAgICovXG4gICAgb25GaXJzdEF1ZGlvRnJhbWUodXNlcklkKSB7IH1cbiAgICAvKipcbiAgICAgKiDmiKrlm77lrozmiJDml7blm57osIM8YnI+XG4gICAgICogQGV2ZW50IFRSVENDYWxsYmFjayNvblNuYXBzaG90Q29tcGxldGVcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gYmFzZTY0RGF0YSDmiKrlm77lr7nlupTnmoQgYmFzZTY0IOaVsOaNrlxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBtZXNzYWdlIOmUmeivr+S/oeaBr1xuICAgICAqL1xuICAgIG9uU25hcHNob3RDb21wbGV0ZShiYXNlNjREYXRhLCBtZXNzYWdlKSB7IH1cbiAgICAvKipcbiAgICAgKiDpuqblhYvpo47lh4blpIflsLHnu6pcbiAgICAgKi9cbiAgICBvbk1pY0RpZFJlYWR5KCkgeyB9XG4gICAgLyoqXG4gICAgICog5pGE5YOP5aS05YeG5aSH5bCx57uqXG4gICAgICovXG4gICAgb25DYW1lcmFEaWRSZWFkeSgpIHsgfVxuICAgIC8qKlxuICAgICAqIOe9kee7nOi0qOmHj++8muivpeWbnuiwg+avjzLnp5Lop6blj5HkuIDmrKHvvIznu5/orqHlvZPliY3nvZHnu5znmoTkuIrooYzlkozkuIvooYzotKjph488YnI+XG4gICAgICogdXNlcklkIOS4uuacrOWcsOeUqOaItyBJRCDku6Pooajoh6rlt7HlvZPliY3nmoTop4bpopHotKjph49cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBsb2NhbFF1YWxpdHkg5LiK6KGM572R57uc6LSo6YePXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHJlbW90ZVF1YWxpdHkg5LiL6KGM572R57uc6LSo6YePXG4gICAgICovXG4gICAgb25OZXR3b3JrUXVhbGl0eShsb2NhbFF1YWxpdHksIHJlbW90ZUxpc3QpIHsgfVxuICAgIC8qKlxuICAgICAqIOacieeUqOaIt+WKoOWFpeW9k+WJjeaIv+mXtDxicj5cbiAgICAgKiDlh7rkuo7mgKfog73mlrnpnaLnmoTogIPomZHvvIzlnKjkuKTnp43kuI3lkIznmoTlupTnlKjlnLrmma/kuIvvvIzor6XpgJrnn6XnmoTooYzkuLrkvJrmnInlt67liKvvvJo8YnI+XG4gICAgICog6YCa6K+d5Zy65pmv77yIVFJUQ0FwcFNjZW5lLlRSVENBcHBTY2VuZVZpZGVvQ2FsbCDlkowgVFJUQ0FwcFNjZW5lLlRSVENBcHBTY2VuZUF1ZGlvQ2FsbO+8ie+8muivpeWcuuaZr+S4i+eUqOaIt+ayoeacieinkuiJsueahOWMuuWIq++8jOS7u+S9leeUqOaIt+i/m+WFpeaIv+mXtOmDveS8muinpuWPkeivpemAmuefpeOAgjxicj5cbiAgICAgKiDnm7Tmkq3lnLrmma/vvIhUUlRDQXBwU2NlbmUuVFJUQ0FwcFNjZW5lTElWRSDlkowgVFJUQ0FwcFNjZW5lLlRSVENBcHBTY2VuZVZvaWNlQ2hhdFJvb20g77yJ77ya6K+l5Zy65pmv5LiN6ZmQ5Yi26KeC5LyX55qE5pWw6YeP77yM5aaC5p6c5Lu75L2V55So5oi36L+b5Ye66YO95oqb5Ye65Zue6LCD5Lya5byV6LW35b6I5aSn55qE5oCn6IO95o2f6ICX77yM5omA5Lul6K+l5Zy65pmv5LiL5Y+q5pyJ5Li75pKt6L+b5YWl5oi/6Ze05pe25omN5Lya6Kem5Y+R6K+l6YCa55+l77yM6KeC5LyX6L+b5YWl5oi/6Ze05LiN5Lya6Kem5Y+R6K+l6YCa55+lXG4gICAgICpcbiAgICAgKiBAZXZlbnQgVFJUQ0NhbGxiYWNrI29uUmVtb3RlVXNlckVudGVyUm9vbVxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSB1c2VySWQg55So5oi35qCH6K+GIElEXG4gICAgICovXG4gICAgb25SZW1vdGVVc2VyRW50ZXJSb29tKHVzZXJJZCkgeyB9XG4gICAgLyoqXG4gICAgICog5pyJ55So5oi356a75byA5b2T5YmN5oi/6Ze0PGJyPlxuICAgICAqIOS4jiBvblJlbW90ZVVzZXJFbnRlclJvb20g55u45a+55bqU77yM5Zyo5Lik56eN5LiN5ZCM55qE5bqU55So5Zy65pmv5LiL77yM6K+l6YCa55+l55qE6KGM5Li65Lya5pyJ5beu5Yir77yaPGJyPlxuICAgICAqIOmAmuivneWcuuaZr++8iFRSVENBcHBTY2VuZS5UUlRDQXBwU2NlbmVWaWRlb0NhbGwg5ZKMIFRSVENBcHBTY2VuZS5UUlRDQXBwU2NlbmVBdWRpb0NhbGzvvInvvJror6XlnLrmma/kuIvnlKjmiLfmsqHmnInop5LoibLnmoTljLrliKvvvIzku7vkvZXnlKjmiLfov5vlhaXmiL/pl7Tpg73kvJrop6blj5Hor6XpgJrnn6XjgII8YnI+XG4gICAgICog55u05pKt5Zy65pmv77yIVFJUQ0FwcFNjZW5lLlRSVENBcHBTY2VuZUxJVkUg5ZKMIFRSVENBcHBTY2VuZS5UUlRDQXBwU2NlbmVWb2ljZUNoYXRSb29tIO+8ie+8muivpeWcuuaZr+S4jemZkOWItuinguS8l+eahOaVsOmHj++8jOWmguaenOS7u+S9leeUqOaIt+i/m+WHuumDveaKm+WHuuWbnuiwg+S8muW8lei1t+W+iOWkp+eahOaAp+iDveaNn+iAl++8jOaJgOS7peivpeWcuuaZr+S4i+WPquacieS4u+aSrei/m+WFpeaIv+mXtOaXtuaJjeS8muinpuWPkeivpemAmuefpe+8jOinguS8l+i/m+WFpeaIv+mXtOS4jeS8muinpuWPkeivpemAmuefpVxuICAgICAqXG4gICAgICogQGV2ZW50IFRSVENDYWxsYmFjayNvblJlbW90ZVVzZXJMZWF2ZVJvb21cbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gdXNlcklkIOeUqOaIt+agh+ivhiBJRFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSByZWFzb24g56a75byA5Y6f5Zug77yMMCDooajnpLrnlKjmiLfkuLvliqjpgIDlh7rmiL/pl7TvvIwxIOihqOekuueUqOaIt+i2heaXtumAgOWHuu+8jDIg6KGo56S66KKr6Lii5Ye65oi/6Ze0XG4gICAgICovXG4gICAgb25SZW1vdGVVc2VyTGVhdmVSb29tKHVzZXJJZCwgcmVhc29uKSB7IH1cbiAgICAvKipcbiAgICAgKiDpppbluKfmnKzlnLDpn7PpopHmlbDmja7lt7Lnu4/ooqvpgIHlh7o8YnI+XG4gICAgICog5ZyoIGBlbnRlclJvb20oKWAg5bm2IGBzdGFydExvY2FsQXVkaW8oKWAg5oiQ5Yqf5ZCO5byA5aeL6bqm5YWL6aOO6YeH6ZuG77yM5bm25bCG6YeH6ZuG5Yiw55qE5aOw6Z+z6L+b6KGM57yW56CB44CCIOW9kyBTREsg5oiQ5Yqf5ZCR5LqR56uv6YCB5Ye656ys5LiA5bin6Z+z6aKR5pWw5o2u5ZCO77yM5Lya5oqb5Ye66L+Z5Liq5Zue6LCD5LqL5Lu2XG4gICAgICpcbiAgICAgKiBAZXZlbnQgVFJUQ0NhbGxiYWNrI29uU2VuZEZpcnN0TG9jYWxBdWRpb0ZyYW1lXG4gICAgICovXG4gICAgb25TZW5kRmlyc3RMb2NhbEF1ZGlvRnJhbWUoKSB7IH1cbiAgICAvKipcbiAgICAgKiDpppbluKfmnKzlnLDop4bpopHmlbDmja7lt7Lnu4/ooqvpgIHlh7o8YnI+XG4gICAgICogU0RLIOS8muWcqCBgZW50ZXJSb29tKClgIOW5tiBgc3RhcnRMb2NhbFByZXZpZXcoKWAg5oiQ5Yqf5ZCO5byA5aeL5pGE5YOP5aS06YeH6ZuG77yM5bm25bCG6YeH6ZuG5Yiw55qE55S76Z2i6L+b6KGM57yW56CB44CCIOW9kyBTREsg5oiQ5Yqf5ZCR5LqR56uv6YCB5Ye656ys5LiA5bin6KeG6aKR5pWw5o2u5ZCO77yM5Lya5oqb5Ye66L+Z5Liq5Zue6LCD5LqL5Lu2XG4gICAgICpcbiAgICAgKiBAZXZlbnQgVFJUQ0NhbGxiYWNrI29uU2VuZEZpcnN0TG9jYWxWaWRlb0ZyYW1lXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IHN0cmVhbVR5cGUg6KeG6aKR5rWB57G75Z6L77yM5aSn55S76Z2i44CB5bCP55S76Z2i5oiW6L6F5rWB55S76Z2i77yI5bGP5bmV5YiG5Lqr77yJXG4gICAgICovXG4gICAgb25TZW5kRmlyc3RMb2NhbFZpZGVvRnJhbWUoc3RyZWFtVHlwZSkgeyB9XG4gICAgLyoqXG4gICAgICog5oqA5pyv5oyH5qCH57uf6K6h5Zue6LCDPGJyPlxuICAgICAqIOWmguaenOaCqOaYr+eGn+aCiemfs+inhumikemihuWfn+ebuOWFs+acr+ivre+8jOWPr+S7pemAmui/h+i/meS4quWbnuiwg+iOt+WPliBTREsg55qE5omA5pyJ5oqA5pyv5oyH5qCH44CCIOWmguaenOaCqOaYr+mmluasoeW8gOWPkemfs+inhumikeebuOWFs+mhueebru+8jOWPr+S7peWPquWFs+azqCBgb25OZXR3b3JrUXVhbGl0eWAg5Zue6LCDXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KipcbiAgICAgKiAtIOavjyAyIOenkuWbnuiwg+S4gOasoVxuICAgICAqXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHN0YXRpY3Mg54q25oCB5pWw5o2uXG4gICAgICovXG4gICAgb25TdGF0aXN0aWNzKHN0YXRpY3MpIHsgfVxuICAgIC8qKlxuICAgICAqIOi/nOerr+eUqOaIt+aYr+WQpuWtmOWcqOWPr+aSreaUvueahOmfs+mikeaVsOaNrjxicj5cbiAgICAgKiBAZXZlbnQgVFJUQ0NhbGxiYWNrI29uVXNlckF1ZGlvQXZhaWxhYmxlXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHVzZXJJZCDnlKjmiLfmoIfor4YgSURcbiAgICAgKiBAcGFyYW0ge0Jvb2xlYW59IGF2YWlsYWJsZSDlo7Dpn7PmmK/lkKblvIDlkK9cbiAgICAgKi9cbiAgICBvblVzZXJBdWRpb0F2YWlsYWJsZSh1c2VySWQsIGF2YWlsYWJsZSkgeyB9XG4gICAgLyoqXG4gICAgICog6L+c56uv55So5oi35piv5ZCm5a2Y5Zyo5Y+v5pKt5pS+55qE5Li76Lev55S76Z2i77yI5LiA6Iis55So5LqO5pGE5YOP5aS077yJPGJyPlxuICAgICAqIOW9k+aCqOaUtuWIsCBgb25Vc2VyVmlkZW9BdmFpbGFibGUodXNlcklkLCB0cnVlKWAg6YCa55+l5pe277yM6KGo56S66K+l6Lev55S76Z2i5bey57uP5pyJ5Y+v55So55qE6KeG6aKR5pWw5o2u5bin5Yiw6L6+44CCIOatpOaXtu+8jOaCqOmcgOimgeiwg+eUqCBgc3RhcnRSZW1vdGVWaWV3KHVzZXJJZClgIOaOpeWPo+WKoOi9veivpeeUqOaIt+eahOi/nOeoi+eUu+mdouOAgiDnhLblkI7vvIzmgqjkvJrmlLbliLDlkI3kuLogb25GaXJzdFZpZGVvRnJhbWUodXNlcmlkKSDnmoTpppbluKfnlLvpnaLmuLLmn5Plm57osIPjgII8YnI+XG4gICAgICog5b2T5oKo5pS25YiwIGBvblVzZXJWaWRlb0F2YWlsYWJsZSh1c2VySWQsIGZhbHNlKWAg6YCa55+l5pe277yM6KGo56S66K+l6Lev6L+c56iL55S76Z2i5bey57uP6KKr5YWz6Zet77yM5Y+v6IO955Sx5LqO6K+l55So5oi36LCD55So5LqGIGBtdXRlTG9jYWxWaWRlbygpYCDmiJYgYHN0b3BMb2NhbFByZXZpZXcoKWDjgIJcbiAgICAgKlxuICAgICAqIEBldmVudCBUUlRDQ2FsbGJhY2sjb25Vc2VyVmlkZW9BdmFpbGFibGVcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gdXNlcklkIOeUqOaIt+agh+ivhiBJRFxuICAgICAqIEBwYXJhbSB7Qm9vbGVhbn0gYXZhaWxhYmxlIOeUu+mdouaYr+WQpuW8gOWQr1xuICAgICAqL1xuICAgIG9uVXNlclZpZGVvQXZhaWxhYmxlKHVzZXJJZCwgYXZhaWxhYmxlKSB7IH1cbiAgICAvKipcbiAgICAgKiDnlKjkuo7mj5DnpLrpn7Pph4/lpKflsI/nmoTlm57osIPvvIzljIXmi6zmr4/kuKogdXNlcklkIOeahOmfs+mHj+WSjOi/nOerr+aAu+mfs+mHjzxicj5cbiAgICAgKiBTREsg5Y+v5Lul6K+E5Lyw5q+P5LiA6Lev6Z+z6aKR55qE6Z+z6YeP5aSn5bCP77yM5bm25q+P6ZqU5LiA5q615pe26Ze05oqb5Ye66K+l5LqL5Lu25Zue6LCD77yM5oKo5Y+v5Lul5qC55o2u6Z+z6YeP5aSn5bCP5ZyoIFVJIOS4iuWBmuWHuuebuOW6lOeahOaPkOekuu+8jOavlOWmguKAnOazouW9ouWbvuKAneaIluKAnOmfs+mHj+anveKAneOAgiDopoHlrozmiJDov5nkuKrlip/og73vvIwg5oKo6ZyA6KaB5YWI6LCD55SoIGVuYWJsZUF1ZGlvVm9sdW1lRXZhbHVhdGlvbiDlvIDlkK/ov5nkuKrog73lipvlubborr7lrprkuovku7bmipvlh7rnmoTml7bpl7Tpl7TpmpTjgIIg6ZyA6KaB6KGl5YWF6K+05piO55qE5piv77yM5peg6K665b2T5YmN5oi/6Ze05Lit5piv5ZCm5pyJ5Lq66K+06K+d77yMU0RLIOmDveS8muaMieeFp+aCqOiuvuWumueahOaXtumXtOmXtOmalOWumuaXtuaKm+WHuuatpOS6i+S7tuWbnuiwg++8jOWPquS4jei/h+W9k+ayoeacieS6uuivtOivneaXtu+8jHVzZXJWb2x1bWVzIOS4uuepuu+8jHRvdGFsVm9sdW1lIOS4uiAw44CCXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KipcbiAgICAgKiAtIHVzZXJWb2x1bWVzIOS4uuS4gOS4quaVsOe7hO+8jOWvueS6juaVsOe7hOS4reeahOavj+S4gOS4quWFg+e0oO+8jOW9kyB1c2VySWQg5Li656m65pe26KGo56S65pys5Zyw6bqm5YWL6aOO6YeH6ZuG55qE6Z+z6YeP5aSn5bCP77yM5b2TIHVzZXJJZCDkuI3kuLrnqbrml7bku6Pooajov5znq6/nlKjmiLfnmoTpn7Pph4/lpKflsI9cbiAgICAgKlxuICAgICAqIEBldmVudCBUUlRDQ2FsbGJhY2sjb25Vc2VyVm9pY2VWb2x1bWVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSB1c2VyVm9sdW1lcyDmmK/kuIDkuKrmlbDnu4TvvIznlKjkuo7mib/ovb3miYDmnInmraPlnKjor7Tor53nmoTnlKjmiLfnmoTpn7Pph4/lpKflsI/vvIzlj5blgLzojIPlm7QgMCAtIDEwMFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSB0b3RhbFZvbHVtZSDmiYDmnInov5znq6/nlKjmiLfnmoTmgLvpn7Pph4/lpKflsI8sIOWPluWAvOiMg+WbtCAwIC0gMTAwXG4gICAgICovXG4gICAgb25Vc2VyVm9pY2VWb2x1bWUodXNlclZvbHVtZXMsIHRvdGFsVm9sdW1lKSB7IH1cbiAgICAvKipcbiAgICAgKiDlsY/luZXliIbkuqvlvIDlkK/nmoTkuovku7blm57osIM8YnI+XG4gICAgICog5b2T5oKo6YCa6L+HIHN0YXJ0U2NyZWVuQ2FwdHVyZSDnrYnnm7jlhbPmjqXlj6PlkK/liqjlsY/luZXliIbkuqvml7bvvIxTREsg5L6/5Lya5oqb5Ye65q2k5LqL5Lu25Zue6LCDXG4gICAgICogQGV2ZW50IFRSVENDYWxsYmFjayNvblNjcmVlbkNhcHR1cmVTdGFydGVkXG4gICAgICovXG4gICAgb25TY3JlZW5DYXB0dXJlU3RhcnRlZCgpIHsgfVxuICAgIC8qKlxuICAgICAqIOWxj+W5leWIhuS6q+WBnOatoueahOS6i+S7tuWbnuiwgzxicj5cbiAgICAgKiDlvZPmgqjpgJrov4cgc3RvcFNjcmVlbkNhcHR1cmUg5YGc5q2i5bGP5bmV5YiG5Lqr5pe277yMU0RLIOS+v+S8muaKm+WHuuatpOS6i+S7tuWbnuiwg1xuICAgICAqIEBldmVudCBUUlRDQ2FsbGJhY2sjb25TY3JlZW5DYXB0dXJlU3RvcHBlZFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSByZWFzb24g5YGc5q2i5Y6f5Zug77yMMO+8mueUqOaIt+S4u+WKqOWBnOatou+8mzHvvJrlsY/luZXnqpflj6PlhbPpl63lr7zoh7TlgZzmraLvvJsy77ya6KGo56S65bGP5bmV5YiG5Lqr55qE5pi+56S65bGP54q25oCB5Y+Y5pu077yI5aaC5o6l5Y+j6KKr5ouU5Ye644CB5oqV5b2x5qih5byP5Y+Y5pu0562J77yJXG4gICAgICovXG4gICAgb25TY3JlZW5DYXB0dXJlU3RvcHBlZChyZWFzb24pIHsgfVxuICAgIC8qKlxuICAgICAqIOWxj+W5leWIhuS6q+WBnOatoueahOS6i+S7tuWbnuiwgzxicj5cbiAgICAgKiDlvZPmgqjpgJrov4cgcGF1c2VTY3JlZW5DYXB0dXJlIOWBnOatouWxj+W5leWIhuS6q+aXtu+8jFNESyDkvr/kvJrmipvlh7rmraTkuovku7blm57osINcbiAgICAgKiBAZXZlbnQgVFJUQ0NhbGxiYWNrI29uU2NyZWVuQ2FwdHVyZVBhdXNlZFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSByZWFzb24g5YGc5q2i5Y6f5Zug77yMMO+8mueUqOaIt+S4u+WKqOWBnOatou+8mzHvvJrlsY/luZXnqpflj6PlhbPpl63lr7zoh7TlgZzmraLvvJsy77ya6KGo56S65bGP5bmV5YiG5Lqr55qE5pi+56S65bGP54q25oCB5Y+Y5pu077yI5aaC5o6l5Y+j6KKr5ouU5Ye644CB5oqV5b2x5qih5byP5Y+Y5pu0562J77yJXG4gICAgICovXG4gICAgb25TY3JlZW5DYXB0dXJlUGF1c2VkKHJlYXNvbikgeyB9XG4gICAgLyoqXG4gICAgICog5bGP5bmV5YiG5Lqr5oGi5aSN55qE5LqL5Lu25Zue6LCDPGJyPlxuICAgICAqIOW9k+aCqOmAmui/hyByZXN1bWVTY3JlZW5DYXB0dXJlIOaBouWkjeWxj+W5leWIhuS6q+aXtu+8jFNESyDkvr/kvJrmipvlh7rmraTkuovku7blm57osINcbiAgICAgKiBAZXZlbnQgVFJUQ0NhbGxiYWNrI29uU2NyZWVuQ2FwdHVyZVJlc3VtZWRcbiAgICAgKi9cbiAgICBvblNjcmVlbkNhcHR1cmVSZXN1bWVkKCkgeyB9XG4gICAgLyoqXG4gICAgICog5p+Q6L+c56uv55So5oi35Y+R5biDL+WPlua2iOS6hui+hei3r+inhumikeeUu+mdojxicj5cbiAgICAgKiDigJzovoXot6/nlLvpnaLigJ3kuIDoiKzooqvnlKjkuo7mib/ovb3lsY/luZXliIbkuqvnmoTnlLvpnaLjgILlvZPmgqjmlLbliLAgb25Vc2VyU3ViU3RyZWFtQXZhaWxhYmxlKHVzZXJJZCwgdHJ1ZSkg6YCa55+l5pe277yM6KGo56S66K+l6Lev55S76Z2i5bey57uP5pyJ5Y+v5pKt5pS+55qE6KeG6aKR5bin5Yiw6L6+44CCIOatpOaXtu+8jOaCqOmcgOimgeiwg+eUqCBzdGFydFJlbW90ZVZpZXcg5o6l5Y+j6K6i6ZiF6K+l55So5oi355qE6L+c56iL55S76Z2i77yM6K6i6ZiF5oiQ5Yqf5ZCO77yM5oKo5Lya57un57ut5pS25Yiw6K+l55So5oi355qE6aaW5bin55S76Z2i5riy5p+T5Zue6LCDIG9uRmlyc3RWaWRlb0ZyYW1lKHVzZXJJZClcbiAgICAgKlxuICAgICAqICoqTm90ZToqKlxuICAgICAqIC0g5ouJ5Y+WIFdlYiDnq6/vvIjnlKggW1dlYlJUQ10oaHR0cHM6Ly93ZWIuc2RrLnFjbG91ZC5jb20vdHJ0Yy93ZWJydGMvZG9jL3poLWNuL2luZGV4Lmh0bWwpIOWunueOsOWxj+W5leWIhuS6q++8ieeahOWxj+W5leWIhuS6q++8jOaUtuS4jeWIsCBvblVzZXJTdWJTdHJlYW1BdmFpbGFibGUg5LqL5Lu244CC5Zug5Li6IFtXZWJSVENdKGh0dHBzOi8vd2ViLnNkay5xY2xvdWQuY29tL3RydGMvd2VicnRjL2RvYy96aC1jbi9pbmRleC5odG1sKSDmjqjnmoTlsY/luZXliIbkuqvkuZ/mmK/kuLvmtYFcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gdXNlcklkIOeUqOaItyBJRFxuICAgICAqIEBwYXJhbSB7Qm9vbGVhbn0gYXZhaWxhYmxlIOaYr+WQpuWPr+eUqO+8jHRydWUg6KGo56S66L6F5rWB5Y+v55SoXG4gICAgICogQGV2ZW50IFRSVENDYWxsYmFjayNvblVzZXJTdWJTdHJlYW1BdmFpbGFibGVcbiAgICAgKi9cbiAgICBvblVzZXJTdWJTdHJlYW1BdmFpbGFibGUodXNlcklkLCBhdmFpbGFibGUpIHsgfVxuICAgIC8qKlxuICAgICAqIOeUqOaIt+inhumikeWkp+Wwj+WPkeeUn+aUueWPmOWbnuiwg+OAgjxicj5cbiAgICAgKiDlvZPmgqjmlLbliLAgb25Vc2VyVmlkZW9TaXplQ2hhbmdlZCh1c2VySWQsIHN0cmVhbXR5cGUsIG5ld1dpZHRoLCBuZXdIZWlnaHQpIOmAmuefpeaXtu+8jOihqOekuuivpei3r+eUu+mdouWkp+Wwj+WPkeeUn+S6huiwg+aVtO+8jOiwg+aVtOeahOWOn+WboOWPr+iDveaYr+ivpeeUqOaIt+iwg+eUqOS6hiBzZXRWaWRlb0VuY29kZXJQYXJhbSDmiJbogIUgc2V0U3ViU3RyZWFtRW5jb2RlclBhcmFtIOmHjeaWsOiuvue9ruS6hueUu+mdouWwuuWvuOOAglxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSB1c2VySWQg55So5oi3IElEXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IHN0cmVhbVR5cGUg6KeG6aKR5rWB57G75Z6L77yM5LuF5pSv5oyBIFRSVENWaWRlb1N0cmVhbVR5cGVCaWcg5ZKMIFRSVENWaWRlb1N0cmVhbVR5cGVTdWJcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gbmV3V2lkdGgg6KeG6aKR5rWB55qE5a695bqm77yI5YOP57Sg77yJXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IG5ld0hlaWdodCDop4bpopHmtYHnmoTpq5jluqbvvIjlg4/ntKDvvIlcbiAgICAgKiBAZXZlbnQgVFJUQ0NhbGxiYWNrI29uVXNlclZpZGVvU2l6ZUNoYW5nZWRcbiAgICAgKi9cbiAgICBvblVzZXJWaWRlb1NpemVDaGFuZ2VkKHVzZXJJZCwgc3RyZWFtVHlwZSwgbmV3V2lkdGgsIG5ld0hlaWdodCkgeyB9XG4gICAgLyoqXG4gICAgICog6IOM5pmv6Z+z5LmQ5byA5aeL5pKt5pS+XG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IGlkIOaSreaUvueahCBpZFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBlcnJDb2RlIOaSreaUvueahOeKtuaAgeeggVxuICAgICAqIEBldmVudCBUUlRDQ2FsbGJhY2sjb25TdGFydFxuICAgICAqL1xuICAgIG9uU3RhcnQoaWQsIGVyckNvZGUpIHsgfVxuICAgIC8qKlxuICAgICAqIOiDjOaZr+mfs+S5kOeahOaSreaUvui/m+W6plxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBpZCDmkq3mlL7nmoQgaWRcbiAgICAgKiBAcGFyYW0ge051bWJlcn0gY3VyUHRzTVMg5b2T5YmN5pKt5pS+55qE5L2N572uXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IGR1cmF0aW9uTVMg5b2T5YmN6Z+z6aKR5oC75pe26ZW/XG4gICAgICogQGV2ZW50IFRSVENDYWxsYmFjayNvblBsYXlQcm9ncmVzc1xuICAgICAqL1xuICAgIG9uUGxheVByb2dyZXNzKGlkLCBjdXJQdHNNUywgZHVyYXRpb25NUykgeyB9XG4gICAgLyoqXG4gICAgICog6IOM5pmv6Z+z5LmQ5bey57uP5pKt5pS+5a6M5q+VXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IGlkIOaSreaUvueahCBpZFxuICAgICAqIEBwYXJhbSB7TnVtYmVyfSBlcnJDb2RlIOaSreaUvue7k+adn+eahOeKtuaAgeeggVxuICAgICAqIEBldmVudCBUUlRDQ2FsbGJhY2sjb25Db21wbGV0ZVxuICAgICAqL1xuICAgIG9uQ29tcGxldGUoaWQsIGVyckNvZGUpIHsgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///51\n");
- /***/ }),
- /* 52 */
- /*!***************************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***!
- \***************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- function _classCallCheck(instance, Constructor) {
- if (!(instance instanceof Constructor)) {
- throw new TypeError("Cannot call a class as a function");
- }
- }
- module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 53 */
- /*!************************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/createClass.js ***!
- \************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ 54);
- function _defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);
- }
- }
- function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- Object.defineProperty(Constructor, "prototype", {
- writable: false
- });
- return Constructor;
- }
- module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 54 */
- /*!**************************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/toPropertyKey.js ***!
- \**************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- var _typeof = __webpack_require__(/*! ./typeof.js */ 55)["default"];
- var toPrimitive = __webpack_require__(/*! ./toPrimitive.js */ 56);
- function toPropertyKey(t) {
- var i = toPrimitive(t, "string");
- return "symbol" == _typeof(i) ? i : i + "";
- }
- module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 55 */
- /*!*******************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/typeof.js ***!
- \*******************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- function _typeof(o) {
- "@babel/helpers - typeof";
- return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
- return typeof o;
- } : function (o) {
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
- }, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(o);
- }
- module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 56 */
- /*!************************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/toPrimitive.js ***!
- \************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- var _typeof = __webpack_require__(/*! ./typeof.js */ 55)["default"];
- function toPrimitive(t, r) {
- if ("object" != _typeof(t) || !t) return t;
- var e = t[Symbol.toPrimitive];
- if (void 0 !== e) {
- var i = e.call(t, r || "default");
- if ("object" != _typeof(i)) return i;
- throw new TypeError("@@toPrimitive must return a primitive value.");
- }
- return ("string" === r ? String : Number)(t);
- }
- module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 57 */
- /*!*****************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/TrtcCloud/lib/TrtcCloudImpl.js ***!
- \*****************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("/* WEBPACK VAR INJECTION */(function(__webpack_provided_uni_dot_requireNativePlugin, __f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 31);\nvar _typeof3 = __webpack_require__(/*! @babel/runtime/helpers/typeof */ 55);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 58));\nvar _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 55));\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 52));\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 53));\nvar _constants = __webpack_require__(/*! ./constants */ 60);\nvar _TrtcDefines = __webpack_require__(/*! ./TrtcDefines */ 61);\nvar _TrtcCode = _interopRequireWildcard(__webpack_require__(/*! ./TrtcCode */ 62));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar TrtcNativeTrtcCloudModule = __webpack_provided_uni_dot_requireNativePlugin('TRTCCloudUniPlugin-TRTCCloudImpl');\nvar TXAudioEffectManagerModule = __webpack_provided_uni_dot_requireNativePlugin('TRTCCloudUniPlugin-TRTCCloudImpl-TXAudioEffectManagerModule');\nvar TrtcEvent = __webpack_provided_uni_dot_requireNativePlugin('globalEvent');\nvar trtcCloud = null; // trtcCloud 单例\nvar TrtcCloudImpl = /*#__PURE__*/function () {\n function TrtcCloudImpl() {\n (0, _classCallCheck2.default)(this, TrtcCloudImpl);\n this.listenersMap_ = new Map();\n }\n (0, _createClass2.default)(TrtcCloudImpl, [{\n key: \"on\",\n value:\n // 截图保存\n // async saveImage_(base64Data) {\n // return new Promise((resolve, reject) => {\n // let bitmap = new plus.nativeObj.Bitmap();\n // bitmap.loadBase64Data(base64Data, () => {\n // const url = \"_doc/\" + new Date().getTime() + \".png\"; // url为时间戳命名方式\n // console.log('saveHeadImgFile', url);\n // bitmap.save(url, { overwrite: true }, (i) => {\n // uni.saveImageToPhotosAlbum({\n // filePath: url,\n // success: function() {\n // uni.showToast({\n // title: '图片保存成功',\n // icon: 'none'\n // })\n // bitmap.clear();\n // resolve({ code: 0, message: '图片保存成功' });\n // }\n // });\n // }, (e) => {\n // uni.showToast({\n // title: '图片保存失败, 请重新截图',\n // icon: 'none'\n // })\n // bitmap.clear();\n // resolve({ code: -1, message: '图片保存失败, 请重新截图' });\n // });\n // });\n // });\n // }\n function on(event, callback) {\n var _this = this;\n if ((0, _typeof2.default)(event) !== _constants.NAME.STRING || (0, _typeof2.default)(callback) !== _constants.NAME.FUNCTION) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the on method parameter types. event type is a \").concat((0, _typeof2.default)(event), \"; callback type is a \").concat((0, _typeof2.default)(callback))\n });\n }\n var nativeListener = function nativeListener(res) {\n return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var _res$data, data, code, message, extraInfo, result, reason, userId, streamType, width, height, _userId, localQuality, remoteQuality, _userId2, _userId3, _reason, _streamType, statics, _userId4, available, _userId5, _available, userVolumes, totalVolume, _userId6, _available2;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _res$data = res.data, data = _res$data === void 0 ? [] : _res$data;\n code = data[0];\n message = data[1];\n extraInfo = data[2];\n _context.t0 = event;\n _context.next = _context.t0 === 'onEnterRoom' ? 7 : _context.t0 === 'onExitRoom' ? 10 : _context.t0 === 'onFirstVideoFrame' ? 13 : _context.t0 === 'onFirstAudioFrame' ? 19 : _context.t0 === 'onMicDidReady' ? 22 : _context.t0 === 'onCameraDidReady' ? 24 : _context.t0 === 'onNetworkQuality' ? 26 : _context.t0 === 'onRemoteUserEnterRoom' ? 30 : _context.t0 === 'onRemoteUserLeaveRoom' ? 33 : _context.t0 === 'onSendFirstLocalAudioFrame' ? 37 : _context.t0 === 'onSendFirstLocalVideoFrame' ? 39 : _context.t0 === 'onStatistics' ? 42 : _context.t0 === 'onUserAudioAvailable' ? 45 : _context.t0 === 'onUserVideoAvailable' ? 49 : _context.t0 === 'onUserVoiceVolume' ? 53 : _context.t0 === 'onSwitchRole' ? 57 : _context.t0 === 'onScreenCaptureStarted' ? 59 : _context.t0 === 'onScreenCapturePaused' ? 61 : _context.t0 === 'onScreenCaptureResumed' ? 63 : _context.t0 === 'onScreenCaptureStopped' ? 65 : _context.t0 === 'onUserSubStreamAvailable' ? 67 : _context.t0 === 'onSnapshotComplete' ? 71 : _context.t0 === 'onUserVideoSizeChanged' ? 73 : _context.t0 === 'onStart' ? 75 : _context.t0 === 'onPlayProgress' ? 77 : _context.t0 === 'onComplete' ? 79 : _context.t0 === 'onConnectOtherRoom' ? 81 : _context.t0 === 'onDisconnectOtherRoom' ? 83 : _context.t0 === 'onError' ? 85 : 88;\n break;\n case 7:\n result = code;\n callback(result);\n return _context.abrupt(\"break\", 89);\n case 10:\n reason = code;\n callback(reason);\n return _context.abrupt(\"break\", 89);\n case 13:\n userId = code;\n streamType = data[1];\n width = data[2];\n height = data[3];\n callback({\n userId: userId,\n streamType: streamType,\n width: width,\n height: height\n });\n return _context.abrupt(\"break\", 89);\n case 19:\n _userId = code;\n callback(_userId);\n return _context.abrupt(\"break\", 89);\n case 22:\n callback();\n return _context.abrupt(\"break\", 89);\n case 24:\n callback();\n return _context.abrupt(\"break\", 89);\n case 26:\n localQuality = data[0];\n remoteQuality = data[1];\n callback({\n localQuality: localQuality,\n remoteQuality: remoteQuality\n });\n return _context.abrupt(\"break\", 89);\n case 30:\n _userId2 = code;\n callback(_userId2);\n return _context.abrupt(\"break\", 89);\n case 33:\n _userId3 = code;\n _reason = message;\n callback({\n userId: _userId3,\n reason: _reason\n });\n return _context.abrupt(\"break\", 89);\n case 37:\n callback();\n return _context.abrupt(\"break\", 89);\n case 39:\n _streamType = code;\n callback(_streamType);\n return _context.abrupt(\"break\", 89);\n case 42:\n statics = data[0];\n callback(statics);\n return _context.abrupt(\"break\", 89);\n case 45:\n _userId4 = code;\n available = message;\n callback({\n userId: _userId4,\n available: available\n });\n return _context.abrupt(\"break\", 89);\n case 49:\n _userId5 = code;\n _available = message;\n callback({\n userId: _userId5,\n available: _available\n });\n return _context.abrupt(\"break\", 89);\n case 53:\n userVolumes = data[0];\n totalVolume = data[1];\n callback({\n userVolumes: userVolumes,\n totalVolume: totalVolume\n });\n return _context.abrupt(\"break\", 89);\n case 57:\n callback({\n code: code,\n message: message\n });\n return _context.abrupt(\"break\", 89);\n case 59:\n callback({\n code: code,\n message: message\n });\n return _context.abrupt(\"break\", 89);\n case 61:\n callback({\n code: code,\n message: message\n });\n return _context.abrupt(\"break\", 89);\n case 63:\n callback({\n code: code,\n message: message\n });\n return _context.abrupt(\"break\", 89);\n case 65:\n callback({\n code: code,\n message: message\n });\n return _context.abrupt(\"break\", 89);\n case 67:\n _userId6 = code;\n _available2 = message;\n callback({\n userId: _userId6,\n available: _available2\n });\n return _context.abrupt(\"break\", 89);\n case 71:\n // base64 直接保存到本地图库\n // const { code: snapShotCode, message: msg } = await this.saveImage_(code);\n // callback({ snapShotCode, message: msg });\n callback({\n base64Data: code,\n message: message\n });\n return _context.abrupt(\"break\", 89);\n case 73:\n callback(data);\n return _context.abrupt(\"break\", 89);\n case 75:\n callback({\n id: code,\n errCode: message\n });\n return _context.abrupt(\"break\", 89);\n case 77:\n callback({\n id: code,\n curPtsMS: message,\n durationMS: extraInfo\n });\n return _context.abrupt(\"break\", 89);\n case 79:\n callback({\n id: code,\n errCode: message\n });\n return _context.abrupt(\"break\", 89);\n case 81:\n // 拿不到 userid, 为了和 native 参数保持一致,所以空字符串代替\n callback({\n userId: '',\n errCode: code,\n errMsg: message\n });\n return _context.abrupt(\"break\", 89);\n case 83:\n callback({\n errCode: code,\n errMsg: message\n });\n return _context.abrupt(\"break\", 89);\n case 85:\n __f__(\"error\", \"onError: \".concat(code, \", \").concat(message, \", \").concat(extraInfo), \" at TrtcCloud/lib/TrtcCloudImpl.js:238\");\n callback((0, _TrtcCode.generateError_)({\n message: message\n }, code, extraInfo));\n return _context.abrupt(\"break\", 89);\n case 88:\n callback({\n code: code,\n message: message,\n extraInfo: extraInfo\n });\n case 89:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n };\n this.listenersMap_.set(event, nativeListener); // 多次设置同一个事件时,后面的 callback 覆盖前面\n TrtcEvent.addEventListener(event, nativeListener);\n }\n }, {\n key: \"off\",\n value: function off(event) {\n if ((0, _typeof2.default)(event) !== _constants.NAME.STRING) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the off method parameter types. event type is a \").concat((0, _typeof2.default)(event), \" not a \").concat(_constants.NAME.STRING)\n });\n }\n try {\n if (event === '*') {\n this.listenersMap_.forEach(function (value, key) {\n TrtcEvent.removeEventListener(key, value);\n });\n this.listenersMap_.clear();\n } else {\n TrtcEvent.removeEventListener(event, this.listenersMap_.get(event));\n this.listenersMap_.delete(event);\n }\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"enterRoom\",\n value: function enterRoom(params, scene) {\n if (scene !== _TrtcDefines.TRTCAppScene.TRTCAppSceneVideoCall && scene !== _TrtcDefines.TRTCAppScene.TRTCAppSceneLIVE && scene !== _TrtcDefines.TRTCAppScene.TRTCAppSceneAudioCall && scene !== _TrtcDefines.TRTCAppScene.TRTCAppSceneVoiceChatRoom) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the enterRoom method parameters. scene is not of TRTCAppScene\")\n });\n }\n try {\n var enterRoomParams = Object.assign(Object.assign({}, params), {\n role: params.role || _TrtcDefines.TRTCRoleType.TRTCRoleAnchor,\n appScene: scene\n });\n TrtcNativeTrtcCloudModule.enterRoom(enterRoomParams);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"exitRoom\",\n value: function exitRoom() {\n try {\n TrtcNativeTrtcCloudModule.exitRoom();\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"connectOtherRoom\",\n value: function connectOtherRoom(params) {\n try {\n TrtcNativeTrtcCloudModule.connectOtherRoom(params);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"disconnectOtherRoom\",\n value: function disconnectOtherRoom() {\n try {\n TrtcNativeTrtcCloudModule.disconnectOtherRoom();\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"switchRole\",\n value: function switchRole(role) {\n if (role !== _TrtcDefines.TRTCRoleType.TRTCRoleAnchor && role !== _TrtcDefines.TRTCRoleType.TRTCRoleAudience) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the switchRole method parameter. role is not of TRTCRoleType\")\n });\n }\n try {\n role && TrtcNativeTrtcCloudModule.switchRole(role);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"startLocalPreview\",\n value: function startLocalPreview() {\n var isFrontCamera = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var viewId = arguments.length > 1 ? arguments[1] : undefined;\n if ((0, _typeof2.default)(isFrontCamera) !== _constants.NAME.BOOLEAN || !viewId || (0, _typeof2.default)(viewId) !== _constants.NAME.STRING) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the startLocalPreview method parameters\")\n });\n }\n try {\n var param = {\n isFrontCamera: !!isFrontCamera\n };\n param = viewId ? Object.assign(Object.assign({}, param), {\n userId: viewId\n }) : param;\n TrtcNativeTrtcCloudModule.startLocalPreview(param);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"setVideoEncoderParam\",\n value: function setVideoEncoderParam(param) {\n try {\n TrtcNativeTrtcCloudModule.setVideoEncoderParam(param);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"stopLocalPreview\",\n value: function stopLocalPreview() {\n try {\n TrtcNativeTrtcCloudModule.stopLocalPreview();\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"switchCamera\",\n value: function switchCamera(isFrontCamera) {\n if ((0, _typeof2.default)(isFrontCamera) !== _constants.NAME.BOOLEAN) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the switchCamera method parameter\")\n });\n }\n try {\n TrtcNativeTrtcCloudModule.switchCamera(isFrontCamera);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"setLocalRenderParams\",\n value: function setLocalRenderParams(params) {\n try {\n var _params$rotation = params.rotation,\n rotation = _params$rotation === void 0 ? _TrtcDefines.TRTCVideoRotation.TRTCVideoRotation_0 : _params$rotation,\n _params$fillMode = params.fillMode,\n fillMode = _params$fillMode === void 0 ? _TrtcDefines.TRTCVideoFillMode.TRTCVideoFillMode_Fill : _params$fillMode,\n _params$mirrorType = params.mirrorType,\n mirrorType = _params$mirrorType === void 0 ? _TrtcDefines.TRTCVideoMirrorType.TRTCVideoMirrorType_Auto : _params$mirrorType;\n TrtcNativeTrtcCloudModule.setLocalRenderParams({\n rotation: rotation,\n fillMode: fillMode,\n mirrorType: mirrorType\n });\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"muteLocalVideo\",\n value: function muteLocalVideo(streamType, mute) {\n if (streamType !== _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeBig && streamType !== _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeSub || (0, _typeof2.default)(mute) !== _constants.NAME.BOOLEAN) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the muteLocalVideo method parameters\")\n });\n }\n try {\n TrtcNativeTrtcCloudModule.muteLocalVideo({\n streamType: streamType,\n mute: !!mute\n });\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"startRemoteView\",\n value: function startRemoteView(userId, streamType, viewId) {\n if (!userId || streamType !== _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeBig && streamType !== _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeSmall && streamType !== _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeSub || !viewId) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the startRemoteView method parameters\")\n });\n }\n try {\n TrtcNativeTrtcCloudModule.startRemoteView({\n userId: userId,\n streamType: streamType,\n viewId: viewId\n });\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"stopRemoteView\",\n value: function stopRemoteView(userId, streamType) {\n if (!userId || streamType !== _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeBig && streamType !== _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeSmall && streamType !== _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeSub) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the stopRemoteView method parameters\")\n });\n }\n try {\n TrtcNativeTrtcCloudModule.stopRemoteView({\n userId: userId,\n streamType: streamType\n });\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n // 远端渲染设置\n }, {\n key: \"setRemoteRenderParams\",\n value: function setRemoteRenderParams(userId, streamType, params) {\n try {\n if (!userId || streamType !== _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeBig && streamType !== _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeSub) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the snapshotVideo method parameters\")\n });\n }\n var _params$rotation2 = params.rotation,\n rotation = _params$rotation2 === void 0 ? _TrtcDefines.TRTCVideoRotation.TRTCVideoRotation_0 : _params$rotation2,\n _params$fillMode2 = params.fillMode,\n fillMode = _params$fillMode2 === void 0 ? _TrtcDefines.TRTCVideoFillMode.TRTCVideoFillMode_Fill : _params$fillMode2,\n _params$mirrorType2 = params.mirrorType,\n mirrorType = _params$mirrorType2 === void 0 ? _TrtcDefines.TRTCVideoMirrorType.TRTCVideoMirrorType_Auto : _params$mirrorType2;\n TrtcNativeTrtcCloudModule.setRemoteRenderParams({\n userId: userId,\n streamType: streamType,\n rotation: rotation,\n fillMode: fillMode,\n mirrorType: mirrorType\n });\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n // 设置视频编码器输出的画面方向\n }, {\n key: \"setVideoEncoderRotation\",\n value: function setVideoEncoderRotation(rotation) {\n if ((0, _typeof2.default)(rotation) !== _constants.NAME.NUMBER) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the setVideoEncoderRotation method parameter\")\n });\n }\n try {\n TrtcNativeTrtcCloudModule.setVideoEncoderRotation(rotation);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n // 设置编码器输出的画面镜像模式\n }, {\n key: \"setVideoEncoderMirror\",\n value: function setVideoEncoderMirror(mirror) {\n if ((0, _typeof2.default)(mirror) !== _constants.NAME.BOOLEAN) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the setVideoEncoderMirror method parameter\")\n });\n }\n try {\n TrtcNativeTrtcCloudModule.setVideoEncoderMirror(mirror);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n // 设置重力感应的适配模式\n }, {\n key: \"setGSensorMode\",\n value: function setGSensorMode(mode) {\n if ((0, _typeof2.default)(mode) !== _constants.NAME.NUMBER) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the setGSensorMode method parameter\")\n });\n }\n try {\n TrtcNativeTrtcCloudModule.setGSensorMode(mode);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n // 截图\n }, {\n key: \"snapshotVideo\",\n value: function snapshotVideo(userId, streamType, sourceType) {\n if (streamType !== _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeBig && streamType !== _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeSub) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the snapshotVideo method parameters\")\n });\n }\n try {\n TrtcNativeTrtcCloudModule.snapshotVideo({\n userId: userId || null,\n streamType: streamType,\n sourceType: sourceType\n });\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"startLocalAudio\",\n value: function startLocalAudio() {\n var quality = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _TrtcDefines.TRTCAudioQuality.TRTCAudioQualityDefault;\n if (quality !== _TrtcDefines.TRTCAudioQuality.TRTCAudioQualitySpeech && quality !== _TrtcDefines.TRTCAudioQuality.TRTCAudioQualityDefault && quality !== _TrtcDefines.TRTCAudioQuality.TRTCAudioQualityMusic) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the startLocalAudio method parameters\")\n });\n }\n try {\n TrtcNativeTrtcCloudModule.startLocalAudio(quality);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"stopLocalAudio\",\n value: function stopLocalAudio() {\n try {\n TrtcNativeTrtcCloudModule.stopLocalAudio();\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"muteLocalAudio\",\n value: function muteLocalAudio(mute) {\n if ((0, _typeof2.default)(mute) !== _constants.NAME.BOOLEAN) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the muteLocalAudio method parameters, mute type is a \").concat((0, _typeof2.default)(mute), \" not a \").concat(_constants.NAME.BOOLEAN)\n });\n }\n try {\n TrtcNativeTrtcCloudModule.muteLocalAudio(!!mute);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"muteRemoteAudio\",\n value: function muteRemoteAudio(userId, mute) {\n if ((0, _typeof2.default)(mute) !== _constants.NAME.BOOLEAN || !userId) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the muteRemoteAudio method parameters\")\n });\n }\n try {\n TrtcNativeTrtcCloudModule.muteRemoteAudio({\n userId: userId,\n mute: !!mute\n });\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"muteAllRemoteAudio\",\n value: function muteAllRemoteAudio(mute) {\n if ((0, _typeof2.default)(mute) !== _constants.NAME.BOOLEAN) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the muteAllRemoteAudio method parameters, mute type is a \").concat((0, _typeof2.default)(mute), \" not a \").concat(_constants.NAME.BOOLEAN)\n });\n }\n try {\n TrtcNativeTrtcCloudModule.muteAllRemoteAudio(!!mute);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"setAudioRoute\",\n value: function setAudioRoute(route) {\n if (route !== _TrtcDefines.TRTCAudioRoute.TRTCAudioRouteSpeaker && route !== _TrtcDefines.TRTCAudioRoute.TRTCAudioRouteEarpiece) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the setAudioRoute method parameter, route is not of TRTCAudioRoute\")\n });\n }\n try {\n TrtcNativeTrtcCloudModule.setAudioRoute(route);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"enableAudioVolumeEvaluation\",\n value: function enableAudioVolumeEvaluation(interval) {\n if ((0, _typeof2.default)(interval) !== _constants.NAME.NUMBER) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the enableAudioVolumeEvaluation method parameter, interval type is a \").concat((0, _typeof2.default)(interval), \" not a \").concat(_constants.NAME.NUMBER)\n });\n }\n try {\n interval > 0 && TrtcNativeTrtcCloudModule.enableAudioVolumeEvaluation(interval);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n // ///////////////////////////////////////////////////////////////////////////////\n //\n // 美颜 + 水印\n //\n // ///////////////////////////////////////////////////////////////////////////////\n }, {\n key: \"setBeautyStyle\",\n value: function setBeautyStyle(beautyStyle) {\n if (beautyStyle !== _TrtcDefines.TRTCBeautyStyle.TRTCBeautyStyleSmooth && beautyStyle !== _TrtcDefines.TRTCBeautyStyle.TRTCBeautyStyleNature && beautyStyle !== _TrtcDefines.TRTCBeautyStyle.TRTCBeautyStylePitu) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the setBeautyStyle method parameter, beautyStyle is not of TRTCBeautyStyle\")\n });\n }\n try {\n TrtcNativeTrtcCloudModule.setBeautyStyle(beautyStyle);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"setBeautyLevel\",\n value: function setBeautyLevel(beautyLevel) {\n if ((0, _typeof2.default)(beautyLevel) !== _constants.NAME.NUMBER || beautyLevel < 0 || beautyLevel > 9) {\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_PARAMETER,\n message: \"\".concat(_constants.NAME.LOG_PREFIX, \" please check the setBeautyLevel method parameter, beautyLevel should in the range 0-9\")\n });\n }\n try {\n TrtcNativeTrtcCloudModule.setBeautyLevel(beautyLevel);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n // ///////////////////////////////////////////////////////////////////////////////\n //\n // 背景音效\n //\n // ///////////////////////////////////////////////////////////////////////////////\n }, {\n key: \"startPlayMusic\",\n value: function startPlayMusic(musicParam) {\n try {\n var _ref = musicParam || {},\n _ref$id = _ref.id,\n id = _ref$id === void 0 ? 0 : _ref$id;\n TXAudioEffectManagerModule.startPlayMusic(Object.assign(Object.assign({}, musicParam), {\n ID: id\n })); // v1.2.0 的 iOS 解析的是 ID, v1.2.1 插件进行了修复\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"stopPlayMusic\",\n value: function stopPlayMusic(id) {\n try {\n TXAudioEffectManagerModule.stopPlayMusic(id);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"pausePlayMusic\",\n value: function pausePlayMusic(id) {\n try {\n TXAudioEffectManagerModule.pausePlayMusic(id);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"resumePlayMusic\",\n value: function resumePlayMusic(id) {\n try {\n TXAudioEffectManagerModule.resumePlayMusic(id);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n // ///////////////////////////////////////////////////////////////////////////////\n //\n // 屏幕分享\n //\n // ///////////////////////////////////////////////////////////////////////////////\n }, {\n key: \"setSubStreamEncoderParam\",\n value: function setSubStreamEncoderParam(param) {\n try {\n TrtcNativeTrtcCloudModule.setSubStreamEncoderParam(param);\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"startScreenCapture\",\n value: function startScreenCapture() {\n var streamType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeSub;\n var encParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var shareParams = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n try {\n var platform = uni.getSystemInfoSync().platform;\n if (streamType !== _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeSub && streamType !== _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeBig) {\n streamType = _TrtcDefines.TRTCVideoStreamType.TRTCVideoStreamTypeSub;\n }\n var _shareParams$enableFo = shareParams.enableForegroundService,\n enableForegroundService = _shareParams$enableFo === void 0 ? true : _shareParams$enableFo; // 默认开启前台服务, 避免退后台后进程被杀\n var screenCaptureParams = Object.assign({\n streamType: streamType\n }, encParams);\n if (platform === _constants.NAME.ANDROID) {\n TrtcNativeTrtcCloudModule.startScreenCapture(Object.assign(Object.assign({}, screenCaptureParams), {\n enableForegroundService: enableForegroundService\n }));\n }\n if (platform === _constants.NAME.IOS) {\n // 开始应用内的屏幕分享(仅支持 iOS 13.0 及以上系统)\n TrtcNativeTrtcCloudModule.startScreenCaptureInApp(screenCaptureParams);\n // if (shareSource === TRTCShareSource.InApp) {\n // TrtcNativeTrtcCloudModule.startScreenCaptureInApp(screenCaptureParams);\n // }\n // // 开始全系统的屏幕分享(仅支持 iOS 11.0 及以上系统)\n // if (shareSource === TRTCShareSource.ByReplaykit) {\n // TrtcNativeTrtcCloudModule.startScreenCaptureByReplaykit({ ...screenCaptureParams, appGroup: null });\n // }\n }\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"stopScreenCapture\",\n value: function stopScreenCapture() {\n try {\n TrtcNativeTrtcCloudModule.stopScreenCapture();\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"pauseScreenCapture\",\n value: function pauseScreenCapture() {\n try {\n TrtcNativeTrtcCloudModule.pauseScreenCapture();\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"resumeScreenCapture\",\n value: function resumeScreenCapture() {\n try {\n TrtcNativeTrtcCloudModule.resumeScreenCapture();\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }], [{\n key: \"_createInstance\",\n value: function _createInstance() {\n try {\n if (trtcCloud) {\n return trtcCloud;\n }\n TrtcNativeTrtcCloudModule.sharedInstance();\n trtcCloud = new TrtcCloudImpl();\n return trtcCloud;\n } catch (error) {\n throw (0, _TrtcCode.generateError_)(error);\n }\n }\n }, {\n key: \"_getInstance\",\n value: function _getInstance() {\n if (trtcCloud) {\n return trtcCloud;\n }\n throw new _TrtcCode.default({\n code: _TrtcCode.TXLiteJSError.INVALID_OPERATION,\n message: 'get trtcCloud failed, please create trtcCloud first'\n });\n }\n }, {\n key: \"_destroyInstance\",\n value: function _destroyInstance() {\n try {\n trtcCloud = null;\n TrtcNativeTrtcCloudModule.destroySharedInstance();\n } catch (error) {\n throw new _TrtcCode.default({\n code: error.code || _TrtcCode.TXLiteJSError.UNKNOWN,\n message: error.message,\n name: error.name\n });\n }\n }\n }]);\n return TrtcCloudImpl;\n}();\nexports.default = TrtcCloudImpl;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/uni-app-plus-nvue/dist/require-native-plugin.js */ 10)[\"default\"], __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 11)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vVHJ0Y0Nsb3VkL2xpYi9UcnRjQ2xvdWRJbXBsLmpzIl0sIm5hbWVzIjpbIl9fYXdhaXRlciIsInRoaXNBcmciLCJfYXJndW1lbnRzIiwiUCIsImdlbmVyYXRvciIsImFkb3B0IiwidmFsdWUiLCJyZXNvbHZlIiwiUHJvbWlzZSIsInJlamVjdCIsImZ1bGZpbGxlZCIsInN0ZXAiLCJuZXh0IiwiZSIsInJlamVjdGVkIiwicmVzdWx0IiwiZG9uZSIsInRoZW4iLCJhcHBseSIsIlRydGNOYXRpdmVUcnRjQ2xvdWRNb2R1bGUiLCJ1bmkiLCJUWEF1ZGlvRWZmZWN0TWFuYWdlck1vZHVsZSIsIlRydGNFdmVudCIsInRydGNDbG91ZCIsIlRydGNDbG91ZEltcGwiLCJsaXN0ZW5lcnNNYXBfIiwiTWFwIiwiZXZlbnQiLCJjYWxsYmFjayIsIk5BTUUiLCJTVFJJTkciLCJGVU5DVElPTiIsIlRydGNFcnJvciIsImNvZGUiLCJUWExpdGVKU0Vycm9yIiwiSU5WQUxJRF9QQVJBTUVURVIiLCJtZXNzYWdlIiwiTE9HX1BSRUZJWCIsIm5hdGl2ZUxpc3RlbmVyIiwicmVzIiwiZGF0YSIsImV4dHJhSW5mbyIsInJlYXNvbiIsInVzZXJJZCIsInN0cmVhbVR5cGUiLCJ3aWR0aCIsImhlaWdodCIsImxvY2FsUXVhbGl0eSIsInJlbW90ZVF1YWxpdHkiLCJzdGF0aWNzIiwiYXZhaWxhYmxlIiwidXNlclZvbHVtZXMiLCJ0b3RhbFZvbHVtZSIsImJhc2U2NERhdGEiLCJpZCIsImVyckNvZGUiLCJjdXJQdHNNUyIsImR1cmF0aW9uTVMiLCJlcnJNc2ciLCJnZW5lcmF0ZUVycm9yXyIsInNldCIsImFkZEV2ZW50TGlzdGVuZXIiLCJmb3JFYWNoIiwia2V5IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNsZWFyIiwiZ2V0IiwiZGVsZXRlIiwiZXJyb3IiLCJwYXJhbXMiLCJzY2VuZSIsIlRSVENBcHBTY2VuZSIsIlRSVENBcHBTY2VuZVZpZGVvQ2FsbCIsIlRSVENBcHBTY2VuZUxJVkUiLCJUUlRDQXBwU2NlbmVBdWRpb0NhbGwiLCJUUlRDQXBwU2NlbmVWb2ljZUNoYXRSb29tIiwiZW50ZXJSb29tUGFyYW1zIiwiT2JqZWN0IiwiYXNzaWduIiwicm9sZSIsIlRSVENSb2xlVHlwZSIsIlRSVENSb2xlQW5jaG9yIiwiYXBwU2NlbmUiLCJlbnRlclJvb20iLCJleGl0Um9vbSIsImNvbm5lY3RPdGhlclJvb20iLCJkaXNjb25uZWN0T3RoZXJSb29tIiwiVFJUQ1JvbGVBdWRpZW5jZSIsInN3aXRjaFJvbGUiLCJpc0Zyb250Q2FtZXJhIiwidmlld0lkIiwiQk9PTEVBTiIsInBhcmFtIiwic3RhcnRMb2NhbFByZXZpZXciLCJzZXRWaWRlb0VuY29kZXJQYXJhbSIsInN0b3BMb2NhbFByZXZpZXciLCJzd2l0Y2hDYW1lcmEiLCJyb3RhdGlvbiIsIlRSVENWaWRlb1JvdGF0aW9uIiwiVFJUQ1ZpZGVvUm90YXRpb25fMCIsImZpbGxNb2RlIiwiVFJUQ1ZpZGVvRmlsbE1vZGUiLCJUUlRDVmlkZW9GaWxsTW9kZV9GaWxsIiwibWlycm9yVHlwZSIsIlRSVENWaWRlb01pcnJvclR5cGUiLCJUUlRDVmlkZW9NaXJyb3JUeXBlX0F1dG8iLCJzZXRMb2NhbFJlbmRlclBhcmFtcyIsIm11dGUiLCJUUlRDVmlkZW9TdHJlYW1UeXBlIiwiVFJUQ1ZpZGVvU3RyZWFtVHlwZUJpZyIsIlRSVENWaWRlb1N0cmVhbVR5cGVTdWIiLCJtdXRlTG9jYWxWaWRlbyIsIlRSVENWaWRlb1N0cmVhbVR5cGVTbWFsbCIsInN0YXJ0UmVtb3RlVmlldyIsInN0b3BSZW1vdGVWaWV3Iiwic2V0UmVtb3RlUmVuZGVyUGFyYW1zIiwiTlVNQkVSIiwic2V0VmlkZW9FbmNvZGVyUm90YXRpb24iLCJtaXJyb3IiLCJzZXRWaWRlb0VuY29kZXJNaXJyb3IiLCJtb2RlIiwic2V0R1NlbnNvck1vZGUiLCJzb3VyY2VUeXBlIiwic25hcHNob3RWaWRlbyIsInF1YWxpdHkiLCJUUlRDQXVkaW9RdWFsaXR5IiwiVFJUQ0F1ZGlvUXVhbGl0eURlZmF1bHQiLCJUUlRDQXVkaW9RdWFsaXR5U3BlZWNoIiwiVFJUQ0F1ZGlvUXVhbGl0eU11c2ljIiwic3RhcnRMb2NhbEF1ZGlvIiwic3RvcExvY2FsQXVkaW8iLCJtdXRlTG9jYWxBdWRpbyIsIm11dGVSZW1vdGVBdWRpbyIsIm11dGVBbGxSZW1vdGVBdWRpbyIsInJvdXRlIiwiVFJUQ0F1ZGlvUm91dGUiLCJUUlRDQXVkaW9Sb3V0ZVNwZWFrZXIiLCJUUlRDQXVkaW9Sb3V0ZUVhcnBpZWNlIiwic2V0QXVkaW9Sb3V0ZSIsImludGVydmFsIiwiZW5hYmxlQXVkaW9Wb2x1bWVFdmFsdWF0aW9uIiwiYmVhdXR5U3R5bGUiLCJUUlRDQmVhdXR5U3R5bGUiLCJUUlRDQmVhdXR5U3R5bGVTbW9vdGgiLCJUUlRDQmVhdXR5U3R5bGVOYXR1cmUiLCJUUlRDQmVhdXR5U3R5bGVQaXR1Iiwic2V0QmVhdXR5U3R5bGUiLCJiZWF1dHlMZXZlbCIsInNldEJlYXV0eUxldmVsIiwibXVzaWNQYXJhbSIsInN0YXJ0UGxheU11c2ljIiwiSUQiLCJzdG9wUGxheU11c2ljIiwicGF1c2VQbGF5TXVzaWMiLCJyZXN1bWVQbGF5TXVzaWMiLCJzZXRTdWJTdHJlYW1FbmNvZGVyUGFyYW0iLCJlbmNQYXJhbXMiLCJzaGFyZVBhcmFtcyIsInBsYXRmb3JtIiwiZ2V0U3lzdGVtSW5mb1N5bmMiLCJlbmFibGVGb3JlZ3JvdW5kU2VydmljZSIsInNjcmVlbkNhcHR1cmVQYXJhbXMiLCJBTkRST0lEIiwic3RhcnRTY3JlZW5DYXB0dXJlIiwiSU9TIiwic3RhcnRTY3JlZW5DYXB0dXJlSW5BcHAiLCJzdG9wU2NyZWVuQ2FwdHVyZSIsInBhdXNlU2NyZWVuQ2FwdHVyZSIsInJlc3VtZVNjcmVlbkNhcHR1cmUiLCJzaGFyZWRJbnN0YW5jZSIsIklOVkFMSURfT1BFUkFUSU9OIiwiZGVzdHJveVNoYXJlZEluc3RhbmNlIiwiVU5LTk9XTiIsIm5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQVNBO0FBQ0E7QUFDQTtBQUFzRTtBQUFBO0FBWHRFLElBQUlBLFNBQVMsR0FBSSxVQUFRLFNBQUtBLFNBQVMsSUFBSyxVQUFVQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUU7RUFDckYsU0FBU0MsS0FBSyxDQUFDQyxLQUFLLEVBQUU7SUFBRSxPQUFPQSxLQUFLLFlBQVlILENBQUMsR0FBR0csS0FBSyxHQUFHLElBQUlILENBQUMsQ0FBQyxVQUFVSSxPQUFPLEVBQUU7TUFBRUEsT0FBTyxDQUFDRCxLQUFLLENBQUM7SUFBRSxDQUFDLENBQUM7RUFBRTtFQUMzRyxPQUFPLEtBQUtILENBQUMsS0FBS0EsQ0FBQyxHQUFHSyxPQUFPLENBQUMsRUFBRSxVQUFVRCxPQUFPLEVBQUVFLE1BQU0sRUFBRTtJQUN2RCxTQUFTQyxTQUFTLENBQUNKLEtBQUssRUFBRTtNQUFFLElBQUk7UUFBRUssSUFBSSxDQUFDUCxTQUFTLENBQUNRLElBQUksQ0FBQ04sS0FBSyxDQUFDLENBQUM7TUFBRSxDQUFDLENBQUMsT0FBT08sQ0FBQyxFQUFFO1FBQUVKLE1BQU0sQ0FBQ0ksQ0FBQyxDQUFDO01BQUU7SUFBRTtJQUMxRixTQUFTQyxRQUFRLENBQUNSLEtBQUssRUFBRTtNQUFFLElBQUk7UUFBRUssSUFBSSxDQUFDUCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUNFLEtBQUssQ0FBQyxDQUFDO01BQUUsQ0FBQyxDQUFDLE9BQU9PLENBQUMsRUFBRTtRQUFFSixNQUFNLENBQUNJLENBQUMsQ0FBQztNQUFFO0lBQUU7SUFDN0YsU0FBU0YsSUFBSSxDQUFDSSxNQUFNLEVBQUU7TUFBRUEsTUFBTSxDQUFDQyxJQUFJLEdBQUdULE9BQU8sQ0FBQ1EsTUFBTSxDQUFDVCxLQUFLLENBQUMsR0FBR0QsS0FBSyxDQUFDVSxNQUFNLENBQUNULEtBQUssQ0FBQyxDQUFDVyxJQUFJLENBQUNQLFNBQVMsRUFBRUksUUFBUSxDQUFDO0lBQUU7SUFDN0dILElBQUksQ0FBQyxDQUFDUCxTQUFTLEdBQUdBLFNBQVMsQ0FBQ2MsS0FBSyxD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LENBQUMsQ0FDRCxPQUFPdkcsS0FBSyxFQUFFO1FBQ1YsTUFBTSxJQUFJcEMsaUJBQVMsQ0FBQztVQUNoQkMsSUFBSSxFQUFFbUMsS0FBSyxDQUFDbkMsSUFBSSxJQUFJQyx1QkFBYSxDQUFDMEksT0FBTztVQUN6Q3hJLE9BQU8sRUFBRWdDLEtBQUssQ0FBQ2hDLE9BQU87VUFDdEJ5SSxJQUFJLEVBQUV6RyxLQUFLLENBQUN5RztRQUNoQixDQUFDLENBQUM7TUFDTjtJQUNKO0VBQUM7RUFBQTtBQUFBO0FBQUEsZ0MiLCJmaWxlIjoiNTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCB7IE5BTUUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBUUlRDUm9sZVR5cGUsIFRSVENBdWRpb1F1YWxpdHksIFRSVENWaWRlb1JvdGF0aW9uLCBUUlRDVmlkZW9GaWxsTW9kZSwgVFJUQ1ZpZGVvTWlycm9yVHlwZSwgVFJUQ1ZpZGVvU3RyZWFtVHlwZSwgVFJUQ1ZpZGVvRW5jUGFyYW0sIFRSVENBcHBTY2VuZSwgVFJUQ0F1ZGlvUm91dGUsIFRSVENCZWF1dHlTdHlsZSwgfSBmcm9tICcuL1RydGNEZWZpbmVzJztcbmltcG9ydCBUcnRjRXJyb3IsIHsgVFhMaXRlSlNFcnJvciwgZ2VuZXJhdGVFcnJvcl8gfSBmcm9tICcuL1RydGNDb2RlJztcbmNvbnN0IFRydGNOYXRpdmVUcnRjQ2xvdWRNb2R1bGUgPSB1bmkucmVxdWlyZU5hdGl2ZVBsdWdpbignVFJUQ0Nsb3VkVW5pUGx1Z2luLVRSVENDbG91ZEltcGwnKTtcbmNvbnN0IFRYQXVkaW9FZmZlY3RNYW5hZ2VyTW9kdWxlID0gdW5pLnJlcXVpcmVOYXRpdmVQbHVnaW4oJ1RSVENDbG91ZFVuaVBsdWdpbi1UUlRDQ2xvdWRJbXBsLVRYQXVkaW9FZmZlY3RNYW5hZ2VyTW9kdWxlJyk7XG5jb25zdCBUcnRjRXZlbnQgPSB1bmkucmVxdWlyZU5hdGl2ZVBsdWdpbignZ2xvYmFsRXZlbnQnKTtcbmxldCB0cnRjQ2xvdWQgPSBudWxsOyAvLyB0cnRjQ2xvdWQg5Y2V5L6LXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUcnRjQ2xvdWRJbXBsIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5saXN0ZW5lcnNNYXBfID0gbmV3IE1hcCgpO1xuICAgIH1cbiAgICBzdGF0aWMgX2NyZWF0ZUluc3RhbmNlKCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHRydGNDbG91ZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnRjQ2xvdWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBUcnRjTmF0aXZlVHJ0Y0Nsb3VkTW9kdWxlLnNoYXJlZEluc3RhbmNlKCk7XG4gICAgICAgICAgICB0cnRjQ2xvdWQgPSBuZXcgVHJ0Y0Nsb3VkSW1wbCgpO1xuICAgICAgICAgICAgcmV0dXJuIHRydGNDbG91ZDtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzdGF0aWMgX2dldEluc3RhbmNlKCkge1xuICAgICAgICBpZiAodHJ0Y0Nsb3VkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ0Y0Nsb3VkO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBUcnRjRXJyb3Ioe1xuICAgICAgICAgICAgY29kZTogVFhMaXRlSlNFcnJvci5JTlZBTElEX09QRVJBVElPTixcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdnZXQgdHJ0Y0Nsb3VkIGZhaWxlZCwgcGxlYXNlIGNyZWF0ZSB0cnRjQ2xvdWQgZmlyc3QnLFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgc3RhdGljIF9kZXN0cm95SW5zdGFuY2UoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0cnRjQ2xvdWQgPSBudWxsO1xuICAgICAgICAgICAgVHJ0Y05hdGl2ZVRydGNDbG91ZE1vZHVsZS5kZXN0cm95U2hhcmVkSW5zdGFuY2UoKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUcnRjRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGNvZGU6IGVycm9yLmNvZGUgfHwgVFhMaXRlSlNFcnJvci5VTktOT1dOLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgbmFtZTogZXJyb3IubmFtZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIOaIquWbvuS/neWtmFxuICAgIC8vIGFzeW5jIHNhdmVJbWFnZV8oYmFzZTY0RGF0YSkge1xuICAgIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAvLyAgICAgbGV0IGJpdG1hcCA9IG5ldyBwbHVzLm5hdGl2ZU9iai5CaXRtYXAoKTtcbiAgICAvLyAgICAgYml0bWFwLmxvYWRCYXNlNjREYXRhKGJhc2U2NERhdGEsICgpID0+IHtcbiAgICAvLyAgICAgICBjb25zdCB1cmwgPSBcIl9kb2MvXCIgKyBuZXcgRGF0ZSgpLmdldFRpbWUoKSArIFwiLnBuZ1wiOyAgLy8gdXJs5Li65pe26Ze05oiz5ZG95ZCN5pa55byPXG4gICAgLy8gICAgICAgY29uc29sZS5sb2coJ3NhdmVIZWFkSW1nRmlsZScsIHVybCk7XG4gICAgLy8gICAgICAgYml0bWFwLnNhdmUodXJsLCB7IG92ZXJ3cml0ZTogdHJ1ZSB9LCAoaSkgPT4ge1xuICAgIC8vICAgICAgICAgdW5pLnNhdmVJbWFnZVRvUGhvdG9zQWxidW0oe1xuICAgIC8vICAgICAgICAgICBmaWxlUGF0aDogdXJsLFxuICAgIC8vICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbigpIHtcbiAgICAvLyAgICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcbiAgICAvLyAgICAgICAgICAgICAgIHRpdGxlOiAn5Zu+54mH5L+d5a2Y5oiQ5YqfJyxcbiAgICAvLyAgICAgICAgICAgICAgIGljb246ICdub25lJ1xuICAgIC8vICAgICAgICAgICAgIH0pXG4gICAgLy8gICAgICAgICAgICAgYml0bWFwLmNsZWFyKCk7XG4gICAgLy8gICAgICAgICAgICAgcmVzb2x2ZSh7IGNvZGU6IDAsIG1lc3NhZ2U6ICflm77niYfkv53lrZjmiJDlip8nIH0pO1xuICAgIC8vICAgICAgICAgICB9XG4gICAgLy8gICAgICAgICB9KTtcbiAgICAvLyAgICAgICB9LCAoZSkgPT4ge1xuICAgIC8vICAgICAgICAgdW5pLnNob3dUb2FzdCh7XG4gICAgLy8gICAgICAgICAgIHRpdGxlOiAn5Zu+54mH5L+d5a2Y5aSx6LSlLCDor7fph43mlrDmiKrlm74nLFxuICAgIC8vICAgICAgICAgICBpY29uOiAnbm9uZSdcbiAgICAvLyAgICAgICAgIH0pXG4gICAgLy8gICAgICAgICBiaXRtYXAuY2xlYXIoKTtcbiAgICAvLyAgICAgICAgIHJlc29sdmUoeyBjb2RlOiAtMSwgbWVzc2FnZTogJ+WbvueJh+S/neWtmOWksei0pSwg6K+36YeN5paw5oiq5Zu+JyB9KTtcbiAgICAvLyAgICAgICB9KTtcbiAgICAvLyAgICAgfSk7XG4gICAgLy8gICB9KTtcbiAgICAvLyB9XG4gICAgb24oZXZlbnQsIGNhbGxiYWNrKSB7XG4gICAgICAgIGlmICh0eXBlb2YgZXZlbnQgIT09IE5BTUUuU1RSSU5HIHx8IHR5cGVvZiBjYWxsYmFjayAhPT0gTkFNRS5GVU5DVElPTikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFRydGNFcnJvcih7XG4gICAgICAgICAgICAgICAgY29kZTogVFhMaXRlSlNFcnJvci5JTlZBTElEX1BBUkFNRVRFUixcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgJHtOQU1FLkxPR19QUkVGSVh9IHBsZWFzZSBjaGVjayB0aGUgb24gbWV0aG9kIHBhcmFtZXRlciB0eXBlcy4gZXZlbnQgdHlwZSBpcyBhICR7dHlwZW9mIGV2ZW50fTsgY2FsbGJhY2sgdHlwZSBpcyBhICR7dHlwZW9mIGNhbGxiYWNrfWAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuYXRpdmVMaXN0ZW5lciA9IChyZXMpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgZGF0YSA9IFtdIH0gPSByZXM7XG4gICAgICAgICAgICBjb25zdCBjb2RlID0gZGF0YVswXTtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBkYXRhWzFdO1xuICAgICAgICAgICAgY29uc3QgZXh0cmFJbmZvID0gZGF0YVsyXTtcbiAgICAgICAgICAgIHN3aXRjaCAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdvbkVudGVyUm9vbSc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gY29kZTtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2socmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ29uRXhpdFJvb20nOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlYXNvbiA9IGNvZGU7XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHJlYXNvbik7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdvbkZpcnN0VmlkZW9GcmFtZSc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdXNlcklkID0gY29kZTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RyZWFtVHlwZSA9IGRhdGFbMV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gZGF0YVsyXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gZGF0YVszXTtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soeyB1c2VySWQsIHN0cmVhbVR5cGUsIHdpZHRoLCBoZWlnaHQgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdvbkZpcnN0QXVkaW9GcmFtZSc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdXNlcklkID0gY29kZTtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sodXNlcklkKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ29uTWljRGlkUmVhZHknOiB7XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdvbkNhbWVyYURpZFJlYWR5Jzoge1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnb25OZXR3b3JrUXVhbGl0eSc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbG9jYWxRdWFsaXR5ID0gZGF0YVswXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtb3RlUXVhbGl0eSA9IGRhdGFbMV07XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHsgbG9jYWxRdWFsaXR5LCByZW1vdGVRdWFsaXR5IH0pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnb25SZW1vdGVVc2VyRW50ZXJSb29tJzoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1c2VySWQgPSBjb2RlO1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayh1c2VySWQpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnb25SZW1vdGVVc2VyTGVhdmVSb29tJzoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1c2VySWQgPSBjb2RlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZWFzb24gPSBtZXNzYWdlO1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayh7IHVzZXJJZCwgcmVhc29uIH0pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnb25TZW5kRmlyc3RMb2NhbEF1ZGlvRnJhbWUnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdvblNlbmRGaXJzdExvY2FsVmlkZW9GcmFtZSc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RyZWFtVHlwZSA9IGNvZGU7XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHN0cmVhbVR5cGUpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnb25TdGF0aXN0aWNzJzoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGF0aWNzID0gZGF0YVswXTtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soc3RhdGljcyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdvblVzZXJBdWRpb0F2YWlsYWJsZSc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdXNlcklkID0gY29kZTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXZhaWxhYmxlID0gbWVzc2FnZTtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soeyB1c2VySWQsIGF2YWlsYWJsZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ29uVXNlclZpZGVvQXZhaWxhYmxlJzoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1c2VySWQgPSBjb2RlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhdmFpbGFibGUgPSBtZXNzYWdlO1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayh7IHVzZXJJZCwgYXZhaWxhYmxlIH0pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnb25Vc2VyVm9pY2VWb2x1bWUnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVzZXJWb2x1bWVzID0gZGF0YVswXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdG90YWxWb2x1bWUgPSBkYXRhWzFdO1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayh7IHVzZXJWb2x1bWVzLCB0b3RhbFZvbHVtZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ29uU3dpdGNoUm9sZSc6IHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soeyBjb2RlLCBtZXNzYWdlIH0pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnb25TY3JlZW5DYXB0dXJlU3RhcnRlZCc6IHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soeyBjb2RlLCBtZXNzYWdlIH0pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnb25TY3JlZW5DYXB0dXJlUGF1c2VkJzoge1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayh7IGNvZGUsIG1lc3NhZ2UgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdvblNjcmVlbkNhcHR1cmVSZXN1bWVkJzoge1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayh7IGNvZGUsIG1lc3NhZ2UgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdvblNjcmVlbkNhcHR1cmVTdG9wcGVkJzoge1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayh7IGNvZGUsIG1lc3NhZ2UgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdvblVzZXJTdWJTdHJlYW1BdmFpbGFibGUnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVzZXJJZCA9IGNvZGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZSA9IG1lc3NhZ2U7XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHsgdXNlcklkLCBhdmFpbGFibGUgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdvblNuYXBzaG90Q29tcGxldGUnOiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGJhc2U2NCDnm7TmjqXkv53lrZjliLDmnKzlnLDlm77lupNcbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc3QgeyBjb2RlOiBzbmFwU2hvdENvZGUsIG1lc3NhZ2U6IG1zZyB9ID0gYXdhaXQgdGhpcy5zYXZlSW1hZ2VfKGNvZGUpO1xuICAgICAgICAgICAgICAgICAgICAvLyBjYWxsYmFjayh7IHNuYXBTaG90Q29kZSwgbWVzc2FnZTogbXNnIH0pO1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayh7IGJhc2U2NERhdGE6IGNvZGUsIG1lc3NhZ2UgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdvblVzZXJWaWRlb1NpemVDaGFuZ2VkJzoge1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ29uU3RhcnQnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHsgaWQ6IGNvZGUsIGVyckNvZGU6IG1lc3NhZ2UgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdvblBsYXlQcm9ncmVzcyc6IHtcbiAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soeyBpZDogY29kZSwgY3VyUHRzTVM6IG1lc3NhZ2UsIGR1cmF0aW9uTVM6IGV4dHJhSW5mbyB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ29uQ29tcGxldGUnOiB7XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHsgaWQ6IGNvZGUsIGVyckNvZGU6IG1lc3NhZ2UgfSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdvbkNvbm5lY3RPdGhlclJvb20nOiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIOaLv+S4jeWIsCB1c2VyaWQsIOS4uuS6huWSjCBuYXRpdmUg5Y+C5pWw5L+d5oyB5LiA6Ie077yM5omA5Lul56m65a2X56ym5Liy5Luj5pu/XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHsgdXNlcklkOiAnJywgZXJyQ29kZTogY29kZSwgZXJyTXNnOiBtZXNzYWdlIH0pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnb25EaXNjb25uZWN0T3RoZXJSb29tJzoge1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayh7IGVyckNvZGU6IGNvZGUsIGVyck1zZzogbWVzc2FnZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ29uRXJyb3InOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYG9uRXJyb3I6ICR7Y29kZX0sICR7bWVzc2FnZX0sICR7ZXh0cmFJbmZvfWApO1xuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhnZW5lcmF0ZUVycm9yXyh7IG1lc3NhZ2UgfSwgY29kZSwgZXh0cmFJbmZvKSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKHsgY29kZSwgbWVzc2FnZSwgZXh0cmFJbmZvIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGlzdGVuZXJzTWFwXy5zZXQoZXZlbnQsIG5hdGl2ZUxpc3RlbmVyKTsgLy8g5aSa5qyh6K6+572u5ZCM5LiA5Liq5LqL5Lu25pe277yM5ZCO6Z2i55qEIGNhbGxiYWNrIOimhuebluWJjemdolxuICAgICAgICBUcnRjRXZlbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgbmF0aXZlTGlzdGVuZXIpO1xuICAgIH1cbiAgICBvZmYoZXZlbnQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBldmVudCAhPT0gTkFNRS5TVFJJTkcpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUcnRjRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGNvZGU6IFRYTGl0ZUpTRXJyb3IuSU5WQUxJRF9QQVJBTUVURVIsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYCR7TkFNRS5MT0dfUFJFRklYfSBwbGVhc2UgY2hlY2sgdGhlIG9mZiBtZXRob2QgcGFyYW1ldGVyIHR5cGVzLiBldmVudCB0eXBlIGlzIGEgJHt0eXBlb2YgZXZlbnR9IG5vdCBhICR7TkFNRS5TVFJJTkd9YCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoZXZlbnQgPT09ICcqJykge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzTWFwXy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIFRydGNFdmVudC5yZW1vdmVFdmVudExpc3RlbmVyKGtleSwgdmFsdWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzTWFwXy5jbGVhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgVHJ0Y0V2ZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnQsIHRoaXMubGlzdGVuZXJzTWFwXy5nZXQoZXZlbnQpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RlbmVyc01hcF8uZGVsZXRlKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbnRlclJvb20ocGFyYW1zLCBzY2VuZSkge1xuICAgICAgICBpZiAoc2NlbmUgIT09IFRSVENBcHBTY2VuZS5UUlRDQXBwU2NlbmVWaWRlb0NhbGwgJiYgc2NlbmUgIT09IFRSVENBcHBTY2VuZS5UUlRDQXBwU2NlbmVMSVZFICYmIHNjZW5lICE9PSBUUlRDQXBwU2NlbmUuVFJUQ0FwcFNjZW5lQXVkaW9DYWxsICYmIHNjZW5lICE9PSBUUlRDQXBwU2NlbmUuVFJUQ0FwcFNjZW5lVm9pY2VDaGF0Um9vbSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFRydGNFcnJvcih7XG4gICAgICAgICAgICAgICAgY29kZTogVFhMaXRlSlNFcnJvci5JTlZBTElEX1BBUkFNRVRFUixcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgJHtOQU1FLkxPR19QUkVGSVh9IHBsZWFzZSBjaGVjayB0aGUgZW50ZXJSb29tIG1ldGhvZCBwYXJhbWV0ZXJzLiBzY2VuZSBpcyBub3Qgb2YgVFJUQ0FwcFNjZW5lYCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBlbnRlclJvb21QYXJhbXMgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHBhcmFtcyksIHsgcm9sZTogcGFyYW1zLnJvbGUgfHwgVFJUQ1JvbGVUeXBlLlRSVENSb2xlQW5jaG9yLCBhcHBTY2VuZTogc2NlbmUgfSk7XG4gICAgICAgICAgICBUcnRjTmF0aXZlVHJ0Y0Nsb3VkTW9kdWxlLmVudGVyUm9vbShlbnRlclJvb21QYXJhbXMpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZ2VuZXJhdGVFcnJvcl8oZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGV4aXRSb29tKCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgVHJ0Y05hdGl2ZVRydGNDbG91ZE1vZHVsZS5leGl0Um9vbSgpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZ2VuZXJhdGVFcnJvcl8oZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbm5lY3RPdGhlclJvb20ocGFyYW1zKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBUcnRjTmF0aXZlVHJ0Y0Nsb3VkTW9kdWxlLmNvbm5lY3RPdGhlclJvb20ocGFyYW1zKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBkaXNjb25uZWN0T3RoZXJSb29tKCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgVHJ0Y05hdGl2ZVRydGNDbG91ZE1vZHVsZS5kaXNjb25uZWN0T3RoZXJSb29tKCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBnZW5lcmF0ZUVycm9yXyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3dpdGNoUm9sZShyb2xlKSB7XG4gICAgICAgIGlmIChyb2xlICE9PSBUUlRDUm9sZVR5cGUuVFJUQ1JvbGVBbmNob3IgJiYgcm9sZSAhPT0gVFJUQ1JvbGVUeXBlLlRSVENSb2xlQXVkaWVuY2UpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUcnRjRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGNvZGU6IFRYTGl0ZUpTRXJyb3IuSU5WQUxJRF9QQVJBTUVURVIsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYCR7TkFNRS5MT0dfUFJFRklYfSBwbGVhc2UgY2hlY2sgdGhlIHN3aXRjaFJvbGUgbWV0aG9kIHBhcmFtZXRlci4gcm9sZSBpcyBub3Qgb2YgVFJUQ1JvbGVUeXBlYCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByb2xlICYmIFRydGNOYXRpdmVUcnRjQ2xvdWRNb2R1bGUuc3dpdGNoUm9sZShyb2xlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzdGFydExvY2FsUHJldmlldyhpc0Zyb250Q2FtZXJhID0gdHJ1ZSwgdmlld0lkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgaXNGcm9udENhbWVyYSAhPT0gTkFNRS5CT09MRUFOIHx8ICF2aWV3SWQgfHwgdHlwZW9mIHZpZXdJZCAhPT0gTkFNRS5TVFJJTkcpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUcnRjRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGNvZGU6IFRYTGl0ZUpTRXJyb3IuSU5WQUxJRF9QQVJBTUVURVIsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYCR7TkFNRS5MT0dfUFJFRklYfSBwbGVhc2UgY2hlY2sgdGhlIHN0YXJ0TG9jYWxQcmV2aWV3IG1ldGhvZCBwYXJhbWV0ZXJzYCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgcGFyYW0gPSB7IGlzRnJvbnRDYW1lcmE6ICEhaXNGcm9udENhbWVyYSB9O1xuICAgICAgICAgICAgcGFyYW0gPSB2aWV3SWQgPyBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHBhcmFtKSwgeyB1c2VySWQ6IHZpZXdJZCB9KSA6IHBhcmFtO1xuICAgICAgICAgICAgVHJ0Y05hdGl2ZVRydGNDbG91ZE1vZHVsZS5zdGFydExvY2FsUHJldmlldyhwYXJhbSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBnZW5lcmF0ZUVycm9yXyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2V0VmlkZW9FbmNvZGVyUGFyYW0ocGFyYW0pIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIFRydGNOYXRpdmVUcnRjQ2xvdWRNb2R1bGUuc2V0VmlkZW9FbmNvZGVyUGFyYW0ocGFyYW0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZ2VuZXJhdGVFcnJvcl8oZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHN0b3BMb2NhbFByZXZpZXcoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBUcnRjTmF0aXZlVHJ0Y0Nsb3VkTW9kdWxlLnN0b3BMb2NhbFByZXZpZXcoKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzd2l0Y2hDYW1lcmEoaXNGcm9udENhbWVyYSkge1xuICAgICAgICBpZiAodHlwZW9mIGlzRnJvbnRDYW1lcmEgIT09IE5BTUUuQk9PTEVBTikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFRydGNFcnJvcih7XG4gICAgICAgICAgICAgICAgY29kZTogVFhMaXRlSlNFcnJvci5JTlZBTElEX1BBUkFNRVRFUixcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgJHtOQU1FLkxPR19QUkVGSVh9IHBsZWFzZSBjaGVjayB0aGUgc3dpdGNoQ2FtZXJhIG1ldGhvZCBwYXJhbWV0ZXJgLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIFRydGNOYXRpdmVUcnRjQ2xvdWRNb2R1bGUuc3dpdGNoQ2FtZXJhKGlzRnJvbnRDYW1lcmEpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZ2VuZXJhdGVFcnJvcl8oZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNldExvY2FsUmVuZGVyUGFyYW1zKHBhcmFtcykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgeyByb3RhdGlvbiA9IFRSVENWaWRlb1JvdGF0aW9uLlRSVENWaWRlb1JvdGF0aW9uXzAsIGZpbGxNb2RlID0gVFJUQ1ZpZGVvRmlsbE1vZGUuVFJUQ1ZpZGVvRmlsbE1vZGVfRmlsbCwgbWlycm9yVHlwZSA9IFRSVENWaWRlb01pcnJvclR5cGUuVFJUQ1ZpZGVvTWlycm9yVHlwZV9BdXRvIH0gPSBwYXJhbXM7XG4gICAgICAgICAgICBUcnRjTmF0aXZlVHJ0Y0Nsb3VkTW9kdWxlLnNldExvY2FsUmVuZGVyUGFyYW1zKHtcbiAgICAgICAgICAgICAgICByb3RhdGlvbixcbiAgICAgICAgICAgICAgICBmaWxsTW9kZSxcbiAgICAgICAgICAgICAgICBtaXJyb3JUeXBlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBnZW5lcmF0ZUVycm9yXyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbXV0ZUxvY2FsVmlkZW8oc3RyZWFtVHlwZSwgbXV0ZSkge1xuICAgICAgICBpZiAoc3RyZWFtVHlwZSAhPT0gVFJUQ1ZpZGVvU3RyZWFtVHlwZS5UUlRDVmlkZW9TdHJlYW1UeXBlQmlnICYmIHN0cmVhbVR5cGUgIT09IFRSVENWaWRlb1N0cmVhbVR5cGUuVFJUQ1ZpZGVvU3RyZWFtVHlwZVN1YiB8fCB0eXBlb2YgbXV0ZSAhPT0gTkFNRS5CT09MRUFOKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHJ0Y0Vycm9yKHtcbiAgICAgICAgICAgICAgICBjb2RlOiBUWExpdGVKU0Vycm9yLklOVkFMSURfUEFSQU1FVEVSLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGAke05BTUUuTE9HX1BSRUZJWH0gcGxlYXNlIGNoZWNrIHRoZSBtdXRlTG9jYWxWaWRlbyBtZXRob2QgcGFyYW1ldGVyc2AsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgVHJ0Y05hdGl2ZVRydGNDbG91ZE1vZHVsZS5tdXRlTG9jYWxWaWRlbyh7IHN0cmVhbVR5cGUsIG11dGU6ICEhbXV0ZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzdGFydFJlbW90ZVZpZXcodXNlcklkLCBzdHJlYW1UeXBlLCB2aWV3SWQpIHtcbiAgICAgICAgaWYgKCF1c2VySWQgfHwgc3RyZWFtVHlwZSAhPT0gVFJUQ1ZpZGVvU3RyZWFtVHlwZS5UUlRDVmlkZW9TdHJlYW1UeXBlQmlnICYmIHN0cmVhbVR5cGUgIT09IFRSVENWaWRlb1N0cmVhbVR5cGUuVFJUQ1ZpZGVvU3RyZWFtVHlwZVNtYWxsICYmIHN0cmVhbVR5cGUgIT09IFRSVENWaWRlb1N0cmVhbVR5cGUuVFJUQ1ZpZGVvU3RyZWFtVHlwZVN1YiB8fCAhdmlld0lkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHJ0Y0Vycm9yKHtcbiAgICAgICAgICAgICAgICBjb2RlOiBUWExpdGVKU0Vycm9yLklOVkFMSURfUEFSQU1FVEVSLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGAke05BTUUuTE9HX1BSRUZJWH0gcGxlYXNlIGNoZWNrIHRoZSBzdGFydFJlbW90ZVZpZXcgbWV0aG9kIHBhcmFtZXRlcnNgLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIFRydGNOYXRpdmVUcnRjQ2xvdWRNb2R1bGUuc3RhcnRSZW1vdGVWaWV3KHsgdXNlcklkLCBzdHJlYW1UeXBlLCB2aWV3SWQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBnZW5lcmF0ZUVycm9yXyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3RvcFJlbW90ZVZpZXcodXNlcklkLCBzdHJlYW1UeXBlKSB7XG4gICAgICAgIGlmICghdXNlcklkIHx8IHN0cmVhbVR5cGUgIT09IFRSVENWaWRlb1N0cmVhbVR5cGUuVFJUQ1ZpZGVvU3RyZWFtVHlwZUJpZyAmJiBzdHJlYW1UeXBlICE9PSBUUlRDVmlkZW9TdHJlYW1UeXBlLlRSVENWaWRlb1N0cmVhbVR5cGVTbWFsbCAmJiBzdHJlYW1UeXBlICE9PSBUUlRDVmlkZW9TdHJlYW1UeXBlLlRSVENWaWRlb1N0cmVhbVR5cGVTdWIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUcnRjRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGNvZGU6IFRYTGl0ZUpTRXJyb3IuSU5WQUxJRF9QQVJBTUVURVIsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYCR7TkFNRS5MT0dfUFJFRklYfSBwbGVhc2UgY2hlY2sgdGhlIHN0b3BSZW1vdGVWaWV3IG1ldGhvZCBwYXJhbWV0ZXJzYCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBUcnRjTmF0aXZlVHJ0Y0Nsb3VkTW9kdWxlLnN0b3BSZW1vdGVWaWV3KHsgdXNlcklkLCBzdHJlYW1UeXBlIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZ2VuZXJhdGVFcnJvcl8oZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIOi/nOerr+a4suafk+iuvue9rlxuICAgIHNldFJlbW90ZVJlbmRlclBhcmFtcyh1c2VySWQsIHN0cmVhbVR5cGUsIHBhcmFtcykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKCF1c2VySWQgfHwgKHN0cmVhbVR5cGUgIT09IFRSVENWaWRlb1N0cmVhbVR5cGUuVFJUQ1ZpZGVvU3RyZWFtVHlwZUJpZyAmJiBzdHJlYW1UeXBlICE9PSBUUlRDVmlkZW9TdHJlYW1UeXBlLlRSVENWaWRlb1N0cmVhbVR5cGVTdWIpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFRydGNFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgIGNvZGU6IFRYTGl0ZUpTRXJyb3IuSU5WQUxJRF9QQVJBTUVURVIsXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGAke05BTUUuTE9HX1BSRUZJWH0gcGxlYXNlIGNoZWNrIHRoZSBzbmFwc2hvdFZpZGVvIG1ldGhvZCBwYXJhbWV0ZXJzYCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHsgcm90YXRpb24gPSBUUlRDVmlkZW9Sb3RhdGlvbi5UUlRDVmlkZW9Sb3RhdGlvbl8wLCBmaWxsTW9kZSA9IFRSVENWaWRlb0ZpbGxNb2RlLlRSVENWaWRlb0ZpbGxNb2RlX0ZpbGwsIG1pcnJvclR5cGUgPSBUUlRDVmlkZW9NaXJyb3JUeXBlLlRSVENWaWRlb01pcnJvclR5cGVfQXV0byB9ID0gcGFyYW1zO1xuICAgICAgICAgICAgVHJ0Y05hdGl2ZVRydGNDbG91ZE1vZHVsZS5zZXRSZW1vdGVSZW5kZXJQYXJhbXMoe1xuICAgICAgICAgICAgICAgIHVzZXJJZCxcbiAgICAgICAgICAgICAgICBzdHJlYW1UeXBlLFxuICAgICAgICAgICAgICAgIHJvdGF0aW9uLFxuICAgICAgICAgICAgICAgIGZpbGxNb2RlLFxuICAgICAgICAgICAgICAgIG1pcnJvclR5cGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZ2VuZXJhdGVFcnJvcl8oZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIOiuvue9ruinhumikee8lueggeWZqOi+k+WHuueahOeUu+mdouaWueWQkVxuICAgIHNldFZpZGVvRW5jb2RlclJvdGF0aW9uKHJvdGF0aW9uKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygcm90YXRpb24gIT09IE5BTUUuTlVNQkVSKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHJ0Y0Vycm9yKHtcbiAgICAgICAgICAgICAgICBjb2RlOiBUWExpdGVKU0Vycm9yLklOVkFMSURfUEFSQU1FVEVSLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGAke05BTUUuTE9HX1BSRUZJWH0gcGxlYXNlIGNoZWNrIHRoZSBzZXRWaWRlb0VuY29kZXJSb3RhdGlvbiBtZXRob2QgcGFyYW1ldGVyYCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBUcnRjTmF0aXZlVHJ0Y0Nsb3VkTW9kdWxlLnNldFZpZGVvRW5jb2RlclJvdGF0aW9uKHJvdGF0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyDorr7nva7nvJbnoIHlmajovpPlh7rnmoTnlLvpnaLplZzlg4/mqKHlvI9cbiAgICBzZXRWaWRlb0VuY29kZXJNaXJyb3IobWlycm9yKSB7XG4gICAgICAgIGlmICh0eXBlb2YgbWlycm9yICE9PSBOQU1FLkJPT0xFQU4pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUcnRjRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGNvZGU6IFRYTGl0ZUpTRXJyb3IuSU5WQUxJRF9QQVJBTUVURVIsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYCR7TkFNRS5MT0dfUFJFRklYfSBwbGVhc2UgY2hlY2sgdGhlIHNldFZpZGVvRW5jb2Rlck1pcnJvciBtZXRob2QgcGFyYW1ldGVyYCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBUcnRjTmF0aXZlVHJ0Y0Nsb3VkTW9kdWxlLnNldFZpZGVvRW5jb2Rlck1pcnJvcihtaXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZ2VuZXJhdGVFcnJvcl8oZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIOiuvue9rumHjeWKm+aEn+W6lOeahOmAgumFjeaooeW8j1xuICAgIHNldEdTZW5zb3JNb2RlKG1vZGUpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBtb2RlICE9PSBOQU1FLk5VTUJFUikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFRydGNFcnJvcih7XG4gICAgICAgICAgICAgICAgY29kZTogVFhMaXRlSlNFcnJvci5JTlZBTElEX1BBUkFNRVRFUixcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgJHtOQU1FLkxPR19QUkVGSVh9IHBsZWFzZSBjaGVjayB0aGUgc2V0R1NlbnNvck1vZGUgbWV0aG9kIHBhcmFtZXRlcmAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgVHJ0Y05hdGl2ZVRydGNDbG91ZE1vZHVsZS5zZXRHU2Vuc29yTW9kZShtb2RlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyDmiKrlm75cbiAgICBzbmFwc2hvdFZpZGVvKHVzZXJJZCwgc3RyZWFtVHlwZSwgc291cmNlVHlwZSkge1xuICAgICAgICBpZiAoc3RyZWFtVHlwZSAhPT0gVFJUQ1ZpZGVvU3RyZWFtVHlwZS5UUlRDVmlkZW9TdHJlYW1UeXBlQmlnICYmIHN0cmVhbVR5cGUgIT09IFRSVENWaWRlb1N0cmVhbVR5cGUuVFJUQ1ZpZGVvU3RyZWFtVHlwZVN1Yikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFRydGNFcnJvcih7XG4gICAgICAgICAgICAgICAgY29kZTogVFhMaXRlSlNFcnJvci5JTlZBTElEX1BBUkFNRVRFUixcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgJHtOQU1FLkxPR19QUkVGSVh9IHBsZWFzZSBjaGVjayB0aGUgc25hcHNob3RWaWRlbyBtZXRob2QgcGFyYW1ldGVyc2AsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgVHJ0Y05hdGl2ZVRydGNDbG91ZE1vZHVsZS5zbmFwc2hvdFZpZGVvKHsgdXNlcklkOiB1c2VySWQgfHwgbnVsbCwgc3RyZWFtVHlwZSwgc291cmNlVHlwZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzdGFydExvY2FsQXVkaW8ocXVhbGl0eSA9IFRSVENBdWRpb1F1YWxpdHkuVFJUQ0F1ZGlvUXVhbGl0eURlZmF1bHQpIHtcbiAgICAgICAgaWYgKHF1YWxpdHkgIT09IFRSVENBdWRpb1F1YWxpdHkuVFJUQ0F1ZGlvUXVhbGl0eVNwZWVjaCAmJiBxdWFsaXR5ICE9PSBUUlRDQXVkaW9RdWFsaXR5LlRSVENBdWRpb1F1YWxpdHlEZWZhdWx0ICYmIHF1YWxpdHkgIT09IFRSVENBdWRpb1F1YWxpdHkuVFJUQ0F1ZGlvUXVhbGl0eU11c2ljKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHJ0Y0Vycm9yKHtcbiAgICAgICAgICAgICAgICBjb2RlOiBUWExpdGVKU0Vycm9yLklOVkFMSURfUEFSQU1FVEVSLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGAke05BTUUuTE9HX1BSRUZJWH0gcGxlYXNlIGNoZWNrIHRoZSBzdGFydExvY2FsQXVkaW8gbWV0aG9kIHBhcmFtZXRlcnNgLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIFRydGNOYXRpdmVUcnRjQ2xvdWRNb2R1bGUuc3RhcnRMb2NhbEF1ZGlvKHF1YWxpdHkpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZ2VuZXJhdGVFcnJvcl8oZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHN0b3BMb2NhbEF1ZGlvKCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgVHJ0Y05hdGl2ZVRydGNDbG91ZE1vZHVsZS5zdG9wTG9jYWxBdWRpbygpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZ2VuZXJhdGVFcnJvcl8oZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG11dGVMb2NhbEF1ZGlvKG11dGUpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBtdXRlICE9PSBOQU1FLkJPT0xFQU4pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUcnRjRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGNvZGU6IFRYTGl0ZUpTRXJyb3IuSU5WQUxJRF9QQVJBTUVURVIsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYCR7TkFNRS5MT0dfUFJFRklYfSBwbGVhc2UgY2hlY2sgdGhlIG11dGVMb2NhbEF1ZGlvIG1ldGhvZCBwYXJhbWV0ZXJzLCBtdXRlIHR5cGUgaXMgYSAke3R5cGVvZiBtdXRlfSBub3QgYSAke05BTUUuQk9PTEVBTn1gLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIFRydGNOYXRpdmVUcnRjQ2xvdWRNb2R1bGUubXV0ZUxvY2FsQXVkaW8oISFtdXRlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBtdXRlUmVtb3RlQXVkaW8odXNlcklkLCBtdXRlKSB7XG4gICAgICAgIGlmICh0eXBlb2YgbXV0ZSAhPT0gTkFNRS5CT09MRUFOIHx8ICF1c2VySWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUcnRjRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGNvZGU6IFRYTGl0ZUpTRXJyb3IuSU5WQUxJRF9QQVJBTUVURVIsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYCR7TkFNRS5MT0dfUFJFRklYfSBwbGVhc2UgY2hlY2sgdGhlIG11dGVSZW1vdGVBdWRpbyBtZXRob2QgcGFyYW1ldGVyc2AsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgVHJ0Y05hdGl2ZVRydGNDbG91ZE1vZHVsZS5tdXRlUmVtb3RlQXVkaW8oeyB1c2VySWQsIG11dGU6ICEhbXV0ZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBtdXRlQWxsUmVtb3RlQXVkaW8obXV0ZSkge1xuICAgICAgICBpZiAodHlwZW9mIG11dGUgIT09IE5BTUUuQk9PTEVBTikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFRydGNFcnJvcih7XG4gICAgICAgICAgICAgICAgY29kZTogVFhMaXRlSlNFcnJvci5JTlZBTElEX1BBUkFNRVRFUixcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgJHtOQU1FLkxPR19QUkVGSVh9IHBsZWFzZSBjaGVjayB0aGUgbXV0ZUFsbFJlbW90ZUF1ZGlvIG1ldGhvZCBwYXJhbWV0ZXJzLCBtdXRlIHR5cGUgaXMgYSAke3R5cGVvZiBtdXRlfSBub3QgYSAke05BTUUuQk9PTEVBTn1gLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIFRydGNOYXRpdmVUcnRjQ2xvdWRNb2R1bGUubXV0ZUFsbFJlbW90ZUF1ZGlvKCEhbXV0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBnZW5lcmF0ZUVycm9yXyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2V0QXVkaW9Sb3V0ZShyb3V0ZSkge1xuICAgICAgICBpZiAocm91dGUgIT09IFRSVENBdWRpb1JvdXRlLlRSVENBdWRpb1JvdXRlU3BlYWtlciAmJiByb3V0ZSAhPT0gVFJUQ0F1ZGlvUm91dGUuVFJUQ0F1ZGlvUm91dGVFYXJwaWVjZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFRydGNFcnJvcih7XG4gICAgICAgICAgICAgICAgY29kZTogVFhMaXRlSlNFcnJvci5JTlZBTElEX1BBUkFNRVRFUixcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBgJHtOQU1FLkxPR19QUkVGSVh9IHBsZWFzZSBjaGVjayB0aGUgc2V0QXVkaW9Sb3V0ZSBtZXRob2QgcGFyYW1ldGVyLCByb3V0ZSBpcyBub3Qgb2YgVFJUQ0F1ZGlvUm91dGVgLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIFRydGNOYXRpdmVUcnRjQ2xvdWRNb2R1bGUuc2V0QXVkaW9Sb3V0ZShyb3V0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBnZW5lcmF0ZUVycm9yXyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZW5hYmxlQXVkaW9Wb2x1bWVFdmFsdWF0aW9uKGludGVydmFsKSB7XG4gICAgICAgIGlmICh0eXBlb2YgaW50ZXJ2YWwgIT09IE5BTUUuTlVNQkVSKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHJ0Y0Vycm9yKHtcbiAgICAgICAgICAgICAgICBjb2RlOiBUWExpdGVKU0Vycm9yLklOVkFMSURfUEFSQU1FVEVSLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGAke05BTUUuTE9HX1BSRUZJWH0gcGxlYXNlIGNoZWNrIHRoZSBlbmFibGVBdWRpb1ZvbHVtZUV2YWx1YXRpb24gbWV0aG9kIHBhcmFtZXRlciwgaW50ZXJ2YWwgdHlwZSBpcyBhICR7dHlwZW9mIGludGVydmFsfSBub3QgYSAke05BTUUuTlVNQkVSfWAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaW50ZXJ2YWwgPiAwICYmIFRydGNOYXRpdmVUcnRjQ2xvdWRNb2R1bGUuZW5hYmxlQXVkaW9Wb2x1bWVFdmFsdWF0aW9uKGludGVydmFsKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICDnvo7popwgKyDmsLTljbBcbiAgICAvL1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICBzZXRCZWF1dHlTdHlsZShiZWF1dHlTdHlsZSkge1xuICAgICAgICBpZiAoYmVhdXR5U3R5bGUgIT09IFRSVENCZWF1dHlTdHlsZS5UUlRDQmVhdXR5U3R5bGVTbW9vdGggJiYgYmVhdXR5U3R5bGUgIT09IFRSVENCZWF1dHlTdHlsZS5UUlRDQmVhdXR5U3R5bGVOYXR1cmUgJiYgYmVhdXR5U3R5bGUgIT09IFRSVENCZWF1dHlTdHlsZS5UUlRDQmVhdXR5U3R5bGVQaXR1KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHJ0Y0Vycm9yKHtcbiAgICAgICAgICAgICAgICBjb2RlOiBUWExpdGVKU0Vycm9yLklOVkFMSURfUEFSQU1FVEVSLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGAke05BTUUuTE9HX1BSRUZJWH0gcGxlYXNlIGNoZWNrIHRoZSBzZXRCZWF1dHlTdHlsZSBtZXRob2QgcGFyYW1ldGVyLCBiZWF1dHlTdHlsZSBpcyBub3Qgb2YgVFJUQ0JlYXV0eVN0eWxlYCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBUcnRjTmF0aXZlVHJ0Y0Nsb3VkTW9kdWxlLnNldEJlYXV0eVN0eWxlKGJlYXV0eVN0eWxlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzZXRCZWF1dHlMZXZlbChiZWF1dHlMZXZlbCkge1xuICAgICAgICBpZiAodHlwZW9mIGJlYXV0eUxldmVsICE9PSBOQU1FLk5VTUJFUiB8fCAoYmVhdXR5TGV2ZWwgPCAwIHx8IGJlYXV0eUxldmVsID4gOSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUcnRjRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGNvZGU6IFRYTGl0ZUpTRXJyb3IuSU5WQUxJRF9QQVJBTUVURVIsXG4gICAgICAgICAgICAgICAgbWVzc2FnZTogYCR7TkFNRS5MT0dfUFJFRklYfSBwbGVhc2UgY2hlY2sgdGhlIHNldEJlYXV0eUxldmVsIG1ldGhvZCBwYXJhbWV0ZXIsIGJlYXV0eUxldmVsIHNob3VsZCBpbiB0aGUgcmFuZ2UgMC05YCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBUcnRjTmF0aXZlVHJ0Y0Nsb3VkTW9kdWxlLnNldEJlYXV0eUxldmVsKGJlYXV0eUxldmVsKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy9cbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICDog4zmma/pn7PmlYhcbiAgICAvL1xuICAgIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICBzdGFydFBsYXlNdXNpYyhtdXNpY1BhcmFtKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB7IGlkID0gMCB9ID0gbXVzaWNQYXJhbSB8fCB7fTtcbiAgICAgICAgICAgIFRYQXVkaW9FZmZlY3RNYW5hZ2VyTW9kdWxlLnN0YXJ0UGxheU11c2ljKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgbXVzaWNQYXJhbSksIHsgSUQ6IGlkIH0pKTsgLy8gdjEuMi4wIOeahCBpT1Mg6Kej5p6Q55qE5pivIElELCB2MS4yLjEg5o+S5Lu26L+b6KGM5LqG5L+u5aSNXG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBnZW5lcmF0ZUVycm9yXyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3RvcFBsYXlNdXNpYyhpZCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgVFhBdWRpb0VmZmVjdE1hbmFnZXJNb2R1bGUuc3RvcFBsYXlNdXNpYyhpZCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBnZW5lcmF0ZUVycm9yXyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcGF1c2VQbGF5TXVzaWMoaWQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIFRYQXVkaW9FZmZlY3RNYW5hZ2VyTW9kdWxlLnBhdXNlUGxheU11c2ljKGlkKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXN1bWVQbGF5TXVzaWMoaWQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIFRYQXVkaW9FZmZlY3RNYW5hZ2VyTW9kdWxlLnJlc3VtZVBsYXlNdXNpYyhpZCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBnZW5lcmF0ZUVycm9yXyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAg5bGP5bmV5YiG5LqrXG4gICAgLy9cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgc2V0U3ViU3RyZWFtRW5jb2RlclBhcmFtKHBhcmFtKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBUcnRjTmF0aXZlVHJ0Y0Nsb3VkTW9kdWxlLnNldFN1YlN0cmVhbUVuY29kZXJQYXJhbShwYXJhbSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBnZW5lcmF0ZUVycm9yXyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3RhcnRTY3JlZW5DYXB0dXJlKHN0cmVhbVR5cGUgPSBUUlRDVmlkZW9TdHJlYW1UeXBlLlRSVENWaWRlb1N0cmVhbVR5cGVTdWIsIGVuY1BhcmFtcyA9IHt9LCBzaGFyZVBhcmFtcyA9IHt9KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgcGxhdGZvcm0gPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKS5wbGF0Zm9ybTtcbiAgICAgICAgICAgIGlmICgoc3RyZWFtVHlwZSAhPT0gVFJUQ1ZpZGVvU3RyZWFtVHlwZS5UUlRDVmlkZW9TdHJlYW1UeXBlU3ViICYmIHN0cmVhbVR5cGUgIT09IFRSVENWaWRlb1N0cmVhbVR5cGUuVFJUQ1ZpZGVvU3RyZWFtVHlwZUJpZykpIHtcbiAgICAgICAgICAgICAgICBzdHJlYW1UeXBlID0gVFJUQ1ZpZGVvU3RyZWFtVHlwZS5UUlRDVmlkZW9TdHJlYW1UeXBlU3ViO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgeyBlbmFibGVGb3JlZ3JvdW5kU2VydmljZSA9IHRydWUgfSA9IHNoYXJlUGFyYW1zOyAvLyDpu5jorqTlvIDlkK/liY3lj7DmnI3liqEsIOmBv+WFjemAgOWQjuWPsOWQjui/m+eoi+iiq+adgFxuICAgICAgICAgICAgY29uc3Qgc2NyZWVuQ2FwdHVyZVBhcmFtcyA9IE9iamVjdC5hc3NpZ24oeyBzdHJlYW1UeXBlIH0sIGVuY1BhcmFtcyk7XG4gICAgICAgICAgICBpZiAocGxhdGZvcm0gPT09IE5BTUUuQU5EUk9JRCkge1xuICAgICAgICAgICAgICAgIFRydGNOYXRpdmVUcnRjQ2xvdWRNb2R1bGUuc3RhcnRTY3JlZW5DYXB0dXJlKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgc2NyZWVuQ2FwdHVyZVBhcmFtcyksIHsgZW5hYmxlRm9yZWdyb3VuZFNlcnZpY2UgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHBsYXRmb3JtID09PSBOQU1FLklPUykge1xuICAgICAgICAgICAgICAgIC8vIOW8gOWni+W6lOeUqOWGheeahOWxj+W5leWIhuS6q++8iOS7heaUr+aMgSBpT1MgMTMuMCDlj4rku6XkuIrns7vnu5/vvIlcbiAgICAgICAgICAgICAgICBUcnRjTmF0aXZlVHJ0Y0Nsb3VkTW9kdWxlLnN0YXJ0U2NyZWVuQ2FwdHVyZUluQXBwKHNjcmVlbkNhcHR1cmVQYXJhbXMpO1xuICAgICAgICAgICAgICAgIC8vIGlmIChzaGFyZVNvdXJjZSA9PT0gVFJUQ1NoYXJlU291cmNlLkluQXBwKSB7XG4gICAgICAgICAgICAgICAgLy8gICBUcnRjTmF0aXZlVHJ0Y0Nsb3VkTW9kdWxlLnN0YXJ0U2NyZWVuQ2FwdHVyZUluQXBwKHNjcmVlbkNhcHR1cmVQYXJhbXMpO1xuICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgICAvLyAvLyDlvIDlp4vlhajns7vnu5/nmoTlsY/luZXliIbkuqvvvIjku4XmlK/mjIEgaU9TIDExLjAg5Y+K5Lul5LiK57O757uf77yJXG4gICAgICAgICAgICAgICAgLy8gaWYgKHNoYXJlU291cmNlID09PSBUUlRDU2hhcmVTb3VyY2UuQnlSZXBsYXlraXQpIHtcbiAgICAgICAgICAgICAgICAvLyAgIFRydGNOYXRpdmVUcnRjQ2xvdWRNb2R1bGUuc3RhcnRTY3JlZW5DYXB0dXJlQnlSZXBsYXlraXQoeyAuLi5zY3JlZW5DYXB0dXJlUGFyYW1zLCBhcHBHcm91cDogbnVsbCB9KTtcbiAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBnZW5lcmF0ZUVycm9yXyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3RvcFNjcmVlbkNhcHR1cmUoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBUcnRjTmF0aXZlVHJ0Y0Nsb3VkTW9kdWxlLnN0b3BTY3JlZW5DYXB0dXJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBnZW5lcmF0ZUVycm9yXyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcGF1c2VTY3JlZW5DYXB0dXJlKCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgVHJ0Y05hdGl2ZVRydGNDbG91ZE1vZHVsZS5wYXVzZVNjcmVlbkNhcHR1cmUoKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGdlbmVyYXRlRXJyb3JfKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXN1bWVTY3JlZW5DYXB0dXJlKCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgVHJ0Y05hdGl2ZVRydGNDbG91ZE1vZHVsZS5yZXN1bWVTY3JlZW5DYXB0dXJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBnZW5lcmF0ZUVycm9yXyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///57\n");
- /***/ }),
- /* 58 */
- /*!**********************************************************!*\
- !*** ./node_modules/@babel/runtime/regenerator/index.js ***!
- \**********************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ 55);
- // TODO(Babel 8): Remove this file.
- var runtime = __webpack_require__(/*! ../helpers/regeneratorRuntime */ 59)();
- module.exports = runtime;
- // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
- try {
- regeneratorRuntime = runtime;
- } catch (accidentalStrictMode) {
- if ((typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) === "object") {
- globalThis.regeneratorRuntime = runtime;
- } else {
- Function("r", "regeneratorRuntime = r")(runtime);
- }
- }
- /***/ }),
- /* 59 */
- /*!*******************************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js ***!
- \*******************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- var _typeof = __webpack_require__(/*! ./typeof.js */ 55)["default"];
- function _regeneratorRuntime() {
- "use strict";
- /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
- module.exports = _regeneratorRuntime = function _regeneratorRuntime() {
- return e;
- }, module.exports.__esModule = true, module.exports["default"] = module.exports;
- var t,
- e = {},
- r = Object.prototype,
- n = r.hasOwnProperty,
- o = Object.defineProperty || function (t, e, r) {
- t[e] = r.value;
- },
- i = "function" == typeof Symbol ? Symbol : {},
- a = i.iterator || "@@iterator",
- c = i.asyncIterator || "@@asyncIterator",
- u = i.toStringTag || "@@toStringTag";
- function define(t, e, r) {
- return Object.defineProperty(t, e, {
- value: r,
- enumerable: !0,
- configurable: !0,
- writable: !0
- }), t[e];
- }
- try {
- define({}, "");
- } catch (t) {
- define = function define(t, e, r) {
- return t[e] = r;
- };
- }
- function wrap(t, e, r, n) {
- var i = e && e.prototype instanceof Generator ? e : Generator,
- a = Object.create(i.prototype),
- c = new Context(n || []);
- return o(a, "_invoke", {
- value: makeInvokeMethod(t, r, c)
- }), a;
- }
- function tryCatch(t, e, r) {
- try {
- return {
- type: "normal",
- arg: t.call(e, r)
- };
- } catch (t) {
- return {
- type: "throw",
- arg: t
- };
- }
- }
- e.wrap = wrap;
- var h = "suspendedStart",
- l = "suspendedYield",
- f = "executing",
- s = "completed",
- y = {};
- function Generator() {}
- function GeneratorFunction() {}
- function GeneratorFunctionPrototype() {}
- var p = {};
- define(p, a, function () {
- return this;
- });
- var d = Object.getPrototypeOf,
- v = d && d(d(values([])));
- v && v !== r && n.call(v, a) && (p = v);
- var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
- function defineIteratorMethods(t) {
- ["next", "throw", "return"].forEach(function (e) {
- define(t, e, function (t) {
- return this._invoke(e, t);
- });
- });
- }
- function AsyncIterator(t, e) {
- function invoke(r, o, i, a) {
- var c = tryCatch(t[r], t, o);
- if ("throw" !== c.type) {
- var u = c.arg,
- h = u.value;
- return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
- invoke("next", t, i, a);
- }, function (t) {
- invoke("throw", t, i, a);
- }) : e.resolve(h).then(function (t) {
- u.value = t, i(u);
- }, function (t) {
- return invoke("throw", t, i, a);
- });
- }
- a(c.arg);
- }
- var r;
- o(this, "_invoke", {
- value: function value(t, n) {
- function callInvokeWithMethodAndArg() {
- return new e(function (e, r) {
- invoke(t, n, e, r);
- });
- }
- return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
- }
- });
- }
- function makeInvokeMethod(e, r, n) {
- var o = h;
- return function (i, a) {
- if (o === f) throw Error("Generator is already running");
- if (o === s) {
- if ("throw" === i) throw a;
- return {
- value: t,
- done: !0
- };
- }
- for (n.method = i, n.arg = a;;) {
- var c = n.delegate;
- if (c) {
- var u = maybeInvokeDelegate(c, n);
- if (u) {
- if (u === y) continue;
- return u;
- }
- }
- if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
- if (o === h) throw o = s, n.arg;
- n.dispatchException(n.arg);
- } else "return" === n.method && n.abrupt("return", n.arg);
- o = f;
- var p = tryCatch(e, r, n);
- if ("normal" === p.type) {
- if (o = n.done ? s : l, p.arg === y) continue;
- return {
- value: p.arg,
- done: n.done
- };
- }
- "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
- }
- };
- }
- function maybeInvokeDelegate(e, r) {
- var n = r.method,
- o = e.iterator[n];
- if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
- var i = tryCatch(o, e.iterator, r.arg);
- if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
- var a = i.arg;
- return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
- }
- function pushTryEntry(t) {
- var e = {
- tryLoc: t[0]
- };
- 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
- }
- function resetTryEntry(t) {
- var e = t.completion || {};
- e.type = "normal", delete e.arg, t.completion = e;
- }
- function Context(t) {
- this.tryEntries = [{
- tryLoc: "root"
- }], t.forEach(pushTryEntry, this), this.reset(!0);
- }
- function values(e) {
- if (e || "" === e) {
- var r = e[a];
- if (r) return r.call(e);
- if ("function" == typeof e.next) return e;
- if (!isNaN(e.length)) {
- var o = -1,
- i = function next() {
- for (; ++o < e.length;) {
- if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
- }
- return next.value = t, next.done = !0, next;
- };
- return i.next = i;
- }
- }
- throw new TypeError(_typeof(e) + " is not iterable");
- }
- return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
- value: GeneratorFunctionPrototype,
- configurable: !0
- }), o(GeneratorFunctionPrototype, "constructor", {
- value: GeneratorFunction,
- configurable: !0
- }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
- var e = "function" == typeof t && t.constructor;
- return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
- }, e.mark = function (t) {
- return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
- }, e.awrap = function (t) {
- return {
- __await: t
- };
- }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
- return this;
- }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
- void 0 === i && (i = Promise);
- var a = new AsyncIterator(wrap(t, r, n, o), i);
- return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
- return t.done ? t.value : a.next();
- });
- }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
- return this;
- }), define(g, "toString", function () {
- return "[object Generator]";
- }), e.keys = function (t) {
- var e = Object(t),
- r = [];
- for (var n in e) {
- r.push(n);
- }
- return r.reverse(), function next() {
- for (; r.length;) {
- var t = r.pop();
- if (t in e) return next.value = t, next.done = !1, next;
- }
- return next.done = !0, next;
- };
- }, e.values = values, Context.prototype = {
- constructor: Context,
- reset: function reset(e) {
- if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) {
- "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
- }
- },
- stop: function stop() {
- this.done = !0;
- var t = this.tryEntries[0].completion;
- if ("throw" === t.type) throw t.arg;
- return this.rval;
- },
- dispatchException: function dispatchException(e) {
- if (this.done) throw e;
- var r = this;
- function handle(n, o) {
- return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
- }
- for (var o = this.tryEntries.length - 1; o >= 0; --o) {
- var i = this.tryEntries[o],
- a = i.completion;
- if ("root" === i.tryLoc) return handle("end");
- if (i.tryLoc <= this.prev) {
- var c = n.call(i, "catchLoc"),
- u = n.call(i, "finallyLoc");
- if (c && u) {
- if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
- if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
- } else if (c) {
- if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
- } else {
- if (!u) throw Error("try statement without catch or finally");
- if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
- }
- }
- }
- },
- abrupt: function abrupt(t, e) {
- for (var r = this.tryEntries.length - 1; r >= 0; --r) {
- var o = this.tryEntries[r];
- if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
- var i = o;
- break;
- }
- }
- i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
- var a = i ? i.completion : {};
- return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
- },
- complete: function complete(t, e) {
- if ("throw" === t.type) throw t.arg;
- return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
- },
- finish: function finish(t) {
- for (var e = this.tryEntries.length - 1; e >= 0; --e) {
- var r = this.tryEntries[e];
- if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
- }
- },
- "catch": function _catch(t) {
- for (var e = this.tryEntries.length - 1; e >= 0; --e) {
- var r = this.tryEntries[e];
- if (r.tryLoc === t) {
- var n = r.completion;
- if ("throw" === n.type) {
- var o = n.arg;
- resetTryEntry(r);
- }
- return o;
- }
- }
- throw Error("illegal catch attempt");
- },
- delegateYield: function delegateYield(e, r, n) {
- return this.delegate = {
- iterator: values(e),
- resultName: r,
- nextLoc: n
- }, "next" === this.method && (this.arg = t), y;
- }
- }, e;
- }
- module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 60 */
- /*!*************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/TrtcCloud/lib/constants.js ***!
- \*************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.errorCodeUrl = exports.NAME = void 0;\nvar NAME = {\n ANDROID: 'android',\n IOS: 'ios',\n STRING: 'string',\n FUNCTION: 'function',\n BOOLEAN: 'boolean',\n NUMBER: 'number',\n LOG_PREFIX: '【UniApp-JS】'\n};\nexports.NAME = NAME;\nvar errorCodeUrl = 'https://web.sdk.qcloud.com/trtc/uniapp/doc/zh-cn/ErrorCode.html';\nexports.errorCodeUrl = errorCodeUrl;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vVHJ0Y0Nsb3VkL2xpYi9jb25zdGFudHMuanMiXSwibmFtZXMiOlsiTkFNRSIsIkFORFJPSUQiLCJJT1MiLCJTVFJJTkciLCJGVU5DVElPTiIsIkJPT0xFQU4iLCJOVU1CRVIiLCJMT0dfUFJFRklYIiwiZXJyb3JDb2RlVXJsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBTyxJQUFNQSxJQUFJLEdBQUc7RUFDaEJDLE9BQU8sRUFBRSxTQUFTO0VBQ2xCQyxHQUFHLEVBQUUsS0FBSztFQUNWQyxNQUFNLEVBQUUsUUFBUTtFQUNoQkMsUUFBUSxFQUFFLFVBQVU7RUFDcEJDLE9BQU8sRUFBRSxTQUFTO0VBQ2xCQyxNQUFNLEVBQUUsUUFBUTtFQUNoQkMsVUFBVSxFQUFFO0FBQ2hCLENBQUM7QUFBQztBQUNLLElBQU1DLFlBQVksR0FBRyxpRUFBaUU7QUFBQyIsImZpbGUiOiI2MC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBOQU1FID0ge1xuICAgIEFORFJPSUQ6ICdhbmRyb2lkJyxcbiAgICBJT1M6ICdpb3MnLFxuICAgIFNUUklORzogJ3N0cmluZycsXG4gICAgRlVOQ1RJT046ICdmdW5jdGlvbicsXG4gICAgQk9PTEVBTjogJ2Jvb2xlYW4nLFxuICAgIE5VTUJFUjogJ251bWJlcicsXG4gICAgTE9HX1BSRUZJWDogJ+OAkFVuaUFwcC1KU+OAkScsXG59O1xuZXhwb3J0IGNvbnN0IGVycm9yQ29kZVVybCA9ICdodHRwczovL3dlYi5zZGsucWNsb3VkLmNvbS90cnRjL3VuaWFwcC9kb2MvemgtY24vRXJyb3JDb2RlLmh0bWwnO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///60\n");
- /***/ }),
- /* 61 */
- /*!***************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/TrtcCloud/lib/TrtcDefines.js ***!
- \***************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 31);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TRTCVideoStreamType = exports.TRTCVideoRotation = exports.TRTCVideoResolutionMode = exports.TRTCVideoResolution = exports.TRTCVideoMirrorType = exports.TRTCVideoFillMode = exports.TRTCVideoEncParam = exports.TRTCSnapshotSourceType = exports.TRTCShareSource = exports.TRTCScreenShareParams = exports.TRTCRoleType = exports.TRTCRenderParams = exports.TRTCParams = exports.TRTCGSensorMode = exports.TRTCBeautyStyle = exports.TRTCAudioRoute = exports.TRTCAudioQuality = exports.TRTCAppScene = exports.AudioMusicParam = void 0;\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 53));\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 52));\n/**\n * TRTC 关键类型定义<br>\n * @description 分辨率、质量等级等枚举和常量值的定义\n */\n/////////////////////////////////////////////////////////////////////////////////\n//\n// 【(一)视频相关枚举值定义】\n//\n/////////////////////////////////////////////////////////////////////////////////\n/**\n * 视频分辨率<br>\n * 此处仅定义横屏分辨率(如 640 × 360),如需使用竖屏分辨率(如 360 × 640),需要同时指定 VideoResolutionMode 为 Portrait\n * @enum {Number}\n */\nvar TRTCVideoResolution_HACK_JSDOC = {\n /** 宽高比 1:1;分辨率 120x120;建议码率(VideoCall)80kbps; 建议码率(LIVE)120kbps */\n TRTCVideoResolution_120_120: 1,\n /** 宽高比 1:1 分辨率 160x160;建议码率(VideoCall)100kbps; 建议码率(LIVE)150kbps */\n TRTCVideoResolution_160_160: 3,\n /** 宽高比 1:1;分辨率 270x270;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps */\n TRTCVideoResolution_270_270: 5,\n /** 宽高比 1:1;分辨率 480x480;建议码率(VideoCall)350kbps; 建议码率(LIVE)500kbps */\n TRTCVideoResolution_480_480: 7,\n /** 宽高比4:3;分辨率 160x120;建议码率(VideoCall)100kbps; 建议码率(LIVE)150kbps */\n TRTCVideoResolution_160_120: 50,\n /** 宽高比 4:3;分辨率 240x180;建议码率(VideoCall)150kbps; 建议码率(LIVE)250kbps */\n TRTCVideoResolution_240_180: 52,\n /** 宽高比 4:3;分辨率 280x210;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps */\n TRTCVideoResolution_280_210: 54,\n /** 宽高比 4:3;分辨率 320x240;建议码率(VideoCall)250kbps; 建议码率(LIVE)375kbps */\n TRTCVideoResolution_320_240: 56,\n /** 宽高比 4:3;分辨率 400x300;建议码率(VideoCall)300kbps; 建议码率(LIVE)450kbps */\n TRTCVideoResolution_400_300: 58,\n /** 宽高比 4:3;分辨率 480x360;建议码率(VideoCall)400kbps; 建议码率(LIVE)600kbps */\n TRTCVideoResolution_480_360: 60,\n /** 宽高比 4:3;分辨率 640x480;建议码率(VideoCall)600kbps; 建议码率(LIVE)900kbps */\n TRTCVideoResolution_640_480: 62,\n /** 宽高比 4:3;分辨率 960x720;建议码率(VideoCall)1000kbps; 建议码率(LIVE)1500kbps */\n TRTCVideoResolution_960_720: 64,\n /** 宽高比 16:9;分辨率 160x90;建议码率(VideoCall)150kbps; 建议码率(LIVE)250kbps */\n TRTCVideoResolution_160_90: 100,\n /** 宽高比 16:9;分辨率 256x144;建议码率(VideoCall)200kbps; 建议码率(LIVE)300kbps */\n TRTCVideoResolution_256_144: 102,\n /** 宽高比 16:9;分辨率 320x180;建议码率(VideoCall)250kbps; 建议码率(LIVE)400kbps */\n TRTCVideoResolution_320_180: 104,\n /** 宽高比 16:9;分辨率 480x270;建议码率(VideoCall)350kbps; 建议码率(LIVE)550kbps */\n TRTCVideoResolution_480_270: 106,\n /** 宽高比 16:9;分辨率 640x360;建议码率(VideoCall)500kbps; 建议码率(LIVE)900kbps */\n TRTCVideoResolution_640_360: 108,\n /** 宽高比 16:9;分辨率 960x540;建议码率(VideoCall)850kbps; 建议码率(LIVE)1300kbps */\n TRTCVideoResolution_960_540: 110,\n /** 宽高比 16:9;分辨率 1280x720;建议码率(VideoCall)1200kbps; 建议码率(LIVE)1800kbps */\n TRTCVideoResolution_1280_720: 112,\n /** 宽高比 16:9;分辨率 1920x1080;建议码率(VideoCall)2000kbps; 建议码率(LIVE)3000kbps */\n TRTCVideoResolution_1920_1080: 114\n};\nvar TRTCVideoResolution;\nexports.TRTCVideoResolution = TRTCVideoResolution;\n(function (TRTCVideoResolution) {\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_120_120\"] = 1] = \"TRTCVideoResolution_120_120\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_160_160\"] = 3] = \"TRTCVideoResolution_160_160\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_270_270\"] = 5] = \"TRTCVideoResolution_270_270\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_480_480\"] = 7] = \"TRTCVideoResolution_480_480\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_160_120\"] = 50] = \"TRTCVideoResolution_160_120\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_240_180\"] = 52] = \"TRTCVideoResolution_240_180\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_280_210\"] = 54] = \"TRTCVideoResolution_280_210\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_320_240\"] = 56] = \"TRTCVideoResolution_320_240\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_400_300\"] = 58] = \"TRTCVideoResolution_400_300\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_480_360\"] = 60] = \"TRTCVideoResolution_480_360\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_640_480\"] = 62] = \"TRTCVideoResolution_640_480\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_960_720\"] = 64] = \"TRTCVideoResolution_960_720\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_160_90\"] = 100] = \"TRTCVideoResolution_160_90\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_256_144\"] = 102] = \"TRTCVideoResolution_256_144\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_320_180\"] = 104] = \"TRTCVideoResolution_320_180\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_480_270\"] = 106] = \"TRTCVideoResolution_480_270\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_640_360\"] = 108] = \"TRTCVideoResolution_640_360\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_960_540\"] = 110] = \"TRTCVideoResolution_960_540\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_1280_720\"] = 112] = \"TRTCVideoResolution_1280_720\";\n TRTCVideoResolution[TRTCVideoResolution[\"TRTCVideoResolution_1920_1080\"] = 114] = \"TRTCVideoResolution_1920_1080\";\n})(TRTCVideoResolution || (exports.TRTCVideoResolution = TRTCVideoResolution = {}));\n/**\n * 视频分辨率模式<br>\n * TRTCVideoResolution 中仅定义了横屏分辨率(如 640 × 360),如需使用竖屏分辨率(如 360 × 640),需要同时指定 TRTCVideoResolutionMode 为 Portrait\n * @enum {Number}\n */\nvar TRTCVideoResolutionMode_HACK_JSDOC = {\n /** 横屏分辨率 */\n TRTCVideoResolutionModeLandscape: 0,\n /** 竖屏分辨率 */\n TRTCVideoResolutionModePortrait: 1\n};\nvar TRTCVideoResolutionMode;\nexports.TRTCVideoResolutionMode = TRTCVideoResolutionMode;\n(function (TRTCVideoResolutionMode) {\n TRTCVideoResolutionMode[TRTCVideoResolutionMode[\"TRTCVideoResolutionModeLandscape\"] = 0] = \"TRTCVideoResolutionModeLandscape\";\n TRTCVideoResolutionMode[TRTCVideoResolutionMode[\"TRTCVideoResolutionModePortrait\"] = 1] = \"TRTCVideoResolutionModePortrait\";\n})(TRTCVideoResolutionMode || (exports.TRTCVideoResolutionMode = TRTCVideoResolutionMode = {}));\n;\n/**\n * 视频流类型<br>\n * TRTC 内部有三种不同的音视频流,分别是:\n * - 高清大画面:一般用来传输摄像头的视频数据\n * - 低清小画面:小画面和大画面的内容相互,但是分辨率和码率都比大画面低,因此清晰度也更低\n * - 辅流画面:一般用于屏幕分享,同一时间在同一个房间中只允许一个用户发布辅流视频,其他用户必须要等该用户关闭之后才能发布自己的辅流\n *\n * **Note:**\n * - 不支持单独开启低清小画面,小画面必须依附于大画面而存在,SDK 会自动设定低清小画面的分辨率和码率\n * @enum {Number}\n */\nvar TRTCVideoStreamType_HACK_JSDOC = {\n /** 大画面视频流 */\n TRTCVideoStreamTypeBig: 0,\n /** 小画面视频流 */\n TRTCVideoStreamTypeSmall: 1,\n /** 辅流(屏幕分享) */\n TRTCVideoStreamTypeSub: 2\n};\nvar TRTCVideoStreamType;\nexports.TRTCVideoStreamType = TRTCVideoStreamType;\n(function (TRTCVideoStreamType) {\n TRTCVideoStreamType[TRTCVideoStreamType[\"TRTCVideoStreamTypeBig\"] = 0] = \"TRTCVideoStreamTypeBig\";\n TRTCVideoStreamType[TRTCVideoStreamType[\"TRTCVideoStreamTypeSmall\"] = 1] = \"TRTCVideoStreamTypeSmall\";\n TRTCVideoStreamType[TRTCVideoStreamType[\"TRTCVideoStreamTypeSub\"] = 2] = \"TRTCVideoStreamTypeSub\";\n})(TRTCVideoStreamType || (exports.TRTCVideoStreamType = TRTCVideoStreamType = {}));\n/**\n * 画面来源<br>\n * TRTC 内部有两种不同的画面来源,分别是:\n * - TRTCSnapshotSourceTypeStream: 视频流画面\n * - TRTCSnapshotSourceTypeView: 视频渲染画面\n *\n * **Note:**\n * - 截取视频流画面(TRTCSnapshotSourceTypeStream)一般更清晰。\n * @enum {Number}\n */\nvar TRTCSnapshotSourceType_HACK_JSDOC = {\n /** 视频流画面 */\n TRTCSnapshotSourceTypeStream: 0,\n /** 视频渲染画面 */\n TRTCSnapshotSourceTypeView: 1\n};\nvar TRTCSnapshotSourceType;\nexports.TRTCSnapshotSourceType = TRTCSnapshotSourceType;\n(function (TRTCSnapshotSourceType) {\n TRTCSnapshotSourceType[TRTCSnapshotSourceType[\"TRTCSnapshotSourceTypeStream\"] = 0] = \"TRTCSnapshotSourceTypeStream\";\n TRTCSnapshotSourceType[TRTCSnapshotSourceType[\"TRTCSnapshotSourceTypeView\"] = 1] = \"TRTCSnapshotSourceTypeView\";\n})(TRTCSnapshotSourceType || (exports.TRTCSnapshotSourceType = TRTCSnapshotSourceType = {}));\n/**\n * 视频画面填充模式<br>\n * 如果画面的显示分辨率不等于画面的原始分辨率,就需要您设置画面的填充模式:\n * - TRTCVideoFillMode_Fill,图像铺满屏幕,超出显示视窗的视频部分将被截掉,所以画面显示可能不完整。\n * - TRTCVideoFillMode_Fit,图像长边填满屏幕,短边区域会被填充黑色,但画面的内容肯定是完整的。\n * @enum {Number}\n */\nvar TRTCVideoFillMode_HACK_JSDOC = {\n /** 图像铺满屏幕,超出显示视窗的视频部分将被截掉 */\n TRTCVideoFillMode_Fill: 0,\n /** 图像长边填满屏幕,短边区域会被填充黑色 */\n TRTCVideoFillMode_Fit: 1\n};\nvar TRTCVideoFillMode;\nexports.TRTCVideoFillMode = TRTCVideoFillMode;\n(function (TRTCVideoFillMode) {\n TRTCVideoFillMode[TRTCVideoFillMode[\"TRTCVideoFillMode_Fill\"] = 0] = \"TRTCVideoFillMode_Fill\";\n TRTCVideoFillMode[TRTCVideoFillMode[\"TRTCVideoFillMode_Fit\"] = 1] = \"TRTCVideoFillMode_Fit\";\n})(TRTCVideoFillMode || (exports.TRTCVideoFillMode = TRTCVideoFillMode = {}));\n;\n/**\n * 视频画面旋转方向<br>\n * TRTC SDK 提供了对本地和远程画面的旋转角度设置 API,如下的旋转角度都是指顺时针方向的。\n * @enum {Number}\n */\nvar TRTCVideoRotation_HACK_JSDOC = {\n /** 顺时针旋转0度 */\n TRTCVideoRotation_0: 0,\n /** 顺时针旋转90度 */\n TRTCVideoRotation_90: 1,\n /** 顺时针旋转180度 */\n TRTCVideoRotation_180: 2,\n /** 顺时针旋转270度 */\n TRTCVideoRotation_270: 3\n};\nvar TRTCVideoRotation;\nexports.TRTCVideoRotation = TRTCVideoRotation;\n(function (TRTCVideoRotation) {\n TRTCVideoRotation[TRTCVideoRotation[\"TRTCVideoRotation_0\"] = 0] = \"TRTCVideoRotation_0\";\n TRTCVideoRotation[TRTCVideoRotation[\"TRTCVideoRotation_90\"] = 1] = \"TRTCVideoRotation_90\";\n TRTCVideoRotation[TRTCVideoRotation[\"TRTCVideoRotation_180\"] = 2] = \"TRTCVideoRotation_180\";\n TRTCVideoRotation[TRTCVideoRotation[\"TRTCVideoRotation_270\"] = 3] = \"TRTCVideoRotation_270\";\n})(TRTCVideoRotation || (exports.TRTCVideoRotation = TRTCVideoRotation = {}));\n/**\n * 画面渲染镜像类型<br>\n * TRTC 的画面镜像提供下列设置模式\n * @enum {Number}\n */\nvar TRTCVideoMirrorType_HACK_JSDOC = {\n /** 只适用于移动端, 本地预览时,前置摄像头镜像,后置摄像头不镜像 */\n TRTCVideoMirrorType_Auto: 0,\n /** 所有画面均镜像 */\n TRTCVideoMirrorType_Enable: 1,\n /** 所有画面均不镜像 */\n TRTCVideoMirrorType_Disable: 2\n};\nvar TRTCVideoMirrorType;\nexports.TRTCVideoMirrorType = TRTCVideoMirrorType;\n(function (TRTCVideoMirrorType) {\n TRTCVideoMirrorType[TRTCVideoMirrorType[\"TRTCVideoMirrorType_Auto\"] = 0] = \"TRTCVideoMirrorType_Auto\";\n TRTCVideoMirrorType[TRTCVideoMirrorType[\"TRTCVideoMirrorType_Enable\"] = 1] = \"TRTCVideoMirrorType_Enable\";\n TRTCVideoMirrorType[TRTCVideoMirrorType[\"TRTCVideoMirrorType_Disable\"] = 2] = \"TRTCVideoMirrorType_Disable\";\n})(TRTCVideoMirrorType || (exports.TRTCVideoMirrorType = TRTCVideoMirrorType = {}));\n/**\n * 美颜(磨皮)算法<br>\n * TRTC SDK 内置了多种不同的磨皮算法,您可以选择最适合您产品定位的方案。\n * @enum {Number}\n */\nvar TRTCBeautyStyle_HACK_JSDOC = {\n /** 光滑,算法比较激进,磨皮效果比较明显,适用于秀场直播 */\n TRTCBeautyStyleSmooth: 0,\n /** 自然,算法更多地保留了面部细节,磨皮效果更加自然,适用于绝大多数直播场景 */\n TRTCBeautyStyleNature: 1,\n /** 优图,由优图实验室提供,磨皮效果介于光滑和自然之间,比光滑保留更多皮肤细节,比自然磨皮程度更高 */\n TRTCBeautyStylePitu: 2\n};\nvar TRTCBeautyStyle;\nexports.TRTCBeautyStyle = TRTCBeautyStyle;\n(function (TRTCBeautyStyle) {\n TRTCBeautyStyle[TRTCBeautyStyle[\"TRTCBeautyStyleSmooth\"] = 0] = \"TRTCBeautyStyleSmooth\";\n TRTCBeautyStyle[TRTCBeautyStyle[\"TRTCBeautyStyleNature\"] = 1] = \"TRTCBeautyStyleNature\";\n TRTCBeautyStyle[TRTCBeautyStyle[\"TRTCBeautyStylePitu\"] = 2] = \"TRTCBeautyStylePitu\";\n})(TRTCBeautyStyle || (exports.TRTCBeautyStyle = TRTCBeautyStyle = {}));\n/**\n * 背景音效<br>\n * @enum {Number}\n */\nvar AudioMusicParam = /*#__PURE__*/(0, _createClass2.default)(function AudioMusicParam(id, path, loopCount, publish, isShortFile, startTimeMS, endTimeMS) {\n (0, _classCallCheck2.default)(this, AudioMusicParam);\n this.id = id;\n this.path = path;\n this.loopCount = loopCount;\n this.publish = publish;\n this.isShortFile = isShortFile;\n this.startTimeMS = startTimeMS;\n this.endTimeMS = endTimeMS;\n}); /////////////////////////////////////////////////////////////////////////////////\n//\n// 【(二)网络相关枚举值定义】\n//\n/////////////////////////////////////////////////////////////////////////////////\n/**\n * 应用场景<br>\n * TRTC 可用于视频会议和在线直播等多种应用场景,针对不同的应用场景,TRTC SDK 的内部会进行不同的优化配置:\n * - TRTCAppSceneVideoCall :视频通话场景,适合[1对1视频通话]、[300人视频会议]、[在线问诊]、[视频聊天]、[远程面试]等。\n * - TRTCAppSceneLIVE :视频互动直播,适合[视频低延时直播]、[十万人互动课堂]、[视频直播 PK]、[视频相亲房]、[互动课堂]、[远程培训]、[超大型会议]等。\n * - TRTCAppSceneAudioCall :语音通话场景,适合[1对1语音通话]、[300人语音会议]、[语音聊天]、[语音会议]、[在线狼人杀]等。\n * - TRTCAppSceneVoiceChatRoom:语音互动直播,适合:[语音低延时直播]、[语音直播连麦]、[语聊房]、[K 歌房]、[FM 电台]等。\n * @enum {Number}\n */\nexports.AudioMusicParam = AudioMusicParam;\nvar TRTCAppScene_HACK_JSDOC = {\n /**\n * 视频通话场景,支持720P、1080P高清画质,单个房间最多支持300人同时在线,最高支持50人同时发言。<br>\n * 适合:[视频低延时直播]、[十万人互动课堂]、[视频直播 PK]、[视频相亲房]、[互动课堂]、[远程培训]、[超大型会议]等。<br>\n * 注意:此场景下,您必须通过 TRTCParams 中的 role 字段指定当前用户的角色。\n */\n TRTCAppSceneVideoCall: 0,\n /**\n * 视频互动直播,支持平滑上下麦,切换过程无需等待,主播延时小于300ms;支持十万级别观众同时播放,播放延时低至1000ms。<br>\n * 在线直播场景,内部编码器和网络协议优化侧重性能和兼容性,性能和清晰度表现更佳。\n */\n TRTCAppSceneLIVE: 1,\n /**\n * 语音通话场景,支持 48kHz,支持双声道。单个房间最多支持300人同时在线,最高支持50人同时发言。<br>\n * 适合:[1对1语音通话]、[300人语音会议]、[语音聊天]、[语音会议]、[在线狼人杀]等。\n */\n TRTCAppSceneAudioCall: 2,\n /**\n * 语音互动直播,支持平滑上下麦,切换过程无需等待,主播延时小于300ms;支持十万级别观众同时播放,播放延时低至1000ms。<br>\n * 适合:[语音低延时直播]、[语音直播连麦]、[语聊房]、[K 歌房]、[FM 电台]等。<br>\n * 注意:此场景下,您必须通过 TRTCParams 中的 role 字段指定当前用户的角色。\n */\n TRTCAppSceneVoiceChatRoom: 3\n};\nvar TRTCAppScene;\nexports.TRTCAppScene = TRTCAppScene;\n(function (TRTCAppScene) {\n TRTCAppScene[TRTCAppScene[\"TRTCAppSceneVideoCall\"] = 0] = \"TRTCAppSceneVideoCall\";\n TRTCAppScene[TRTCAppScene[\"TRTCAppSceneLIVE\"] = 1] = \"TRTCAppSceneLIVE\";\n TRTCAppScene[TRTCAppScene[\"TRTCAppSceneAudioCall\"] = 2] = \"TRTCAppSceneAudioCall\";\n TRTCAppScene[TRTCAppScene[\"TRTCAppSceneVoiceChatRoom\"] = 3] = \"TRTCAppSceneVoiceChatRoom\";\n})(TRTCAppScene || (exports.TRTCAppScene = TRTCAppScene = {}));\n/**\n * 角色,仅适用于直播场景(TRTCAppSceneLIVE 和 TRTCAppSceneVoiceChatRoom)<br>\n * 在直播场景中,多数用户只是观众,只有个别用户是主播,这种角色区分可以有利于 TRTC 进行更好的定向优化。\n * - Anchor:主播,可以上行视频和音频,一个房间里最多支持50个主播同时上行音视频。\n * - Audience:观众,只能观看,不能上行视频和音频,一个房间里的观众人数没有上限。\n *\n * @enum {Number}\n */\nvar TRTCRoleType_HACK_JSDOC = {\n /** 主播 */\n TRTCRoleAnchor: 20,\n /** 观众 */\n TRTCRoleAudience: 21\n};\nvar TRTCRoleType;\nexports.TRTCRoleType = TRTCRoleType;\n(function (TRTCRoleType) {\n TRTCRoleType[TRTCRoleType[\"TRTCRoleAnchor\"] = 20] = \"TRTCRoleAnchor\";\n TRTCRoleType[TRTCRoleType[\"TRTCRoleAudience\"] = 21] = \"TRTCRoleAudience\";\n})(TRTCRoleType || (exports.TRTCRoleType = TRTCRoleType = {}));\n/////////////////////////////////////////////////////////////////////////////////\n//\n// 【(三)音频相关枚举值定义】\n//\n/////////////////////////////////////////////////////////////////////////////////\n/**\n * 音频质量<br>\n * @enum {Number}\n */\nvar TRTCAudioQuality_HACK_JSDOC = {\n /** 人声模式:适用于以人声沟通为主的应用场景,该模式下音频传输的抗性较强,TRTC 会通过各种人声处理技术保障在弱网络环境下的流畅度最佳 */\n TRTCAudioQualitySpeech: 1,\n /** 标准模式(或者默认模式):介于 Speech 和 Music 之间的档位,对音乐的还原度比人声模式要好,但传输数据量比音乐模式要低很多,对各种场景均有不错的适应性,如无特殊需求推荐选择之。 */\n TRTCAudioQualityDefault: 2,\n /** 音乐模式:适用于对声乐要求很苛刻的场景,该模式下音频传输的数据量很大,TRTC 会通过各项技术确保音乐信号在各频段均能获得高保真的细节还原度 */\n TRTCAudioQualityMusic: 3\n};\nvar TRTCAudioQuality;\nexports.TRTCAudioQuality = TRTCAudioQuality;\n(function (TRTCAudioQuality) {\n TRTCAudioQuality[TRTCAudioQuality[\"TRTCAudioQualitySpeech\"] = 1] = \"TRTCAudioQualitySpeech\";\n TRTCAudioQuality[TRTCAudioQuality[\"TRTCAudioQualityDefault\"] = 2] = \"TRTCAudioQualityDefault\";\n TRTCAudioQuality[TRTCAudioQuality[\"TRTCAudioQualityMusic\"] = 3] = \"TRTCAudioQualityMusic\";\n})(TRTCAudioQuality || (exports.TRTCAudioQuality = TRTCAudioQuality = {}));\n/////////////////////////////////////////////////////////////////////////////////\n//\n// 【(四)TRTC 核心类型定义】\n//\n/////////////////////////////////////////////////////////////////////////////////\n/**\n * 进房相关参数<br>\n * 只有该参数填写正确,才能顺利调用 enterRoom 进入 roomId 所指定的音视频房间。\n * @param {Number} sdkAppId - 【字段含义】应用标识(必填),腾讯视频云基于 sdkAppId 完成计费统计。<br>\n * 【推荐取值】在腾讯云 [TRTC 控制台](https://console.cloud.tencent.com/rav/) 中创建应用,之后可以在账号信息页面中得到该 ID。<br>\n * @param {String} userId - 【字段含义】用户标识(必填)。当前用户的 userId,相当于用户名,UTF-8编码。<br>\n * 【推荐取值】如果一个用户在您的账号系统中的 ID 为“abc”,则 userId 即可设置为“abc”。<br>\n * @param {String} userSig - 【字段含义】用户签名(必填),当前 userId 对应的验证签名,相当于登录密码。<br>\n * 【推荐取值】请参考 [如何计算UserSig](https://cloud.tencent.com/document/product/647/17275)。<br>\n * @param {Number} roomId - 【字段含义】房间号码(必填),指定房间号,在同一个房间里的用户(userId)可以彼此看到对方并进行视频通话, roomId 和 strRoomId 必须填一个, 若您选用 strRoomId,则 roomId 需要填写为0。<br>\n * 【推荐取值】您可以随意指定,但请不要重复,如果您的用户账号 ID 是数字类型的,可以直接用创建者的用户 ID 作为 roomId。<br>\n * @param {String} strRoomId - 【字段含义】字符串房间号码(选填),roomId 和 strRoomId 必须填一个。若两者都填,则优先选择 roomId。<br>\n * 【推荐取值】您可以随意指定,但请不要重复。<br>\n * @param {TRTCRoleType} role - 【字段含义】直播场景下的角色,仅适用于直播场景(TRTCAppSceneLIVE 和 TRTCAppSceneVoiceChatRoom),视频通话场景下指定无效。<br>\n * 【推荐取值】默认值:主播(TRTCRoleAnchor)<br>\n * @param {String} privateMapKey - 【字段含义】房间签名(非必填),如果您希望某个房间只能让特定的某些 userId 进入,就需要使用 privateMapKey 进行权限保护。<br>\n * 【推荐取值】仅建议有高级别安全需求的客户使用,参考文档:[进房权限保护](https://cloud.tencent.com/document/product/647/32240)<br>\n * @param {String} businessInfo - 【字段含义】业务数据(非必填),某些非常用的高级特性才需要用到此字段。<br>\n * 【推荐取值】不建议使用<br>\n * @param {String} streamId - 【字段含义】绑定腾讯云直播 CDN 流 ID[非必填],设置之后,您就可以在腾讯云直播 CDN 上通过标准直播方案(FLV或HLS)播放该用户的音视频流。<br>\n * 【推荐取值】限制长度为64字节,可以不填写,一种推荐的方案是使用 “sdkappid_roomid_userid_main” 作为 streamid,这样比较好辨认且不会在您的多个应用中发生冲突。<br>\n * 【特殊说明】要使用腾讯云直播 CDN,您需要先在[控制台](https://console.cloud.tencent.com/trtc/) 中的功能配置页开启“启动自动旁路直播”开关。<br>\n * 【参考文档】[CDN 旁路直播](https://cloud.tencent.com/document/product/647/16826)。\n * @param {String} userDefineRecordId - 【字段含义】设置云端录制完成后的回调消息中的 \"userdefinerecordid\" 字段内容,便于您更方便的识别录制回调。<br>\n * 【推荐取值】限制长度为64字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。<br>\n * 【参考文档】[云端录制](https://cloud.tencent.com/document/product/647/16823)。\n */\nvar TRTCParams = /*#__PURE__*/(0, _createClass2.default)(function TRTCParams(sdkAppId, userId, roomId, userSig, strRoomId, privateMapKey, role, businessInfo, streamId, userDefineRecordId) {\n (0, _classCallCheck2.default)(this, TRTCParams);\n this.sdkAppId = sdkAppId;\n this.userId = userId;\n this.roomId = roomId;\n this.userSig = userSig;\n this.strRoomId = strRoomId;\n this.privateMapKey = privateMapKey;\n this.role = role;\n this.businessInfo = businessInfo;\n this.streamId = streamId;\n this.userDefineRecordId = userDefineRecordId;\n});\n/**\n * 视频编码参数<br>\n * 该设置决定了远端用户看到的画面质量(同时也是云端录制出的视频文件的画面质量)。\n * @param {TRTCVideoResolution} videoResolution - 【字段含义】 视频分辨率<br>\n * 【推荐取值】 <br>\n * - 视频通话建议选择360 × 640及以下分辨率,resMode 选择 Portrait。<br>\n * - 手机直播建议选择 540 × 960,resMode 选择 Portrait。<br>\n * - Window 和 iMac 建议选择 640 × 360 及以上分辨率,resMode 选择 Landscape。\n * 【特别说明】 TRTCVideoResolution 默认只能横屏模式的分辨率,例如640 × 360。<br>\n * 如需使用竖屏分辨率,请指定 resMode 为 Portrait,例如640 × 360结合 Portrait 则为360 × 640。<br>\n * @param {TRTCVideoResolutionMode} resMode - 【字段含义】分辨率模式(横屏分辨率 - 竖屏分辨率)<br>\n * 【推荐取值】手机直播建议选择 Portrait,Window 和 Mac 建议选择 Landscape。<br>\n * 【特别说明】如果 videoResolution 指定分辨率 640 × 360,resMode 指定模式为 Portrait,则最终编码出的分辨率为360 × 640。<br>\n * @param {Number} videoFps - 【字段含义】视频采集帧率<br>\n * 【推荐取值】15fps 或 20fps,10fps 以下会有轻微卡顿感,5fps 以下卡顿感明显,20fps 以上的帧率则过于浪费(电影的帧率也只有 24fps)。<br>\n * 【特别说明】很多 Android 手机的前置摄像头并不支持15fps以上的采集帧率,部分过于突出美颜功能的 Android 手机前置摄像头的采集帧率可能低于10fps。<br>\n * @param {Number} videoBitrate - 【字段含义】视频上行码率<br>\n * 【推荐取值】推荐设置请参考本文件前半部分 TRTCVideoResolution 定义处的注释说明<br>\n * 【特别说明】码率太低会导致视频中有很多的马赛克<br>\n * @param {Number} minVideoBitrate -【字段含义】最低视频码率,SDK 会在网络不佳的情况下主动降低视频码率,最低会降至 minVideoBitrate 所设定的数值。\n * 【推荐取值】<br>\n * - 如果您追求“允许卡顿但要保持清晰”的效果,可以设置 minVideoBitrate 为 videoBitrate 的 60%;\n * - 如果您追求“允许模糊但要保持流畅”的效果,可以设置 minVideoBitrate 为 200kbps;\n * - 如果您将 videoBitrate 和 minVideoBitrate 设置为同一个值,等价于关闭 SDK 的自适应调节能力;\n * - 默认值:0,此时最低码率由 SDK 根据分辨率情况,自动设置合适的数值。<br>\n * 【特别说明】<br>\n * - 当您把分辨率设置的比较高时,minVideoBitrate 不适合设置的太低,否则会出现画面模糊和大范围的马赛克宏块。\n * 比如把分辨率设置为 720p,把码率设置为 200kbps,那么编码出的画面将会出现大范围区域性马赛克。\n * @param {Boolean} enableAdjustRes - 【字段含义】是否允许调整分辨率<br>\n * 【推荐取值】 <br>\n * - 手机直播建议选择 NO。<br>\n * - 视频通话模式,若更关注流畅性,建议选择 YES,此时若遇到带宽有限的弱网,SDK 会自动降低分辨率以保障更好的流畅度(仅针对 TRTCVideoStreamTypeBig 生效)。\n * - 默认值:NO。<br>\n * 【特别说明】若有录制需求,选择 YES 时,请确保通话过程中,调整分辨率不会影响您的录制效果。<br>\n */\nexports.TRTCParams = TRTCParams;\nvar TRTCVideoEncParam = /*#__PURE__*/(0, _createClass2.default)(function TRTCVideoEncParam() {\n var videoResolution = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : TRTCVideoResolution.TRTCVideoResolution_640_360;\n var resMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TRTCVideoResolutionMode.TRTCVideoResolutionModePortrait;\n var videoFps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 15;\n var videoBitrate = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 550;\n var minVideoBitrate = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var enableAdjustRes = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n (0, _classCallCheck2.default)(this, TRTCVideoEncParam);\n this.videoResolution = videoResolution;\n this.videoResolutionMode = resMode;\n this.videoFps = videoFps;\n this.videoBitrate = videoBitrate;\n this.minVideoBitrate = minVideoBitrate;\n this.enableAdjustRes = enableAdjustRes;\n});\nexports.TRTCVideoEncParam = TRTCVideoEncParam;\n;\n/**\n * 画面渲染参数<br>\n * 您可以通过设置此参数来控制画面的旋转、填充、镜像模式\n * @param {TRTCVideoRotation} rotation - 【字段含义】视频画面旋转方向\n * @param {TRTCVideoFillMode} fillMode - 【字段含义】视频画面填充模式\n * @param {TRTCVideoMirrorType} mirrorType - 【字段含义】画面渲染镜像类型\n */\nvar TRTCRenderParams = /*#__PURE__*/(0, _createClass2.default)(function TRTCRenderParams() {\n var rotation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : TRTCVideoRotation.TRTCVideoRotation_0;\n var fillMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TRTCVideoFillMode.TRTCVideoFillMode_Fit;\n var mirrorType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : TRTCVideoMirrorType.TRTCVideoMirrorType_Disable;\n (0, _classCallCheck2.default)(this, TRTCRenderParams);\n this.rotation = rotation;\n this.fillMode = fillMode;\n this.mirrorType = mirrorType;\n});\n/**\n * 屏幕分享参数(仅适用于 Android 平台)<br>\n * 该设置决定了远端用户看到的画面质量(同时也是云端录制出的视频文件的画面质量)。\n * @param {Boolean} enableForegroundService - 是否同时启用 SDK 内置的前台服务,停止屏幕分享时会停止该服务。\n * 从 Android 10 开始,如果 APP 的 targetSdkVersion 大于等于 29 时,\n * 需要有 mediaProjection 类型的前台服务才能成功开始,否则会报 SecurityException。您可以自己启动一个前台服务,也可以使用 SDK 内置的前台服务。当使用内置的前台服务时 ** 您需要在 manifest.json 中添加以下内容:<uses-permission android:name=\"android.permission.FOREGROUND_SERVICE\" />**\n */\nexports.TRTCRenderParams = TRTCRenderParams;\nvar TRTCScreenShareParams = /*#__PURE__*/(0, _createClass2.default)(function TRTCScreenShareParams(enableForegroundService) {\n (0, _classCallCheck2.default)(this, TRTCScreenShareParams);\n this.enableForegroundService = enableForegroundService;\n});\nexports.TRTCScreenShareParams = TRTCScreenShareParams;\n;\n/**\n * 音频路由(即声音的播放模式)<br>\n * @enum {Number}\n */\nvar TRTCAudioRoute_HACK_JSDOC = {\n /** 使用扬声器播放(即“免提”),扬声器位于手机底部,声音偏大,适合外放音乐 */\n TRTCAudioRouteSpeaker: 0,\n /** 使用听筒播放,听筒位于手机顶部,声音偏小,适合需要保护隐私的通话场景 */\n TRTCAudioRouteEarpiece: 1\n};\nvar TRTCAudioRoute;\nexports.TRTCAudioRoute = TRTCAudioRoute;\n(function (TRTCAudioRoute) {\n TRTCAudioRoute[TRTCAudioRoute[\"TRTCAudioRouteSpeaker\"] = 0] = \"TRTCAudioRouteSpeaker\";\n TRTCAudioRoute[TRTCAudioRoute[\"TRTCAudioRouteEarpiece\"] = 1] = \"TRTCAudioRouteEarpiece\";\n})(TRTCAudioRoute || (exports.TRTCAudioRoute = TRTCAudioRoute = {}));\n/////////////////////////////////////////////////////////////////////////////////\n//\n// 【其它参数】\n//\n/////////////////////////////////////////////////////////////////////////////////\nvar TRTCShareSource;\nexports.TRTCShareSource = TRTCShareSource;\n(function (TRTCShareSource) {\n TRTCShareSource[\"InApp\"] = \"InApp\";\n TRTCShareSource[\"ByReplaykit\"] = \"ByReplaykit\";\n})(TRTCShareSource || (exports.TRTCShareSource = TRTCShareSource = {}));\n/**\n * 重力感应开关(仅适用于移动端)<br>\n * @enum {Number}\n */\nvar TRTCGSensorMode_HACK_JSDOC = {\n /** 不适配重力感应,该模式是桌面平台上的默认值,该模式下,当前用户发布出去的视频画面不受重力感应方向变化的影响。 */\n TRTC_GSENSOR_MODE_DISABLE: 0,\n /** 适配重力感应,该模式是移动平台上的默认值,该模式下,当前用户发布出去的视频画面会跟随设备的重力感应方向进行相应的调整,同时本地预览画面保持方向不变。\n SDK 目前支持的一种适配模式是:当手机或 Pad 上下颠倒时,为了保证远端用户看到的画面方向正常,SDK 会自动将发布出去的画面上下旋转180度。如果您的 APP 的界面层开启了重力感应自适应,推荐使用 UIFixLayout 模式。\n */\n TRTC_GSENSOR_MODE_UIAUTOLAYOUT: 1\n};\nvar TRTCGSensorMode;\nexports.TRTCGSensorMode = TRTCGSensorMode;\n(function (TRTCGSensorMode) {\n TRTCGSensorMode[TRTCGSensorMode[\"TRTC_GSENSOR_MODE_DISABLE\"] = 0] = \"TRTC_GSENSOR_MODE_DISABLE\";\n TRTCGSensorMode[TRTCGSensorMode[\"TRTC_GSENSOR_MODE_UIAUTOLAYOUT\"] = 1] = \"TRTC_GSENSOR_MODE_UIAUTOLAYOUT\";\n})(TRTCGSensorMode || (exports.TRTCGSensorMode = TRTCGSensorMode = {}));//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vVHJ0Y0Nsb3VkL2xpYi9UcnRjRGVmaW5lcy5qcyJdLCJuYW1lcyI6WyJUUlRDVmlkZW9SZXNvbHV0aW9uX0hBQ0tfSlNET0MiLCJUUlRDVmlkZW9SZXNvbHV0aW9uXzEyMF8xMjAiLCJUUlRDVmlkZW9SZXNvbHV0aW9uXzE2MF8xNjAiLCJUUlRDVmlkZW9SZXNvbHV0aW9uXzI3MF8yNzAiLCJUUlRDVmlkZW9SZXNvbHV0aW9uXzQ4MF80ODAiLCJUUlRDVmlkZW9SZXNvbHV0aW9uXzE2MF8xMjAiLCJUUlRDVmlkZW9SZXNvbHV0aW9uXzI0MF8xODAiLCJUUlRDVmlkZW9SZXNvbHV0aW9uXzI4MF8yMTAiLCJUUlRDVmlkZW9SZXNvbHV0aW9uXzMyMF8yNDAiLCJUUlRDVmlkZW9SZXNvbHV0aW9uXzQwMF8zMDAiLCJUUlRDVmlkZW9SZXNvbHV0aW9uXzQ4MF8zNjAiLCJUUlRDVmlkZW9SZXNvbHV0aW9uXzY0MF80ODAiLCJUUlRDVmlkZW9SZXNvbHV0aW9uXzk2MF83MjAiLCJUUlRDVmlkZW9SZXNvbHV0aW9uXzE2MF85MCIsIlRSVENWaWRlb1Jlc29sdXRpb25fMjU2XzE0NCIsIlRSVENWaWRlb1Jlc29sdXRpb25fMzIwXzE4MCIsIlRSVENWaWRlb1Jlc29sdXRpb25fNDgwXzI3MCIsIlRSVENWaWRlb1Jlc29sdXRpb25fNjQwXzM2MCIsIlRSVENWaWRlb1Jlc29sdXRpb25fOTYwXzU0MCIsIlRSVENWaWRlb1Jlc29sdXRpb25fMTI4MF83MjAiLCJUUlRDVmlkZW9SZXNvbHV0aW9uXzE5MjBfMTA4MCIsIlRSVENWaWRlb1Jlc29sdXRpb24iLCJUUlRDVmlkZW9SZXNvbHV0aW9uTW9kZV9IQUNLX0pTRE9DIiwiVFJUQ1ZpZGVvUmVzb2x1dGlvbk1vZGVMYW5kc2NhcGUiLCJUUlRDVmlkZW9SZXNvbHV0aW9uTW9kZVBvcnRyYWl0IiwiVFJUQ1ZpZGVvUmVzb2x1dGlvbk1vZGUiLCJUUlRDVmlkZW9TdHJlYW1UeXBlX0hBQ0tfSlNET0MiLCJUUlRDVmlkZW9TdHJlYW1UeXBlQmlnIiwiVFJUQ1ZpZGVvU3RyZWFtVHlwZVNtYWxsIiwiVFJUQ1ZpZGVvU3RyZWFtVHlwZVN1YiIsIlRSVENWaWRlb1N0cmVhbVR5cGUiLCJUUlRDU25hcHNob3RTb3VyY2VUeXBlX0hBQ0tfSlNET0MiLCJUUlRDU25hcHNob3RTb3VyY2VUeXBlU3RyZWFtIiwiVFJUQ1NuYXBzaG90U291cmNlVHlwZVZpZXciLCJUUlRDU25hcHNob3RTb3VyY2VUeXBlIiwiVFJUQ1ZpZGVvRmlsbE1vZGVfSEFDS19KU0RPQyIsIlRSVENWaWRlb0ZpbGxNb2RlX0ZpbGwiLCJUUlRDVmlkZW9GaWxsTW9kZV9GaXQiLCJUUlRDVmlkZW9GaWxsTW9kZSIsIlRSVENWaWRlb1JvdGF0aW9uX0hBQ0tfSlNET0MiLCJUUlRDVmlkZW9Sb3RhdGlvbl8wIiwiVFJUQ1ZpZGVvUm90YXRpb25fOTAiLCJUUlRDVmlkZW9Sb3RhdGlvbl8xODAiLCJUUlRDVmlkZW9Sb3RhdGlvbl8yNzAiLCJUUlRDVmlkZW9Sb3RhdGlvbiIsIlRSVENWaWRlb01pcnJvclR5cGVfSEFDS19KU0RPQyIsIlRSVENWaWRlb01pcnJvclR5cGVfQXV0byIsIlRSVENWaWRlb01pcnJvclR5cGVfRW5hYmxlIiwiVFJUQ1ZpZGVvTWlycm9yVHlwZV9EaXNhYmxlIiwiVFJUQ1ZpZGVvTWlycm9yVHlwZSIsIlRSVENCZWF1dHlTdHlsZV9IQUNLX0pTRE9DIiwiVFJUQ0JlYXV0eVN0eWxlU21vb3RoIiwiVFJUQ0JlYXV0eVN0eWxlTmF0dXJlIiwiVFJUQ0JlYXV0eVN0eWxlUGl0dSIsIlRSVENCZWF1dHlTdHlsZSIsIkF1ZGlvTXVzaWNQYXJhbSIsImlkIiwicGF0aCIsImxvb3BDb3VudCIsInB1Ymxpc2giLCJpc1Nob3J0RmlsZSIsInN0YXJ0VGltZU1TIiwiZW5kVGltZU1TIiwiVFJUQ0FwcFNjZW5lX0hBQ0tfSlNET0MiLCJUUlRDQXBwU2NlbmVWaWRlb0NhbGwiLCJUUlRDQXBwU2NlbmVMSVZFIiwiVFJUQ0FwcFNjZW5lQXVkaW9DYWxsIiwiVFJUQ0FwcFNjZW5lVm9pY2VDaGF0Um9vbSIsIlRSVENBcHBTY2VuZSIsIlRSVENSb2xlVHlwZV9IQUNLX0pTRE9DIiwiVFJUQ1JvbGVBbmNob3IiLCJUUlRDUm9sZUF1ZGllbmNlIiwiVFJUQ1JvbGVUeXBlIiwiVFJUQ0F1ZGlvUXVhbGl0eV9IQUNLX0pTRE9DIiwiVFJUQ0F1ZGlvUXVhbGl0eVNwZWVjaCIsIlRSVENBdWRpb1F1YWxpdHlEZWZhdWx0IiwiVFJUQ0F1ZGlvUXVhbGl0eU11c2ljIiwiVFJUQ0F1ZGlvUXVhbGl0eSIsIlRSVENQYXJhbXMiLCJzZGtBcHBJZCIsInVzZXJJZCIsInJvb21JZCIsInVzZXJTaWciLCJzdHJSb29tSWQiLCJwcml2YXRlTWFwS2V5Iiwicm9sZSIsImJ1c2luZXNzSW5mbyIsInN0cmVhbUlkIiwidXNlckRlZmluZVJlY29yZElkIiwiVFJUQ1ZpZGVvRW5jUGFyYW0iLCJ2aWRlb1Jlc29sdXRpb24iLCJyZXNNb2RlIiwidmlkZW9GcHMiLCJ2aWRlb0JpdHJhdGUiLCJtaW5WaWRlb0JpdHJhdGUiLCJlbmFibGVBZGp1c3RSZXMiLCJ2aWRlb1Jlc29sdXRpb25Nb2RlIiwiVFJUQ1JlbmRlclBhcmFtcyIsInJvdGF0aW9uIiwiZmlsbE1vZGUiLCJtaXJyb3JUeXBlIiwiVFJUQ1NjcmVlblNoYXJlUGFyYW1zIiwiZW5hYmxlRm9yZWdyb3VuZFNlcnZpY2UiLCJUUlRDQXVkaW9Sb3V0ZV9IQUNLX0pTRE9DIiwiVFJUQ0F1ZGlvUm91dGVTcGVha2VyIiwiVFJUQ0F1ZGlvUm91dGVFYXJwaWVjZSIsIlRSVENBdWRpb1JvdXRlIiwiVFJUQ1NoYXJlU291cmNlIiwiVFJUQ0dTZW5zb3JNb2RlX0hBQ0tfSlNET0MiLCJUUlRDX0dTRU5TT1JfTU9ERV9ESVNBQkxFIiwiVFJUQ19HU0VOU09SX01PREVfVUlBVVRPTEFZT1VUIiwiVFJUQ0dTZW5zb3JNb2RlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBTUEsOEJBQThCLEdBQUc7RUFDbkM7RUFDQUMsMkJBQTJCLEVBQUUsQ0FBQztFQUM5QjtFQUNBQywyQkFBMkIsRUFBRSxDQUFDO0VBQzlCO0VBQ0FDLDJCQUEyQixFQUFFLENBQUM7RUFDOUI7RUFDQUMsMkJBQTJCLEVBQUUsQ0FBQztFQUM5QjtFQUNBQywyQkFBMkIsRUFBRSxFQUFFO0VBQy9CO0VBQ0FDLDJCQUEyQixFQUFFLEVBQUU7RUFDL0I7RUFDQUMsMkJBQTJCLEVBQUUsRUFBRTtFQUMvQjtFQUNBQywyQkFBMkIsRUFBRSxFQUFFO0VBQy9CO0VBQ0FDLDJCQUEyQixFQUFFLEVBQUU7RUFDL0I7RUFDQUMsMkJBQTJCLEVBQUUsRUFBRTtFQUMvQjtFQUNBQywyQkFBMkIsRUFBRSxFQUFFO0VBQy9CO0VBQ0FDLDJCQUEyQixFQUFFLEVBQUU7RUFDL0I7RUFDQUMsMEJBQTBCLEVBQUUsR0FBRztFQUMvQjtFQUNBQywyQkFBMkIsRUFBRSxHQUFHO0VBQ2hDO0VBQ0FDLDJCQUEyQixFQUFFLEdBQUc7RUFDaEM7RUFDQUMsMkJBQTJCLEVBQUUsR0FBRztFQUNoQztFQUNBQywyQkFBMkIsRUFBRSxHQUFHO0VBQ2hDO0VBQ0FDLDJCQUEyQixFQUFFLEdBQUc7RUFDaEM7RUFDQUMsNEJBQTRCLEVBQUUsR0FBRztFQUNqQztFQUNBQyw2QkFBNkIsRUFBRTtBQUNuQyxDQUFDO0FBQ00sSUFBSUMsbUJBQW1CO0FBQUM7QUFDL0IsQ0FBQyxVQUFVQSxtQkFBbUIsRUFBRTtFQUM1QkEsbUJBQW1CLENBQUNBLG1CQUFtQixDQUFDLDZCQUE2QixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsNkJBQTZCO0VBQzNHQSxtQkFBbUIsQ0FBQ0EsbUJBQW1CLENBQUMsNkJBQTZCLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyw2QkFBNkI7RUFDM0dBLG1CQUFtQixDQUFDQSxtQkFBbUIsQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLDZCQUE2QjtFQUMzR0EsbUJBQW1CLENBQUNBLG1CQUFtQixDQUFDLDZCQUE2QixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsNkJBQTZCO0VBQzNHQSxtQkFBbUIsQ0FBQ0EsbUJBQW1CLENBQUMsNkJBQTZCLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyw2QkFBNkI7RUFDNUdBLG1CQUFtQixDQUFDQSxtQkFBbUIsQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLDZCQUE2QjtFQUM1R0EsbUJBQW1CLENBQUNBLG1CQUFtQixDQUFDLDZCQUE2QixDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsNkJBQTZCO0VBQzVHQSxtQkFBbUIsQ0FBQ0EsbUJBQW1CLENBQUMsNkJBQTZCLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyw2QkFBNkI7RUFDNUdBLG1CQUFtQixDQUFDQSxtQkFBbUIsQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLDZCQUE2QjtFQUM1R0EsbUJBQW1CLENBQUNBLG1CQUFtQixDQUFDLDZCQUE2QixDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsNkJBQTZCO0VBQzVHQSxtQkFBbUIsQ0FBQ0EsbUJBQW1CLENBQUMsNkJBQTZCLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyw2QkFBNkI7RUFDNUdBLG1CQUFtQixDQUFDQSxtQkFBbUIsQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLDZCQUE2QjtFQUM1R0EsbUJBQW1CLENBQUNBLG1CQUFtQixDQUFDLDRCQUE0QixDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsNEJBQTRCO0VBQzNHQSxtQkFBbUIsQ0FBQ0EsbUJBQW1CLENBQUMsNkJBQTZCLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyw2QkFBNkI7RUFDN0dBLG1CQUFtQixDQUFDQSxtQkFBbUIsQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLDZCQUE2QjtFQUM3R0EsbUJBQW1CLENBQUNBLG1CQUFtQixDQUFDLDZCQUE2QixDQUFD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cyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVFJUQyDlhbPplK7nsbvlnovlrprkuYk8YnI+XG4gKiBAZGVzY3JpcHRpb24g5YiG6L6o546H44CB6LSo6YeP562J57qn562J5p6a5Li+5ZKM5bi46YeP5YC855qE5a6a5LmJXG4gKi9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vICAgICAgICAgICAgICAgICAgICDjgJDvvIjkuIDvvInop4bpopHnm7jlhbPmnprkuL7lgLzlrprkuYnjgJFcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8qKlxuICog6KeG6aKR5YiG6L6o546HPGJyPlxuICog5q2k5aSE5LuF5a6a5LmJ5qiq5bGP5YiG6L6o546H77yI5aaCIDY0MCDDlyAzNjDvvInvvIzlpoLpnIDkvb/nlKjnq5blsY/liIbovqjnjofvvIjlpoIgMzYwIMOXIDY0MO+8ie+8jOmcgOimgeWQjOaXtuaMh+WumiBWaWRlb1Jlc29sdXRpb25Nb2RlIOS4uiBQb3J0cmFpdFxuICogQGVudW0ge051bWJlcn1cbiAqL1xuY29uc3QgVFJUQ1ZpZGVvUmVzb2x1dGlvbl9IQUNLX0pTRE9DID0ge1xuICAgIC8qKiDlrr3pq5jmr5QgMTox77yb5YiG6L6o546HIDEyMHgxMjDvvJvlu7rorq7noIHnjofvvIhWaWRlb0NhbGzvvIk4MGticHM7IOW7uuiurueggeeOh++8iExJVkXvvIkxMjBrYnBzICovXG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbl8xMjBfMTIwOiAxLFxuICAgIC8qKiDlrr3pq5jmr5QgMToxIOWIhui+qOeOhyAxNjB4MTYw77yb5bu66K6u56CB546H77yIVmlkZW9DYWxs77yJMTAwa2Jwczsg5bu66K6u56CB546H77yITElWRe+8iTE1MGticHMgKi9cbiAgICBUUlRDVmlkZW9SZXNvbHV0aW9uXzE2MF8xNjA6IDMsXG4gICAgLyoqIOWuvemrmOavlCAxOjHvvJvliIbovqjnjocgMjcweDI3MO+8m+W7uuiurueggeeOh++8iFZpZGVvQ2FsbO+8iTIwMGticHM7IOW7uuiurueggeeOh++8iExJVkXvvIkzMDBrYnBzICovXG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbl8yNzBfMjcwOiA1LFxuICAgIC8qKiDlrr3pq5jmr5QgMTox77yb5YiG6L6o546HIDQ4MHg0ODDvvJvlu7rorq7noIHnjofvvIhWaWRlb0NhbGzvvIkzNTBrYnBzOyDlu7rorq7noIHnjofvvIhMSVZF77yJNTAwa2JwcyAqL1xuICAgIFRSVENWaWRlb1Jlc29sdXRpb25fNDgwXzQ4MDogNyxcbiAgICAvKiog5a696auY5q+UNDoz77yb5YiG6L6o546HIDE2MHgxMjDvvJvlu7rorq7noIHnjofvvIhWaWRlb0NhbGzvvIkxMDBrYnBzOyDlu7rorq7noIHnjofvvIhMSVZF77yJMTUwa2JwcyAqL1xuICAgIFRSVENWaWRlb1Jlc29sdXRpb25fMTYwXzEyMDogNTAsXG4gICAgLyoqIOWuvemrmOavlCA0OjPvvJvliIbovqjnjocgMjQweDE4MO+8m+W7uuiurueggeeOh++8iFZpZGVvQ2FsbO+8iTE1MGticHM7IOW7uuiurueggeeOh++8iExJVkXvvIkyNTBrYnBzICovXG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbl8yNDBfMTgwOiA1MixcbiAgICAvKiog5a696auY5q+UIDQ6M++8m+WIhui+qOeOhyAyODB4MjEw77yb5bu66K6u56CB546H77yIVmlkZW9DYWxs77yJMjAwa2Jwczsg5bu66K6u56CB546H77yITElWRe+8iTMwMGticHMgKi9cbiAgICBUUlRDVmlkZW9SZXNvbHV0aW9uXzI4MF8yMTA6IDU0LFxuICAgIC8qKiDlrr3pq5jmr5QgNDoz77yb5YiG6L6o546HIDMyMHgyNDDvvJvlu7rorq7noIHnjofvvIhWaWRlb0NhbGzvvIkyNTBrYnBzOyDlu7rorq7noIHnjofvvIhMSVZF77yJMzc1a2JwcyAqL1xuICAgIFRSVENWaWRlb1Jlc29sdXRpb25fMzIwXzI0MDogNTYsXG4gICAgLyoqIOWuvemrmOavlCA0OjPvvJvliIbovqjnjocgNDAweDMwMO+8m+W7uuiurueggeeOh++8iFZpZGVvQ2FsbO+8iTMwMGticHM7IOW7uuiurueggeeOh++8iExJVkXvvIk0NTBrYnBzICovXG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbl80MDBfMzAwOiA1OCxcbiAgICAvKiog5a696auY5q+UIDQ6M++8m+WIhui+qOeOhyA0ODB4MzYw77yb5bu66K6u56CB546H77yIVmlkZW9DYWxs77yJNDAwa2Jwczsg5bu66K6u56CB546H77yITElWRe+8iTYwMGticHMgKi9cbiAgICBUUlRDVmlkZW9SZXNvbHV0aW9uXzQ4MF8zNjA6IDYwLFxuICAgIC8qKiDlrr3pq5jmr5QgNDoz77yb5YiG6L6o546HIDY0MHg0ODDvvJvlu7rorq7noIHnjofvvIhWaWRlb0NhbGzvvIk2MDBrYnBzOyDlu7rorq7noIHnjofvvIhMSVZF77yJOTAwa2JwcyAqL1xuICAgIFRSVENWaWRlb1Jlc29sdXRpb25fNjQwXzQ4MDogNjIsXG4gICAgLyoqIOWuvemrmOavlCA0OjPvvJvliIbovqjnjocgOTYweDcyMO+8m+W7uuiurueggeeOh++8iFZpZGVvQ2FsbO+8iTEwMDBrYnBzOyDlu7rorq7noIHnjofvvIhMSVZF77yJMTUwMGticHMgKi9cbiAgICBUUlRDVmlkZW9SZXNvbHV0aW9uXzk2MF83MjA6IDY0LFxuICAgIC8qKiDlrr3pq5jmr5QgMTY6Oe+8m+WIhui+qOeOhyAxNjB4OTDvvJvlu7rorq7noIHnjofvvIhWaWRlb0NhbGzvvIkxNTBrYnBzOyDlu7rorq7noIHnjofvvIhMSVZF77yJMjUwa2JwcyAqL1xuICAgIFRSVENWaWRlb1Jlc29sdXRpb25fMTYwXzkwOiAxMDAsXG4gICAgLyoqIOWuvemrmOavlCAxNjo577yb5YiG6L6o546HIDI1NngxNDTvvJvlu7rorq7noIHnjofvvIhWaWRlb0NhbGzvvIkyMDBrYnBzOyDlu7rorq7noIHnjofvvIhMSVZF77yJMzAwa2JwcyAqL1xuICAgIFRSVENWaWRlb1Jlc29sdXRpb25fMjU2XzE0NDogMTAyLFxuICAgIC8qKiDlrr3pq5jmr5QgMTY6Oe+8m+WIhui+qOeOhyAzMjB4MTgw77yb5bu66K6u56CB546H77yIVmlkZW9DYWxs77yJMjUwa2Jwczsg5bu66K6u56CB546H77yITElWRe+8iTQwMGticHMgKi9cbiAgICBUUlRDVmlkZW9SZXNvbHV0aW9uXzMyMF8xODA6IDEwNCxcbiAgICAvKiog5a696auY5q+UIDE2OjnvvJvliIbovqjnjocgNDgweDI3MO+8m+W7uuiurueggeeOh++8iFZpZGVvQ2FsbO+8iTM1MGticHM7IOW7uuiurueggeeOh++8iExJVkXvvIk1NTBrYnBzICovXG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbl80ODBfMjcwOiAxMDYsXG4gICAgLyoqIOWuvemrmOavlCAxNjo577yb5YiG6L6o546HIDY0MHgzNjDvvJvlu7rorq7noIHnjofvvIhWaWRlb0NhbGzvvIk1MDBrYnBzOyDlu7rorq7noIHnjofvvIhMSVZF77yJOTAwa2JwcyAqL1xuICAgIFRSVENWaWRlb1Jlc29sdXRpb25fNjQwXzM2MDogMTA4LFxuICAgIC8qKiDlrr3pq5jmr5QgMTY6Oe+8m+WIhui+qOeOhyA5NjB4NTQw77yb5bu66K6u56CB546H77yIVmlkZW9DYWxs77yJODUwa2Jwczsg5bu66K6u56CB546H77yITElWRe+8iTEzMDBrYnBzICovXG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbl85NjBfNTQwOiAxMTAsXG4gICAgLyoqIOWuvemrmOavlCAxNjo577yb5YiG6L6o546HIDEyODB4NzIw77yb5bu66K6u56CB546H77yIVmlkZW9DYWxs77yJMTIwMGticHM7IOW7uuiurueggeeOh++8iExJVkXvvIkxODAwa2JwcyAqL1xuICAgIFRSVENWaWRlb1Jlc29sdXRpb25fMTI4MF83MjA6IDExMixcbiAgICAvKiog5a696auY5q+UIDE2OjnvvJvliIbovqjnjocgMTkyMHgxMDgw77yb5bu66K6u56CB546H77yIVmlkZW9DYWxs77yJMjAwMGticHM7IOW7uuiurueggeeOh++8iExJVkXvvIkzMDAwa2JwcyAqL1xuICAgIFRSVENWaWRlb1Jlc29sdXRpb25fMTkyMF8xMDgwOiAxMTQsXG59O1xuZXhwb3J0IHZhciBUUlRDVmlkZW9SZXNvbHV0aW9uO1xuKGZ1bmN0aW9uIChUUlRDVmlkZW9SZXNvbHV0aW9uKSB7XG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbltUUlRDVmlkZW9SZXNvbHV0aW9uW1wiVFJUQ1ZpZGVvUmVzb2x1dGlvbl8xMjBfMTIwXCJdID0gMV0gPSBcIlRSVENWaWRlb1Jlc29sdXRpb25fMTIwXzEyMFwiO1xuICAgIFRSVENWaWRlb1Jlc29sdXRpb25bVFJUQ1ZpZGVvUmVzb2x1dGlvbltcIlRSVENWaWRlb1Jlc29sdXRpb25fMTYwXzE2MFwiXSA9IDNdID0gXCJUUlRDVmlkZW9SZXNvbHV0aW9uXzE2MF8xNjBcIjtcbiAgICBUUlRDVmlkZW9SZXNvbHV0aW9uW1RSVENWaWRlb1Jlc29sdXRpb25bXCJUUlRDVmlkZW9SZXNvbHV0aW9uXzI3MF8yNzBcIl0gPSA1XSA9IFwiVFJUQ1ZpZGVvUmVzb2x1dGlvbl8yNzBfMjcwXCI7XG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbltUUlRDVmlkZW9SZXNvbHV0aW9uW1wiVFJUQ1ZpZGVvUmVzb2x1dGlvbl80ODBfNDgwXCJdID0gN10gPSBcIlRSVENWaWRlb1Jlc29sdXRpb25fNDgwXzQ4MFwiO1xuICAgIFRSVENWaWRlb1Jlc29sdXRpb25bVFJUQ1ZpZGVvUmVzb2x1dGlvbltcIlRSVENWaWRlb1Jlc29sdXRpb25fMTYwXzEyMFwiXSA9IDUwXSA9IFwiVFJUQ1ZpZGVvUmVzb2x1dGlvbl8xNjBfMTIwXCI7XG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbltUUlRDVmlkZW9SZXNvbHV0aW9uW1wiVFJUQ1ZpZGVvUmVzb2x1dGlvbl8yNDBfMTgwXCJdID0gNTJdID0gXCJUUlRDVmlkZW9SZXNvbHV0aW9uXzI0MF8xODBcIjtcbiAgICBUUlRDVmlkZW9SZXNvbHV0aW9uW1RSVENWaWRlb1Jlc29sdXRpb25bXCJUUlRDVmlkZW9SZXNvbHV0aW9uXzI4MF8yMTBcIl0gPSA1NF0gPSBcIlRSVENWaWRlb1Jlc29sdXRpb25fMjgwXzIxMFwiO1xuICAgIFRSVENWaWRlb1Jlc29sdXRpb25bVFJUQ1ZpZGVvUmVzb2x1dGlvbltcIlRSVENWaWRlb1Jlc29sdXRpb25fMzIwXzI0MFwiXSA9IDU2XSA9IFwiVFJUQ1ZpZGVvUmVzb2x1dGlvbl8zMjBfMjQwXCI7XG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbltUUlRDVmlkZW9SZXNvbHV0aW9uW1wiVFJUQ1ZpZGVvUmVzb2x1dGlvbl80MDBfMzAwXCJdID0gNThdID0gXCJUUlRDVmlkZW9SZXNvbHV0aW9uXzQwMF8zMDBcIjtcbiAgICBUUlRDVmlkZW9SZXNvbHV0aW9uW1RSVENWaWRlb1Jlc29sdXRpb25bXCJUUlRDVmlkZW9SZXNvbHV0aW9uXzQ4MF8zNjBcIl0gPSA2MF0gPSBcIlRSVENWaWRlb1Jlc29sdXRpb25fNDgwXzM2MFwiO1xuICAgIFRSVENWaWRlb1Jlc29sdXRpb25bVFJUQ1ZpZGVvUmVzb2x1dGlvbltcIlRSVENWaWRlb1Jlc29sdXRpb25fNjQwXzQ4MFwiXSA9IDYyXSA9IFwiVFJUQ1ZpZGVvUmVzb2x1dGlvbl82NDBfNDgwXCI7XG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbltUUlRDVmlkZW9SZXNvbHV0aW9uW1wiVFJUQ1ZpZGVvUmVzb2x1dGlvbl85NjBfNzIwXCJdID0gNjRdID0gXCJUUlRDVmlkZW9SZXNvbHV0aW9uXzk2MF83MjBcIjtcbiAgICBUUlRDVmlkZW9SZXNvbHV0aW9uW1RSVENWaWRlb1Jlc29sdXRpb25bXCJUUlRDVmlkZW9SZXNvbHV0aW9uXzE2MF85MFwiXSA9IDEwMF0gPSBcIlRSVENWaWRlb1Jlc29sdXRpb25fMTYwXzkwXCI7XG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbltUUlRDVmlkZW9SZXNvbHV0aW9uW1wiVFJUQ1ZpZGVvUmVzb2x1dGlvbl8yNTZfMTQ0XCJdID0gMTAyXSA9IFwiVFJUQ1ZpZGVvUmVzb2x1dGlvbl8yNTZfMTQ0XCI7XG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbltUUlRDVmlkZW9SZXNvbHV0aW9uW1wiVFJUQ1ZpZGVvUmVzb2x1dGlvbl8zMjBfMTgwXCJdID0gMTA0XSA9IFwiVFJUQ1ZpZGVvUmVzb2x1dGlvbl8zMjBfMTgwXCI7XG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbltUUlRDVmlkZW9SZXNvbHV0aW9uW1wiVFJUQ1ZpZGVvUmVzb2x1dGlvbl80ODBfMjcwXCJdID0gMTA2XSA9IFwiVFJUQ1ZpZGVvUmVzb2x1dGlvbl80ODBfMjcwXCI7XG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbltUUlRDVmlkZW9SZXNvbHV0aW9uW1wiVFJUQ1ZpZGVvUmVzb2x1dGlvbl82NDBfMzYwXCJdID0gMTA4XSA9IFwiVFJUQ1ZpZGVvUmVzb2x1dGlvbl82NDBfMzYwXCI7XG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbltUUlRDVmlkZW9SZXNvbHV0aW9uW1wiVFJUQ1ZpZGVvUmVzb2x1dGlvbl85NjBfNTQwXCJdID0gMTEwXSA9IFwiVFJUQ1ZpZGVvUmVzb2x1dGlvbl85NjBfNTQwXCI7XG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbltUUlRDVmlkZW9SZXNvbHV0aW9uW1wiVFJUQ1ZpZGVvUmVzb2x1dGlvbl8xMjgwXzcyMFwiXSA9IDExMl0gPSBcIlRSVENWaWRlb1Jlc29sdXRpb25fMTI4MF83MjBcIjtcbiAgICBUUlRDVmlkZW9SZXNvbHV0aW9uW1RSVENWaWRlb1Jlc29sdXRpb25bXCJUUlRDVmlkZW9SZXNvbHV0aW9uXzE5MjBfMTA4MFwiXSA9IDExNF0gPSBcIlRSVENWaWRlb1Jlc29sdXRpb25fMTkyMF8xMDgwXCI7XG59KShUUlRDVmlkZW9SZXNvbHV0aW9uIHx8IChUUlRDVmlkZW9SZXNvbHV0aW9uID0ge30pKTtcbi8qKlxuICog6KeG6aKR5YiG6L6o546H5qih5byPPGJyPlxuICogVFJUQ1ZpZGVvUmVzb2x1dGlvbiDkuK3ku4XlrprkuYnkuobmqKrlsY/liIbovqjnjofvvIjlpoIgNjQwIMOXIDM2MO+8ie+8jOWmgumcgOS9v+eUqOerluWxj+WIhui+qOeOh++8iOWmgiAzNjAgw5cgNjQw77yJ77yM6ZyA6KaB5ZCM5pe25oyH5a6aIFRSVENWaWRlb1Jlc29sdXRpb25Nb2RlIOS4uiBQb3J0cmFpdFxuICogQGVudW0ge051bWJlcn1cbiAqL1xuY29uc3QgVFJUQ1ZpZGVvUmVzb2x1dGlvbk1vZGVfSEFDS19KU0RPQyA9IHtcbiAgICAvKiog5qiq5bGP5YiG6L6o546HICovXG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbk1vZGVMYW5kc2NhcGU6IDAsXG4gICAgLyoqIOerluWxj+WIhui+qOeOhyAqL1xuICAgIFRSVENWaWRlb1Jlc29sdXRpb25Nb2RlUG9ydHJhaXQ6IDEsXG59O1xuZXhwb3J0IHZhciBUUlRDVmlkZW9SZXNvbHV0aW9uTW9kZTtcbihmdW5jdGlvbiAoVFJUQ1ZpZGVvUmVzb2x1dGlvbk1vZGUpIHtcbiAgICBUUlRDVmlkZW9SZXNvbHV0aW9uTW9kZVtUUlRDVmlkZW9SZXNvbHV0aW9uTW9kZVtcIlRSVENWaWRlb1Jlc29sdXRpb25Nb2RlTGFuZHNjYXBlXCJdID0gMF0gPSBcIlRSVENWaWRlb1Jlc29sdXRpb25Nb2RlTGFuZHNjYXBlXCI7XG4gICAgVFJUQ1ZpZGVvUmVzb2x1dGlvbk1vZGVbVFJUQ1ZpZGVvUmVzb2x1dGlvbk1vZGVbXCJUUlRDVmlkZW9SZXNvbHV0aW9uTW9kZVBvcnRyYWl0XCJdID0gMV0gPSBcIlRSVENWaWRlb1Jlc29sdXRpb25Nb2RlUG9ydHJhaXRcIjtcbn0pKFRSVENWaWRlb1Jlc29sdXRpb25Nb2RlIHx8IChUUlRDVmlkZW9SZXNvbHV0aW9uTW9kZSA9IHt9KSk7XG47XG4vKipcbiAqIOinhumikea1geexu+Weizxicj5cbiAqIFRSVEMg5YaF6YOo5pyJ5LiJ56eN5LiN5ZCM55qE6Z+z6KeG6aKR5rWB77yM5YiG5Yir5piv77yaXG4gKiAtIOmrmOa4heWkp+eUu+mdou+8muS4gOiIrOeUqOadpeS8oOi+k+aRhOWDj+WktOeahOinhumikeaVsOaNrlxuICogLSDkvY7muIXlsI/nlLvpnaLvvJrlsI/nlLvpnaLlkozlpKfnlLvpnaLnmoTlhoXlrrnnm7jkupLvvIzkvYbmmK/liIbovqjnjoflkoznoIHnjofpg73mr5TlpKfnlLvpnaLkvY7vvIzlm6DmraTmuIXmmbDluqbkuZ/mm7TkvY5cbiAqIC0g6L6F5rWB55S76Z2i77ya5LiA6Iis55So5LqO5bGP5bmV5YiG5Lqr77yM5ZCM5LiA5pe26Ze05Zyo5ZCM5LiA5Liq5oi/6Ze05Lit5Y+q5YWB6K645LiA5Liq55So5oi35Y+R5biD6L6F5rWB6KeG6aKR77yM5YW25LuW55So5oi35b+F6aG76KaB562J6K+l55So5oi35YWz6Zet5LmL5ZCO5omN6IO95Y+R5biD6Ieq5bex55qE6L6F5rWBXG4gKlxuICogKipOb3RlOioqXG4gKiAtIOS4jeaUr+aMgeWNleeLrOW8gOWQr+S9jua4heWwj+eUu+mdou+8jOWwj+eUu+mdouW/hemhu+S+nemZhOS6juWkp+eUu+mdouiAjOWtmOWcqO+8jFNESyDkvJroh6rliqjorr7lrprkvY7muIXlsI/nlLvpnaLnmoTliIbovqjnjoflkoznoIHnjodcbiAqIEBlbnVtIHtOdW1iZXJ9XG4gKi9cbmNvbnN0IFRSVENWaWRlb1N0cmVhbVR5cGVfSEFDS19KU0RPQyA9IHtcbiAgICAvKiog5aSn55S76Z2i6KeG6aKR5rWBICovXG4gICAgVFJUQ1ZpZGVvU3RyZWFtVHlwZUJpZzogMCxcbiAgICAvKiog5bCP55S76Z2i6KeG6aKR5rWBICovXG4gICAgVFJUQ1ZpZGVvU3RyZWFtVHlwZVNtYWxsOiAxLFxuICAgIC8qKiDovoXmtYHvvIjlsY/luZXliIbkuqvvvIkgKi9cbiAgICBUUlRDVmlkZW9TdHJlYW1UeXBlU3ViOiAyLFxufTtcbmV4cG9ydCB2YXIgVFJUQ1ZpZGVvU3RyZWFtVHlwZTtcbihmdW5jdGlvbiAoVFJUQ1ZpZGVvU3RyZWFtVHlwZSkge1xuICAgIFRSVENWaWRlb1N0cmVhbVR5cGVbVFJUQ1ZpZGVvU3RyZWFtVHlwZVtcIlRSVENWaWRlb1N0cmVhbVR5cGVCaWdcIl0gPSAwXSA9IFwiVFJUQ1ZpZGVvU3RyZWFtVHlwZUJpZ1wiO1xuICAgIFRSVENWaWRlb1N0cmVhbVR5cGVbVFJUQ1ZpZGVvU3RyZWFtVHlwZVtcIlRSVENWaWRlb1N0cmVhbVR5cGVTbWFsbFwiXSA9IDFdID0gXCJUUlRDVmlkZW9TdHJlYW1UeXBlU21hbGxcIjtcbiAgICBUUlRDVmlkZW9TdHJlYW1UeXBlW1RSVENWaWRlb1N0cmVhbVR5cGVbXCJUUlRDVmlkZW9TdHJlYW1UeXBlU3ViXCJdID0gMl0gPSBcIlRSVENWaWRlb1N0cmVhbVR5cGVTdWJcIjtcbn0pKFRSVENWaWRlb1N0cmVhbVR5cGUgfHwgKFRSVENWaWRlb1N0cmVhbVR5cGUgPSB7fSkpO1xuLyoqXG4gKiDnlLvpnaLmnaXmupA8YnI+XG4gKiBUUlRDIOWGhemDqOacieS4pOenjeS4jeWQjOeahOeUu+mdouadpea6kO+8jOWIhuWIq+aYr++8mlxuICogLSBUUlRDU25hcHNob3RTb3VyY2VUeXBlU3RyZWFtOiDop4bpopHmtYHnlLvpnaJcbiAqIC0gVFJUQ1NuYXBzaG90U291cmNlVHlwZVZpZXc6IOinhumikea4suafk+eUu+mdolxuICpcbiAqICoqTm90ZToqKlxuICogLSDmiKrlj5bop4bpopHmtYHnlLvpnaLvvIhUUlRDU25hcHNob3RTb3VyY2VUeXBlU3RyZWFt77yJ5LiA6Iis5pu05riF5pmw44CCXG4gKiBAZW51bSB7TnVtYmVyfVxuICovXG5jb25zdCBUUlRDU25hcHNob3RTb3VyY2VUeXBlX0hBQ0tfSlNET0MgPSB7XG4gICAgLyoqIOinhumikea1geeUu+mdoiAqL1xuICAgIFRSVENTbmFwc2hvdFNvdXJjZVR5cGVTdHJlYW06IDAsXG4gICAgLyoqIOinhumikea4suafk+eUu+mdoiAqL1xuICAgIFRSVENTbmFwc2hvdFNvdXJjZVR5cGVWaWV3OiAxLFxufTtcbmV4cG9ydCB2YXIgVFJUQ1NuYXBzaG90U291cmNlVHlwZTtcbihmdW5jdGlvbiAoVFJUQ1NuYXBzaG90U291cmNlVHlwZSkge1xuICAgIFRSVENTbmFwc2hvdFNvdXJjZVR5cGVbVFJUQ1NuYXBzaG90U291cmNlVHlwZVtcIlRSVENTbmFwc2hvdFNvdXJjZVR5cGVTdHJlYW1cIl0gPSAwXSA9IFwiVFJUQ1NuYXBzaG90U291cmNlVHlwZVN0cmVhbVwiO1xuICAgIFRSVENTbmFwc2hvdFNvdXJjZVR5cGVbVFJUQ1NuYXBzaG90U291cmNlVHlwZVtcIlRSVENTbmFwc2hvdFNvdXJjZVR5cGVWaWV3XCJdID0gMV0gPSBcIlRSVENTbmFwc2hvdFNvdXJjZVR5cGVWaWV3XCI7XG59KShUUlRDU25hcHNob3RTb3VyY2VUeXBlIHx8IChUUlRDU25hcHNob3RTb3VyY2VUeXBlID0ge30pKTtcbi8qKlxuICog6KeG6aKR55S76Z2i5aGr5YWF5qih5byPPGJyPlxuICog5aaC5p6c55S76Z2i55qE5pi+56S65YiG6L6o546H5LiN562J5LqO55S76Z2i55qE5Y6f5aeL5YiG6L6o546H77yM5bCx6ZyA6KaB5oKo6K6+572u55S76Z2i55qE5aGr5YWF5qih5byPOlxuICogLSBUUlRDVmlkZW9GaWxsTW9kZV9GaWxs77yM5Zu+5YOP6ZO65ruh5bGP5bmV77yM6LaF5Ye65pi+56S66KeG56qX55qE6KeG6aKR6YOo5YiG5bCG6KKr5oiq5o6J77yM5omA5Lul55S76Z2i5pi+56S65Y+v6IO95LiN5a6M5pW044CCXG4gKiAtIFRSVENWaWRlb0ZpbGxNb2RlX0ZpdO+8jOWbvuWDj+mVv+i+ueWhq+a7oeWxj+W5le+8jOefrei+ueWMuuWfn+S8muiiq+Whq+WFhem7keiJsu+8jOS9hueUu+mdoueahOWGheWuueiCr+WumuaYr+WujOaVtOeahOOAglxuICogQGVudW0ge051bWJlcn1cbiAqL1xuY29uc3QgVFJUQ1ZpZGVvRmlsbE1vZGVfSEFDS19KU0RPQyA9IHtcbiAgICAvKiog5Zu+5YOP6ZO65ruh5bGP5bmV77yM6LaF5Ye65pi+56S66KeG56qX55qE6KeG6aKR6YOo5YiG5bCG6KKr5oiq5o6JICovXG4gICAgVFJUQ1ZpZGVvRmlsbE1vZGVfRmlsbDogMCxcbiAgICAvKiog5Zu+5YOP6ZW/6L655aGr5ruh5bGP5bmV77yM55+t6L655Yy65Z+f5Lya6KKr5aGr5YWF6buR6ImyICovXG4gICAgVFJUQ1ZpZGVvRmlsbE1vZGVfRml0OiAxLFxufTtcbmV4cG9ydCB2YXIgVFJUQ1ZpZGVvRmlsbE1vZGU7XG4oZnVuY3Rpb24gKFRSVENWaWRlb0ZpbGxNb2RlKSB7XG4gICAgVFJUQ1ZpZGVvRmlsbE1vZGVbVFJUQ1ZpZGVvRmlsbE1vZGVbXCJUUlRDVmlkZW9GaWxsTW9kZV9GaWxsXCJdID0gMF0gPSBcIlRSVENWaWRlb0ZpbGxNb2RlX0ZpbGxcIjtcbiAgICBUUlRDVmlkZW9GaWxsTW9kZVtUUlRDVmlkZW9GaWxsTW9kZVtcIlRSVENWaWRlb0ZpbGxNb2RlX0ZpdFwiXSA9IDFdID0gXCJUUlRDVmlkZW9GaWxsTW9kZV9GaXRcIjtcbn0pKFRSVENWaWRlb0ZpbGxNb2RlIHx8IChUUlRDVmlkZW9GaWxsTW9kZSA9IHt9KSk7XG47XG4vKipcbiAqIOinhumikeeUu+mdouaXi+i9rOaWueWQkTxicj5cbiAqIFRSVEMgU0RLIOaPkOS+m+S6huWvueacrOWcsOWSjOi/nOeoi+eUu+mdoueahOaXi+i9rOinkuW6puiuvue9riBBUEnvvIzlpoLkuIvnmoTml4vovazop5Lluqbpg73mmK/mjIfpobrml7bpkojmlrnlkJHnmoTjgIJcbiAqIEBlbnVtIHtOdW1iZXJ9XG4gKi9cbmNvbnN0IFRSVENWaWRlb1JvdGF0aW9uX0hBQ0tfSlNET0MgPSB7XG4gICAgLyoqIOmhuuaXtumSiOaXi+i9rDDluqYgKi9cbiAgICBUUlRDVmlkZW9Sb3RhdGlvbl8wOiAwLFxuICAgIC8qKiDpobrml7bpkojml4vovaw5MOW6piAqL1xuICAgIFRSVENWaWRlb1JvdGF0aW9uXzkwOiAxLFxuICAgIC8qKiDpobrml7bpkojml4vovawxODDluqYgKi9cbiAgICBUUlRDVmlkZW9Sb3RhdGlvbl8xODA6IDIsXG4gICAgLyoqIOmhuuaXtumSiOaXi+i9rDI3MOW6piAqL1xuICAgIFRSVENWaWRlb1JvdGF0aW9uXzI3MDogMyxcbn07XG5leHBvcnQgdmFyIFRSVENWaWRlb1JvdGF0aW9uO1xuKGZ1bmN0aW9uIChUUlRDVmlkZW9Sb3RhdGlvbikge1xuICAgIFRSVENWaWRlb1JvdGF0aW9uW1RSVENWaWRlb1JvdGF0aW9uW1wiVFJUQ1ZpZGVvUm90YXRpb25fMFwiXSA9IDBdID0gXCJUUlRDVmlkZW9Sb3RhdGlvbl8wXCI7XG4gICAgVFJUQ1ZpZGVvUm90YXRpb25bVFJUQ1ZpZGVvUm90YXRpb25bXCJUUlRDVmlkZW9Sb3RhdGlvbl85MFwiXSA9IDFdID0gXCJUUlRDVmlkZW9Sb3RhdGlvbl85MFwiO1xuICAgIFRSVENWaWRlb1JvdGF0aW9uW1RSVENWaWRlb1JvdGF0aW9uW1wiVFJUQ1ZpZGVvUm90YXRpb25fMTgwXCJdID0gMl0gPSBcIlRSVENWaWRlb1JvdGF0aW9uXzE4MFwiO1xuICAgIFRSVENWaWRlb1JvdGF0aW9uW1RSVENWaWRlb1JvdGF0aW9uW1wiVFJUQ1ZpZGVvUm90YXRpb25fMjcwXCJdID0gM10gPSBcIlRSVENWaWRlb1JvdGF0aW9uXzI3MFwiO1xufSkoVFJUQ1ZpZGVvUm90YXRpb24gfHwgKFRSVENWaWRlb1JvdGF0aW9uID0ge30pKTtcbi8qKlxuICog55S76Z2i5riy5p+T6ZWc5YOP57G75Z6LPGJyPlxuICogVFJUQyDnmoTnlLvpnaLplZzlg4/mj5DkvpvkuIvliJforr7nva7mqKHlvI9cbiAqIEBlbnVtIHtOdW1iZXJ9XG4gKi9cbmNvbnN0IFRSVENWaWRlb01pcnJvclR5cGVfSEFDS19KU0RPQyA9IHtcbiAgICAvKiog5Y+q6YCC55So5LqO56e75Yqo56uv77yMIOacrOWcsOmihOiniOaXtu+8jOWJjee9ruaRhOWDj+WktOmVnOWDj++8jOWQjue9ruaRhOWDj+WktOS4jemVnOWDjyAqL1xuICAgIFRSVENWaWRlb01pcnJvclR5cGVfQXV0bzogMCxcbiAgICAvKiog5omA5pyJ55S76Z2i5Z2H6ZWc5YOPICovXG4gICAgVFJUQ1ZpZGVvTWlycm9yVHlwZV9FbmFibGU6IDEsXG4gICAgLyoqIOaJgOacieeUu+mdouWdh+S4jemVnOWDjyAqL1xuICAgIFRSVENWaWRlb01pcnJvclR5cGVfRGlzYWJsZTogMlxufTtcbmV4cG9ydCB2YXIgVFJUQ1ZpZGVvTWlycm9yVHlwZTtcbihmdW5jdGlvbiAoVFJUQ1ZpZGVvTWlycm9yVHlwZSkge1xuICAgIFRSVENWaWRlb01pcnJvclR5cGVbVFJUQ1ZpZGVvTWlycm9yVHlwZVtcIlRSVENWaWRlb01pcnJvclR5cGVfQXV0b1wiXSA9IDBdID0gXCJUUlRDVmlkZW9NaXJyb3JUeXBlX0F1dG9cIjtcbiAgICBUUlRDVmlkZW9NaXJyb3JUeXBlW1RSVENWaWRlb01pcnJvclR5cGVbXCJUUlRDVmlkZW9NaXJyb3JUeXBlX0VuYWJsZVwiXSA9IDFdID0gXCJUUlRDVmlkZW9NaXJyb3JUeXBlX0VuYWJsZVwiO1xuICAgIFRSVENWaWRlb01pcnJvclR5cGVbVFJUQ1ZpZGVvTWlycm9yVHlwZVtcIlRSVENWaWRlb01pcnJvclR5cGVfRGlzYWJsZVwiXSA9IDJdID0gXCJUUlRDVmlkZW9NaXJyb3JUeXBlX0Rpc2FibGVcIjtcbn0pKFRSVENWaWRlb01pcnJvclR5cGUgfHwgKFRSVENWaWRlb01pcnJvclR5cGUgPSB7fSkpO1xuLyoqXG4gKiDnvo7popzvvIjno6jnmq7vvInnrpfms5U8YnI+XG4gKiBUUlRDIFNESyDlhoXnva7kuoblpJrnp43kuI3lkIznmoTno6jnmq7nrpfms5XvvIzmgqjlj6/ku6XpgInmi6nmnIDpgILlkIjmgqjkuqflk4HlrprkvY3nmoTmlrnmoYjjgIJcbiAqIEBlbnVtIHtOdW1iZXJ9XG4gKi9cbmNvbnN0IFRSVENCZWF1dHlTdHlsZV9IQUNLX0pTRE9DID0ge1xuICAgIC8qKiDlhYnmu5HvvIznrpfms5Xmr5TovoPmv4Dov5vvvIzno6jnmq7mlYjmnpzmr5TovoPmmI7mmL7vvIzpgILnlKjkuo7np4DlnLrnm7Tmkq0gKi9cbiAgICBUUlRDQmVhdXR5U3R5bGVTbW9vdGg6IDAsXG4gICAgLyoqIOiHqueEtu+8jOeul+azleabtOWkmuWcsOS/neeVmeS6humdoumDqOe7huiKgu+8jOejqOearuaViOaenOabtOWKoOiHqueEtu+8jOmAgueUqOS6jue7neWkp+WkmuaVsOebtOaSreWcuuaZryAqL1xuICAgIFRSVENCZWF1dHlTdHlsZU5hdHVyZTogMSxcbiAgICAvKiog5LyY5Zu+77yM55Sx5LyY5Zu+5a6e6aqM5a6k5o+Q5L6b77yM56Oo55qu5pWI5p6c5LuL5LqO5YWJ5ruR5ZKM6Ieq54S25LmL6Ze077yM5q+U5YWJ5ruR5L+d55WZ5pu05aSa55qu6IKk57uG6IqC77yM5q+U6Ieq54S256Oo55qu56iL5bqm5pu06auYICovXG4gICAgVFJUQ0JlYXV0eVN0eWxlUGl0dTogMixcbn07XG5leHBvcnQgdmFyIFRSVENCZWF1dHlTdHlsZTtcbihmdW5jdGlvbiAoVFJUQ0JlYXV0eVN0eWxlKSB7XG4gICAgVFJUQ0JlYXV0eVN0eWxlW1RSVENCZWF1dHlTdHlsZVtcIlRSVENCZWF1dHlTdHlsZVNtb290aFwiXSA9IDBdID0gXCJUUlRDQmVhdXR5U3R5bGVTbW9vdGhcIjtcbiAgICBUUlRDQmVhdXR5U3R5bGVbVFJUQ0JlYXV0eVN0eWxlW1wiVFJUQ0JlYXV0eVN0eWxlTmF0dXJlXCJdID0gMV0gPSBcIlRSVENCZWF1dHlTdHlsZU5hdHVyZVwiO1xuICAgIFRSVENCZWF1dHlTdHlsZVtUUlRDQmVhdXR5U3R5bGVbXCJUUlRDQmVhdXR5U3R5bGVQaXR1XCJdID0gMl0gPSBcIlRSVENCZWF1dHlTdHlsZVBpdHVcIjtcbn0pKFRSVENCZWF1dHlTdHlsZSB8fCAoVFJUQ0JlYXV0eVN0eWxlID0ge30pKTtcbi8qKlxuICog6IOM5pmv6Z+z5pWIPGJyPlxuICogQGVudW0ge051bWJlcn1cbiAqL1xuZXhwb3J0IGNsYXNzIEF1ZGlvTXVzaWNQYXJhbSB7XG4gICAgY29uc3RydWN0b3IoaWQsIHBhdGgsIGxvb3BDb3VudCwgcHVibGlzaCwgaXNTaG9ydEZpbGUsIHN0YXJ0VGltZU1TLCBlbmRUaW1lTVMpIHtcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgICB0aGlzLnBhdGggPSBwYXRoO1xuICAgICAgICB0aGlzLmxvb3BDb3VudCA9IGxvb3BDb3VudDtcbiAgICAgICAgdGhpcy5wdWJsaXNoID0gcHVibGlzaDtcbiAgICAgICAgdGhpcy5pc1Nob3J0RmlsZSA9IGlzU2hvcnRGaWxlO1xuICAgICAgICB0aGlzLnN0YXJ0VGltZU1TID0gc3RhcnRUaW1lTVM7XG4gICAgICAgIHRoaXMuZW5kVGltZU1TID0gZW5kVGltZU1TO1xuICAgIH1cbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vICAgICAgICAgICAgICAgICAgICDjgJDvvIjkuozvvInnvZHnu5znm7jlhbPmnprkuL7lgLzlrprkuYnjgJFcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8qKlxuICog5bqU55So5Zy65pmvPGJyPlxuICogVFJUQyDlj6/nlKjkuo7op4bpopHkvJrorq7lkozlnKjnur/nm7Tmkq3nrYnlpJrnp43lupTnlKjlnLrmma/vvIzpkojlr7nkuI3lkIznmoTlupTnlKjlnLrmma/vvIxUUlRDIFNESyDnmoTlhoXpg6jkvJrov5vooYzkuI3lkIznmoTkvJjljJbphY3nva7vvJpcbiAqIC0gVFJUQ0FwcFNjZW5lVmlkZW9DYWxsICAgIO+8muinhumikemAmuivneWcuuaZr++8jOmAguWQiFsx5a+5MeinhumikemAmuivnV3jgIFbMzAw5Lq66KeG6aKR5Lya6K6uXeOAgVvlnKjnur/pl67or4pd44CBW+inhumikeiBiuWkqV3jgIFb6L+c56iL6Z2i6K+VXeetieOAglxuICogLSBUUlRDQXBwU2NlbmVMSVZFICAgICAgICAg77ya6KeG6aKR5LqS5Yqo55u05pKt77yM6YCC5ZCIW+inhumikeS9juW7tuaXtuebtOaSrV3jgIFb5Y2B5LiH5Lq65LqS5Yqo6K++5aCCXeOAgVvop4bpopHnm7Tmkq0gUEtd44CBW+inhumikeebuOS6suaIv13jgIFb5LqS5Yqo6K++5aCCXeOAgVvov5znqIvln7norq1d44CBW+i2heWkp+Wei+S8muiurl3nrYnjgIJcbiAqIC0gVFJUQ0FwcFNjZW5lQXVkaW9DYWxsICAgIO+8muivremfs+mAmuivneWcuuaZr++8jOmAguWQiFsx5a+5Meivremfs+mAmuivnV3jgIFbMzAw5Lq66K+t6Z+z5Lya6K6uXeOAgVvor63pn7PogYrlpKld44CBW+ivremfs+S8muiurl3jgIFb5Zyo57q/54u85Lq65p2AXeetieOAglxuICogLSBUUlRDQXBwU2NlbmVWb2ljZUNoYXRSb29t77ya6K+t6Z+z5LqS5Yqo55u05pKt77yM6YCC5ZCI77yaW+ivremfs+S9juW7tuaXtuebtOaSrV3jgIFb6K+t6Z+z55u05pKt6L+e6bqmXeOAgVvor63ogYrmiL9d44CBW0sg5q2M5oi/XeOAgVtGTSDnlLXlj7Bd562J44CCXG4gKiBAZW51bSB7TnVtYmVyfVxuICovXG5jb25zdCBUUlRDQXBwU2NlbmVfSEFDS19KU0RPQyA9IHtcbiAgICAvKipcbiAgICAgKiDop4bpopHpgJror53lnLrmma/vvIzmlK/mjIE3MjBQ44CBMTA4MFDpq5jmuIXnlLvotKjvvIzljZXkuKrmiL/pl7TmnIDlpJrmlK/mjIEzMDDkurrlkIzml7blnKjnur/vvIzmnIDpq5jmlK/mjIE1MOS6uuWQjOaXtuWPkeiogOOAgjxicj5cbiAgICAgKiDpgILlkIjvvJpb6KeG6aKR5L2O5bu25pe255u05pKtXeOAgVvljYHkuIfkurrkupLliqjor77loIJd44CBW+inhumikeebtOaSrSBQS13jgIFb6KeG6aKR55u45Lqy5oi/XeOAgVvkupLliqjor77loIJd44CBW+i/nOeoi+WfueiurV3jgIFb6LaF5aSn5Z6L5Lya6K6uXeetieOAgjxicj5cbiAgICAgKiDms6jmhI/vvJrmraTlnLrmma/kuIvvvIzmgqjlv4XpobvpgJrov4cgVFJUQ1BhcmFtcyDkuK3nmoQgcm9sZSDlrZfmrrXmjIflrprlvZPliY3nlKjmiLfnmoTop5LoibLjgIJcbiAgICAgKi9cbiAgICBUUlRDQXBwU2NlbmVWaWRlb0NhbGw6IDAsXG4gICAgLyoqXG4gICAgICog6KeG6aKR5LqS5Yqo55u05pKt77yM5pSv5oyB5bmz5ruR5LiK5LiL6bqm77yM5YiH5o2i6L+H56iL5peg6ZyA562J5b6F77yM5Li75pKt5bu25pe25bCP5LqOMzAwbXPvvJvmlK/mjIHljYHkuIfnuqfliKvop4LkvJflkIzml7bmkq3mlL7vvIzmkq3mlL7lu7bml7bkvY7oh7MxMDAwbXPjgII8YnI+XG4gICAgICog5Zyo57q/55u05pKt5Zy65pmv77yM5YaF6YOo57yW56CB5Zmo5ZKM572R57uc5Y2P6K6u5LyY5YyW5L6n6YeN5oCn6IO95ZKM5YW85a655oCn77yM5oCn6IO95ZKM5riF5pmw5bqm6KGo546w5pu05L2z44CCXG4gICAgICovXG4gICAgVFJUQ0FwcFNjZW5lTElWRTogMSxcbiAgICAvKipcbiAgICAgKiDor63pn7PpgJror53lnLrmma/vvIzmlK/mjIEgNDhrSHrvvIzmlK/mjIHlj4zlo7DpgZPjgILljZXkuKrmiL/pl7TmnIDlpJrmlK/mjIEzMDDkurrlkIzml7blnKjnur/vvIzmnIDpq5jmlK/mjIE1MOS6uuWQjOaXtuWPkeiogOOAgjxicj5cbiAgICAgKiDpgILlkIjvvJpbMeWvuTHor63pn7PpgJror51d44CBWzMwMOS6uuivremfs+S8muiurl3jgIFb6K+t6Z+z6IGK5aSpXeOAgVvor63pn7PkvJrorq5d44CBW+WcqOe6v+eLvOS6uuadgF3nrYnjgIJcbiAgICAgKi9cbiAgICBUUlRDQXBwU2NlbmVBdWRpb0NhbGw6IDIsXG4gICAgLyoqXG4gICAgICog6K+t6Z+z5LqS5Yqo55u05pKt77yM5pSv5oyB5bmz5ruR5LiK5LiL6bqm77yM5YiH5o2i6L+H56iL5peg6ZyA562J5b6F77yM5Li75pKt5bu25pe25bCP5LqOMzAwbXPvvJvmlK/mjIHljYHkuIfnuqfliKvop4LkvJflkIzml7bmkq3mlL7vvIzmkq3mlL7lu7bml7bkvY7oh7MxMDAwbXPjgII8YnI+XG4gICAgICog6YCC5ZCI77yaW+ivremfs+S9juW7tuaXtuebtOaSrV3jgIFb6K+t6Z+z55u05pKt6L+e6bqmXeOAgVvor63ogYrmiL9d44CBW0sg5q2M5oi/XeOAgVtGTSDnlLXlj7Bd562J44CCPGJyPlxuICAgICAqIOazqOaEj++8muatpOWcuuaZr+S4i++8jOaCqOW/hemhu+mAmui/hyBUUlRDUGFyYW1zIOS4reeahCByb2xlIOWtl+auteaMh+WumuW9k+WJjeeUqOaIt+eahOinkuiJsuOAglxuICAgICAqL1xuICAgIFRSVENBcHBTY2VuZVZvaWNlQ2hhdFJvb206IDMsXG59O1xuZXhwb3J0IHZhciBUUlRDQXBwU2NlbmU7XG4oZnVuY3Rpb24gKFRSVENBcHBTY2VuZSkge1xuICAgIFRSVENBcHBTY2VuZVtUUlRDQXBwU2NlbmVbXCJUUlRDQXBwU2NlbmVWaWRlb0NhbGxcIl0gPSAwXSA9IFwiVFJUQ0FwcFNjZW5lVmlkZW9DYWxsXCI7XG4gICAgVFJUQ0FwcFNjZW5lW1RSVENBcHBTY2VuZVtcIlRSVENBcHBTY2VuZUxJVkVcIl0gPSAxXSA9IFwiVFJUQ0FwcFNjZW5lTElWRVwiO1xuICAgIFRSVENBcHBTY2VuZVtUUlRDQXBwU2NlbmVbXCJUUlRDQXBwU2NlbmVBdWRpb0NhbGxcIl0gPSAyXSA9IFwiVFJUQ0FwcFNjZW5lQXVkaW9DYWxsXCI7XG4gICAgVFJUQ0FwcFNjZW5lW1RSVENBcHBTY2VuZVtcIlRSVENBcHBTY2VuZVZvaWNlQ2hhdFJvb21cIl0gPSAzXSA9IFwiVFJUQ0FwcFNjZW5lVm9pY2VDaGF0Um9vbVwiO1xufSkoVFJUQ0FwcFNjZW5lIHx8IChUUlRDQXBwU2NlbmUgPSB7fSkpO1xuLyoqXG4gKiDop5LoibLvvIzku4XpgILnlKjkuo7nm7Tmkq3lnLrmma/vvIhUUlRDQXBwU2NlbmVMSVZFIOWSjCBUUlRDQXBwU2NlbmVWb2ljZUNoYXRSb29t77yJPGJyPlxuICog5Zyo55u05pKt5Zy65pmv5Lit77yM5aSa5pWw55So5oi35Y+q5piv6KeC5LyX77yM5Y+q5pyJ5Liq5Yir55So5oi35piv5Li75pKt77yM6L+Z56eN6KeS6Imy5Yy65YiG5Y+v5Lul5pyJ5Yip5LqOIFRSVEMg6L+b6KGM5pu05aW955qE5a6a5ZCR5LyY5YyW44CCXG4gKiAtIEFuY2hvcu+8muS4u+aSre+8jOWPr+S7peS4iuihjOinhumikeWSjOmfs+mike+8jOS4gOS4quaIv+mXtOmHjOacgOWkmuaUr+aMgTUw5Liq5Li75pKt5ZCM5pe25LiK6KGM6Z+z6KeG6aKR44CCXG4gKiAtIEF1ZGllbmNl77ya6KeC5LyX77yM5Y+q6IO96KeC55yL77yM5LiN6IO95LiK6KGM6KeG6aKR5ZKM6Z+z6aKR77yM5LiA5Liq5oi/6Ze06YeM55qE6KeC5LyX5Lq65pWw5rKh5pyJ5LiK6ZmQ44CCXG4gKlxuICogQGVudW0ge051bWJlcn1cbiAqL1xuY29uc3QgVFJUQ1JvbGVUeXBlX0hBQ0tfSlNET0MgPSB7XG4gICAgLyoqIOS4u+aSrSAqL1xuICAgIFRSVENSb2xlQW5jaG9yOiAyMCxcbiAgICAvKiog6KeC5LyXICovXG4gICAgVFJUQ1JvbGVBdWRpZW5jZTogMjEsXG59O1xuZXhwb3J0IHZhciBUUlRDUm9sZVR5cGU7XG4oZnVuY3Rpb24gKFRSVENSb2xlVHlwZSkge1xuICAgIFRSVENSb2xlVHlwZVtUUlRDUm9sZVR5cGVbXCJUUlRDUm9sZUFuY2hvclwiXSA9IDIwXSA9IFwiVFJUQ1JvbGVBbmNob3JcIjtcbiAgICBUUlRDUm9sZVR5cGVbVFJUQ1JvbGVUeXBlW1wiVFJUQ1JvbGVBdWRpZW5jZVwiXSA9IDIxXSA9IFwiVFJUQ1JvbGVBdWRpZW5jZVwiO1xufSkoVFJUQ1JvbGVUeXBlIHx8IChUUlRDUm9sZVR5cGUgPSB7fSkpO1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gICAgICAgICAgICAgICAgICAgIOOAkO+8iOS4ie+8iemfs+mikeebuOWFs+aemuS4vuWAvOWumuS5ieOAkVxuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLyoqXG4gKiDpn7PpopHotKjph488YnI+XG4gKiBAZW51bSB7TnVtYmVyfVxuICovXG5jb25zdCBUUlRDQXVkaW9RdWFsaXR5X0hBQ0tfSlNET0MgPSB7XG4gICAgLyoqIOS6uuWjsOaooeW8j++8mumAgueUqOS6juS7peS6uuWjsOayn+mAmuS4uuS4u+eahOW6lOeUqOWcuuaZr++8jOivpeaooeW8j+S4i+mfs+mikeS8oOi+k+eahOaKl+aAp+i+g+W8uu+8jFRSVEMg5Lya6YCa6L+H5ZCE56eN5Lq65aOw5aSE55CG5oqA5pyv5L+d6Zqc5Zyo5byx572R57uc546v5aKD5LiL55qE5rWB55WF5bqm5pyA5L2zICovXG4gICAgVFJUQ0F1ZGlvUXVhbGl0eVNwZWVjaDogMSxcbiAgICAvKiog5qCH5YeG5qih5byP77yI5oiW6ICF6buY6K6k5qih5byP77yJ77ya5LuL5LqOIFNwZWVjaCDlkowgTXVzaWMg5LmL6Ze055qE5qGj5L2N77yM5a+56Z+z5LmQ55qE6L+Y5Y6f5bqm5q+U5Lq65aOw5qih5byP6KaB5aW977yM5L2G5Lyg6L6T5pWw5o2u6YeP5q+U6Z+z5LmQ5qih5byP6KaB5L2O5b6I5aSa77yM5a+55ZCE56eN5Zy65pmv5Z2H5pyJ5LiN6ZSZ55qE6YCC5bqU5oCn77yM5aaC5peg54m55q6K6ZyA5rGC5o6o6I2Q6YCJ5oup5LmL44CCICovXG4gICAgVFJUQ0F1ZGlvUXVhbGl0eURlZmF1bHQ6IDIsXG4gICAgLyoqIOmfs+S5kOaooeW8j++8mumAgueUqOS6juWvueWjsOS5kOimgeaxguW+iOiLm+WIu+eahOWcuuaZr++8jOivpeaooeW8j+S4i+mfs+mikeS8oOi+k+eahOaVsOaNrumHj+W+iOWkp++8jFRSVEMg5Lya6YCa6L+H5ZCE6aG55oqA5pyv56Gu5L+d6Z+z5LmQ5L+h5Y+35Zyo5ZCE6aKR5q615Z2H6IO96I635b6X6auY5L+d55yf55qE57uG6IqC6L+Y5Y6f5bqmICovXG4gICAgVFJUQ0F1ZGlvUXVhbGl0eU11c2ljOiAzXG59O1xuZXhwb3J0IHZhciBUUlRDQXVkaW9RdWFsaXR5O1xuKGZ1bmN0aW9uIChUUlRDQXVkaW9RdWFsaXR5KSB7XG4gICAgVFJUQ0F1ZGlvUXVhbGl0eVtUUlRDQXVkaW9RdWFsaXR5W1wiVFJUQ0F1ZGlvUXVhbGl0eVNwZWVjaFwiXSA9IDFdID0gXCJUUlRDQXVkaW9RdWFsaXR5U3BlZWNoXCI7XG4gICAgVFJUQ0F1ZGlvUXVhbGl0eVtUUlRDQXVkaW9RdWFsaXR5W1wiVFJUQ0F1ZGlvUXVhbGl0eURlZmF1bHRcIl0gPSAyXSA9IFwiVFJUQ0F1ZGlvUXVhbGl0eURlZmF1bHRcIjtcbiAgICBUUlRDQXVkaW9RdWFsaXR5W1RSVENBdWRpb1F1YWxpdHlbXCJUUlRDQXVkaW9RdWFsaXR5TXVzaWNcIl0gPSAzXSA9IFwiVFJUQ0F1ZGlvUXVhbGl0eU11c2ljXCI7XG59KShUUlRDQXVkaW9RdWFsaXR5IHx8IChUUlRDQXVkaW9RdWFsaXR5ID0ge30pKTtcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vICAgICAgICAgICAgICAgICAgICAgIOOAkO+8iOWbm++8iVRSVEMg5qC45b+D57G75Z6L5a6a5LmJ44CRXG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vKipcbiAqIOi/m+aIv+ebuOWFs+WPguaVsDxicj5cbiAqIOWPquacieivpeWPguaVsOWhq+WGmeato+ehru+8jOaJjeiDvemhuuWIqeiwg+eUqCBlbnRlclJvb20g6L+b5YWlIHJvb21JZCDmiYDmjIflrprnmoTpn7Pop4bpopHmiL/pl7TjgIJcbiAqIEBwYXJhbSB7TnVtYmVyfSAgICAgICBzZGtBcHBJZCAgICAgIC0g44CQ5a2X5q615ZCr5LmJ44CR5bqU55So5qCH6K+G77yI5b+F5aGr77yJ77yM6IW+6K6v6KeG6aKR5LqR5Z+65LqOIHNka0FwcElkIOWujOaIkOiuoei0uee7n+iuoeOAgjxicj5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg44CQ5o6o6I2Q5Y+W5YC844CR5Zyo6IW+6K6v5LqRIFtUUlRDIOaOp+WItuWPsF0oaHR0cHM6Ly9jb25zb2xlLmNsb3VkLnRlbmNlbnQuY29tL3Jhdi8pIOS4reWIm+W7uuW6lOeUqO+8jOS5i+WQjuWPr+S7peWcqOi0puWPt+S/oeaBr+mhtemdouS4reW+l+WIsOivpSBJROOAgjxicj5cbiAqIEBwYXJhbSB7U3RyaW5nfSAgICAgICB1c2VySWQgICAgICAgIC0g44CQ5a2X5q615ZCr5LmJ44CR55So5oi35qCH6K+G77yI5b+F5aGr77yJ44CC5b2T5YmN55So5oi355qEIHVzZXJJZO+8jOebuOW9k+S6jueUqOaIt+WQje+8jFVURi0457yW56CB44CCPGJyPlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDjgJDmjqjojZDlj5blgLzjgJHlpoLmnpzkuIDkuKrnlKjmiLflnKjmgqjnmoTotKblj7fns7vnu5/kuK3nmoQgSUQg5Li64oCcYWJj4oCd77yM5YiZIHVzZXJJZCDljbPlj6/orr7nva7kuLrigJxhYmPigJ3jgII8YnI+XG4gKiBAcGFyYW0ge1N0cmluZ30gICAgICAgdXNlclNpZyAgICAgICAtIOOAkOWtl+auteWQq+S5ieOAkeeUqOaIt+etvuWQje+8iOW/heWhq++8ie+8jOW9k+WJjSB1c2VySWQg5a+55bqU55qE6aqM6K+B562+5ZCN77yM55u45b2T5LqO55m75b2V5a+G56CB44CCPGJyPlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDjgJDmjqjojZDlj5blgLzjgJHor7flj4LogIMgW+WmguS9leiuoeeul1VzZXJTaWddKGh0dHBzOi8vY2xvdWQudGVuY2VudC5jb20vZG9jdW1lbnQvcHJvZHVjdC82NDcvMTcyNzUp44CCPGJyPlxuICogQHBhcmFtIHtOdW1iZXJ9ICAgICAgIHJvb21JZCAgICAgICAgLSDjgJDlrZfmrrXlkKvkuYnjgJHmiL/pl7Tlj7fnoIHvvIjlv4XloavvvInvvIzmjIflrprmiL/pl7Tlj7fvvIzlnKjlkIzkuIDkuKrmiL/pl7Tph4znmoTnlKjmiLfvvIh1c2VySWTvvInlj6/ku6XlvbzmraTnnIvliLDlr7nmlrnlubbov5vooYzop4bpopHpgJror50sIHJvb21JZCDlkowgc3RyUm9vbUlkIOW/hemhu+Whq+S4gOS4qiwg6Iul5oKo6YCJ55SoIHN0clJvb21JZO+8jOWImSByb29tSWQg6ZyA6KaB5aGr5YaZ5Li6MOOAgjxicj5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg44CQ5o6o6I2Q5Y+W5YC844CR5oKo5Y+v5Lul6ZqP5oSP5oyH5a6a77yM5L2G6K+35LiN6KaB6YeN5aSN77yM5aaC5p6c5oKo55qE55So5oi36LSm5Y+3IElEIOaYr+aVsOWtl+exu+Wei+eahO+8jOWPr+S7peebtOaOpeeUqOWIm+W7uuiAheeahOeUqOaItyBJRCDkvZzkuLogcm9vbUlk44CCPGJyPlxuICogQHBhcmFtIHtTdHJpbmd9ICAgICAgIHN0clJvb21JZCAgICAgLSDjgJDlrZfmrrXlkKvkuYnjgJHlrZfnrKbkuLLmiL/pl7Tlj7fnoIHvvIjpgInloavvvInvvIxyb29tSWQg5ZKMIHN0clJvb21JZCDlv4XpobvloavkuIDkuKrjgILoi6XkuKTogIXpg73loavvvIzliJnkvJjlhYjpgInmi6kgcm9vbUlk44CCPGJyPlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDjgJDmjqjojZDlj5blgLzjgJHmgqjlj6/ku6Xpmo/mhI/mjIflrprvvIzkvYbor7fkuI3opoHph43lpI3jgII8YnI+XG4gKiBAcGFyYW0ge1RSVENSb2xlVHlwZX0gcm9sZSAgICAgICAgICAtIOOAkOWtl+auteWQq+S5ieOAkeebtOaSreWcuuaZr+S4i+eahOinkuiJsu+8jOS7hemAgueUqOS6juebtOaSreWcuuaZr++8iFRSVENBcHBTY2VuZUxJVkUg5ZKMIFRSVENBcHBTY2VuZVZvaWNlQ2hhdFJvb23vvInvvIzop4bpopHpgJror53lnLrmma/kuIvmjIflrprml6DmlYjjgII8YnI+XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOOAkOaOqOiNkOWPluWAvOOAkem7mOiupOWAvO+8muS4u+aSre+8iFRSVENSb2xlQW5jaG9y77yJPGJyPlxuICogQHBhcmFtIHtTdHJpbmd9ICAgICAgIHByaXZhdGVNYXBLZXkgLSDjgJDlrZfmrrXlkKvkuYnjgJHmiL/pl7Tnrb7lkI3vvIjpnZ7lv4XloavvvInvvIzlpoLmnpzmgqjluIzmnJvmn5DkuKrmiL/pl7Tlj6rog73orqnnibnlrprnmoTmn5DkupsgdXNlcklkIOi/m+WFpe+8jOWwsemcgOimgeS9v+eUqCBwcml2YXRlTWFwS2V5IOi/m+ihjOadg+mZkOS/neaKpOOAgjxicj5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg44CQ5o6o6I2Q5Y+W5YC844CR5LuF5bu66K6u5pyJ6auY57qn5Yir5a6J5YWo6ZyA5rGC55qE5a6i5oi35L2/55So77yM5Y+C6ICD5paH5qGj77yaW+i/m+aIv+adg+mZkOS/neaKpF0oaHR0cHM6Ly9jbG91ZC50ZW5jZW50LmNvbS9kb2N1bWVudC9wcm9kdWN0LzY0Ny8zMjI0MCk8YnI+XG4gKiBAcGFyYW0ge1N0cmluZ30gICAgICAgYnVzaW5lc3NJbmZvICAtIOOAkOWtl+auteWQq+S5ieOAkeS4muWKoeaVsOaNru+8iOmdnuW/heWhq++8ie+8jOafkOS6m+mdnuW4uOeUqOeahOmrmOe6p+eJueaAp+aJjemcgOimgeeUqOWIsOatpOWtl+auteOAgjxicj5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg44CQ5o6o6I2Q5Y+W5YC844CR5LiN5bu66K6u5L2/55SoPGJyPlxuICogQHBhcmFtIHtTdHJpbmd9ICAgICAgIHN0cmVhbUlkICAgICAgLSDjgJDlrZfmrrXlkKvkuYnjgJHnu5Hlrprohb7orq/kupHnm7Tmkq0gQ0ROIOa1gSBJRFvpnZ7lv4Xloatd77yM6K6+572u5LmL5ZCO77yM5oKo5bCx5Y+v5Lul5Zyo6IW+6K6v5LqR55u05pKtIENETiDkuIrpgJrov4fmoIflh4bnm7Tmkq3mlrnmoYjvvIhGTFbmiJZITFPvvInmkq3mlL7or6XnlKjmiLfnmoTpn7Pop4bpopHmtYHjgII8YnI+XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOOAkOaOqOiNkOWPluWAvOOAkemZkOWItumVv+W6puS4ujY05a2X6IqC77yM5Y+v5Lul5LiN5aGr5YaZ77yM5LiA56eN5o6o6I2Q55qE5pa55qGI5piv5L2/55SoIOKAnHNka2FwcGlkX3Jvb21pZF91c2VyaWRfbWFpbuKAnSDkvZzkuLogc3RyZWFtaWTvvIzov5nmoLfmr5TovoPlpb3ovqjorqTkuJTkuI3kvJrlnKjmgqjnmoTlpJrkuKrlupTnlKjkuK3lj5HnlJ/lhrLnqoHjgII8YnI+XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOOAkOeJueauiuivtOaYjuOAkeimgeS9v+eUqOiFvuiur+S6keebtOaSrSBDRE7vvIzmgqjpnIDopoHlhYjlnKhb5o6n5Yi25Y+wXShodHRwczovL2NvbnNvbGUuY2xvdWQudGVuY2VudC5jb20vdHJ0Yy8pIOS4reeahOWKn+iDvemFjee9rumhteW8gOWQr+KAnOWQr+WKqOiHquWKqOaXgei3r+ebtOaSreKAneW8gOWFs+OAgjxicj5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg44CQ5Y+C6ICD5paH5qGj44CRW0NETiDml4Hot6/nm7Tmkq1dKGh0dHBzOi8vY2xvdWQudGVuY2VudC5jb20vZG9jdW1lbnQvcHJvZHVjdC82NDcvMTY4MjYp44CCXG4gKiBAcGFyYW0ge1N0cmluZ30gICAgICAgdXNlckRlZmluZVJlY29yZElkIC0g44CQ5a2X5q615ZCr5LmJ44CR6K6+572u5LqR56uv5b2V5Yi25a6M5oiQ5ZCO55qE5Zue6LCD5raI5oGv5Lit55qEIFwidXNlcmRlZmluZXJlY29yZGlkXCIgIOWtl+auteWGheWuue+8jOS+v+S6juaCqOabtOaWueS+v+eahOivhuWIq+W9leWItuWbnuiwg+OAgjxicj5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDjgJDmjqjojZDlj5blgLzjgJHpmZDliLbplb/luqbkuLo2NOWtl+iKgu+8jOWPquWFgeiuuOWMheWQq+Wkp+Wwj+WGmeiLseaWh+Wtl+avje+8iGEtekEtWu+8ieOAgeaVsOWtl++8iDAtOe+8ieWPiuS4i+WIkue6v+WSjOi/nuivjeespuOAgjxicj5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDjgJDlj4LogIPmlofmoaPjgJFb5LqR56uv5b2V5Yi2XShodHRwczovL2Nsb3VkLnRlbmNlbnQuY29tL2RvY3VtZW50L3Byb2R1Y3QvNjQ3LzE2ODIzKeOAglxuICovXG5leHBvcnQgY2xhc3MgVFJUQ1BhcmFtcyB7XG4gICAgY29uc3RydWN0b3Ioc2RrQXBwSWQsIHVzZXJJZCwgcm9vbUlkLCB1c2VyU2lnLCBzdHJSb29tSWQsIHByaXZhdGVNYXBLZXksIHJvbGUsIGJ1c2luZXNzSW5mbywgc3RyZWFtSWQsIHVzZXJEZWZpbmVSZWNvcmRJZCkge1xuICAgICAgICB0aGlzLnNka0FwcElkID0gc2RrQXBwSWQ7XG4gICAgICAgIHRoaXMudXNlcklkID0gdXNlcklkO1xuICAgICAgICB0aGlzLnJvb21JZCA9IHJvb21JZDtcbiAgICAgICAgdGhpcy51c2VyU2lnID0gdXNlclNpZztcbiAgICAgICAgdGhpcy5zdHJSb29tSWQgPSBzdHJSb29tSWQ7XG4gICAgICAgIHRoaXMucHJpdmF0ZU1hcEtleSA9IHByaXZhdGVNYXBLZXk7XG4gICAgICAgIHRoaXMucm9sZSA9IHJvbGU7XG4gICAgICAgIHRoaXMuYnVzaW5lc3NJbmZvID0gYnVzaW5lc3NJbmZvO1xuICAgICAgICB0aGlzLnN0cmVhbUlkID0gc3RyZWFtSWQ7XG4gICAgICAgIHRoaXMudXNlckRlZmluZVJlY29yZElkID0gdXNlckRlZmluZVJlY29yZElkO1xuICAgIH1cbn1cbi8qKlxuICog6KeG6aKR57yW56CB5Y+C5pWwPGJyPlxuICog6K+l6K6+572u5Yaz5a6a5LqG6L+c56uv55So5oi355yL5Yiw55qE55S76Z2i6LSo6YeP77yI5ZCM5pe25Lmf5piv5LqR56uv5b2V5Yi25Ye655qE6KeG6aKR5paH5Lu255qE55S76Z2i6LSo6YeP77yJ44CCXG4gKiBAcGFyYW0ge1RSVENWaWRlb1Jlc29sdXRpb259ICAgICB2aWRlb1Jlc29sdXRpb24gLSDjgJDlrZfmrrXlkKvkuYnjgJEg6KeG6aKR5YiG6L6o546HPGJyPlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg44CQ5o6o6I2Q5Y+W5YC844CRIDxicj5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIOinhumikemAmuivneW7uuiurumAieaLqTM2MCDDlyA2NDDlj4rku6XkuIvliIbovqjnjofvvIxyZXNNb2RlIOmAieaLqSBQb3J0cmFpdOOAgjxicj5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIOaJi+acuuebtOaSreW7uuiurumAieaLqSA1NDAgw5cgOTYw77yMcmVzTW9kZSDpgInmi6kgUG9ydHJhaXTjgII8YnI+XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBXaW5kb3cg5ZKMIGlNYWMg5bu66K6u6YCJ5oupIDY0MCDDlyAzNjAg5Y+K5Lul5LiK5YiG6L6o546H77yMcmVzTW9kZSDpgInmi6kgTGFuZHNjYXBl44CCXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDjgJDnibnliKvor7TmmI7jgJEgVFJUQ1ZpZGVvUmVzb2x1dGlvbiDpu5jorqTlj6rog73mqKrlsY/mqKHlvI/nmoTliIbovqjnjofvvIzkvovlpoI2NDAgw5cgMzYw44CCPGJyPlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg5aaC6ZyA5L2/55So56uW5bGP5YiG6L6o546H77yM6K+35oyH5a6aIHJlc01vZGUg5Li6IFBvcnRyYWl077yM5L6L5aaCNjQwIMOXIDM2MOe7k+WQiCBQb3J0cmFpdCDliJnkuLozNjAgw5cgNjQw44CCPGJyPlxuICogQHBhcmFtIHtUUlRDVmlkZW9SZXNvbHV0aW9uTW9kZX0gcmVzTW9kZSAgICAgICAgIC0g44CQ5a2X5q615ZCr5LmJ44CR5YiG6L6o546H5qih5byP77yI5qiq5bGP5YiG6L6o546HIC0g56uW5bGP5YiG6L6o546H77yJPGJyPlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg44CQ5o6o6I2Q5Y+W5YC844CR5omL5py655u05pKt5bu66K6u6YCJ5oupIFBvcnRyYWl077yMV2luZG93IOWSjCBNYWMg5bu66K6u6YCJ5oupIExhbmRzY2FwZeOAgjxicj5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOOAkOeJueWIq+ivtOaYjuOAkeWmguaenCB2aWRlb1Jlc29sdXRpb24g5oyH5a6a5YiG6L6o546HIDY0MCDDlyAzNjDvvIxyZXNNb2RlIOaMh+WumuaooeW8j+S4uiBQb3J0cmFpdO+8jOWImeacgOe7iOe8lueggeWHuueahOWIhui+qOeOh+S4ujM2MCDDlyA2NDDjgII8YnI+XG4gKiBAcGFyYW0ge051bWJlcn0gICAgICAgICAgICAgICAgICB2aWRlb0ZwcyAgICAgICAgLSDjgJDlrZfmrrXlkKvkuYnjgJHop4bpopHph4fpm4bluKfnjoc8YnI+XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDjgJDmjqjojZDlj5blgLzjgJExNWZwcyDmiJYgMjBmcHPvvIwxMGZwcyDku6XkuIvkvJrmnInovbvlvq7ljaHpob/mhJ/vvIw1ZnBzIOS7peS4i+WNoemhv+aEn+aYjuaYvu+8jDIwZnBzIOS7peS4iueahOW4p+eOh+WImei/h+S6jua1qui0ue+8iOeUteW9seeahOW4p+eOh+S5n+WPquaciSAyNGZwc++8ieOAgjxicj5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOOAkOeJueWIq+ivtOaYjuOAkeW+iOWkmiBBbmRyb2lkIOaJi+acuueahOWJjee9ruaRhOWDj+WktOW5tuS4jeaUr+aMgTE1ZnBz5Lul5LiK55qE6YeH6ZuG5bin546H77yM6YOo5YiG6L+H5LqO56qB5Ye6576O6aKc5Yqf6IO955qEIEFuZHJvaWQg5omL5py65YmN572u5pGE5YOP5aS055qE6YeH6ZuG5bin546H5Y+v6IO95L2O5LqOMTBmcHPjgII8YnI+XG4gKiBAcGFyYW0ge051bWJlcn0gICAgICAgICAgICAgICAgICB2aWRlb0JpdHJhdGUgICAgLSDjgJDlrZfmrrXlkKvkuYnjgJHop4bpopHkuIrooYznoIHnjoc8YnI+XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDjgJDmjqjojZDlj5blgLzjgJHmjqjojZDorr7nva7or7flj4LogIPmnKzmlofku7bliY3ljYrpg6jliIYgVFJUQ1ZpZGVvUmVzb2x1dGlvbiDlrprkuYnlpITnmoTms6jph4ror7TmmI48YnI+XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDjgJDnibnliKvor7TmmI7jgJHnoIHnjoflpKrkvY7kvJrlr7zoh7Top4bpopHkuK3mnInlvojlpJrnmoTpqazotZvlhYs8YnI+XG4gKiBAcGFyYW0ge051bWJlcn0gICAgICAgICAgICAgICAgICBtaW5WaWRlb0JpdHJhdGUgIC3jgJDlrZfmrrXlkKvkuYnjgJHmnIDkvY7op4bpopHnoIHnjofvvIxTREsg5Lya5Zyo572R57uc5LiN5L2z55qE5oOF5Ya15LiL5Li75Yqo6ZmN5L2O6KeG6aKR56CB546H77yM5pyA5L2O5Lya6ZmN6IezIG1pblZpZGVvQml0cmF0ZSDmiYDorr7lrprnmoTmlbDlgLzjgIJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOOAkOaOqOiNkOWPluWAvOOAkTxicj5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSDlpoLmnpzmgqjov73msYLigJzlhYHorrjljaHpob/kvYbopoHkv53mjIHmuIXmmbDigJ3nmoTmlYjmnpzvvIzlj6/ku6Xorr7nva4gbWluVmlkZW9CaXRyYXRlIOS4uiB2aWRlb0JpdHJhdGUg55qEIDYwJe+8m1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIOWmguaenOaCqOi/veaxguKAnOWFgeiuuOaooeeziuS9huimgeS/neaMgea1geeVheKAneeahOaViOaenO+8jOWPr+S7peiuvue9riBtaW5WaWRlb0JpdHJhdGUg5Li6IDIwMGticHPvvJtcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSDlpoLmnpzmgqjlsIYgdmlkZW9CaXRyYXRlIOWSjCBtaW5WaWRlb0JpdHJhdGUg6K6+572u5Li65ZCM5LiA5Liq5YC877yM562J5Lu35LqO5YWz6ZetIFNESyDnmoToh6rpgILlupTosIPoioLog73lipvvvJtcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSDpu5jorqTlgLzvvJow77yM5q2k5pe25pyA5L2O56CB546H55SxIFNESyDmoLnmja7liIbovqjnjofmg4XlhrXvvIzoh6rliqjorr7nva7lkIjpgILnmoTmlbDlgLzjgII8YnI+XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDjgJDnibnliKvor7TmmI7jgJE8YnI+XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSDlvZPmgqjmiorliIbovqjnjoforr7nva7nmoTmr5TovoPpq5jml7bvvIxtaW5WaWRlb0JpdHJhdGUg5LiN6YCC5ZCI6K6+572u55qE5aSq5L2O77yM5ZCm5YiZ5Lya5Ye6546w55S76Z2i5qih57OK5ZKM5aSn6IyD5Zu055qE6ams6LWb5YWL5a6P5Z2X44CCXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDmr5TlpoLmiorliIbovqjnjoforr7nva7kuLogNzIwcO+8jOaKiueggeeOh+iuvue9ruS4uiAyMDBrYnBz77yM6YKj5LmI57yW56CB5Ye655qE55S76Z2i5bCG5Lya5Ye6546w5aSn6IyD5Zu05Yy65Z+f5oCn6ams6LWb5YWL44CCXG4gKiBAcGFyYW0ge0Jvb2xlYW59ICAgICAgICAgICAgICAgICBlbmFibGVBZGp1c3RSZXMgLSDjgJDlrZfmrrXlkKvkuYnjgJHmmK/lkKblhYHorrjosIPmlbTliIbovqjnjoc8YnI+XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDjgJDmjqjojZDlj5blgLzjgJEgPGJyPlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0g5omL5py655u05pKt5bu66K6u6YCJ5oupIE5P44CCPGJyPlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0g6KeG6aKR6YCa6K+d5qih5byP77yM6Iul5pu05YWz5rOo5rWB55WF5oCn77yM5bu66K6u6YCJ5oupIFlFU++8jOatpOaXtuiLpemBh+WIsOW4puWuveaciemZkOeahOW8see9ke+8jFNESyDkvJroh6rliqjpmY3kvY7liIbovqjnjofku6Xkv53pmpzmm7Tlpb3nmoTmtYHnlYXluqbvvIjku4Xpkojlr7kgVFJUQ1ZpZGVvU3RyZWFtVHlwZUJpZyDnlJ/mlYjvvInjgIJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIOm7mOiupOWAvO+8mk5P44CCPGJyPlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg44CQ54m55Yir6K+05piO44CR6Iul5pyJ5b2V5Yi26ZyA5rGC77yM6YCJ5oupIFlFUyDml7bvvIzor7fnoa7kv53pgJror53ov4fnqIvkuK3vvIzosIPmlbTliIbovqjnjofkuI3kvJrlvbHlk43mgqjnmoTlvZXliLbmlYjmnpzjgII8YnI+XG4gKi9cbmV4cG9ydCBjbGFzcyBUUlRDVmlkZW9FbmNQYXJhbSB7XG4gICAgY29uc3RydWN0b3IodmlkZW9SZXNvbHV0aW9uID0gVFJUQ1ZpZGVvUmVzb2x1dGlvbi5UUlRDVmlkZW9SZXNvbHV0aW9uXzY0MF8zNjAsIHJlc01vZGUgPSBUUlRDVmlkZW9SZXNvbHV0aW9uTW9kZS5UUlRDVmlkZW9SZXNvbHV0aW9uTW9kZVBvcnRyYWl0LCB2aWRlb0ZwcyA9IDE1LCB2aWRlb0JpdHJhdGUgPSA1NTAsIG1pblZpZGVvQml0cmF0ZSA9IDAsIGVuYWJsZUFkanVzdFJlcyA9IGZhbHNlKSB7XG4gICAgICAgIHRoaXMudmlkZW9SZXNvbHV0aW9uID0gdmlkZW9SZXNvbHV0aW9uO1xuICAgICAgICB0aGlzLnZpZGVvUmVzb2x1dGlvbk1vZGUgPSByZXNNb2RlO1xuICAgICAgICB0aGlzLnZpZGVvRnBzID0gdmlkZW9GcHM7XG4gICAgICAgIHRoaXMudmlkZW9CaXRyYXRlID0gdmlkZW9CaXRyYXRlO1xuICAgICAgICB0aGlzLm1pblZpZGVvQml0cmF0ZSA9IG1pblZpZGVvQml0cmF0ZTtcbiAgICAgICAgdGhpcy5lbmFibGVBZGp1c3RSZXMgPSBlbmFibGVBZGp1c3RSZXM7XG4gICAgfVxufVxuO1xuLyoqXG4gKiDnlLvpnaLmuLLmn5Plj4LmlbA8YnI+XG4gKiDmgqjlj6/ku6XpgJrov4forr7nva7mraTlj4LmlbDmnaXmjqfliLbnlLvpnaLnmoTml4vovazjgIHloavlhYXjgIHplZzlg4/mqKHlvI9cbiAqIEBwYXJhbSB7VFJUQ1ZpZGVvUm90YXRpb259IHJvdGF0aW9uICAtIOOAkOWtl+auteWQq+S5ieOAkeinhumikeeUu+mdouaXi+i9rOaWueWQkVxuICogQHBhcmFtIHtUUlRDVmlkZW9GaWxsTW9kZX0gZmlsbE1vZGUgIC0g44CQ5a2X5q615ZCr5LmJ44CR6KeG6aKR55S76Z2i5aGr5YWF5qih5byPXG4gKiBAcGFyYW0ge1RSVENWaWRlb01pcnJvclR5cGV9IG1pcnJvclR5cGUgIC0g44CQ5a2X5q615ZCr5LmJ44CR55S76Z2i5riy5p+T6ZWc5YOP57G75Z6LXG4gKi9cbmV4cG9ydCBjbGFzcyBUUlRDUmVuZGVyUGFyYW1zIHtcbiAgICBjb25zdHJ1Y3Rvcihyb3RhdGlvbiA9IFRSVENWaWRlb1JvdGF0aW9uLlRSVENWaWRlb1JvdGF0aW9uXzAsIGZpbGxNb2RlID0gVFJUQ1ZpZGVvRmlsbE1vZGUuVFJUQ1ZpZGVvRmlsbE1vZGVfRml0LCBtaXJyb3JUeXBlID0gVFJUQ1ZpZGVvTWlycm9yVHlwZS5UUlRDVmlkZW9NaXJyb3JUeXBlX0Rpc2FibGUpIHtcbiAgICAgICAgdGhpcy5yb3RhdGlvbiA9IHJvdGF0aW9uO1xuICAgICAgICB0aGlzLmZpbGxNb2RlID0gZmlsbE1vZGU7XG4gICAgICAgIHRoaXMubWlycm9yVHlwZSA9IG1pcnJvclR5cGU7XG4gICAgfVxufVxuLyoqXG4gKiDlsY/luZXliIbkuqvlj4LmlbDvvIjku4XpgILnlKjkuo4gQW5kcm9pZCDlubPlj7DvvIk8YnI+XG4gKiDor6Xorr7nva7lhrPlrprkuobov5znq6/nlKjmiLfnnIvliLDnmoTnlLvpnaLotKjph4/vvIjlkIzml7bkuZ/mmK/kupHnq6/lvZXliLblh7rnmoTop4bpopHmlofku7bnmoTnlLvpnaLotKjph4/vvInjgIJcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gZW5hYmxlRm9yZWdyb3VuZFNlcnZpY2UgLSDmmK/lkKblkIzml7blkK/nlKggU0RLIOWGhee9rueahOWJjeWPsOacjeWKoe+8jOWBnOatouWxj+W5leWIhuS6q+aXtuS8muWBnOatouivpeacjeWKoeOAglxuICog5LuOIEFuZHJvaWQgMTAg5byA5aeL77yM5aaC5p6cIEFQUCDnmoQgdGFyZ2V0U2RrVmVyc2lvbiDlpKfkuo7nrYnkuo4gMjkg5pe277yMXG4gKiDpnIDopoHmnIkgbWVkaWFQcm9qZWN0aW9uIOexu+Wei+eahOWJjeWPsOacjeWKoeaJjeiDveaIkOWKn+W8gOWni++8jOWQpuWImeS8muaKpSBTZWN1cml0eUV4Y2VwdGlvbuOAguaCqOWPr+S7peiHquW3seWQr+WKqOS4gOS4quWJjeWPsOacjeWKoe+8jOS5n+WPr+S7peS9v+eUqCBTREsg5YaF572u55qE5YmN5Y+w5pyN5Yqh44CC5b2T5L2/55So5YaF572u55qE5YmN5Y+w5pyN5Yqh5pe2ICoqIOaCqOmcgOimgeWcqCBtYW5pZmVzdC5qc29uIOS4rea3u+WKoOS7peS4i+WGheWuue+8mjx1c2VzLXBlcm1pc3Npb24gYW5kcm9pZDpuYW1lPVwiYW5kcm9pZC5wZXJtaXNzaW9uLkZPUkVHUk9VTkRfU0VSVklDRVwiIC8+KipcbiAqL1xuZXhwb3J0IGNsYXNzIFRSVENTY3JlZW5TaGFyZVBhcmFtcyB7XG4gICAgY29uc3RydWN0b3IoZW5hYmxlRm9yZWdyb3VuZFNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5lbmFibGVGb3JlZ3JvdW5kU2VydmljZSA9IGVuYWJsZUZvcmVncm91bmRTZXJ2aWNlO1xuICAgIH1cbn1cbjtcbi8qKlxuICog6Z+z6aKR6Lev55Sx77yI5Y2z5aOw6Z+z55qE5pKt5pS+5qih5byP77yJPGJyPlxuICogQGVudW0ge051bWJlcn1cbiAqL1xuY29uc3QgVFJUQ0F1ZGlvUm91dGVfSEFDS19KU0RPQyA9IHtcbiAgICAvKiog5L2/55So5oms5aOw5Zmo5pKt5pS+77yI5Y2z4oCc5YWN5o+Q4oCd77yJ77yM5oms5aOw5Zmo5L2N5LqO5omL5py65bqV6YOo77yM5aOw6Z+z5YGP5aSn77yM6YCC5ZCI5aSW5pS+6Z+z5LmQICovXG4gICAgVFJUQ0F1ZGlvUm91dGVTcGVha2VyOiAwLFxuICAgIC8qKiDkvb/nlKjlkKznrZLmkq3mlL7vvIzlkKznrZLkvY3kuo7miYvmnLrpobbpg6jvvIzlo7Dpn7PlgY/lsI/vvIzpgILlkIjpnIDopoHkv53miqTpmpDnp4HnmoTpgJror53lnLrmma8gKi9cbiAgICBUUlRDQXVkaW9Sb3V0ZUVhcnBpZWNlOiAxLFxufTtcbmV4cG9ydCB2YXIgVFJUQ0F1ZGlvUm91dGU7XG4oZnVuY3Rpb24gKFRSVENBdWRpb1JvdXRlKSB7XG4gICAgVFJUQ0F1ZGlvUm91dGVbVFJUQ0F1ZGlvUm91dGVbXCJUUlRDQXVkaW9Sb3V0ZVNwZWFrZXJcIl0gPSAwXSA9IFwiVFJUQ0F1ZGlvUm91dGVTcGVha2VyXCI7XG4gICAgVFJUQ0F1ZGlvUm91dGVbVFJUQ0F1ZGlvUm91dGVbXCJUUlRDQXVkaW9Sb3V0ZUVhcnBpZWNlXCJdID0gMV0gPSBcIlRSVENBdWRpb1JvdXRlRWFycGllY2VcIjtcbn0pKFRSVENBdWRpb1JvdXRlIHx8IChUUlRDQXVkaW9Sb3V0ZSA9IHt9KSk7XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vXG4vLyAgICAgICAgICAgICAgICAgICAg44CQ5YW25a6D5Y+C5pWw44CRXG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5leHBvcnQgdmFyIFRSVENTaGFyZVNvdXJjZTtcbihmdW5jdGlvbiAoVFJUQ1NoYXJlU291cmNlKSB7XG4gICAgVFJUQ1NoYXJlU291cmNlW1wiSW5BcHBcIl0gPSBcIkluQXBwXCI7XG4gICAgVFJUQ1NoYXJlU291cmNlW1wiQnlSZXBsYXlraXRcIl0gPSBcIkJ5UmVwbGF5a2l0XCI7XG59KShUUlRDU2hhcmVTb3VyY2UgfHwgKFRSVENTaGFyZVNvdXJjZSA9IHt9KSk7XG4vKipcbiAqIOmHjeWKm+aEn+W6lOW8gOWFs++8iOS7hemAgueUqOS6juenu+WKqOerr++8iTxicj5cbiAqIEBlbnVtIHtOdW1iZXJ9XG4gKi9cbmNvbnN0IFRSVENHU2Vuc29yTW9kZV9IQUNLX0pTRE9DID0ge1xuICAgIC8qKiDkuI3pgILphY3ph43lipvmhJ/lupTvvIzor6XmqKHlvI/mmK/moYzpnaLlubPlj7DkuIrnmoTpu5jorqTlgLzvvIzor6XmqKHlvI/kuIvvvIzlvZPliY3nlKjmiLflj5HluIPlh7rljrvnmoTop4bpopHnlLvpnaLkuI3lj5fph43lipvmhJ/lupTmlrnlkJHlj5jljJbnmoTlvbHlk43jgIIgKi9cbiAgICBUUlRDX0dTRU5TT1JfTU9ERV9ESVNBQkxFOiAwLFxuICAgIC8qKiDpgILphY3ph43lipvmhJ/lupTvvIzor6XmqKHlvI/mmK/np7vliqjlubPlj7DkuIrnmoTpu5jorqTlgLzvvIzor6XmqKHlvI/kuIvvvIzlvZPliY3nlKjmiLflj5HluIPlh7rljrvnmoTop4bpopHnlLvpnaLkvJrot5/pmo/orr7lpIfnmoTph43lipvmhJ/lupTmlrnlkJHov5vooYznm7jlupTnmoTosIPmlbTvvIzlkIzml7bmnKzlnLDpooTop4jnlLvpnaLkv53mjIHmlrnlkJHkuI3lj5jjgIJcbiAgICAgIFNESyDnm67liY3mlK/mjIHnmoTkuIDnp43pgILphY3mqKHlvI/mmK/vvJrlvZPmiYvmnLrmiJYgUGFkIOS4iuS4i+mioOWAkuaXtu+8jOS4uuS6huS/neivgei/nOerr+eUqOaIt+eci+WIsOeahOeUu+mdouaWueWQkeato+W4uO+8jFNESyDkvJroh6rliqjlsIblj5HluIPlh7rljrvnmoTnlLvpnaLkuIrkuIvml4vovawxODDluqbjgILlpoLmnpzmgqjnmoQgQVBQIOeahOeVjOmdouWxguW8gOWQr+S6humHjeWKm+aEn+W6lOiHqumAguW6lO+8jOaOqOiNkOS9v+eUqCBVSUZpeExheW91dCDmqKHlvI/jgIJcbiAgICAqL1xuICAgIFRSVENfR1NFTlNPUl9NT0RFX1VJQVVUT0xBWU9VVDogMSxcbn07XG5leHBvcnQgdmFyIFRSVENHU2Vuc29yTW9kZTtcbihmdW5jdGlvbiAoVFJUQ0dTZW5zb3JNb2RlKSB7XG4gICAgVFJUQ0dTZW5zb3JNb2RlW1RSVENHU2Vuc29yTW9kZVtcIlRSVENfR1NFTlNPUl9NT0RFX0RJU0FCTEVcIl0gPSAwXSA9IFwiVFJUQ19HU0VOU09SX01PREVfRElTQUJMRVwiO1xuICAgIFRSVENHU2Vuc29yTW9kZVtUUlRDR1NlbnNvck1vZGVbXCJUUlRDX0dTRU5TT1JfTU9ERV9VSUFVVE9MQVlPVVRcIl0gPSAxXSA9IFwiVFJUQ19HU0VOU09SX01PREVfVUlBVVRPTEFZT1VUXCI7XG59KShUUlRDR1NlbnNvck1vZGUgfHwgKFRSVENHU2Vuc29yTW9kZSA9IHt9KSk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///61\n");
- /***/ }),
- /* 62 */
- /*!************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/TrtcCloud/lib/TrtcCode.js ***!
- \************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 31);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.TXLiteJSError = exports.TXLiteAVWarning = exports.TXLiteAVError = void 0;\nexports.generateError_ = generateError_;\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 52));\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 53));\nvar _inherits2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/inherits */ 63));\nvar _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/possibleConstructorReturn */ 65));\nvar _getPrototypeOf2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/getPrototypeOf */ 67));\nvar _wrapNativeSuper2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/wrapNativeSuper */ 68));\nvar _constants = __webpack_require__(/*! ./constants */ 60);\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n/**\n * @namespace ErrorCode\n *\n * @description 错误码、警告码和事件列表\n */\n/////////////////////////////////////////////////////////////////////////////////\n//\n// (一)错误码(严重)\n//\n/////////////////////////////////////////////////////////////////////////////////\n/**\n * @memberof ErrorCode\n * @typedef 错误码(严重)\n * @description SDK 错误码(严重)对照表\n * | 符号 | 值 | 含义 |\n * |---|---|---|\n * |ERR_NULL|0|无错误|\n * |ERR_ROOM_ENTER_FAIL|-3301|进入房间失败|\n * |ERR_ENTER_ROOM_PARAM_NULL|-3316|进房参数为空,请检查 enterRoom:appScene: 接口调用是否传入有效的 param|\n * |ERR_SDK_APPID_INVALID|-3317|进房参数 sdkAppId 错误|\n * |ERR_ROOM_ID_INVALID|-3318|进房参数 roomId 错误|\n * |ERR_USER_ID_INVALID|-3319|进房参数 userID 不正确|\n * |ERR_USER_SIG_INVALID|-3320|进房参数 userSig 不正确|\n * |ERR_ROOM_REQUEST_ENTER_ROOM_TIMEOUT|-3308|请求进房超时,请检查网络|\n * |ERR_SERVER_INFO_SERVICE_SUSPENDED|-100013|服务不可用。请检查:套餐包剩余分钟数是否大于0,腾讯云账号是否欠费|\n * |ERR_ROOM_REQUEST_QUIT_ROOM_TIMEOUT|-3325|请求退房超时|\n * |ERR_CAMERA_START_FAIL|-1301|打开摄像头失败,例如在 Windows 或 Mac 设备,摄像头的配置程序(驱动程序)异常,禁用后重新启用设备,或者重启机器,或者更新配置程序|\n * |ERR_CAMERA_NOT_AUTHORIZED|-1314|摄像头设备未授权,通常在移动设备出现,可能是权限被用户拒绝了|\n * |ERR_CAMERA_SET_PARAM_FAIL|-1315|摄像头参数设置出错(参数不支持或其它)|\n * |ERR_CAMERA_OCCUPY|-1316|摄像头正在被占用中,可尝试打开其他摄像头|\n * |ERR_MIC_START_FAIL|-1302|打开麦克风失败,例如在 Windows 或 Mac 设备,麦克风的配置程序(驱动程序)异常,禁用后重新启用设备,或者重启机器,或者更新配置程序|\n * |ERR_MIC_NOT_AUTHORIZED|-1317|麦克风设备未授权,通常在移动设备出现,可能是权限被用户拒绝了|\n * |ERR_MIC_SET_PARAM_FAIL|-1318|麦克风设置参数失败|\n * |ERR_MIC_OCCUPY|-1319|麦克风正在被占用中,例如移动设备正在通话时,打开麦克风会失败|\n * |ERR_MIC_STOP_FAIL|-1320|停止麦克风失败|\n * |ERR_SPEAKER_START_FAIL|-1321|打开扬声器失败,例如在 Windows 或 Mac 设备,扬声器的配置程序(驱动程序)异常,禁用后重新启用设备,或者重启机器,或者更新配置程序|\n * |ERR_SPEAKER_SET_PARAM_FAIL|-1322|扬声器设置参数失败|\n * |ERR_SPEAKER_STOP_FAIL|-1323|停止扬声器失败|\n * |ERR_SCREEN_CAPTURE_START_FAIL|-1308|开始录屏失败,如果在移动设备出现,可能是权限被用户拒绝了,如果在 Windows 或 Mac 系统的设备出现,请检查录屏接口的参数是否符合要求|\n * |ERR_SCREEN_CAPTURE_UNSURPORT|-1309|录屏失败,在 Android 平台,需要5.0以上的系统|\n * |ERR_SERVER_CENTER_NO_PRIVILEDGE_PUSH_SUB_VIDEO|-102015|没有权限上行辅路|\n * |ERR_SERVER_CENTER_ANOTHER_USER_PUSH_SUB_VIDEO|-102016|其他用户正在上行辅路|\n * |ERR_VIDEO_ENCODE_FAIL|-1303|视频帧编码失败,例如 iOS 设备切换到其他应用时,硬编码器可能被系统释放,再切换回来时,硬编码器重启前,可能会抛出|\n * |ERR_UNSUPPORTED_RESOLUTION|-1305|不支持的视频分辨率|\n * |ERR_AUDIO_ENCODE_FAIL|-1304|音频帧编码失败,例如传入自定义音频数据,SDK 无法处理|\n * |ERR_UNSUPPORTED_SAMPLERATE|-1306|不支持的音频采样率|\n * |ERR_PIXEL_FORMAT_UNSUPPORTED|-1327|设置的 pixel format 不支持|\n * |ERR_BUFFER_TYPE_UNSUPPORTED|-1328|设置的 buffer type 不支持|\n * |ERR_PUBLISH_CDN_STREAM_REQUEST_TIME_OUT|-3321|旁路转推请求超时|\n * |ERR_CLOUD_MIX_TRANSCODING_REQUEST_TIME_OUT|-3322|云端混流请求超时|\n * |ERR_PUBLISH_CDN_STREAM_SERVER_FAILED|-3323|旁路转推回包异常|\n * |ERR_CLOUD_MIX_TRANSCODING_SERVER_FAILED|-3324|云端混流回包异常|\n * |ERR_ROOM_REQUEST_START_PUBLISHING_TIMEOUT|-3333|开始向腾讯云的直播 CDN 推流信令超时|\n * |ERR_ROOM_REQUEST_START_PUBLISHING_ERROR|-3334|开始向腾讯云的直播 CDN 推流信令异常|\n * |ERR_ROOM_REQUEST_STOP_PUBLISHING_TIMEOUT|-3335|停止向腾讯云的直播 CDN 推流信令超时|\n * |ERR_ROOM_REQUEST_STOP_PUBLISHING_ERROR|-3336|停止向腾讯云的直播 CDN 推流信令异常|\n * |ERR_ROOM_REQUEST_CONN_ROOM_TIMEOUT|-3326|请求连麦超时|\n * |ERR_ROOM_REQUEST_DISCONN_ROOM_TIMEOUT|-3327|请求退出连麦超时|\n * |ERR_ROOM_REQUEST_CONN_ROOM_INVALID_PARAM|-3328|无效参数|\n * |ERR_CONNECT_OTHER_ROOM_AS_AUDIENCE|-3330|当前是观众角色,不能请求或断开跨房连麦,需要先 switchRole() 到主播|\n * |ERR_SERVER_CENTER_CONN_ROOM_NOT_SUPPORT|-102031|不支持跨房间连麦|\n * |ERR_SERVER_CENTER_CONN_ROOM_REACH_MAX_NUM|-102032|达到跨房间连麦上限|\n * |ERR_SERVER_CENTER_CONN_ROOM_REACH_MAX_RETRY_TIMES|-102033|跨房间连麦重试次数耗尽|\n * |ERR_SERVER_CENTER_CONN_ROOM_REQ_TIMEOUT|-102034|跨房间连麦请求超时|\n * |ERR_SERVER_CENTER_CONN_ROOM_REQ|-102035|跨房间连麦请求格式错误|\n * |ERR_SERVER_CENTER_CONN_ROOM_NO_SIG|-102036|跨房间连麦无签名|\n * |ERR_SERVER_CENTER_CONN_ROOM_DECRYPT_SIG|-102037|跨房间连麦签名解密失败|\n * |ERR_SERVER_CENTER_CONN_ROOM_NO_KEY|-102038|未找到跨房间连麦签名解密密钥|\n * |ERR_SERVER_CENTER_CONN_ROOM_PARSE_SIG|-102039|跨房间连麦签名解析错误|\n * |ERR_SERVER_CENTER_CONN_ROOM_INVALID_SIG_TIME|-102040|跨房间连麦签名时间戳错误|\n * |ERR_SERVER_CENTER_CONN_ROOM_SIG_GROUPID|-102041|跨房间连麦签名不匹配|\n * |ERR_SERVER_CENTER_CONN_ROOM_NOT_CONNED|-102042|本房间无连麦|\n * |ERR_SERVER_CENTER_CONN_ROOM_USER_NOT_CONNED|-102043|本用户未发起连麦|\n * |ERR_SERVER_CENTER_CONN_ROOM_FAILED|-102044|跨房间连麦失败|\n * |ERR_SERVER_CENTER_CONN_ROOM_CANCEL_FAILED|-102045|取消跨房间连麦失败|\n * |ERR_SERVER_CENTER_CONN_ROOM_CONNED_ROOM_NOT_EXIST|-102046|被连麦房间不存在|\n * |ERR_SERVER_CENTER_CONN_ROOM_CONNED_REACH_MAX_ROOM|-102047|被连麦房间达到连麦上限|\n * |ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_NOT_EXIST|-102048|被连麦用户不存在|\n * |ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_DELETED|-102049|被连麦用户已被删除|\n * |ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_FULL|-102050|被连麦用户达到资源上限|\n * |ERR_SERVER_CENTER_CONN_ROOM_INVALID_SEQ|-102051|连麦请求序号错乱|\n */\nvar TXLiteAVError = {\n /** 无错误 */\n ERR_NULL: 0,\n /** 进入房间失败 */\n ERR_ROOM_ENTER_FAIL: -3301,\n /** 进房参数为空,请检查 enterRoom:appScene: 接口调用是否传入有效的 param */\n ERR_ENTER_ROOM_PARAM_NULL: -3316,\n /** 进房参数 sdkAppId 错误 */\n ERR_SDK_APPID_INVALID: -3317,\n /** 进房参数 roomId 错误 */\n ERR_ROOM_ID_INVALID: -3318,\n /** 进房参数 userID 不正确 */\n ERR_USER_ID_INVALID: -3319,\n /** 进房参数 userSig 不正确 */\n ERR_USER_SIG_INVALID: -3320,\n /** 请求进房超时,请检查网络 */\n ERR_ROOM_REQUEST_ENTER_ROOM_TIMEOUT: -3308,\n /** 服务不可用。请检查:套餐包剩余分钟数是否大于0,腾讯云账号是否欠费 */\n ERR_SERVER_INFO_SERVICE_SUSPENDED: -100013,\n /** 请求退房超时 */\n ERR_ROOM_REQUEST_QUIT_ROOM_TIMEOUT: -3325,\n /** 打开摄像头失败,例如在 Windows 或 Mac 设备,摄像头的配置程序(驱动程序)异常,禁用后重新启用设备,或者重启机器,或者更新配置程序 */\n ERR_CAMERA_START_FAIL: -1301,\n /** 摄像头设备未授权,通常在移动设备出现,可能是权限被用户拒绝了 */\n ERR_CAMERA_NOT_AUTHORIZED: -1314,\n /** 摄像头参数设置出错(参数不支持或其它) */\n ERR_CAMERA_SET_PARAM_FAIL: -1315,\n /** 摄像头正在被占用中,可尝试打开其他摄像头 */\n ERR_CAMERA_OCCUPY: -1316,\n /** 打开麦克风失败,例如在 Windows 或 Mac 设备,麦克风的配置程序(驱动程序)异常,禁用后重新启用设备,或者重启机器,或者更新配置程序 */\n ERR_MIC_START_FAIL: -1302,\n /** 麦克风设备未授权,通常在移动设备出现,可能是权限被用户拒绝了 */\n ERR_MIC_NOT_AUTHORIZED: -1317,\n /** 麦克风设置参数失败 */\n ERR_MIC_SET_PARAM_FAIL: -1318,\n /** 麦克风正在被占用中,例如移动设备正在通话时,打开麦克风会失败 */\n ERR_MIC_OCCUPY: -1319,\n /** 停止麦克风失败 */\n ERR_MIC_STOP_FAIL: -1320,\n /** 打开扬声器失败,例如在 Windows 或 Mac 设备,扬声器的配置程序(驱动程序)异常,禁用后重新启用设备,或者重启机器,或者更新配置程序 */\n ERR_SPEAKER_START_FAIL: -1321,\n /** 扬声器设置参数失败 */\n ERR_SPEAKER_SET_PARAM_FAIL: -1322,\n /** 停止扬声器失败 */\n ERR_SPEAKER_STOP_FAIL: -1323,\n /** 开始录屏失败,如果在移动设备出现,可能是权限被用户拒绝了,如果在 Windows 或 Mac 系统的设备出现,请检查录屏接口的参数是否符合要求 */\n ERR_SCREEN_CAPTURE_START_FAIL: -1308,\n /** 录屏失败,在 Android 平台,需要5.0以上的系统 */\n ERR_SCREEN_CAPTURE_UNSURPORT: -1309,\n /** 没有权限上行辅路 */\n ERR_SERVER_CENTER_NO_PRIVILEDGE_PUSH_SUB_VIDEO: -102015,\n /** 其他用户正在上行辅路 */\n ERR_SERVER_CENTER_ANOTHER_USER_PUSH_SUB_VIDEO: -102016,\n /** 视频帧编码失败,例如 iOS 设备切换到其他应用时,硬编码器可能被系统释放,再切换回来时,硬编码器重启前,可能会抛出 */\n ERR_VIDEO_ENCODE_FAIL: -1303,\n /** 音频帧编码失败,例如传入自定义音频数据,SDK 无法处理 */\n ERR_AUDIO_ENCODE_FAIL: -1304,\n /** 不支持的视频分辨率 */\n ERR_UNSUPPORTED_RESOLUTION: -1305,\n /** 不支持的音频采样率 */\n ERR_UNSUPPORTED_SAMPLERATE: -1306,\n /** 设置的 pixel format 不支持 */\n ERR_PIXEL_FORMAT_UNSUPPORTED: -1327,\n /** 设置的 buffer type 不支持 */\n ERR_BUFFER_TYPE_UNSUPPORTED: -1328,\n /** 旁路转推请求超时 */\n ERR_PUBLISH_CDN_STREAM_REQUEST_TIME_OUT: -3321,\n /** 云端混流请求超时 */\n ERR_CLOUD_MIX_TRANSCODING_REQUEST_TIME_OUT: -3322,\n /** 旁路转推回包异常 */\n ERR_PUBLISH_CDN_STREAM_SERVER_FAILED: -3323,\n /** 云端混流回包异常 */\n ERR_CLOUD_MIX_TRANSCODING_SERVER_FAILED: -3324,\n /** 开始向腾讯云的直播 CDN 推流信令超时 */\n ERR_ROOM_REQUEST_START_PUBLISHING_TIMEOUT: -3333,\n /** 开始向腾讯云的直播 CDN 推流信令异常 */\n ERR_ROOM_REQUEST_START_PUBLISHING_ERROR: -3334,\n /** 停止向腾讯云的直播 CDN 推流信令超时 */\n ERR_ROOM_REQUEST_STOP_PUBLISHING_TIMEOUT: -3335,\n /** 停止向腾讯云的直播 CDN 推流信令异常 */\n ERR_ROOM_REQUEST_STOP_PUBLISHING_ERROR: -3336,\n /** 请求连麦超时 */\n ERR_ROOM_REQUEST_CONN_ROOM_TIMEOUT: -3326,\n /** 请求退出连麦超时 */\n ERR_ROOM_REQUEST_DISCONN_ROOM_TIMEOUT: -3327,\n /** 无效参数 */\n ERR_ROOM_REQUEST_CONN_ROOM_INVALID_PARAM: -3328,\n /** 当前是观众角色,不能请求或断开跨房连麦,需要先 switchRole() 到主播 */\n ERR_CONNECT_OTHER_ROOM_AS_AUDIENCE: -3330,\n /** 不支持跨房间连麦 */\n ERR_SERVER_CENTER_CONN_ROOM_NOT_SUPPORT: -102031,\n /** 达到跨房间连麦上限 */\n ERR_SERVER_CENTER_CONN_ROOM_REACH_MAX_NUM: -102032,\n /** 跨房间连麦重试次数耗尽 */\n ERR_SERVER_CENTER_CONN_ROOM_REACH_MAX_RETRY_TIMES: -102033,\n /** 跨房间连麦请求超时 */\n ERR_SERVER_CENTER_CONN_ROOM_REQ_TIMEOUT: -102034,\n /** 跨房间连麦请求格式错误 */\n ERR_SERVER_CENTER_CONN_ROOM_REQ: -102035,\n /** 跨房间连麦无签名 */\n ERR_SERVER_CENTER_CONN_ROOM_NO_SIG: -102036,\n /** 跨房间连麦签名解密失败 */\n ERR_SERVER_CENTER_CONN_ROOM_DECRYPT_SIG: -102037,\n /** 未找到跨房间连麦签名解密密钥 */\n ERR_SERVER_CENTER_CONN_ROOM_NO_KEY: -102038,\n /** 跨房间连麦签名解析错误 */\n ERR_SERVER_CENTER_CONN_ROOM_PARSE_SIG: -102039,\n /** 跨房间连麦签名时间戳错误 */\n ERR_SERVER_CENTER_CONN_ROOM_INVALID_SIG_TIME: -102040,\n /** 跨房间连麦签名不匹配 */\n ERR_SERVER_CENTER_CONN_ROOM_SIG_GROUPID: -102041,\n /** 本房间无连麦 */\n ERR_SERVER_CENTER_CONN_ROOM_NOT_CONNED: -102042,\n /** 本用户未发起连麦 */\n ERR_SERVER_CENTER_CONN_ROOM_USER_NOT_CONNED: -102043,\n /** 跨房间连麦失败 */\n ERR_SERVER_CENTER_CONN_ROOM_FAILED: -102044,\n /** 取消跨房间连麦失败 */\n ERR_SERVER_CENTER_CONN_ROOM_CANCEL_FAILED: -102045,\n /** 被连麦房间不存在 */\n ERR_SERVER_CENTER_CONN_ROOM_CONNED_ROOM_NOT_EXIST: -102046,\n /** 被连麦房间达到连麦上限 */\n ERR_SERVER_CENTER_CONN_ROOM_CONNED_REACH_MAX_ROOM: -102047,\n /** 被连麦用户不存在 */\n ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_NOT_EXIST: -102048,\n /** 被连麦用户已被删除 */\n ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_DELETED: -102049,\n /** 被连麦用户达到资源上限 */\n ERR_SERVER_CENTER_CONN_ROOM_CONNED_USER_FULL: -102050,\n /** 连麦请求序号错乱 */\n ERR_SERVER_CENTER_CONN_ROOM_INVALID_SEQ: -102051,\n /** 直播,推流出现网络断开,且经过多次重试无法恢复 */\n ERR_RTMP_PUSH_NET_DISCONNECT: -1307,\n /** 直播,推流地址非法,例如不是 RTMP 协议的地址 */\n ERR_RTMP_PUSH_INVALID_ADDRESS: -1313,\n /** 直播,连接推流服务器失败(若支持智能选路,IP 全部失败) */\n ERR_RTMP_PUSH_NET_ALLADDRESS_FAIL: -1324,\n /** 直播,网络不可用,请确认 WiFi、移动数据或者有线网络是否正常 */\n ERR_RTMP_PUSH_NO_NETWORK: -1325,\n /** 直播,服务器拒绝连接请求,可能是该推流地址已经被占用,或者 TXSecret 校验失败,或者是过期了,或者是欠费了 */\n ERR_RTMP_PUSH_SERVER_REFUSE: -1326,\n /** 直播,网络断连,且经多次重连抢救无效,可以放弃治疗,更多重试请自行重启播放 */\n ERR_PLAY_LIVE_STREAM_NET_DISCONNECT: -2301,\n /** 直播,获取加速拉流的地址失败 */\n ERR_GET_RTMP_ACC_URL_FAIL: -2302,\n /** 播放的文件不存在 */\n ERR_FILE_NOT_FOUND: -2303,\n /** H265 解码失败 */\n ERR_HEVC_DECODE_FAIL: -2304,\n /** 点播,音视频流解密失败 */\n ERR_VOD_DECRYPT_FAIL: -2305,\n /** 点播,获取点播文件信息失败 */\n ERR_GET_VODFILE_MEDIAINFO_FAIL: -2306,\n /** 直播,切流失败(切流可以播放不同画面大小的视频) */\n ERR_PLAY_LIVE_STREAM_SWITCH_FAIL: -2307,\n /** 直播,服务器拒绝连接请求 */\n ERR_PLAY_LIVE_STREAM_SERVER_REFUSE: -2308,\n /** 直播,RTMPACC 低延时拉流失败,且经过多次重试无法恢复 */\n ERR_RTMP_ACC_FETCH_STREAM_FAIL: -2309,\n /** 心跳失败,客户端定时向服务器发送数据包,告诉服务器自己活着,这个错误通常是发包超时 */\n ERR_ROOM_HEARTBEAT_FAIL: -3302,\n /** 拉取接口机服务器地址失败 */\n ERR_ROOM_REQUEST_IP_FAIL: -3303,\n /** 连接接口机服务器失败 */\n ERR_ROOM_CONNECT_FAIL: -3304,\n /** 请求视频位失败 */\n ERR_ROOM_REQUEST_AVSEAT_FAIL: -3305,\n /** 请求 token https 超时,请检查网络是否正常,或网络防火墙是否放行 https 访问 official.opensso.tencent-cloud.com:443 */\n ERR_ROOM_REQUEST_TOKEN_HTTPS_TIMEOUT: -3306,\n /** 请求 IP 和 sig 超时,请检查网络是否正常,或网络防火墙是否放行 UDP 访问下列 IP 和域名 query.tencent-cloud.com:8000 162.14.23.140:8000 162.14.7.49:8000 */\n ERR_ROOM_REQUEST_IP_TIMEOUT: -3307,\n /** 请求视频位超时 */\n ERR_ROOM_REQUEST_VIDEO_FLAG_TIMEOUT: -3309,\n /** 请求视频数据超时 */\n ERR_ROOM_REQUEST_VIDEO_DATA_ROOM_TIMEOUT: -3310,\n /** 请求修改视频能力项超时 */\n ERR_ROOM_REQUEST_CHANGE_ABILITY_TIMEOUT: -3311,\n /** 请求状态上报超时 */\n ERR_ROOM_REQUEST_STATUS_REPORT_TIMEOUT: -3312,\n /** 请求关闭视频超时 */\n ERR_ROOM_REQUEST_CLOSE_VIDEO_TIMEOUT: -3313,\n /** 请求接收视频项超时 */\n ERR_ROOM_REQUEST_SET_RECEIVE_TIMEOUT: -3314,\n /** 请求 token 无效参数,请检查 TRTCParams.userSig 是否填写正确 */\n ERR_ROOM_REQUEST_TOKEN_INVALID_PARAMETER: -3315,\n /** 请求 AES TOKEN 时,server 返回的内容是空的 */\n ERR_ROOM_REQUEST_AES_TOKEN_RETURN_ERROR: -3329,\n /** 请求接口机 IP 返回的列表为空的 */\n ERR_ACCIP_LIST_EMPTY: -3331,\n /** 请求发送 Json 信令超时 */\n ERR_ROOM_REQUEST_SEND_JSON_CMD_TIMEOUT: -3332,\n // Info 服务器(查询接口机 IP), 服务器错误码,数值范围[-100000, -110000]\n /** server 解包错误,可能请求数据被篡改 */\n ERR_SERVER_INFO_UNPACKING_ERROR: -100000,\n /** TOKEN 错误 */\n ERR_SERVER_INFO_TOKEN_ERROR: -100001,\n /** 分配接口机错误 */\n ERR_SERVER_INFO_ALLOCATE_ACCESS_FAILED: -100002,\n /** 生成签名错误 */\n ERR_SERVER_INFO_GENERATE_SIGN_FAILED: -100003,\n /** https token 超时 */\n ERR_SERVER_INFO_TOKEN_TIMEOUT: -100004,\n /** 无效的命令字 */\n ERR_SERVER_INFO_INVALID_COMMAND: -100005,\n /** 权限位校验失败 */\n ERR_SERVER_INFO_PRIVILEGE_FLAG_ERROR: -100006,\n /** https 请求时,生成加密 key 错误 */\n ERR_SERVER_INFO_GENERATE_KEN_ERROR: -100007,\n /** https 请求时,生成 token 错误 */\n ERR_SERVER_INFO_GENERATE_TOKEN_ERROR: -100008,\n /** 数据库查询失败(房间相关存储信息) */\n ERR_SERVER_INFO_DATABASE: -100009,\n /** 房间号错误 */\n ERR_SERVER_INFO_BAD_ROOMID: -100010,\n /** 场景或角色错误 */\n ERR_SERVER_INFO_BAD_SCENE_OR_ROLE: -100011,\n /** 房间号转换出错 */\n ERR_SERVER_INFO_ROOMID_EXCHANGE_FAILED: -100012,\n /** 房间号非法 */\n ERR_SERVER_INFO_STRGROUP_HAS_INVALID_CHARS: -100014,\n /** 非法SDKAppid */\n ERR_SERVER_INFO_LACK_SDKAPPID: -100015,\n /** 无效请求, 旧版 0x1 要求带 Token; ECDH 要求带 ECDH Publich Key; 两个都没有就按报错 */\n ERR_SERVER_INFO_INVALID: -100016,\n /** 生成公钥失败 */\n ERR_SERVER_INFO_ECDH_GET_KEY: -100017,\n /** 获取tinyid失败 */\n ERR_SERVER_INFO_ECDH_GET_TINYID: -100018,\n // Access 接口机\n /** token 过期 */\n ERR_SERVER_ACC_TOKEN_TIMEOUT: -101000,\n /** 签名错误 */\n ERR_SERVER_ACC_SIGN_ERROR: -101001,\n /** 签名超时 */\n ERR_SERVER_ACC_SIGN_TIMEOUT: -101002,\n /** 房间不存在 */\n ERR_SERVER_ACC_ROOM_NOT_EXIST: -101003,\n /** 后台房间标识 roomId 错误 */\n ERR_SERVER_ACC_ROOMID: -101004,\n /** 后台用户位置标识 locationId 错误 */\n ERR_SERVER_ACC_LOCATIONID: -101005,\n // center 服务器(信令和流控处理等任务)\n /** 后台错误 */\n ERR_SERVER_CENTER_SYSTEM_ERROR: -102000,\n /** 无效的房间 Id */\n ERR_SERVER_CENTER_INVALID_ROOMID: -102001,\n /** 创建房间失败 */\n ERR_SERVER_CENTER_CREATE_ROOM_FAILED: -102002,\n /** 签名错误 */\n ERR_SERVER_CENTER_SIGN_ERROR: -102003,\n /** 签名过期 */\n ERR_SERVER_CENTER_SIGN_TIMEOUT: -102004,\n /** 房间不存在 */\n ERR_SERVER_CENTER_ROOM_NOT_EXIST: -102005,\n /** 房间添加用户失败 */\n ERR_SERVER_CENTER_ADD_USER_FAILED: -102006,\n /** 查找用户失败 */\n ERR_SERVER_CENTER_FIND_USER_FAILED: -102007,\n /** 频繁切换终端 */\n ERR_SERVER_CENTER_SWITCH_TERMINATION_FREQUENTLY: -102008,\n /** locationid 错误 */\n ERR_SERVER_CENTER_LOCATION_NOT_EXIST: -102009,\n /** 没有权限创建房间 */\n ERR_SERVER_CENTER_NO_PRIVILEDGE_CREATE_ROOM: -102010,\n /** 没有权限进入房间 */\n ERR_SERVER_CENTER_NO_PRIVILEDGE_ENTER_ROOM: -102011,\n /** 辅路抢视频位、申请辅路请求类型参数错误 */\n ERR_SERVER_CENTER_INVALID_PARAMETER_SUB_VIDEO: -102012,\n /** 没有权限上视频 */\n ERR_SERVER_CENTER_NO_PRIVILEDGE_PUSH_VIDEO: -102013,\n /** 没有空闲路由表 */\n ERR_SERVER_CENTER_ROUTE_TABLE_ERROR: -102014,\n /** 当前用户没有上行辅路 */\n ERR_SERVER_CENTER_NOT_PUSH_SUB_VIDEO: -102017,\n /** 用户被删除状态 */\n ERR_SERVER_CENTER_USER_WAS_DELETED: -102018,\n /** 没有权限请求视频 */\n ERR_SERVER_CENTER_NO_PRIVILEDGE_REQUEST_VIDEO: -102019,\n /** 进房参数 bussInfo 错误 */\n ERR_SERVER_CENTER_INVALID_PARAMETER: -102023,\n /** 请求 I 帧未知 opType */\n ERR_SERVER_CENTER_I_FRAME_UNKNOW_TYPE: -102024,\n /** 请求 I 帧包格式错误 */\n ERR_SERVER_CENTER_I_FRAME_INVALID_PACKET: -102025,\n /** 请求 I 帧目标用户不存在 */\n ERR_SERVER_CENTER_I_FRAME_DEST_USER_NOT_EXIST: -102026,\n /** 请求 I 帧房间用户太多 */\n ERR_SERVER_CENTER_I_FRAME_ROOM_TOO_BIG: -102027,\n /** 请求 I 帧参数错误 */\n ERR_SERVER_CENTER_I_FRAME_RPS_INVALID_PARAMETER: -102028,\n /** 房间号非法 */\n ERR_SERVER_CENTER_INVALID_ROOM_ID: -102029,\n /** 房间号超过限制 */\n ERR_SERVER_CENTER_ROOM_ID_TOO_LONG: -102030,\n /** 房间满员 */\n ERR_SERVER_CENTER_ROOM_FULL: -102052,\n /** json串解析失败 */\n ERR_SERVER_CENTER_DECODE_JSON_FAIL: -102053,\n /** 未定义命令字 */\n ERR_SERVER_CENTER_UNKNOWN_SUB_CMD: -102054,\n /** 未定义角色 */\n ERR_SERVER_CENTER_INVALID_ROLE: -102055,\n /** 代理机超出限制 */\n ERR_SERVER_CENTER_REACH_PROXY_MAX: -102056,\n //add by sunlitwang begin\n /** 无法保存用户自定义recordId */\n ERR_SERVER_CENTER_RECORDID_STORE: -102057,\n /** Protobuf序列化错误 */\n ERR_SERVER_CENTER_PB_SERIALIZE: -102058,\n // https://cloud.tencent.com/document/product/269/1671#.E5.B8.90.E5.8F.B7.E7.B3.BB.E7.BB.9F , 帐号系统, 主要是70000 - 79999之间.\n // 在请求 token 过程中,出现账号错误,SSO 返回的错误码,原为正数,现将其转换为负数。\n /** sig 过期,请尝试重新生成。如果是刚生成,就过期,请检查有效期填写的是否过小,或者填的 0 */\n ERR_SERVER_SSO_SIG_EXPIRED: -70001,\n /** sig 校验失败,请确认下 sig 内容是否被截断,如缓冲区长度不够导致的内容截断 */\n ERR_SERVER_SSO_SIG_VERIFICATION_FAILED_1: -70003,\n /** sig 校验失败,请确认下 sig 内容是否被截断,如缓冲区长度不够导致的内容截断 */\n ERR_SERVER_SSO_SIG_VERIFICATION_FAILED_2: -70004,\n /** sig 校验失败,可用工具自行验证生成的 sig 是否正确 */\n ERR_SERVER_SSO_SIG_VERIFICATION_FAILED_3: -70005,\n /** sig 校验失败,可用工具自行验证生成的 sig 是否正确 */\n ERR_SERVER_SSO_SIG_VERIFICATION_FAILED_4: -70006,\n /** sig 校验失败,可用工具自行验证生成的 sig 是否正确 */\n ERR_SERVER_SSO_SIG_VERIFICATION_FAILED_5: -70007,\n /** sig 校验失败,可用工具自行验证生成的 sig 是否正确 */\n ERR_SERVER_SSO_SIG_VERIFICATION_FAILED_6: -70008,\n /** 用业务公钥验证 sig 失败,请确认生成的 usersig 使用的私钥和 sdkAppId 是否对应 */\n ERR_SERVER_SSO_SIG_VERIFICATION_FAILED_7: -70009,\n /** sig 校验失败,可用工具自行验证生成的 sig 是否正确 */\n ERR_SERVER_SSO_SIG_VERIFICATION_FAILED_8: -70010,\n /** sig 中 identifier 与请求时的 identifier 不匹配,请检查登录时填写的 identifier 与 sig 中的是否一致 */\n ERR_SERVER_SSO_SIG_VERIFICATION_ID_NOT_MATCH: -70013,\n /** sig 中 sdkAppId 与请求时的 sdkAppId 不匹配,请检查登录时填写的 sdkAppId 与 sig 中的是否一致 */\n ERR_SERVER_SSO_APPID_NOT_MATCH: -70014,\n /** 内部第三方票据验证超时,请重试,如多次重试不成功,请@TLS 帐号支持,QQ 3268519604 */\n ERR_SERVER_SSO_VERIFICATION_EXPIRED: -70017,\n /** 内部第三方票据验证超时,请重试,如多次重试不成功,请@TLS 帐号支持,QQ 3268519604 */\n ERR_SERVER_SSO_VERIFICATION_FAILED: -70018,\n /** sdkAppId 未找到,请确认是否已经在腾讯云上配置 */\n ERR_SERVER_SSO_APPID_NOT_FOUND: -70020,\n /** 帐号已被拉入黑名单,请联系 TLS 帐号支持 QQ 3268519604 */\n ERR_SERVER_SSO_ACCOUNT_IN_BLACKLIST: -70051,\n /** usersig 已经失效,请重新生成,再次尝试 */\n ERR_SERVER_SSO_SIG_INVALID: -70052,\n /** 安全原因被限制 */\n ERR_SERVER_SSO_LIMITED_BY_SECURITY: -70114,\n /** 登录状态无效,请使用 usersig 重新鉴权 */\n ERR_SERVER_SSO_INVALID_LOGIN_STATUS: -70221,\n /** sdkAppId 填写错误 */\n ERR_SERVER_SSO_APPID_ERROR: -70252,\n /** 票据校验失败,请检查各项参数是否正确 */\n ERR_SERVER_SSO_TICKET_VERIFICATION_FAILED: -70346,\n /** 票据因过期原因校验失败 */\n ERR_SERVER_SSO_TICKET_EXPIRED: -70347,\n /** 创建账号数量超过已购买预付费数量限制 */\n ERR_SERVER_SSO_ACCOUNT_EXCEED_PURCHASES: -70398,\n /** 服务器内部错误,请重试 */\n ERR_SERVER_SSO_INTERNAL_ERROR: -70500\n};\n/////////////////////////////////////////////////////////////////////////////////\n//\n// (二)错误码(警告)\n//\n/////////////////////////////////////////////////////////////////////////////////\n/**\n * @memberof ErrorCode\n * @typedef 错误码(警告)\n * @description SDK 错误码(警告)对照表\n * | 符号 | 值 | 含义 |\n * |---|---|---|\n * |WARNING_HW_ENCODER_START_FAIL|1103|硬编码启动出现问题,自动切换到软编码|\n * |WARNING_VIDEO_ENCODER_SW_TO_HW|1107|当前 CPU 使用率太高,无法满足软件编码需求,自动切换到硬件编码|\n * |WARNING_INSUFFICIENT_CAPTURE_FPS|1108|摄像头采集帧率不足,部分自带美颜算法的 Android 手机上会出现|\n * |WARNING_SW_ENCODER_START_FAIL|1109|软编码启动失败|\n * |WARNING_REDUCE_CAPTURE_RESOLUTION|1110|摄像头采集分辨率被降低,以满足当前帧率和性能最优解。|\n * |WARNING_VIDEO_FRAME_DECODE_FAIL|2101|当前视频帧解码失败|\n * |WARNING_AUDIO_FRAME_DECODE_FAIL|2102|当前音频帧解码失败|\n * |WARNING_VIDEO_PLAY_LAG|2105|当前视频播放出现卡顿|\n * |WARNING_HW_DECODER_START_FAIL|2106|硬解启动失败,采用软解码|\n * |WARNING_VIDEO_DECODER_HW_TO_SW|2108|当前流硬解第一个 I 帧失败,SDK 自动切软解|\n * |WARNING_SW_DECODER_START_FAIL|2109|软解码器启动失败|\n * |WARNING_VIDEO_RENDER_FAIL|2110|视频渲染失败|\n * |WARNING_AUDIO_RECORDING_WRITE_FAIL|7001|音频录制写入文件失败|\n * |WARNING_ROOM_DISCONNECT|5101|网络断开连接|\n * |WARNING_IGNORE_UPSTREAM_FOR_AUDIENCE|6001|当前是观众角色,忽略上行音视频数据|\n */\nexports.TXLiteAVError = TXLiteAVError;\nvar TXLiteAVWarning = {\n /** 硬编码启动出现问题,自动切换到软编码 */\n WARNING_HW_ENCODER_START_FAIL: 1103,\n /** 当前 CPU 使用率太高,无法满足软件编码需求,自动切换到硬件编码 */\n WARNING_VIDEO_ENCODER_SW_TO_HW: 1107,\n /** 摄像头采集帧率不足,部分自带美颜算法的 Android 手机上会出现 */\n WARNING_INSUFFICIENT_CAPTURE_FPS: 1108,\n /** 软编码启动失败 */\n WARNING_SW_ENCODER_START_FAIL: 1109,\n /** 摄像头采集分辨率被降低,以满足当前帧率和性能最优解。 */\n WARNING_REDUCE_CAPTURE_RESOLUTION: 1110,\n /** 当前视频帧解码失败 */\n WARNING_VIDEO_FRAME_DECODE_FAIL: 2101,\n /** 当前音频帧解码失败 */\n WARNING_AUDIO_FRAME_DECODE_FAIL: 2102,\n /** 当前视频播放出现卡顿 */\n WARNING_VIDEO_PLAY_LAG: 2105,\n /** 硬解启动失败,采用软解码 */\n WARNING_HW_DECODER_START_FAIL: 2106,\n /** 当前流硬解第一个 I 帧失败,SDK 自动切软解 */\n WARNING_VIDEO_DECODER_HW_TO_SW: 2108,\n /** 软解码器启动失败 */\n WARNING_SW_DECODER_START_FAIL: 2109,\n /** 视频渲染失败 */\n WARNING_VIDEO_RENDER_FAIL: 2110,\n /** 音频录制写入文件失败 */\n WARNING_AUDIO_RECORDING_WRITE_FAIL: 7001,\n /** 网络断开连接 */\n WARNING_ROOM_DISCONNECT: 5101,\n /** 当前是观众角色,忽略上行音视频数据 */\n WARNING_IGNORE_UPSTREAM_FOR_AUDIENCE: 6001,\n /** 网络状况不佳:上行带宽太小,上传数据受阻 */\n WARNING_NET_BUSY: 1101,\n /** 直播,网络断连, 已启动自动重连(自动重连连续失败超过三次会放弃) */\n WARNING_RTMP_SERVER_RECONNECT: 1102,\n /** 直播,网络断连, 已启动自动重连(自动重连连续失败超过三次会放弃) */\n WARNING_LIVE_STREAM_SERVER_RECONNECT: 2103,\n /** 网络来包不稳:可能是下行带宽不足,或由于主播端出流不均匀 */\n WARNING_RECV_DATA_LAG: 2104,\n /** 直播,DNS 解析失败 */\n WARNING_RTMP_DNS_FAIL: 3001,\n /** 直播,服务器连接失败 */\n WARNING_RTMP_SEVER_CONN_FAIL: 3002,\n /** 直播,与 RTMP 服务器握手失败 */\n WARNING_RTMP_SHAKE_FAIL: 3003,\n /** 直播,服务器主动断开 */\n WARNING_RTMP_SERVER_BREAK_CONNECT: 3004,\n /** 直播,RTMP 读/写失败,将会断开连接 */\n WARNING_RTMP_READ_WRITE_FAIL: 3005,\n /** 直播,RTMP 写失败(SDK 内部错误码,不会对外抛出) */\n WARNING_RTMP_WRITE_FAIL: 3006,\n /** 直播,RTMP 读失败(SDK 内部错误码,不会对外抛出) */\n WARNING_RTMP_READ_FAIL: 3007,\n /** 直播,超过30s 没有数据发送,主动断开连接 */\n WARNING_RTMP_NO_DATA: 3008,\n /** 直播,connect 服务器调用失败(SDK 内部错误码,不会对外抛出) */\n WARNING_PLAY_LIVE_STREAM_INFO_CONNECT_FAIL: 3009,\n /** 直播,连接失败,该流地址无视频(SDK 内部错误码,不会对外抛出) */\n WARNING_NO_STEAM_SOURCE_FAIL: 3010,\n /** 网络断连,已启动自动重连 */\n WARNING_ROOM_RECONNECT: 5102,\n /** 网络状况不佳:上行带宽太小,上传数据受阻 */\n WARNING_ROOM_NET_BUSY: 5103\n};\n/////////////////////////////////////////////////////////////////////////////////\n//\n// (三)JS 封装层抛出的异常(严重)\n//\n/////////////////////////////////////////////////////////////////////////////////\n/**\n * @namespace ErrorCode\n * @description 错误码\n */\nexports.TXLiteAVWarning = TXLiteAVWarning;\nvar TXLiteJSError = {\n /**\n * 未知错误\n * @default 0xFFFF\n * @memberof module:ErrorCode\n */\n UNKNOWN: 0xffff,\n /**\n * 无效参数\n *\n * @default 0x1000\n * @memberof module:ErrorCode\n */\n INVALID_PARAMETER: 0x1000,\n /**\n * 非法操作\n *\n * @default 0x1001\n * @memberof module:ErrorCode\n */\n INVALID_OPERATION: 0x1001\n};\nexports.TXLiteJSError = TXLiteJSError;\nvar getErrorName = function getErrorName(code) {\n for (var key in TXLiteJSError) {\n if (TXLiteJSError[key] === code) {\n return key;\n }\n }\n return 'UNKNOWN';\n};\n/**\n * TrtcError 错误对象<br>\n * @extends Error\n * @namespace ErrorCode\n */\nvar TrtcError = /*#__PURE__*/function (_Error) {\n (0, _inherits2.default)(TrtcError, _Error);\n var _super = _createSuper(TrtcError);\n function TrtcError(_ref) {\n var _this;\n var _ref$code = _ref.code,\n code = _ref$code === void 0 ? TXLiteJSError.UNKNOWN : _ref$code,\n message = _ref.message,\n extraInfo = _ref.extraInfo;\n (0, _classCallCheck2.default)(this, TrtcError);\n if (extraInfo) {\n var tempError = {\n errCode: code,\n errMsg: message,\n extraInfo: Object.assign(Object.assign({}, extraInfo), {\n errCodeUrl: _constants.errorCodeUrl\n })\n };\n _this = _super.call(this, JSON.stringify(tempError));\n } else {\n _this = _super.call(this, message + \" <\".concat(getErrorName(code), \" 0x\").concat(code.toString(16), \">. Refer to: \").concat(_constants.errorCodeUrl));\n }\n _this.errCode = code;\n _this.errMsg = message;\n _this.extraInfo = Object.assign(Object.assign({}, extraInfo), {\n errCodeUrl: _constants.errorCodeUrl\n });\n return (0, _possibleConstructorReturn2.default)(_this);\n }\n /**\n * 获取错误码<br>\n * 详细错误码列表参见 {@link module:ErrorCode ErrorCode}\n * @memberof TrtcError\n */\n (0, _createClass2.default)(TrtcError, [{\n key: \"getCode\",\n value: function getCode() {\n return this.errCode;\n }\n }]);\n return TrtcError;\n}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));\nvar _default = TrtcError;\nexports.default = _default;\nfunction generateError_(error) {\n var code = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TXLiteJSError.UNKNOWN;\n var extraInfo = arguments.length > 2 ? arguments[2] : undefined;\n return new TrtcError({\n code: error.code || code,\n message: \"\".concat(_constants.NAME.LOG_PREFIX).concat(error.message),\n extraInfo: extraInfo\n });\n}\n;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vVHJ0Y0Nsb3VkL2xpYi9UcnRjQ29kZS5qcyJdLCJuYW1lcyI6WyJUWExpdGVBVkVycm9yIiwiRVJSX05VTEwiLCJFUlJfUk9PTV9FTlRFUl9GQUlMIiwiRVJSX0VOVEVSX1JPT01fUEFSQU1fTlVMTCIsIkVSUl9TREtfQVBQSURfSU5WQUxJRCIsIkVSUl9ST09NX0lEX0lOVkFMSUQiLCJFUlJfVVNFUl9JRF9JTlZBTElEIiwiRVJSX1VTRVJfU0lHX0lOVkFMSUQiLCJFUlJfUk9PTV9SRVFVRVNUX0VOVEVSX1JPT01fVElNRU9VVCIsIkVSUl9TRVJWRVJfSU5GT19TRVJWSUNFX1NVU1BFTkRFRCIsIkVSUl9ST09NX1JFUVVFU1RfUVVJVF9ST09NX1RJTUVPVVQiLCJFUlJfQ0FNRVJBX1NUQVJUX0ZBSUwiLCJFUlJfQ0FNRVJBX05PVF9BVVRIT1JJWkVEIiwiRVJSX0NBTUVSQV9TRVRfUEFSQU1fRkFJTCIsIkVSUl9DQU1FUkFfT0NDVVBZIiwiRVJSX01JQ19TVEFSVF9GQUlMIiwiRVJSX01JQ19OT1RfQVVUSE9SSVpFRCIsIkVSUl9NSUNfU0VUX1BBUkFNX0ZBSUwiLCJFUlJfTUlDX09DQ1VQWSIsIkVSUl9NSUNfU1RPUF9GQUlMIiwiRVJSX1NQRUFLRVJfU1RBUlRfRkFJTCIsIkVSUl9TUEVBS0VSX1NFVF9QQVJBTV9GQUlMIiwiRVJSX1NQRUFLRVJfU1RPUF9GQUlMIiwiRVJSX1NDUkVFTl9DQVBUVVJFX1NUQVJUX0ZBSUwiLCJFUlJfU0NSRUVOX0NBUFRVUkVfVU5TVVJQT1JUIiwiRVJSX1NFUlZFUl9DRU5URVJfTk9fUFJJVklMRURHRV9QVVNIX1NVQl9WSURFTyIsIkVSUl9TRVJWRVJfQ0VOVEVSX0FOT1RIRVJfVVNFUl9QVVNIX1NVQl9WSURFTyIsIkVSUl9WSURFT19FTkNPREVfRkFJTCIsIkVSUl9BVURJT19FTkNPREVfRkFJTCIsIkVSUl9VTlNVUFBPUlRFRF9SRVNPTFVUSU9OIiwiRVJSX1VOU1VQUE9SVEVEX1NBTVBMRVJBVEUiLCJFUlJfUElYRUxfRk9STUFUX1VOU1VQUE9SVEVEIiwiRVJSX0JVRkZFUl9UWVBFX1VOU1VQUE9SVEVEIiwiRVJSX1BVQkxJU0hfQ0ROX1NUUkVBTV9SRVFVRVNUX1RJTUVfT1VUIiwiRVJSX0NMT1VEX01JWF9UUkFOU0NPRElOR19SRVFVRVNUX1RJTUVfT1VUIiwiRVJSX1BVQkxJU0hfQ0ROX1NUUkVBTV9TRVJWRVJfRkFJTEVEIiwiRVJSX0NMT1VEX01JWF9UUkFOU0NPRElOR19TRVJWRVJfRkFJTEVEIiwiRVJSX1JPT01fUkVRVUVTVF9TVEFSVF9QVUJMSVNISU5HX1RJTUVPVVQiLCJFUlJfUk9PTV9SRVFVRVNUX1NUQVJUX1BVQkxJU0hJTkdfRVJST1IiLCJFUlJfUk9PTV9SRVFVRVNUX1NUT1BfUFVCTElTSElOR19USU1FT1VUIiwiRVJSX1JPT01fUkVRVUVTVF9TVE9QX1BVQkxJU0hJTkdfRVJST1IiLCJFUlJfUk9PTV9SRVFVRVNUX0NPTk5fUk9PTV9USU1FT1VUIiwiRVJSX1JPT01fUkVRVUVTVF9ESVNDT05OX1JPT01fVElNRU9VVCIsIkVSUl9ST09NX1JFUVVFU1RfQ09OTl9ST09NX0lOVkFMSURfUEFSQU0iLCJFUlJfQ09OTkVDVF9PVEhFUl9ST09NX0FTX0FVRElFTkNFIiwiRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX05PVF9TVVBQT1JUIiwiRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX1JFQUNIX01BWF9OVU0iLCJFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fUkVBQ0hfTUFYX1JFVFJZX1RJTUVTIiwiRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX1JFUV9USU1FT1VUIiwiRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX1JFUSIsIkVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9OT19TSUciLCJFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fREVDUllQVF9TSUciLCJFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fTk9fS0VZIiwiRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX1BBUlNFX1NJRyIsIkVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9JTlZBTElEX1NJR19USU1FIiwiRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX1NJR19HUk9VUElEIiwiRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX05PVF9DT05ORUQiLCJFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fVVNFUl9OT1RfQ09OTkVEIiwiRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX0ZBSUxFRCIsIkVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9DQU5DRUxfRkFJTEVEIiwiRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX0NPTk5FRF9ST09NX05PVF9FWElTVCIsIkVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9DT05ORURfUkVBQ0hfTUFYX1JPT00iLCJFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fQ09OTkVEX1VTRVJfTk9UX0VYSVNUIiwiRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX0NPTk5FRF9VU0VSX0RFTEVURUQiLCJFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fQ09OTkVEX1VTRVJfRlVMTCIsIkVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9JTlZBTElEX1NFUSIsIkVSUl9SVE1QX1BVU0hfTkVUX0RJU0NPTk5FQ1QiLCJFUlJfUlRNUF9QVVNIX0lOVkFMSURfQUREUkVTUyIsIkVSUl9SVE1QX1BVU0hfTkVUX0FMTEFERFJFU1NfRkFJTCIsIkVSUl9SVE1QX1BVU0hfTk9fTkVUV09SSyIsIkVSUl9SVE1QX1BVU0hfU0VSVkVSX1JFRlVTRSIsIkVSUl9QTEFZX0xJVkVfU1RSRUFNX05FVF9ESVNDT05ORUNUIiwiRVJSX0dFVF9SVE1QX0FDQ19VUkxfRkFJTCIsIkVSUl9GSUxFX05PVF9GT1VORCIsIkVSUl9IRVZDX0RFQ09ERV9GQUlMIiwiRVJSX1ZPRF9ERUNSWVBUX0ZBSUwiLCJFUlJfR0VUX1ZPREZJTEVfTUVESUFJTkZPX0ZBSUwiLCJFUlJfUExBWV9MSVZFX1NUUkVBTV9TV0lUQ0hfRkFJTCIsIkVSUl9QTEFZX0xJVkVfU1RSRUFNX1NFUlZFUl9SRUZVU0UiLCJFUlJfUlRNUF9BQ0NfRkVUQ0hfU1RSRUFNX0ZBSUwiLCJFUlJfUk9PTV9IRUFSVEJFQVRfRkFJTCIsIkVSUl9ST09NX1JFUVVFU1RfSVBfRkFJTCIsIkVSUl9ST09NX0NPTk5FQ1RfRkFJTCIsIkVSUl9ST09NX1JFUVVFU1RfQVZTRUFUX0ZBSUwiLCJFUlJfUk9PTV9SRVFVRVNUX1RPS0VOX0hUVFBTX1RJTUVPVVQiLCJFUlJfUk9PTV9SRVFVRVNUX0lQX1RJTUVPVVQiLCJFUlJfUk9PTV9SRVFVRVNUX1ZJREVPX0ZMQUdfVElNRU9VVCIsIkVSUl9ST09NX1JFUVVFU1RfVklERU9fREFUQV9ST09NX1RJTUVPVVQiLCJFUlJfUk9PTV9SRVFVRVNUX0NIQU5HRV9BQklMSVRZX1RJTUVPVVQiLCJFUlJfUk9PTV9SRVFVRVNUX1NUQVRVU19SRVBPUlRfVElNRU9VVCIsIkVSUl9ST09NX1JFUVVFU1RfQ0xPU0VfVklERU9fVElNRU9VVCIsIkVSUl9ST09NX1JFUVVFU1RfU0VUX1JFQ0VJVkVfVElNRU9VVCIsIkVSUl9ST09NX1JFUVVFU1RfVE9LRU5fSU5WQUxJRF9QQVJBTUVURVIiLCJFUlJfUk9PTV9SRVFVRVNUX0FFU19UT0tFTl9SRVRVUk5fRVJST1IiLCJFUlJfQUNDSVBfTElTVF9FTVBUWSIsIkVSUl9ST09NX1JFUVVFU1RfU0VORF9KU09OX0NNRF9USU1FT1VUIiwiRVJSX1NFUlZFUl9JTkZPX1VOUEFDS0lOR19FUlJPUiIsIkVSUl9TRVJWRVJfSU5GT19UT0tFTl9FUlJPUiIsIkVSUl9TRVJWRVJfSU5GT19BTExPQ0FURV9BQ0NFU1NfRkFJTEVEIiwiRVJSX1NFUlZFUl9JTkZPX0dFTkVSQVRFX1NJR05fRkFJTEVEIiwiRVJSX1NFUlZFUl9JTkZPX1RPS0VOX1RJTUVPVVQiLCJFUlJfU0VSVkVSX0lORk9fSU5WQUxJRF9DT01NQU5EIiwiRVJSX1NFUlZFUl9JTkZPX1BSSVZJTEVHRV9GTEFHX0VSUk9SIiwiRVJSX1NFUlZFUl9JTkZPX0dFTkVSQVRFX0tFTl9FUlJPUiIsIkVSUl9TRVJWRVJfSU5GT19HRU5FUkFURV9UT0tFTl9FUlJPUiIsIkVSUl9TRVJWRVJfSU5GT19EQVRBQkFTRSIsIkVSUl9TRVJWRVJfSU5GT19CQURfUk9PTUlEIiwiRVJSX1NFUlZFUl9JTkZPX0JBRF9TQ0VORV9PUl9ST0xFIiwiRVJSX1NFUlZFUl9JTkZPX1JPT01JRF9FWENIQU5HRV9GQUlMRUQiLCJFUlJfU0VSVkVSX0lORk9fU1RSR1JPVVBfSEFTX0lOVkFMSURfQ0hBUlMiLCJFUlJfU0VSVkVSX0lORk9fTEFDS19TREtBUFBJRCIsIkVSUl9TRVJWRVJfSU5GT19JTlZBTElEIiwiRVJSX1NFUlZFUl9JTkZPX0VDREhfR0VUX0tFWSIsIkVSUl9TRVJWRVJfSU5GT19FQ0RIX0dFVF9USU5ZSUQiLCJFUlJfU0VSVkVSX0FDQ19UT0tFTl9USU1FT1VUIiwiRVJSX1NFUlZFUl9BQ0NfU0lHTl9FUlJPUiIsIkVSUl9TRVJWRVJfQUNDX1NJR05fVElNRU9VVCIsIkVSUl9TRVJWRVJfQUNDX1JPT01fTk9UX0VYSVNUIiwiRVJSX1NFUlZFUl9BQ0NfUk9PTUlEIiwiRVJSX1NFUlZFUl9BQ0NfTE9DQVRJT05JRCIsIkVSUl9TRVJWRVJfQ0VOVEVSX1NZU1RFTV9FUlJPUiIsIkVSUl9TRVJWRVJfQ0VOVEVSX0lOVkFMSURfUk9PTUlEIiwiRVJSX1NFUlZFUl9DRU5URVJfQ1JFQVRFX1JPT01fRkFJTEVEIiwiRVJSX1NFUlZFUl9DRU5URVJfU0lHTl9FUlJPUiIsIkVSUl9TRVJWRVJfQ0VOVEVSX1NJR05fVElNRU9VVCIsIkVSUl9TRVJWRVJfQ0VOVEVSX1JPT01fTk9UX0VYSVNUIiwiRVJSX1NFUlZFUl9DRU5URVJfQUREX1VTRVJfRkFJTEVEIiwiRVJSX1NFUlZFUl9DRU5URVJfRklORF9VU0VSX0ZBSUxFRCIsIkVSUl9TRVJWRVJfQ0VOVEVSX1NXSVRDSF9URVJNSU5BVElPTl9GUkVRVUVOVExZIiwiRVJSX1NFUlZFUl9DRU5URVJfTE9DQVRJT05fTk9UX0VYSVNUIiwiRVJSX1NFUlZFUl9DRU5URVJfTk9fUFJJVklMRURHRV9DUkVBVEVfUk9PTSIsIkVSUl9TRVJWRVJfQ0VOVEVSX05PX1BSSVZJTEVER0VfRU5URVJfUk9PTSIsIkVSUl9TRVJWRVJfQ0VOVEVSX0lOVkFMSURfUEFSQU1FVEVSX1NVQl9WSURFTyIsIkVSUl9TRVJWRVJfQ0VOVEVSX05PX1BSSVZJTEVER0VfUFVTSF9WSURFTyIsIkVSUl9TRVJWRVJfQ0VOVEVSX1JPVVRFX1RBQkxFX0VSUk9SIiwiRVJSX1NFUlZFUl9DRU5URVJfTk9UX1BVU0hfU1VCX1ZJREVPIiwiRVJSX1NFUlZFUl9DRU5URVJfVVNFUl9XQVNfREVMRVRFRCIsIkVSUl9TRVJWRVJfQ0VOVEVSX05PX1BSSVZJTEVER0VfUkVRVUVTVF9WSURFTyIsIkVSUl9TRVJWRVJfQ0VOVEVSX0lOVkFMSURfUEFSQU1FVEVSIiwiRVJSX1NFUlZFUl9DRU5URVJfSV9GUkFNRV9VTktOT1dfVFlQRSIsIkVSUl9TRVJWRVJfQ0VOVEVSX0lfRlJBTUVfSU5WQUxJRF9QQUNLRVQiLCJFUlJfU0VSVkVSX0NFTlRFUl9JX0ZSQU1FX0RFU1RfVVNFUl9OT1RfRVhJU1QiLCJFUlJfU0VSVkVSX0NFTlRFUl9JX0ZSQU1FX1JPT01fVE9PX0JJRyIsIkVSUl9TRVJWRVJfQ0VOVEVSX0lfRlJBTUVfUlBTX0lOVkFMSURfUEFSQU1FVEVSIiwiRVJSX1NFUlZFUl9DRU5URVJfSU5WQUxJRF9ST09NX0lEIiwiRVJSX1NFUlZFUl9DRU5URVJfUk9PTV9JRF9UT09fTE9ORyIsIkVSUl9TRVJWRVJfQ0VOVEVSX1JPT01fRlVMTCIsIkVSUl9TRVJWRVJfQ0VOVEVSX0RFQ09ERV9KU09OX0ZBSUwiLCJFUlJfU0VSVkVSX0NFTlRFUl9VTktOT1dOX1NVQl9DTUQiLCJFUlJfU0VSVkVSX0NFTlRFUl9JTlZBTElEX1JPTEUiLCJFUlJfU0VSVkVSX0NFTlRFUl9SRUFDSF9QUk9YWV9NQVgiLCJFUlJfU0VSVkVSX0NFTlRFUl9SRUNPUkRJRF9TVE9SRSIsIkVSUl9TRVJWRVJfQ0VOVEVSX1BCX1NFUklBTElaRSIsIkVSUl9TRVJWRVJfU1NPX1NJR19FWFBJUkVEIiwiRVJSX1NFUlZFUl9TU09fU0lHX1ZFUklGSUNBVElPTl9GQUlMRURfMSIsIkVSUl9TRVJWRVJfU1NPX1NJR19WRVJJRklDQVRJT05fRkFJTEVEXzIiLCJFUlJfU0VSVkVSX1NTT19TSUdfVkVSSUZJQ0FUSU9OX0ZBSUxFRF8zIiwiRVJSX1NFUlZFUl9TU09fU0lHX1ZFUklGSUNBVElPTl9GQUlMRURfNCIsIkVSUl9TRVJWRVJfU1NPX1NJR19WRVJJRklDQVRJT05fRkFJTEVEXzUiLCJFUlJfU0VSVkVSX1NTT19TSUdfVkVSSUZJQ0FUSU9OX0ZBSUxFRF82IiwiRVJSX1NFUlZFUl9TU09fU0lHX1ZFUklGSUNBVElPTl9GQUlMRURfNyIsIkVSUl9TRVJWRVJfU1NPX1NJR19WRVJJRklDQVRJT05fRkFJTEVEXzgiLCJFUlJfU0VSVkVSX1NTT19TSUdfVkVSSUZJQ0FUSU9OX0lEX05PVF9NQVRDSCIsIkVSUl9TRVJWRVJfU1NPX0FQUElEX05PVF9NQVRDSCIsIkVSUl9TRVJWRVJfU1NPX1ZFUklGSUNBVElPTl9FWFBJUkVEIiwiRVJSX1NFUlZFUl9TU09fVkVSSUZJQ0FUSU9OX0ZBSUxFRCIsIkVSUl9TRVJWRVJfU1NPX0FQUElEX05PVF9GT1VORCIsIkVSUl9TRVJWRVJfU1NPX0FDQ09VTlRfSU5fQkxBQ0tMSVNUIiwiRVJSX1NFUlZFUl9TU09fU0lHX0lOVkFMSUQiLCJFUlJfU0VSVkVSX1NTT19MSU1JVEVEX0JZX1NFQ1VSSVRZIiwiRVJSX1NFUlZFUl9TU09fSU5WQUxJRF9MT0dJTl9TVEFUVVMiLCJFUlJfU0VSVkVSX1NTT19BUFBJRF9FUlJPUiIsIkVSUl9TRVJWRVJfU1NPX1RJQ0tFVF9WRVJJRklDQVRJT05fRkFJTEVEIiwiRVJSX1NFUlZFUl9TU09fVElDS0VUX0VYUElSRUQiLCJFUlJfU0VSVkVSX1NTT19BQ0NPVU5UX0VYQ0VFRF9QVVJDSEFTRVMiLCJFUlJfU0VSVkVSX1NTT19JTlRFUk5BTF9FUlJPUiIsIlRYTGl0ZUFWV2FybmluZyIsIldBUk5JTkdfSFdfRU5DT0RFUl9TVEFSVF9GQUlMIiwiV0FSTklOR19WSURFT19FTkNPREVSX1NXX1RPX0hXIiwiV0FSTklOR19JTlNVRkZJQ0lFTlRfQ0FQVFVSRV9GUFMiLCJXQVJOSU5HX1NXX0VOQ09ERVJfU1RBUlRfRkFJTCIsIldBUk5JTkdfUkVEVUNFX0NBUFRVUkVfUkVTT0xVVElPTiIsIldBUk5JTkdfVklERU9fRlJBTUVfREVDT0RFX0ZBSUwiLCJXQVJOSU5HX0FVRElPX0ZSQU1FX0RFQ09ERV9GQUlMIiwiV0FSTklOR19WSURFT19QTEFZX0xBRyIsIldBUk5JTkdfSFdfREVDT0RFUl9TVEFSVF9GQUlMIiwiV0FSTklOR19WSURFT19ERUNPREVSX0hXX1RPX1NXIiwiV0FSTklOR19TV19ERUNPREVSX1NUQVJUX0ZBSUwiLCJXQVJOSU5HX1ZJREVPX1JFTkRFUl9GQUlMIiwiV0FSTklOR19BVURJT19SRUNPUkRJTkdfV1JJVEVfRkFJTCIsIldBUk5JTkdfUk9PTV9ESVNDT05ORUNUIiwiV0FSTklOR19JR05PUkVfVVBTVFJFQU1fRk9SX0FVRElFTkNFIiwiV0FSTklOR19ORVRfQlVTWSIsIldBUk5JTkdfUlRNUF9TRVJWRVJfUkVDT05ORUNUIiwiV0FSTklOR19MSVZFX1NUUkVBTV9TRVJWRVJfUkVDT05ORUNUIiwiV0FSTklOR19SRUNWX0RBVEFfTEFHIiwiV0FSTklOR19SVE1QX0ROU19GQUlMIiwiV0FSTklOR19SVE1QX1NFVkVSX0NPTk5fRkFJTCIsIldBUk5JTkdfUlRNUF9TSEFLRV9GQUlMIiwiV0FSTklOR19SVE1QX1NFUlZFUl9CUkVBS19DT05ORUNUIiwiV0FSTklOR19SVE1QX1JFQURfV1JJVEVfRkFJTCIsIldBUk5JTkdfUlRNUF9XUklURV9GQUlMIiwiV0FSTklOR19SVE1QX1JFQURfRkFJTCIsIldBUk5JTkdfUlRNUF9OT19EQVRBIiwiV0FSTklOR19QTEFZX0xJVkVfU1RSRUFNX0lORk9fQ09OTkVDVF9GQUlMIiwiV0FSTklOR19OT19TVEVBTV9TT1VSQ0VfRkFJTCIsIldBUk5JTkdfUk9PTV9SRUNPTk5FQ1QiLCJXQVJOSU5HX1JPT01fTkVUX0JVU1kiLCJUWExpdGVKU0Vycm9yIiwiVU5LTk9XTiIsIklOVkFMSURfUEFSQU1FVEVSIiwiSU5WQUxJRF9PUEVSQVRJT04iLCJnZXRFcnJvck5hbWUiLCJjb2RlIiwia2V5IiwiVHJ0Y0Vycm9yIiwibWVzc2FnZSIsImV4dHJhSW5mbyIsInRlbXBFcnJvciIsImVyckNvZGUiLCJlcnJNc2ciLCJPYmplY3QiLCJhc3NpZ24iLCJlcnJDb2RlVXJsIiwiZXJyb3JDb2RlVXJsIiwiSlNPTiIsInN0cmluZ2lmeSIsInRvU3RyaW5nIiwiRXJyb3IiLCJnZW5lcmF0ZUVycm9yXyIsImVycm9yIiwiTkFNRSIsIkxPR19QUkVGSVgiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBaUQ7QUFBQTtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLElBQU1BLGFBQWEsR0FBRztFQUN6QjtFQUNBQyxRQUFRLEVBQUUsQ0FB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Q0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFTCxTQUFTLENBQUMsRUFBRTtNQUFFTSxVQUFVLEVBQUVDO0lBQWEsQ0FBQyxDQUFDO0lBQUM7RUFDL0Y7RUFDQTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0VBSkk7SUFBQTtJQUFBLE9BS0EsbUJBQVU7TUFDTixPQUFPLElBQUksQ0FBQ0wsT0FBTztJQUN2QjtFQUFDO0VBQUE7QUFBQSwrQ0F6Qm1CUyxLQUFLO0FBQUEsZUEyQmRiLFNBQVM7QUFBQTtBQUNqQixTQUFTYyxjQUFjLENBQUNDLEtBQUssRUFBMkM7RUFBQSxJQUF6Q2pCLElBQUksdUVBQUdMLGFBQWEsQ0FBQ0MsT0FBTztFQUFBLElBQUVRLFNBQVM7RUFDekUsT0FBTyxJQUFJRixTQUFTLENBQUM7SUFDakJGLElBQUksRUFBRWlCLEtBQUssQ0FBQ2pCLElBQUksSUFBSUEsSUFBSTtJQUN4QkcsT0FBTyxZQUFLZSxlQUFJLENBQUNDLFVBQVUsU0FBR0YsS0FBSyxDQUFDZCxPQUFPLENBQUU7SUFDN0NDLFNBQVMsRUFBVEE7RUFDSixDQUFDLENBQUM7QUFDTjtBQUNBIiwiZmlsZSI6IjYyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTkFNRSwgZXJyb3JDb2RlVXJsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuLyoqXG4gKiBAbmFtZXNwYWNlIEVycm9yQ29kZVxuICpcbiAqIEBkZXNjcmlwdGlvbiDplJnor6/noIHjgIHorablkYrnoIHlkozkuovku7bliJfooahcbiAqL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gICAgICAgICAgICAgICAgICAgICDvvIjkuIDvvInplJnor6/noIHvvIjkuKXph43vvIlcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8qKlxuICogQG1lbWJlcm9mIEVycm9yQ29kZVxuICogQHR5cGVkZWYg6ZSZ6K+v56CB77yI5Lil6YeN77yJXG4gKiBAZGVzY3JpcHRpb24gU0RLIOmUmeivr+egge+8iOS4pemHje+8ieWvueeFp+ihqFxuICogfCDnrKblj7cgfCDlgLwgfCDlkKvkuYkgfFxuICogfC0tLXwtLS18LS0tfFxuICogfEVSUl9OVUxMfDB85peg6ZSZ6K+vfFxuICogfEVSUl9ST09NX0VOVEVSX0ZBSUx8LTMzMDF86L+b5YWl5oi/6Ze05aSx6LSlfFxuICogfEVSUl9FTlRFUl9ST09NX1BBUkFNX05VTEx8LTMzMTZ86L+b5oi/5Y+C5pWw5Li656m677yM6K+35qOA5p+lIGVudGVyUm9vbTphcHBTY2VuZTog5o6l5Y+j6LCD55So5piv5ZCm5Lyg5YWl5pyJ5pWI55qEIHBhcmFtfFxuICogfEVSUl9TREtfQVBQSURfSU5WQUxJRHwtMzMxN3zov5vmiL/lj4LmlbAgc2RrQXBwSWQg6ZSZ6K+vfFxuICogfEVSUl9ST09NX0lEX0lOVkFMSUR8LTMzMTh86L+b5oi/5Y+C5pWwIHJvb21JZCDplJnor698XG4gKiB8RVJSX1VTRVJfSURfSU5WQUxJRHwtMzMxOXzov5vmiL/lj4LmlbAgdXNlcklEIOS4jeato+ehrnxcbiAqIHxFUlJfVVNFUl9TSUdfSU5WQUxJRHwtMzMyMHzov5vmiL/lj4LmlbAgdXNlclNpZyDkuI3mraPnoa58XG4gKiB8RVJSX1JPT01fUkVRVUVTVF9FTlRFUl9ST09NX1RJTUVPVVR8LTMzMDh86K+35rGC6L+b5oi/6LaF5pe277yM6K+35qOA5p+l572R57ucfFxuICogfEVSUl9TRVJWRVJfSU5GT19TRVJWSUNFX1NVU1BFTkRFRHwtMTAwMDEzfOacjeWKoeS4jeWPr+eUqOOAguivt+ajgOafpe+8muWll+mkkOWMheWJqeS9meWIhumSn+aVsOaYr+WQpuWkp+S6jjDvvIzohb7orq/kupHotKblj7fmmK/lkKbmrKDotLl8XG4gKiB8RVJSX1JPT01fUkVRVUVTVF9RVUlUX1JPT01fVElNRU9VVHwtMzMyNXzor7fmsYLpgIDmiL/otoXml7Z8XG4gKiB8RVJSX0NBTUVSQV9TVEFSVF9GQUlMfC0xMzAxfOaJk+W8gOaRhOWDj+WktOWksei0pe+8jOS+i+WmguWcqCBXaW5kb3dzIOaIliBNYWMg6K6+5aSH77yM5pGE5YOP5aS055qE6YWN572u56iL5bqP77yI6amx5Yqo56iL5bqP77yJ5byC5bi477yM56aB55So5ZCO6YeN5paw5ZCv55So6K6+5aSH77yM5oiW6ICF6YeN5ZCv5py65Zmo77yM5oiW6ICF5pu05paw6YWN572u56iL5bqPfFxuICogfEVSUl9DQU1FUkFfTk9UX0FVVEhPUklaRUR8LTEzMTR85pGE5YOP5aS06K6+5aSH5pyq5o6I5p2D77yM6YCa5bi45Zyo56e75Yqo6K6+5aSH5Ye6546w77yM5Y+v6IO95piv5p2D6ZmQ6KKr55So5oi35ouS57ud5LqGfFxuICogfEVSUl9DQU1FUkFfU0VUX1BBUkFNX0ZBSUx8LTEzMTV85pGE5YOP5aS05Y+C5pWw6K6+572u5Ye66ZSZ77yI5Y+C5pWw5LiN5pSv5oyB5oiW5YW25a6D77yJfFxuICogfEVSUl9DQU1FUkFfT0NDVVBZfC0xMzE2fOaRhOWDj+WktOato+WcqOiiq+WNoOeUqOS4re+8jOWPr+WwneivleaJk+W8gOWFtuS7luaRhOWDj+WktHxcbiAqIHxFUlJfTUlDX1NUQVJUX0ZBSUx8LTEzMDJ85omT5byA6bqm5YWL6aOO5aSx6LSl77yM5L6L5aaC5ZyoIFdpbmRvd3Mg5oiWIE1hYyDorr7lpIfvvIzpuqblhYvpo47nmoTphY3nva7nqIvluo/vvIjpqbHliqjnqIvluo/vvInlvILluLjvvIznpoHnlKjlkI7ph43mlrDlkK/nlKjorr7lpIfvvIzmiJbogIXph43lkK/mnLrlmajvvIzmiJbogIXmm7TmlrDphY3nva7nqIvluo98XG4gKiB8RVJSX01JQ19OT1RfQVVUSE9SSVpFRHwtMTMxN3zpuqblhYvpo47orr7lpIfmnKrmjojmnYPvvIzpgJrluLjlnKjnp7vliqjorr7lpIflh7rnjrDvvIzlj6/og73mmK/mnYPpmZDooqvnlKjmiLfmi5Lnu53kuoZ8XG4gKiB8RVJSX01JQ19TRVRfUEFSQU1fRkFJTHwtMTMxOHzpuqblhYvpo47orr7nva7lj4LmlbDlpLHotKV8XG4gKiB8RVJSX01JQ19PQ0NVUFl8LTEzMTl86bqm5YWL6aOO5q2j5Zyo6KKr5Y2g55So5Lit77yM5L6L5aaC56e75Yqo6K6+5aSH5q2j5Zyo6YCa6K+d5pe277yM5omT5byA6bqm5YWL6aOO5Lya5aSx6LSlfFxuICogfEVSUl9NSUNfU1RPUF9GQUlMfC0xMzIwfOWBnOatoum6puWFi+mjjuWksei0pXxcbiAqIHxFUlJfU1BFQUtFUl9TVEFSVF9GQUlMfC0xMzIxfOaJk+W8gOaJrOWjsOWZqOWksei0pe+8jOS+i+WmguWcqCBXaW5kb3dzIOaIliBNYWMg6K6+5aSH77yM5oms5aOw5Zmo55qE6YWN572u56iL5bqP77yI6amx5Yqo56iL5bqP77yJ5byC5bi477yM56aB55So5ZCO6YeN5paw5ZCv55So6K6+5aSH77yM5oiW6ICF6YeN5ZCv5py65Zmo77yM5oiW6ICF5pu05paw6YWN572u56iL5bqPfFxuICogfEVSUl9TUEVBS0VSX1NFVF9QQVJBTV9GQUlMfC0xMzIyfOaJrOWjsOWZqOiuvue9ruWPguaVsOWksei0pXxcbiAqIHxFUlJfU1BFQUtFUl9TVE9QX0ZBSUx8LTEzMjN85YGc5q2i5oms5aOw5Zmo5aSx6LSlfFxuICogfEVSUl9TQ1JFRU5fQ0FQVFVSRV9TVEFSVF9GQUlMfC0xMzA4fOW8gOWni+W9leWxj+Wksei0pe+8jOWmguaenOWcqOenu+WKqOiuvuWkh+WHuueOsO+8jOWPr+iDveaYr+adg+mZkOiiq+eUqOaIt+aLkue7neS6hu+8jOWmguaenOWcqCBXaW5kb3dzIOaIliBNYWMg57O757uf55qE6K6+5aSH5Ye6546w77yM6K+35qOA5p+l5b2V5bGP5o6l5Y+j55qE5Y+C5pWw5piv5ZCm56ym5ZCI6KaB5rGCfFxuICogfEVSUl9TQ1JFRU5fQ0FQVFVSRV9VTlNVUlBPUlR8LTEzMDl85b2V5bGP5aSx6LSl77yM5ZyoIEFuZHJvaWQg5bmz5Y+w77yM6ZyA6KaBNS4w5Lul5LiK55qE57O757uffFxuICogfEVSUl9TRVJWRVJfQ0VOVEVSX05PX1BSSVZJTEVER0VfUFVTSF9TVUJfVklERU98LTEwMjAxNXzmsqHmnInmnYPpmZDkuIrooYzovoXot698XG4gKiB8RVJSX1NFUlZFUl9DRU5URVJfQU5PVEhFUl9VU0VSX1BVU0hfU1VCX1ZJREVPfC0xMDIwMTZ85YW25LuW55So5oi35q2j5Zyo5LiK6KGM6L6F6LevfFxuICogfEVSUl9WSURFT19FTkNPREVfRkFJTHwtMTMwM3zop4bpopHluKfnvJbnoIHlpLHotKXvvIzkvovlpoIgaU9TIOiuvuWkh+WIh+aNouWIsOWFtuS7luW6lOeUqOaXtu+8jOehrOe8lueggeWZqOWPr+iDveiiq+ezu+e7n+mHiuaUvu+8jOWGjeWIh+aNouWbnuadpeaXtu+8jOehrOe8lueggeWZqOmHjeWQr+WJje+8jOWPr+iDveS8muaKm+WHunxcbiAqIHxFUlJfVU5TVVBQT1JURURfUkVTT0xVVElPTnwtMTMwNXzkuI3mlK/mjIHnmoTop4bpopHliIbovqjnjod8XG4gKiB8RVJSX0FVRElPX0VOQ09ERV9GQUlMfC0xMzA0fOmfs+mikeW4p+e8lueggeWksei0pe+8jOS+i+WmguS8oOWFpeiHquWumuS5iemfs+mikeaVsOaNru+8jFNESyDml6Dms5XlpITnkIZ8XG4gKiB8RVJSX1VOU1VQUE9SVEVEX1NBTVBMRVJBVEV8LTEzMDZ85LiN5pSv5oyB55qE6Z+z6aKR6YeH5qC3546HfFxuICogfEVSUl9QSVhFTF9GT1JNQVRfVU5TVVBQT1JURUR8LTEzMjd86K6+572u55qEIHBpeGVsIGZvcm1hdCDkuI3mlK/mjIF8XG4gKiB8RVJSX0JVRkZFUl9UWVBFX1VOU1VQUE9SVEVEfC0xMzI4fOiuvue9rueahCBidWZmZXIgdHlwZSDkuI3mlK/mjIF8XG4gKiB8RVJSX1BVQkxJU0hfQ0ROX1NUUkVBTV9SRVFVRVNUX1RJTUVfT1VUfC0zMzIxfOaXgei3r+i9rOaOqOivt+axgui2heaXtnxcbiAqIHxFUlJfQ0xPVURfTUlYX1RSQU5TQ09ESU5HX1JFUVVFU1RfVElNRV9PVVR8LTMzMjJ85LqR56uv5re35rWB6K+35rGC6LaF5pe2fFxuICogfEVSUl9QVUJMSVNIX0NETl9TVFJFQU1fU0VSVkVSX0ZBSUxFRHwtMzMyM3zml4Hot6/ovazmjqjlm57ljIXlvILluLh8XG4gKiB8RVJSX0NMT1VEX01JWF9UUkFOU0NPRElOR19TRVJWRVJfRkFJTEVEfC0zMzI0fOS6keerr+a3t+a1geWbnuWMheW8guW4uHxcbiAqIHxFUlJfUk9PTV9SRVFVRVNUX1NUQVJUX1BVQkxJU0hJTkdfVElNRU9VVHwtMzMzM3zlvIDlp4vlkJHohb7orq/kupHnmoTnm7Tmkq0gQ0ROIOaOqOa1geS/oeS7pOi2heaXtnxcbiAqIHxFUlJfUk9PTV9SRVFVRVNUX1NUQVJUX1BVQkxJU0hJTkdfRVJST1J8LTMzMzR85byA5aeL5ZCR6IW+6K6v5LqR55qE55u05pKtIENETiDmjqjmtYHkv6Hku6TlvILluLh8XG4gKiB8RVJSX1JPT01fUkVRVUVTVF9TVE9QX1BVQkxJU0hJTkdfVElNRU9VVHwtMzMzNXzlgZzmraLlkJHohb7orq/kupHnmoTnm7Tmkq0gQ0ROIOaOqOa1geS/oeS7pOi2heaXtnxcbiAqIHxFUlJfUk9PTV9SRVFVRVNUX1NUT1BfUFVCTElTSElOR19FUlJPUnwtMzMzNnzlgZzmraLlkJHohb7orq/kupHnmoTnm7Tmkq0gQ0ROIOaOqOa1geS/oeS7pOW8guW4uHxcbiAqIHxFUlJfUk9PTV9SRVFVRVNUX0NPTk5fUk9PTV9USU1FT1VUfC0zMzI2fOivt+axgui/num6pui2heaXtnxcbiAqIHxFUlJfUk9PTV9SRVFVRVNUX0RJU0NPTk5fUk9PTV9USU1FT1VUfC0zMzI3fOivt+axgumAgOWHuui/num6pui2heaXtnxcbiAqIHxFUlJfUk9PTV9SRVFVRVNUX0NPTk5fUk9PTV9JTlZBTElEX1BBUkFNfC0zMzI4fOaXoOaViOWPguaVsHxcbiAqIHxFUlJfQ09OTkVDVF9PVEhFUl9ST09NX0FTX0FVRElFTkNFfC0zMzMwfOW9k+WJjeaYr+inguS8l+inkuiJsu+8jOS4jeiDveivt+axguaIluaWreW8gOi3qOaIv+i/num6pu+8jOmcgOimgeWFiCBzd2l0Y2hSb2xlKCkg5Yiw5Li75pKtfFxuICogfEVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9OT1RfU1VQUE9SVHwtMTAyMDMxfOS4jeaUr+aMgei3qOaIv+mXtOi/num6pnxcbiAqIHxFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fUkVBQ0hfTUFYX05VTXwtMTAyMDMyfOi+vuWIsOi3qOaIv+mXtOi/num6puS4iumZkHxcbiAqIHxFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fUkVBQ0hfTUFYX1JFVFJZX1RJTUVTfC0xMDIwMzN86Leo5oi/6Ze06L+e6bqm6YeN6K+V5qyh5pWw6ICX5bC9fFxuICogfEVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9SRVFfVElNRU9VVHwtMTAyMDM0fOi3qOaIv+mXtOi/num6puivt+axgui2heaXtnxcbiAqIHxFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fUkVRfC0xMDIwMzV86Leo5oi/6Ze06L+e6bqm6K+35rGC5qC85byP6ZSZ6K+vfFxuICogfEVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9OT19TSUd8LTEwMjAzNnzot6jmiL/pl7Tov57puqbml6Dnrb7lkI18XG4gKiB8RVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX0RFQ1JZUFRfU0lHfC0xMDIwMzd86Leo5oi/6Ze06L+e6bqm562+5ZCN6Kej5a+G5aSx6LSlfFxuICogfEVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9OT19LRVl8LTEwMjAzOHzmnKrmib7liLDot6jmiL/pl7Tov57puqbnrb7lkI3op6Plr4blr4bpkqV8XG4gKiB8RVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX1BBUlNFX1NJR3wtMTAyMDM5fOi3qOaIv+mXtOi/num6puetvuWQjeino+aekOmUmeivr3xcbiAqIHxFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fSU5WQUxJRF9TSUdfVElNRXwtMTAyMDQwfOi3qOaIv+mXtOi/num6puetvuWQjeaXtumXtOaIs+mUmeivr3xcbiAqIHxFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fU0lHX0dST1VQSUR8LTEwMjA0MXzot6jmiL/pl7Tov57puqbnrb7lkI3kuI3ljLnphY18XG4gKiB8RVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX05PVF9DT05ORUR8LTEwMjA0MnzmnKzmiL/pl7Tml6Dov57puqZ8XG4gKiB8RVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX1VTRVJfTk9UX0NPTk5FRHwtMTAyMDQzfOacrOeUqOaIt+acquWPkei1t+i/num6pnxcbiAqIHxFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fRkFJTEVEfC0xMDIwNDR86Leo5oi/6Ze06L+e6bqm5aSx6LSlfFxuICogfEVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9DQU5DRUxfRkFJTEVEfC0xMDIwNDV85Y+W5raI6Leo5oi/6Ze06L+e6bqm5aSx6LSlfFxuICogfEVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9DT05ORURfUk9PTV9OT1RfRVhJU1R8LTEwMjA0Nnzooqvov57puqbmiL/pl7TkuI3lrZjlnKh8XG4gKiB8RVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX0NPTk5FRF9SRUFDSF9NQVhfUk9PTXwtMTAyMDQ3fOiiq+i/num6puaIv+mXtOi+vuWIsOi/num6puS4iumZkHxcbiAqIHxFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fQ09OTkVEX1VTRVJfTk9UX0VYSVNUfC0xMDIwNDh86KKr6L+e6bqm55So5oi35LiN5a2Y5ZyofFxuICogfEVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9DT05ORURfVVNFUl9ERUxFVEVEfC0xMDIwNDl86KKr6L+e6bqm55So5oi35bey6KKr5Yig6ZmkfFxuICogfEVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9DT05ORURfVVNFUl9GVUxMfC0xMDIwNTB86KKr6L+e6bqm55So5oi36L6+5Yiw6LWE5rqQ5LiK6ZmQfFxuICogfEVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9JTlZBTElEX1NFUXwtMTAyMDUxfOi/num6puivt+axguW6j+WPt+mUmeS5sXxcbiAqL1xuZXhwb3J0IGNvbnN0IFRYTGl0ZUFWRXJyb3IgPSB7XG4gICAgLyoqIOaXoOmUmeivryAqL1xuICAgIEVSUl9OVUxMOiAwLFxuICAgIC8qKiDov5vlhaXmiL/pl7TlpLHotKUgKi9cbiAgICBFUlJfUk9PTV9FTlRFUl9GQUlMOiAtMzMwMSxcbiAgICAvKiog6L+b5oi/5Y+C5pWw5Li656m677yM6K+35qOA5p+lIGVudGVyUm9vbTphcHBTY2VuZTog5o6l5Y+j6LCD55So5piv5ZCm5Lyg5YWl5pyJ5pWI55qEIHBhcmFtICovXG4gICAgRVJSX0VOVEVSX1JPT01fUEFSQU1fTlVMTDogLTMzMTYsXG4gICAgLyoqIOi/m+aIv+WPguaVsCBzZGtBcHBJZCDplJnor68gKi9cbiAgICBFUlJfU0RLX0FQUElEX0lOVkFMSUQ6IC0zMzE3LFxuICAgIC8qKiDov5vmiL/lj4LmlbAgcm9vbUlkIOmUmeivryAqL1xuICAgIEVSUl9ST09NX0lEX0lOVkFMSUQ6IC0zMzE4LFxuICAgIC8qKiDov5vmiL/lj4LmlbAgdXNlcklEIOS4jeato+ehriAqL1xuICAgIEVSUl9VU0VSX0lEX0lOVkFMSUQ6IC0zMzE5LFxuICAgIC8qKiDov5vmiL/lj4LmlbAgdXNlclNpZyDkuI3mraPnoa4gKi9cbiAgICBFUlJfVVNFUl9TSUdfSU5WQUxJRDogLTMzMjAsXG4gICAgLyoqIOivt+axgui/m+aIv+i2heaXtu+8jOivt+ajgOafpee9kee7nCAqL1xuICAgIEVSUl9ST09NX1JFUVVFU1RfRU5URVJfUk9PTV9USU1FT1VUOiAtMzMwOCxcbiAgICAvKiog5pyN5Yqh5LiN5Y+v55So44CC6K+35qOA5p+l77ya5aWX6aSQ5YyF5Ymp5L2Z5YiG6ZKf5pWw5piv5ZCm5aSn5LqOMO+8jOiFvuiur+S6kei0puWPt+aYr+WQpuasoOi0uSAqL1xuICAgIEVSUl9TRVJWRVJfSU5GT19TRVJWSUNFX1NVU1BFTkRFRDogLTEwMDAxMyxcbiAgICAvKiog6K+35rGC6YCA5oi/6LaF5pe2ICovXG4gICAgRVJSX1JPT01fUkVRVUVTVF9RVUlUX1JPT01fVElNRU9VVDogLTMzMjUsXG4gICAgLyoqIOaJk+W8gOaRhOWDj+WktOWksei0pe+8jOS+i+WmguWcqCBXaW5kb3dzIOaIliBNYWMg6K6+5aSH77yM5pGE5YOP5aS055qE6YWN572u56iL5bqP77yI6amx5Yqo56iL5bqP77yJ5byC5bi477yM56aB55So5ZCO6YeN5paw5ZCv55So6K6+5aSH77yM5oiW6ICF6YeN5ZCv5py65Zmo77yM5oiW6ICF5pu05paw6YWN572u56iL5bqPICovXG4gICAgRVJSX0NBTUVSQV9TVEFSVF9GQUlMOiAtMTMwMSxcbiAgICAvKiog5pGE5YOP5aS06K6+5aSH5pyq5o6I5p2D77yM6YCa5bi45Zyo56e75Yqo6K6+5aSH5Ye6546w77yM5Y+v6IO95piv5p2D6ZmQ6KKr55So5oi35ouS57ud5LqGICovXG4gICAgRVJSX0NBTUVSQV9OT1RfQVVUSE9SSVpFRDogLTEzMTQsXG4gICAgLyoqIOaRhOWDj+WktOWPguaVsOiuvue9ruWHuumUme+8iOWPguaVsOS4jeaUr+aMgeaIluWFtuWug++8iSAqL1xuICAgIEVSUl9DQU1FUkFfU0VUX1BBUkFNX0ZBSUw6IC0xMzE1LFxuICAgIC8qKiDmkYTlg4/lpLTmraPlnKjooqvljaDnlKjkuK3vvIzlj6/lsJ3or5XmiZPlvIDlhbbku5bmkYTlg4/lpLQgKi9cbiAgICBFUlJfQ0FNRVJBX09DQ1VQWTogLTEzMTYsXG4gICAgLyoqIOaJk+W8gOm6puWFi+mjjuWksei0pe+8jOS+i+WmguWcqCBXaW5kb3dzIOaIliBNYWMg6K6+5aSH77yM6bqm5YWL6aOO55qE6YWN572u56iL5bqP77yI6amx5Yqo56iL5bqP77yJ5byC5bi477yM56aB55So5ZCO6YeN5paw5ZCv55So6K6+5aSH77yM5oiW6ICF6YeN5ZCv5py65Zmo77yM5oiW6ICF5pu05paw6YWN572u56iL5bqPICovXG4gICAgRVJSX01JQ19TVEFSVF9GQUlMOiAtMTMwMixcbiAgICAvKiog6bqm5YWL6aOO6K6+5aSH5pyq5o6I5p2D77yM6YCa5bi45Zyo56e75Yqo6K6+5aSH5Ye6546w77yM5Y+v6IO95piv5p2D6ZmQ6KKr55So5oi35ouS57ud5LqGICovXG4gICAgRVJSX01JQ19OT1RfQVVUSE9SSVpFRDogLTEzMTcsXG4gICAgLyoqIOm6puWFi+mjjuiuvue9ruWPguaVsOWksei0pSAqL1xuICAgIEVSUl9NSUNfU0VUX1BBUkFNX0ZBSUw6IC0xMzE4LFxuICAgIC8qKiDpuqblhYvpo47mraPlnKjooqvljaDnlKjkuK3vvIzkvovlpoLnp7vliqjorr7lpIfmraPlnKjpgJror53ml7bvvIzmiZPlvIDpuqblhYvpo47kvJrlpLHotKUgKi9cbiAgICBFUlJfTUlDX09DQ1VQWTogLTEzMTksXG4gICAgLyoqIOWBnOatoum6puWFi+mjjuWksei0pSAqL1xuICAgIEVSUl9NSUNfU1RPUF9GQUlMOiAtMTMyMCxcbiAgICAvKiog5omT5byA5oms5aOw5Zmo5aSx6LSl77yM5L6L5aaC5ZyoIFdpbmRvd3Mg5oiWIE1hYyDorr7lpIfvvIzmiazlo7DlmajnmoTphY3nva7nqIvluo/vvIjpqbHliqjnqIvluo/vvInlvILluLjvvIznpoHnlKjlkI7ph43mlrDlkK/nlKjorr7lpIfvvIzmiJbogIXph43lkK/mnLrlmajvvIzmiJbogIXmm7TmlrDphY3nva7nqIvluo8gKi9cbiAgICBFUlJfU1BFQUtFUl9TVEFSVF9GQUlMOiAtMTMyMSxcbiAgICAvKiog5oms5aOw5Zmo6K6+572u5Y+C5pWw5aSx6LSlICovXG4gICAgRVJSX1NQRUFLRVJfU0VUX1BBUkFNX0ZBSUw6IC0xMzIyLFxuICAgIC8qKiDlgZzmraLmiazlo7DlmajlpLHotKUgKi9cbiAgICBFUlJfU1BFQUtFUl9TVE9QX0ZBSUw6IC0xMzIzLFxuICAgIC8qKiDlvIDlp4vlvZXlsY/lpLHotKXvvIzlpoLmnpzlnKjnp7vliqjorr7lpIflh7rnjrDvvIzlj6/og73mmK/mnYPpmZDooqvnlKjmiLfmi5Lnu53kuobvvIzlpoLmnpzlnKggV2luZG93cyDmiJYgTWFjIOezu+e7n+eahOiuvuWkh+WHuueOsO+8jOivt+ajgOafpeW9leWxj+aOpeWPo+eahOWPguaVsOaYr+WQpuespuWQiOimgeaxgiAqL1xuICAgIEVSUl9TQ1JFRU5fQ0FQVFVSRV9TVEFSVF9GQUlMOiAtMTMwOCxcbiAgICAvKiog5b2V5bGP5aSx6LSl77yM5ZyoIEFuZHJvaWQg5bmz5Y+w77yM6ZyA6KaBNS4w5Lul5LiK55qE57O757ufICovXG4gICAgRVJSX1NDUkVFTl9DQVBUVVJFX1VOU1VSUE9SVDogLTEzMDksXG4gICAgLyoqIOayoeacieadg+mZkOS4iuihjOi+hei3ryAqL1xuICAgIEVSUl9TRVJWRVJfQ0VOVEVSX05PX1BSSVZJTEVER0VfUFVTSF9TVUJfVklERU86IC0xMDIwMTUsXG4gICAgLyoqIOWFtuS7lueUqOaIt+ato+WcqOS4iuihjOi+hei3ryAqL1xuICAgIEVSUl9TRVJWRVJfQ0VOVEVSX0FOT1RIRVJfVVNFUl9QVVNIX1NVQl9WSURFTzogLTEwMjAxNixcbiAgICAvKiog6KeG6aKR5bin57yW56CB5aSx6LSl77yM5L6L5aaCIGlPUyDorr7lpIfliIfmjaLliLDlhbbku5blupTnlKjml7bvvIznoaznvJbnoIHlmajlj6/og73ooqvns7vnu5/ph4rmlL7vvIzlho3liIfmjaLlm57mnaXml7bvvIznoaznvJbnoIHlmajph43lkK/liY3vvIzlj6/og73kvJrmipvlh7ogKi9cbiAgICBFUlJfVklERU9fRU5DT0RFX0ZBSUw6IC0xMzAzLFxuICAgIC8qKiDpn7PpopHluKfnvJbnoIHlpLHotKXvvIzkvovlpoLkvKDlhaXoh6rlrprkuYnpn7PpopHmlbDmja7vvIxTREsg5peg5rOV5aSE55CGICovXG4gICAgRVJSX0FVRElPX0VOQ09ERV9GQUlMOiAtMTMwNCxcbiAgICAvKiog5LiN5pSv5oyB55qE6KeG6aKR5YiG6L6o546HICovXG4gICAgRVJSX1VOU1VQUE9SVEVEX1JFU09MVVRJT046IC0xMzA1LFxuICAgIC8qKiDkuI3mlK/mjIHnmoTpn7PpopHph4fmoLfnjocgKi9cbiAgICBFUlJfVU5TVVBQT1JURURfU0FNUExFUkFURTogLTEzMDYsXG4gICAgLyoqIOiuvue9rueahCBwaXhlbCBmb3JtYXQg5LiN5pSv5oyBICovXG4gICAgRVJSX1BJWEVMX0ZPUk1BVF9VTlNVUFBPUlRFRDogLTEzMjcsXG4gICAgLyoqIOiuvue9rueahCBidWZmZXIgdHlwZSDkuI3mlK/mjIEgKi9cbiAgICBFUlJfQlVGRkVSX1RZUEVfVU5TVVBQT1JURUQ6IC0xMzI4LFxuICAgIC8qKiDml4Hot6/ovazmjqjor7fmsYLotoXml7YgKi9cbiAgICBFUlJfUFVCTElTSF9DRE5fU1RSRUFNX1JFUVVFU1RfVElNRV9PVVQ6IC0zMzIxLFxuICAgIC8qKiDkupHnq6/mt7fmtYHor7fmsYLotoXml7YgKi9cbiAgICBFUlJfQ0xPVURfTUlYX1RSQU5TQ09ESU5HX1JFUVVFU1RfVElNRV9PVVQ6IC0zMzIyLFxuICAgIC8qKiDml4Hot6/ovazmjqjlm57ljIXlvILluLggKi9cbiAgICBFUlJfUFVCTElTSF9DRE5fU1RSRUFNX1NFUlZFUl9GQUlMRUQ6IC0zMzIzLFxuICAgIC8qKiDkupHnq6/mt7fmtYHlm57ljIXlvILluLggKi9cbiAgICBFUlJfQ0xPVURfTUlYX1RSQU5TQ09ESU5HX1NFUlZFUl9GQUlMRUQ6IC0zMzI0LFxuICAgIC8qKiDlvIDlp4vlkJHohb7orq/kupHnmoTnm7Tmkq0gQ0ROIOaOqOa1geS/oeS7pOi2heaXtiAqL1xuICAgIEVSUl9ST09NX1JFUVVFU1RfU1RBUlRfUFVCTElTSElOR19USU1FT1VUOiAtMzMzMyxcbiAgICAvKiog5byA5aeL5ZCR6IW+6K6v5LqR55qE55u05pKtIENETiDmjqjmtYHkv6Hku6TlvILluLggKi9cbiAgICBFUlJfUk9PTV9SRVFVRVNUX1NUQVJUX1BVQkxJU0hJTkdfRVJST1I6IC0zMzM0LFxuICAgIC8qKiDlgZzmraLlkJHohb7orq/kupHnmoTnm7Tmkq0gQ0ROIOaOqOa1geS/oeS7pOi2heaXtiAqL1xuICAgIEVSUl9ST09NX1JFUVVFU1RfU1RPUF9QVUJMSVNISU5HX1RJTUVPVVQ6IC0zMzM1LFxuICAgIC8qKiDlgZzmraLlkJHohb7orq/kupHnmoTnm7Tmkq0gQ0ROIOaOqOa1geS/oeS7pOW8guW4uCAqL1xuICAgIEVSUl9ST09NX1JFUVVFU1RfU1RPUF9QVUJMSVNISU5HX0VSUk9SOiAtMzMzNixcbiAgICAvKiog6K+35rGC6L+e6bqm6LaF5pe2ICovXG4gICAgRVJSX1JPT01fUkVRVUVTVF9DT05OX1JPT01fVElNRU9VVDogLTMzMjYsXG4gICAgLyoqIOivt+axgumAgOWHuui/num6pui2heaXtiAqL1xuICAgIEVSUl9ST09NX1JFUVVFU1RfRElTQ09OTl9ST09NX1RJTUVPVVQ6IC0zMzI3LFxuICAgIC8qKiDml6DmlYjlj4LmlbAgKi9cbiAgICBFUlJfUk9PTV9SRVFVRVNUX0NPTk5fUk9PTV9JTlZBTElEX1BBUkFNOiAtMzMyOCxcbiAgICAvKiog5b2T5YmN5piv6KeC5LyX6KeS6Imy77yM5LiN6IO96K+35rGC5oiW5pat5byA6Leo5oi/6L+e6bqm77yM6ZyA6KaB5YWIIHN3aXRjaFJvbGUoKSDliLDkuLvmkq0gKi9cbiAgICBFUlJfQ09OTkVDVF9PVEhFUl9ST09NX0FTX0FVRElFTkNFOiAtMzMzMCxcbiAgICAvKiog5LiN5pSv5oyB6Leo5oi/6Ze06L+e6bqmICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX05PVF9TVVBQT1JUOiAtMTAyMDMxLFxuICAgIC8qKiDovr7liLDot6jmiL/pl7Tov57puqbkuIrpmZAgKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fUkVBQ0hfTUFYX05VTTogLTEwMjAzMixcbiAgICAvKiog6Leo5oi/6Ze06L+e6bqm6YeN6K+V5qyh5pWw6ICX5bC9ICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX1JFQUNIX01BWF9SRVRSWV9USU1FUzogLTEwMjAzMyxcbiAgICAvKiog6Leo5oi/6Ze06L+e6bqm6K+35rGC6LaF5pe2ICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX1JFUV9USU1FT1VUOiAtMTAyMDM0LFxuICAgIC8qKiDot6jmiL/pl7Tov57puqbor7fmsYLmoLzlvI/plJnor68gKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fUkVROiAtMTAyMDM1LFxuICAgIC8qKiDot6jmiL/pl7Tov57puqbml6Dnrb7lkI0gKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fTk9fU0lHOiAtMTAyMDM2LFxuICAgIC8qKiDot6jmiL/pl7Tov57puqbnrb7lkI3op6Plr4blpLHotKUgKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fREVDUllQVF9TSUc6IC0xMDIwMzcsXG4gICAgLyoqIOacquaJvuWIsOi3qOaIv+mXtOi/num6puetvuWQjeino+WvhuWvhumSpSAqL1xuICAgIEVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9OT19LRVk6IC0xMDIwMzgsXG4gICAgLyoqIOi3qOaIv+mXtOi/num6puetvuWQjeino+aekOmUmeivryAqL1xuICAgIEVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9QQVJTRV9TSUc6IC0xMDIwMzksXG4gICAgLyoqIOi3qOaIv+mXtOi/num6puetvuWQjeaXtumXtOaIs+mUmeivryAqL1xuICAgIEVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9JTlZBTElEX1NJR19USU1FOiAtMTAyMDQwLFxuICAgIC8qKiDot6jmiL/pl7Tov57puqbnrb7lkI3kuI3ljLnphY0gKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fU0lHX0dST1VQSUQ6IC0xMDIwNDEsXG4gICAgLyoqIOacrOaIv+mXtOaXoOi/num6piAqL1xuICAgIEVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9OT1RfQ09OTkVEOiAtMTAyMDQyLFxuICAgIC8qKiDmnKznlKjmiLfmnKrlj5Hotbfov57puqYgKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fVVNFUl9OT1RfQ09OTkVEOiAtMTAyMDQzLFxuICAgIC8qKiDot6jmiL/pl7Tov57puqblpLHotKUgKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fRkFJTEVEOiAtMTAyMDQ0LFxuICAgIC8qKiDlj5bmtojot6jmiL/pl7Tov57puqblpLHotKUgKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fQ0FOQ0VMX0ZBSUxFRDogLTEwMjA0NSxcbiAgICAvKiog6KKr6L+e6bqm5oi/6Ze05LiN5a2Y5ZyoICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX0NPTk5FRF9ST09NX05PVF9FWElTVDogLTEwMjA0NixcbiAgICAvKiog6KKr6L+e6bqm5oi/6Ze06L6+5Yiw6L+e6bqm5LiK6ZmQICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX0NPTk5FRF9SRUFDSF9NQVhfUk9PTTogLTEwMjA0NyxcbiAgICAvKiog6KKr6L+e6bqm55So5oi35LiN5a2Y5ZyoICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX0NPTk5FRF9VU0VSX05PVF9FWElTVDogLTEwMjA0OCxcbiAgICAvKiog6KKr6L+e6bqm55So5oi35bey6KKr5Yig6ZmkICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfQ09OTl9ST09NX0NPTk5FRF9VU0VSX0RFTEVURUQ6IC0xMDIwNDksXG4gICAgLyoqIOiiq+i/num6pueUqOaIt+i+vuWIsOi1hOa6kOS4iumZkCAqL1xuICAgIEVSUl9TRVJWRVJfQ0VOVEVSX0NPTk5fUk9PTV9DT05ORURfVVNFUl9GVUxMOiAtMTAyMDUwLFxuICAgIC8qKiDov57puqbor7fmsYLluo/lj7fplJnkubEgKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9DT05OX1JPT01fSU5WQUxJRF9TRVE6IC0xMDIwNTEsXG4gICAgLyoqIOebtOaSre+8jOaOqOa1geWHuueOsOe9kee7nOaWreW8gO+8jOS4lOe7j+i/h+WkmuasoemHjeivleaXoOazleaBouWkjSAqL1xuICAgIEVSUl9SVE1QX1BVU0hfTkVUX0RJU0NPTk5FQ1Q6IC0xMzA3LFxuICAgIC8qKiDnm7Tmkq3vvIzmjqjmtYHlnLDlnYDpnZ7ms5XvvIzkvovlpoLkuI3mmK8gUlRNUCDljY/orq7nmoTlnLDlnYAgKi9cbiAgICBFUlJfUlRNUF9QVVNIX0lOVkFMSURfQUREUkVTUzogLTEzMTMsXG4gICAgLyoqIOebtOaSre+8jOi/nuaOpeaOqOa1geacjeWKoeWZqOWksei0pe+8iOiLpeaUr+aMgeaZuuiDvemAiei3r++8jElQIOWFqOmDqOWksei0pe+8iSAqL1xuICAgIEVSUl9SVE1QX1BVU0hfTkVUX0FMTEFERFJFU1NfRkFJTDogLTEzMjQsXG4gICAgLyoqIOebtOaSre+8jOe9kee7nOS4jeWPr+eUqO+8jOivt+ehruiupCBXaUZp44CB56e75Yqo5pWw5o2u5oiW6ICF5pyJ57q/572R57uc5piv5ZCm5q2j5bi4ICovXG4gICAgRVJSX1JUTVBfUFVTSF9OT19ORVRXT1JLOiAtMTMyNSxcbiAgICAvKiog55u05pKt77yM5pyN5Yqh5Zmo5ouS57ud6L+e5o6l6K+35rGC77yM5Y+v6IO95piv6K+l5o6o5rWB5Zyw5Z2A5bey57uP6KKr5Y2g55So77yM5oiW6ICFIFRYU2VjcmV0IOagoemqjOWksei0pe+8jOaIluiAheaYr+i/h+acn+S6hu+8jOaIluiAheaYr+asoOi0ueS6hiAqL1xuICAgIEVSUl9SVE1QX1BVU0hfU0VSVkVSX1JFRlVTRTogLTEzMjYsXG4gICAgLyoqIOebtOaSre+8jOe9kee7nOaWrei/nu+8jOS4lOe7j+WkmuasoemHjei/nuaKouaVkeaXoOaViO+8jOWPr+S7peaUvuW8g+ayu+eWl++8jOabtOWkmumHjeivleivt+iHquihjOmHjeWQr+aSreaUviAqL1xuICAgIEVSUl9QTEFZX0xJVkVfU1RSRUFNX05FVF9ESVNDT05ORUNUOiAtMjMwMSxcbiAgICAvKiog55u05pKt77yM6I635Y+W5Yqg6YCf5ouJ5rWB55qE5Zyw5Z2A5aSx6LSlICovXG4gICAgRVJSX0dFVF9SVE1QX0FDQ19VUkxfRkFJTDogLTIzMDIsXG4gICAgLyoqIOaSreaUvueahOaWh+S7tuS4jeWtmOWcqCAqL1xuICAgIEVSUl9GSUxFX05PVF9GT1VORDogLTIzMDMsXG4gICAgLyoqIEgyNjUg6Kej56CB5aSx6LSlICovXG4gICAgRVJSX0hFVkNfREVDT0RFX0ZBSUw6IC0yMzA0LFxuICAgIC8qKiDngrnmkq3vvIzpn7Pop4bpopHmtYHop6Plr4blpLHotKUgKi9cbiAgICBFUlJfVk9EX0RFQ1JZUFRfRkFJTDogLTIzMDUsXG4gICAgLyoqIOeCueaSre+8jOiOt+WPlueCueaSreaWh+S7tuS/oeaBr+Wksei0pSAqL1xuICAgIEVSUl9HRVRfVk9ERklMRV9NRURJQUlORk9fRkFJTDogLTIzMDYsXG4gICAgLyoqIOebtOaSre+8jOWIh+a1geWksei0pe+8iOWIh+a1geWPr+S7peaSreaUvuS4jeWQjOeUu+mdouWkp+Wwj+eahOinhumike+8iSAqL1xuICAgIEVSUl9QTEFZX0xJVkVfU1RSRUFNX1NXSVRDSF9GQUlMOiAtMjMwNyxcbiAgICAvKiog55u05pKt77yM5pyN5Yqh5Zmo5ouS57ud6L+e5o6l6K+35rGCICovXG4gICAgRVJSX1BMQVlfTElWRV9TVFJFQU1fU0VSVkVSX1JFRlVTRTogLTIzMDgsXG4gICAgLyoqIOebtOaSre+8jFJUTVBBQ0Mg5L2O5bu25pe25ouJ5rWB5aSx6LSl77yM5LiU57uP6L+H5aSa5qyh6YeN6K+V5peg5rOV5oGi5aSNICovXG4gICAgRVJSX1JUTVBfQUNDX0ZFVENIX1NUUkVBTV9GQUlMOiAtMjMwOSxcbiAgICAvKiog5b+D6Lez5aSx6LSl77yM5a6i5oi356uv5a6a5pe25ZCR5pyN5Yqh5Zmo5Y+R6YCB5pWw5o2u5YyF77yM5ZGK6K+J5pyN5Yqh5Zmo6Ieq5bex5rS7552A77yM6L+Z5Liq6ZSZ6K+v6YCa5bi45piv5Y+R5YyF6LaF5pe2ICovXG4gICAgRVJSX1JPT01fSEVBUlRCRUFUX0ZBSUw6IC0zMzAyLFxuICAgIC8qKiDmi4nlj5bmjqXlj6PmnLrmnI3liqHlmajlnLDlnYDlpLHotKUgKi9cbiAgICBFUlJfUk9PTV9SRVFVRVNUX0lQX0ZBSUw6IC0zMzAzLFxuICAgIC8qKiDov57mjqXmjqXlj6PmnLrmnI3liqHlmajlpLHotKUgKi9cbiAgICBFUlJfUk9PTV9DT05ORUNUX0ZBSUw6IC0zMzA0LFxuICAgIC8qKiDor7fmsYLop4bpopHkvY3lpLHotKUgKi9cbiAgICBFUlJfUk9PTV9SRVFVRVNUX0FWU0VBVF9GQUlMOiAtMzMwNSxcbiAgICAvKiog6K+35rGCIHRva2VuIGh0dHBzIOi2heaXtu+8jOivt+ajgOafpee9kee7nOaYr+WQpuato+W4uO+8jOaIlue9kee7nOmYsueBq+WimeaYr+WQpuaUvuihjCBodHRwcyDorr/pl64gb2ZmaWNpYWwub3BlbnNzby50ZW5jZW50LWNsb3VkLmNvbTo0NDMgKi9cbiAgICBFUlJfUk9PTV9SRVFVRVNUX1RPS0VOX0hUVFBTX1RJTUVPVVQ6IC0zMzA2LFxuICAgIC8qKiDor7fmsYIgSVAg5ZKMIHNpZyDotoXml7bvvIzor7fmo4Dmn6XnvZHnu5zmmK/lkKbmraPluLjvvIzmiJbnvZHnu5zpmLLngavlopnmmK/lkKbmlL7ooYwgVURQIOiuv+mXruS4i+WIlyBJUCDlkozln5/lkI0gcXVlcnkudGVuY2VudC1jbG91ZC5jb206ODAwMCAxNjIuMTQuMjMuMTQwOjgwMDAgMTYyLjE0LjcuNDk6ODAwMCAqL1xuICAgIEVSUl9ST09NX1JFUVVFU1RfSVBfVElNRU9VVDogLTMzMDcsXG4gICAgLyoqIOivt+axguinhumikeS9jei2heaXtiAqL1xuICAgIEVSUl9ST09NX1JFUVVFU1RfVklERU9fRkxBR19USU1FT1VUOiAtMzMwOSxcbiAgICAvKiog6K+35rGC6KeG6aKR5pWw5o2u6LaF5pe2ICovXG4gICAgRVJSX1JPT01fUkVRVUVTVF9WSURFT19EQVRBX1JPT01fVElNRU9VVDogLTMzMTAsXG4gICAgLyoqIOivt+axguS/ruaUueinhumikeiDveWKm+mhuei2heaXtiAqL1xuICAgIEVSUl9ST09NX1JFUVVFU1RfQ0hBTkdFX0FCSUxJVFlfVElNRU9VVDogLTMzMTEsXG4gICAgLyoqIOivt+axgueKtuaAgeS4iuaKpei2heaXtiAqL1xuICAgIEVSUl9ST09NX1JFUVVFU1RfU1RBVFVTX1JFUE9SVF9USU1FT1VUOiAtMzMxMixcbiAgICAvKiog6K+35rGC5YWz6Zet6KeG6aKR6LaF5pe2ICovXG4gICAgRVJSX1JPT01fUkVRVUVTVF9DTE9TRV9WSURFT19USU1FT1VUOiAtMzMxMyxcbiAgICAvKiog6K+35rGC5o6l5pS26KeG6aKR6aG56LaF5pe2ICovXG4gICAgRVJSX1JPT01fUkVRVUVTVF9TRVRfUkVDRUlWRV9USU1FT1VUOiAtMzMxNCxcbiAgICAvKiog6K+35rGCIHRva2VuIOaXoOaViOWPguaVsO+8jOivt+ajgOafpSBUUlRDUGFyYW1zLnVzZXJTaWcg5piv5ZCm5aGr5YaZ5q2j56GuICovXG4gICAgRVJSX1JPT01fUkVRVUVTVF9UT0tFTl9JTlZBTElEX1BBUkFNRVRFUjogLTMzMTUsXG4gICAgLyoqIOivt+axgiBBRVMgVE9LRU4g5pe277yMc2VydmVyIOi/lOWbnueahOWGheWuueaYr+epuueahCAqL1xuICAgIEVSUl9ST09NX1JFUVVFU1RfQUVTX1RPS0VOX1JFVFVSTl9FUlJPUjogLTMzMjksXG4gICAgLyoqIOivt+axguaOpeWPo+acuiBJUCDov5Tlm57nmoTliJfooajkuLrnqbrnmoQgKi9cbiAgICBFUlJfQUNDSVBfTElTVF9FTVBUWTogLTMzMzEsXG4gICAgLyoqIOivt+axguWPkemAgSBKc29uIOS/oeS7pOi2heaXtiAqL1xuICAgIEVSUl9ST09NX1JFUVVFU1RfU0VORF9KU09OX0NNRF9USU1FT1VUOiAtMzMzMixcbiAgICAvLyBJbmZvIOacjeWKoeWZqO+8iOafpeivouaOpeWPo+acuiBJUO+8iSwg5pyN5Yqh5Zmo6ZSZ6K+v56CB77yM5pWw5YC86IyD5Zu0Wy0xMDAwMDAsIC0xMTAwMDBdXG4gICAgLyoqIHNlcnZlciDop6PljIXplJnor6/vvIzlj6/og73or7fmsYLmlbDmja7ooqvnr6HmlLkgKi9cbiAgICBFUlJfU0VSVkVSX0lORk9fVU5QQUNLSU5HX0VSUk9SOiAtMTAwMDAwLFxuICAgIC8qKiBUT0tFTiDplJnor68gKi9cbiAgICBFUlJfU0VSVkVSX0lORk9fVE9LRU5fRVJST1I6IC0xMDAwMDEsXG4gICAgLyoqIOWIhumFjeaOpeWPo+acuumUmeivryAqL1xuICAgIEVSUl9TRVJWRVJfSU5GT19BTExPQ0FURV9BQ0NFU1NfRkFJTEVEOiAtMTAwMDAyLFxuICAgIC8qKiDnlJ/miJDnrb7lkI3plJnor68gKi9cbiAgICBFUlJfU0VSVkVSX0lORk9fR0VORVJBVEVfU0lHTl9GQUlMRUQ6IC0xMDAwMDMsXG4gICAgLyoqIGh0dHBzIHRva2VuIOi2heaXtiAqL1xuICAgIEVSUl9TRVJWRVJfSU5GT19UT0tFTl9USU1FT1VUOiAtMTAwMDA0LFxuICAgIC8qKiDml6DmlYjnmoTlkb3ku6TlrZcgKi9cbiAgICBFUlJfU0VSVkVSX0lORk9fSU5WQUxJRF9DT01NQU5EOiAtMTAwMDA1LFxuICAgIC8qKiDmnYPpmZDkvY3moKHpqozlpLHotKUgKi9cbiAgICBFUlJfU0VSVkVSX0lORk9fUFJJVklMRUdFX0ZMQUdfRVJST1I6IC0xMDAwMDYsXG4gICAgLyoqIGh0dHBzIOivt+axguaXtu+8jOeUn+aIkOWKoOWvhiBrZXkg6ZSZ6K+vICovXG4gICAgRVJSX1NFUlZFUl9JTkZPX0dFTkVSQVRFX0tFTl9FUlJPUjogLTEwMDAwNyxcbiAgICAvKiogaHR0cHMg6K+35rGC5pe277yM55Sf5oiQIHRva2VuIOmUmeivryAqL1xuICAgIEVSUl9TRVJWRVJfSU5GT19HRU5FUkFURV9UT0tFTl9FUlJPUjogLTEwMDAwOCxcbiAgICAvKiog5pWw5o2u5bqT5p+l6K+i5aSx6LSl77yI5oi/6Ze055u45YWz5a2Y5YKo5L+h5oGv77yJICovXG4gICAgRVJSX1NFUlZFUl9JTkZPX0RBVEFCQVNFOiAtMTAwMDA5LFxuICAgIC8qKiDmiL/pl7Tlj7fplJnor68gKi9cbiAgICBFUlJfU0VSVkVSX0lORk9fQkFEX1JPT01JRDogLTEwMDAxMCxcbiAgICAvKiog5Zy65pmv5oiW6KeS6Imy6ZSZ6K+vICovXG4gICAgRVJSX1NFUlZFUl9JTkZPX0JBRF9TQ0VORV9PUl9ST0xFOiAtMTAwMDExLFxuICAgIC8qKiDmiL/pl7Tlj7fovazmjaLlh7rplJkgKi9cbiAgICBFUlJfU0VSVkVSX0lORk9fUk9PTUlEX0VYQ0hBTkdFX0ZBSUxFRDogLTEwMDAxMixcbiAgICAvKiog5oi/6Ze05Y+36Z2e5rOVICovXG4gICAgRVJSX1NFUlZFUl9JTkZPX1NUUkdST1VQX0hBU19JTlZBTElEX0NIQVJTOiAtMTAwMDE0LFxuICAgIC8qKiDpnZ7ms5VTREtBcHBpZCAqL1xuICAgIEVSUl9TRVJWRVJfSU5GT19MQUNLX1NES0FQUElEOiAtMTAwMDE1LFxuICAgIC8qKiDml6DmlYjor7fmsYIsIOaXp+eJiCAweDEg6KaB5rGC5bimIFRva2VuOyBFQ0RIIOimgeaxguW4piBFQ0RIIFB1YmxpY2ggS2V5OyDkuKTkuKrpg73msqHmnInlsLHmjInmiqXplJkgKi9cbiAgICBFUlJfU0VSVkVSX0lORk9fSU5WQUxJRDogLTEwMDAxNixcbiAgICAvKiog55Sf5oiQ5YWs6ZKl5aSx6LSlICovXG4gICAgRVJSX1NFUlZFUl9JTkZPX0VDREhfR0VUX0tFWTogLTEwMDAxNyxcbiAgICAvKiog6I635Y+WdGlueWlk5aSx6LSlICovXG4gICAgRVJSX1NFUlZFUl9JTkZPX0VDREhfR0VUX1RJTllJRDogLTEwMDAxOCxcbiAgICAvLyBBY2Nlc3Mg5o6l5Y+j5py6XG4gICAgLyoqIHRva2VuIOi/h+acnyAqL1xuICAgIEVSUl9TRVJWRVJfQUNDX1RPS0VOX1RJTUVPVVQ6IC0xMDEwMDAsXG4gICAgLyoqIOetvuWQjemUmeivryAqL1xuICAgIEVSUl9TRVJWRVJfQUNDX1NJR05fRVJST1I6IC0xMDEwMDEsXG4gICAgLyoqIOetvuWQjei2heaXtiAqL1xuICAgIEVSUl9TRVJWRVJfQUNDX1NJR05fVElNRU9VVDogLTEwMTAwMixcbiAgICAvKiog5oi/6Ze05LiN5a2Y5ZyoICovXG4gICAgRVJSX1NFUlZFUl9BQ0NfUk9PTV9OT1RfRVhJU1Q6IC0xMDEwMDMsXG4gICAgLyoqIOWQjuWPsOaIv+mXtOagh+ivhiByb29tSWQg6ZSZ6K+vICovXG4gICAgRVJSX1NFUlZFUl9BQ0NfUk9PTUlEOiAtMTAxMDA0LFxuICAgIC8qKiDlkI7lj7DnlKjmiLfkvY3nva7moIfor4YgbG9jYXRpb25JZCDplJnor68gKi9cbiAgICBFUlJfU0VSVkVSX0FDQ19MT0NBVElPTklEOiAtMTAxMDA1LFxuICAgIC8vIGNlbnRlciDmnI3liqHlmajvvIjkv6Hku6TlkozmtYHmjqflpITnkIbnrYnku7vliqHvvIlcbiAgICAvKiog5ZCO5Y+w6ZSZ6K+vICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfU1lTVEVNX0VSUk9SOiAtMTAyMDAwLFxuICAgIC8qKiDml6DmlYjnmoTmiL/pl7QgSWQgKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9JTlZBTElEX1JPT01JRDogLTEwMjAwMSxcbiAgICAvKiog5Yib5bu65oi/6Ze05aSx6LSlICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfQ1JFQVRFX1JPT01fRkFJTEVEOiAtMTAyMDAyLFxuICAgIC8qKiDnrb7lkI3plJnor68gKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9TSUdOX0VSUk9SOiAtMTAyMDAzLFxuICAgIC8qKiDnrb7lkI3ov4fmnJ8gKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9TSUdOX1RJTUVPVVQ6IC0xMDIwMDQsXG4gICAgLyoqIOaIv+mXtOS4jeWtmOWcqCAqL1xuICAgIEVSUl9TRVJWRVJfQ0VOVEVSX1JPT01fTk9UX0VYSVNUOiAtMTAyMDA1LFxuICAgIC8qKiDmiL/pl7Tmt7vliqDnlKjmiLflpLHotKUgKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9BRERfVVNFUl9GQUlMRUQ6IC0xMDIwMDYsXG4gICAgLyoqIOafpeaJvueUqOaIt+Wksei0pSAqL1xuICAgIEVSUl9TRVJWRVJfQ0VOVEVSX0ZJTkRfVVNFUl9GQUlMRUQ6IC0xMDIwMDcsXG4gICAgLyoqIOmikee5geWIh+aNoue7iOerryAqL1xuICAgIEVSUl9TRVJWRVJfQ0VOVEVSX1NXSVRDSF9URVJNSU5BVElPTl9GUkVRVUVOVExZOiAtMTAyMDA4LFxuICAgIC8qKiBsb2NhdGlvbmlkIOmUmeivryAqL1xuICAgIEVSUl9TRVJWRVJfQ0VOVEVSX0xPQ0FUSU9OX05PVF9FWElTVDogLTEwMjAwOSxcbiAgICAvKiog5rKh5pyJ5p2D6ZmQ5Yib5bu65oi/6Ze0ICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfTk9fUFJJVklMRURHRV9DUkVBVEVfUk9PTTogLTEwMjAxMCxcbiAgICAvKiog5rKh5pyJ5p2D6ZmQ6L+b5YWl5oi/6Ze0ICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfTk9fUFJJVklMRURHRV9FTlRFUl9ST09NOiAtMTAyMDExLFxuICAgIC8qKiDovoXot6/miqLop4bpopHkvY3jgIHnlLPor7fovoXot6/or7fmsYLnsbvlnovlj4LmlbDplJnor68gKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9JTlZBTElEX1BBUkFNRVRFUl9TVUJfVklERU86IC0xMDIwMTIsXG4gICAgLyoqIOayoeacieadg+mZkOS4iuinhumikSAqL1xuICAgIEVSUl9TRVJWRVJfQ0VOVEVSX05PX1BSSVZJTEVER0VfUFVTSF9WSURFTzogLTEwMjAxMyxcbiAgICAvKiog5rKh5pyJ56m66Zey6Lev55Sx6KGoICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfUk9VVEVfVEFCTEVfRVJST1I6IC0xMDIwMTQsXG4gICAgLyoqIOW9k+WJjeeUqOaIt+ayoeacieS4iuihjOi+hei3ryAqL1xuICAgIEVSUl9TRVJWRVJfQ0VOVEVSX05PVF9QVVNIX1NVQl9WSURFTzogLTEwMjAxNyxcbiAgICAvKiog55So5oi36KKr5Yig6Zmk54q25oCBICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfVVNFUl9XQVNfREVMRVRFRDogLTEwMjAxOCxcbiAgICAvKiog5rKh5pyJ5p2D6ZmQ6K+35rGC6KeG6aKRICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfTk9fUFJJVklMRURHRV9SRVFVRVNUX1ZJREVPOiAtMTAyMDE5LFxuICAgIC8qKiDov5vmiL/lj4LmlbAgYnVzc0luZm8g6ZSZ6K+vICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfSU5WQUxJRF9QQVJBTUVURVI6IC0xMDIwMjMsXG4gICAgLyoqIOivt+axgiBJIOW4p+acquefpSBvcFR5cGUgKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9JX0ZSQU1FX1VOS05PV19UWVBFOiAtMTAyMDI0LFxuICAgIC8qKiDor7fmsYIgSSDluKfljIXmoLzlvI/plJnor68gKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9JX0ZSQU1FX0lOVkFMSURfUEFDS0VUOiAtMTAyMDI1LFxuICAgIC8qKiDor7fmsYIgSSDluKfnm67moIfnlKjmiLfkuI3lrZjlnKggKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9JX0ZSQU1FX0RFU1RfVVNFUl9OT1RfRVhJU1Q6IC0xMDIwMjYsXG4gICAgLyoqIOivt+axgiBJIOW4p+aIv+mXtOeUqOaIt+WkquWkmiAqL1xuICAgIEVSUl9TRVJWRVJfQ0VOVEVSX0lfRlJBTUVfUk9PTV9UT09fQklHOiAtMTAyMDI3LFxuICAgIC8qKiDor7fmsYIgSSDluKflj4LmlbDplJnor68gKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9JX0ZSQU1FX1JQU19JTlZBTElEX1BBUkFNRVRFUjogLTEwMjAyOCxcbiAgICAvKiog5oi/6Ze05Y+36Z2e5rOVICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfSU5WQUxJRF9ST09NX0lEOiAtMTAyMDI5LFxuICAgIC8qKiDmiL/pl7Tlj7fotoXov4fpmZDliLYgKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9ST09NX0lEX1RPT19MT05HOiAtMTAyMDMwLFxuICAgIC8qKiDmiL/pl7Tmu6HlkZggKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9ST09NX0ZVTEw6IC0xMDIwNTIsXG4gICAgLyoqIGpzb27kuLLop6PmnpDlpLHotKUgKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9ERUNPREVfSlNPTl9GQUlMOiAtMTAyMDUzLFxuICAgIC8qKiDmnKrlrprkuYnlkb3ku6TlrZcgKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9VTktOT1dOX1NVQl9DTUQ6IC0xMDIwNTQsXG4gICAgLyoqIOacquWumuS5ieinkuiJsiAqL1xuICAgIEVSUl9TRVJWRVJfQ0VOVEVSX0lOVkFMSURfUk9MRTogLTEwMjA1NSxcbiAgICAvKiog5Luj55CG5py66LaF5Ye66ZmQ5Yi2ICovXG4gICAgRVJSX1NFUlZFUl9DRU5URVJfUkVBQ0hfUFJPWFlfTUFYOiAtMTAyMDU2LFxuICAgIC8vYWRkIGJ5IHN1bmxpdHdhbmcgYmVnaW5cbiAgICAvKiog5peg5rOV5L+d5a2Y55So5oi36Ieq5a6a5LmJcmVjb3JkSWQgKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9SRUNPUkRJRF9TVE9SRTogLTEwMjA1NyxcbiAgICAvKiogUHJvdG9idWbluo/liJfljJbplJnor68gKi9cbiAgICBFUlJfU0VSVkVSX0NFTlRFUl9QQl9TRVJJQUxJWkU6IC0xMDIwNTgsXG4gICAgLy8gaHR0cHM6Ly9jbG91ZC50ZW5jZW50LmNvbS9kb2N1bWVudC9wcm9kdWN0LzI2OS8xNjcxIy5FNS5COC45MC5FNS44Ri5CNy5FNy5CMy5CQi5FNy5CQi45RiAsIOW4kOWPt+ezu+e7nywg5Li76KaB5pivNzAwMDAgLSA3OTk5OeS5i+mXtC5cbiAgICAvLyDlnKjor7fmsYIgdG9rZW4g6L+H56iL5Lit77yM5Ye6546w6LSm5Y+36ZSZ6K+v77yMU1NPIOi/lOWbnueahOmUmeivr+egge+8jOWOn+S4uuato+aVsO+8jOeOsOWwhuWFtui9rOaNouS4uui0n+aVsOOAglxuICAgIC8qKiBzaWcg6L+H5pyf77yM6K+35bCd6K+V6YeN5paw55Sf5oiQ44CC5aaC5p6c5piv5Yia55Sf5oiQ77yM5bCx6L+H5pyf77yM6K+35qOA5p+l5pyJ5pWI5pyf5aGr5YaZ55qE5piv5ZCm6L+H5bCP77yM5oiW6ICF5aGr55qEIDAgKi9cbiAgICBFUlJfU0VSVkVSX1NTT19TSUdfRVhQSVJFRDogLTcwMDAxLFxuICAgIC8qKiBzaWcg5qCh6aqM5aSx6LSl77yM6K+356Gu6K6k5LiLIHNpZyDlhoXlrrnmmK/lkKbooqvmiKrmlq3vvIzlpoLnvJPlhrLljLrplb/luqbkuI3lpJ/lr7zoh7TnmoTlhoXlrrnmiKrmlq0gKi9cbiAgICBFUlJfU0VSVkVSX1NTT19TSUdfVkVSSUZJQ0FUSU9OX0ZBSUxFRF8xOiAtNzAwMDMsXG4gICAgLyoqIHNpZyDmoKHpqozlpLHotKXvvIzor7fnoa7orqTkuIsgc2lnIOWGheWuueaYr+WQpuiiq+aIquaWre+8jOWmgue8k+WGsuWMuumVv+W6puS4jeWkn+WvvOiHtOeahOWGheWuueaIquaWrSAqL1xuICAgIEVSUl9TRVJWRVJfU1NPX1NJR19WRVJJRklDQVRJT05fRkFJTEVEXzI6IC03MDAwNCxcbiAgICAvKiogc2lnIOagoemqjOWksei0pe+8jOWPr+eUqOW3peWFt+iHquihjOmqjOivgeeUn+aIkOeahCBzaWcg5piv5ZCm5q2j56GuICovXG4gICAgRVJSX1NFUlZFUl9TU09fU0lHX1ZFUklGSUNBVElPTl9GQUlMRURfMzogLTcwMDA1LFxuICAgIC8qKiBzaWcg5qCh6aqM5aSx6LSl77yM5Y+v55So5bel5YW36Ieq6KGM6aqM6K+B55Sf5oiQ55qEIHNpZyDmmK/lkKbmraPnoa4gKi9cbiAgICBFUlJfU0VSVkVSX1NTT19TSUdfVkVSSUZJQ0FUSU9OX0ZBSUxFRF80OiAtNzAwMDYsXG4gICAgLyoqIHNpZyDmoKHpqozlpLHotKXvvIzlj6/nlKjlt6Xlhbfoh6rooYzpqozor4HnlJ/miJDnmoQgc2lnIOaYr+WQpuato+ehriAqL1xuICAgIEVSUl9TRVJWRVJfU1NPX1NJR19WRVJJRklDQVRJT05fRkFJTEVEXzU6IC03MDAwNyxcbiAgICAvKiogc2lnIOagoemqjOWksei0pe+8jOWPr+eUqOW3peWFt+iHquihjOmqjOivgeeUn+aIkOeahCBzaWcg5piv5ZCm5q2j56GuICovXG4gICAgRVJSX1NFUlZFUl9TU09fU0lHX1ZFUklGSUNBVElPTl9GQUlMRURfNjogLTcwMDA4LFxuICAgIC8qKiDnlKjkuJrliqHlhazpkqXpqozor4Egc2lnIOWksei0pe+8jOivt+ehruiupOeUn+aIkOeahCB1c2Vyc2lnIOS9v+eUqOeahOengemSpeWSjCBzZGtBcHBJZCDmmK/lkKblr7nlupQgKi9cbiAgICBFUlJfU0VSVkVSX1NTT19TSUdfVkVSSUZJQ0FUSU9OX0ZBSUxFRF83OiAtNzAwMDksXG4gICAgLyoqIHNpZyDmoKHpqozlpLHotKXvvIzlj6/nlKjlt6Xlhbfoh6rooYzpqozor4HnlJ/miJDnmoQgc2lnIOaYr+WQpuato+ehriAqL1xuICAgIEVSUl9TRVJWRVJfU1NPX1NJR19WRVJJRklDQVRJT05fRkFJTEVEXzg6IC03MDAxMCxcbiAgICAvKiogc2lnIOS4rSBpZGVudGlmaWVyIOS4juivt+axguaXtueahCBpZGVudGlmaWVyIOS4jeWMuemFje+8jOivt+ajgOafpeeZu+W9leaXtuWhq+WGmeeahCBpZGVudGlmaWVyIOS4jiBzaWcg5Lit55qE5piv5ZCm5LiA6Ie0ICovXG4gICAgRVJSX1NFUlZFUl9TU09fU0lHX1ZFUklGSUNBVElPTl9JRF9OT1RfTUFUQ0g6IC03MDAxMyxcbiAgICAvKiogc2lnIOS4rSBzZGtBcHBJZCDkuI7or7fmsYLml7bnmoQgc2RrQXBwSWQg5LiN5Yy56YWN77yM6K+35qOA5p+l55m75b2V5pe25aGr5YaZ55qEIHNka0FwcElkIOS4jiBzaWcg5Lit55qE5piv5ZCm5LiA6Ie0ICovXG4gICAgRVJSX1NFUlZFUl9TU09fQVBQSURfTk9UX01BVENIOiAtNzAwMTQsXG4gICAgLyoqIOWGhemDqOesrOS4ieaWueelqOaNrumqjOivgei2heaXtu+8jOivt+mHjeivle+8jOWmguWkmuasoemHjeivleS4jeaIkOWKn++8jOivt0BUTFMg5biQ5Y+35pSv5oyB77yMUVEgMzI2ODUxOTYwNCAqL1xuICAgIEVSUl9TRVJWRVJfU1NPX1ZFUklGSUNBVElPTl9FWFBJUkVEOiAtNzAwMTcsXG4gICAgLyoqIOWGhemDqOesrOS4ieaWueelqOaNrumqjOivgei2heaXtu+8jOivt+mHjeivle+8jOWmguWkmuasoemHjeivleS4jeaIkOWKn++8jOivt0BUTFMg5biQ5Y+35pSv5oyB77yMUVEgMzI2ODUxOTYwNCAqL1xuICAgIEVSUl9TRVJWRVJfU1NPX1ZFUklGSUNBVElPTl9GQUlMRUQ6IC03MDAxOCxcbiAgICAvKiogc2RrQXBwSWQg5pyq5om+5Yiw77yM6K+356Gu6K6k5piv5ZCm5bey57uP5Zyo6IW+6K6v5LqR5LiK6YWN572uICovXG4gICAgRVJSX1NFUlZFUl9TU09fQVBQSURfTk9UX0ZPVU5EOiAtNzAwMjAsXG4gICAgLyoqIOW4kOWPt+W3suiiq+aLieWFpem7keWQjeWNle+8jOivt+iBlOezuyBUTFMg5biQ5Y+35pSv5oyBIFFRIDMyNjg1MTk2MDQgKi9cbiAgICBFUlJfU0VSVkVSX1NTT19BQ0NPVU5UX0lOX0JMQUNLTElTVDogLTcwMDUxLFxuICAgIC8qKiB1c2Vyc2lnIOW3sue7j+WkseaViO+8jOivt+mHjeaWsOeUn+aIkO+8jOWGjeasoeWwneivlSAqL1xuICAgIEVSUl9TRVJWRVJfU1NPX1NJR19JTlZBTElEOiAtNzAwNTIsXG4gICAgLyoqIOWuieWFqOWOn+WboOiiq+mZkOWItiAqL1xuICAgIEVSUl9TRVJWRVJfU1NPX0xJTUlURURfQllfU0VDVVJJVFk6IC03MDExNCxcbiAgICAvKiog55m75b2V54q25oCB5peg5pWI77yM6K+35L2/55SoIHVzZXJzaWcg6YeN5paw6Ym05p2DICovXG4gICAgRVJSX1NFUlZFUl9TU09fSU5WQUxJRF9MT0dJTl9TVEFUVVM6IC03MDIyMSxcbiAgICAvKiogc2RrQXBwSWQg5aGr5YaZ6ZSZ6K+vICovXG4gICAgRVJSX1NFUlZFUl9TU09fQVBQSURfRVJST1I6IC03MDI1MixcbiAgICAvKiog56Wo5o2u5qCh6aqM5aSx6LSl77yM6K+35qOA5p+l5ZCE6aG55Y+C5pWw5piv5ZCm5q2j56GuICovXG4gICAgRVJSX1NFUlZFUl9TU09fVElDS0VUX1ZFUklGSUNBVElPTl9GQUlMRUQ6IC03MDM0NixcbiAgICAvKiog56Wo5o2u5Zug6L+H5pyf5Y6f5Zug5qCh6aqM5aSx6LSlICovXG4gICAgRVJSX1NFUlZFUl9TU09fVElDS0VUX0VYUElSRUQ6IC03MDM0NyxcbiAgICAvKiog5Yib5bu66LSm5Y+35pWw6YeP6LaF6L+H5bey6LSt5Lmw6aKE5LuY6LS55pWw6YeP6ZmQ5Yi2ICovXG4gICAgRVJSX1NFUlZFUl9TU09fQUNDT1VOVF9FWENFRURfUFVSQ0hBU0VTOiAtNzAzOTgsXG4gICAgLyoqIOacjeWKoeWZqOWGhemDqOmUmeivr++8jOivt+mHjeivlSAqL1xuICAgIEVSUl9TRVJWRVJfU1NPX0lOVEVSTkFMX0VSUk9SOiAtNzA1MDAsXG59O1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gICAgICAgICAgICAgICAgICAgICDvvIjkuozvvInplJnor6/noIHvvIjorablkYrvvIlcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8qKlxuICogQG1lbWJlcm9mIEVycm9yQ29kZVxuICogQHR5cGVkZWYg6ZSZ6K+v56CB77yI6K2m5ZGK77yJXG4gKiBAZGVzY3JpcHRpb24gU0RLIOmUmeivr+egge+8iOitpuWRiu+8ieWvueeFp+ihqFxuICogfCDnrKblj7cgfCDlgLwgfCDlkKvkuYkgfFxuICogfC0tLXwtLS18LS0tfFxuICogfFdBUk5JTkdfSFdfRU5DT0RFUl9TVEFSVF9GQUlMfDExMDN856Gs57yW56CB5ZCv5Yqo5Ye6546w6Zeu6aKY77yM6Ieq5Yqo5YiH5o2i5Yiw6L2v57yW56CBfFxuICogfFdBUk5JTkdfVklERU9fRU5DT0RFUl9TV19UT19IV3wxMTA3fOW9k+WJjSBDUFUg5L2/55So546H5aSq6auY77yM5peg5rOV5ruh6Laz6L2v5Lu257yW56CB6ZyA5rGC77yM6Ieq5Yqo5YiH5o2i5Yiw56Gs5Lu257yW56CBfFxuICogfFdBUk5JTkdfSU5TVUZGSUNJRU5UX0NBUFRVUkVfRlBTfDExMDh85pGE5YOP5aS06YeH6ZuG5bin546H5LiN6Laz77yM6YOo5YiG6Ieq5bim576O6aKc566X5rOV55qEIEFuZHJvaWQg5omL5py65LiK5Lya5Ye6546wfFxuICogfFdBUk5JTkdfU1dfRU5DT0RFUl9TVEFSVF9GQUlMfDExMDl86L2v57yW56CB5ZCv5Yqo5aSx6LSlfFxuICogfFdBUk5JTkdfUkVEVUNFX0NBUFRVUkVfUkVTT0xVVElPTnwxMTEwfOaRhOWDj+WktOmHh+mbhuWIhui+qOeOh+iiq+mZjeS9ju+8jOS7pea7oei2s+W9k+WJjeW4p+eOh+WSjOaAp+iDveacgOS8mOino+OAgnxcbiAqIHxXQVJOSU5HX1ZJREVPX0ZSQU1FX0RFQ09ERV9GQUlMfDIxMDF85b2T5YmN6KeG6aKR5bin6Kej56CB5aSx6LSlfFxuICogfFdBUk5JTkdfQVVESU9fRlJBTUVfREVDT0RFX0ZBSUx8MjEwMnzlvZPliY3pn7PpopHluKfop6PnoIHlpLHotKV8XG4gKiB8V0FSTklOR19WSURFT19QTEFZX0xBR3wyMTA1fOW9k+WJjeinhumikeaSreaUvuWHuueOsOWNoemhv3xcbiAqIHxXQVJOSU5HX0hXX0RFQ09ERVJfU1RBUlRfRkFJTHwyMTA2fOehrOino+WQr+WKqOWksei0pe+8jOmHh+eUqOi9r+ino+eggXxcbiAqIHxXQVJOSU5HX1ZJREVPX0RFQ09ERVJfSFdfVE9fU1d8MjEwOHzlvZPliY3mtYHnoazop6PnrKzkuIDkuKogSSDluKflpLHotKXvvIxTREsg6Ieq5Yqo5YiH6L2v6KejfFxuICogfFdBUk5JTkdfU1dfREVDT0RFUl9TVEFSVF9GQUlMfDIxMDl86L2v6Kej56CB5Zmo5ZCv5Yqo5aSx6LSlfFxuICogfFdBUk5JTkdfVklERU9fUkVOREVSX0ZBSUx8MjExMHzop4bpopHmuLLmn5PlpLHotKV8XG4gKiB8V0FSTklOR19BVURJT19SRUNPUkRJTkdfV1JJVEVfRkFJTHw3MDAxfOmfs+mikeW9leWItuWGmeWFpeaWh+S7tuWksei0pXxcbiAqIHxXQVJOSU5HX1JPT01fRElTQ09OTkVDVHw1MTAxfOe9kee7nOaWreW8gOi/nuaOpXxcbiAqIHxXQVJOSU5HX0lHTk9SRV9VUFNUUkVBTV9GT1JfQVVESUVOQ0V8NjAwMXzlvZPliY3mmK/op4LkvJfop5LoibLvvIzlv73nlaXkuIrooYzpn7Pop4bpopHmlbDmja58XG4gKi9cbmV4cG9ydCBjb25zdCBUWExpdGVBVldhcm5pbmcgPSB7XG4gICAgLyoqIOehrOe8lueggeWQr+WKqOWHuueOsOmXrumimO+8jOiHquWKqOWIh+aNouWIsOi9r+e8lueggSAqL1xuICAgIFdBUk5JTkdfSFdfRU5DT0RFUl9TVEFSVF9GQUlMOiAxMTAzLFxuICAgIC8qKiDlvZPliY0gQ1BVIOS9v+eUqOeOh+WkqumrmO+8jOaXoOazlea7oei2s+i9r+S7tue8lueggemcgOaxgu+8jOiHquWKqOWIh+aNouWIsOehrOS7tue8lueggSAqL1xuICAgIFdBUk5JTkdfVklERU9fRU5DT0RFUl9TV19UT19IVzogMTEwNyxcbiAgICAvKiog5pGE5YOP5aS06YeH6ZuG5bin546H5LiN6Laz77yM6YOo5YiG6Ieq5bim576O6aKc566X5rOV55qEIEFuZHJvaWQg5omL5py65LiK5Lya5Ye6546wICovXG4gICAgV0FSTklOR19JTlNVRkZJQ0lFTlRfQ0FQVFVSRV9GUFM6IDExMDgsXG4gICAgLyoqIOi9r+e8lueggeWQr+WKqOWksei0pSAqL1xuICAgIFdBUk5JTkdfU1dfRU5DT0RFUl9TVEFSVF9GQUlMOiAxMTA5LFxuICAgIC8qKiDmkYTlg4/lpLTph4fpm4bliIbovqjnjofooqvpmY3kvY7vvIzku6Xmu6HotrPlvZPliY3luKfnjoflkozmgKfog73mnIDkvJjop6PjgIIgKi9cbiAgICBXQVJOSU5HX1JFRFVDRV9DQVBUVVJFX1JFU09MVVRJT046IDExMTAsXG4gICAgLyoqIOW9k+WJjeinhumikeW4p+ino+eggeWksei0pSAqL1xuICAgIFdBUk5JTkdfVklERU9fRlJBTUVfREVDT0RFX0ZBSUw6IDIxMDEsXG4gICAgLyoqIOW9k+WJjemfs+mikeW4p+ino+eggeWksei0pSAqL1xuICAgIFdBUk5JTkdfQVVESU9fRlJBTUVfREVDT0RFX0ZBSUw6IDIxMDIsXG4gICAgLyoqIOW9k+WJjeinhumikeaSreaUvuWHuueOsOWNoemhvyAqL1xuICAgIFdBUk5JTkdfVklERU9fUExBWV9MQUc6IDIxMDUsXG4gICAgLyoqIOehrOino+WQr+WKqOWksei0pe+8jOmHh+eUqOi9r+ino+eggSAqL1xuICAgIFdBUk5JTkdfSFdfREVDT0RFUl9TVEFSVF9GQUlMOiAyMTA2LFxuICAgIC8qKiDlvZPliY3mtYHnoazop6PnrKzkuIDkuKogSSDluKflpLHotKXvvIxTREsg6Ieq5Yqo5YiH6L2v6KejICovXG4gICAgV0FSTklOR19WSURFT19ERUNPREVSX0hXX1RPX1NXOiAyMTA4LFxuICAgIC8qKiDova/op6PnoIHlmajlkK/liqjlpLHotKUgKi9cbiAgICBXQVJOSU5HX1NXX0RFQ09ERVJfU1RBUlRfRkFJTDogMjEwOSxcbiAgICAvKiog6KeG6aKR5riy5p+T5aSx6LSlICovXG4gICAgV0FSTklOR19WSURFT19SRU5ERVJfRkFJTDogMjExMCxcbiAgICAvKiog6Z+z6aKR5b2V5Yi25YaZ5YWl5paH5Lu25aSx6LSlICovXG4gICAgV0FSTklOR19BVURJT19SRUNPUkRJTkdfV1JJVEVfRkFJTDogNzAwMSxcbiAgICAvKiog572R57uc5pat5byA6L+e5o6lICovXG4gICAgV0FSTklOR19ST09NX0RJU0NPTk5FQ1Q6IDUxMDEsXG4gICAgLyoqIOW9k+WJjeaYr+inguS8l+inkuiJsu+8jOW/veeVpeS4iuihjOmfs+inhumikeaVsOaNriAqL1xuICAgIFdBUk5JTkdfSUdOT1JFX1VQU1RSRUFNX0ZPUl9BVURJRU5DRTogNjAwMSxcbiAgICAvKiog572R57uc54q25Ya15LiN5L2z77ya5LiK6KGM5bim5a695aSq5bCP77yM5LiK5Lyg5pWw5o2u5Y+X6Zi7ICovXG4gICAgV0FSTklOR19ORVRfQlVTWTogMTEwMSxcbiAgICAvKiog55u05pKt77yM572R57uc5pat6L+eLCDlt7LlkK/liqjoh6rliqjph43ov57vvIjoh6rliqjph43ov57ov57nu63lpLHotKXotoXov4fkuInmrKHkvJrmlL7lvIPvvIkgKi9cbiAgICBXQVJOSU5HX1JUTVBfU0VSVkVSX1JFQ09OTkVDVDogMTEwMixcbiAgICAvKiog55u05pKt77yM572R57uc5pat6L+eLCDlt7LlkK/liqjoh6rliqjph43ov57vvIjoh6rliqjph43ov57ov57nu63lpLHotKXotoXov4fkuInmrKHkvJrmlL7lvIPvvIkgKi9cbiAgICBXQVJOSU5HX0xJVkVfU1RSRUFNX1NFUlZFUl9SRUNPTk5FQ1Q6IDIxMDMsXG4gICAgLyoqIOe9kee7nOadpeWMheS4jeeos++8muWPr+iDveaYr+S4i+ihjOW4puWuveS4jei2s++8jOaIlueUseS6juS4u+aSreerr+WHuua1geS4jeWdh+WMgCAqL1xuICAgIFdBUk5JTkdfUkVDVl9EQVRBX0xBRzogMjEwNCxcbiAgICAvKiog55u05pKt77yMRE5TIOino+aekOWksei0pSAqL1xuICAgIFdBUk5JTkdfUlRNUF9ETlNfRkFJTDogMzAwMSxcbiAgICAvKiog55u05pKt77yM5pyN5Yqh5Zmo6L+e5o6l5aSx6LSlICovXG4gICAgV0FSTklOR19SVE1QX1NFVkVSX0NPTk5fRkFJTDogMzAwMixcbiAgICAvKiog55u05pKt77yM5LiOIFJUTVAg5pyN5Yqh5Zmo5o+h5omL5aSx6LSlICovXG4gICAgV0FSTklOR19SVE1QX1NIQUtFX0ZBSUw6IDMwMDMsXG4gICAgLyoqIOebtOaSre+8jOacjeWKoeWZqOS4u+WKqOaWreW8gCAqL1xuICAgIFdBUk5JTkdfUlRNUF9TRVJWRVJfQlJFQUtfQ09OTkVDVDogMzAwNCxcbiAgICAvKiog55u05pKt77yMUlRNUCDor7sv5YaZ5aSx6LSl77yM5bCG5Lya5pat5byA6L+e5o6lICovXG4gICAgV0FSTklOR19SVE1QX1JFQURfV1JJVEVfRkFJTDogMzAwNSxcbiAgICAvKiog55u05pKt77yMUlRNUCDlhpnlpLHotKXvvIhTREsg5YaF6YOo6ZSZ6K+v56CB77yM5LiN5Lya5a+55aSW5oqb5Ye677yJICovXG4gICAgV0FSTklOR19SVE1QX1dSSVRFX0ZBSUw6IDMwMDYsXG4gICAgLyoqIOebtOaSre+8jFJUTVAg6K+75aSx6LSl77yIU0RLIOWGhemDqOmUmeivr+egge+8jOS4jeS8muWvueWkluaKm+WHuu+8iSAqL1xuICAgIFdBUk5JTkdfUlRNUF9SRUFEX0ZBSUw6IDMwMDcsXG4gICAgLyoqIOebtOaSre+8jOi2hei/hzMwcyDmsqHmnInmlbDmja7lj5HpgIHvvIzkuLvliqjmlq3lvIDov57mjqUgKi9cbiAgICBXQVJOSU5HX1JUTVBfTk9fREFUQTogMzAwOCxcbiAgICAvKiog55u05pKt77yMY29ubmVjdCDmnI3liqHlmajosIPnlKjlpLHotKXvvIhTREsg5YaF6YOo6ZSZ6K+v56CB77yM5LiN5Lya5a+55aSW5oqb5Ye677yJICovXG4gICAgV0FSTklOR19QTEFZX0xJVkVfU1RSRUFNX0lORk9fQ09OTkVDVF9GQUlMOiAzMDA5LFxuICAgIC8qKiDnm7Tmkq3vvIzov57mjqXlpLHotKXvvIzor6XmtYHlnLDlnYDml6Dop4bpopHvvIhTREsg5YaF6YOo6ZSZ6K+v56CB77yM5LiN5Lya5a+55aSW5oqb5Ye677yJICovXG4gICAgV0FSTklOR19OT19TVEVBTV9TT1VSQ0VfRkFJTDogMzAxMCxcbiAgICAvKiog572R57uc5pat6L+e77yM5bey5ZCv5Yqo6Ieq5Yqo6YeN6L+eICovXG4gICAgV0FSTklOR19ST09NX1JFQ09OTkVDVDogNTEwMixcbiAgICAvKiog572R57uc54q25Ya15LiN5L2z77ya5LiK6KGM5bim5a695aSq5bCP77yM5LiK5Lyg5pWw5o2u5Y+X6Zi7ICovXG4gICAgV0FSTklOR19ST09NX05FVF9CVVNZOiA1MTAzLFxufTtcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vICAgICAgICAgICAgICAgICAgICAg77yI5LiJ77yJSlMg5bCB6KOF5bGC5oqb5Ye655qE5byC5bi477yI5Lil6YeN77yJXG4vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vKipcbiAqIEBuYW1lc3BhY2UgRXJyb3JDb2RlXG4gKiBAZGVzY3JpcHRpb24g6ZSZ6K+v56CBXG4gKi9cbmV4cG9ydCBjb25zdCBUWExpdGVKU0Vycm9yID0ge1xuICAgIC8qKlxuICAgICAqIOacquefpemUmeivr1xuICAgICAqIEBkZWZhdWx0IDB4RkZGRlxuICAgICAqIEBtZW1iZXJvZiBtb2R1bGU6RXJyb3JDb2RlXG4gICAgICovXG4gICAgVU5LTk9XTjogMHhmZmZmLFxuICAgIC8qKlxuICAgICAqIOaXoOaViOWPguaVsFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgMHgxMDAwXG4gICAgICogQG1lbWJlcm9mIG1vZHVsZTpFcnJvckNvZGVcbiAgICAgKi9cbiAgICBJTlZBTElEX1BBUkFNRVRFUjogMHgxMDAwLFxuICAgIC8qKlxuICAgICAqIOmdnuazleaTjeS9nFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgMHgxMDAxXG4gICAgICogQG1lbWJlcm9mIG1vZHVsZTpFcnJvckNvZGVcbiAgICAgKi9cbiAgICBJTlZBTElEX09QRVJBVElPTjogMHgxMDAxLFxufTtcbmNvbnN0IGdldEVycm9yTmFtZSA9IGZ1bmN0aW9uIChjb2RlKSB7XG4gICAgZm9yIChsZXQga2V5IGluIFRYTGl0ZUpTRXJyb3IpIHtcbiAgICAgICAgaWYgKFRYTGl0ZUpTRXJyb3Jba2V5XSA9PT0gY29kZSkge1xuICAgICAgICAgICAgcmV0dXJuIGtleTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gJ1VOS05PV04nO1xufTtcbi8qKlxuICogVHJ0Y0Vycm9yIOmUmeivr+WvueixoTxicj5cbiAqIEBleHRlbmRzIEVycm9yXG4gKiBAbmFtZXNwYWNlIEVycm9yQ29kZVxuICovXG5jbGFzcyBUcnRjRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IoeyBjb2RlID0gVFhMaXRlSlNFcnJvci5VTktOT1dOLCBtZXNzYWdlLCBleHRyYUluZm8gfSkge1xuICAgICAgICBpZiAoZXh0cmFJbmZvKSB7XG4gICAgICAgICAgICBjb25zdCB0ZW1wRXJyb3IgPSB7XG4gICAgICAgICAgICAgICAgZXJyQ29kZTogY29kZSxcbiAgICAgICAgICAgICAgICBlcnJNc2c6IG1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgZXh0cmFJbmZvOiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGV4dHJhSW5mbyksIHsgZXJyQ29kZVVybDogZXJyb3JDb2RlVXJsIH0pLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHN1cGVyKEpTT04uc3RyaW5naWZ5KHRlbXBFcnJvcikpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIobWVzc2FnZSArXG4gICAgICAgICAgICAgICAgYCA8JHtnZXRFcnJvck5hbWUoY29kZSl9IDB4JHtjb2RlLnRvU3RyaW5nKDE2KX0+LiBSZWZlciB0bzogJHtlcnJvckNvZGVVcmx9YCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lcnJDb2RlID0gY29kZTtcbiAgICAgICAgdGhpcy5lcnJNc2cgPSBtZXNzYWdlO1xuICAgICAgICB0aGlzLmV4dHJhSW5mbyA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZXh0cmFJbmZvKSwgeyBlcnJDb2RlVXJsOiBlcnJvckNvZGVVcmwgfSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOiOt+WPlumUmeivr+eggTxicj5cbiAgICAgKiDor6bnu4bplJnor6/noIHliJfooajlj4Lop4Ege0BsaW5rIG1vZHVsZTpFcnJvckNvZGUgRXJyb3JDb2RlfVxuICAgICAqIEBtZW1iZXJvZiBUcnRjRXJyb3JcbiAgICAgKi9cbiAgICBnZXRDb2RlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lcnJDb2RlO1xuICAgIH1cbn1cbmV4cG9ydCBkZWZhdWx0IFRydGNFcnJvcjtcbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUVycm9yXyhlcnJvciwgY29kZSA9IFRYTGl0ZUpTRXJyb3IuVU5LTk9XTiwgZXh0cmFJbmZvKSB7XG4gICAgcmV0dXJuIG5ldyBUcnRjRXJyb3Ioe1xuICAgICAgICBjb2RlOiBlcnJvci5jb2RlIHx8IGNvZGUsXG4gICAgICAgIG1lc3NhZ2U6IGAke05BTUUuTE9HX1BSRUZJWH0ke2Vycm9yLm1lc3NhZ2V9YCxcbiAgICAgICAgZXh0cmFJbmZvLFxuICAgIH0pO1xufVxuO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///62\n");
- /***/ }),
- /* 63 */
- /*!*********************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/inherits.js ***!
- \*********************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ 64);
- function _inherits(subClass, superClass) {
- if (typeof superClass !== "function" && superClass !== null) {
- throw new TypeError("Super expression must either be null or a function");
- }
- subClass.prototype = Object.create(superClass && superClass.prototype, {
- constructor: {
- value: subClass,
- writable: true,
- configurable: true
- }
- });
- Object.defineProperty(subClass, "prototype", {
- writable: false
- });
- if (superClass) setPrototypeOf(subClass, superClass);
- }
- module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 64 */
- /*!***************************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/setPrototypeOf.js ***!
- \***************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- function _setPrototypeOf(o, p) {
- module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
- o.__proto__ = p;
- return o;
- }, module.exports.__esModule = true, module.exports["default"] = module.exports;
- return _setPrototypeOf(o, p);
- }
- module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 65 */
- /*!**************************************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js ***!
- \**************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- var _typeof = __webpack_require__(/*! ./typeof.js */ 55)["default"];
- var assertThisInitialized = __webpack_require__(/*! ./assertThisInitialized.js */ 66);
- function _possibleConstructorReturn(self, call) {
- if (call && (_typeof(call) === "object" || typeof call === "function")) {
- return call;
- } else if (call !== void 0) {
- throw new TypeError("Derived constructors may only return object or undefined");
- }
- return assertThisInitialized(self);
- }
- module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 66 */
- /*!**********************************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/assertThisInitialized.js ***!
- \**********************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- function _assertThisInitialized(self) {
- if (self === void 0) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
- return self;
- }
- module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 67 */
- /*!***************************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/getPrototypeOf.js ***!
- \***************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- function _getPrototypeOf(o) {
- module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
- return o.__proto__ || Object.getPrototypeOf(o);
- }, module.exports.__esModule = true, module.exports["default"] = module.exports;
- return _getPrototypeOf(o);
- }
- module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 68 */
- /*!****************************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/wrapNativeSuper.js ***!
- \****************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- var getPrototypeOf = __webpack_require__(/*! ./getPrototypeOf.js */ 67);
- var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ 64);
- var isNativeFunction = __webpack_require__(/*! ./isNativeFunction.js */ 69);
- var construct = __webpack_require__(/*! ./construct.js */ 70);
- function _wrapNativeSuper(Class) {
- var _cache = typeof Map === "function" ? new Map() : undefined;
- module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {
- if (Class === null || !isNativeFunction(Class)) return Class;
- if (typeof Class !== "function") {
- throw new TypeError("Super expression must either be null or a function");
- }
- if (typeof _cache !== "undefined") {
- if (_cache.has(Class)) return _cache.get(Class);
- _cache.set(Class, Wrapper);
- }
- function Wrapper() {
- return construct(Class, arguments, getPrototypeOf(this).constructor);
- }
- Wrapper.prototype = Object.create(Class.prototype, {
- constructor: {
- value: Wrapper,
- enumerable: false,
- writable: true,
- configurable: true
- }
- });
- return setPrototypeOf(Wrapper, Class);
- }, module.exports.__esModule = true, module.exports["default"] = module.exports;
- return _wrapNativeSuper(Class);
- }
- module.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 69 */
- /*!*****************************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/isNativeFunction.js ***!
- \*****************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- function _isNativeFunction(fn) {
- try {
- return Function.toString.call(fn).indexOf("[native code]") !== -1;
- } catch (e) {
- return typeof fn === "function";
- }
- }
- module.exports = _isNativeFunction, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 70 */
- /*!**********************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/construct.js ***!
- \**********************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- var setPrototypeOf = __webpack_require__(/*! ./setPrototypeOf.js */ 64);
- var isNativeReflectConstruct = __webpack_require__(/*! ./isNativeReflectConstruct.js */ 71);
- function _construct(t, e, r) {
- if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);
- var o = [null];
- o.push.apply(o, e);
- var p = new (t.bind.apply(t, o))();
- return r && setPrototypeOf(p, r.prototype), p;
- }
- module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 71 */
- /*!*************************************************************************!*\
- !*** ./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js ***!
- \*************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- function _isNativeReflectConstruct() {
- try {
- var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
- } catch (t) {}
- return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {
- return !!t;
- }, module.exports.__esModule = true, module.exports["default"] = module.exports)();
- }
- module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports;
- /***/ }),
- /* 72 */
- /*!***************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/debug/GenerateTestUserSig.js ***!
- \***************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 31);\nvar _libGenerateTestUsersigEsMin = _interopRequireDefault(__webpack_require__(/*! ./lib-generate-test-usersig-es.min.js */ 73));\n/**\n * 腾讯云 SDKAppId,需要替换为您自己账号下的 SDKAppId。\n *\n * 进入腾讯云实时音视频[控制台](https://console.cloud.tencent.com/rav ) 创建应用,即可看到 SDKAppId,\n * 它是腾讯云用于区分客户的唯一标识。\n */\n\nvar SDKAPPID = 1600036174;\n/**\n * 签名过期时间,建议不要设置的过短\n * <p>\n * 时间单位:秒\n * 默认时间:7 x 24 x 60 x 60 = 604800 = 7 天\n */\n\nvar EXPIRETIME = 604800;\n/**\n * 计算签名用的加密密钥,获取步骤如下:\n *\n * step1. 进入腾讯云实时音视频[控制台](https://console.cloud.tencent.com/rav ),如果还没有应用就创建一个,\n * step2. 单击“应用配置”进入基础配置页面,并进一步找到“帐号体系集成”部分。\n * step3. 点击“查看密钥”按钮,就可以看到计算 UserSig 使用的加密的密钥了,请将其拷贝并复制到如下的变量中\n *\n * 注意:该方案仅适用于调试Demo,正式上线前请将 UserSig 计算代码和密钥迁移到您的后台服务器上,以避免加密密钥泄露导致的流量盗用。\n * 文档:https://cloud.tencent.com/document/product/647/17275#Server\n */\n\nvar SECRETKEY = 'e3b6abb54f40fc92d207ab95616887b1f06ffaf97e60fcb1f780e7002a3c114e';\n/*\n * Module: GenerateTestUserSig\n *\n * Function: 用于生成测试用的 UserSig,UserSig 是腾讯云为其云服务设计的一种安全保护签名。\n * 其计算方法是对 SDKAppID、UserID 和 EXPIRETIME 进行加密,加密算法为 HMAC-SHA256。\n *\n * Attention: 请不要将如下代码发布到您的线上正式版本的 App 中,原因如下:\n *\n * 本文件中的代码虽然能够正确计算出 UserSig,但仅适合快速调通 SDK 的基本功能,不适合线上产品,\n * 这是因为客户端代码中的 SECRETKEY 很容易被反编译逆向破解,尤其是 Web 端的代码被破解的难度几乎为零。\n * 一旦您的密钥泄露,攻击者就可以计算出正确的 UserSig 来盗用您的腾讯云流量。\n *\n * 正确的做法是将 UserSig 的计算代码和加密密钥放在您的业务服务器上,然后由 App 按需向您的服务器获取实时算出的 UserSig。\n * 由于破解服务器的成本要高于破解客户端 App,所以服务器计算的方案能够更好地保护您的加密密钥。\n *\n * Reference:https://cloud.tencent.com/document/product/647/17275#Server\n */\n\nfunction genTestUserSig(userID) {\n var generator = new _libGenerateTestUsersigEsMin.default(SDKAPPID, SECRETKEY, EXPIRETIME);\n var userSig = generator.genTestUserSig(userID);\n return {\n sdkAppId: SDKAPPID,\n userSig: userSig\n };\n}\nmodule.exports = {\n genTestUserSig: genTestUserSig\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vZGVidWcvR2VuZXJhdGVUZXN0VXNlclNpZy5qcyJdLCJuYW1lcyI6WyJTREtBUFBJRCIsIkVYUElSRVRJTUUiLCJTRUNSRVRLRVkiLCJnZW5UZXN0VXNlclNpZyIsInVzZXJJRCIsImdlbmVyYXRvciIsIkxpYkdlbmVyYXRlVGVzdFVzZXJTaWciLCJ1c2VyU2lnIiwic2RrQXBwSWQiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFNQSxRQUFRLEdBQUcsVUFBVTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBTUMsVUFBVSxHQUFHLE1BQU07QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBTUMsU0FBUyxHQUFHLGtFQUFrRTtBQUNwRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFNBQVNDLGNBQWMsQ0FBQ0MsTUFBTSxFQUFFO0VBQzlCLElBQU1DLFNBQVMsR0FBRyxJQUFJQyxvQ0FBc0IsQ0FBQ04sUUFBUSxFQUFFRSxTQUFTLEVBQUVELFVBQVUsQ0FBQztFQUM3RSxJQUFNTSxPQUFPLEdBQUdGLFNBQVMsQ0FBQ0YsY0FBYyxDQUFDQyxNQUFNLENBQUM7RUFDaEQsT0FBTztJQUNMSSxRQUFRLEVBQUVSLFFBQVE7SUFDbEJPLE9BQU8sRUFBUEE7RUFDRixDQUFDO0FBQ0g7QUFFQUUsTUFBTSxDQUFDQyxPQUFPLEdBQUc7RUFDZlAsY0FBYyxFQUFkQTtBQUNGLENBQUMiLCJmaWxlIjoiNzIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTGliR2VuZXJhdGVUZXN0VXNlclNpZyBmcm9tICcuL2xpYi1nZW5lcmF0ZS10ZXN0LXVzZXJzaWctZXMubWluLmpzJztcbi8qKlxuICog6IW+6K6v5LqRIFNES0FwcElk77yM6ZyA6KaB5pu/5o2i5Li65oKo6Ieq5bex6LSm5Y+35LiL55qEIFNES0FwcElk44CCXG4gKlxuICog6L+b5YWl6IW+6K6v5LqR5a6e5pe26Z+z6KeG6aKRW+aOp+WItuWPsF0oaHR0cHM6Ly9jb25zb2xlLmNsb3VkLnRlbmNlbnQuY29tL3JhdiApIOWIm+W7uuW6lOeUqO+8jOWNs+WPr+eci+WIsCBTREtBcHBJZO+8jFxuICog5a6D5piv6IW+6K6v5LqR55So5LqO5Yy65YiG5a6i5oi355qE5ZSv5LiA5qCH6K+G44CCXG4gKi9cblxuY29uc3QgU0RLQVBQSUQgPSAxNjAwMDM2MTc0O1xuLyoqXG4gKiDnrb7lkI3ov4fmnJ/ml7bpl7TvvIzlu7rorq7kuI3opoHorr7nva7nmoTov4fnn61cbiAqIDxwPlxuICog5pe26Ze05Y2V5L2N77ya56eSXG4gKiDpu5jorqTml7bpl7TvvJo3IHggMjQgeCA2MCB4IDYwID0gNjA0ODAwID0gNyDlpKlcbiAqL1xuXG5jb25zdCBFWFBJUkVUSU1FID0gNjA0ODAwO1xuLyoqXG4gKiDorqHnrpfnrb7lkI3nlKjnmoTliqDlr4blr4bpkqXvvIzojrflj5bmraXpqqTlpoLkuIvvvJpcbiAqXG4gKiBzdGVwMS4g6L+b5YWl6IW+6K6v5LqR5a6e5pe26Z+z6KeG6aKRW+aOp+WItuWPsF0oaHR0cHM6Ly9jb25zb2xlLmNsb3VkLnRlbmNlbnQuY29tL3JhdiAp77yM5aaC5p6c6L+Y5rKh5pyJ5bqU55So5bCx5Yib5bu65LiA5Liq77yMXG4gKiBzdGVwMi4g5Y2V5Ye74oCc5bqU55So6YWN572u4oCd6L+b5YWl5Z+656GA6YWN572u6aG16Z2i77yM5bm26L+b5LiA5q2l5om+5Yiw4oCc5biQ5Y+35L2T57O76ZuG5oiQ4oCd6YOo5YiG44CCXG4gKiBzdGVwMy4g54K55Ye74oCc5p+l55yL5a+G6ZKl4oCd5oyJ6ZKu77yM5bCx5Y+v5Lul55yL5Yiw6K6h566XIFVzZXJTaWcg5L2/55So55qE5Yqg5a+G55qE5a+G6ZKl5LqG77yM6K+35bCG5YW25ou36LSd5bm25aSN5Yi25Yiw5aaC5LiL55qE5Y+Y6YeP5LitXG4gKlxuICog5rOo5oSP77ya6K+l5pa55qGI5LuF6YCC55So5LqO6LCD6K+VRGVtb++8jOato+W8j+S4iue6v+WJjeivt+WwhiBVc2VyU2lnIOiuoeeul+S7o+eggeWSjOWvhumSpei/geenu+WIsOaCqOeahOWQjuWPsOacjeWKoeWZqOS4iu+8jOS7pemBv+WFjeWKoOWvhuWvhumSpeazhOmcsuWvvOiHtOeahOa1gemHj+ebl+eUqOOAglxuICog5paH5qGj77yaaHR0cHM6Ly9jbG91ZC50ZW5jZW50LmNvbS9kb2N1bWVudC9wcm9kdWN0LzY0Ny8xNzI3NSNTZXJ2ZXJcbiAqL1xuXG5jb25zdCBTRUNSRVRLRVkgPSAnZTNiNmFiYjU0ZjQwZmM5MmQyMDdhYjk1NjE2ODg3YjFmMDZmZmFmOTdlNjBmY2IxZjc4MGU3MDAyYTNjMTE0ZSc7XG4vKlxuICogTW9kdWxlOiAgIEdlbmVyYXRlVGVzdFVzZXJTaWdcbiAqXG4gKiBGdW5jdGlvbjog55So5LqO55Sf5oiQ5rWL6K+V55So55qEIFVzZXJTaWfvvIxVc2VyU2lnIOaYr+iFvuiur+S6keS4uuWFtuS6keacjeWKoeiuvuiuoeeahOS4gOenjeWuieWFqOS/neaKpOetvuWQjeOAglxuICogICAgICAgICAgIOWFtuiuoeeul+aWueazleaYr+WvuSBTREtBcHBJROOAgVVzZXJJRCDlkowgRVhQSVJFVElNRSDov5vooYzliqDlr4bvvIzliqDlr4bnrpfms5XkuLogSE1BQy1TSEEyNTbjgIJcbiAqXG4gKiBBdHRlbnRpb246IOivt+S4jeimgeWwhuWmguS4i+S7o+eggeWPkeW4g+WIsOaCqOeahOe6v+S4iuato+W8j+eJiOacrOeahCBBcHAg5Lit77yM5Y6f5Zug5aaC5LiL77yaXG4gKlxuICogICAgICAgICAgICDmnKzmlofku7bkuK3nmoTku6PnoIHomb3nhLbog73lpJ/mraPnoa7orqHnrpflh7ogVXNlclNpZ++8jOS9huS7hemAguWQiOW/q+mAn+iwg+mAmiBTREsg55qE5Z+65pys5Yqf6IO977yM5LiN6YCC5ZCI57q/5LiK5Lqn5ZOB77yMXG4gKiAgICAgICAgICAgIOi/meaYr+WboOS4uuWuouaIt+err+S7o+eggeS4reeahCBTRUNSRVRLRVkg5b6I5a655piT6KKr5Y+N57yW6K+R6YCG5ZCR56C06Kej77yM5bCk5YW25pivIFdlYiDnq6/nmoTku6PnoIHooqvnoLTop6PnmoTpmr7luqblh6DkuY7kuLrpm7bjgIJcbiAqICAgICAgICAgICAg5LiA5pem5oKo55qE5a+G6ZKl5rOE6Zyy77yM5pS75Ye76ICF5bCx5Y+v5Lul6K6h566X5Ye65q2j56Gu55qEIFVzZXJTaWcg5p2l55uX55So5oKo55qE6IW+6K6v5LqR5rWB6YeP44CCXG4gKlxuICogICAgICAgICAgICDmraPnoa7nmoTlgZrms5XmmK/lsIYgVXNlclNpZyDnmoTorqHnrpfku6PnoIHlkozliqDlr4blr4bpkqXmlL7lnKjmgqjnmoTkuJrliqHmnI3liqHlmajkuIrvvIznhLblkI7nlLEgQXBwIOaMiemcgOWQkeaCqOeahOacjeWKoeWZqOiOt+WPluWunuaXtueul+WHuueahCBVc2VyU2ln44CCXG4gKiAgICAgICAgICAgIOeUseS6juegtOino+acjeWKoeWZqOeahOaIkOacrOimgemrmOS6juegtOino+WuouaIt+erryBBcHDvvIzmiYDku6XmnI3liqHlmajorqHnrpfnmoTmlrnmoYjog73lpJ/mm7Tlpb3lnLDkv53miqTmgqjnmoTliqDlr4blr4bpkqXjgIJcbiAqXG4gKiBSZWZlcmVuY2XvvJpodHRwczovL2Nsb3VkLnRlbmNlbnQuY29tL2RvY3VtZW50L3Byb2R1Y3QvNjQ3LzE3Mjc1I1NlcnZlclxuICovXG5cbmZ1bmN0aW9uIGdlblRlc3RVc2VyU2lnKHVzZXJJRCkge1xuICBjb25zdCBnZW5lcmF0b3IgPSBuZXcgTGliR2VuZXJhdGVUZXN0VXNlclNpZyhTREtBUFBJRCwgU0VDUkVUS0VZLCBFWFBJUkVUSU1FKTtcbiAgY29uc3QgdXNlclNpZyA9IGdlbmVyYXRvci5nZW5UZXN0VXNlclNpZyh1c2VySUQpO1xuICByZXR1cm4ge1xuICAgIHNka0FwcElkOiBTREtBUFBJRCxcbiAgICB1c2VyU2lnLFxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgZ2VuVGVzdFVzZXJTaWcsXG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///72\n");
- /***/ }),
- /* 73 */
- /*!****************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/debug/lib-generate-test-usersig-es.min.js ***!
- \****************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 31);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 52));\nvar _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 53));\nvar _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 55));\n/*eslint-disable*/\nvar e = \"undefined\" != typeof global ? global : \"undefined\" != typeof self ? self : \"undefined\" != typeof window ? window : {},\n t = [],\n r = [],\n n = \"undefined\" != typeof Uint8Array ? Uint8Array : Array,\n i = !1;\nfunction o() {\n i = !0;\n for (var e = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\", n = 0, o = e.length; n < o; ++n) {\n t[n] = e[n], r[e.charCodeAt(n)] = n;\n }\n r[\"-\".charCodeAt(0)] = 62, r[\"_\".charCodeAt(0)] = 63;\n}\nfunction a(e, r, n) {\n for (var i, o, a = [], s = r; s < n; s += 3) {\n i = (e[s] << 16) + (e[s + 1] << 8) + e[s + 2], a.push(t[(o = i) >> 18 & 63] + t[o >> 12 & 63] + t[o >> 6 & 63] + t[63 & o]);\n }\n return a.join(\"\");\n}\nfunction s(e) {\n var r;\n i || o();\n for (var n = e.length, s = n % 3, h = \"\", l = [], f = 0, c = n - s; f < c; f += 16383) {\n l.push(a(e, f, f + 16383 > c ? c : f + 16383));\n }\n return 1 === s ? (r = e[n - 1], h += t[r >> 2], h += t[r << 4 & 63], h += \"==\") : 2 === s && (r = (e[n - 2] << 8) + e[n - 1], h += t[r >> 10], h += t[r >> 4 & 63], h += t[r << 2 & 63], h += \"=\"), l.push(h), l.join(\"\");\n}\nfunction h(e, t, r, n, i) {\n var o,\n a,\n s = 8 * i - n - 1,\n h = (1 << s) - 1,\n l = h >> 1,\n f = -7,\n c = r ? i - 1 : 0,\n u = r ? -1 : 1,\n d = e[t + c];\n for (c += u, o = d & (1 << -f) - 1, d >>= -f, f += s; f > 0; o = 256 * o + e[t + c], c += u, f -= 8) {\n ;\n }\n for (a = o & (1 << -f) - 1, o >>= -f, f += n; f > 0; a = 256 * a + e[t + c], c += u, f -= 8) {\n ;\n }\n if (0 === o) o = 1 - l;else {\n if (o === h) return a ? NaN : 1 / 0 * (d ? -1 : 1);\n a += Math.pow(2, n), o -= l;\n }\n return (d ? -1 : 1) * a * Math.pow(2, o - n);\n}\nfunction l(e, t, r, n, i, o) {\n var a,\n s,\n h,\n l = 8 * o - i - 1,\n f = (1 << l) - 1,\n c = f >> 1,\n u = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0,\n d = n ? 0 : o - 1,\n p = n ? 1 : -1,\n _ = t < 0 || 0 === t && 1 / t < 0 ? 1 : 0;\n for (t = Math.abs(t), isNaN(t) || t === 1 / 0 ? (s = isNaN(t) ? 1 : 0, a = f) : (a = Math.floor(Math.log(t) / Math.LN2), t * (h = Math.pow(2, -a)) < 1 && (a--, h *= 2), (t += a + c >= 1 ? u / h : u * Math.pow(2, 1 - c)) * h >= 2 && (a++, h /= 2), a + c >= f ? (s = 0, a = f) : a + c >= 1 ? (s = (t * h - 1) * Math.pow(2, i), a += c) : (s = t * Math.pow(2, c - 1) * Math.pow(2, i), a = 0)); i >= 8; e[r + d] = 255 & s, d += p, s /= 256, i -= 8) {\n ;\n }\n for (a = a << i | s, l += i; l > 0; e[r + d] = 255 & a, d += p, a /= 256, l -= 8) {\n ;\n }\n e[r + d - p] |= 128 * _;\n}\nvar f = {}.toString,\n c = Array.isArray || function (e) {\n return \"[object Array]\" == f.call(e);\n };\nfunction u() {\n return p.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;\n}\nfunction d(e, t) {\n if (u() < t) throw new RangeError(\"Invalid typed array length\");\n return p.TYPED_ARRAY_SUPPORT ? (e = new Uint8Array(t)).__proto__ = p.prototype : (null === e && (e = new p(t)), e.length = t), e;\n}\nfunction p(e, t, r) {\n if (!(p.TYPED_ARRAY_SUPPORT || this instanceof p)) return new p(e, t, r);\n if (\"number\" == typeof e) {\n if (\"string\" == typeof t) throw new Error(\"If encoding is specified then the first argument must be a string\");\n return v(this, e);\n }\n return _(this, e, t, r);\n}\nfunction _(e, t, r, n) {\n if (\"number\" == typeof t) throw new TypeError('\"value\" argument must not be a number');\n return \"undefined\" != typeof ArrayBuffer && t instanceof ArrayBuffer ? function (e, t, r, n) {\n if (t.byteLength, r < 0 || t.byteLength < r) throw new RangeError(\"'offset' is out of bounds\");\n if (t.byteLength < r + (n || 0)) throw new RangeError(\"'length' is out of bounds\");\n t = void 0 === r && void 0 === n ? new Uint8Array(t) : void 0 === n ? new Uint8Array(t, r) : new Uint8Array(t, r, n);\n p.TYPED_ARRAY_SUPPORT ? (e = t).__proto__ = p.prototype : e = w(e, t);\n return e;\n }(e, t, r, n) : \"string\" == typeof t ? function (e, t, r) {\n \"string\" == typeof r && \"\" !== r || (r = \"utf8\");\n if (!p.isEncoding(r)) throw new TypeError('\"encoding\" must be a valid string encoding');\n var n = 0 | m(t, r),\n i = (e = d(e, n)).write(t, r);\n i !== n && (e = e.slice(0, i));\n return e;\n }(e, t, r) : function (e, t) {\n if (y(t)) {\n var r = 0 | b(t.length);\n return 0 === (e = d(e, r)).length ? e : (t.copy(e, 0, 0, r), e);\n }\n if (t) {\n if (\"undefined\" != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer || \"length\" in t) return \"number\" != typeof t.length || (n = t.length) != n ? d(e, 0) : w(e, t);\n if (\"Buffer\" === t.type && c(t.data)) return w(e, t.data);\n }\n var n;\n throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\");\n }(e, t);\n}\nfunction g(e) {\n if (\"number\" != typeof e) throw new TypeError('\"size\" argument must be a number');\n if (e < 0) throw new RangeError('\"size\" argument must not be negative');\n}\nfunction v(e, t) {\n if (g(t), e = d(e, t < 0 ? 0 : 0 | b(t)), !p.TYPED_ARRAY_SUPPORT) for (var r = 0; r < t; ++r) {\n e[r] = 0;\n }\n return e;\n}\nfunction w(e, t) {\n var r = t.length < 0 ? 0 : 0 | b(t.length);\n e = d(e, r);\n for (var n = 0; n < r; n += 1) {\n e[n] = 255 & t[n];\n }\n return e;\n}\nfunction b(e) {\n if (e >= u()) throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\" + u().toString(16) + \" bytes\");\n return 0 | e;\n}\nfunction y(e) {\n return !(null == e || !e._isBuffer);\n}\nfunction m(e, t) {\n if (y(e)) return e.length;\n if (\"undefined\" != typeof ArrayBuffer && \"function\" == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer)) return e.byteLength;\n \"string\" != typeof e && (e = \"\" + e);\n var r = e.length;\n if (0 === r) return 0;\n for (var n = !1;;) {\n switch (t) {\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return r;\n case \"utf8\":\n case \"utf-8\":\n case void 0:\n return q(e).length;\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return 2 * r;\n case \"hex\":\n return r >>> 1;\n case \"base64\":\n return V(e).length;\n default:\n if (n) return q(e).length;\n t = (\"\" + t).toLowerCase(), n = !0;\n }\n }\n}\nfunction k(e, t, r) {\n var n = !1;\n if ((void 0 === t || t < 0) && (t = 0), t > this.length) return \"\";\n if ((void 0 === r || r > this.length) && (r = this.length), r <= 0) return \"\";\n if ((r >>>= 0) <= (t >>>= 0)) return \"\";\n for (e || (e = \"utf8\");;) {\n switch (e) {\n case \"hex\":\n return O(this, t, r);\n case \"utf8\":\n case \"utf-8\":\n return C(this, t, r);\n case \"ascii\":\n return I(this, t, r);\n case \"latin1\":\n case \"binary\":\n return P(this, t, r);\n case \"base64\":\n return M(this, t, r);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return U(this, t, r);\n default:\n if (n) throw new TypeError(\"Unknown encoding: \" + e);\n e = (e + \"\").toLowerCase(), n = !0;\n }\n }\n}\nfunction E(e, t, r) {\n var n = e[t];\n e[t] = e[r], e[r] = n;\n}\nfunction S(e, t, r, n, i) {\n if (0 === e.length) return -1;\n if (\"string\" == typeof r ? (n = r, r = 0) : r > 2147483647 ? r = 2147483647 : r < -2147483648 && (r = -2147483648), r = +r, isNaN(r) && (r = i ? 0 : e.length - 1), r < 0 && (r = e.length + r), r >= e.length) {\n if (i) return -1;\n r = e.length - 1;\n } else if (r < 0) {\n if (!i) return -1;\n r = 0;\n }\n if (\"string\" == typeof t && (t = p.from(t, n)), y(t)) return 0 === t.length ? -1 : x(e, t, r, n, i);\n if (\"number\" == typeof t) return t &= 255, p.TYPED_ARRAY_SUPPORT && \"function\" == typeof Uint8Array.prototype.indexOf ? i ? Uint8Array.prototype.indexOf.call(e, t, r) : Uint8Array.prototype.lastIndexOf.call(e, t, r) : x(e, [t], r, n, i);\n throw new TypeError(\"val must be string, number or Buffer\");\n}\nfunction x(e, t, r, n, i) {\n var o,\n a = 1,\n s = e.length,\n h = t.length;\n if (void 0 !== n && (\"ucs2\" === (n = String(n).toLowerCase()) || \"ucs-2\" === n || \"utf16le\" === n || \"utf-16le\" === n)) {\n if (e.length < 2 || t.length < 2) return -1;\n a = 2, s /= 2, h /= 2, r /= 2;\n }\n function l(e, t) {\n return 1 === a ? e[t] : e.readUInt16BE(t * a);\n }\n if (i) {\n var f = -1;\n for (o = r; o < s; o++) {\n if (l(e, o) === l(t, -1 === f ? 0 : o - f)) {\n if (-1 === f && (f = o), o - f + 1 === h) return f * a;\n } else -1 !== f && (o -= o - f), f = -1;\n }\n } else for (r + h > s && (r = s - h), o = r; o >= 0; o--) {\n for (var c = !0, u = 0; u < h; u++) {\n if (l(e, o + u) !== l(t, u)) {\n c = !1;\n break;\n }\n }\n if (c) return o;\n }\n return -1;\n}\nfunction R(e, t, r, n) {\n r = Number(r) || 0;\n var i = e.length - r;\n n ? (n = Number(n)) > i && (n = i) : n = i;\n var o = t.length;\n if (o % 2 != 0) throw new TypeError(\"Invalid hex string\");\n n > o / 2 && (n = o / 2);\n for (var a = 0; a < n; ++a) {\n var s = parseInt(t.substr(2 * a, 2), 16);\n if (isNaN(s)) return a;\n e[r + a] = s;\n }\n return a;\n}\nfunction A(e, t, r, n) {\n return G(q(t, e.length - r), e, r, n);\n}\nfunction B(e, t, r, n) {\n return G(function (e) {\n for (var t = [], r = 0; r < e.length; ++r) {\n t.push(255 & e.charCodeAt(r));\n }\n return t;\n }(t), e, r, n);\n}\nfunction z(e, t, r, n) {\n return B(e, t, r, n);\n}\nfunction L(e, t, r, n) {\n return G(V(t), e, r, n);\n}\nfunction T(e, t, r, n) {\n return G(function (e, t) {\n for (var r, n, i, o = [], a = 0; a < e.length && !((t -= 2) < 0); ++a) {\n r = e.charCodeAt(a), n = r >> 8, i = r % 256, o.push(i), o.push(n);\n }\n return o;\n }(t, e.length - r), e, r, n);\n}\nfunction M(e, t, r) {\n return 0 === t && r === e.length ? s(e) : s(e.slice(t, r));\n}\nfunction C(e, t, r) {\n r = Math.min(e.length, r);\n for (var n = [], i = t; i < r;) {\n var o,\n a,\n s,\n h,\n l = e[i],\n f = null,\n c = l > 239 ? 4 : l > 223 ? 3 : l > 191 ? 2 : 1;\n if (i + c <= r) switch (c) {\n case 1:\n l < 128 && (f = l);\n break;\n case 2:\n 128 == (192 & (o = e[i + 1])) && (h = (31 & l) << 6 | 63 & o) > 127 && (f = h);\n break;\n case 3:\n o = e[i + 1], a = e[i + 2], 128 == (192 & o) && 128 == (192 & a) && (h = (15 & l) << 12 | (63 & o) << 6 | 63 & a) > 2047 && (h < 55296 || h > 57343) && (f = h);\n break;\n case 4:\n o = e[i + 1], a = e[i + 2], s = e[i + 3], 128 == (192 & o) && 128 == (192 & a) && 128 == (192 & s) && (h = (15 & l) << 18 | (63 & o) << 12 | (63 & a) << 6 | 63 & s) > 65535 && h < 1114112 && (f = h);\n }\n null === f ? (f = 65533, c = 1) : f > 65535 && (f -= 65536, n.push(f >>> 10 & 1023 | 55296), f = 56320 | 1023 & f), n.push(f), i += c;\n }\n return function (e) {\n var t = e.length;\n if (t <= D) return String.fromCharCode.apply(String, e);\n var r = \"\",\n n = 0;\n for (; n < t;) {\n r += String.fromCharCode.apply(String, e.slice(n, n += D));\n }\n return r;\n }(n);\n}\np.TYPED_ARRAY_SUPPORT = void 0 === e.TYPED_ARRAY_SUPPORT || e.TYPED_ARRAY_SUPPORT, p.poolSize = 8192, p._augment = function (e) {\n return e.__proto__ = p.prototype, e;\n}, p.from = function (e, t, r) {\n return _(null, e, t, r);\n}, p.TYPED_ARRAY_SUPPORT && (p.prototype.__proto__ = Uint8Array.prototype, p.__proto__ = Uint8Array), p.alloc = function (e, t, r) {\n return function (e, t, r, n) {\n return g(t), t <= 0 ? d(e, t) : void 0 !== r ? \"string\" == typeof n ? d(e, t).fill(r, n) : d(e, t).fill(r) : d(e, t);\n }(null, e, t, r);\n}, p.allocUnsafe = function (e) {\n return v(null, e);\n}, p.allocUnsafeSlow = function (e) {\n return v(null, e);\n}, p.isBuffer = $, p.compare = function (e, t) {\n if (!y(e) || !y(t)) throw new TypeError(\"Arguments must be Buffers\");\n if (e === t) return 0;\n for (var r = e.length, n = t.length, i = 0, o = Math.min(r, n); i < o; ++i) {\n if (e[i] !== t[i]) {\n r = e[i], n = t[i];\n break;\n }\n }\n return r < n ? -1 : n < r ? 1 : 0;\n}, p.isEncoding = function (e) {\n switch (String(e).toLowerCase()) {\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return !0;\n default:\n return !1;\n }\n}, p.concat = function (e, t) {\n if (!c(e)) throw new TypeError('\"list\" argument must be an Array of Buffers');\n if (0 === e.length) return p.alloc(0);\n var r;\n if (void 0 === t) for (t = 0, r = 0; r < e.length; ++r) {\n t += e[r].length;\n }\n var n = p.allocUnsafe(t),\n i = 0;\n for (r = 0; r < e.length; ++r) {\n var o = e[r];\n if (!y(o)) throw new TypeError('\"list\" argument must be an Array of Buffers');\n o.copy(n, i), i += o.length;\n }\n return n;\n}, p.byteLength = m, p.prototype._isBuffer = !0, p.prototype.swap16 = function () {\n var e = this.length;\n if (e % 2 != 0) throw new RangeError(\"Buffer size must be a multiple of 16-bits\");\n for (var t = 0; t < e; t += 2) {\n E(this, t, t + 1);\n }\n return this;\n}, p.prototype.swap32 = function () {\n var e = this.length;\n if (e % 4 != 0) throw new RangeError(\"Buffer size must be a multiple of 32-bits\");\n for (var t = 0; t < e; t += 4) {\n E(this, t, t + 3), E(this, t + 1, t + 2);\n }\n return this;\n}, p.prototype.swap64 = function () {\n var e = this.length;\n if (e % 8 != 0) throw new RangeError(\"Buffer size must be a multiple of 64-bits\");\n for (var t = 0; t < e; t += 8) {\n E(this, t, t + 7), E(this, t + 1, t + 6), E(this, t + 2, t + 5), E(this, t + 3, t + 4);\n }\n return this;\n}, p.prototype.toString = function () {\n var e = 0 | this.length;\n return 0 === e ? \"\" : 0 === arguments.length ? C(this, 0, e) : k.apply(this, arguments);\n}, p.prototype.equals = function (e) {\n if (!y(e)) throw new TypeError(\"Argument must be a Buffer\");\n return this === e || 0 === p.compare(this, e);\n}, p.prototype.inspect = function () {\n var e = \"\";\n return this.length > 0 && (e = this.toString(\"hex\", 0, 50).match(/.{2}/g).join(\" \"), this.length > 50 && (e += \" ... \")), \"<Buffer \" + e + \">\";\n}, p.prototype.compare = function (e, t, r, n, i) {\n if (!y(e)) throw new TypeError(\"Argument must be a Buffer\");\n if (void 0 === t && (t = 0), void 0 === r && (r = e ? e.length : 0), void 0 === n && (n = 0), void 0 === i && (i = this.length), t < 0 || r > e.length || n < 0 || i > this.length) throw new RangeError(\"out of range index\");\n if (n >= i && t >= r) return 0;\n if (n >= i) return -1;\n if (t >= r) return 1;\n if (this === e) return 0;\n for (var o = (i >>>= 0) - (n >>>= 0), a = (r >>>= 0) - (t >>>= 0), s = Math.min(o, a), h = this.slice(n, i), l = e.slice(t, r), f = 0; f < s; ++f) {\n if (h[f] !== l[f]) {\n o = h[f], a = l[f];\n break;\n }\n }\n return o < a ? -1 : a < o ? 1 : 0;\n}, p.prototype.includes = function (e, t, r) {\n return -1 !== this.indexOf(e, t, r);\n}, p.prototype.indexOf = function (e, t, r) {\n return S(this, e, t, r, !0);\n}, p.prototype.lastIndexOf = function (e, t, r) {\n return S(this, e, t, r, !1);\n}, p.prototype.write = function (e, t, r, n) {\n if (void 0 === t) n = \"utf8\", r = this.length, t = 0;else if (void 0 === r && \"string\" == typeof t) n = t, r = this.length, t = 0;else {\n if (!isFinite(t)) throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");\n t |= 0, isFinite(r) ? (r |= 0, void 0 === n && (n = \"utf8\")) : (n = r, r = void 0);\n }\n var i = this.length - t;\n if ((void 0 === r || r > i) && (r = i), e.length > 0 && (r < 0 || t < 0) || t > this.length) throw new RangeError(\"Attempt to write outside buffer bounds\");\n n || (n = \"utf8\");\n for (var o = !1;;) {\n switch (n) {\n case \"hex\":\n return R(this, e, t, r);\n case \"utf8\":\n case \"utf-8\":\n return A(this, e, t, r);\n case \"ascii\":\n return B(this, e, t, r);\n case \"latin1\":\n case \"binary\":\n return z(this, e, t, r);\n case \"base64\":\n return L(this, e, t, r);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return T(this, e, t, r);\n default:\n if (o) throw new TypeError(\"Unknown encoding: \" + n);\n n = (\"\" + n).toLowerCase(), o = !0;\n }\n }\n}, p.prototype.toJSON = function () {\n return {\n type: \"Buffer\",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n};\nvar D = 4096;\nfunction I(e, t, r) {\n var n = \"\";\n r = Math.min(e.length, r);\n for (var i = t; i < r; ++i) {\n n += String.fromCharCode(127 & e[i]);\n }\n return n;\n}\nfunction P(e, t, r) {\n var n = \"\";\n r = Math.min(e.length, r);\n for (var i = t; i < r; ++i) {\n n += String.fromCharCode(e[i]);\n }\n return n;\n}\nfunction O(e, t, r) {\n var n = e.length;\n (!t || t < 0) && (t = 0), (!r || r < 0 || r > n) && (r = n);\n for (var i = \"\", o = t; o < r; ++o) {\n i += X(e[o]);\n }\n return i;\n}\nfunction U(e, t, r) {\n for (var n = e.slice(t, r), i = \"\", o = 0; o < n.length; o += 2) {\n i += String.fromCharCode(n[o] + 256 * n[o + 1]);\n }\n return i;\n}\nfunction H(e, t, r) {\n if (e % 1 != 0 || e < 0) throw new RangeError(\"offset is not uint\");\n if (e + t > r) throw new RangeError(\"Trying to access beyond buffer length\");\n}\nfunction F(e, t, r, n, i, o) {\n if (!y(e)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (t > i || t < o) throw new RangeError('\"value\" argument is out of bounds');\n if (r + n > e.length) throw new RangeError(\"Index out of range\");\n}\nfunction N(e, t, r, n) {\n t < 0 && (t = 65535 + t + 1);\n for (var i = 0, o = Math.min(e.length - r, 2); i < o; ++i) {\n e[r + i] = (t & 255 << 8 * (n ? i : 1 - i)) >>> 8 * (n ? i : 1 - i);\n }\n}\nfunction Z(e, t, r, n) {\n t < 0 && (t = 4294967295 + t + 1);\n for (var i = 0, o = Math.min(e.length - r, 4); i < o; ++i) {\n e[r + i] = t >>> 8 * (n ? i : 3 - i) & 255;\n }\n}\nfunction j(e, t, r, n, i, o) {\n if (r + n > e.length) throw new RangeError(\"Index out of range\");\n if (r < 0) throw new RangeError(\"Index out of range\");\n}\nfunction W(e, t, r, n, i) {\n return i || j(e, 0, r, 4), l(e, t, r, n, 23, 4), r + 4;\n}\nfunction Y(e, t, r, n, i) {\n return i || j(e, 0, r, 8), l(e, t, r, n, 52, 8), r + 8;\n}\np.prototype.slice = function (e, t) {\n var r,\n n = this.length;\n if ((e = ~~e) < 0 ? (e += n) < 0 && (e = 0) : e > n && (e = n), (t = void 0 === t ? n : ~~t) < 0 ? (t += n) < 0 && (t = 0) : t > n && (t = n), t < e && (t = e), p.TYPED_ARRAY_SUPPORT) (r = this.subarray(e, t)).__proto__ = p.prototype;else {\n var i = t - e;\n r = new p(i, void 0);\n for (var o = 0; o < i; ++o) {\n r[o] = this[o + e];\n }\n }\n return r;\n}, p.prototype.readUIntLE = function (e, t, r) {\n e |= 0, t |= 0, r || H(e, t, this.length);\n for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256);) {\n n += this[e + o] * i;\n }\n return n;\n}, p.prototype.readUIntBE = function (e, t, r) {\n e |= 0, t |= 0, r || H(e, t, this.length);\n for (var n = this[e + --t], i = 1; t > 0 && (i *= 256);) {\n n += this[e + --t] * i;\n }\n return n;\n}, p.prototype.readUInt8 = function (e, t) {\n return t || H(e, 1, this.length), this[e];\n}, p.prototype.readUInt16LE = function (e, t) {\n return t || H(e, 2, this.length), this[e] | this[e + 1] << 8;\n}, p.prototype.readUInt16BE = function (e, t) {\n return t || H(e, 2, this.length), this[e] << 8 | this[e + 1];\n}, p.prototype.readUInt32LE = function (e, t) {\n return t || H(e, 4, this.length), (this[e] | this[e + 1] << 8 | this[e + 2] << 16) + 16777216 * this[e + 3];\n}, p.prototype.readUInt32BE = function (e, t) {\n return t || H(e, 4, this.length), 16777216 * this[e] + (this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3]);\n}, p.prototype.readIntLE = function (e, t, r) {\n e |= 0, t |= 0, r || H(e, t, this.length);\n for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256);) {\n n += this[e + o] * i;\n }\n return n >= (i *= 128) && (n -= Math.pow(2, 8 * t)), n;\n}, p.prototype.readIntBE = function (e, t, r) {\n e |= 0, t |= 0, r || H(e, t, this.length);\n for (var n = t, i = 1, o = this[e + --n]; n > 0 && (i *= 256);) {\n o += this[e + --n] * i;\n }\n return o >= (i *= 128) && (o -= Math.pow(2, 8 * t)), o;\n}, p.prototype.readInt8 = function (e, t) {\n return t || H(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e];\n}, p.prototype.readInt16LE = function (e, t) {\n t || H(e, 2, this.length);\n var r = this[e] | this[e + 1] << 8;\n return 32768 & r ? 4294901760 | r : r;\n}, p.prototype.readInt16BE = function (e, t) {\n t || H(e, 2, this.length);\n var r = this[e + 1] | this[e] << 8;\n return 32768 & r ? 4294901760 | r : r;\n}, p.prototype.readInt32LE = function (e, t) {\n return t || H(e, 4, this.length), this[e] | this[e + 1] << 8 | this[e + 2] << 16 | this[e + 3] << 24;\n}, p.prototype.readInt32BE = function (e, t) {\n return t || H(e, 4, this.length), this[e] << 24 | this[e + 1] << 16 | this[e + 2] << 8 | this[e + 3];\n}, p.prototype.readFloatLE = function (e, t) {\n return t || H(e, 4, this.length), h(this, e, !0, 23, 4);\n}, p.prototype.readFloatBE = function (e, t) {\n return t || H(e, 4, this.length), h(this, e, !1, 23, 4);\n}, p.prototype.readDoubleLE = function (e, t) {\n return t || H(e, 8, this.length), h(this, e, !0, 52, 8);\n}, p.prototype.readDoubleBE = function (e, t) {\n return t || H(e, 8, this.length), h(this, e, !1, 52, 8);\n}, p.prototype.writeUIntLE = function (e, t, r, n) {\n (e = +e, t |= 0, r |= 0, n) || F(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);\n var i = 1,\n o = 0;\n for (this[t] = 255 & e; ++o < r && (i *= 256);) {\n this[t + o] = e / i & 255;\n }\n return t + r;\n}, p.prototype.writeUIntBE = function (e, t, r, n) {\n (e = +e, t |= 0, r |= 0, n) || F(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);\n var i = r - 1,\n o = 1;\n for (this[t + i] = 255 & e; --i >= 0 && (o *= 256);) {\n this[t + i] = e / o & 255;\n }\n return t + r;\n}, p.prototype.writeUInt8 = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 1, 255, 0), p.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), this[t] = 255 & e, t + 1;\n}, p.prototype.writeUInt16LE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 2, 65535, 0), p.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : N(this, e, t, !0), t + 2;\n}, p.prototype.writeUInt16BE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 2, 65535, 0), p.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : N(this, e, t, !1), t + 2;\n}, p.prototype.writeUInt32LE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 4, 4294967295, 0), p.TYPED_ARRAY_SUPPORT ? (this[t + 3] = e >>> 24, this[t + 2] = e >>> 16, this[t + 1] = e >>> 8, this[t] = 255 & e) : Z(this, e, t, !0), t + 4;\n}, p.prototype.writeUInt32BE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 4, 4294967295, 0), p.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : Z(this, e, t, !1), t + 4;\n}, p.prototype.writeIntLE = function (e, t, r, n) {\n if (e = +e, t |= 0, !n) {\n var i = Math.pow(2, 8 * r - 1);\n F(this, e, t, r, i - 1, -i);\n }\n var o = 0,\n a = 1,\n s = 0;\n for (this[t] = 255 & e; ++o < r && (a *= 256);) {\n e < 0 && 0 === s && 0 !== this[t + o - 1] && (s = 1), this[t + o] = (e / a >> 0) - s & 255;\n }\n return t + r;\n}, p.prototype.writeIntBE = function (e, t, r, n) {\n if (e = +e, t |= 0, !n) {\n var i = Math.pow(2, 8 * r - 1);\n F(this, e, t, r, i - 1, -i);\n }\n var o = r - 1,\n a = 1,\n s = 0;\n for (this[t + o] = 255 & e; --o >= 0 && (a *= 256);) {\n e < 0 && 0 === s && 0 !== this[t + o + 1] && (s = 1), this[t + o] = (e / a >> 0) - s & 255;\n }\n return t + r;\n}, p.prototype.writeInt8 = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 1, 127, -128), p.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), e < 0 && (e = 255 + e + 1), this[t] = 255 & e, t + 1;\n}, p.prototype.writeInt16LE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 2, 32767, -32768), p.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8) : N(this, e, t, !0), t + 2;\n}, p.prototype.writeInt16BE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 2, 32767, -32768), p.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 8, this[t + 1] = 255 & e) : N(this, e, t, !1), t + 2;\n}, p.prototype.writeInt32LE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 4, 2147483647, -2147483648), p.TYPED_ARRAY_SUPPORT ? (this[t] = 255 & e, this[t + 1] = e >>> 8, this[t + 2] = e >>> 16, this[t + 3] = e >>> 24) : Z(this, e, t, !0), t + 4;\n}, p.prototype.writeInt32BE = function (e, t, r) {\n return e = +e, t |= 0, r || F(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), p.TYPED_ARRAY_SUPPORT ? (this[t] = e >>> 24, this[t + 1] = e >>> 16, this[t + 2] = e >>> 8, this[t + 3] = 255 & e) : Z(this, e, t, !1), t + 4;\n}, p.prototype.writeFloatLE = function (e, t, r) {\n return W(this, e, t, !0, r);\n}, p.prototype.writeFloatBE = function (e, t, r) {\n return W(this, e, t, !1, r);\n}, p.prototype.writeDoubleLE = function (e, t, r) {\n return Y(this, e, t, !0, r);\n}, p.prototype.writeDoubleBE = function (e, t, r) {\n return Y(this, e, t, !1, r);\n}, p.prototype.copy = function (e, t, r, n) {\n if (r || (r = 0), n || 0 === n || (n = this.length), t >= e.length && (t = e.length), t || (t = 0), n > 0 && n < r && (n = r), n === r) return 0;\n if (0 === e.length || 0 === this.length) return 0;\n if (t < 0) throw new RangeError(\"targetStart out of bounds\");\n if (r < 0 || r >= this.length) throw new RangeError(\"sourceStart out of bounds\");\n if (n < 0) throw new RangeError(\"sourceEnd out of bounds\");\n n > this.length && (n = this.length), e.length - t < n - r && (n = e.length - t + r);\n var i,\n o = n - r;\n if (this === e && r < t && t < n) for (i = o - 1; i >= 0; --i) {\n e[i + t] = this[i + r];\n } else if (o < 1e3 || !p.TYPED_ARRAY_SUPPORT) for (i = 0; i < o; ++i) {\n e[i + t] = this[i + r];\n } else Uint8Array.prototype.set.call(e, this.subarray(r, r + o), t);\n return o;\n}, p.prototype.fill = function (e, t, r, n) {\n if (\"string\" == typeof e) {\n if (\"string\" == typeof t ? (n = t, t = 0, r = this.length) : \"string\" == typeof r && (n = r, r = this.length), 1 === e.length) {\n var i = e.charCodeAt(0);\n i < 256 && (e = i);\n }\n if (void 0 !== n && \"string\" != typeof n) throw new TypeError(\"encoding must be a string\");\n if (\"string\" == typeof n && !p.isEncoding(n)) throw new TypeError(\"Unknown encoding: \" + n);\n } else \"number\" == typeof e && (e &= 255);\n if (t < 0 || this.length < t || this.length < r) throw new RangeError(\"Out of range index\");\n if (r <= t) return this;\n var o;\n if (t >>>= 0, r = void 0 === r ? this.length : r >>> 0, e || (e = 0), \"number\" == typeof e) for (o = t; o < r; ++o) {\n this[o] = e;\n } else {\n var a = y(e) ? e : q(new p(e, n).toString()),\n s = a.length;\n for (o = 0; o < r - t; ++o) {\n this[o + t] = a[o % s];\n }\n }\n return this;\n};\nvar K = /[^+\\/0-9A-Za-z-_]/g;\nfunction X(e) {\n return e < 16 ? \"0\" + e.toString(16) : e.toString(16);\n}\nfunction q(e, t) {\n var r;\n t = t || 1 / 0;\n for (var n = e.length, i = null, o = [], a = 0; a < n; ++a) {\n if ((r = e.charCodeAt(a)) > 55295 && r < 57344) {\n if (!i) {\n if (r > 56319) {\n (t -= 3) > -1 && o.push(239, 191, 189);\n continue;\n }\n if (a + 1 === n) {\n (t -= 3) > -1 && o.push(239, 191, 189);\n continue;\n }\n i = r;\n continue;\n }\n if (r < 56320) {\n (t -= 3) > -1 && o.push(239, 191, 189), i = r;\n continue;\n }\n r = 65536 + (i - 55296 << 10 | r - 56320);\n } else i && (t -= 3) > -1 && o.push(239, 191, 189);\n if (i = null, r < 128) {\n if ((t -= 1) < 0) break;\n o.push(r);\n } else if (r < 2048) {\n if ((t -= 2) < 0) break;\n o.push(r >> 6 | 192, 63 & r | 128);\n } else if (r < 65536) {\n if ((t -= 3) < 0) break;\n o.push(r >> 12 | 224, r >> 6 & 63 | 128, 63 & r | 128);\n } else {\n if (!(r < 1114112)) throw new Error(\"Invalid code point\");\n if ((t -= 4) < 0) break;\n o.push(r >> 18 | 240, r >> 12 & 63 | 128, r >> 6 & 63 | 128, 63 & r | 128);\n }\n }\n return o;\n}\nfunction V(e) {\n return function (e) {\n var t, a, s, h, l, f;\n i || o();\n var c = e.length;\n if (c % 4 > 0) throw new Error(\"Invalid string. Length must be a multiple of 4\");\n l = \"=\" === e[c - 2] ? 2 : \"=\" === e[c - 1] ? 1 : 0, f = new n(3 * c / 4 - l), s = l > 0 ? c - 4 : c;\n var u = 0;\n for (t = 0, a = 0; t < s; t += 4, a += 3) {\n h = r[e.charCodeAt(t)] << 18 | r[e.charCodeAt(t + 1)] << 12 | r[e.charCodeAt(t + 2)] << 6 | r[e.charCodeAt(t + 3)], f[u++] = h >> 16 & 255, f[u++] = h >> 8 & 255, f[u++] = 255 & h;\n }\n return 2 === l ? (h = r[e.charCodeAt(t)] << 2 | r[e.charCodeAt(t + 1)] >> 4, f[u++] = 255 & h) : 1 === l && (h = r[e.charCodeAt(t)] << 10 | r[e.charCodeAt(t + 1)] << 4 | r[e.charCodeAt(t + 2)] >> 2, f[u++] = h >> 8 & 255, f[u++] = 255 & h), f;\n }(function (e) {\n if ((e = function (e) {\n return e.trim ? e.trim() : e.replace(/^\\s+|\\s+$/g, \"\");\n }(e).replace(K, \"\")).length < 2) return \"\";\n for (; e.length % 4 != 0;) {\n e += \"=\";\n }\n return e;\n }(e));\n}\nfunction G(e, t, r, n) {\n for (var i = 0; i < n && !(i + r >= t.length || i >= e.length); ++i) {\n t[i + r] = e[i];\n }\n return i;\n}\nfunction $(e) {\n return null != e && (!!e._isBuffer || J(e) || function (e) {\n return \"function\" == typeof e.readFloatLE && \"function\" == typeof e.slice && J(e.slice(0, 0));\n }(e));\n}\nfunction J(e) {\n return !!e.constructor && \"function\" == typeof e.constructor.isBuffer && e.constructor.isBuffer(e);\n}\n\"undefined\" != typeof globalThis ? globalThis : \"undefined\" != typeof window ? window : \"undefined\" != typeof global ? global : \"undefined\" != typeof self && self;\nfunction Q(e, t) {\n return e(t = {\n exports: {}\n }, t.exports), t.exports;\n}\nvar ee = Q(function (e, t) {\n var r;\n e.exports = (r = r || function (e, t) {\n var r = Object.create || function () {\n function e() {}\n return function (t) {\n var r;\n return e.prototype = t, r = new e(), e.prototype = null, r;\n };\n }(),\n n = {},\n i = n.lib = {},\n o = i.Base = {\n extend: function extend(e) {\n var t = r(this);\n return e && t.mixIn(e), t.hasOwnProperty(\"init\") && this.init !== t.init || (t.init = function () {\n t.$super.init.apply(this, arguments);\n }), t.init.prototype = t, t.$super = this, t;\n },\n create: function create() {\n var e = this.extend();\n return e.init.apply(e, arguments), e;\n },\n init: function init() {},\n mixIn: function mixIn(e) {\n for (var t in e) {\n e.hasOwnProperty(t) && (this[t] = e[t]);\n }\n e.hasOwnProperty(\"toString\") && (this.toString = e.toString);\n },\n clone: function clone() {\n return this.init.prototype.extend(this);\n }\n },\n a = i.WordArray = o.extend({\n init: function init(e, t) {\n e = this.words = e || [], this.sigBytes = null != t ? t : 4 * e.length;\n },\n toString: function toString(e) {\n return (e || h).stringify(this);\n },\n concat: function concat(e) {\n var t = this.words,\n r = e.words,\n n = this.sigBytes,\n i = e.sigBytes;\n if (this.clamp(), n % 4) for (var o = 0; o < i; o++) {\n var a = r[o >>> 2] >>> 24 - o % 4 * 8 & 255;\n t[n + o >>> 2] |= a << 24 - (n + o) % 4 * 8;\n } else for (var o = 0; o < i; o += 4) {\n t[n + o >>> 2] = r[o >>> 2];\n }\n return this.sigBytes += i, this;\n },\n clamp: function clamp() {\n var t = this.words,\n r = this.sigBytes;\n t[r >>> 2] &= 4294967295 << 32 - r % 4 * 8, t.length = e.ceil(r / 4);\n },\n clone: function clone() {\n var e = o.clone.call(this);\n return e.words = this.words.slice(0), e;\n },\n random: function random(t) {\n for (var r, n = [], i = function i(t) {\n var t = t,\n r = 987654321,\n n = 4294967295;\n return function () {\n var i = ((r = 36969 * (65535 & r) + (r >> 16) & n) << 16) + (t = 18e3 * (65535 & t) + (t >> 16) & n) & n;\n return i /= 4294967296, (i += .5) * (e.random() > .5 ? 1 : -1);\n };\n }, o = 0; o < t; o += 4) {\n var s = i(4294967296 * (r || e.random()));\n r = 987654071 * s(), n.push(4294967296 * s() | 0);\n }\n return new a.init(n, t);\n }\n }),\n s = n.enc = {},\n h = s.Hex = {\n stringify: function stringify(e) {\n for (var t = e.words, r = e.sigBytes, n = [], i = 0; i < r; i++) {\n var o = t[i >>> 2] >>> 24 - i % 4 * 8 & 255;\n n.push((o >>> 4).toString(16)), n.push((15 & o).toString(16));\n }\n return n.join(\"\");\n },\n parse: function parse(e) {\n for (var t = e.length, r = [], n = 0; n < t; n += 2) {\n r[n >>> 3] |= parseInt(e.substr(n, 2), 16) << 24 - n % 8 * 4;\n }\n return new a.init(r, t / 2);\n }\n },\n l = s.Latin1 = {\n stringify: function stringify(e) {\n for (var t = e.words, r = e.sigBytes, n = [], i = 0; i < r; i++) {\n var o = t[i >>> 2] >>> 24 - i % 4 * 8 & 255;\n n.push(String.fromCharCode(o));\n }\n return n.join(\"\");\n },\n parse: function parse(e) {\n for (var t = e.length, r = [], n = 0; n < t; n++) {\n r[n >>> 2] |= (255 & e.charCodeAt(n)) << 24 - n % 4 * 8;\n }\n return new a.init(r, t);\n }\n },\n f = s.Utf8 = {\n stringify: function stringify(e) {\n try {\n return decodeURIComponent(escape(l.stringify(e)));\n } catch (e) {\n throw new Error(\"Malformed UTF-8 data\");\n }\n },\n parse: function parse(e) {\n return l.parse(unescape(encodeURIComponent(e)));\n }\n },\n c = i.BufferedBlockAlgorithm = o.extend({\n reset: function reset() {\n this._data = new a.init(), this._nDataBytes = 0;\n },\n _append: function _append(e) {\n \"string\" == typeof e && (e = f.parse(e)), this._data.concat(e), this._nDataBytes += e.sigBytes;\n },\n _process: function _process(t) {\n var r = this._data,\n n = r.words,\n i = r.sigBytes,\n o = this.blockSize,\n s = 4 * o,\n h = i / s,\n l = (h = t ? e.ceil(h) : e.max((0 | h) - this._minBufferSize, 0)) * o,\n f = e.min(4 * l, i);\n if (l) {\n for (var c = 0; c < l; c += o) {\n this._doProcessBlock(n, c);\n }\n var u = n.splice(0, l);\n r.sigBytes -= f;\n }\n return new a.init(u, f);\n },\n clone: function clone() {\n var e = o.clone.call(this);\n return e._data = this._data.clone(), e;\n },\n _minBufferSize: 0\n }),\n u = (i.Hasher = c.extend({\n cfg: o.extend(),\n init: function init(e) {\n this.cfg = this.cfg.extend(e), this.reset();\n },\n reset: function reset() {\n c.reset.call(this), this._doReset();\n },\n update: function update(e) {\n return this._append(e), this._process(), this;\n },\n finalize: function finalize(e) {\n e && this._append(e);\n var t = this._doFinalize();\n return t;\n },\n blockSize: 16,\n _createHelper: function _createHelper(e) {\n return function (t, r) {\n return new e.init(r).finalize(t);\n };\n },\n _createHmacHelper: function _createHmacHelper(e) {\n return function (t, r) {\n return new u.HMAC.init(e, r).finalize(t);\n };\n }\n }), n.algo = {});\n return n;\n }(Math), r);\n }),\n te = (Q(function (e, t) {\n var r, n, i, o, a, s;\n e.exports = (i = (n = r = ee).lib, o = i.Base, a = i.WordArray, (s = n.x64 = {}).Word = o.extend({\n init: function init(e, t) {\n this.high = e, this.low = t;\n }\n }), s.WordArray = o.extend({\n init: function init(e, t) {\n e = this.words = e || [], this.sigBytes = null != t ? t : 8 * e.length;\n },\n toX32: function toX32() {\n for (var e = this.words, t = e.length, r = [], n = 0; n < t; n++) {\n var i = e[n];\n r.push(i.high), r.push(i.low);\n }\n return a.create(r, this.sigBytes);\n },\n clone: function clone() {\n for (var e = o.clone.call(this), t = e.words = this.words.slice(0), r = t.length, n = 0; n < r; n++) {\n t[n] = t[n].clone();\n }\n return e;\n }\n }), r);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n if (\"function\" == typeof ArrayBuffer) {\n var e = r.lib.WordArray,\n t = e.init;\n (e.init = function (e) {\n if (e instanceof ArrayBuffer && (e = new Uint8Array(e)), (e instanceof Int8Array || \"undefined\" != typeof Uint8ClampedArray && e instanceof Uint8ClampedArray || e instanceof Int16Array || e instanceof Uint16Array || e instanceof Int32Array || e instanceof Uint32Array || e instanceof Float32Array || e instanceof Float64Array) && (e = new Uint8Array(e.buffer, e.byteOffset, e.byteLength)), e instanceof Uint8Array) {\n for (var r = e.byteLength, n = [], i = 0; i < r; i++) {\n n[i >>> 2] |= e[i] << 24 - i % 4 * 8;\n }\n t.call(this, n, r);\n } else t.apply(this, arguments);\n }).prototype = e;\n }\n }(), r.lib.WordArray);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n var e = r,\n t = e.lib.WordArray,\n n = e.enc;\n function i(e) {\n return e << 8 & 4278255360 | e >>> 8 & 16711935;\n }\n n.Utf16 = n.Utf16BE = {\n stringify: function stringify(e) {\n for (var t = e.words, r = e.sigBytes, n = [], i = 0; i < r; i += 2) {\n var o = t[i >>> 2] >>> 16 - i % 4 * 8 & 65535;\n n.push(String.fromCharCode(o));\n }\n return n.join(\"\");\n },\n parse: function parse(e) {\n for (var r = e.length, n = [], i = 0; i < r; i++) {\n n[i >>> 1] |= e.charCodeAt(i) << 16 - i % 2 * 16;\n }\n return t.create(n, 2 * r);\n }\n }, n.Utf16LE = {\n stringify: function stringify(e) {\n for (var t = e.words, r = e.sigBytes, n = [], o = 0; o < r; o += 2) {\n var a = i(t[o >>> 2] >>> 16 - o % 4 * 8 & 65535);\n n.push(String.fromCharCode(a));\n }\n return n.join(\"\");\n },\n parse: function parse(e) {\n for (var r = e.length, n = [], o = 0; o < r; o++) {\n n[o >>> 1] |= i(e.charCodeAt(o) << 16 - o % 2 * 16);\n }\n return t.create(n, 2 * r);\n }\n };\n }(), r.enc.Utf16);\n }), Q(function (e, t) {\n var r, n, i;\n e.exports = (i = (n = r = ee).lib.WordArray, n.enc.Base64 = {\n stringify: function stringify(e) {\n var t = e.words,\n r = e.sigBytes,\n n = this._map;\n e.clamp();\n for (var i = [], o = 0; o < r; o += 3) {\n for (var a = (t[o >>> 2] >>> 24 - o % 4 * 8 & 255) << 16 | (t[o + 1 >>> 2] >>> 24 - (o + 1) % 4 * 8 & 255) << 8 | t[o + 2 >>> 2] >>> 24 - (o + 2) % 4 * 8 & 255, s = 0; s < 4 && o + .75 * s < r; s++) {\n i.push(n.charAt(a >>> 6 * (3 - s) & 63));\n }\n }\n var h = n.charAt(64);\n if (h) for (; i.length % 4;) {\n i.push(h);\n }\n return i.join(\"\");\n },\n parse: function parse(e) {\n var t = e.length,\n r = this._map,\n n = this._reverseMap;\n if (!n) {\n n = this._reverseMap = [];\n for (var o = 0; o < r.length; o++) {\n n[r.charCodeAt(o)] = o;\n }\n }\n var a = r.charAt(64);\n if (a) {\n var s = e.indexOf(a);\n -1 !== s && (t = s);\n }\n return function (e, t, r) {\n for (var n = [], o = 0, a = 0; a < t; a++) {\n if (a % 4) {\n var s = r[e.charCodeAt(a - 1)] << a % 4 * 2,\n h = r[e.charCodeAt(a)] >>> 6 - a % 4 * 2;\n n[o >>> 2] |= (s | h) << 24 - o % 4 * 8, o++;\n }\n }\n return i.create(n, o);\n }(e, t, n);\n },\n _map: \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"\n }, r.enc.Base64);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function (e) {\n var t = r,\n n = t.lib,\n i = n.WordArray,\n o = n.Hasher,\n a = t.algo,\n s = [];\n !function () {\n for (var t = 0; t < 64; t++) {\n s[t] = 4294967296 * e.abs(e.sin(t + 1)) | 0;\n }\n }();\n var h = a.MD5 = o.extend({\n _doReset: function _doReset() {\n this._hash = new i.init([1732584193, 4023233417, 2562383102, 271733878]);\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n for (var r = 0; r < 16; r++) {\n var n = t + r,\n i = e[n];\n e[n] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8);\n }\n var o = this._hash.words,\n a = e[t + 0],\n h = e[t + 1],\n d = e[t + 2],\n p = e[t + 3],\n _ = e[t + 4],\n g = e[t + 5],\n v = e[t + 6],\n w = e[t + 7],\n b = e[t + 8],\n y = e[t + 9],\n m = e[t + 10],\n k = e[t + 11],\n E = e[t + 12],\n S = e[t + 13],\n x = e[t + 14],\n R = e[t + 15],\n A = o[0],\n B = o[1],\n z = o[2],\n L = o[3];\n A = l(A, B, z, L, a, 7, s[0]), L = l(L, A, B, z, h, 12, s[1]), z = l(z, L, A, B, d, 17, s[2]), B = l(B, z, L, A, p, 22, s[3]), A = l(A, B, z, L, _, 7, s[4]), L = l(L, A, B, z, g, 12, s[5]), z = l(z, L, A, B, v, 17, s[6]), B = l(B, z, L, A, w, 22, s[7]), A = l(A, B, z, L, b, 7, s[8]), L = l(L, A, B, z, y, 12, s[9]), z = l(z, L, A, B, m, 17, s[10]), B = l(B, z, L, A, k, 22, s[11]), A = l(A, B, z, L, E, 7, s[12]), L = l(L, A, B, z, S, 12, s[13]), z = l(z, L, A, B, x, 17, s[14]), A = f(A, B = l(B, z, L, A, R, 22, s[15]), z, L, h, 5, s[16]), L = f(L, A, B, z, v, 9, s[17]), z = f(z, L, A, B, k, 14, s[18]), B = f(B, z, L, A, a, 20, s[19]), A = f(A, B, z, L, g, 5, s[20]), L = f(L, A, B, z, m, 9, s[21]), z = f(z, L, A, B, R, 14, s[22]), B = f(B, z, L, A, _, 20, s[23]), A = f(A, B, z, L, y, 5, s[24]), L = f(L, A, B, z, x, 9, s[25]), z = f(z, L, A, B, p, 14, s[26]), B = f(B, z, L, A, b, 20, s[27]), A = f(A, B, z, L, S, 5, s[28]), L = f(L, A, B, z, d, 9, s[29]), z = f(z, L, A, B, w, 14, s[30]), A = c(A, B = f(B, z, L, A, E, 20, s[31]), z, L, g, 4, s[32]), L = c(L, A, B, z, b, 11, s[33]), z = c(z, L, A, B, k, 16, s[34]), B = c(B, z, L, A, x, 23, s[35]), A = c(A, B, z, L, h, 4, s[36]), L = c(L, A, B, z, _, 11, s[37]), z = c(z, L, A, B, w, 16, s[38]), B = c(B, z, L, A, m, 23, s[39]), A = c(A, B, z, L, S, 4, s[40]), L = c(L, A, B, z, a, 11, s[41]), z = c(z, L, A, B, p, 16, s[42]), B = c(B, z, L, A, v, 23, s[43]), A = c(A, B, z, L, y, 4, s[44]), L = c(L, A, B, z, E, 11, s[45]), z = c(z, L, A, B, R, 16, s[46]), A = u(A, B = c(B, z, L, A, d, 23, s[47]), z, L, a, 6, s[48]), L = u(L, A, B, z, w, 10, s[49]), z = u(z, L, A, B, x, 15, s[50]), B = u(B, z, L, A, g, 21, s[51]), A = u(A, B, z, L, E, 6, s[52]), L = u(L, A, B, z, p, 10, s[53]), z = u(z, L, A, B, m, 15, s[54]), B = u(B, z, L, A, h, 21, s[55]), A = u(A, B, z, L, b, 6, s[56]), L = u(L, A, B, z, R, 10, s[57]), z = u(z, L, A, B, v, 15, s[58]), B = u(B, z, L, A, S, 21, s[59]), A = u(A, B, z, L, _, 6, s[60]), L = u(L, A, B, z, k, 10, s[61]), z = u(z, L, A, B, d, 15, s[62]), B = u(B, z, L, A, y, 21, s[63]), o[0] = o[0] + A | 0, o[1] = o[1] + B | 0, o[2] = o[2] + z | 0, o[3] = o[3] + L | 0;\n },\n _doFinalize: function _doFinalize() {\n var t = this._data,\n r = t.words,\n n = 8 * this._nDataBytes,\n i = 8 * t.sigBytes;\n r[i >>> 5] |= 128 << 24 - i % 32;\n var o = e.floor(n / 4294967296),\n a = n;\n r[15 + (i + 64 >>> 9 << 4)] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), r[14 + (i + 64 >>> 9 << 4)] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), t.sigBytes = 4 * (r.length + 1), this._process();\n for (var s = this._hash, h = s.words, l = 0; l < 4; l++) {\n var f = h[l];\n h[l] = 16711935 & (f << 8 | f >>> 24) | 4278255360 & (f << 24 | f >>> 8);\n }\n return s;\n },\n clone: function clone() {\n var e = o.clone.call(this);\n return e._hash = this._hash.clone(), e;\n }\n });\n function l(e, t, r, n, i, o, a) {\n var s = e + (t & r | ~t & n) + i + a;\n return (s << o | s >>> 32 - o) + t;\n }\n function f(e, t, r, n, i, o, a) {\n var s = e + (t & n | r & ~n) + i + a;\n return (s << o | s >>> 32 - o) + t;\n }\n function c(e, t, r, n, i, o, a) {\n var s = e + (t ^ r ^ n) + i + a;\n return (s << o | s >>> 32 - o) + t;\n }\n function u(e, t, r, n, i, o, a) {\n var s = e + (r ^ (t | ~n)) + i + a;\n return (s << o | s >>> 32 - o) + t;\n }\n t.MD5 = o._createHelper(h), t.HmacMD5 = o._createHmacHelper(h);\n }(Math), r.MD5);\n }), Q(function (e, t) {\n var r, n, i, o, a, s, h, l;\n e.exports = (i = (n = r = ee).lib, o = i.WordArray, a = i.Hasher, s = n.algo, h = [], l = s.SHA1 = a.extend({\n _doReset: function _doReset() {\n this._hash = new o.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520]);\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n for (var r = this._hash.words, n = r[0], i = r[1], o = r[2], a = r[3], s = r[4], l = 0; l < 80; l++) {\n if (l < 16) h[l] = 0 | e[t + l];else {\n var f = h[l - 3] ^ h[l - 8] ^ h[l - 14] ^ h[l - 16];\n h[l] = f << 1 | f >>> 31;\n }\n var c = (n << 5 | n >>> 27) + s + h[l];\n c += l < 20 ? 1518500249 + (i & o | ~i & a) : l < 40 ? 1859775393 + (i ^ o ^ a) : l < 60 ? (i & o | i & a | o & a) - 1894007588 : (i ^ o ^ a) - 899497514, s = a, a = o, o = i << 30 | i >>> 2, i = n, n = c;\n }\n r[0] = r[0] + n | 0, r[1] = r[1] + i | 0, r[2] = r[2] + o | 0, r[3] = r[3] + a | 0, r[4] = r[4] + s | 0;\n },\n _doFinalize: function _doFinalize() {\n var e = this._data,\n t = e.words,\n r = 8 * this._nDataBytes,\n n = 8 * e.sigBytes;\n return t[n >>> 5] |= 128 << 24 - n % 32, t[14 + (n + 64 >>> 9 << 4)] = Math.floor(r / 4294967296), t[15 + (n + 64 >>> 9 << 4)] = r, e.sigBytes = 4 * t.length, this._process(), this._hash;\n },\n clone: function clone() {\n var e = a.clone.call(this);\n return e._hash = this._hash.clone(), e;\n }\n }), n.SHA1 = a._createHelper(l), n.HmacSHA1 = a._createHmacHelper(l), r.SHA1);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function (e) {\n var t = r,\n n = t.lib,\n i = n.WordArray,\n o = n.Hasher,\n a = t.algo,\n s = [],\n h = [];\n !function () {\n function t(t) {\n for (var r = e.sqrt(t), n = 2; n <= r; n++) {\n if (!(t % n)) return !1;\n }\n return !0;\n }\n function r(e) {\n return 4294967296 * (e - (0 | e)) | 0;\n }\n for (var n = 2, i = 0; i < 64;) {\n t(n) && (i < 8 && (s[i] = r(e.pow(n, .5))), h[i] = r(e.pow(n, 1 / 3)), i++), n++;\n }\n }();\n var l = [],\n f = a.SHA256 = o.extend({\n _doReset: function _doReset() {\n this._hash = new i.init(s.slice(0));\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n for (var r = this._hash.words, n = r[0], i = r[1], o = r[2], a = r[3], s = r[4], f = r[5], c = r[6], u = r[7], d = 0; d < 64; d++) {\n if (d < 16) l[d] = 0 | e[t + d];else {\n var p = l[d - 15],\n _ = (p << 25 | p >>> 7) ^ (p << 14 | p >>> 18) ^ p >>> 3,\n g = l[d - 2],\n v = (g << 15 | g >>> 17) ^ (g << 13 | g >>> 19) ^ g >>> 10;\n l[d] = _ + l[d - 7] + v + l[d - 16];\n }\n var w = n & i ^ n & o ^ i & o,\n b = (n << 30 | n >>> 2) ^ (n << 19 | n >>> 13) ^ (n << 10 | n >>> 22),\n y = u + ((s << 26 | s >>> 6) ^ (s << 21 | s >>> 11) ^ (s << 7 | s >>> 25)) + (s & f ^ ~s & c) + h[d] + l[d];\n u = c, c = f, f = s, s = a + y | 0, a = o, o = i, i = n, n = y + (b + w) | 0;\n }\n r[0] = r[0] + n | 0, r[1] = r[1] + i | 0, r[2] = r[2] + o | 0, r[3] = r[3] + a | 0, r[4] = r[4] + s | 0, r[5] = r[5] + f | 0, r[6] = r[6] + c | 0, r[7] = r[7] + u | 0;\n },\n _doFinalize: function _doFinalize() {\n var t = this._data,\n r = t.words,\n n = 8 * this._nDataBytes,\n i = 8 * t.sigBytes;\n return r[i >>> 5] |= 128 << 24 - i % 32, r[14 + (i + 64 >>> 9 << 4)] = e.floor(n / 4294967296), r[15 + (i + 64 >>> 9 << 4)] = n, t.sigBytes = 4 * r.length, this._process(), this._hash;\n },\n clone: function clone() {\n var e = o.clone.call(this);\n return e._hash = this._hash.clone(), e;\n }\n });\n t.SHA256 = o._createHelper(f), t.HmacSHA256 = o._createHmacHelper(f);\n }(Math), r.SHA256);\n }), Q(function (e, t) {\n var r, n, i, o, a, s;\n e.exports = (i = (n = r = ee).lib.WordArray, o = n.algo, a = o.SHA256, s = o.SHA224 = a.extend({\n _doReset: function _doReset() {\n this._hash = new i.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428]);\n },\n _doFinalize: function _doFinalize() {\n var e = a._doFinalize.call(this);\n return e.sigBytes -= 4, e;\n }\n }), n.SHA224 = a._createHelper(s), n.HmacSHA224 = a._createHmacHelper(s), r.SHA224);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n var e = r,\n t = e.lib.Hasher,\n n = e.x64,\n i = n.Word,\n o = n.WordArray,\n a = e.algo;\n function s() {\n return i.create.apply(i, arguments);\n }\n var h = [s(1116352408, 3609767458), s(1899447441, 602891725), s(3049323471, 3964484399), s(3921009573, 2173295548), s(961987163, 4081628472), s(1508970993, 3053834265), s(2453635748, 2937671579), s(2870763221, 3664609560), s(3624381080, 2734883394), s(310598401, 1164996542), s(607225278, 1323610764), s(1426881987, 3590304994), s(1925078388, 4068182383), s(2162078206, 991336113), s(2614888103, 633803317), s(3248222580, 3479774868), s(3835390401, 2666613458), s(4022224774, 944711139), s(264347078, 2341262773), s(604807628, 2007800933), s(770255983, 1495990901), s(1249150122, 1856431235), s(1555081692, 3175218132), s(1996064986, 2198950837), s(2554220882, 3999719339), s(2821834349, 766784016), s(2952996808, 2566594879), s(3210313671, 3203337956), s(3336571891, 1034457026), s(3584528711, 2466948901), s(113926993, 3758326383), s(338241895, 168717936), s(666307205, 1188179964), s(773529912, 1546045734), s(1294757372, 1522805485), s(1396182291, 2643833823), s(1695183700, 2343527390), s(1986661051, 1014477480), s(2177026350, 1206759142), s(2456956037, 344077627), s(2730485921, 1290863460), s(2820302411, 3158454273), s(3259730800, 3505952657), s(3345764771, 106217008), s(3516065817, 3606008344), s(3600352804, 1432725776), s(4094571909, 1467031594), s(275423344, 851169720), s(430227734, 3100823752), s(506948616, 1363258195), s(659060556, 3750685593), s(883997877, 3785050280), s(958139571, 3318307427), s(1322822218, 3812723403), s(1537002063, 2003034995), s(1747873779, 3602036899), s(1955562222, 1575990012), s(2024104815, 1125592928), s(2227730452, 2716904306), s(2361852424, 442776044), s(2428436474, 593698344), s(2756734187, 3733110249), s(3204031479, 2999351573), s(3329325298, 3815920427), s(3391569614, 3928383900), s(3515267271, 566280711), s(3940187606, 3454069534), s(4118630271, 4000239992), s(116418474, 1914138554), s(174292421, 2731055270), s(289380356, 3203993006), s(460393269, 320620315), s(685471733, 587496836), s(852142971, 1086792851), s(1017036298, 365543100), s(1126000580, 2618297676), s(1288033470, 3409855158), s(1501505948, 4234509866), s(1607167915, 987167468), s(1816402316, 1246189591)],\n l = [];\n !function () {\n for (var e = 0; e < 80; e++) {\n l[e] = s();\n }\n }();\n var f = a.SHA512 = t.extend({\n _doReset: function _doReset() {\n this._hash = new o.init([new i.init(1779033703, 4089235720), new i.init(3144134277, 2227873595), new i.init(1013904242, 4271175723), new i.init(2773480762, 1595750129), new i.init(1359893119, 2917565137), new i.init(2600822924, 725511199), new i.init(528734635, 4215389547), new i.init(1541459225, 327033209)]);\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n for (var r = this._hash.words, n = r[0], i = r[1], o = r[2], a = r[3], s = r[4], f = r[5], c = r[6], u = r[7], d = n.high, p = n.low, _ = i.high, g = i.low, v = o.high, w = o.low, b = a.high, y = a.low, m = s.high, k = s.low, E = f.high, S = f.low, x = c.high, R = c.low, A = u.high, B = u.low, z = d, L = p, T = _, M = g, C = v, D = w, I = b, P = y, O = m, U = k, H = E, F = S, N = x, Z = R, j = A, W = B, Y = 0; Y < 80; Y++) {\n var K = l[Y];\n if (Y < 16) var X = K.high = 0 | e[t + 2 * Y],\n q = K.low = 0 | e[t + 2 * Y + 1];else {\n var V = l[Y - 15],\n G = V.high,\n $ = V.low,\n J = (G >>> 1 | $ << 31) ^ (G >>> 8 | $ << 24) ^ G >>> 7,\n Q = ($ >>> 1 | G << 31) ^ ($ >>> 8 | G << 24) ^ ($ >>> 7 | G << 25),\n ee = l[Y - 2],\n te = ee.high,\n re = ee.low,\n ne = (te >>> 19 | re << 13) ^ (te << 3 | re >>> 29) ^ te >>> 6,\n ie = (re >>> 19 | te << 13) ^ (re << 3 | te >>> 29) ^ (re >>> 6 | te << 26),\n oe = l[Y - 7],\n ae = oe.high,\n se = oe.low,\n he = l[Y - 16],\n le = he.high,\n fe = he.low;\n X = (X = (X = J + ae + ((q = Q + se) >>> 0 < Q >>> 0 ? 1 : 0)) + ne + ((q += ie) >>> 0 < ie >>> 0 ? 1 : 0)) + le + ((q += fe) >>> 0 < fe >>> 0 ? 1 : 0), K.high = X, K.low = q;\n }\n var ce,\n ue = O & H ^ ~O & N,\n de = U & F ^ ~U & Z,\n pe = z & T ^ z & C ^ T & C,\n _e = L & M ^ L & D ^ M & D,\n ge = (z >>> 28 | L << 4) ^ (z << 30 | L >>> 2) ^ (z << 25 | L >>> 7),\n ve = (L >>> 28 | z << 4) ^ (L << 30 | z >>> 2) ^ (L << 25 | z >>> 7),\n we = (O >>> 14 | U << 18) ^ (O >>> 18 | U << 14) ^ (O << 23 | U >>> 9),\n be = (U >>> 14 | O << 18) ^ (U >>> 18 | O << 14) ^ (U << 23 | O >>> 9),\n ye = h[Y],\n me = ye.high,\n ke = ye.low,\n Ee = j + we + ((ce = W + be) >>> 0 < W >>> 0 ? 1 : 0),\n Se = ve + _e;\n j = N, W = Z, N = H, Z = F, H = O, F = U, O = I + (Ee = (Ee = (Ee = Ee + ue + ((ce += de) >>> 0 < de >>> 0 ? 1 : 0)) + me + ((ce += ke) >>> 0 < ke >>> 0 ? 1 : 0)) + X + ((ce += q) >>> 0 < q >>> 0 ? 1 : 0)) + ((U = P + ce | 0) >>> 0 < P >>> 0 ? 1 : 0) | 0, I = C, P = D, C = T, D = M, T = z, M = L, z = Ee + (ge + pe + (Se >>> 0 < ve >>> 0 ? 1 : 0)) + ((L = ce + Se | 0) >>> 0 < ce >>> 0 ? 1 : 0) | 0;\n }\n p = n.low = p + L, n.high = d + z + (p >>> 0 < L >>> 0 ? 1 : 0), g = i.low = g + M, i.high = _ + T + (g >>> 0 < M >>> 0 ? 1 : 0), w = o.low = w + D, o.high = v + C + (w >>> 0 < D >>> 0 ? 1 : 0), y = a.low = y + P, a.high = b + I + (y >>> 0 < P >>> 0 ? 1 : 0), k = s.low = k + U, s.high = m + O + (k >>> 0 < U >>> 0 ? 1 : 0), S = f.low = S + F, f.high = E + H + (S >>> 0 < F >>> 0 ? 1 : 0), R = c.low = R + Z, c.high = x + N + (R >>> 0 < Z >>> 0 ? 1 : 0), B = u.low = B + W, u.high = A + j + (B >>> 0 < W >>> 0 ? 1 : 0);\n },\n _doFinalize: function _doFinalize() {\n var e = this._data,\n t = e.words,\n r = 8 * this._nDataBytes,\n n = 8 * e.sigBytes;\n return t[n >>> 5] |= 128 << 24 - n % 32, t[30 + (n + 128 >>> 10 << 5)] = Math.floor(r / 4294967296), t[31 + (n + 128 >>> 10 << 5)] = r, e.sigBytes = 4 * t.length, this._process(), this._hash.toX32();\n },\n clone: function clone() {\n var e = t.clone.call(this);\n return e._hash = this._hash.clone(), e;\n },\n blockSize: 32\n });\n e.SHA512 = t._createHelper(f), e.HmacSHA512 = t._createHmacHelper(f);\n }(), r.SHA512);\n }), Q(function (e, t) {\n var r, n, i, o, a, s, h, l;\n e.exports = (i = (n = r = ee).x64, o = i.Word, a = i.WordArray, s = n.algo, h = s.SHA512, l = s.SHA384 = h.extend({\n _doReset: function _doReset() {\n this._hash = new a.init([new o.init(3418070365, 3238371032), new o.init(1654270250, 914150663), new o.init(2438529370, 812702999), new o.init(355462360, 4144912697), new o.init(1731405415, 4290775857), new o.init(2394180231, 1750603025), new o.init(3675008525, 1694076839), new o.init(1203062813, 3204075428)]);\n },\n _doFinalize: function _doFinalize() {\n var e = h._doFinalize.call(this);\n return e.sigBytes -= 16, e;\n }\n }), n.SHA384 = h._createHelper(l), n.HmacSHA384 = h._createHmacHelper(l), r.SHA384);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function (e) {\n var t = r,\n n = t.lib,\n i = n.WordArray,\n o = n.Hasher,\n a = t.x64.Word,\n s = t.algo,\n h = [],\n l = [],\n f = [];\n !function () {\n for (var e = 1, t = 0, r = 0; r < 24; r++) {\n h[e + 5 * t] = (r + 1) * (r + 2) / 2 % 64;\n var n = (2 * e + 3 * t) % 5;\n e = t % 5, t = n;\n }\n for (e = 0; e < 5; e++) {\n for (t = 0; t < 5; t++) {\n l[e + 5 * t] = t + (2 * e + 3 * t) % 5 * 5;\n }\n }\n for (var i = 1, o = 0; o < 24; o++) {\n for (var s = 0, c = 0, u = 0; u < 7; u++) {\n if (1 & i) {\n var d = (1 << u) - 1;\n d < 32 ? c ^= 1 << d : s ^= 1 << d - 32;\n }\n 128 & i ? i = i << 1 ^ 113 : i <<= 1;\n }\n f[o] = a.create(s, c);\n }\n }();\n var c = [];\n !function () {\n for (var e = 0; e < 25; e++) {\n c[e] = a.create();\n }\n }();\n var u = s.SHA3 = o.extend({\n cfg: o.cfg.extend({\n outputLength: 512\n }),\n _doReset: function _doReset() {\n for (var e = this._state = [], t = 0; t < 25; t++) {\n e[t] = new a.init();\n }\n this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n for (var r = this._state, n = this.blockSize / 2, i = 0; i < n; i++) {\n var o = e[t + 2 * i],\n a = e[t + 2 * i + 1];\n o = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8), a = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), (B = r[i]).high ^= a, B.low ^= o;\n }\n for (var s = 0; s < 24; s++) {\n for (var u = 0; u < 5; u++) {\n for (var d = 0, p = 0, _ = 0; _ < 5; _++) {\n d ^= (B = r[u + 5 * _]).high, p ^= B.low;\n }\n var g = c[u];\n g.high = d, g.low = p;\n }\n for (u = 0; u < 5; u++) {\n var v = c[(u + 4) % 5],\n w = c[(u + 1) % 5],\n b = w.high,\n y = w.low;\n for (d = v.high ^ (b << 1 | y >>> 31), p = v.low ^ (y << 1 | b >>> 31), _ = 0; _ < 5; _++) {\n (B = r[u + 5 * _]).high ^= d, B.low ^= p;\n }\n }\n for (var m = 1; m < 25; m++) {\n var k = (B = r[m]).high,\n E = B.low,\n S = h[m];\n S < 32 ? (d = k << S | E >>> 32 - S, p = E << S | k >>> 32 - S) : (d = E << S - 32 | k >>> 64 - S, p = k << S - 32 | E >>> 64 - S);\n var x = c[l[m]];\n x.high = d, x.low = p;\n }\n var R = c[0],\n A = r[0];\n for (R.high = A.high, R.low = A.low, u = 0; u < 5; u++) {\n for (_ = 0; _ < 5; _++) {\n var B = r[m = u + 5 * _],\n z = c[m],\n L = c[(u + 1) % 5 + 5 * _],\n T = c[(u + 2) % 5 + 5 * _];\n B.high = z.high ^ ~L.high & T.high, B.low = z.low ^ ~L.low & T.low;\n }\n }\n B = r[0];\n var M = f[s];\n B.high ^= M.high, B.low ^= M.low;\n }\n },\n _doFinalize: function _doFinalize() {\n var t = this._data,\n r = t.words,\n n = (this._nDataBytes, 8 * t.sigBytes),\n o = 32 * this.blockSize;\n r[n >>> 5] |= 1 << 24 - n % 32, r[(e.ceil((n + 1) / o) * o >>> 5) - 1] |= 128, t.sigBytes = 4 * r.length, this._process();\n for (var a = this._state, s = this.cfg.outputLength / 8, h = s / 8, l = [], f = 0; f < h; f++) {\n var c = a[f],\n u = c.high,\n d = c.low;\n u = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8), d = 16711935 & (d << 8 | d >>> 24) | 4278255360 & (d << 24 | d >>> 8), l.push(d), l.push(u);\n }\n return new i.init(l, s);\n },\n clone: function clone() {\n for (var e = o.clone.call(this), t = e._state = this._state.slice(0), r = 0; r < 25; r++) {\n t[r] = t[r].clone();\n }\n return e;\n }\n });\n t.SHA3 = o._createHelper(u), t.HmacSHA3 = o._createHmacHelper(u);\n }(Math), r.SHA3);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function (e) {\n var t = r,\n n = t.lib,\n i = n.WordArray,\n o = n.Hasher,\n a = t.algo,\n s = i.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]),\n h = i.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]),\n l = i.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]),\n f = i.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]),\n c = i.create([0, 1518500249, 1859775393, 2400959708, 2840853838]),\n u = i.create([1352829926, 1548603684, 1836072691, 2053994217, 0]),\n d = a.RIPEMD160 = o.extend({\n _doReset: function _doReset() {\n this._hash = i.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520]);\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n for (var r = 0; r < 16; r++) {\n var n = t + r,\n i = e[n];\n e[n] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8);\n }\n var o,\n a,\n d,\n y,\n m,\n k,\n E,\n S,\n x,\n R,\n A,\n B = this._hash.words,\n z = c.words,\n L = u.words,\n T = s.words,\n M = h.words,\n C = l.words,\n D = f.words;\n for (k = o = B[0], E = a = B[1], S = d = B[2], x = y = B[3], R = m = B[4], r = 0; r < 80; r += 1) {\n A = o + e[t + T[r]] | 0, A += r < 16 ? p(a, d, y) + z[0] : r < 32 ? _(a, d, y) + z[1] : r < 48 ? g(a, d, y) + z[2] : r < 64 ? v(a, d, y) + z[3] : w(a, d, y) + z[4], A = (A = b(A |= 0, C[r])) + m | 0, o = m, m = y, y = b(d, 10), d = a, a = A, A = k + e[t + M[r]] | 0, A += r < 16 ? w(E, S, x) + L[0] : r < 32 ? v(E, S, x) + L[1] : r < 48 ? g(E, S, x) + L[2] : r < 64 ? _(E, S, x) + L[3] : p(E, S, x) + L[4], A = (A = b(A |= 0, D[r])) + R | 0, k = R, R = x, x = b(S, 10), S = E, E = A;\n }\n A = B[1] + d + x | 0, B[1] = B[2] + y + R | 0, B[2] = B[3] + m + k | 0, B[3] = B[4] + o + E | 0, B[4] = B[0] + a + S | 0, B[0] = A;\n },\n _doFinalize: function _doFinalize() {\n var e = this._data,\n t = e.words,\n r = 8 * this._nDataBytes,\n n = 8 * e.sigBytes;\n t[n >>> 5] |= 128 << 24 - n % 32, t[14 + (n + 64 >>> 9 << 4)] = 16711935 & (r << 8 | r >>> 24) | 4278255360 & (r << 24 | r >>> 8), e.sigBytes = 4 * (t.length + 1), this._process();\n for (var i = this._hash, o = i.words, a = 0; a < 5; a++) {\n var s = o[a];\n o[a] = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8);\n }\n return i;\n },\n clone: function clone() {\n var e = o.clone.call(this);\n return e._hash = this._hash.clone(), e;\n }\n });\n function p(e, t, r) {\n return e ^ t ^ r;\n }\n function _(e, t, r) {\n return e & t | ~e & r;\n }\n function g(e, t, r) {\n return (e | ~t) ^ r;\n }\n function v(e, t, r) {\n return e & r | t & ~r;\n }\n function w(e, t, r) {\n return e ^ (t | ~r);\n }\n function b(e, t) {\n return e << t | e >>> 32 - t;\n }\n t.RIPEMD160 = o._createHelper(d), t.HmacRIPEMD160 = o._createHmacHelper(d);\n }(), r.RIPEMD160);\n }), Q(function (e, t) {\n var r, n, i, o, a, s;\n e.exports = (n = (r = ee).lib, i = n.Base, o = r.enc, a = o.Utf8, s = r.algo, void (s.HMAC = i.extend({\n init: function init(e, t) {\n e = this._hasher = new e.init(), \"string\" == typeof t && (t = a.parse(t));\n var r = e.blockSize,\n n = 4 * r;\n t.sigBytes > n && (t = e.finalize(t)), t.clamp();\n for (var i = this._oKey = t.clone(), o = this._iKey = t.clone(), s = i.words, h = o.words, l = 0; l < r; l++) {\n s[l] ^= 1549556828, h[l] ^= 909522486;\n }\n i.sigBytes = o.sigBytes = n, this.reset();\n },\n reset: function reset() {\n var e = this._hasher;\n e.reset(), e.update(this._iKey);\n },\n update: function update(e) {\n return this._hasher.update(e), this;\n },\n finalize: function finalize(e) {\n var t = this._hasher,\n r = t.finalize(e);\n t.reset();\n var n = t.finalize(this._oKey.clone().concat(r));\n return n;\n }\n })));\n }), Q(function (e, t) {\n var r, n, i, o, a, s, h, l, f;\n e.exports = (i = (n = r = ee).lib, o = i.Base, a = i.WordArray, s = n.algo, h = s.SHA1, l = s.HMAC, f = s.PBKDF2 = o.extend({\n cfg: o.extend({\n keySize: 4,\n hasher: h,\n iterations: 1\n }),\n init: function init(e) {\n this.cfg = this.cfg.extend(e);\n },\n compute: function compute(e, t) {\n for (var r = this.cfg, n = l.create(r.hasher, e), i = a.create(), o = a.create([1]), s = i.words, h = o.words, f = r.keySize, c = r.iterations; s.length < f;) {\n var u = n.update(t).finalize(o);\n n.reset();\n for (var d = u.words, p = d.length, _ = u, g = 1; g < c; g++) {\n _ = n.finalize(_), n.reset();\n for (var v = _.words, w = 0; w < p; w++) {\n d[w] ^= v[w];\n }\n }\n i.concat(u), h[0]++;\n }\n return i.sigBytes = 4 * f, i;\n }\n }), n.PBKDF2 = function (e, t, r) {\n return f.create(r).compute(e, t);\n }, r.PBKDF2);\n }), Q(function (e, t) {\n var r, n, i, o, a, s, h, l;\n e.exports = (i = (n = r = ee).lib, o = i.Base, a = i.WordArray, s = n.algo, h = s.MD5, l = s.EvpKDF = o.extend({\n cfg: o.extend({\n keySize: 4,\n hasher: h,\n iterations: 1\n }),\n init: function init(e) {\n this.cfg = this.cfg.extend(e);\n },\n compute: function compute(e, t) {\n for (var r = this.cfg, n = r.hasher.create(), i = a.create(), o = i.words, s = r.keySize, h = r.iterations; o.length < s;) {\n l && n.update(l);\n var l = n.update(e).finalize(t);\n n.reset();\n for (var f = 1; f < h; f++) {\n l = n.finalize(l), n.reset();\n }\n i.concat(l);\n }\n return i.sigBytes = 4 * s, i;\n }\n }), n.EvpKDF = function (e, t, r) {\n return l.create(r).compute(e, t);\n }, r.EvpKDF);\n }), Q(function (e, t) {\n var r, n, i, o, a, s, h, l, f, c, u, d, p, _, g, v, w, b, y, m, k, E, S, x;\n e.exports = void ((r = ee).lib.Cipher || (i = r, o = i.lib, a = o.Base, s = o.WordArray, h = o.BufferedBlockAlgorithm, l = i.enc, l.Utf8, f = l.Base64, c = i.algo, u = c.EvpKDF, d = o.Cipher = h.extend({\n cfg: a.extend(),\n createEncryptor: function createEncryptor(e, t) {\n return this.create(this._ENC_XFORM_MODE, e, t);\n },\n createDecryptor: function createDecryptor(e, t) {\n return this.create(this._DEC_XFORM_MODE, e, t);\n },\n init: function init(e, t, r) {\n this.cfg = this.cfg.extend(r), this._xformMode = e, this._key = t, this.reset();\n },\n reset: function reset() {\n h.reset.call(this), this._doReset();\n },\n process: function process(e) {\n return this._append(e), this._process();\n },\n finalize: function finalize(e) {\n e && this._append(e);\n var t = this._doFinalize();\n return t;\n },\n keySize: 4,\n ivSize: 4,\n _ENC_XFORM_MODE: 1,\n _DEC_XFORM_MODE: 2,\n _createHelper: function () {\n function e(e) {\n return \"string\" == typeof e ? x : k;\n }\n return function (t) {\n return {\n encrypt: function encrypt(r, n, i) {\n return e(n).encrypt(t, r, n, i);\n },\n decrypt: function decrypt(r, n, i) {\n return e(n).decrypt(t, r, n, i);\n }\n };\n };\n }()\n }), o.StreamCipher = d.extend({\n _doFinalize: function _doFinalize() {\n var e = this._process(!0);\n return e;\n },\n blockSize: 1\n }), p = i.mode = {}, _ = o.BlockCipherMode = a.extend({\n createEncryptor: function createEncryptor(e, t) {\n return this.Encryptor.create(e, t);\n },\n createDecryptor: function createDecryptor(e, t) {\n return this.Decryptor.create(e, t);\n },\n init: function init(e, t) {\n this._cipher = e, this._iv = t;\n }\n }), g = p.CBC = function () {\n var e = _.extend();\n function t(e, t, r) {\n var i = this._iv;\n if (i) {\n var o = i;\n this._iv = n;\n } else var o = this._prevBlock;\n for (var a = 0; a < r; a++) {\n e[t + a] ^= o[a];\n }\n }\n return e.Encryptor = e.extend({\n processBlock: function processBlock(e, r) {\n var n = this._cipher,\n i = n.blockSize;\n t.call(this, e, r, i), n.encryptBlock(e, r), this._prevBlock = e.slice(r, r + i);\n }\n }), e.Decryptor = e.extend({\n processBlock: function processBlock(e, r) {\n var n = this._cipher,\n i = n.blockSize,\n o = e.slice(r, r + i);\n n.decryptBlock(e, r), t.call(this, e, r, i), this._prevBlock = o;\n }\n }), e;\n }(), v = i.pad = {}, w = v.Pkcs7 = {\n pad: function pad(e, t) {\n for (var r = 4 * t, n = r - e.sigBytes % r, i = n << 24 | n << 16 | n << 8 | n, o = [], a = 0; a < n; a += 4) {\n o.push(i);\n }\n var h = s.create(o, n);\n e.concat(h);\n },\n unpad: function unpad(e) {\n var t = 255 & e.words[e.sigBytes - 1 >>> 2];\n e.sigBytes -= t;\n }\n }, o.BlockCipher = d.extend({\n cfg: d.cfg.extend({\n mode: g,\n padding: w\n }),\n reset: function reset() {\n d.reset.call(this);\n var e = this.cfg,\n t = e.iv,\n r = e.mode;\n if (this._xformMode == this._ENC_XFORM_MODE) var n = r.createEncryptor;else {\n var n = r.createDecryptor;\n this._minBufferSize = 1;\n }\n this._mode && this._mode.__creator == n ? this._mode.init(this, t && t.words) : (this._mode = n.call(r, this, t && t.words), this._mode.__creator = n);\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n this._mode.processBlock(e, t);\n },\n _doFinalize: function _doFinalize() {\n var e = this.cfg.padding;\n if (this._xformMode == this._ENC_XFORM_MODE) {\n e.pad(this._data, this.blockSize);\n var t = this._process(!0);\n } else {\n var t = this._process(!0);\n e.unpad(t);\n }\n return t;\n },\n blockSize: 4\n }), b = o.CipherParams = a.extend({\n init: function init(e) {\n this.mixIn(e);\n },\n toString: function toString(e) {\n return (e || this.formatter).stringify(this);\n }\n }), y = i.format = {}, m = y.OpenSSL = {\n stringify: function stringify(e) {\n var t = e.ciphertext,\n r = e.salt;\n if (r) var n = s.create([1398893684, 1701076831]).concat(r).concat(t);else var n = t;\n return n.toString(f);\n },\n parse: function parse(e) {\n var t = f.parse(e),\n r = t.words;\n if (1398893684 == r[0] && 1701076831 == r[1]) {\n var n = s.create(r.slice(2, 4));\n r.splice(0, 4), t.sigBytes -= 16;\n }\n return b.create({\n ciphertext: t,\n salt: n\n });\n }\n }, k = o.SerializableCipher = a.extend({\n cfg: a.extend({\n format: m\n }),\n encrypt: function encrypt(e, t, r, n) {\n n = this.cfg.extend(n);\n var i = e.createEncryptor(r, n),\n o = i.finalize(t),\n a = i.cfg;\n return b.create({\n ciphertext: o,\n key: r,\n iv: a.iv,\n algorithm: e,\n mode: a.mode,\n padding: a.padding,\n blockSize: e.blockSize,\n formatter: n.format\n });\n },\n decrypt: function decrypt(e, t, r, n) {\n n = this.cfg.extend(n), t = this._parse(t, n.format);\n var i = e.createDecryptor(r, n).finalize(t.ciphertext);\n return i;\n },\n _parse: function _parse(e, t) {\n return \"string\" == typeof e ? t.parse(e, this) : e;\n }\n }), E = i.kdf = {}, S = E.OpenSSL = {\n execute: function execute(e, t, r, n) {\n n || (n = s.random(8));\n var i = u.create({\n keySize: t + r\n }).compute(e, n),\n o = s.create(i.words.slice(t), 4 * r);\n return i.sigBytes = 4 * t, b.create({\n key: i,\n iv: o,\n salt: n\n });\n }\n }, x = o.PasswordBasedCipher = k.extend({\n cfg: k.cfg.extend({\n kdf: S\n }),\n encrypt: function encrypt(e, t, r, n) {\n var i = (n = this.cfg.extend(n)).kdf.execute(r, e.keySize, e.ivSize);\n n.iv = i.iv;\n var o = k.encrypt.call(this, e, t, i.key, n);\n return o.mixIn(i), o;\n },\n decrypt: function decrypt(e, t, r, n) {\n n = this.cfg.extend(n), t = this._parse(t, n.format);\n var i = n.kdf.execute(r, e.keySize, e.ivSize, t.salt);\n n.iv = i.iv;\n var o = k.decrypt.call(this, e, t, i.key, n);\n return o;\n }\n })));\n }), Q(function (e, t) {\n var r;\n e.exports = ((r = ee).mode.CFB = function () {\n var e = r.lib.BlockCipherMode.extend();\n function t(e, t, r, n) {\n var i = this._iv;\n if (i) {\n var o = i.slice(0);\n this._iv = void 0;\n } else o = this._prevBlock;\n n.encryptBlock(o, 0);\n for (var a = 0; a < r; a++) {\n e[t + a] ^= o[a];\n }\n }\n return e.Encryptor = e.extend({\n processBlock: function processBlock(e, r) {\n var n = this._cipher,\n i = n.blockSize;\n t.call(this, e, r, i, n), this._prevBlock = e.slice(r, r + i);\n }\n }), e.Decryptor = e.extend({\n processBlock: function processBlock(e, r) {\n var n = this._cipher,\n i = n.blockSize,\n o = e.slice(r, r + i);\n t.call(this, e, r, i, n), this._prevBlock = o;\n }\n }), e;\n }(), r.mode.CFB);\n }), Q(function (e, t) {\n var r, n, i;\n e.exports = ((r = ee).mode.CTR = (n = r.lib.BlockCipherMode.extend(), i = n.Encryptor = n.extend({\n processBlock: function processBlock(e, t) {\n var r = this._cipher,\n n = r.blockSize,\n i = this._iv,\n o = this._counter;\n i && (o = this._counter = i.slice(0), this._iv = void 0);\n var a = o.slice(0);\n r.encryptBlock(a, 0), o[n - 1] = o[n - 1] + 1 | 0;\n for (var s = 0; s < n; s++) {\n e[t + s] ^= a[s];\n }\n }\n }), n.Decryptor = i, n), r.mode.CTR);\n }), Q(function (e, t) {\n var r;\n e.exports = ((r = ee).mode.CTRGladman = function () {\n var e = r.lib.BlockCipherMode.extend();\n function t(e) {\n if (255 == (e >> 24 & 255)) {\n var t = e >> 16 & 255,\n r = e >> 8 & 255,\n n = 255 & e;\n 255 === t ? (t = 0, 255 === r ? (r = 0, 255 === n ? n = 0 : ++n) : ++r) : ++t, e = 0, e += t << 16, e += r << 8, e += n;\n } else e += 1 << 24;\n return e;\n }\n var n = e.Encryptor = e.extend({\n processBlock: function processBlock(e, r) {\n var n = this._cipher,\n i = n.blockSize,\n o = this._iv,\n a = this._counter;\n o && (a = this._counter = o.slice(0), this._iv = void 0), function (e) {\n 0 === (e[0] = t(e[0])) && (e[1] = t(e[1]));\n }(a);\n var s = a.slice(0);\n n.encryptBlock(s, 0);\n for (var h = 0; h < i; h++) {\n e[r + h] ^= s[h];\n }\n }\n });\n return e.Decryptor = n, e;\n }(), r.mode.CTRGladman);\n }), Q(function (e, t) {\n var r, n, i;\n e.exports = ((r = ee).mode.OFB = (n = r.lib.BlockCipherMode.extend(), i = n.Encryptor = n.extend({\n processBlock: function processBlock(e, t) {\n var r = this._cipher,\n n = r.blockSize,\n i = this._iv,\n o = this._keystream;\n i && (o = this._keystream = i.slice(0), this._iv = void 0), r.encryptBlock(o, 0);\n for (var a = 0; a < n; a++) {\n e[t + a] ^= o[a];\n }\n }\n }), n.Decryptor = i, n), r.mode.OFB);\n }), Q(function (e, t) {\n var r, n;\n e.exports = ((r = ee).mode.ECB = ((n = r.lib.BlockCipherMode.extend()).Encryptor = n.extend({\n processBlock: function processBlock(e, t) {\n this._cipher.encryptBlock(e, t);\n }\n }), n.Decryptor = n.extend({\n processBlock: function processBlock(e, t) {\n this._cipher.decryptBlock(e, t);\n }\n }), n), r.mode.ECB);\n }), Q(function (e, t) {\n var r;\n e.exports = ((r = ee).pad.AnsiX923 = {\n pad: function pad(e, t) {\n var r = e.sigBytes,\n n = 4 * t,\n i = n - r % n,\n o = r + i - 1;\n e.clamp(), e.words[o >>> 2] |= i << 24 - o % 4 * 8, e.sigBytes += i;\n },\n unpad: function unpad(e) {\n var t = 255 & e.words[e.sigBytes - 1 >>> 2];\n e.sigBytes -= t;\n }\n }, r.pad.Ansix923);\n }), Q(function (e, t) {\n var r;\n e.exports = ((r = ee).pad.Iso10126 = {\n pad: function pad(e, t) {\n var n = 4 * t,\n i = n - e.sigBytes % n;\n e.concat(r.lib.WordArray.random(i - 1)).concat(r.lib.WordArray.create([i << 24], 1));\n },\n unpad: function unpad(e) {\n var t = 255 & e.words[e.sigBytes - 1 >>> 2];\n e.sigBytes -= t;\n }\n }, r.pad.Iso10126);\n }), Q(function (e, t) {\n var r;\n e.exports = ((r = ee).pad.Iso97971 = {\n pad: function pad(e, t) {\n e.concat(r.lib.WordArray.create([2147483648], 1)), r.pad.ZeroPadding.pad(e, t);\n },\n unpad: function unpad(e) {\n r.pad.ZeroPadding.unpad(e), e.sigBytes--;\n }\n }, r.pad.Iso97971);\n }), Q(function (e, t) {\n var r;\n e.exports = ((r = ee).pad.ZeroPadding = {\n pad: function pad(e, t) {\n var r = 4 * t;\n e.clamp(), e.sigBytes += r - (e.sigBytes % r || r);\n },\n unpad: function unpad(e) {\n for (var t = e.words, r = e.sigBytes - 1; !(t[r >>> 2] >>> 24 - r % 4 * 8 & 255);) {\n r--;\n }\n e.sigBytes = r + 1;\n }\n }, r.pad.ZeroPadding);\n }), Q(function (e, t) {\n var r;\n e.exports = ((r = ee).pad.NoPadding = {\n pad: function pad() {},\n unpad: function unpad() {}\n }, r.pad.NoPadding);\n }), Q(function (e, t) {\n var r, n, i, o;\n e.exports = (i = (n = r = ee).lib.CipherParams, o = n.enc.Hex, n.format.Hex = {\n stringify: function stringify(e) {\n return e.ciphertext.toString(o);\n },\n parse: function parse(e) {\n var t = o.parse(e);\n return i.create({\n ciphertext: t\n });\n }\n }, r.format.Hex);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n var e = r,\n t = e.lib.BlockCipher,\n n = e.algo,\n i = [],\n o = [],\n a = [],\n s = [],\n h = [],\n l = [],\n f = [],\n c = [],\n u = [],\n d = [];\n !function () {\n for (var e = [], t = 0; t < 256; t++) {\n e[t] = t < 128 ? t << 1 : t << 1 ^ 283;\n }\n var r = 0,\n n = 0;\n for (t = 0; t < 256; t++) {\n var p = n ^ n << 1 ^ n << 2 ^ n << 3 ^ n << 4;\n p = p >>> 8 ^ 255 & p ^ 99, i[r] = p, o[p] = r;\n var _ = e[r],\n g = e[_],\n v = e[g],\n w = 257 * e[p] ^ 16843008 * p;\n a[r] = w << 24 | w >>> 8, s[r] = w << 16 | w >>> 16, h[r] = w << 8 | w >>> 24, l[r] = w, w = 16843009 * v ^ 65537 * g ^ 257 * _ ^ 16843008 * r, f[p] = w << 24 | w >>> 8, c[p] = w << 16 | w >>> 16, u[p] = w << 8 | w >>> 24, d[p] = w, r ? (r = _ ^ e[e[e[v ^ _]]], n ^= e[e[n]]) : r = n = 1;\n }\n }();\n var p = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54],\n _ = n.AES = t.extend({\n _doReset: function _doReset() {\n if (!this._nRounds || this._keyPriorReset !== this._key) {\n for (var e = this._keyPriorReset = this._key, t = e.words, r = e.sigBytes / 4, n = 4 * ((this._nRounds = r + 6) + 1), o = this._keySchedule = [], a = 0; a < n; a++) {\n if (a < r) o[a] = t[a];else {\n var s = o[a - 1];\n a % r ? r > 6 && a % r == 4 && (s = i[s >>> 24] << 24 | i[s >>> 16 & 255] << 16 | i[s >>> 8 & 255] << 8 | i[255 & s]) : (s = i[(s = s << 8 | s >>> 24) >>> 24] << 24 | i[s >>> 16 & 255] << 16 | i[s >>> 8 & 255] << 8 | i[255 & s], s ^= p[a / r | 0] << 24), o[a] = o[a - r] ^ s;\n }\n }\n for (var h = this._invKeySchedule = [], l = 0; l < n; l++) {\n a = n - l, s = l % 4 ? o[a] : o[a - 4], h[l] = l < 4 || a <= 4 ? s : f[i[s >>> 24]] ^ c[i[s >>> 16 & 255]] ^ u[i[s >>> 8 & 255]] ^ d[i[255 & s]];\n }\n }\n },\n encryptBlock: function encryptBlock(e, t) {\n this._doCryptBlock(e, t, this._keySchedule, a, s, h, l, i);\n },\n decryptBlock: function decryptBlock(e, t) {\n var r = e[t + 1];\n e[t + 1] = e[t + 3], e[t + 3] = r, this._doCryptBlock(e, t, this._invKeySchedule, f, c, u, d, o), r = e[t + 1], e[t + 1] = e[t + 3], e[t + 3] = r;\n },\n _doCryptBlock: function _doCryptBlock(e, t, r, n, i, o, a, s) {\n for (var h = this._nRounds, l = e[t] ^ r[0], f = e[t + 1] ^ r[1], c = e[t + 2] ^ r[2], u = e[t + 3] ^ r[3], d = 4, p = 1; p < h; p++) {\n var _ = n[l >>> 24] ^ i[f >>> 16 & 255] ^ o[c >>> 8 & 255] ^ a[255 & u] ^ r[d++],\n g = n[f >>> 24] ^ i[c >>> 16 & 255] ^ o[u >>> 8 & 255] ^ a[255 & l] ^ r[d++],\n v = n[c >>> 24] ^ i[u >>> 16 & 255] ^ o[l >>> 8 & 255] ^ a[255 & f] ^ r[d++],\n w = n[u >>> 24] ^ i[l >>> 16 & 255] ^ o[f >>> 8 & 255] ^ a[255 & c] ^ r[d++];\n l = _, f = g, c = v, u = w;\n }\n _ = (s[l >>> 24] << 24 | s[f >>> 16 & 255] << 16 | s[c >>> 8 & 255] << 8 | s[255 & u]) ^ r[d++], g = (s[f >>> 24] << 24 | s[c >>> 16 & 255] << 16 | s[u >>> 8 & 255] << 8 | s[255 & l]) ^ r[d++], v = (s[c >>> 24] << 24 | s[u >>> 16 & 255] << 16 | s[l >>> 8 & 255] << 8 | s[255 & f]) ^ r[d++], w = (s[u >>> 24] << 24 | s[l >>> 16 & 255] << 16 | s[f >>> 8 & 255] << 8 | s[255 & c]) ^ r[d++], e[t] = _, e[t + 1] = g, e[t + 2] = v, e[t + 3] = w;\n },\n keySize: 8\n });\n e.AES = t._createHelper(_);\n }(), r.AES);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n var e = r,\n t = e.lib,\n n = t.WordArray,\n i = t.BlockCipher,\n o = e.algo,\n a = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4],\n s = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32],\n h = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28],\n l = [{\n 0: 8421888,\n 268435456: 32768,\n 536870912: 8421378,\n 805306368: 2,\n 1073741824: 512,\n 1342177280: 8421890,\n 1610612736: 8389122,\n 1879048192: 8388608,\n 2147483648: 514,\n 2415919104: 8389120,\n 2684354560: 33280,\n 2952790016: 8421376,\n 3221225472: 32770,\n 3489660928: 8388610,\n 3758096384: 0,\n 4026531840: 33282,\n 134217728: 0,\n 402653184: 8421890,\n 671088640: 33282,\n 939524096: 32768,\n 1207959552: 8421888,\n 1476395008: 512,\n 1744830464: 8421378,\n 2013265920: 2,\n 2281701376: 8389120,\n 2550136832: 33280,\n 2818572288: 8421376,\n 3087007744: 8389122,\n 3355443200: 8388610,\n 3623878656: 32770,\n 3892314112: 514,\n 4160749568: 8388608,\n 1: 32768,\n 268435457: 2,\n 536870913: 8421888,\n 805306369: 8388608,\n 1073741825: 8421378,\n 1342177281: 33280,\n 1610612737: 512,\n 1879048193: 8389122,\n 2147483649: 8421890,\n 2415919105: 8421376,\n 2684354561: 8388610,\n 2952790017: 33282,\n 3221225473: 514,\n 3489660929: 8389120,\n 3758096385: 32770,\n 4026531841: 0,\n 134217729: 8421890,\n 402653185: 8421376,\n 671088641: 8388608,\n 939524097: 512,\n 1207959553: 32768,\n 1476395009: 8388610,\n 1744830465: 2,\n 2013265921: 33282,\n 2281701377: 32770,\n 2550136833: 8389122,\n 2818572289: 514,\n 3087007745: 8421888,\n 3355443201: 8389120,\n 3623878657: 0,\n 3892314113: 33280,\n 4160749569: 8421378\n }, {\n 0: 1074282512,\n 16777216: 16384,\n 33554432: 524288,\n 50331648: 1074266128,\n 67108864: 1073741840,\n 83886080: 1074282496,\n 100663296: 1073758208,\n 117440512: 16,\n 134217728: 540672,\n 150994944: 1073758224,\n 167772160: 1073741824,\n 184549376: 540688,\n 201326592: 524304,\n 218103808: 0,\n 234881024: 16400,\n 251658240: 1074266112,\n 8388608: 1073758208,\n 25165824: 540688,\n 41943040: 16,\n 58720256: 1073758224,\n 75497472: 1074282512,\n 92274688: 1073741824,\n 109051904: 524288,\n 125829120: 1074266128,\n 142606336: 524304,\n 159383552: 0,\n 176160768: 16384,\n 192937984: 1074266112,\n 209715200: 1073741840,\n 226492416: 540672,\n 243269632: 1074282496,\n 260046848: 16400,\n 268435456: 0,\n 285212672: 1074266128,\n 301989888: 1073758224,\n 318767104: 1074282496,\n 335544320: 1074266112,\n 352321536: 16,\n 369098752: 540688,\n 385875968: 16384,\n 402653184: 16400,\n 419430400: 524288,\n 436207616: 524304,\n 452984832: 1073741840,\n 469762048: 540672,\n 486539264: 1073758208,\n 503316480: 1073741824,\n 520093696: 1074282512,\n 276824064: 540688,\n 293601280: 524288,\n 310378496: 1074266112,\n 327155712: 16384,\n 343932928: 1073758208,\n 360710144: 1074282512,\n 377487360: 16,\n 394264576: 1073741824,\n 411041792: 1074282496,\n 427819008: 1073741840,\n 444596224: 1073758224,\n 461373440: 524304,\n 478150656: 0,\n 494927872: 16400,\n 511705088: 1074266128,\n 528482304: 540672\n }, {\n 0: 260,\n 1048576: 0,\n 2097152: 67109120,\n 3145728: 65796,\n 4194304: 65540,\n 5242880: 67108868,\n 6291456: 67174660,\n 7340032: 67174400,\n 8388608: 67108864,\n 9437184: 67174656,\n 10485760: 65792,\n 11534336: 67174404,\n 12582912: 67109124,\n 13631488: 65536,\n 14680064: 4,\n 15728640: 256,\n 524288: 67174656,\n 1572864: 67174404,\n 2621440: 0,\n 3670016: 67109120,\n 4718592: 67108868,\n 5767168: 65536,\n 6815744: 65540,\n 7864320: 260,\n 8912896: 4,\n 9961472: 256,\n 11010048: 67174400,\n 12058624: 65796,\n 13107200: 65792,\n 14155776: 67109124,\n 15204352: 67174660,\n 16252928: 67108864,\n 16777216: 67174656,\n 17825792: 65540,\n 18874368: 65536,\n 19922944: 67109120,\n 20971520: 256,\n 22020096: 67174660,\n 23068672: 67108868,\n 24117248: 0,\n 25165824: 67109124,\n 26214400: 67108864,\n 27262976: 4,\n 28311552: 65792,\n 29360128: 67174400,\n 30408704: 260,\n 31457280: 65796,\n 32505856: 67174404,\n 17301504: 67108864,\n 18350080: 260,\n 19398656: 67174656,\n 20447232: 0,\n 21495808: 65540,\n 22544384: 67109120,\n 23592960: 256,\n 24641536: 67174404,\n 25690112: 65536,\n 26738688: 67174660,\n 27787264: 65796,\n 28835840: 67108868,\n 29884416: 67109124,\n 30932992: 67174400,\n 31981568: 4,\n 33030144: 65792\n }, {\n 0: 2151682048,\n 65536: 2147487808,\n 131072: 4198464,\n 196608: 2151677952,\n 262144: 0,\n 327680: 4198400,\n 393216: 2147483712,\n 458752: 4194368,\n 524288: 2147483648,\n 589824: 4194304,\n 655360: 64,\n 720896: 2147487744,\n 786432: 2151678016,\n 851968: 4160,\n 917504: 4096,\n 983040: 2151682112,\n 32768: 2147487808,\n 98304: 64,\n 163840: 2151678016,\n 229376: 2147487744,\n 294912: 4198400,\n 360448: 2151682112,\n 425984: 0,\n 491520: 2151677952,\n 557056: 4096,\n 622592: 2151682048,\n 688128: 4194304,\n 753664: 4160,\n 819200: 2147483648,\n 884736: 4194368,\n 950272: 4198464,\n 1015808: 2147483712,\n 1048576: 4194368,\n 1114112: 4198400,\n 1179648: 2147483712,\n 1245184: 0,\n 1310720: 4160,\n 1376256: 2151678016,\n 1441792: 2151682048,\n 1507328: 2147487808,\n 1572864: 2151682112,\n 1638400: 2147483648,\n 1703936: 2151677952,\n 1769472: 4198464,\n 1835008: 2147487744,\n 1900544: 4194304,\n 1966080: 64,\n 2031616: 4096,\n 1081344: 2151677952,\n 1146880: 2151682112,\n 1212416: 0,\n 1277952: 4198400,\n 1343488: 4194368,\n 1409024: 2147483648,\n 1474560: 2147487808,\n 1540096: 64,\n 1605632: 2147483712,\n 1671168: 4096,\n 1736704: 2147487744,\n 1802240: 2151678016,\n 1867776: 4160,\n 1933312: 2151682048,\n 1998848: 4194304,\n 2064384: 4198464\n }, {\n 0: 128,\n 4096: 17039360,\n 8192: 262144,\n 12288: 536870912,\n 16384: 537133184,\n 20480: 16777344,\n 24576: 553648256,\n 28672: 262272,\n 32768: 16777216,\n 36864: 537133056,\n 40960: 536871040,\n 45056: 553910400,\n 49152: 553910272,\n 53248: 0,\n 57344: 17039488,\n 61440: 553648128,\n 2048: 17039488,\n 6144: 553648256,\n 10240: 128,\n 14336: 17039360,\n 18432: 262144,\n 22528: 537133184,\n 26624: 553910272,\n 30720: 536870912,\n 34816: 537133056,\n 38912: 0,\n 43008: 553910400,\n 47104: 16777344,\n 51200: 536871040,\n 55296: 553648128,\n 59392: 16777216,\n 63488: 262272,\n 65536: 262144,\n 69632: 128,\n 73728: 536870912,\n 77824: 553648256,\n 81920: 16777344,\n 86016: 553910272,\n 90112: 537133184,\n 94208: 16777216,\n 98304: 553910400,\n 102400: 553648128,\n 106496: 17039360,\n 110592: 537133056,\n 114688: 262272,\n 118784: 536871040,\n 122880: 0,\n 126976: 17039488,\n 67584: 553648256,\n 71680: 16777216,\n 75776: 17039360,\n 79872: 537133184,\n 83968: 536870912,\n 88064: 17039488,\n 92160: 128,\n 96256: 553910272,\n 100352: 262272,\n 104448: 553910400,\n 108544: 0,\n 112640: 553648128,\n 116736: 16777344,\n 120832: 262144,\n 124928: 537133056,\n 129024: 536871040\n }, {\n 0: 268435464,\n 256: 8192,\n 512: 270532608,\n 768: 270540808,\n 1024: 268443648,\n 1280: 2097152,\n 1536: 2097160,\n 1792: 268435456,\n 2048: 0,\n 2304: 268443656,\n 2560: 2105344,\n 2816: 8,\n 3072: 270532616,\n 3328: 2105352,\n 3584: 8200,\n 3840: 270540800,\n 128: 270532608,\n 384: 270540808,\n 640: 8,\n 896: 2097152,\n 1152: 2105352,\n 1408: 268435464,\n 1664: 268443648,\n 1920: 8200,\n 2176: 2097160,\n 2432: 8192,\n 2688: 268443656,\n 2944: 270532616,\n 3200: 0,\n 3456: 270540800,\n 3712: 2105344,\n 3968: 268435456,\n 4096: 268443648,\n 4352: 270532616,\n 4608: 270540808,\n 4864: 8200,\n 5120: 2097152,\n 5376: 268435456,\n 5632: 268435464,\n 5888: 2105344,\n 6144: 2105352,\n 6400: 0,\n 6656: 8,\n 6912: 270532608,\n 7168: 8192,\n 7424: 268443656,\n 7680: 270540800,\n 7936: 2097160,\n 4224: 8,\n 4480: 2105344,\n 4736: 2097152,\n 4992: 268435464,\n 5248: 268443648,\n 5504: 8200,\n 5760: 270540808,\n 6016: 270532608,\n 6272: 270540800,\n 6528: 270532616,\n 6784: 8192,\n 7040: 2105352,\n 7296: 2097160,\n 7552: 0,\n 7808: 268435456,\n 8064: 268443656\n }, {\n 0: 1048576,\n 16: 33555457,\n 32: 1024,\n 48: 1049601,\n 64: 34604033,\n 80: 0,\n 96: 1,\n 112: 34603009,\n 128: 33555456,\n 144: 1048577,\n 160: 33554433,\n 176: 34604032,\n 192: 34603008,\n 208: 1025,\n 224: 1049600,\n 240: 33554432,\n 8: 34603009,\n 24: 0,\n 40: 33555457,\n 56: 34604032,\n 72: 1048576,\n 88: 33554433,\n 104: 33554432,\n 120: 1025,\n 136: 1049601,\n 152: 33555456,\n 168: 34603008,\n 184: 1048577,\n 200: 1024,\n 216: 34604033,\n 232: 1,\n 248: 1049600,\n 256: 33554432,\n 272: 1048576,\n 288: 33555457,\n 304: 34603009,\n 320: 1048577,\n 336: 33555456,\n 352: 34604032,\n 368: 1049601,\n 384: 1025,\n 400: 34604033,\n 416: 1049600,\n 432: 1,\n 448: 0,\n 464: 34603008,\n 480: 33554433,\n 496: 1024,\n 264: 1049600,\n 280: 33555457,\n 296: 34603009,\n 312: 1,\n 328: 33554432,\n 344: 1048576,\n 360: 1025,\n 376: 34604032,\n 392: 33554433,\n 408: 34603008,\n 424: 0,\n 440: 34604033,\n 456: 1049601,\n 472: 1024,\n 488: 33555456,\n 504: 1048577\n }, {\n 0: 134219808,\n 1: 131072,\n 2: 134217728,\n 3: 32,\n 4: 131104,\n 5: 134350880,\n 6: 134350848,\n 7: 2048,\n 8: 134348800,\n 9: 134219776,\n 10: 133120,\n 11: 134348832,\n 12: 2080,\n 13: 0,\n 14: 134217760,\n 15: 133152,\n 2147483648: 2048,\n 2147483649: 134350880,\n 2147483650: 134219808,\n 2147483651: 134217728,\n 2147483652: 134348800,\n 2147483653: 133120,\n 2147483654: 133152,\n 2147483655: 32,\n 2147483656: 134217760,\n 2147483657: 2080,\n 2147483658: 131104,\n 2147483659: 134350848,\n 2147483660: 0,\n 2147483661: 134348832,\n 2147483662: 134219776,\n 2147483663: 131072,\n 16: 133152,\n 17: 134350848,\n 18: 32,\n 19: 2048,\n 20: 134219776,\n 21: 134217760,\n 22: 134348832,\n 23: 131072,\n 24: 0,\n 25: 131104,\n 26: 134348800,\n 27: 134219808,\n 28: 134350880,\n 29: 133120,\n 30: 2080,\n 31: 134217728,\n 2147483664: 131072,\n 2147483665: 2048,\n 2147483666: 134348832,\n 2147483667: 133152,\n 2147483668: 32,\n 2147483669: 134348800,\n 2147483670: 134217728,\n 2147483671: 134219808,\n 2147483672: 134350880,\n 2147483673: 134217760,\n 2147483674: 134219776,\n 2147483675: 0,\n 2147483676: 133120,\n 2147483677: 2080,\n 2147483678: 131104,\n 2147483679: 134350848\n }],\n f = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679],\n c = o.DES = i.extend({\n _doReset: function _doReset() {\n for (var e = this._key.words, t = [], r = 0; r < 56; r++) {\n var n = a[r] - 1;\n t[r] = e[n >>> 5] >>> 31 - n % 32 & 1;\n }\n for (var i = this._subKeys = [], o = 0; o < 16; o++) {\n var l = i[o] = [],\n f = h[o];\n for (r = 0; r < 24; r++) {\n l[r / 6 | 0] |= t[(s[r] - 1 + f) % 28] << 31 - r % 6, l[4 + (r / 6 | 0)] |= t[28 + (s[r + 24] - 1 + f) % 28] << 31 - r % 6;\n }\n for (l[0] = l[0] << 1 | l[0] >>> 31, r = 1; r < 7; r++) {\n l[r] = l[r] >>> 4 * (r - 1) + 3;\n }\n l[7] = l[7] << 5 | l[7] >>> 27;\n }\n var c = this._invSubKeys = [];\n for (r = 0; r < 16; r++) {\n c[r] = i[15 - r];\n }\n },\n encryptBlock: function encryptBlock(e, t) {\n this._doCryptBlock(e, t, this._subKeys);\n },\n decryptBlock: function decryptBlock(e, t) {\n this._doCryptBlock(e, t, this._invSubKeys);\n },\n _doCryptBlock: function _doCryptBlock(e, t, r) {\n this._lBlock = e[t], this._rBlock = e[t + 1], u.call(this, 4, 252645135), u.call(this, 16, 65535), d.call(this, 2, 858993459), d.call(this, 8, 16711935), u.call(this, 1, 1431655765);\n for (var n = 0; n < 16; n++) {\n for (var i = r[n], o = this._lBlock, a = this._rBlock, s = 0, h = 0; h < 8; h++) {\n s |= l[h][((a ^ i[h]) & f[h]) >>> 0];\n }\n this._lBlock = a, this._rBlock = o ^ s;\n }\n var c = this._lBlock;\n this._lBlock = this._rBlock, this._rBlock = c, u.call(this, 1, 1431655765), d.call(this, 8, 16711935), d.call(this, 2, 858993459), u.call(this, 16, 65535), u.call(this, 4, 252645135), e[t] = this._lBlock, e[t + 1] = this._rBlock;\n },\n keySize: 2,\n ivSize: 2,\n blockSize: 2\n });\n function u(e, t) {\n var r = (this._lBlock >>> e ^ this._rBlock) & t;\n this._rBlock ^= r, this._lBlock ^= r << e;\n }\n function d(e, t) {\n var r = (this._rBlock >>> e ^ this._lBlock) & t;\n this._lBlock ^= r, this._rBlock ^= r << e;\n }\n e.DES = i._createHelper(c);\n var p = o.TripleDES = i.extend({\n _doReset: function _doReset() {\n var e = this._key.words;\n this._des1 = c.createEncryptor(n.create(e.slice(0, 2))), this._des2 = c.createEncryptor(n.create(e.slice(2, 4))), this._des3 = c.createEncryptor(n.create(e.slice(4, 6)));\n },\n encryptBlock: function encryptBlock(e, t) {\n this._des1.encryptBlock(e, t), this._des2.decryptBlock(e, t), this._des3.encryptBlock(e, t);\n },\n decryptBlock: function decryptBlock(e, t) {\n this._des3.decryptBlock(e, t), this._des2.encryptBlock(e, t), this._des1.decryptBlock(e, t);\n },\n keySize: 6,\n ivSize: 2,\n blockSize: 2\n });\n e.TripleDES = i._createHelper(p);\n }(), r.TripleDES);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n var e = r,\n t = e.lib.StreamCipher,\n n = e.algo,\n i = n.RC4 = t.extend({\n _doReset: function _doReset() {\n for (var e = this._key, t = e.words, r = e.sigBytes, n = this._S = [], i = 0; i < 256; i++) {\n n[i] = i;\n }\n i = 0;\n for (var o = 0; i < 256; i++) {\n var a = i % r,\n s = t[a >>> 2] >>> 24 - a % 4 * 8 & 255;\n o = (o + n[i] + s) % 256;\n var h = n[i];\n n[i] = n[o], n[o] = h;\n }\n this._i = this._j = 0;\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n e[t] ^= o.call(this);\n },\n keySize: 8,\n ivSize: 0\n });\n function o() {\n for (var e = this._S, t = this._i, r = this._j, n = 0, i = 0; i < 4; i++) {\n r = (r + e[t = (t + 1) % 256]) % 256;\n var o = e[t];\n e[t] = e[r], e[r] = o, n |= e[(e[t] + e[r]) % 256] << 24 - 8 * i;\n }\n return this._i = t, this._j = r, n;\n }\n e.RC4 = t._createHelper(i);\n var a = n.RC4Drop = i.extend({\n cfg: i.cfg.extend({\n drop: 192\n }),\n _doReset: function _doReset() {\n i._doReset.call(this);\n for (var e = this.cfg.drop; e > 0; e--) {\n o.call(this);\n }\n }\n });\n e.RC4Drop = t._createHelper(a);\n }(), r.RC4);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n var e = r,\n t = e.lib.StreamCipher,\n n = e.algo,\n i = [],\n o = [],\n a = [],\n s = n.Rabbit = t.extend({\n _doReset: function _doReset() {\n for (var e = this._key.words, t = this.cfg.iv, r = 0; r < 4; r++) {\n e[r] = 16711935 & (e[r] << 8 | e[r] >>> 24) | 4278255360 & (e[r] << 24 | e[r] >>> 8);\n }\n var n = this._X = [e[0], e[3] << 16 | e[2] >>> 16, e[1], e[0] << 16 | e[3] >>> 16, e[2], e[1] << 16 | e[0] >>> 16, e[3], e[2] << 16 | e[1] >>> 16],\n i = this._C = [e[2] << 16 | e[2] >>> 16, 4294901760 & e[0] | 65535 & e[1], e[3] << 16 | e[3] >>> 16, 4294901760 & e[1] | 65535 & e[2], e[0] << 16 | e[0] >>> 16, 4294901760 & e[2] | 65535 & e[3], e[1] << 16 | e[1] >>> 16, 4294901760 & e[3] | 65535 & e[0]];\n for (this._b = 0, r = 0; r < 4; r++) {\n h.call(this);\n }\n for (r = 0; r < 8; r++) {\n i[r] ^= n[r + 4 & 7];\n }\n if (t) {\n var o = t.words,\n a = o[0],\n s = o[1],\n l = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8),\n f = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8),\n c = l >>> 16 | 4294901760 & f,\n u = f << 16 | 65535 & l;\n for (i[0] ^= l, i[1] ^= c, i[2] ^= f, i[3] ^= u, i[4] ^= l, i[5] ^= c, i[6] ^= f, i[7] ^= u, r = 0; r < 4; r++) {\n h.call(this);\n }\n }\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n var r = this._X;\n h.call(this), i[0] = r[0] ^ r[5] >>> 16 ^ r[3] << 16, i[1] = r[2] ^ r[7] >>> 16 ^ r[5] << 16, i[2] = r[4] ^ r[1] >>> 16 ^ r[7] << 16, i[3] = r[6] ^ r[3] >>> 16 ^ r[1] << 16;\n for (var n = 0; n < 4; n++) {\n i[n] = 16711935 & (i[n] << 8 | i[n] >>> 24) | 4278255360 & (i[n] << 24 | i[n] >>> 8), e[t + n] ^= i[n];\n }\n },\n blockSize: 4,\n ivSize: 2\n });\n function h() {\n for (var e = this._X, t = this._C, r = 0; r < 8; r++) {\n o[r] = t[r];\n }\n for (t[0] = t[0] + 1295307597 + this._b | 0, t[1] = t[1] + 3545052371 + (t[0] >>> 0 < o[0] >>> 0 ? 1 : 0) | 0, t[2] = t[2] + 886263092 + (t[1] >>> 0 < o[1] >>> 0 ? 1 : 0) | 0, t[3] = t[3] + 1295307597 + (t[2] >>> 0 < o[2] >>> 0 ? 1 : 0) | 0, t[4] = t[4] + 3545052371 + (t[3] >>> 0 < o[3] >>> 0 ? 1 : 0) | 0, t[5] = t[5] + 886263092 + (t[4] >>> 0 < o[4] >>> 0 ? 1 : 0) | 0, t[6] = t[6] + 1295307597 + (t[5] >>> 0 < o[5] >>> 0 ? 1 : 0) | 0, t[7] = t[7] + 3545052371 + (t[6] >>> 0 < o[6] >>> 0 ? 1 : 0) | 0, this._b = t[7] >>> 0 < o[7] >>> 0 ? 1 : 0, r = 0; r < 8; r++) {\n var n = e[r] + t[r],\n i = 65535 & n,\n s = n >>> 16,\n h = ((i * i >>> 17) + i * s >>> 15) + s * s,\n l = ((4294901760 & n) * n | 0) + ((65535 & n) * n | 0);\n a[r] = h ^ l;\n }\n e[0] = a[0] + (a[7] << 16 | a[7] >>> 16) + (a[6] << 16 | a[6] >>> 16) | 0, e[1] = a[1] + (a[0] << 8 | a[0] >>> 24) + a[7] | 0, e[2] = a[2] + (a[1] << 16 | a[1] >>> 16) + (a[0] << 16 | a[0] >>> 16) | 0, e[3] = a[3] + (a[2] << 8 | a[2] >>> 24) + a[1] | 0, e[4] = a[4] + (a[3] << 16 | a[3] >>> 16) + (a[2] << 16 | a[2] >>> 16) | 0, e[5] = a[5] + (a[4] << 8 | a[4] >>> 24) + a[3] | 0, e[6] = a[6] + (a[5] << 16 | a[5] >>> 16) + (a[4] << 16 | a[4] >>> 16) | 0, e[7] = a[7] + (a[6] << 8 | a[6] >>> 24) + a[5] | 0;\n }\n e.Rabbit = t._createHelper(s);\n }(), r.Rabbit);\n }), Q(function (e, t) {\n var r;\n e.exports = (r = ee, function () {\n var e = r,\n t = e.lib.StreamCipher,\n n = e.algo,\n i = [],\n o = [],\n a = [],\n s = n.RabbitLegacy = t.extend({\n _doReset: function _doReset() {\n var e = this._key.words,\n t = this.cfg.iv,\n r = this._X = [e[0], e[3] << 16 | e[2] >>> 16, e[1], e[0] << 16 | e[3] >>> 16, e[2], e[1] << 16 | e[0] >>> 16, e[3], e[2] << 16 | e[1] >>> 16],\n n = this._C = [e[2] << 16 | e[2] >>> 16, 4294901760 & e[0] | 65535 & e[1], e[3] << 16 | e[3] >>> 16, 4294901760 & e[1] | 65535 & e[2], e[0] << 16 | e[0] >>> 16, 4294901760 & e[2] | 65535 & e[3], e[1] << 16 | e[1] >>> 16, 4294901760 & e[3] | 65535 & e[0]];\n this._b = 0;\n for (var i = 0; i < 4; i++) {\n h.call(this);\n }\n for (i = 0; i < 8; i++) {\n n[i] ^= r[i + 4 & 7];\n }\n if (t) {\n var o = t.words,\n a = o[0],\n s = o[1],\n l = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8),\n f = 16711935 & (s << 8 | s >>> 24) | 4278255360 & (s << 24 | s >>> 8),\n c = l >>> 16 | 4294901760 & f,\n u = f << 16 | 65535 & l;\n for (n[0] ^= l, n[1] ^= c, n[2] ^= f, n[3] ^= u, n[4] ^= l, n[5] ^= c, n[6] ^= f, n[7] ^= u, i = 0; i < 4; i++) {\n h.call(this);\n }\n }\n },\n _doProcessBlock: function _doProcessBlock(e, t) {\n var r = this._X;\n h.call(this), i[0] = r[0] ^ r[5] >>> 16 ^ r[3] << 16, i[1] = r[2] ^ r[7] >>> 16 ^ r[5] << 16, i[2] = r[4] ^ r[1] >>> 16 ^ r[7] << 16, i[3] = r[6] ^ r[3] >>> 16 ^ r[1] << 16;\n for (var n = 0; n < 4; n++) {\n i[n] = 16711935 & (i[n] << 8 | i[n] >>> 24) | 4278255360 & (i[n] << 24 | i[n] >>> 8), e[t + n] ^= i[n];\n }\n },\n blockSize: 4,\n ivSize: 2\n });\n function h() {\n for (var e = this._X, t = this._C, r = 0; r < 8; r++) {\n o[r] = t[r];\n }\n for (t[0] = t[0] + 1295307597 + this._b | 0, t[1] = t[1] + 3545052371 + (t[0] >>> 0 < o[0] >>> 0 ? 1 : 0) | 0, t[2] = t[2] + 886263092 + (t[1] >>> 0 < o[1] >>> 0 ? 1 : 0) | 0, t[3] = t[3] + 1295307597 + (t[2] >>> 0 < o[2] >>> 0 ? 1 : 0) | 0, t[4] = t[4] + 3545052371 + (t[3] >>> 0 < o[3] >>> 0 ? 1 : 0) | 0, t[5] = t[5] + 886263092 + (t[4] >>> 0 < o[4] >>> 0 ? 1 : 0) | 0, t[6] = t[6] + 1295307597 + (t[5] >>> 0 < o[5] >>> 0 ? 1 : 0) | 0, t[7] = t[7] + 3545052371 + (t[6] >>> 0 < o[6] >>> 0 ? 1 : 0) | 0, this._b = t[7] >>> 0 < o[7] >>> 0 ? 1 : 0, r = 0; r < 8; r++) {\n var n = e[r] + t[r],\n i = 65535 & n,\n s = n >>> 16,\n h = ((i * i >>> 17) + i * s >>> 15) + s * s,\n l = ((4294901760 & n) * n | 0) + ((65535 & n) * n | 0);\n a[r] = h ^ l;\n }\n e[0] = a[0] + (a[7] << 16 | a[7] >>> 16) + (a[6] << 16 | a[6] >>> 16) | 0, e[1] = a[1] + (a[0] << 8 | a[0] >>> 24) + a[7] | 0, e[2] = a[2] + (a[1] << 16 | a[1] >>> 16) + (a[0] << 16 | a[0] >>> 16) | 0, e[3] = a[3] + (a[2] << 8 | a[2] >>> 24) + a[1] | 0, e[4] = a[4] + (a[3] << 16 | a[3] >>> 16) + (a[2] << 16 | a[2] >>> 16) | 0, e[5] = a[5] + (a[4] << 8 | a[4] >>> 24) + a[3] | 0, e[6] = a[6] + (a[5] << 16 | a[5] >>> 16) + (a[4] << 16 | a[4] >>> 16) | 0, e[7] = a[7] + (a[6] << 8 | a[6] >>> 24) + a[5] | 0;\n }\n e.RabbitLegacy = t._createHelper(s);\n }(), r.RabbitLegacy);\n }), Q(function (e, t) {\n e.exports = ee;\n }));\nfunction re() {\n throw new Error(\"setTimeout has not been defined\");\n}\nfunction ne() {\n throw new Error(\"clearTimeout has not been defined\");\n}\nvar ie = re,\n oe = ne;\nfunction ae(e) {\n if (ie === setTimeout) return setTimeout(e, 0);\n if ((ie === re || !ie) && setTimeout) return ie = setTimeout, setTimeout(e, 0);\n try {\n return ie(e, 0);\n } catch (t) {\n try {\n return ie.call(null, e, 0);\n } catch (t) {\n return ie.call(this, e, 0);\n }\n }\n}\n\"function\" == typeof e.setTimeout && (ie = setTimeout), \"function\" == typeof e.clearTimeout && (oe = clearTimeout);\nvar se,\n he = [],\n le = !1,\n fe = -1;\nfunction ce() {\n le && se && (le = !1, se.length ? he = se.concat(he) : fe = -1, he.length && ue());\n}\nfunction ue() {\n if (!le) {\n var e = ae(ce);\n le = !0;\n for (var t = he.length; t;) {\n for (se = he, he = []; ++fe < t;) {\n se && se[fe].run();\n }\n fe = -1, t = he.length;\n }\n se = null, le = !1, function (e) {\n if (oe === clearTimeout) return clearTimeout(e);\n if ((oe === ne || !oe) && clearTimeout) return oe = clearTimeout, clearTimeout(e);\n try {\n oe(e);\n } catch (t) {\n try {\n return oe.call(null, e);\n } catch (t) {\n return oe.call(this, e);\n }\n }\n }(e);\n }\n}\nfunction de(e) {\n var t = new Array(arguments.length - 1);\n if (arguments.length > 1) for (var r = 1; r < arguments.length; r++) {\n t[r - 1] = arguments[r];\n }\n he.push(new pe(e, t)), 1 !== he.length || le || ae(ue);\n}\nfunction pe(e, t) {\n this.fun = e, this.array = t;\n}\npe.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nvar _e = {};\n_e.now || _e.mozNow || _e.msNow || _e.oNow || _e.webkitNow;\nfunction ge() {}\nfunction ve() {\n ve.init.call(this);\n}\nfunction we(e) {\n return void 0 === e._maxListeners ? ve.defaultMaxListeners : e._maxListeners;\n}\nfunction be(e, t, r) {\n if (t) e.call(r);else for (var n = e.length, i = Ae(e, n), o = 0; o < n; ++o) {\n i[o].call(r);\n }\n}\nfunction ye(e, t, r, n) {\n if (t) e.call(r, n);else for (var i = e.length, o = Ae(e, i), a = 0; a < i; ++a) {\n o[a].call(r, n);\n }\n}\nfunction me(e, t, r, n, i) {\n if (t) e.call(r, n, i);else for (var o = e.length, a = Ae(e, o), s = 0; s < o; ++s) {\n a[s].call(r, n, i);\n }\n}\nfunction ke(e, t, r, n, i, o) {\n if (t) e.call(r, n, i, o);else for (var a = e.length, s = Ae(e, a), h = 0; h < a; ++h) {\n s[h].call(r, n, i, o);\n }\n}\nfunction Ee(e, t, r, n) {\n if (t) e.apply(r, n);else for (var i = e.length, o = Ae(e, i), a = 0; a < i; ++a) {\n o[a].apply(r, n);\n }\n}\nfunction Se(e, t, r, n) {\n var i, o, a, s;\n if (\"function\" != typeof r) throw new TypeError('\"listener\" argument must be a function');\n if ((o = e._events) ? (o.newListener && (e.emit(\"newListener\", t, r.listener ? r.listener : r), o = e._events), a = o[t]) : (o = e._events = new ge(), e._eventsCount = 0), a) {\n if (\"function\" == typeof a ? a = o[t] = n ? [r, a] : [a, r] : n ? a.unshift(r) : a.push(r), !a.warned && (i = we(e)) && i > 0 && a.length > i) {\n a.warned = !0;\n var h = new Error(\"Possible EventEmitter memory leak detected. \" + a.length + \" \" + t + \" listeners added. Use emitter.setMaxListeners() to increase limit\");\n h.name = \"MaxListenersExceededWarning\", h.emitter = e, h.type = t, h.count = a.length, s = h, \"function\" == typeof console.warn ? __f__(\"warn\", s, \" at debug/lib-generate-test-usersig-es.min.js:3130\") : __f__(\"log\", s, \" at debug/lib-generate-test-usersig-es.min.js:3130\");\n }\n } else a = o[t] = r, ++e._eventsCount;\n return e;\n}\nfunction xe(e, t, r) {\n var n = !1;\n function i() {\n e.removeListener(t, i), n || (n = !0, r.apply(e, arguments));\n }\n return i.listener = r, i;\n}\nfunction Re(e) {\n var t = this._events;\n if (t) {\n var r = t[e];\n if (\"function\" == typeof r) return 1;\n if (r) return r.length;\n }\n return 0;\n}\nfunction Ae(e, t) {\n for (var r = new Array(t); t--;) {\n r[t] = e[t];\n }\n return r;\n}\nge.prototype = Object.create(null), ve.EventEmitter = ve, ve.usingDomains = !1, ve.prototype.domain = void 0, ve.prototype._events = void 0, ve.prototype._maxListeners = void 0, ve.defaultMaxListeners = 10, ve.init = function () {\n this.domain = null, ve.usingDomains && (void 0).active && (void 0).Domain, this._events && this._events !== Object.getPrototypeOf(this)._events || (this._events = new ge(), this._eventsCount = 0), this._maxListeners = this._maxListeners || void 0;\n}, ve.prototype.setMaxListeners = function (e) {\n if (\"number\" != typeof e || e < 0 || isNaN(e)) throw new TypeError('\"n\" argument must be a positive number');\n return this._maxListeners = e, this;\n}, ve.prototype.getMaxListeners = function () {\n return we(this);\n}, ve.prototype.emit = function (e) {\n var t,\n r,\n n,\n i,\n o,\n a,\n s,\n h = \"error\" === e;\n if (a = this._events) h = h && null == a.error;else if (!h) return !1;\n if (s = this.domain, h) {\n if (t = arguments[1], !s) {\n if (t instanceof Error) throw t;\n var l = new Error('Uncaught, unspecified \"error\" event. (' + t + \")\");\n throw l.context = t, l;\n }\n return t || (t = new Error('Uncaught, unspecified \"error\" event')), t.domainEmitter = this, t.domain = s, t.domainThrown = !1, s.emit(\"error\", t), !1;\n }\n if (!(r = a[e])) return !1;\n var f = \"function\" == typeof r;\n switch (n = arguments.length) {\n case 1:\n be(r, f, this);\n break;\n case 2:\n ye(r, f, this, arguments[1]);\n break;\n case 3:\n me(r, f, this, arguments[1], arguments[2]);\n break;\n case 4:\n ke(r, f, this, arguments[1], arguments[2], arguments[3]);\n break;\n default:\n for (i = new Array(n - 1), o = 1; o < n; o++) {\n i[o - 1] = arguments[o];\n }\n Ee(r, f, this, i);\n }\n return !0;\n}, ve.prototype.addListener = function (e, t) {\n return Se(this, e, t, !1);\n}, ve.prototype.on = ve.prototype.addListener, ve.prototype.prependListener = function (e, t) {\n return Se(this, e, t, !0);\n}, ve.prototype.once = function (e, t) {\n if (\"function\" != typeof t) throw new TypeError('\"listener\" argument must be a function');\n return this.on(e, xe(this, e, t)), this;\n}, ve.prototype.prependOnceListener = function (e, t) {\n if (\"function\" != typeof t) throw new TypeError('\"listener\" argument must be a function');\n return this.prependListener(e, xe(this, e, t)), this;\n}, ve.prototype.removeListener = function (e, t) {\n var r, n, i, o, a;\n if (\"function\" != typeof t) throw new TypeError('\"listener\" argument must be a function');\n if (!(n = this._events)) return this;\n if (!(r = n[e])) return this;\n if (r === t || r.listener && r.listener === t) 0 == --this._eventsCount ? this._events = new ge() : (delete n[e], n.removeListener && this.emit(\"removeListener\", e, r.listener || t));else if (\"function\" != typeof r) {\n for (i = -1, o = r.length; o-- > 0;) {\n if (r[o] === t || r[o].listener && r[o].listener === t) {\n a = r[o].listener, i = o;\n break;\n }\n }\n if (i < 0) return this;\n if (1 === r.length) {\n if (r[0] = void 0, 0 == --this._eventsCount) return this._events = new ge(), this;\n delete n[e];\n } else !function (e, t) {\n for (var r = t, n = r + 1, i = e.length; n < i; r += 1, n += 1) {\n e[r] = e[n];\n }\n e.pop();\n }(r, i);\n n.removeListener && this.emit(\"removeListener\", e, a || t);\n }\n return this;\n}, ve.prototype.removeAllListeners = function (e) {\n var t, r;\n if (!(r = this._events)) return this;\n if (!r.removeListener) return 0 === arguments.length ? (this._events = new ge(), this._eventsCount = 0) : r[e] && (0 == --this._eventsCount ? this._events = new ge() : delete r[e]), this;\n if (0 === arguments.length) {\n for (var n, i = Object.keys(r), o = 0; o < i.length; ++o) {\n \"removeListener\" !== (n = i[o]) && this.removeAllListeners(n);\n }\n return this.removeAllListeners(\"removeListener\"), this._events = new ge(), this._eventsCount = 0, this;\n }\n if (\"function\" == typeof (t = r[e])) this.removeListener(e, t);else if (t) do {\n this.removeListener(e, t[t.length - 1]);\n } while (t[0]);\n return this;\n}, ve.prototype.listeners = function (e) {\n var t,\n r = this._events;\n return r && (t = r[e]) ? \"function\" == typeof t ? [t.listener || t] : function (e) {\n for (var t = new Array(e.length), r = 0; r < t.length; ++r) {\n t[r] = e[r].listener || e[r];\n }\n return t;\n }(t) : [];\n}, ve.listenerCount = function (e, t) {\n return \"function\" == typeof e.listenerCount ? e.listenerCount(t) : Re.call(e, t);\n}, ve.prototype.listenerCount = Re, ve.prototype.eventNames = function () {\n return this._eventsCount > 0 ? Reflect.ownKeys(this._events) : [];\n};\nvar Be = \"function\" == typeof Object.create ? function (e, t) {\n e.super_ = t, e.prototype = Object.create(t.prototype, {\n constructor: {\n value: e,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n });\n } : function (e, t) {\n e.super_ = t;\n var r = function r() {};\n r.prototype = t.prototype, e.prototype = new r(), e.prototype.constructor = e;\n },\n ze = /%[sdj%]/g;\nfunction Le(e) {\n if (!Ze(e)) {\n for (var t = [], r = 0; r < arguments.length; r++) {\n t.push(De(arguments[r]));\n }\n return t.join(\" \");\n }\n r = 1;\n for (var n = arguments, i = n.length, o = String(e).replace(ze, function (e) {\n if (\"%%\" === e) return \"%\";\n if (r >= i) return e;\n switch (e) {\n case \"%s\":\n return String(n[r++]);\n case \"%d\":\n return Number(n[r++]);\n case \"%j\":\n try {\n return JSON.stringify(n[r++]);\n } catch (e) {\n return \"[Circular]\";\n }\n default:\n return e;\n }\n }), a = n[r]; r < i; a = n[++r]) {\n Ne(a) || !Ye(a) ? o += \" \" + a : o += \" \" + De(a);\n }\n return o;\n}\nfunction Te(t, r) {\n if (je(e.process)) return function () {\n return Te(t, r).apply(this, arguments);\n };\n var n = !1;\n return function () {\n return n || (__f__(\"error\", r, \" at debug/lib-generate-test-usersig-es.min.js:3342\"), n = !0), t.apply(this, arguments);\n };\n}\nvar Me,\n Ce = {};\nfunction De(e, t) {\n var r = {\n seen: [],\n stylize: Pe\n };\n return arguments.length >= 3 && (r.depth = arguments[2]), arguments.length >= 4 && (r.colors = arguments[3]), Fe(t) ? r.showHidden = t : t && function (e, t) {\n if (!t || !Ye(t)) return e;\n var r = Object.keys(t),\n n = r.length;\n for (; n--;) {\n e[r[n]] = t[r[n]];\n }\n }(r, t), je(r.showHidden) && (r.showHidden = !1), je(r.depth) && (r.depth = 2), je(r.colors) && (r.colors = !1), je(r.customInspect) && (r.customInspect = !0), r.colors && (r.stylize = Ie), Oe(r, e, r.depth);\n}\nfunction Ie(e, t) {\n var r = De.styles[t];\n return r ? \"\u001b[\" + De.colors[r][0] + \"m\" + e + \"\u001b[\" + De.colors[r][1] + \"m\" : e;\n}\nfunction Pe(e, t) {\n return e;\n}\nfunction Oe(e, t, r) {\n if (e.customInspect && t && qe(t.inspect) && t.inspect !== De && (!t.constructor || t.constructor.prototype !== t)) {\n var n = t.inspect(r, e);\n return Ze(n) || (n = Oe(e, n, r)), n;\n }\n var i = function (e, t) {\n if (je(t)) return e.stylize(\"undefined\", \"undefined\");\n if (Ze(t)) {\n var r = \"'\" + JSON.stringify(t).replace(/^\"|\"$/g, \"\").replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"') + \"'\";\n return e.stylize(r, \"string\");\n }\n if (n = t, \"number\" == typeof n) return e.stylize(\"\" + t, \"number\");\n var n;\n if (Fe(t)) return e.stylize(\"\" + t, \"boolean\");\n if (Ne(t)) return e.stylize(\"null\", \"null\");\n }(e, t);\n if (i) return i;\n var o = Object.keys(t),\n a = function (e) {\n var t = {};\n return e.forEach(function (e, r) {\n t[e] = !0;\n }), t;\n }(o);\n if (e.showHidden && (o = Object.getOwnPropertyNames(t)), Xe(t) && (o.indexOf(\"message\") >= 0 || o.indexOf(\"description\") >= 0)) return Ue(t);\n if (0 === o.length) {\n if (qe(t)) {\n var s = t.name ? \": \" + t.name : \"\";\n return e.stylize(\"[Function\" + s + \"]\", \"special\");\n }\n if (We(t)) return e.stylize(RegExp.prototype.toString.call(t), \"regexp\");\n if (Ke(t)) return e.stylize(Date.prototype.toString.call(t), \"date\");\n if (Xe(t)) return Ue(t);\n }\n var h,\n l,\n f = \"\",\n c = !1,\n u = [\"{\", \"}\"];\n (h = t, Array.isArray(h) && (c = !0, u = [\"[\", \"]\"]), qe(t)) && (f = \" [Function\" + (t.name ? \": \" + t.name : \"\") + \"]\");\n return We(t) && (f = \" \" + RegExp.prototype.toString.call(t)), Ke(t) && (f = \" \" + Date.prototype.toUTCString.call(t)), Xe(t) && (f = \" \" + Ue(t)), 0 !== o.length || c && 0 != t.length ? r < 0 ? We(t) ? e.stylize(RegExp.prototype.toString.call(t), \"regexp\") : e.stylize(\"[Object]\", \"special\") : (e.seen.push(t), l = c ? function (e, t, r, n, i) {\n for (var o = [], a = 0, s = t.length; a < s; ++a) {\n Ge(t, String(a)) ? o.push(He(e, t, r, n, String(a), !0)) : o.push(\"\");\n }\n return i.forEach(function (i) {\n i.match(/^\\d+$/) || o.push(He(e, t, r, n, i, !0));\n }), o;\n }(e, t, r, a, o) : o.map(function (n) {\n return He(e, t, r, a, n, c);\n }), e.seen.pop(), function (e, t, r) {\n if (e.reduce(function (e, t) {\n return t.indexOf(\"\\n\"), e + t.replace(/\\u001b\\[\\d\\d?m/g, \"\").length + 1;\n }, 0) > 60) return r[0] + (\"\" === t ? \"\" : t + \"\\n \") + \" \" + e.join(\",\\n \") + \" \" + r[1];\n return r[0] + t + \" \" + e.join(\", \") + \" \" + r[1];\n }(l, f, u)) : u[0] + f + u[1];\n}\nfunction Ue(e) {\n return \"[\" + Error.prototype.toString.call(e) + \"]\";\n}\nfunction He(e, t, r, n, i, o) {\n var a, s, h;\n if ((h = Object.getOwnPropertyDescriptor(t, i) || {\n value: t[i]\n }).get ? s = h.set ? e.stylize(\"[Getter/Setter]\", \"special\") : e.stylize(\"[Getter]\", \"special\") : h.set && (s = e.stylize(\"[Setter]\", \"special\")), Ge(n, i) || (a = \"[\" + i + \"]\"), s || (e.seen.indexOf(h.value) < 0 ? (s = Ne(r) ? Oe(e, h.value, null) : Oe(e, h.value, r - 1)).indexOf(\"\\n\") > -1 && (s = o ? s.split(\"\\n\").map(function (e) {\n return \" \" + e;\n }).join(\"\\n\").substr(2) : \"\\n\" + s.split(\"\\n\").map(function (e) {\n return \" \" + e;\n }).join(\"\\n\")) : s = e.stylize(\"[Circular]\", \"special\")), je(a)) {\n if (o && i.match(/^\\d+$/)) return s;\n (a = JSON.stringify(\"\" + i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/) ? (a = a.substr(1, a.length - 2), a = e.stylize(a, \"name\")) : (a = a.replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"').replace(/(^\"|\"$)/g, \"'\"), a = e.stylize(a, \"string\"));\n }\n return a + \": \" + s;\n}\nfunction Fe(e) {\n return \"boolean\" == typeof e;\n}\nfunction Ne(e) {\n return null === e;\n}\nfunction Ze(e) {\n return \"string\" == typeof e;\n}\nfunction je(e) {\n return void 0 === e;\n}\nfunction We(e) {\n return Ye(e) && \"[object RegExp]\" === Ve(e);\n}\nfunction Ye(e) {\n return \"object\" == (0, _typeof2.default)(e) && null !== e;\n}\nfunction Ke(e) {\n return Ye(e) && \"[object Date]\" === Ve(e);\n}\nfunction Xe(e) {\n return Ye(e) && (\"[object Error]\" === Ve(e) || e instanceof Error);\n}\nfunction qe(e) {\n return \"function\" == typeof e;\n}\nfunction Ve(e) {\n return Object.prototype.toString.call(e);\n}\nfunction Ge(e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n}\nfunction $e() {\n this.head = null, this.tail = null, this.length = 0;\n}\nDe.colors = {\n bold: [1, 22],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n white: [37, 39],\n grey: [90, 39],\n black: [30, 39],\n blue: [34, 39],\n cyan: [36, 39],\n green: [32, 39],\n magenta: [35, 39],\n red: [31, 39],\n yellow: [33, 39]\n}, De.styles = {\n special: \"cyan\",\n number: \"yellow\",\n boolean: \"yellow\",\n undefined: \"grey\",\n null: \"bold\",\n string: \"green\",\n date: \"magenta\",\n regexp: \"red\"\n}, $e.prototype.push = function (e) {\n var t = {\n data: e,\n next: null\n };\n this.length > 0 ? this.tail.next = t : this.head = t, this.tail = t, ++this.length;\n}, $e.prototype.unshift = function (e) {\n var t = {\n data: e,\n next: this.head\n };\n 0 === this.length && (this.tail = t), this.head = t, ++this.length;\n}, $e.prototype.shift = function () {\n if (0 !== this.length) {\n var e = this.head.data;\n return 1 === this.length ? this.head = this.tail = null : this.head = this.head.next, --this.length, e;\n }\n}, $e.prototype.clear = function () {\n this.head = this.tail = null, this.length = 0;\n}, $e.prototype.join = function (e) {\n if (0 === this.length) return \"\";\n for (var t = this.head, r = \"\" + t.data; t = t.next;) {\n r += e + t.data;\n }\n return r;\n}, $e.prototype.concat = function (e) {\n if (0 === this.length) return p.alloc(0);\n if (1 === this.length) return this.head.data;\n for (var t = p.allocUnsafe(e >>> 0), r = this.head, n = 0; r;) {\n r.data.copy(t, n), n += r.data.length, r = r.next;\n }\n return t;\n};\nvar Je = p.isEncoding || function (e) {\n switch (e && e.toLowerCase()) {\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n case \"raw\":\n return !0;\n default:\n return !1;\n }\n};\nfunction Qe(e) {\n switch (this.encoding = (e || \"utf8\").toLowerCase().replace(/[-_]/, \"\"), function (e) {\n if (e && !Je(e)) throw new Error(\"Unknown encoding: \" + e);\n }(e), this.encoding) {\n case \"utf8\":\n this.surrogateSize = 3;\n break;\n case \"ucs2\":\n case \"utf16le\":\n this.surrogateSize = 2, this.detectIncompleteChar = tt;\n break;\n case \"base64\":\n this.surrogateSize = 3, this.detectIncompleteChar = rt;\n break;\n default:\n return void (this.write = et);\n }\n this.charBuffer = new p(6), this.charReceived = 0, this.charLength = 0;\n}\nfunction et(e) {\n return e.toString(this.encoding);\n}\nfunction tt(e) {\n this.charReceived = e.length % 2, this.charLength = this.charReceived ? 2 : 0;\n}\nfunction rt(e) {\n this.charReceived = e.length % 3, this.charLength = this.charReceived ? 3 : 0;\n}\nQe.prototype.write = function (e) {\n for (var t = \"\"; this.charLength;) {\n var r = e.length >= this.charLength - this.charReceived ? this.charLength - this.charReceived : e.length;\n if (e.copy(this.charBuffer, this.charReceived, 0, r), this.charReceived += r, this.charReceived < this.charLength) return \"\";\n if (e = e.slice(r, e.length), !((i = (t = this.charBuffer.slice(0, this.charLength).toString(this.encoding)).charCodeAt(t.length - 1)) >= 55296 && i <= 56319)) {\n if (this.charReceived = this.charLength = 0, 0 === e.length) return t;\n break;\n }\n this.charLength += this.surrogateSize, t = \"\";\n }\n this.detectIncompleteChar(e);\n var n = e.length;\n this.charLength && (e.copy(this.charBuffer, 0, e.length - this.charReceived, n), n -= this.charReceived);\n var i;\n n = (t += e.toString(this.encoding, 0, n)).length - 1;\n if ((i = t.charCodeAt(n)) >= 55296 && i <= 56319) {\n var o = this.surrogateSize;\n return this.charLength += o, this.charReceived += o, this.charBuffer.copy(this.charBuffer, o, 0, o), e.copy(this.charBuffer, 0, 0, o), t.substring(0, n);\n }\n return t;\n}, Qe.prototype.detectIncompleteChar = function (e) {\n for (var t = e.length >= 3 ? 3 : e.length; t > 0; t--) {\n var r = e[e.length - t];\n if (1 == t && r >> 5 == 6) {\n this.charLength = 2;\n break;\n }\n if (t <= 2 && r >> 4 == 14) {\n this.charLength = 3;\n break;\n }\n if (t <= 3 && r >> 3 == 30) {\n this.charLength = 4;\n break;\n }\n }\n this.charReceived = t;\n}, Qe.prototype.end = function (e) {\n var t = \"\";\n if (e && e.length && (t = this.write(e)), this.charReceived) {\n var r = this.charReceived,\n n = this.charBuffer,\n i = this.encoding;\n t += n.slice(0, r).toString(i);\n }\n return t;\n}, ot.ReadableState = it;\nvar nt = function (e) {\n je(Me) && (Me = \"\"), e = e.toUpperCase(), Ce[e] || (new RegExp(\"\\\\b\" + e + \"\\\\b\", \"i\").test(Me) ? Ce[e] = function () {\n var t = Le.apply(null, arguments);\n __f__(\"error\", \"%s %d: %s\", e, 0, t, \" at debug/lib-generate-test-usersig-es.min.js:3681\");\n } : Ce[e] = function () {});\n return Ce[e];\n}(\"stream\");\nfunction it(e, t) {\n e = e || {}, this.objectMode = !!e.objectMode, t instanceof Ct && (this.objectMode = this.objectMode || !!e.readableObjectMode);\n var r = e.highWaterMark,\n n = this.objectMode ? 16 : 16384;\n this.highWaterMark = r || 0 === r ? r : n, this.highWaterMark = ~~this.highWaterMark, this.buffer = new $e(), this.length = 0, this.pipes = null, this.pipesCount = 0, this.flowing = null, this.ended = !1, this.endEmitted = !1, this.reading = !1, this.sync = !0, this.needReadable = !1, this.emittedReadable = !1, this.readableListening = !1, this.resumeScheduled = !1, this.defaultEncoding = e.defaultEncoding || \"utf8\", this.ranOut = !1, this.awaitDrain = 0, this.readingMore = !1, this.decoder = null, this.encoding = null, e.encoding && (this.decoder = new Qe(e.encoding), this.encoding = e.encoding);\n}\nfunction ot(e) {\n if (!(this instanceof ot)) return new ot(e);\n this._readableState = new it(e, this), this.readable = !0, e && \"function\" == typeof e.read && (this._read = e.read), ve.call(this);\n}\nfunction at(e, t, r, n, i) {\n var o = function (e, t) {\n var r = null;\n $(t) || \"string\" == typeof t || null == t || e.objectMode || (r = new TypeError(\"Invalid non-string/buffer chunk\"));\n return r;\n }(t, r);\n if (o) e.emit(\"error\", o);else if (null === r) t.reading = !1, function (e, t) {\n if (t.ended) return;\n if (t.decoder) {\n var r = t.decoder.end();\n r && r.length && (t.buffer.push(r), t.length += t.objectMode ? 1 : r.length);\n }\n t.ended = !0, lt(e);\n }(e, t);else if (t.objectMode || r && r.length > 0) {\n if (t.ended && !i) {\n var a = new Error(\"stream.push() after EOF\");\n e.emit(\"error\", a);\n } else if (t.endEmitted && i) {\n var s = new Error(\"stream.unshift() after end event\");\n e.emit(\"error\", s);\n } else {\n var h;\n !t.decoder || i || n || (r = t.decoder.write(r), h = !t.objectMode && 0 === r.length), i || (t.reading = !1), h || (t.flowing && 0 === t.length && !t.sync ? (e.emit(\"data\", r), e.read(0)) : (t.length += t.objectMode ? 1 : r.length, i ? t.buffer.unshift(r) : t.buffer.push(r), t.needReadable && lt(e))), function (e, t) {\n t.readingMore || (t.readingMore = !0, de(ct, e, t));\n }(e, t);\n }\n } else i || (t.reading = !1);\n return function (e) {\n return !e.ended && (e.needReadable || e.length < e.highWaterMark || 0 === e.length);\n }(t);\n}\nBe(ot, ve), ot.prototype.push = function (e, t) {\n var r = this._readableState;\n return r.objectMode || \"string\" != typeof e || (t = t || r.defaultEncoding) !== r.encoding && (e = p.from(e, t), t = \"\"), at(this, r, e, t, !1);\n}, ot.prototype.unshift = function (e) {\n return at(this, this._readableState, e, \"\", !0);\n}, ot.prototype.isPaused = function () {\n return !1 === this._readableState.flowing;\n}, ot.prototype.setEncoding = function (e) {\n return this._readableState.decoder = new Qe(e), this._readableState.encoding = e, this;\n};\nvar st = 8388608;\nfunction ht(e, t) {\n return e <= 0 || 0 === t.length && t.ended ? 0 : t.objectMode ? 1 : e != e ? t.flowing && t.length ? t.buffer.head.data.length : t.length : (e > t.highWaterMark && (t.highWaterMark = function (e) {\n return e >= st ? e = st : (e--, e |= e >>> 1, e |= e >>> 2, e |= e >>> 4, e |= e >>> 8, e |= e >>> 16, e++), e;\n }(e)), e <= t.length ? e : t.ended ? t.length : (t.needReadable = !0, 0));\n}\nfunction lt(e) {\n var t = e._readableState;\n t.needReadable = !1, t.emittedReadable || (nt(\"emitReadable\", t.flowing), t.emittedReadable = !0, t.sync ? de(ft, e) : ft(e));\n}\nfunction ft(e) {\n nt(\"emit readable\"), e.emit(\"readable\"), pt(e);\n}\nfunction ct(e, t) {\n for (var r = t.length; !t.reading && !t.flowing && !t.ended && t.length < t.highWaterMark && (nt(\"maybeReadMore read 0\"), e.read(0), r !== t.length);) {\n r = t.length;\n }\n t.readingMore = !1;\n}\nfunction ut(e) {\n nt(\"readable nexttick read 0\"), e.read(0);\n}\nfunction dt(e, t) {\n t.reading || (nt(\"resume read 0\"), e.read(0)), t.resumeScheduled = !1, t.awaitDrain = 0, e.emit(\"resume\"), pt(e), t.flowing && !t.reading && e.read(0);\n}\nfunction pt(e) {\n var t = e._readableState;\n for (nt(\"flow\", t.flowing); t.flowing && null !== e.read();) {\n ;\n }\n}\nfunction _t(e, t) {\n return 0 === t.length ? null : (t.objectMode ? r = t.buffer.shift() : !e || e >= t.length ? (r = t.decoder ? t.buffer.join(\"\") : 1 === t.buffer.length ? t.buffer.head.data : t.buffer.concat(t.length), t.buffer.clear()) : r = function (e, t, r) {\n var n;\n e < t.head.data.length ? (n = t.head.data.slice(0, e), t.head.data = t.head.data.slice(e)) : n = e === t.head.data.length ? t.shift() : r ? function (e, t) {\n var r = t.head,\n n = 1,\n i = r.data;\n e -= i.length;\n for (; r = r.next;) {\n var o = r.data,\n a = e > o.length ? o.length : e;\n if (a === o.length ? i += o : i += o.slice(0, e), 0 === (e -= a)) {\n a === o.length ? (++n, r.next ? t.head = r.next : t.head = t.tail = null) : (t.head = r, r.data = o.slice(a));\n break;\n }\n ++n;\n }\n return t.length -= n, i;\n }(e, t) : function (e, t) {\n var r = p.allocUnsafe(e),\n n = t.head,\n i = 1;\n n.data.copy(r), e -= n.data.length;\n for (; n = n.next;) {\n var o = n.data,\n a = e > o.length ? o.length : e;\n if (o.copy(r, r.length - e, 0, a), 0 === (e -= a)) {\n a === o.length ? (++i, n.next ? t.head = n.next : t.head = t.tail = null) : (t.head = n, n.data = o.slice(a));\n break;\n }\n ++i;\n }\n return t.length -= i, r;\n }(e, t);\n return n;\n }(e, t.buffer, t.decoder), r);\n var r;\n}\nfunction gt(e) {\n var t = e._readableState;\n if (t.length > 0) throw new Error('\"endReadable()\" called on non-empty stream');\n t.endEmitted || (t.ended = !0, de(vt, t, e));\n}\nfunction vt(e, t) {\n e.endEmitted || 0 !== e.length || (e.endEmitted = !0, t.readable = !1, t.emit(\"end\"));\n}\nfunction wt(e, t) {\n for (var r = 0, n = e.length; r < n; r++) {\n if (e[r] === t) return r;\n }\n return -1;\n}\nfunction bt() {}\nfunction yt(e, t, r) {\n this.chunk = e, this.encoding = t, this.callback = r, this.next = null;\n}\nfunction mt(e, t) {\n Object.defineProperty(this, \"buffer\", {\n get: Te(function () {\n return this.getBuffer();\n }, \"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\")\n }), e = e || {}, this.objectMode = !!e.objectMode, t instanceof Ct && (this.objectMode = this.objectMode || !!e.writableObjectMode);\n var r = e.highWaterMark,\n n = this.objectMode ? 16 : 16384;\n this.highWaterMark = r || 0 === r ? r : n, this.highWaterMark = ~~this.highWaterMark, this.needDrain = !1, this.ending = !1, this.ended = !1, this.finished = !1;\n var i = !1 === e.decodeStrings;\n this.decodeStrings = !i, this.defaultEncoding = e.defaultEncoding || \"utf8\", this.length = 0, this.writing = !1, this.corked = 0, this.sync = !0, this.bufferProcessing = !1, this.onwrite = function (e) {\n !function (e, t) {\n var r = e._writableState,\n n = r.sync,\n i = r.writecb;\n if (function (e) {\n e.writing = !1, e.writecb = null, e.length -= e.writelen, e.writelen = 0;\n }(r), t) !function (e, t, r, n, i) {\n --t.pendingcb, r ? de(i, n) : i(n);\n e._writableState.errorEmitted = !0, e.emit(\"error\", n);\n }(e, r, n, t, i);else {\n var o = Rt(r);\n o || r.corked || r.bufferProcessing || !r.bufferedRequest || xt(e, r), n ? de(St, e, r, o, i) : St(e, r, o, i);\n }\n }(t, e);\n }, this.writecb = null, this.writelen = 0, this.bufferedRequest = null, this.lastBufferedRequest = null, this.pendingcb = 0, this.prefinished = !1, this.errorEmitted = !1, this.bufferedRequestCount = 0, this.corkedRequestsFree = new zt(this);\n}\nfunction kt(e) {\n if (!(this instanceof kt || this instanceof Ct)) return new kt(e);\n this._writableState = new mt(e, this), this.writable = !0, e && (\"function\" == typeof e.write && (this._write = e.write), \"function\" == typeof e.writev && (this._writev = e.writev)), ve.call(this);\n}\nfunction Et(e, t, r, n, i, o, a) {\n t.writelen = n, t.writecb = a, t.writing = !0, t.sync = !0, r ? e._writev(i, t.onwrite) : e._write(i, o, t.onwrite), t.sync = !1;\n}\nfunction St(e, t, r, n) {\n r || function (e, t) {\n 0 === t.length && t.needDrain && (t.needDrain = !1, e.emit(\"drain\"));\n }(e, t), t.pendingcb--, n(), Bt(e, t);\n}\nfunction xt(e, t) {\n t.bufferProcessing = !0;\n var r = t.bufferedRequest;\n if (e._writev && r && r.next) {\n var n = t.bufferedRequestCount,\n i = new Array(n),\n o = t.corkedRequestsFree;\n o.entry = r;\n for (var a = 0; r;) {\n i[a] = r, r = r.next, a += 1;\n }\n Et(e, t, !0, t.length, i, \"\", o.finish), t.pendingcb++, t.lastBufferedRequest = null, o.next ? (t.corkedRequestsFree = o.next, o.next = null) : t.corkedRequestsFree = new zt(t);\n } else {\n for (; r;) {\n var s = r.chunk,\n h = r.encoding,\n l = r.callback;\n if (Et(e, t, !1, t.objectMode ? 1 : s.length, s, h, l), r = r.next, t.writing) break;\n }\n null === r && (t.lastBufferedRequest = null);\n }\n t.bufferedRequestCount = 0, t.bufferedRequest = r, t.bufferProcessing = !1;\n}\nfunction Rt(e) {\n return e.ending && 0 === e.length && null === e.bufferedRequest && !e.finished && !e.writing;\n}\nfunction At(e, t) {\n t.prefinished || (t.prefinished = !0, e.emit(\"prefinish\"));\n}\nfunction Bt(e, t) {\n var r = Rt(t);\n return r && (0 === t.pendingcb ? (At(e, t), t.finished = !0, e.emit(\"finish\")) : At(e, t)), r;\n}\nfunction zt(e) {\n var t = this;\n this.next = null, this.entry = null, this.finish = function (r) {\n var n = t.entry;\n for (t.entry = null; n;) {\n var i = n.callback;\n e.pendingcb--, i(r), n = n.next;\n }\n e.corkedRequestsFree ? e.corkedRequestsFree.next = t : e.corkedRequestsFree = t;\n };\n}\not.prototype.read = function (e) {\n nt(\"read\", e), e = parseInt(e, 10);\n var t = this._readableState,\n r = e;\n if (0 !== e && (t.emittedReadable = !1), 0 === e && t.needReadable && (t.length >= t.highWaterMark || t.ended)) return nt(\"read: emitReadable\", t.length, t.ended), 0 === t.length && t.ended ? gt(this) : lt(this), null;\n if (0 === (e = ht(e, t)) && t.ended) return 0 === t.length && gt(this), null;\n var n,\n i = t.needReadable;\n return nt(\"need readable\", i), (0 === t.length || t.length - e < t.highWaterMark) && nt(\"length less than watermark\", i = !0), t.ended || t.reading ? nt(\"reading or ended\", i = !1) : i && (nt(\"do read\"), t.reading = !0, t.sync = !0, 0 === t.length && (t.needReadable = !0), this._read(t.highWaterMark), t.sync = !1, t.reading || (e = ht(r, t))), null === (n = e > 0 ? _t(e, t) : null) ? (t.needReadable = !0, e = 0) : t.length -= e, 0 === t.length && (t.ended || (t.needReadable = !0), r !== e && t.ended && gt(this)), null !== n && this.emit(\"data\", n), n;\n}, ot.prototype._read = function (e) {\n this.emit(\"error\", new Error(\"not implemented\"));\n}, ot.prototype.pipe = function (e, t) {\n var r = this,\n n = this._readableState;\n switch (n.pipesCount) {\n case 0:\n n.pipes = e;\n break;\n case 1:\n n.pipes = [n.pipes, e];\n break;\n default:\n n.pipes.push(e);\n }\n n.pipesCount += 1, nt(\"pipe count=%d opts=%j\", n.pipesCount, t);\n var i = !t || !1 !== t.end ? a : l;\n function o(e) {\n nt(\"onunpipe\"), e === r && l();\n }\n function a() {\n nt(\"onend\"), e.end();\n }\n n.endEmitted ? de(i) : r.once(\"end\", i), e.on(\"unpipe\", o);\n var s = function (e) {\n return function () {\n var t = e._readableState;\n nt(\"pipeOnDrain\", t.awaitDrain), t.awaitDrain && t.awaitDrain--, 0 === t.awaitDrain && e.listeners(\"data\").length && (t.flowing = !0, pt(e));\n };\n }(r);\n e.on(\"drain\", s);\n var h = !1;\n function l() {\n nt(\"cleanup\"), e.removeListener(\"close\", d), e.removeListener(\"finish\", p), e.removeListener(\"drain\", s), e.removeListener(\"error\", u), e.removeListener(\"unpipe\", o), r.removeListener(\"end\", a), r.removeListener(\"end\", l), r.removeListener(\"data\", c), h = !0, !n.awaitDrain || e._writableState && !e._writableState.needDrain || s();\n }\n var f = !1;\n function c(t) {\n nt(\"ondata\"), f = !1, !1 !== e.write(t) || f || ((1 === n.pipesCount && n.pipes === e || n.pipesCount > 1 && -1 !== wt(n.pipes, e)) && !h && (nt(\"false write response, pause\", r._readableState.awaitDrain), r._readableState.awaitDrain++, f = !0), r.pause());\n }\n function u(t) {\n var r;\n nt(\"onerror\", t), _(), e.removeListener(\"error\", u), 0 === (r = \"error\", e.listeners(r).length) && e.emit(\"error\", t);\n }\n function d() {\n e.removeListener(\"finish\", p), _();\n }\n function p() {\n nt(\"onfinish\"), e.removeListener(\"close\", d), _();\n }\n function _() {\n nt(\"unpipe\"), r.unpipe(e);\n }\n return r.on(\"data\", c), function (e, t, r) {\n if (\"function\" == typeof e.prependListener) return e.prependListener(t, r);\n e._events && e._events[t] ? Array.isArray(e._events[t]) ? e._events[t].unshift(r) : e._events[t] = [r, e._events[t]] : e.on(t, r);\n }(e, \"error\", u), e.once(\"close\", d), e.once(\"finish\", p), e.emit(\"pipe\", r), n.flowing || (nt(\"pipe resume\"), r.resume()), e;\n}, ot.prototype.unpipe = function (e) {\n var t = this._readableState;\n if (0 === t.pipesCount) return this;\n if (1 === t.pipesCount) return e && e !== t.pipes ? this : (e || (e = t.pipes), t.pipes = null, t.pipesCount = 0, t.flowing = !1, e && e.emit(\"unpipe\", this), this);\n if (!e) {\n var r = t.pipes,\n n = t.pipesCount;\n t.pipes = null, t.pipesCount = 0, t.flowing = !1;\n for (var i = 0; i < n; i++) {\n r[i].emit(\"unpipe\", this);\n }\n return this;\n }\n var o = wt(t.pipes, e);\n return -1 === o ? this : (t.pipes.splice(o, 1), t.pipesCount -= 1, 1 === t.pipesCount && (t.pipes = t.pipes[0]), e.emit(\"unpipe\", this), this);\n}, ot.prototype.on = function (e, t) {\n var r = ve.prototype.on.call(this, e, t);\n if (\"data\" === e) !1 !== this._readableState.flowing && this.resume();else if (\"readable\" === e) {\n var n = this._readableState;\n n.endEmitted || n.readableListening || (n.readableListening = n.needReadable = !0, n.emittedReadable = !1, n.reading ? n.length && lt(this) : de(ut, this));\n }\n return r;\n}, ot.prototype.addListener = ot.prototype.on, ot.prototype.resume = function () {\n var e = this._readableState;\n return e.flowing || (nt(\"resume\"), e.flowing = !0, function (e, t) {\n t.resumeScheduled || (t.resumeScheduled = !0, de(dt, e, t));\n }(this, e)), this;\n}, ot.prototype.pause = function () {\n return nt(\"call pause flowing=%j\", this._readableState.flowing), !1 !== this._readableState.flowing && (nt(\"pause\"), this._readableState.flowing = !1, this.emit(\"pause\")), this;\n}, ot.prototype.wrap = function (e) {\n var t = this._readableState,\n r = !1,\n n = this;\n for (var i in e.on(\"end\", function () {\n if (nt(\"wrapped end\"), t.decoder && !t.ended) {\n var e = t.decoder.end();\n e && e.length && n.push(e);\n }\n n.push(null);\n }), e.on(\"data\", function (i) {\n (nt(\"wrapped data\"), t.decoder && (i = t.decoder.write(i)), t.objectMode && null == i) || (t.objectMode || i && i.length) && (n.push(i) || (r = !0, e.pause()));\n }), e) {\n void 0 === this[i] && \"function\" == typeof e[i] && (this[i] = function (t) {\n return function () {\n return e[t].apply(e, arguments);\n };\n }(i));\n }\n return function (e, t) {\n for (var r = 0, n = e.length; r < n; r++) {\n t(e[r], r);\n }\n }([\"error\", \"close\", \"destroy\", \"pause\", \"resume\"], function (t) {\n e.on(t, n.emit.bind(n, t));\n }), n._read = function (t) {\n nt(\"wrapped _read\", t), r && (r = !1, e.resume());\n }, n;\n}, ot._fromList = _t, kt.WritableState = mt, Be(kt, ve), mt.prototype.getBuffer = function () {\n for (var e = this.bufferedRequest, t = []; e;) {\n t.push(e), e = e.next;\n }\n return t;\n}, kt.prototype.pipe = function () {\n this.emit(\"error\", new Error(\"Cannot pipe, not readable\"));\n}, kt.prototype.write = function (e, t, r) {\n var n = this._writableState,\n i = !1;\n return \"function\" == typeof t && (r = t, t = null), p.isBuffer(e) ? t = \"buffer\" : t || (t = n.defaultEncoding), \"function\" != typeof r && (r = bt), n.ended ? function (e, t) {\n var r = new Error(\"write after end\");\n e.emit(\"error\", r), de(t, r);\n }(this, r) : function (e, t, r, n) {\n var i = !0,\n o = !1;\n return null === r ? o = new TypeError(\"May not write null values to stream\") : p.isBuffer(r) || \"string\" == typeof r || void 0 === r || t.objectMode || (o = new TypeError(\"Invalid non-string/buffer chunk\")), o && (e.emit(\"error\", o), de(n, o), i = !1), i;\n }(this, n, e, r) && (n.pendingcb++, i = function (e, t, r, n, i) {\n r = function (e, t, r) {\n return e.objectMode || !1 === e.decodeStrings || \"string\" != typeof t || (t = p.from(t, r)), t;\n }(t, r, n), p.isBuffer(r) && (n = \"buffer\");\n var o = t.objectMode ? 1 : r.length;\n t.length += o;\n var a = t.length < t.highWaterMark;\n a || (t.needDrain = !0);\n if (t.writing || t.corked) {\n var s = t.lastBufferedRequest;\n t.lastBufferedRequest = new yt(r, n, i), s ? s.next = t.lastBufferedRequest : t.bufferedRequest = t.lastBufferedRequest, t.bufferedRequestCount += 1;\n } else Et(e, t, !1, o, r, n, i);\n return a;\n }(this, n, e, t, r)), i;\n}, kt.prototype.cork = function () {\n this._writableState.corked++;\n}, kt.prototype.uncork = function () {\n var e = this._writableState;\n e.corked && (e.corked--, e.writing || e.corked || e.finished || e.bufferProcessing || !e.bufferedRequest || xt(this, e));\n}, kt.prototype.setDefaultEncoding = function (e) {\n if (\"string\" == typeof e && (e = e.toLowerCase()), !([\"hex\", \"utf8\", \"utf-8\", \"ascii\", \"binary\", \"base64\", \"ucs2\", \"ucs-2\", \"utf16le\", \"utf-16le\", \"raw\"].indexOf((e + \"\").toLowerCase()) > -1)) throw new TypeError(\"Unknown encoding: \" + e);\n return this._writableState.defaultEncoding = e, this;\n}, kt.prototype._write = function (e, t, r) {\n r(new Error(\"not implemented\"));\n}, kt.prototype._writev = null, kt.prototype.end = function (e, t, r) {\n var n = this._writableState;\n \"function\" == typeof e ? (r = e, e = null, t = null) : \"function\" == typeof t && (r = t, t = null), null != e && this.write(e, t), n.corked && (n.corked = 1, this.uncork()), n.ending || n.finished || function (e, t, r) {\n t.ending = !0, Bt(e, t), r && (t.finished ? de(r) : e.once(\"finish\", r));\n t.ended = !0, e.writable = !1;\n }(this, n, r);\n}, Be(Ct, ot);\nfor (var Lt = Object.keys(kt.prototype), Tt = 0; Tt < Lt.length; Tt++) {\n var Mt = Lt[Tt];\n Ct.prototype[Mt] || (Ct.prototype[Mt] = kt.prototype[Mt]);\n}\nfunction Ct(e) {\n if (!(this instanceof Ct)) return new Ct(e);\n ot.call(this, e), kt.call(this, e), e && !1 === e.readable && (this.readable = !1), e && !1 === e.writable && (this.writable = !1), this.allowHalfOpen = !0, e && !1 === e.allowHalfOpen && (this.allowHalfOpen = !1), this.once(\"end\", Dt);\n}\nfunction Dt() {\n this.allowHalfOpen || this._writableState.ended || de(It, this);\n}\nfunction It(e) {\n e.end();\n}\nfunction Pt(e) {\n this.afterTransform = function (t, r) {\n return function (e, t, r) {\n var n = e._transformState;\n n.transforming = !1;\n var i = n.writecb;\n if (!i) return e.emit(\"error\", new Error(\"no writecb in Transform class\"));\n n.writechunk = null, n.writecb = null, null != r && e.push(r);\n i(t);\n var o = e._readableState;\n o.reading = !1, (o.needReadable || o.length < o.highWaterMark) && e._read(o.highWaterMark);\n }(e, t, r);\n }, this.needTransform = !1, this.transforming = !1, this.writecb = null, this.writechunk = null, this.writeencoding = null;\n}\nfunction Ot(e) {\n if (!(this instanceof Ot)) return new Ot(e);\n Ct.call(this, e), this._transformState = new Pt(this);\n var t = this;\n this._readableState.needReadable = !0, this._readableState.sync = !1, e && (\"function\" == typeof e.transform && (this._transform = e.transform), \"function\" == typeof e.flush && (this._flush = e.flush)), this.once(\"prefinish\", function () {\n \"function\" == typeof this._flush ? this._flush(function (e) {\n Ut(t, e);\n }) : Ut(t);\n });\n}\nfunction Ut(e, t) {\n if (t) return e.emit(\"error\", t);\n var r = e._writableState,\n n = e._transformState;\n if (r.length) throw new Error(\"Calling transform done when ws.length != 0\");\n if (n.transforming) throw new Error(\"Calling transform done when still transforming\");\n return e.push(null);\n}\nfunction Ht(e) {\n if (!(this instanceof Ht)) return new Ht(e);\n Ot.call(this, e);\n}\nfunction Ft() {\n ve.call(this);\n}\nBe(Ot, Ct), Ot.prototype.push = function (e, t) {\n return this._transformState.needTransform = !1, Ct.prototype.push.call(this, e, t);\n}, Ot.prototype._transform = function (e, t, r) {\n throw new Error(\"Not implemented\");\n}, Ot.prototype._write = function (e, t, r) {\n var n = this._transformState;\n if (n.writecb = r, n.writechunk = e, n.writeencoding = t, !n.transforming) {\n var i = this._readableState;\n (n.needTransform || i.needReadable || i.length < i.highWaterMark) && this._read(i.highWaterMark);\n }\n}, Ot.prototype._read = function (e) {\n var t = this._transformState;\n null !== t.writechunk && t.writecb && !t.transforming ? (t.transforming = !0, this._transform(t.writechunk, t.writeencoding, t.afterTransform)) : t.needTransform = !0;\n}, Be(Ht, Ot), Ht.prototype._transform = function (e, t, r) {\n r(null, e);\n}, Be(Ft, ve), Ft.Readable = ot, Ft.Writable = kt, Ft.Duplex = Ct, Ft.Transform = Ot, Ft.PassThrough = Ht, Ft.Stream = Ft, Ft.prototype.pipe = function (e, t) {\n var r = this;\n function n(t) {\n e.writable && !1 === e.write(t) && r.pause && r.pause();\n }\n function i() {\n r.readable && r.resume && r.resume();\n }\n r.on(\"data\", n), e.on(\"drain\", i), e._isStdio || t && !1 === t.end || (r.on(\"end\", a), r.on(\"close\", s));\n var o = !1;\n function a() {\n o || (o = !0, e.end());\n }\n function s() {\n o || (o = !0, \"function\" == typeof e.destroy && e.destroy());\n }\n function h(e) {\n if (l(), 0 === ve.listenerCount(this, \"error\")) throw e;\n }\n function l() {\n r.removeListener(\"data\", n), e.removeListener(\"drain\", i), r.removeListener(\"end\", a), r.removeListener(\"close\", s), r.removeListener(\"error\", h), e.removeListener(\"error\", h), r.removeListener(\"end\", l), r.removeListener(\"close\", l), e.removeListener(\"close\", l);\n }\n return r.on(\"error\", h), e.on(\"error\", h), r.on(\"end\", l), r.on(\"close\", l), e.on(\"close\", l), e.emit(\"pipe\", r), e;\n};\nvar Nt = {\n 2: \"need dictionary\",\n 1: \"stream end\",\n 0: \"\",\n \"-1\": \"file error\",\n \"-2\": \"stream error\",\n \"-3\": \"data error\",\n \"-4\": \"insufficient memory\",\n \"-5\": \"buffer error\",\n \"-6\": \"incompatible version\"\n};\nfunction Zt() {\n this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = \"\", this.state = null, this.data_type = 2, this.adler = 0;\n}\nfunction jt(e, t, r, n, i) {\n if (t.subarray && e.subarray) e.set(t.subarray(r, r + n), i);else for (var o = 0; o < n; o++) {\n e[i + o] = t[r + o];\n }\n}\nvar Wt = Uint8Array,\n Yt = Uint16Array,\n Kt = Int32Array,\n Xt = 4,\n qt = 0,\n Vt = 1,\n Gt = 2;\nfunction $t(e) {\n for (var t = e.length; --t >= 0;) {\n e[t] = 0;\n }\n}\nvar Jt = 0,\n Qt = 1,\n er = 2,\n tr = 29,\n rr = 256,\n nr = rr + 1 + tr,\n ir = 30,\n or = 19,\n ar = 2 * nr + 1,\n sr = 15,\n hr = 16,\n lr = 7,\n fr = 256,\n cr = 16,\n ur = 17,\n dr = 18,\n pr = [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0],\n _r = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13],\n gr = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7],\n vr = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15],\n wr = new Array(2 * (nr + 2));\n$t(wr);\nvar br = new Array(2 * ir);\n$t(br);\nvar yr = new Array(512);\n$t(yr);\nvar mr = new Array(256);\n$t(mr);\nvar kr = new Array(tr);\n$t(kr);\nvar Er,\n Sr,\n xr,\n Rr = new Array(ir);\nfunction Ar(e, t, r, n, i) {\n this.static_tree = e, this.extra_bits = t, this.extra_base = r, this.elems = n, this.max_length = i, this.has_stree = e && e.length;\n}\nfunction Br(e, t) {\n this.dyn_tree = e, this.max_code = 0, this.stat_desc = t;\n}\nfunction zr(e) {\n return e < 256 ? yr[e] : yr[256 + (e >>> 7)];\n}\nfunction Lr(e, t) {\n e.pending_buf[e.pending++] = 255 & t, e.pending_buf[e.pending++] = t >>> 8 & 255;\n}\nfunction Tr(e, t, r) {\n e.bi_valid > hr - r ? (e.bi_buf |= t << e.bi_valid & 65535, Lr(e, e.bi_buf), e.bi_buf = t >> hr - e.bi_valid, e.bi_valid += r - hr) : (e.bi_buf |= t << e.bi_valid & 65535, e.bi_valid += r);\n}\nfunction Mr(e, t, r) {\n Tr(e, r[2 * t], r[2 * t + 1]);\n}\nfunction Cr(e, t) {\n var r = 0;\n do {\n r |= 1 & e, e >>>= 1, r <<= 1;\n } while (--t > 0);\n return r >>> 1;\n}\nfunction Dr(e, t, r) {\n var n,\n i,\n o = new Array(sr + 1),\n a = 0;\n for (n = 1; n <= sr; n++) {\n o[n] = a = a + r[n - 1] << 1;\n }\n for (i = 0; i <= t; i++) {\n var s = e[2 * i + 1];\n 0 !== s && (e[2 * i] = Cr(o[s]++, s));\n }\n}\nfunction Ir(e) {\n var t;\n for (t = 0; t < nr; t++) {\n e.dyn_ltree[2 * t] = 0;\n }\n for (t = 0; t < ir; t++) {\n e.dyn_dtree[2 * t] = 0;\n }\n for (t = 0; t < or; t++) {\n e.bl_tree[2 * t] = 0;\n }\n e.dyn_ltree[2 * fr] = 1, e.opt_len = e.static_len = 0, e.last_lit = e.matches = 0;\n}\nfunction Pr(e) {\n e.bi_valid > 8 ? Lr(e, e.bi_buf) : e.bi_valid > 0 && (e.pending_buf[e.pending++] = e.bi_buf), e.bi_buf = 0, e.bi_valid = 0;\n}\nfunction Or(e, t, r, n) {\n var i = 2 * t,\n o = 2 * r;\n return e[i] < e[o] || e[i] === e[o] && n[t] <= n[r];\n}\nfunction Ur(e, t, r) {\n for (var n = e.heap[r], i = r << 1; i <= e.heap_len && (i < e.heap_len && Or(t, e.heap[i + 1], e.heap[i], e.depth) && i++, !Or(t, n, e.heap[i], e.depth));) {\n e.heap[r] = e.heap[i], r = i, i <<= 1;\n }\n e.heap[r] = n;\n}\nfunction Hr(e, t, r) {\n var n,\n i,\n o,\n a,\n s = 0;\n if (0 !== e.last_lit) do {\n n = e.pending_buf[e.d_buf + 2 * s] << 8 | e.pending_buf[e.d_buf + 2 * s + 1], i = e.pending_buf[e.l_buf + s], s++, 0 === n ? Mr(e, i, t) : (Mr(e, (o = mr[i]) + rr + 1, t), 0 !== (a = pr[o]) && Tr(e, i -= kr[o], a), Mr(e, o = zr(--n), r), 0 !== (a = _r[o]) && Tr(e, n -= Rr[o], a));\n } while (s < e.last_lit);\n Mr(e, fr, t);\n}\nfunction Fr(e, t) {\n var r,\n n,\n i,\n o = t.dyn_tree,\n a = t.stat_desc.static_tree,\n s = t.stat_desc.has_stree,\n h = t.stat_desc.elems,\n l = -1;\n for (e.heap_len = 0, e.heap_max = ar, r = 0; r < h; r++) {\n 0 !== o[2 * r] ? (e.heap[++e.heap_len] = l = r, e.depth[r] = 0) : o[2 * r + 1] = 0;\n }\n for (; e.heap_len < 2;) {\n o[2 * (i = e.heap[++e.heap_len] = l < 2 ? ++l : 0)] = 1, e.depth[i] = 0, e.opt_len--, s && (e.static_len -= a[2 * i + 1]);\n }\n for (t.max_code = l, r = e.heap_len >> 1; r >= 1; r--) {\n Ur(e, o, r);\n }\n i = h;\n do {\n r = e.heap[1], e.heap[1] = e.heap[e.heap_len--], Ur(e, o, 1), n = e.heap[1], e.heap[--e.heap_max] = r, e.heap[--e.heap_max] = n, o[2 * i] = o[2 * r] + o[2 * n], e.depth[i] = (e.depth[r] >= e.depth[n] ? e.depth[r] : e.depth[n]) + 1, o[2 * r + 1] = o[2 * n + 1] = i, e.heap[1] = i++, Ur(e, o, 1);\n } while (e.heap_len >= 2);\n e.heap[--e.heap_max] = e.heap[1], function (e, t) {\n var r,\n n,\n i,\n o,\n a,\n s,\n h = t.dyn_tree,\n l = t.max_code,\n f = t.stat_desc.static_tree,\n c = t.stat_desc.has_stree,\n u = t.stat_desc.extra_bits,\n d = t.stat_desc.extra_base,\n p = t.stat_desc.max_length,\n _ = 0;\n for (o = 0; o <= sr; o++) {\n e.bl_count[o] = 0;\n }\n for (h[2 * e.heap[e.heap_max] + 1] = 0, r = e.heap_max + 1; r < ar; r++) {\n (o = h[2 * h[2 * (n = e.heap[r]) + 1] + 1] + 1) > p && (o = p, _++), h[2 * n + 1] = o, n > l || (e.bl_count[o]++, a = 0, n >= d && (a = u[n - d]), s = h[2 * n], e.opt_len += s * (o + a), c && (e.static_len += s * (f[2 * n + 1] + a)));\n }\n if (0 !== _) {\n do {\n for (o = p - 1; 0 === e.bl_count[o];) {\n o--;\n }\n e.bl_count[o]--, e.bl_count[o + 1] += 2, e.bl_count[p]--, _ -= 2;\n } while (_ > 0);\n for (o = p; 0 !== o; o--) {\n for (n = e.bl_count[o]; 0 !== n;) {\n (i = e.heap[--r]) > l || (h[2 * i + 1] !== o && (e.opt_len += (o - h[2 * i + 1]) * h[2 * i], h[2 * i + 1] = o), n--);\n }\n }\n }\n }(e, t), Dr(o, l, e.bl_count);\n}\nfunction Nr(e, t, r) {\n var n,\n i,\n o = -1,\n a = t[1],\n s = 0,\n h = 7,\n l = 4;\n for (0 === a && (h = 138, l = 3), t[2 * (r + 1) + 1] = 65535, n = 0; n <= r; n++) {\n i = a, a = t[2 * (n + 1) + 1], ++s < h && i === a || (s < l ? e.bl_tree[2 * i] += s : 0 !== i ? (i !== o && e.bl_tree[2 * i]++, e.bl_tree[2 * cr]++) : s <= 10 ? e.bl_tree[2 * ur]++ : e.bl_tree[2 * dr]++, s = 0, o = i, 0 === a ? (h = 138, l = 3) : i === a ? (h = 6, l = 3) : (h = 7, l = 4));\n }\n}\nfunction Zr(e, t, r) {\n var n,\n i,\n o = -1,\n a = t[1],\n s = 0,\n h = 7,\n l = 4;\n for (0 === a && (h = 138, l = 3), n = 0; n <= r; n++) {\n if (i = a, a = t[2 * (n + 1) + 1], !(++s < h && i === a)) {\n if (s < l) do {\n Mr(e, i, e.bl_tree);\n } while (0 != --s);else 0 !== i ? (i !== o && (Mr(e, i, e.bl_tree), s--), Mr(e, cr, e.bl_tree), Tr(e, s - 3, 2)) : s <= 10 ? (Mr(e, ur, e.bl_tree), Tr(e, s - 3, 3)) : (Mr(e, dr, e.bl_tree), Tr(e, s - 11, 7));\n s = 0, o = i, 0 === a ? (h = 138, l = 3) : i === a ? (h = 6, l = 3) : (h = 7, l = 4);\n }\n }\n}\n$t(Rr);\nvar jr = !1;\nfunction Wr(e) {\n jr || (!function () {\n var e,\n t,\n r,\n n,\n i,\n o = new Array(sr + 1);\n for (r = 0, n = 0; n < tr - 1; n++) {\n for (kr[n] = r, e = 0; e < 1 << pr[n]; e++) {\n mr[r++] = n;\n }\n }\n for (mr[r - 1] = n, i = 0, n = 0; n < 16; n++) {\n for (Rr[n] = i, e = 0; e < 1 << _r[n]; e++) {\n yr[i++] = n;\n }\n }\n for (i >>= 7; n < ir; n++) {\n for (Rr[n] = i << 7, e = 0; e < 1 << _r[n] - 7; e++) {\n yr[256 + i++] = n;\n }\n }\n for (t = 0; t <= sr; t++) {\n o[t] = 0;\n }\n for (e = 0; e <= 143;) {\n wr[2 * e + 1] = 8, e++, o[8]++;\n }\n for (; e <= 255;) {\n wr[2 * e + 1] = 9, e++, o[9]++;\n }\n for (; e <= 279;) {\n wr[2 * e + 1] = 7, e++, o[7]++;\n }\n for (; e <= 287;) {\n wr[2 * e + 1] = 8, e++, o[8]++;\n }\n for (Dr(wr, nr + 1, o), e = 0; e < ir; e++) {\n br[2 * e + 1] = 5, br[2 * e] = Cr(e, 5);\n }\n Er = new Ar(wr, pr, rr + 1, nr, sr), Sr = new Ar(br, _r, 0, ir, sr), xr = new Ar(new Array(0), gr, 0, or, lr);\n }(), jr = !0), e.l_desc = new Br(e.dyn_ltree, Er), e.d_desc = new Br(e.dyn_dtree, Sr), e.bl_desc = new Br(e.bl_tree, xr), e.bi_buf = 0, e.bi_valid = 0, Ir(e);\n}\nfunction Yr(e, t, r, n) {\n Tr(e, (Jt << 1) + (n ? 1 : 0), 3), function (e, t, r, n) {\n Pr(e), n && (Lr(e, r), Lr(e, ~r)), jt(e.pending_buf, e.window, t, r, e.pending), e.pending += r;\n }(e, t, r, !0);\n}\nfunction Kr(e) {\n Tr(e, Qt << 1, 3), Mr(e, fr, wr), function (e) {\n 16 === e.bi_valid ? (Lr(e, e.bi_buf), e.bi_buf = 0, e.bi_valid = 0) : e.bi_valid >= 8 && (e.pending_buf[e.pending++] = 255 & e.bi_buf, e.bi_buf >>= 8, e.bi_valid -= 8);\n }(e);\n}\nfunction Xr(e, t, r, n) {\n var i,\n o,\n a = 0;\n e.level > 0 ? (e.strm.data_type === Gt && (e.strm.data_type = function (e) {\n var t,\n r = 4093624447;\n for (t = 0; t <= 31; t++, r >>>= 1) {\n if (1 & r && 0 !== e.dyn_ltree[2 * t]) return qt;\n }\n if (0 !== e.dyn_ltree[18] || 0 !== e.dyn_ltree[20] || 0 !== e.dyn_ltree[26]) return Vt;\n for (t = 32; t < rr; t++) {\n if (0 !== e.dyn_ltree[2 * t]) return Vt;\n }\n return qt;\n }(e)), Fr(e, e.l_desc), Fr(e, e.d_desc), a = function (e) {\n var t;\n for (Nr(e, e.dyn_ltree, e.l_desc.max_code), Nr(e, e.dyn_dtree, e.d_desc.max_code), Fr(e, e.bl_desc), t = or - 1; t >= 3 && 0 === e.bl_tree[2 * vr[t] + 1]; t--) {\n ;\n }\n return e.opt_len += 3 * (t + 1) + 5 + 5 + 4, t;\n }(e), i = e.opt_len + 3 + 7 >>> 3, (o = e.static_len + 3 + 7 >>> 3) <= i && (i = o)) : i = o = r + 5, r + 4 <= i && -1 !== t ? Yr(e, t, r, n) : e.strategy === Xt || o === i ? (Tr(e, (Qt << 1) + (n ? 1 : 0), 3), Hr(e, wr, br)) : (Tr(e, (er << 1) + (n ? 1 : 0), 3), function (e, t, r, n) {\n var i;\n for (Tr(e, t - 257, 5), Tr(e, r - 1, 5), Tr(e, n - 4, 4), i = 0; i < n; i++) {\n Tr(e, e.bl_tree[2 * vr[i] + 1], 3);\n }\n Zr(e, e.dyn_ltree, t - 1), Zr(e, e.dyn_dtree, r - 1);\n }(e, e.l_desc.max_code + 1, e.d_desc.max_code + 1, a + 1), Hr(e, e.dyn_ltree, e.dyn_dtree)), Ir(e), n && Pr(e);\n}\nfunction qr(e, t, r) {\n return e.pending_buf[e.d_buf + 2 * e.last_lit] = t >>> 8 & 255, e.pending_buf[e.d_buf + 2 * e.last_lit + 1] = 255 & t, e.pending_buf[e.l_buf + e.last_lit] = 255 & r, e.last_lit++, 0 === t ? e.dyn_ltree[2 * r]++ : (e.matches++, t--, e.dyn_ltree[2 * (mr[r] + rr + 1)]++, e.dyn_dtree[2 * zr(t)]++), e.last_lit === e.lit_bufsize - 1;\n}\nfunction Vr(e, t, r, n) {\n for (var i = 65535 & e | 0, o = e >>> 16 & 65535 | 0, a = 0; 0 !== r;) {\n r -= a = r > 2e3 ? 2e3 : r;\n do {\n o = o + (i = i + t[n++] | 0) | 0;\n } while (--a);\n i %= 65521, o %= 65521;\n }\n return i | o << 16 | 0;\n}\nvar Gr = function () {\n for (var e, t = [], r = 0; r < 256; r++) {\n e = r;\n for (var n = 0; n < 8; n++) {\n e = 1 & e ? 3988292384 ^ e >>> 1 : e >>> 1;\n }\n t[r] = e;\n }\n return t;\n}();\nfunction $r(e, t, r, n) {\n var i = Gr,\n o = n + r;\n e ^= -1;\n for (var a = n; a < o; a++) {\n e = e >>> 8 ^ i[255 & (e ^ t[a])];\n }\n return -1 ^ e;\n}\nvar Jr,\n Qr = 0,\n en = 1,\n tn = 3,\n rn = 4,\n nn = 5,\n on = 0,\n an = 1,\n sn = -2,\n hn = -3,\n ln = -5,\n fn = -1,\n cn = 1,\n un = 2,\n dn = 3,\n pn = 4,\n _n = 2,\n gn = 8,\n vn = 9,\n wn = 286,\n bn = 30,\n yn = 19,\n mn = 2 * wn + 1,\n kn = 15,\n En = 3,\n Sn = 258,\n xn = Sn + En + 1,\n Rn = 32,\n An = 42,\n Bn = 69,\n zn = 73,\n Ln = 91,\n Tn = 103,\n Mn = 113,\n Cn = 666,\n Dn = 1,\n In = 2,\n Pn = 3,\n On = 4,\n Un = 3;\nfunction Hn(e, t) {\n return e.msg = Nt[t], t;\n}\nfunction Fn(e) {\n return (e << 1) - (e > 4 ? 9 : 0);\n}\nfunction Nn(e) {\n for (var t = e.length; --t >= 0;) {\n e[t] = 0;\n }\n}\nfunction Zn(e) {\n var t = e.state,\n r = t.pending;\n r > e.avail_out && (r = e.avail_out), 0 !== r && (jt(e.output, t.pending_buf, t.pending_out, r, e.next_out), e.next_out += r, t.pending_out += r, e.total_out += r, e.avail_out -= r, t.pending -= r, 0 === t.pending && (t.pending_out = 0));\n}\nfunction jn(e, t) {\n Xr(e, e.block_start >= 0 ? e.block_start : -1, e.strstart - e.block_start, t), e.block_start = e.strstart, Zn(e.strm);\n}\nfunction Wn(e, t) {\n e.pending_buf[e.pending++] = t;\n}\nfunction Yn(e, t) {\n e.pending_buf[e.pending++] = t >>> 8 & 255, e.pending_buf[e.pending++] = 255 & t;\n}\nfunction Kn(e, t) {\n var r,\n n,\n i = e.max_chain_length,\n o = e.strstart,\n a = e.prev_length,\n s = e.nice_match,\n h = e.strstart > e.w_size - xn ? e.strstart - (e.w_size - xn) : 0,\n l = e.window,\n f = e.w_mask,\n c = e.prev,\n u = e.strstart + Sn,\n d = l[o + a - 1],\n p = l[o + a];\n e.prev_length >= e.good_match && (i >>= 2), s > e.lookahead && (s = e.lookahead);\n do {\n if (l[(r = t) + a] === p && l[r + a - 1] === d && l[r] === l[o] && l[++r] === l[o + 1]) {\n o += 2, r++;\n do {} while (l[++o] === l[++r] && l[++o] === l[++r] && l[++o] === l[++r] && l[++o] === l[++r] && l[++o] === l[++r] && l[++o] === l[++r] && l[++o] === l[++r] && l[++o] === l[++r] && o < u);\n if (n = Sn - (u - o), o = u - Sn, n > a) {\n if (e.match_start = t, a = n, n >= s) break;\n d = l[o + a - 1], p = l[o + a];\n }\n }\n } while ((t = c[t & f]) > h && 0 != --i);\n return a <= e.lookahead ? a : e.lookahead;\n}\nfunction Xn(e) {\n var t,\n r,\n n,\n i,\n o,\n a,\n s,\n h,\n l,\n f,\n c = e.w_size;\n do {\n if (i = e.window_size - e.lookahead - e.strstart, e.strstart >= c + (c - xn)) {\n jt(e.window, e.window, c, c, 0), e.match_start -= c, e.strstart -= c, e.block_start -= c, t = r = e.hash_size;\n do {\n n = e.head[--t], e.head[t] = n >= c ? n - c : 0;\n } while (--r);\n t = r = c;\n do {\n n = e.prev[--t], e.prev[t] = n >= c ? n - c : 0;\n } while (--r);\n i += c;\n }\n if (0 === e.strm.avail_in) break;\n if (a = e.strm, s = e.window, h = e.strstart + e.lookahead, l = i, f = void 0, (f = a.avail_in) > l && (f = l), r = 0 === f ? 0 : (a.avail_in -= f, jt(s, a.input, a.next_in, f, h), 1 === a.state.wrap ? a.adler = Vr(a.adler, s, f, h) : 2 === a.state.wrap && (a.adler = $r(a.adler, s, f, h)), a.next_in += f, a.total_in += f, f), e.lookahead += r, e.lookahead + e.insert >= En) for (o = e.strstart - e.insert, e.ins_h = e.window[o], e.ins_h = (e.ins_h << e.hash_shift ^ e.window[o + 1]) & e.hash_mask; e.insert && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[o + En - 1]) & e.hash_mask, e.prev[o & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = o, o++, e.insert--, !(e.lookahead + e.insert < En));) {\n ;\n }\n } while (e.lookahead < xn && 0 !== e.strm.avail_in);\n}\nfunction qn(e, t) {\n for (var r, n;;) {\n if (e.lookahead < xn) {\n if (Xn(e), e.lookahead < xn && t === Qr) return Dn;\n if (0 === e.lookahead) break;\n }\n if (r = 0, e.lookahead >= En && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + En - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), 0 !== r && e.strstart - r <= e.w_size - xn && (e.match_length = Kn(e, r)), e.match_length >= En) {\n if (n = qr(e, e.strstart - e.match_start, e.match_length - En), e.lookahead -= e.match_length, e.match_length <= e.max_lazy_match && e.lookahead >= En) {\n e.match_length--;\n do {\n e.strstart++, e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + En - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart;\n } while (0 != --e.match_length);\n e.strstart++;\n } else e.strstart += e.match_length, e.match_length = 0, e.ins_h = e.window[e.strstart], e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + 1]) & e.hash_mask;\n } else n = qr(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++;\n if (n && (jn(e, !1), 0 === e.strm.avail_out)) return Dn;\n }\n return e.insert = e.strstart < En - 1 ? e.strstart : En - 1, t === rn ? (jn(e, !0), 0 === e.strm.avail_out ? Pn : On) : e.last_lit && (jn(e, !1), 0 === e.strm.avail_out) ? Dn : In;\n}\nfunction Vn(e, t) {\n for (var r, n, i;;) {\n if (e.lookahead < xn) {\n if (Xn(e), e.lookahead < xn && t === Qr) return Dn;\n if (0 === e.lookahead) break;\n }\n if (r = 0, e.lookahead >= En && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + En - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), e.prev_length = e.match_length, e.prev_match = e.match_start, e.match_length = En - 1, 0 !== r && e.prev_length < e.max_lazy_match && e.strstart - r <= e.w_size - xn && (e.match_length = Kn(e, r), e.match_length <= 5 && (e.strategy === cn || e.match_length === En && e.strstart - e.match_start > 4096) && (e.match_length = En - 1)), e.prev_length >= En && e.match_length <= e.prev_length) {\n i = e.strstart + e.lookahead - En, n = qr(e, e.strstart - 1 - e.prev_match, e.prev_length - En), e.lookahead -= e.prev_length - 1, e.prev_length -= 2;\n do {\n ++e.strstart <= i && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + En - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart);\n } while (0 != --e.prev_length);\n if (e.match_available = 0, e.match_length = En - 1, e.strstart++, n && (jn(e, !1), 0 === e.strm.avail_out)) return Dn;\n } else if (e.match_available) {\n if ((n = qr(e, 0, e.window[e.strstart - 1])) && jn(e, !1), e.strstart++, e.lookahead--, 0 === e.strm.avail_out) return Dn;\n } else e.match_available = 1, e.strstart++, e.lookahead--;\n }\n return e.match_available && (n = qr(e, 0, e.window[e.strstart - 1]), e.match_available = 0), e.insert = e.strstart < En - 1 ? e.strstart : En - 1, t === rn ? (jn(e, !0), 0 === e.strm.avail_out ? Pn : On) : e.last_lit && (jn(e, !1), 0 === e.strm.avail_out) ? Dn : In;\n}\nfunction Gn(e, t, r, n, i) {\n this.good_length = e, this.max_lazy = t, this.nice_length = r, this.max_chain = n, this.func = i;\n}\nfunction $n() {\n this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = gn, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new Yt(2 * mn), this.dyn_dtree = new Yt(2 * (2 * bn + 1)), this.bl_tree = new Yt(2 * (2 * yn + 1)), Nn(this.dyn_ltree), Nn(this.dyn_dtree), Nn(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new Yt(kn + 1), this.heap = new Yt(2 * wn + 1), Nn(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new Yt(2 * wn + 1), Nn(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0;\n}\nfunction Jn(e) {\n var t,\n r = function (e) {\n var t;\n return e && e.state ? (e.total_in = e.total_out = 0, e.data_type = _n, (t = e.state).pending = 0, t.pending_out = 0, t.wrap < 0 && (t.wrap = -t.wrap), t.status = t.wrap ? An : Mn, e.adler = 2 === t.wrap ? 0 : 1, t.last_flush = Qr, Wr(t), on) : Hn(e, sn);\n }(e);\n return r === on && ((t = e.state).window_size = 2 * t.w_size, Nn(t.head), t.max_lazy_match = Jr[t.level].max_lazy, t.good_match = Jr[t.level].good_length, t.nice_match = Jr[t.level].nice_length, t.max_chain_length = Jr[t.level].max_chain, t.strstart = 0, t.block_start = 0, t.lookahead = 0, t.insert = 0, t.match_length = t.prev_length = En - 1, t.match_available = 0, t.ins_h = 0), r;\n}\nfunction Qn(e, t) {\n var r, n, i, o;\n if (!e || !e.state || t > nn || t < 0) return e ? Hn(e, sn) : sn;\n if (n = e.state, !e.output || !e.input && 0 !== e.avail_in || n.status === Cn && t !== rn) return Hn(e, 0 === e.avail_out ? ln : sn);\n if (n.strm = e, r = n.last_flush, n.last_flush = t, n.status === An) if (2 === n.wrap) e.adler = 0, Wn(n, 31), Wn(n, 139), Wn(n, 8), n.gzhead ? (Wn(n, (n.gzhead.text ? 1 : 0) + (n.gzhead.hcrc ? 2 : 0) + (n.gzhead.extra ? 4 : 0) + (n.gzhead.name ? 8 : 0) + (n.gzhead.comment ? 16 : 0)), Wn(n, 255 & n.gzhead.time), Wn(n, n.gzhead.time >> 8 & 255), Wn(n, n.gzhead.time >> 16 & 255), Wn(n, n.gzhead.time >> 24 & 255), Wn(n, 9 === n.level ? 2 : n.strategy >= un || n.level < 2 ? 4 : 0), Wn(n, 255 & n.gzhead.os), n.gzhead.extra && n.gzhead.extra.length && (Wn(n, 255 & n.gzhead.extra.length), Wn(n, n.gzhead.extra.length >> 8 & 255)), n.gzhead.hcrc && (e.adler = $r(e.adler, n.pending_buf, n.pending, 0)), n.gzindex = 0, n.status = Bn) : (Wn(n, 0), Wn(n, 0), Wn(n, 0), Wn(n, 0), Wn(n, 0), Wn(n, 9 === n.level ? 2 : n.strategy >= un || n.level < 2 ? 4 : 0), Wn(n, Un), n.status = Mn);else {\n var a = gn + (n.w_bits - 8 << 4) << 8;\n a |= (n.strategy >= un || n.level < 2 ? 0 : n.level < 6 ? 1 : 6 === n.level ? 2 : 3) << 6, 0 !== n.strstart && (a |= Rn), a += 31 - a % 31, n.status = Mn, Yn(n, a), 0 !== n.strstart && (Yn(n, e.adler >>> 16), Yn(n, 65535 & e.adler)), e.adler = 1;\n }\n if (n.status === Bn) if (n.gzhead.extra) {\n for (i = n.pending; n.gzindex < (65535 & n.gzhead.extra.length) && (n.pending !== n.pending_buf_size || (n.gzhead.hcrc && n.pending > i && (e.adler = $r(e.adler, n.pending_buf, n.pending - i, i)), Zn(e), i = n.pending, n.pending !== n.pending_buf_size));) {\n Wn(n, 255 & n.gzhead.extra[n.gzindex]), n.gzindex++;\n }\n n.gzhead.hcrc && n.pending > i && (e.adler = $r(e.adler, n.pending_buf, n.pending - i, i)), n.gzindex === n.gzhead.extra.length && (n.gzindex = 0, n.status = zn);\n } else n.status = zn;\n if (n.status === zn) if (n.gzhead.name) {\n i = n.pending;\n do {\n if (n.pending === n.pending_buf_size && (n.gzhead.hcrc && n.pending > i && (e.adler = $r(e.adler, n.pending_buf, n.pending - i, i)), Zn(e), i = n.pending, n.pending === n.pending_buf_size)) {\n o = 1;\n break;\n }\n o = n.gzindex < n.gzhead.name.length ? 255 & n.gzhead.name.charCodeAt(n.gzindex++) : 0, Wn(n, o);\n } while (0 !== o);\n n.gzhead.hcrc && n.pending > i && (e.adler = $r(e.adler, n.pending_buf, n.pending - i, i)), 0 === o && (n.gzindex = 0, n.status = Ln);\n } else n.status = Ln;\n if (n.status === Ln) if (n.gzhead.comment) {\n i = n.pending;\n do {\n if (n.pending === n.pending_buf_size && (n.gzhead.hcrc && n.pending > i && (e.adler = $r(e.adler, n.pending_buf, n.pending - i, i)), Zn(e), i = n.pending, n.pending === n.pending_buf_size)) {\n o = 1;\n break;\n }\n o = n.gzindex < n.gzhead.comment.length ? 255 & n.gzhead.comment.charCodeAt(n.gzindex++) : 0, Wn(n, o);\n } while (0 !== o);\n n.gzhead.hcrc && n.pending > i && (e.adler = $r(e.adler, n.pending_buf, n.pending - i, i)), 0 === o && (n.status = Tn);\n } else n.status = Tn;\n if (n.status === Tn && (n.gzhead.hcrc ? (n.pending + 2 > n.pending_buf_size && Zn(e), n.pending + 2 <= n.pending_buf_size && (Wn(n, 255 & e.adler), Wn(n, e.adler >> 8 & 255), e.adler = 0, n.status = Mn)) : n.status = Mn), 0 !== n.pending) {\n if (Zn(e), 0 === e.avail_out) return n.last_flush = -1, on;\n } else if (0 === e.avail_in && Fn(t) <= Fn(r) && t !== rn) return Hn(e, ln);\n if (n.status === Cn && 0 !== e.avail_in) return Hn(e, ln);\n if (0 !== e.avail_in || 0 !== n.lookahead || t !== Qr && n.status !== Cn) {\n var s = n.strategy === un ? function (e, t) {\n for (var r;;) {\n if (0 === e.lookahead && (Xn(e), 0 === e.lookahead)) {\n if (t === Qr) return Dn;\n break;\n }\n if (e.match_length = 0, r = qr(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++, r && (jn(e, !1), 0 === e.strm.avail_out)) return Dn;\n }\n return e.insert = 0, t === rn ? (jn(e, !0), 0 === e.strm.avail_out ? Pn : On) : e.last_lit && (jn(e, !1), 0 === e.strm.avail_out) ? Dn : In;\n }(n, t) : n.strategy === dn ? function (e, t) {\n for (var r, n, i, o, a = e.window;;) {\n if (e.lookahead <= Sn) {\n if (Xn(e), e.lookahead <= Sn && t === Qr) return Dn;\n if (0 === e.lookahead) break;\n }\n if (e.match_length = 0, e.lookahead >= En && e.strstart > 0 && (n = a[i = e.strstart - 1]) === a[++i] && n === a[++i] && n === a[++i]) {\n o = e.strstart + Sn;\n do {} while (n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && n === a[++i] && i < o);\n e.match_length = Sn - (o - i), e.match_length > e.lookahead && (e.match_length = e.lookahead);\n }\n if (e.match_length >= En ? (r = qr(e, 1, e.match_length - En), e.lookahead -= e.match_length, e.strstart += e.match_length, e.match_length = 0) : (r = qr(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++), r && (jn(e, !1), 0 === e.strm.avail_out)) return Dn;\n }\n return e.insert = 0, t === rn ? (jn(e, !0), 0 === e.strm.avail_out ? Pn : On) : e.last_lit && (jn(e, !1), 0 === e.strm.avail_out) ? Dn : In;\n }(n, t) : Jr[n.level].func(n, t);\n if (s !== Pn && s !== On || (n.status = Cn), s === Dn || s === Pn) return 0 === e.avail_out && (n.last_flush = -1), on;\n if (s === In && (t === en ? Kr(n) : t !== nn && (Yr(n, 0, 0, !1), t === tn && (Nn(n.head), 0 === n.lookahead && (n.strstart = 0, n.block_start = 0, n.insert = 0))), Zn(e), 0 === e.avail_out)) return n.last_flush = -1, on;\n }\n return t !== rn ? on : n.wrap <= 0 ? an : (2 === n.wrap ? (Wn(n, 255 & e.adler), Wn(n, e.adler >> 8 & 255), Wn(n, e.adler >> 16 & 255), Wn(n, e.adler >> 24 & 255), Wn(n, 255 & e.total_in), Wn(n, e.total_in >> 8 & 255), Wn(n, e.total_in >> 16 & 255), Wn(n, e.total_in >> 24 & 255)) : (Yn(n, e.adler >>> 16), Yn(n, 65535 & e.adler)), Zn(e), n.wrap > 0 && (n.wrap = -n.wrap), 0 !== n.pending ? on : an);\n}\nJr = [new Gn(0, 0, 0, 0, function (e, t) {\n var r = 65535;\n for (r > e.pending_buf_size - 5 && (r = e.pending_buf_size - 5);;) {\n if (e.lookahead <= 1) {\n if (Xn(e), 0 === e.lookahead && t === Qr) return Dn;\n if (0 === e.lookahead) break;\n }\n e.strstart += e.lookahead, e.lookahead = 0;\n var n = e.block_start + r;\n if ((0 === e.strstart || e.strstart >= n) && (e.lookahead = e.strstart - n, e.strstart = n, jn(e, !1), 0 === e.strm.avail_out)) return Dn;\n if (e.strstart - e.block_start >= e.w_size - xn && (jn(e, !1), 0 === e.strm.avail_out)) return Dn;\n }\n return e.insert = 0, t === rn ? (jn(e, !0), 0 === e.strm.avail_out ? Pn : On) : (e.strstart > e.block_start && (jn(e, !1), e.strm.avail_out), Dn);\n}), new Gn(4, 4, 8, 4, qn), new Gn(4, 5, 16, 8, qn), new Gn(4, 6, 32, 32, qn), new Gn(4, 4, 16, 16, Vn), new Gn(8, 16, 32, 32, Vn), new Gn(8, 16, 128, 128, Vn), new Gn(8, 32, 128, 256, Vn), new Gn(32, 128, 258, 1024, Vn), new Gn(32, 258, 258, 4096, Vn)];\nvar ei = 30,\n ti = 12;\nfunction ri(e, t) {\n var r, n, i, o, a, s, h, l, f, c, u, d, p, _, g, v, w, b, y, m, k, E, S, x, R;\n r = e.state, n = e.next_in, x = e.input, i = n + (e.avail_in - 5), o = e.next_out, R = e.output, a = o - (t - e.avail_out), s = o + (e.avail_out - 257), h = r.dmax, l = r.wsize, f = r.whave, c = r.wnext, u = r.window, d = r.hold, p = r.bits, _ = r.lencode, g = r.distcode, v = (1 << r.lenbits) - 1, w = (1 << r.distbits) - 1;\n e: do {\n p < 15 && (d += x[n++] << p, p += 8, d += x[n++] << p, p += 8), b = _[d & v];\n t: for (;;) {\n if (d >>>= y = b >>> 24, p -= y, 0 === (y = b >>> 16 & 255)) R[o++] = 65535 & b;else {\n if (!(16 & y)) {\n if (0 == (64 & y)) {\n b = _[(65535 & b) + (d & (1 << y) - 1)];\n continue t;\n }\n if (32 & y) {\n r.mode = ti;\n break e;\n }\n e.msg = \"invalid literal/length code\", r.mode = ei;\n break e;\n }\n m = 65535 & b, (y &= 15) && (p < y && (d += x[n++] << p, p += 8), m += d & (1 << y) - 1, d >>>= y, p -= y), p < 15 && (d += x[n++] << p, p += 8, d += x[n++] << p, p += 8), b = g[d & w];\n r: for (;;) {\n if (d >>>= y = b >>> 24, p -= y, !(16 & (y = b >>> 16 & 255))) {\n if (0 == (64 & y)) {\n b = g[(65535 & b) + (d & (1 << y) - 1)];\n continue r;\n }\n e.msg = \"invalid distance code\", r.mode = ei;\n break e;\n }\n if (k = 65535 & b, p < (y &= 15) && (d += x[n++] << p, (p += 8) < y && (d += x[n++] << p, p += 8)), (k += d & (1 << y) - 1) > h) {\n e.msg = \"invalid distance too far back\", r.mode = ei;\n break e;\n }\n if (d >>>= y, p -= y, k > (y = o - a)) {\n if ((y = k - y) > f && r.sane) {\n e.msg = \"invalid distance too far back\", r.mode = ei;\n break e;\n }\n if (E = 0, S = u, 0 === c) {\n if (E += l - y, y < m) {\n m -= y;\n do {\n R[o++] = u[E++];\n } while (--y);\n E = o - k, S = R;\n }\n } else if (c < y) {\n if (E += l + c - y, (y -= c) < m) {\n m -= y;\n do {\n R[o++] = u[E++];\n } while (--y);\n if (E = 0, c < m) {\n m -= y = c;\n do {\n R[o++] = u[E++];\n } while (--y);\n E = o - k, S = R;\n }\n }\n } else if (E += c - y, y < m) {\n m -= y;\n do {\n R[o++] = u[E++];\n } while (--y);\n E = o - k, S = R;\n }\n for (; m > 2;) {\n R[o++] = S[E++], R[o++] = S[E++], R[o++] = S[E++], m -= 3;\n }\n m && (R[o++] = S[E++], m > 1 && (R[o++] = S[E++]));\n } else {\n E = o - k;\n do {\n R[o++] = R[E++], R[o++] = R[E++], R[o++] = R[E++], m -= 3;\n } while (m > 2);\n m && (R[o++] = R[E++], m > 1 && (R[o++] = R[E++]));\n }\n break;\n }\n }\n break;\n }\n } while (n < i && o < s);\n n -= m = p >> 3, d &= (1 << (p -= m << 3)) - 1, e.next_in = n, e.next_out = o, e.avail_in = n < i ? i - n + 5 : 5 - (n - i), e.avail_out = o < s ? s - o + 257 : 257 - (o - s), r.hold = d, r.bits = p;\n}\nvar ni = 15,\n ii = 852,\n oi = 592,\n ai = 0,\n si = 1,\n hi = 2,\n li = [3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0],\n fi = [16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78],\n ci = [1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0],\n ui = [16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64];\nfunction di(e, t, r, n, i, o, a, s) {\n var h,\n l,\n f,\n c,\n u,\n d,\n p,\n _,\n g,\n v = s.bits,\n w = 0,\n b = 0,\n y = 0,\n m = 0,\n k = 0,\n E = 0,\n S = 0,\n x = 0,\n R = 0,\n A = 0,\n B = null,\n z = 0,\n L = new Yt(ni + 1),\n T = new Yt(ni + 1),\n M = null,\n C = 0;\n for (w = 0; w <= ni; w++) {\n L[w] = 0;\n }\n for (b = 0; b < n; b++) {\n L[t[r + b]]++;\n }\n for (k = v, m = ni; m >= 1 && 0 === L[m]; m--) {\n ;\n }\n if (k > m && (k = m), 0 === m) return i[o++] = 20971520, i[o++] = 20971520, s.bits = 1, 0;\n for (y = 1; y < m && 0 === L[y]; y++) {\n ;\n }\n for (k < y && (k = y), x = 1, w = 1; w <= ni; w++) {\n if (x <<= 1, (x -= L[w]) < 0) return -1;\n }\n if (x > 0 && (e === ai || 1 !== m)) return -1;\n for (T[1] = 0, w = 1; w < ni; w++) {\n T[w + 1] = T[w] + L[w];\n }\n for (b = 0; b < n; b++) {\n 0 !== t[r + b] && (a[T[t[r + b]]++] = b);\n }\n if (e === ai ? (B = M = a, d = 19) : e === si ? (B = li, z -= 257, M = fi, C -= 257, d = 256) : (B = ci, M = ui, d = -1), A = 0, b = 0, w = y, u = o, E = k, S = 0, f = -1, c = (R = 1 << k) - 1, e === si && R > ii || e === hi && R > oi) return 1;\n for (;;) {\n p = w - S, a[b] < d ? (_ = 0, g = a[b]) : a[b] > d ? (_ = M[C + a[b]], g = B[z + a[b]]) : (_ = 96, g = 0), h = 1 << w - S, y = l = 1 << E;\n do {\n i[u + (A >> S) + (l -= h)] = p << 24 | _ << 16 | g | 0;\n } while (0 !== l);\n for (h = 1 << w - 1; A & h;) {\n h >>= 1;\n }\n if (0 !== h ? (A &= h - 1, A += h) : A = 0, b++, 0 == --L[w]) {\n if (w === m) break;\n w = t[r + a[b]];\n }\n if (w > k && (A & c) !== f) {\n for (0 === S && (S = k), u += y, x = 1 << (E = w - S); E + S < m && !((x -= L[E + S]) <= 0);) {\n E++, x <<= 1;\n }\n if (R += 1 << E, e === si && R > ii || e === hi && R > oi) return 1;\n i[f = A & c] = k << 24 | E << 16 | u - o | 0;\n }\n }\n return 0 !== A && (i[u + A] = w - S << 24 | 64 << 16 | 0), s.bits = k, 0;\n}\nvar pi = 0,\n _i = 1,\n gi = 2,\n vi = 4,\n wi = 5,\n bi = 6,\n yi = 0,\n mi = 1,\n ki = 2,\n Ei = -2,\n Si = -3,\n xi = -4,\n Ri = -5,\n Ai = 8,\n Bi = 1,\n zi = 2,\n Li = 3,\n Ti = 4,\n Mi = 5,\n Ci = 6,\n Di = 7,\n Ii = 8,\n Pi = 9,\n Oi = 10,\n Ui = 11,\n Hi = 12,\n Fi = 13,\n Ni = 14,\n Zi = 15,\n ji = 16,\n Wi = 17,\n Yi = 18,\n Ki = 19,\n Xi = 20,\n qi = 21,\n Vi = 22,\n Gi = 23,\n $i = 24,\n Ji = 25,\n Qi = 26,\n eo = 27,\n to = 28,\n ro = 29,\n no = 30,\n io = 31,\n oo = 32,\n ao = 852,\n so = 592;\nfunction ho(e) {\n return (e >>> 24 & 255) + (e >>> 8 & 65280) + ((65280 & e) << 8) + ((255 & e) << 24);\n}\nfunction lo() {\n this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new Yt(320), this.work = new Yt(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0;\n}\nfunction fo(e) {\n var t;\n return e && e.state ? ((t = e.state).wsize = 0, t.whave = 0, t.wnext = 0, function (e) {\n var t;\n return e && e.state ? (t = e.state, e.total_in = e.total_out = t.total = 0, e.msg = \"\", t.wrap && (e.adler = 1 & t.wrap), t.mode = Bi, t.last = 0, t.havedict = 0, t.dmax = 32768, t.head = null, t.hold = 0, t.bits = 0, t.lencode = t.lendyn = new Kt(ao), t.distcode = t.distdyn = new Kt(so), t.sane = 1, t.back = -1, yi) : Ei;\n }(e)) : Ei;\n}\nfunction co(e, t) {\n var r, n;\n return e ? (n = new lo(), e.state = n, n.window = null, (r = function (e, t) {\n var r, n;\n return e && e.state ? (n = e.state, t < 0 ? (r = 0, t = -t) : (r = 1 + (t >> 4), t < 48 && (t &= 15)), t && (t < 8 || t > 15) ? Ei : (null !== n.window && n.wbits !== t && (n.window = null), n.wrap = r, n.wbits = t, fo(e))) : Ei;\n }(e, t)) !== yi && (e.state = null), r) : Ei;\n}\nvar uo,\n po,\n _o = !0;\nfunction go(e) {\n if (_o) {\n var t;\n for (uo = new Kt(512), po = new Kt(32), t = 0; t < 144;) {\n e.lens[t++] = 8;\n }\n for (; t < 256;) {\n e.lens[t++] = 9;\n }\n for (; t < 280;) {\n e.lens[t++] = 7;\n }\n for (; t < 288;) {\n e.lens[t++] = 8;\n }\n for (di(_i, e.lens, 0, 288, uo, 0, e.work, {\n bits: 9\n }), t = 0; t < 32;) {\n e.lens[t++] = 5;\n }\n di(gi, e.lens, 0, 32, po, 0, e.work, {\n bits: 5\n }), _o = !1;\n }\n e.lencode = uo, e.lenbits = 9, e.distcode = po, e.distbits = 5;\n}\nfunction vo(e, t) {\n var r,\n n,\n i,\n o,\n a,\n s,\n h,\n l,\n f,\n c,\n u,\n d,\n p,\n _,\n g,\n v,\n w,\n b,\n y,\n m,\n k,\n E,\n S,\n x,\n R = 0,\n A = new Wt(4),\n B = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n if (!e || !e.state || !e.output || !e.input && 0 !== e.avail_in) return Ei;\n (r = e.state).mode === Hi && (r.mode = Fi), a = e.next_out, i = e.output, h = e.avail_out, o = e.next_in, n = e.input, s = e.avail_in, l = r.hold, f = r.bits, c = s, u = h, E = yi;\n e: for (;;) {\n switch (r.mode) {\n case Bi:\n if (0 === r.wrap) {\n r.mode = Fi;\n break;\n }\n for (; f < 16;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (2 & r.wrap && 35615 === l) {\n r.check = 0, A[0] = 255 & l, A[1] = l >>> 8 & 255, r.check = $r(r.check, A, 2, 0), l = 0, f = 0, r.mode = zi;\n break;\n }\n if (r.flags = 0, r.head && (r.head.done = !1), !(1 & r.wrap) || (((255 & l) << 8) + (l >> 8)) % 31) {\n e.msg = \"incorrect header check\", r.mode = no;\n break;\n }\n if ((15 & l) !== Ai) {\n e.msg = \"unknown compression method\", r.mode = no;\n break;\n }\n if (f -= 4, k = 8 + (15 & (l >>>= 4)), 0 === r.wbits) r.wbits = k;else if (k > r.wbits) {\n e.msg = \"invalid window size\", r.mode = no;\n break;\n }\n r.dmax = 1 << k, e.adler = r.check = 1, r.mode = 512 & l ? Oi : Hi, l = 0, f = 0;\n break;\n case zi:\n for (; f < 16;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (r.flags = l, (255 & r.flags) !== Ai) {\n e.msg = \"unknown compression method\", r.mode = no;\n break;\n }\n if (57344 & r.flags) {\n e.msg = \"unknown header flags set\", r.mode = no;\n break;\n }\n r.head && (r.head.text = l >> 8 & 1), 512 & r.flags && (A[0] = 255 & l, A[1] = l >>> 8 & 255, r.check = $r(r.check, A, 2, 0)), l = 0, f = 0, r.mode = Li;\n case Li:\n for (; f < 32;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n r.head && (r.head.time = l), 512 & r.flags && (A[0] = 255 & l, A[1] = l >>> 8 & 255, A[2] = l >>> 16 & 255, A[3] = l >>> 24 & 255, r.check = $r(r.check, A, 4, 0)), l = 0, f = 0, r.mode = Ti;\n case Ti:\n for (; f < 16;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n r.head && (r.head.xflags = 255 & l, r.head.os = l >> 8), 512 & r.flags && (A[0] = 255 & l, A[1] = l >>> 8 & 255, r.check = $r(r.check, A, 2, 0)), l = 0, f = 0, r.mode = Mi;\n case Mi:\n if (1024 & r.flags) {\n for (; f < 16;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n r.length = l, r.head && (r.head.extra_len = l), 512 & r.flags && (A[0] = 255 & l, A[1] = l >>> 8 & 255, r.check = $r(r.check, A, 2, 0)), l = 0, f = 0;\n } else r.head && (r.head.extra = null);\n r.mode = Ci;\n case Ci:\n if (1024 & r.flags && ((d = r.length) > s && (d = s), d && (r.head && (k = r.head.extra_len - r.length, r.head.extra || (r.head.extra = new Array(r.head.extra_len)), jt(r.head.extra, n, o, d, k)), 512 & r.flags && (r.check = $r(r.check, n, d, o)), s -= d, o += d, r.length -= d), r.length)) break e;\n r.length = 0, r.mode = Di;\n case Di:\n if (2048 & r.flags) {\n if (0 === s) break e;\n d = 0;\n do {\n k = n[o + d++], r.head && k && r.length < 65536 && (r.head.name += String.fromCharCode(k));\n } while (k && d < s);\n if (512 & r.flags && (r.check = $r(r.check, n, d, o)), s -= d, o += d, k) break e;\n } else r.head && (r.head.name = null);\n r.length = 0, r.mode = Ii;\n case Ii:\n if (4096 & r.flags) {\n if (0 === s) break e;\n d = 0;\n do {\n k = n[o + d++], r.head && k && r.length < 65536 && (r.head.comment += String.fromCharCode(k));\n } while (k && d < s);\n if (512 & r.flags && (r.check = $r(r.check, n, d, o)), s -= d, o += d, k) break e;\n } else r.head && (r.head.comment = null);\n r.mode = Pi;\n case Pi:\n if (512 & r.flags) {\n for (; f < 16;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (l !== (65535 & r.check)) {\n e.msg = \"header crc mismatch\", r.mode = no;\n break;\n }\n l = 0, f = 0;\n }\n r.head && (r.head.hcrc = r.flags >> 9 & 1, r.head.done = !0), e.adler = r.check = 0, r.mode = Hi;\n break;\n case Oi:\n for (; f < 32;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n e.adler = r.check = ho(l), l = 0, f = 0, r.mode = Ui;\n case Ui:\n if (0 === r.havedict) return e.next_out = a, e.avail_out = h, e.next_in = o, e.avail_in = s, r.hold = l, r.bits = f, ki;\n e.adler = r.check = 1, r.mode = Hi;\n case Hi:\n if (t === wi || t === bi) break e;\n case Fi:\n if (r.last) {\n l >>>= 7 & f, f -= 7 & f, r.mode = eo;\n break;\n }\n for (; f < 3;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n switch (r.last = 1 & l, f -= 1, 3 & (l >>>= 1)) {\n case 0:\n r.mode = Ni;\n break;\n case 1:\n if (go(r), r.mode = Xi, t === bi) {\n l >>>= 2, f -= 2;\n break e;\n }\n break;\n case 2:\n r.mode = Wi;\n break;\n case 3:\n e.msg = \"invalid block type\", r.mode = no;\n }\n l >>>= 2, f -= 2;\n break;\n case Ni:\n for (l >>>= 7 & f, f -= 7 & f; f < 32;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if ((65535 & l) != (l >>> 16 ^ 65535)) {\n e.msg = \"invalid stored block lengths\", r.mode = no;\n break;\n }\n if (r.length = 65535 & l, l = 0, f = 0, r.mode = Zi, t === bi) break e;\n case Zi:\n r.mode = ji;\n case ji:\n if (d = r.length) {\n if (d > s && (d = s), d > h && (d = h), 0 === d) break e;\n jt(i, n, o, d, a), s -= d, o += d, h -= d, a += d, r.length -= d;\n break;\n }\n r.mode = Hi;\n break;\n case Wi:\n for (; f < 14;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (r.nlen = 257 + (31 & l), l >>>= 5, f -= 5, r.ndist = 1 + (31 & l), l >>>= 5, f -= 5, r.ncode = 4 + (15 & l), l >>>= 4, f -= 4, r.nlen > 286 || r.ndist > 30) {\n e.msg = \"too many length or distance symbols\", r.mode = no;\n break;\n }\n r.have = 0, r.mode = Yi;\n case Yi:\n for (; r.have < r.ncode;) {\n for (; f < 3;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n r.lens[B[r.have++]] = 7 & l, l >>>= 3, f -= 3;\n }\n for (; r.have < 19;) {\n r.lens[B[r.have++]] = 0;\n }\n if (r.lencode = r.lendyn, r.lenbits = 7, S = {\n bits: r.lenbits\n }, E = di(pi, r.lens, 0, 19, r.lencode, 0, r.work, S), r.lenbits = S.bits, E) {\n e.msg = \"invalid code lengths set\", r.mode = no;\n break;\n }\n r.have = 0, r.mode = Ki;\n case Ki:\n for (; r.have < r.nlen + r.ndist;) {\n for (; v = (R = r.lencode[l & (1 << r.lenbits) - 1]) >>> 16 & 255, w = 65535 & R, !((g = R >>> 24) <= f);) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (w < 16) l >>>= g, f -= g, r.lens[r.have++] = w;else {\n if (16 === w) {\n for (x = g + 2; f < x;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (l >>>= g, f -= g, 0 === r.have) {\n e.msg = \"invalid bit length repeat\", r.mode = no;\n break;\n }\n k = r.lens[r.have - 1], d = 3 + (3 & l), l >>>= 2, f -= 2;\n } else if (17 === w) {\n for (x = g + 3; f < x;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n f -= g, k = 0, d = 3 + (7 & (l >>>= g)), l >>>= 3, f -= 3;\n } else {\n for (x = g + 7; f < x;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n f -= g, k = 0, d = 11 + (127 & (l >>>= g)), l >>>= 7, f -= 7;\n }\n if (r.have + d > r.nlen + r.ndist) {\n e.msg = \"invalid bit length repeat\", r.mode = no;\n break;\n }\n for (; d--;) {\n r.lens[r.have++] = k;\n }\n }\n }\n if (r.mode === no) break;\n if (0 === r.lens[256]) {\n e.msg = \"invalid code -- missing end-of-block\", r.mode = no;\n break;\n }\n if (r.lenbits = 9, S = {\n bits: r.lenbits\n }, E = di(_i, r.lens, 0, r.nlen, r.lencode, 0, r.work, S), r.lenbits = S.bits, E) {\n e.msg = \"invalid literal/lengths set\", r.mode = no;\n break;\n }\n if (r.distbits = 6, r.distcode = r.distdyn, S = {\n bits: r.distbits\n }, E = di(gi, r.lens, r.nlen, r.ndist, r.distcode, 0, r.work, S), r.distbits = S.bits, E) {\n e.msg = \"invalid distances set\", r.mode = no;\n break;\n }\n if (r.mode = Xi, t === bi) break e;\n case Xi:\n r.mode = qi;\n case qi:\n if (s >= 6 && h >= 258) {\n e.next_out = a, e.avail_out = h, e.next_in = o, e.avail_in = s, r.hold = l, r.bits = f, ri(e, u), a = e.next_out, i = e.output, h = e.avail_out, o = e.next_in, n = e.input, s = e.avail_in, l = r.hold, f = r.bits, r.mode === Hi && (r.back = -1);\n break;\n }\n for (r.back = 0; v = (R = r.lencode[l & (1 << r.lenbits) - 1]) >>> 16 & 255, w = 65535 & R, !((g = R >>> 24) <= f);) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (v && 0 == (240 & v)) {\n for (b = g, y = v, m = w; v = (R = r.lencode[m + ((l & (1 << b + y) - 1) >> b)]) >>> 16 & 255, w = 65535 & R, !(b + (g = R >>> 24) <= f);) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n l >>>= b, f -= b, r.back += b;\n }\n if (l >>>= g, f -= g, r.back += g, r.length = w, 0 === v) {\n r.mode = Qi;\n break;\n }\n if (32 & v) {\n r.back = -1, r.mode = Hi;\n break;\n }\n if (64 & v) {\n e.msg = \"invalid literal/length code\", r.mode = no;\n break;\n }\n r.extra = 15 & v, r.mode = Vi;\n case Vi:\n if (r.extra) {\n for (x = r.extra; f < x;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n r.length += l & (1 << r.extra) - 1, l >>>= r.extra, f -= r.extra, r.back += r.extra;\n }\n r.was = r.length, r.mode = Gi;\n case Gi:\n for (; v = (R = r.distcode[l & (1 << r.distbits) - 1]) >>> 16 & 255, w = 65535 & R, !((g = R >>> 24) <= f);) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (0 == (240 & v)) {\n for (b = g, y = v, m = w; v = (R = r.distcode[m + ((l & (1 << b + y) - 1) >> b)]) >>> 16 & 255, w = 65535 & R, !(b + (g = R >>> 24) <= f);) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n l >>>= b, f -= b, r.back += b;\n }\n if (l >>>= g, f -= g, r.back += g, 64 & v) {\n e.msg = \"invalid distance code\", r.mode = no;\n break;\n }\n r.offset = w, r.extra = 15 & v, r.mode = $i;\n case $i:\n if (r.extra) {\n for (x = r.extra; f < x;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n r.offset += l & (1 << r.extra) - 1, l >>>= r.extra, f -= r.extra, r.back += r.extra;\n }\n if (r.offset > r.dmax) {\n e.msg = \"invalid distance too far back\", r.mode = no;\n break;\n }\n r.mode = Ji;\n case Ji:\n if (0 === h) break e;\n if (d = u - h, r.offset > d) {\n if ((d = r.offset - d) > r.whave && r.sane) {\n e.msg = \"invalid distance too far back\", r.mode = no;\n break;\n }\n d > r.wnext ? (d -= r.wnext, p = r.wsize - d) : p = r.wnext - d, d > r.length && (d = r.length), _ = r.window;\n } else _ = i, p = a - r.offset, d = r.length;\n d > h && (d = h), h -= d, r.length -= d;\n do {\n i[a++] = _[p++];\n } while (--d);\n 0 === r.length && (r.mode = qi);\n break;\n case Qi:\n if (0 === h) break e;\n i[a++] = r.length, h--, r.mode = qi;\n break;\n case eo:\n if (r.wrap) {\n for (; f < 32;) {\n if (0 === s) break e;\n s--, l |= n[o++] << f, f += 8;\n }\n if (u -= h, e.total_out += u, r.total += u, u && (e.adler = r.check = r.flags ? $r(r.check, i, u, a - u) : Vr(r.check, i, u, a - u)), u = h, (r.flags ? l : ho(l)) !== r.check) {\n e.msg = \"incorrect data check\", r.mode = no;\n break;\n }\n l = 0, f = 0;\n }\n r.mode = to;\n case to:\n if (r.wrap && r.flags) {\n for (; f < 32;) {\n if (0 === s) break e;\n s--, l += n[o++] << f, f += 8;\n }\n if (l !== (4294967295 & r.total)) {\n e.msg = \"incorrect length check\", r.mode = no;\n break;\n }\n l = 0, f = 0;\n }\n r.mode = ro;\n case ro:\n E = mi;\n break e;\n case no:\n E = Si;\n break e;\n case io:\n return xi;\n case oo:\n default:\n return Ei;\n }\n }\n return e.next_out = a, e.avail_out = h, e.next_in = o, e.avail_in = s, r.hold = l, r.bits = f, (r.wsize || u !== e.avail_out && r.mode < no && (r.mode < eo || t !== vi)) && function (e, t, r, n) {\n var i,\n o = e.state;\n null === o.window && (o.wsize = 1 << o.wbits, o.wnext = 0, o.whave = 0, o.window = new Wt(o.wsize)), n >= o.wsize ? (jt(o.window, t, r - o.wsize, o.wsize, 0), o.wnext = 0, o.whave = o.wsize) : ((i = o.wsize - o.wnext) > n && (i = n), jt(o.window, t, r - n, i, o.wnext), (n -= i) ? (jt(o.window, t, r - n, n, 0), o.wnext = n, o.whave = o.wsize) : (o.wnext += i, o.wnext === o.wsize && (o.wnext = 0), o.whave < o.wsize && (o.whave += i)));\n }(e, e.output, e.next_out, u - e.avail_out), c -= e.avail_in, u -= e.avail_out, e.total_in += c, e.total_out += u, r.total += u, r.wrap && u && (e.adler = r.check = r.flags ? $r(r.check, i, u, e.next_out - u) : Vr(r.check, i, u, e.next_out - u)), e.data_type = r.bits + (r.last ? 64 : 0) + (r.mode === Hi ? 128 : 0) + (r.mode === Xi || r.mode === Zi ? 256 : 0), (0 === c && 0 === u || t === vi) && E === yi && (E = Ri), E;\n}\nvar wo,\n bo = 1,\n yo = 7;\nfunction mo(e) {\n if (e < bo || e > yo) throw new TypeError(\"Bad argument\");\n this.mode = e, this.init_done = !1, this.write_in_progress = !1, this.pending_close = !1, this.windowBits = 0, this.level = 0, this.memLevel = 0, this.strategy = 0, this.dictionary = null;\n}\nfunction ko(e, t) {\n for (var r = 0; r < e.length; r++) {\n this[t + r] = e[r];\n }\n}\nmo.prototype.init = function (e, t, r, n, i) {\n var o;\n switch (this.windowBits = e, this.level = t, this.memLevel = r, this.strategy = n, 3 !== this.mode && 4 !== this.mode || (this.windowBits += 16), this.mode === yo && (this.windowBits += 32), 5 !== this.mode && 6 !== this.mode || (this.windowBits = -this.windowBits), this.strm = new Zt(), this.mode) {\n case bo:\n case 3:\n case 5:\n o = function (e, t, r, n, i, o) {\n if (!e) return sn;\n var a = 1;\n if (t === fn && (t = 6), n < 0 ? (a = 0, n = -n) : n > 15 && (a = 2, n -= 16), i < 1 || i > vn || r !== gn || n < 8 || n > 15 || t < 0 || t > 9 || o < 0 || o > pn) return Hn(e, sn);\n 8 === n && (n = 9);\n var s = new $n();\n return e.state = s, s.strm = e, s.wrap = a, s.gzhead = null, s.w_bits = n, s.w_size = 1 << s.w_bits, s.w_mask = s.w_size - 1, s.hash_bits = i + 7, s.hash_size = 1 << s.hash_bits, s.hash_mask = s.hash_size - 1, s.hash_shift = ~~((s.hash_bits + En - 1) / En), s.window = new Wt(2 * s.w_size), s.head = new Yt(s.hash_size), s.prev = new Yt(s.w_size), s.lit_bufsize = 1 << i + 6, s.pending_buf_size = 4 * s.lit_bufsize, s.pending_buf = new Wt(s.pending_buf_size), s.d_buf = 1 * s.lit_bufsize, s.l_buf = 3 * s.lit_bufsize, s.level = t, s.strategy = o, s.method = r, Jn(e);\n }(this.strm, this.level, 8, this.windowBits, this.memLevel, this.strategy);\n break;\n case 2:\n case 4:\n case 6:\n case yo:\n o = co(this.strm, this.windowBits);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n 0 === o ? (this.write_in_progress = !1, this.init_done = !0) : this._error(o);\n}, mo.prototype.params = function () {\n throw new Error(\"deflateParams Not supported\");\n}, mo.prototype._writeCheck = function () {\n if (!this.init_done) throw new Error(\"write before init\");\n if (0 === this.mode) throw new Error(\"already finalized\");\n if (this.write_in_progress) throw new Error(\"write already in progress\");\n if (this.pending_close) throw new Error(\"close is pending\");\n}, mo.prototype.write = function (e, t, r, n, i, o, a) {\n this._writeCheck(), this.write_in_progress = !0;\n var s = this;\n return de(function () {\n s.write_in_progress = !1;\n var h = s._write(e, t, r, n, i, o, a);\n s.callback(h[0], h[1]), s.pending_close && s.close();\n }), this;\n}, mo.prototype.writeSync = function (e, t, r, n, i, o, a) {\n return this._writeCheck(), this._write(e, t, r, n, i, o, a);\n}, mo.prototype._write = function (e, t, r, n, i, o, a) {\n if (this.write_in_progress = !0, 0 !== e && 1 !== e && 2 !== e && 3 !== e && 4 !== e && 5 !== e) throw new Error(\"Invalid flush value\");\n null == t && (t = new p(0), n = 0, r = 0), i._set ? i.set = i._set : i.set = ko;\n var s,\n h = this.strm;\n switch (h.avail_in = n, h.input = t, h.next_in = r, h.avail_out = a, h.output = i, h.next_out = o, this.mode) {\n case bo:\n case 3:\n case 5:\n s = Qn(h, e);\n break;\n case yo:\n case 2:\n case 4:\n case 6:\n s = vo(h, e);\n break;\n default:\n throw new Error(\"Unknown mode \" + this.mode);\n }\n return 1 !== s && 0 !== s && this._error(s), this.write_in_progress = !1, [h.avail_in, h.avail_out];\n}, mo.prototype.close = function () {\n this.write_in_progress ? this.pending_close = !0 : (this.pending_close = !1, this.mode === bo || 3 === this.mode || 5 === this.mode ? function (e) {\n var t;\n e && e.state && ((t = e.state.status) !== An && t !== Bn && t !== zn && t !== Ln && t !== Tn && t !== Mn && t !== Cn ? Hn(e, sn) : (e.state = null, t === Mn && Hn(e, hn)));\n }(this.strm) : function (e) {\n if (!e || !e.state) return Ei;\n var t = e.state;\n t.window && (t.window = null), e.state = null;\n }(this.strm), this.mode = 0);\n}, mo.prototype.reset = function () {\n switch (this.mode) {\n case bo:\n case 5:\n wo = Jn(this.strm);\n break;\n case 2:\n case 6:\n wo = fo(this.strm);\n }\n 0 !== wo && this._error(wo);\n}, mo.prototype._error = function (e) {\n this.onerror(Nt[e] + \": \" + this.strm.msg, e), this.write_in_progress = !1, this.pending_close && this.close();\n};\nvar Eo = Object.freeze({\n NONE: 0,\n DEFLATE: bo,\n INFLATE: 2,\n GZIP: 3,\n GUNZIP: 4,\n DEFLATERAW: 5,\n INFLATERAW: 6,\n UNZIP: yo,\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n Z_BUF_ERROR: -5,\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n Z_BINARY: 0,\n Z_TEXT: 1,\n Z_UNKNOWN: 2,\n Z_DEFLATED: 8,\n Zlib: mo\n});\nvar So = {};\nObject.keys(Eo).forEach(function (e) {\n So[e] = Eo[e];\n}), So.Z_MIN_WINDOWBITS = 8, So.Z_MAX_WINDOWBITS = 15, So.Z_DEFAULT_WINDOWBITS = 15, So.Z_MIN_CHUNK = 64, So.Z_MAX_CHUNK = 1 / 0, So.Z_DEFAULT_CHUNK = 16384, So.Z_MIN_MEMLEVEL = 1, So.Z_MAX_MEMLEVEL = 9, So.Z_DEFAULT_MEMLEVEL = 8, So.Z_MIN_LEVEL = -1, So.Z_MAX_LEVEL = 9, So.Z_DEFAULT_LEVEL = So.Z_DEFAULT_COMPRESSION;\nvar xo = {\n Z_OK: So.Z_OK,\n Z_STREAM_END: So.Z_STREAM_END,\n Z_NEED_DICT: So.Z_NEED_DICT,\n Z_ERRNO: So.Z_ERRNO,\n Z_STREAM_ERROR: So.Z_STREAM_ERROR,\n Z_DATA_ERROR: So.Z_DATA_ERROR,\n Z_MEM_ERROR: So.Z_MEM_ERROR,\n Z_BUF_ERROR: So.Z_BUF_ERROR,\n Z_VERSION_ERROR: So.Z_VERSION_ERROR\n};\nfunction Ro(e, t, r) {\n var n = [],\n i = 0;\n function o() {\n for (var t; null !== (t = e.read());) {\n n.push(t), i += t.length;\n }\n e.once(\"readable\", o);\n }\n function a() {\n var t = p.concat(n, i);\n n = [], r(null, t), e.close();\n }\n e.on(\"error\", function (t) {\n e.removeListener(\"end\", a), e.removeListener(\"readable\", o), r(t);\n }), e.on(\"end\", a), e.end(t), o();\n}\nfunction Ao(e, t) {\n if (\"string\" == typeof t && (t = new p(t)), !$(t)) throw new TypeError(\"Not a string or buffer\");\n var r = So.Z_FINISH;\n return e._processChunk(t, r);\n}\nfunction Bo(e) {\n if (!(this instanceof Bo)) return new Bo(e);\n Io.call(this, e, So.DEFLATE);\n}\nfunction zo(e) {\n if (!(this instanceof zo)) return new zo(e);\n Io.call(this, e, So.INFLATE);\n}\nfunction Lo(e) {\n if (!(this instanceof Lo)) return new Lo(e);\n Io.call(this, e, So.GZIP);\n}\nfunction To(e) {\n if (!(this instanceof To)) return new To(e);\n Io.call(this, e, So.GUNZIP);\n}\nfunction Mo(e) {\n if (!(this instanceof Mo)) return new Mo(e);\n Io.call(this, e, So.DEFLATERAW);\n}\nfunction Co(e) {\n if (!(this instanceof Co)) return new Co(e);\n Io.call(this, e, So.INFLATERAW);\n}\nfunction Do(e) {\n if (!(this instanceof Do)) return new Do(e);\n Io.call(this, e, So.UNZIP);\n}\nfunction Io(e, t) {\n if (this._opts = e = e || {}, this._chunkSize = e.chunkSize || So.Z_DEFAULT_CHUNK, Ot.call(this, e), e.flush && e.flush !== So.Z_NO_FLUSH && e.flush !== So.Z_PARTIAL_FLUSH && e.flush !== So.Z_SYNC_FLUSH && e.flush !== So.Z_FULL_FLUSH && e.flush !== So.Z_FINISH && e.flush !== So.Z_BLOCK) throw new Error(\"Invalid flush flag: \" + e.flush);\n if (this._flushFlag = e.flush || So.Z_NO_FLUSH, e.chunkSize && (e.chunkSize < So.Z_MIN_CHUNK || e.chunkSize > So.Z_MAX_CHUNK)) throw new Error(\"Invalid chunk size: \" + e.chunkSize);\n if (e.windowBits && (e.windowBits < So.Z_MIN_WINDOWBITS || e.windowBits > So.Z_MAX_WINDOWBITS)) throw new Error(\"Invalid windowBits: \" + e.windowBits);\n if (e.level && (e.level < So.Z_MIN_LEVEL || e.level > So.Z_MAX_LEVEL)) throw new Error(\"Invalid compression level: \" + e.level);\n if (e.memLevel && (e.memLevel < So.Z_MIN_MEMLEVEL || e.memLevel > So.Z_MAX_MEMLEVEL)) throw new Error(\"Invalid memLevel: \" + e.memLevel);\n if (e.strategy && e.strategy != So.Z_FILTERED && e.strategy != So.Z_HUFFMAN_ONLY && e.strategy != So.Z_RLE && e.strategy != So.Z_FIXED && e.strategy != So.Z_DEFAULT_STRATEGY) throw new Error(\"Invalid strategy: \" + e.strategy);\n if (e.dictionary && !$(e.dictionary)) throw new Error(\"Invalid dictionary: it should be a Buffer instance\");\n this._binding = new So.Zlib(t);\n var r = this;\n this._hadError = !1, this._binding.onerror = function (e, t) {\n r._binding = null, r._hadError = !0;\n var n = new Error(e);\n n.errno = t, n.code = So.codes[t], r.emit(\"error\", n);\n };\n var n = So.Z_DEFAULT_COMPRESSION;\n \"number\" == typeof e.level && (n = e.level);\n var i = So.Z_DEFAULT_STRATEGY;\n \"number\" == typeof e.strategy && (i = e.strategy), this._binding.init(e.windowBits || So.Z_DEFAULT_WINDOWBITS, n, e.memLevel || So.Z_DEFAULT_MEMLEVEL, i, e.dictionary), this._buffer = new p(this._chunkSize), this._offset = 0, this._closed = !1, this._level = n, this._strategy = i, this.once(\"end\", this.close);\n}\nObject.keys(xo).forEach(function (e) {\n xo[xo[e]] = e;\n}), Be(Io, Ot), Io.prototype.params = function (e, t, r) {\n if (e < So.Z_MIN_LEVEL || e > So.Z_MAX_LEVEL) throw new RangeError(\"Invalid compression level: \" + e);\n if (t != So.Z_FILTERED && t != So.Z_HUFFMAN_ONLY && t != So.Z_RLE && t != So.Z_FIXED && t != So.Z_DEFAULT_STRATEGY) throw new TypeError(\"Invalid strategy: \" + t);\n if (this._level !== e || this._strategy !== t) {\n var n = this;\n this.flush(So.Z_SYNC_FLUSH, function () {\n n._binding.params(e, t), n._hadError || (n._level = e, n._strategy = t, r && r());\n });\n } else de(r);\n}, Io.prototype.reset = function () {\n return this._binding.reset();\n}, Io.prototype._flush = function (e) {\n this._transform(new p(0), \"\", e);\n}, Io.prototype.flush = function (e, t) {\n var r = this._writableState;\n if ((\"function\" == typeof e || void 0 === e && !t) && (t = e, e = So.Z_FULL_FLUSH), r.ended) t && de(t);else if (r.ending) t && this.once(\"end\", t);else if (r.needDrain) {\n var n = this;\n this.once(\"drain\", function () {\n n.flush(t);\n });\n } else this._flushFlag = e, this.write(new p(0), \"\", t);\n}, Io.prototype.close = function (e) {\n if (e && de(e), !this._closed) {\n this._closed = !0, this._binding.close();\n var t = this;\n de(function () {\n t.emit(\"close\");\n });\n }\n}, Io.prototype._transform = function (e, t, r) {\n var n,\n i = this._writableState,\n o = (i.ending || i.ended) && (!e || i.length === e.length);\n if (null === !e && !$(e)) return r(new Error(\"invalid input\"));\n o ? n = So.Z_FINISH : (n = this._flushFlag, e.length >= i.length && (this._flushFlag = this._opts.flush || So.Z_NO_FLUSH)), this._processChunk(e, n, r);\n}, Io.prototype._processChunk = function (e, t, r) {\n var n = e && e.length,\n i = this._chunkSize - this._offset,\n o = 0,\n a = this,\n s = \"function\" == typeof r;\n if (!s) {\n var h,\n l = [],\n f = 0;\n this.on(\"error\", function (e) {\n h = e;\n });\n do {\n var c = this._binding.writeSync(t, e, o, n, this._buffer, this._offset, i);\n } while (!this._hadError && _(c[0], c[1]));\n if (this._hadError) throw h;\n var u = p.concat(l, f);\n return this.close(), u;\n }\n var d = this._binding.write(t, e, o, n, this._buffer, this._offset, i);\n function _(h, c) {\n if (!a._hadError) {\n var u = i - c;\n if (function (e, t) {\n if (!e) throw new Error(t);\n }(u >= 0, \"have should not go down\"), u > 0) {\n var d = a._buffer.slice(a._offset, a._offset + u);\n a._offset += u, s ? a.push(d) : (l.push(d), f += d.length);\n }\n if ((0 === c || a._offset >= a._chunkSize) && (i = a._chunkSize, a._offset = 0, a._buffer = new p(a._chunkSize)), 0 === c) {\n if (o += n - h, n = h, !s) return !0;\n var g = a._binding.write(t, e, o, n, a._buffer, a._offset, a._chunkSize);\n return g.callback = _, void (g.buffer = e);\n }\n if (!s) return !1;\n r();\n }\n }\n d.buffer = e, d.callback = _;\n}, Be(Bo, Io), Be(zo, Io), Be(Lo, Io), Be(To, Io), Be(Mo, Io), Be(Co, Io), Be(Do, Io);\nvar Po = {\n codes: xo,\n createDeflate: function createDeflate(e) {\n return new Bo(e);\n },\n createInflate: function createInflate(e) {\n return new zo(e);\n },\n createDeflateRaw: function createDeflateRaw(e) {\n return new Mo(e);\n },\n createInflateRaw: function createInflateRaw(e) {\n return new Co(e);\n },\n createGzip: function createGzip(e) {\n return new Lo(e);\n },\n createGunzip: function createGunzip(e) {\n return new To(e);\n },\n createUnzip: function createUnzip(e) {\n return new Do(e);\n },\n deflate: function deflate(e, t, r) {\n return \"function\" == typeof t && (r = t, t = {}), Ro(new Bo(t), e, r);\n },\n deflateSync: function deflateSync(e, t) {\n return Ao(new Bo(t), e);\n },\n gzip: function gzip(e, t, r) {\n return \"function\" == typeof t && (r = t, t = {}), Ro(new Lo(t), e, r);\n },\n gzipSync: function gzipSync(e, t) {\n return Ao(new Lo(t), e);\n },\n deflateRaw: function deflateRaw(e, t, r) {\n return \"function\" == typeof t && (r = t, t = {}), Ro(new Mo(t), e, r);\n },\n deflateRawSync: function deflateRawSync(e, t) {\n return Ao(new Mo(t), e);\n },\n unzip: function unzip(e, t, r) {\n return \"function\" == typeof t && (r = t, t = {}), Ro(new Do(t), e, r);\n },\n unzipSync: function unzipSync(e, t) {\n return Ao(new Do(t), e);\n },\n inflate: function inflate(e, t, r) {\n return \"function\" == typeof t && (r = t, t = {}), Ro(new zo(t), e, r);\n },\n inflateSync: function inflateSync(e, t) {\n return Ao(new zo(t), e);\n },\n gunzip: function gunzip(e, t, r) {\n return \"function\" == typeof t && (r = t, t = {}), Ro(new To(t), e, r);\n },\n gunzipSync: function gunzipSync(e, t) {\n return Ao(new To(t), e);\n },\n inflateRaw: function inflateRaw(e, t, r) {\n return \"function\" == typeof t && (r = t, t = {}), Ro(new Co(t), e, r);\n },\n inflateRawSync: function inflateRawSync(e, t) {\n return Ao(new Co(t), e);\n },\n Deflate: Bo,\n Inflate: zo,\n Gzip: Lo,\n Gunzip: To,\n DeflateRaw: Mo,\n InflateRaw: Co,\n Unzip: Do,\n Zlib: Io\n};\nvar _default = /*#__PURE__*/function () {\n function _default(e, t, r) {\n (0, _classCallCheck2.default)(this, _default);\n this.SDKAPPID = e, this.EXPIRETIME = r, this.PRIVATEKEY = t;\n }\n (0, _createClass2.default)(_default, [{\n key: \"genTestUserSig\",\n value: function genTestUserSig(e) {\n return this._isNumber(this.SDKAPPID) ? this._isString(this.PRIVATEKEY) ? this._isString(e) ? this._isNumber(this.EXPIRETIME) ? (__f__(\"log\", \"sdkAppID=\" + this.SDKAPPID + \" key=\" + this.PRIVATEKEY + \" userID=\" + e + \" expire=\" + this.EXPIRETIME, \" at debug/lib-generate-test-usersig-es.min.js:6138\"), this.genSigWithUserbuf(e, this.EXPIRETIME, null)) : (__f__(\"error\", \"expireTime must be a number\", \" at debug/lib-generate-test-usersig-es.min.js:6138\"), \"\") : (__f__(\"error\", \"userID must be a string\", \" at debug/lib-generate-test-usersig-es.min.js:6138\"), \"\") : (__f__(\"error\", \"privateKey must be a string\", \" at debug/lib-generate-test-usersig-es.min.js:6138\"), \"\") : (__f__(\"error\", \"sdkAppID must be a number\", \" at debug/lib-generate-test-usersig-es.min.js:6138\"), \"\");\n }\n }, {\n key: \"newBuffer\",\n value: function newBuffer(e, t) {\n return p.from ? p.from(e, t) : new p(e, t);\n }\n }, {\n key: \"unescape\",\n value: function unescape(e) {\n return e.replace(/_/g, \"=\").replace(/\\-/g, \"/\").replace(/\\*/g, \"+\");\n }\n }, {\n key: \"escape\",\n value: function escape(e) {\n return e.replace(/\\+/g, \"*\").replace(/\\//g, \"-\").replace(/=/g, \"_\");\n }\n }, {\n key: \"encode\",\n value: function encode(e) {\n return this.escape(this.newBuffer(e).toString(\"base64\"));\n }\n }, {\n key: \"decode\",\n value: function decode(e) {\n return this.newBuffer(this.unescape(e), \"base64\");\n }\n }, {\n key: \"base64encode\",\n value: function base64encode(e) {\n return this.newBuffer(e).toString(\"base64\");\n }\n }, {\n key: \"base64decode\",\n value: function base64decode(e) {\n return this.newBuffer(e, \"base64\").toString();\n }\n }, {\n key: \"_hmacsha256\",\n value: function _hmacsha256(e, t, r, n) {\n var i = \"TLS.identifier:\" + e + \"\\n\";\n i += \"TLS.sdkappid:\" + this.SDKAPPID + \"\\n\", i += \"TLS.time:\" + t + \"\\n\", i += \"TLS.expire:\" + r + \"\\n\", null != n && (i += \"TLS.userbuf:\" + n + \"\\n\");\n var o = te.HmacSHA256(i, this.PRIVATEKEY);\n return te.enc.Base64.stringify(o);\n }\n }, {\n key: \"_utc\",\n value: function _utc() {\n return Math.round(Date.now() / 1e3);\n }\n }, {\n key: \"_isNumber\",\n value: function _isNumber(e) {\n return null !== e && (\"number\" == typeof e && !isNaN(e - 0) || \"object\" == (0, _typeof2.default)(e) && e.constructor === Number);\n }\n }, {\n key: \"_isString\",\n value: function _isString(e) {\n return \"string\" == typeof e;\n }\n }, {\n key: \"genSigWithUserbuf\",\n value: function genSigWithUserbuf(e, t, r) {\n var n = this._utc(),\n i = {\n \"TLS.ver\": \"2.0\",\n \"TLS.identifier\": e,\n \"TLS.sdkappid\": this.SDKAPPID,\n \"TLS.time\": n,\n \"TLS.expire\": t\n },\n o = \"\";\n if (null != r) {\n var _a = this.base64encode(r);\n i[\"TLS.userbuf\"] = _a, o = this._hmacsha256(e, n, t, _a);\n } else o = this._hmacsha256(e, n, t, null);\n i[\"TLS.sig\"] = o;\n var a = JSON.stringify(i),\n s = Po.deflateSync(this.newBuffer(a)).toString(\"base64\"),\n h = this.escape(s);\n return __f__(\"log\", \"ret=\" + h, \" at debug/lib-generate-test-usersig-es.min.js:6208\"), h;\n }\n }, {\n key: \"validate\",\n value: function validate(e) {\n var t = this.decode(e),\n r = Po.inflateSync(t);\n __f__(\"log\", \"validate ret=\" + r, \" at debug/lib-generate-test-usersig-es.min.js:6214\");\n }\n }]);\n return _default;\n}();\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 11)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vZGVidWcvbGliLWdlbmVyYXRlLXRlc3QtdXNlcnNpZy1lcy5taW4uanMiXSwibmFtZXMiOlsiZSIsImdsb2JhbCIsInNlbGYiLCJ3aW5kb3ciLCJ0IiwiciIsIm4iLCJVaW50OEFycmF5IiwiQXJyYXkiLCJpIiwibyIsImxlbmd0aCIsImNoYXJDb2RlQXQiLCJhIiwicyIsInB1c2giLCJqb2luIiwiaCIsImwiLCJmIiwiYyIsInUiLCJkIiwiTmFOIiwiTWF0aCIsInBvdyIsInAiLCJfIiwiYWJzIiwiaXNOYU4iLCJmbG9vciIsImxvZyIsIkxOMiIsInRvU3RyaW5nIiwiaXNBcnJheSIsImNhbGwiLCJUWVBFRF9BUlJBWV9TVVBQT1JUIiwiUmFuZ2VFcnJvciIsIl9fcHJvdG9fXyIsInByb3RvdHlwZSIsIkVycm9yIiwidiIsIlR5cGVFcnJvciIsIkFycmF5QnVmZmVyIiwiYnl0ZUxlbmd0aCIsInciLCJpc0VuY29kaW5nIiwibSIsIndyaXRlIiwic2xpY2UiLCJ5IiwiYiIsImNvcHkiLCJidWZmZXIiLCJ0eXBlIiwiZGF0YSIsImciLCJfaXNCdWZmZXIiLCJpc1ZpZXciLCJxIiwiViIsInRvTG93ZXJDYXNlIiwiayIsIk8iLCJDIiwiSSIsIlAiLCJNIiwiVSIsIkUiLCJTIiwiZnJvbSIsIngiLCJpbmRleE9mIiwibGFzdEluZGV4T2YiLCJTdHJpbmciLCJyZWFkVUludDE2QkUiLCJSIiwiTnVtYmVyIiwicGFyc2VJbnQiLCJzdWJzdHIiLCJBIiwiRyIsIkIiLCJ6IiwiTCIsIlQiLCJtaW4iLCJEIiwiZnJvbUNoYXJDb2RlIiwiYXBwbHkiLCJwb29sU2l6ZSIsIl9hdWdtZW50IiwiYWxsb2MiLCJmaWxsIiwiYWxsb2NVbnNhZmUiLCJhbGxvY1Vuc2FmZVNsb3ciLCJpc0J1ZmZlciIsIiQiLCJjb21wYXJlIiwiY29uY2F0Iiwic3dhcDE2Iiwic3dhcDMyIiwic3dhcDY0IiwiYXJndW1lbnRzIiwiZXF1YWxzIiwiaW5zcGVjdCIsIm1hdGNoIiwiaW5jbHVkZXMiLCJpc0Zpbml0ZSIsInRvSlNPTiIsIl9hcnIiLCJYIiwiSCIsIkYiLCJOIiwiWiIsImoiLCJXIiwiWSIsInN1YmFycmF5IiwicmVhZFVJbnRMRSIsInJlYWRVSW50QkUiLCJyZWFkVUludDgiLCJyZWFkVUludDE2TEUiLCJyZWFkVUludDMyTEUiLCJyZWFkVUludDMyQkUiLCJyZWFkSW50TEUiLCJyZWFkSW50QkUiLCJyZWFkSW50OCIsInJlYWRJbnQxNkxFIiwicmVhZEludDE2QkUiLCJyZWFkSW50MzJMRSIsInJlYWRJbnQzMkJFIiwicmVhZEZsb2F0TEUiLCJyZWFkRmxvYXRCRSIsInJlYWREb3VibGVMRSIsInJlYWREb3VibGVCRSIsIndyaXRlVUludExFIiwid3JpdGVVSW50QkUiLCJ3cml0ZVVJbnQ4Iiwid3JpdGVVSW50MTZMRSIsIndyaXRlVUludDE2QkUiLCJ3cml0ZVVJbnQzMkxFIiwid3JpdGVVSW50MzJCRSIsIndyaXRlSW50TEUiLCJ3cml0ZUludEJFIiwid3JpdGVJbnQ4Iiwid3JpdGVJbnQxNkxFIiwid3JpdGVJbnQxNkJFIiwid3JpdGVJbnQzMkxFIiwid3JpdGVJbnQzMkJFIiwid3JpdGVGbG9hdExFIiwid3JpdGVGbG9hdEJFIiwid3JpdGVEb3VibGVMRSIsIndyaXRlRG91YmxlQkUiLCJzZXQiLCJLIiwidHJpbSIsInJlcGxhY2UiLCJKIiwiY29uc3RydWN0b3IiLCJnbG9iYWxUaGlzIiwiUSIsImV4cG9ydHMiLCJlZSIsIk9iamVjdCIsImNyZWF0ZSIsImxpYiIsIkJhc2UiLCJleHRlbmQiLCJtaXhJbiIsImhhc093blByb3BlcnR5IiwiaW5pdCIsIiRzdXBlciIsImNsb25lIiwiV29yZEFycmF5Iiwid29yZHMiLCJzaWdCeXRlcyIsInN0cmluZ2lmeSIsImNsYW1wIiwiY2VpbCIsInJhbmRvbSIsImVuYyIsIkhleCIsInBhcnNlIiwiTGF0aW4xIiwiVXRmOCIsImRlY29kZVVSSUNvbXBvbmVudCIsImVzY2FwZSIsInVuZXNjYXBlIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiQnVmZmVyZWRCbG9ja0FsZ29yaXRobSIsInJlc2V0IiwiX2RhdGEiLCJfbkRhdGFCeXRlcyIsIl9hcHBlbmQiLCJfcHJvY2VzcyIsImJsb2NrU2l6ZSIsIm1heCIsIl9taW5CdWZmZXJTaXplIiwiX2RvUHJvY2Vzc0Jsb2NrIiwic3BsaWNlIiwiSGFzaGVyIiwiY2ZnIiwiX2RvUmVzZXQiLCJ1cGRhdGUiLCJmaW5hbGl6ZSIsIl9kb0ZpbmFsaXplIiwiX2NyZWF0ZUhlbHBlciIsIl9jcmVhdGVIbWFjSGVscGVyIiwiSE1BQyIsImFsZ28iLCJ0ZSIsIng2NCIsIldvcmQiLCJoaWdoIiwibG93IiwidG9YMzIiLCJJbnQ4QXJyYXkiLCJVaW50OENsYW1wZWRBcnJheSIsIkludDE2QXJyYXkiLCJVaW50MTZBcnJheSIsIkludDMyQXJyYXkiLCJVaW50MzJBcnJheSIsIkZsb2F0MzJBcnJheSIsIkZsb2F0NjRBcnJheSIsImJ5dGVPZmZzZXQiLCJVdGYxNiIsIlV0ZjE2QkUiLCJVdGYxNkxFIiwiQmFzZTY0IiwiX21hcCIsImNoYXJBdCIsIl9yZXZlcnNlTWFwIiwic2luIiwiTUQ1IiwiX2hhc2giLCJIbWFjTUQ1IiwiU0hBMSIsIkhtYWNTSEExIiwic3FydCIsIlNIQTI1NiIsIkhtYWNTSEEyNTYiLCJTSEEyMjQiLCJIbWFjU0hBMjI0IiwiU0hBNTEyIiwicmUiLCJuZSIsImllIiwib2UiLCJhZSIsInNlIiwiaGUiLCJsZSIsImZlIiwiY2UiLCJ1ZSIsImRlIiwicGUiLCJfZSIsImdlIiwidmUiLCJ3ZSIsImJlIiwieWUiLCJtZSIsImtlIiwiRWUiLCJTZSIsIkhtYWNTSEE1MTIiLCJTSEEzODQiLCJIbWFjU0hBMzg0IiwiU0hBMyIsIm91dHB1dExlbmd0aCIsIl9zdGF0ZSIsIkhtYWNTSEEzIiwiUklQRU1EMTYwIiwiSG1hY1JJUEVNRDE2MCIsIl9oYXNoZXIiLCJfb0tleSIsIl9pS2V5IiwiUEJLREYyIiwia2V5U2l6ZSIsImhhc2hlciIsIml0ZXJhdGlvbnMiLCJjb21wdXRlIiwiRXZwS0RGIiwiQ2lwaGVyIiwiY3JlYXRlRW5jcnlwdG9yIiwiX0VOQ19YRk9STV9NT0RFIiwiY3JlYXRlRGVjcnlwdG9yIiwiX0RFQ19YRk9STV9NT0RFIiwiX3hmb3JtTW9kZSIsIl9rZXkiLCJwcm9jZXNzIiwiaXZTaXplIiwiZW5jcnlwdCIsImRlY3J5cHQiLCJTdHJlYW1DaXBoZXIiLCJtb2RlIiwiQmxvY2tDaXBoZXJNb2RlIiwiRW5jcnlwdG9yIiwiRGVjcnlwdG9yIiwiX2NpcGhlciIsIl9pdiIsIkNCQyIsIl9wcmV2QmxvY2siLCJwcm9jZXNzQmxvY2siLCJlbmNyeXB0QmxvY2siLCJkZWNyeXB0QmxvY2siLCJwYWQiLCJQa2NzNyIsInVucGFkIiwiQmxvY2tDaXBoZXIiLCJwYWRkaW5nIiwiaXYiLCJfbW9kZSIsIl9fY3JlYXRvciIsIkNpcGhlclBhcmFtcyIsImZvcm1hdHRlciIsImZvcm1hdCIsIk9wZW5TU0wiLCJjaXBoZXJ0ZXh0Iiwic2FsdCIsIlNlcmlhbGl6YWJsZUNpcGhlciIsImtleSIsImFsZ29yaXRobSIsIl9wYXJzZSIsImtkZiIsImV4ZWN1dGUiLCJQYXNzd29yZEJhc2VkQ2lwaGVyIiwiQ0ZCIiwiQ1RSIiwiX2NvdW50ZXIiLCJDVFJHbGFkbWFuIiwiT0ZCIiwiX2tleXN0cmVhbSIsIkVDQiIsIkFuc2lYOTIzIiwiQW5zaXg5MjMiLCJJc28xMDEyNiIsIklzbzk3OTcxIiwiWmVyb1BhZGRpbmciLCJOb1BhZGRpbmciLCJBRVMiLCJfblJvdW5kcyIsIl9rZXlQcmlvclJlc2V0IiwiX2tleVNjaGVkdWxlIiwiX2ludktleVNjaGVkdWxlIiwiX2RvQ3J5cHRCbG9jayIsIkRFUyIsIl9zdWJLZXlzIiwiX2ludlN1YktleXMiLCJfbEJsb2NrIiwiX3JCbG9jayIsIlRyaXBsZURFUyIsIl9kZXMxIiwiX2RlczIiLCJfZGVzMyIsIlJDNCIsIl9TIiwiX2kiLCJfaiIsIlJDNERyb3AiLCJkcm9wIiwiUmFiYml0IiwiX1giLCJfQyIsIl9iIiwiUmFiYml0TGVnYWN5Iiwic2V0VGltZW91dCIsImNsZWFyVGltZW91dCIsInJ1biIsImZ1biIsImFycmF5Iiwibm93IiwibW96Tm93IiwibXNOb3ciLCJvTm93Iiwid2Via2l0Tm93IiwiX21heExpc3RlbmVycyIsImRlZmF1bHRNYXhMaXN0ZW5lcnMiLCJBZSIsIl9ldmVudHMiLCJuZXdMaXN0ZW5lciIsImVtaXQiLCJsaXN0ZW5lciIsIl9ldmVudHNDb3VudCIsInVuc2hpZnQiLCJ3YXJuZWQiLCJuYW1lIiwiZW1pdHRlciIsImNvdW50IiwiY29uc29sZSIsIndhcm4iLCJ4ZSIsInJlbW92ZUxpc3RlbmVyIiwiUmUiLCJFdmVudEVtaXR0ZXIiLCJ1c2luZ0RvbWFpbnMiLCJkb21haW4iLCJhY3RpdmUiLCJEb21haW4iLCJnZXRQcm90b3R5cGVPZiIsInNldE1heExpc3RlbmVycyIsImdldE1heExpc3RlbmVycyIsImVycm9yIiwiY29udGV4dCIsImRvbWFpbkVtaXR0ZXIiLCJkb21haW5UaHJvd24iLCJhZGRMaXN0ZW5lciIsIm9uIiwicHJlcGVuZExpc3RlbmVyIiwib25jZSIsInByZXBlbmRPbmNlTGlzdGVuZXIiLCJwb3AiLCJyZW1vdmVBbGxMaXN0ZW5lcnMiLCJrZXlzIiwibGlzdGVuZXJzIiwibGlzdGVuZXJDb3VudCIsImV2ZW50TmFtZXMiLCJSZWZsZWN0Iiwib3duS2V5cyIsIkJlIiwic3VwZXJfIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJjb25maWd1cmFibGUiLCJ6ZSIsIkxlIiwiWmUiLCJEZSIsIkpTT04iLCJOZSIsIlllIiwiVGUiLCJqZSIsIk1lIiwiQ2UiLCJzZWVuIiwic3R5bGl6ZSIsIlBlIiwiZGVwdGgiLCJjb2xvcnMiLCJGZSIsInNob3dIaWRkZW4iLCJjdXN0b21JbnNwZWN0IiwiSWUiLCJPZSIsInN0eWxlcyIsInFlIiwiZm9yRWFjaCIsImdldE93blByb3BlcnR5TmFtZXMiLCJYZSIsIlVlIiwiV2UiLCJSZWdFeHAiLCJLZSIsIkRhdGUiLCJ0b1VUQ1N0cmluZyIsIkdlIiwiSGUiLCJtYXAiLCJyZWR1Y2UiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJnZXQiLCJzcGxpdCIsIlZlIiwiJGUiLCJoZWFkIiwidGFpbCIsImJvbGQiLCJpdGFsaWMiLCJ1bmRlcmxpbmUiLCJpbnZlcnNlIiwid2hpdGUiLCJncmV5IiwiYmxhY2siLCJibHVlIiwiY3lhbiIsImdyZWVuIiwibWFnZW50YSIsInJlZCIsInllbGxvdyIsInNwZWNpYWwiLCJudW1iZXIiLCJib29sZWFuIiwidW5kZWZpbmVkIiwibnVsbCIsInN0cmluZyIsImRhdGUiLCJyZWdleHAiLCJuZXh0Iiwic2hpZnQiLCJjbGVhciIsIkplIiwiUWUiLCJlbmNvZGluZyIsInN1cnJvZ2F0ZVNpemUiLCJkZXRlY3RJbmNvbXBsZXRlQ2hhciIsInR0IiwicnQiLCJldCIsImNoYXJCdWZmZXIiLCJjaGFyUmVjZWl2ZWQiLCJjaGFyTGVuZ3RoIiwic3Vic3RyaW5nIiwiZW5kIiwib3QiLCJSZWFkYWJsZVN0YXRlIiwiaXQiLCJudCIsInRvVXBwZXJDYXNlIiwidGVzdCIsIm9iamVjdE1vZGUiLCJDdCIsInJlYWRhYmxlT2JqZWN0TW9kZSIsImhpZ2hXYXRlck1hcmsiLCJwaXBlcyIsInBpcGVzQ291bnQiLCJmbG93aW5nIiwiZW5kZWQiLCJlbmRFbWl0dGVkIiwicmVhZGluZyIsInN5bmMiLCJuZWVkUmVhZGFibGUiLCJlbWl0dGVkUmVhZGFibGUiLCJyZWFkYWJsZUxpc3RlbmluZyIsInJlc3VtZVNjaGVkdWxlZCIsImRlZmF1bHRFbmNvZGluZyIsInJhbk91dCIsImF3YWl0RHJhaW4iLCJyZWFkaW5nTW9yZSIsImRlY29kZXIiLCJfcmVhZGFibGVTdGF0ZSIsInJlYWRhYmxlIiwicmVhZCIsIl9yZWFkIiwiYXQiLCJsdCIsImN0IiwiaXNQYXVzZWQiLCJzZXRFbmNvZGluZyIsInN0IiwiaHQiLCJmdCIsInB0IiwidXQiLCJkdCIsIl90IiwiZ3QiLCJ2dCIsInd0IiwiYnQiLCJ5dCIsImNodW5rIiwiY2FsbGJhY2siLCJtdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0QnVmZmVyIiwid3JpdGFibGVPYmplY3RNb2RlIiwibmVlZERyYWluIiwiZW5kaW5nIiwiZmluaXNoZWQiLCJkZWNvZGVTdHJpbmdzIiwid3JpdGluZyIsImNvcmtlZCIsImJ1ZmZlclByb2Nlc3NpbmciLCJvbndyaXRlIiwiX3dyaXRhYmxlU3RhdGUiLCJ3cml0ZWNiIiwid3JpdGVsZW4iLCJwZW5kaW5nY2IiLCJlcnJvckVtaXR0ZWQiLCJSdCIsImJ1ZmZlcmVkUmVxdWVzdCIsInh0IiwiU3QiLCJsYXN0QnVmZmVyZWRSZXF1ZXN0IiwicHJlZmluaXNoZWQiLCJidWZmZXJlZFJlcXVlc3RDb3VudCIsImNvcmtlZFJlcXVlc3RzRnJlZSIsInp0Iiwia3QiLCJfd3JpdGUiLCJ3cml0ZXYiLCJfd3JpdGV2IiwiRXQiLCJCdCIsImVudHJ5IiwiZmluaXNoIiwiQXQiLCJwaXBlIiwicGF1c2UiLCJ1bnBpcGUiLCJyZXN1bWUiLCJ3cmFwIiwiYmluZCIsIl9mcm9tTGlzdCIsIldyaXRhYmxlU3RhdGUiLCJjb3JrIiwidW5jb3JrIiwic2V0RGVmYXVsdEVuY29kaW5nIiwiTHQiLCJUdCIsIk10IiwiYWxsb3dIYWxmT3BlbiIsIkR0IiwiSXQiLCJQdCIsImFmdGVyVHJhbnNmb3JtIiwiX3RyYW5zZm9ybVN0YXRlIiwidHJhbnNmb3JtaW5nIiwid3JpdGVjaHVuayIsIm5lZWRUcmFuc2Zvcm0iLCJ3cml0ZWVuY29kaW5nIiwiT3QiLCJ0cmFuc2Zvcm0iLCJfdHJhbnNmb3JtIiwiZmx1c2giLCJfZmx1c2giLCJVdCIsIkh0IiwiRnQiLCJSZWFkYWJsZSIsIldyaXRhYmxlIiwiRHVwbGV4IiwiVHJhbnNmb3JtIiwiUGFzc1Rocm91Z2giLCJTdHJlYW0iLCJfaXNTdGRpbyIsImRlc3Ryb3kiLCJOdCIsIlp0IiwiaW5wdXQiLCJuZXh0X2luIiwiYXZhaWxfaW4iLCJ0b3RhbF9pbiIsIm91dHB1dCIsIm5leHRfb3V0IiwiYXZhaWxfb3V0IiwidG90YWxfb3V0IiwibXNnIiwic3RhdGUiLCJkYXRhX3R5cGUiLCJhZGxlciIsImp0IiwiV3QiLCJZdCIsIkt0IiwiWHQiLCJxdCIsIlZ0IiwiR3QiLCIkdCIsIkp0IiwiUXQiLCJlciIsInRyIiwicnIiLCJuciIsImlyIiwib3IiLCJhciIsInNyIiwiaHIiLCJsciIsImZyIiwiY3IiLCJ1ciIsImRyIiwicHIiLCJfciIsImdyIiwidnIiLCJ3ciIsImJyIiwieXIiLCJtciIsImtyIiwiRXIiLCJTciIsInhyIiwiUnIiLCJBciIsInN0YXRpY190cmVlIiwiZXh0cmFfYml0cyIsImV4dHJhX2Jhc2UiLCJlbGVtcyIsIm1heF9sZW5ndGgiLCJoYXNfc3RyZWUiLCJCciIsImR5bl90cmVlIiwibWF4X2NvZGUiLCJzdGF0X2Rlc2MiLCJ6ciIsIkxyIiwicGVuZGluZ19idWYiLCJwZW5kaW5nIiwiVHIiLCJiaV92YWxpZCIsImJpX2J1ZiIsIk1yIiwiQ3IiLCJEciIsIklyIiwiZHluX2x0cmVlIiwiZHluX2R0cmVlIiwiYmxfdHJlZSIsIm9wdF9sZW4iLCJzdGF0aWNfbGVuIiwibGFzdF9saXQiLCJtYXRjaGVzIiwiUHIiLCJPciIsIlVyIiwiaGVhcCIsImhlYXBfbGVuIiwiSHIiLCJkX2J1ZiIsImxfYnVmIiwiRnIiLCJoZWFwX21heCIsImJsX2NvdW50IiwiTnIiLCJaciIsImpyIiwiV3IiLCJsX2Rlc2MiLCJkX2Rlc2MiLCJibF9kZXNjIiwiWXIiLCJLciIsIlhyIiwibGV2ZWwiLCJzdHJtIiwic3RyYXRlZ3kiLCJxciIsImxpdF9idWZzaXplIiwiVnIiLCJHciIsIiRyIiwiSnIiLCJRciIsImVuIiwidG4iLCJybiIsIm5uIiwiYW4iLCJzbiIsImhuIiwibG4iLCJmbiIsImNuIiwidW4iLCJkbiIsInBuIiwiX24iLCJnbiIsInZuIiwid24iLCJibiIsInluIiwibW4iLCJrbiIsIkVuIiwiU24iLCJ4biIsIlJuIiwiQW4iLCJCbiIsInpuIiwiTG4iLCJUbiIsIk1uIiwiQ24iLCJEbiIsIkluIiwiUG4iLCJPbiIsIlVuIiwiSG4iLCJGbiIsIk5uIiwiWm4iLCJwZW5kaW5nX291dCIsImpuIiwiYmxvY2tfc3RhcnQiLCJzdHJzdGFydCIsIlduIiwiWW4iLCJLbiIsIm1heF9jaGFpbl9sZW5ndGgiLCJwcmV2X2xlbmd0aCIsIm5pY2VfbWF0Y2giLCJ3X3NpemUiLCJ3X21hc2siLCJwcmV2IiwiZ29vZF9tYXRjaCIsImxvb2thaGVhZCIsIm1hdGNoX3N0YXJ0IiwiWG4iLCJ3aW5kb3dfc2l6ZSIsImhhc2hfc2l6ZSIsImluc2VydCIsImluc19oIiwiaGFzaF9zaGlmdCIsImhhc2hfbWFzayIsInFuIiwibWF0Y2hfbGVuZ3RoIiwibWF4X2xhenlfbWF0Y2giLCJWbiIsInByZXZfbWF0Y2giLCJtYXRjaF9hdmFpbGFibGUiLCJHbiIsImdvb2RfbGVuZ3RoIiwibWF4X2xhenkiLCJuaWNlX2xlbmd0aCIsIm1heF9jaGFpbiIsImZ1bmMiLCIkbiIsInN0YXR1cyIsInBlbmRpbmdfYnVmX3NpemUiLCJnemhlYWQiLCJnemluZGV4IiwibWV0aG9kIiwibGFzdF9mbHVzaCIsIndfYml0cyIsImhhc2hfYml0cyIsIkpuIiwiUW4iLCJ0ZXh0IiwiaGNyYyIsImV4dHJhIiwiY29tbWVudCIsInRpbWUiLCJvcyIsImVpIiwidGkiLCJyaSIsImRtYXgiLCJ3c2l6ZSIsIndoYXZlIiwid25leHQiLCJob2xkIiwiYml0cyIsImxlbmNvZGUiLCJkaXN0Y29kZSIsImxlbmJpdHMiLCJkaXN0Yml0cyIsInNhbmUiLCJuaSIsImlpIiwib2kiLCJhaSIsInNpIiwiaGkiLCJsaSIsImZpIiwiY2kiLCJ1aSIsImRpIiwicGkiLCJnaSIsInZpIiwid2kiLCJiaSIsInlpIiwibWkiLCJraSIsIkVpIiwiU2kiLCJ4aSIsIlJpIiwiQWkiLCJCaSIsInppIiwiTGkiLCJUaSIsIk1pIiwiQ2kiLCJEaSIsIklpIiwiUGkiLCJPaSIsIlVpIiwiSGkiLCJGaSIsIk5pIiwiWmkiLCJqaSIsIldpIiwiWWkiLCJLaSIsIlhpIiwicWkiLCJWaSIsIkdpIiwiJGkiLCJKaSIsIlFpIiwiZW8iLCJ0byIsInJvIiwibm8iLCJpbyIsIm9vIiwiYW8iLCJzbyIsImhvIiwibG8iLCJsYXN0IiwiaGF2ZWRpY3QiLCJmbGFncyIsImNoZWNrIiwidG90YWwiLCJ3Yml0cyIsIm9mZnNldCIsIm5jb2RlIiwibmxlbiIsIm5kaXN0IiwiaGF2ZSIsImxlbnMiLCJ3b3JrIiwibGVuZHluIiwiZGlzdGR5biIsImJhY2siLCJ3YXMiLCJmbyIsImNvIiwidW8iLCJwbyIsIl9vIiwiZ28iLCJ2byIsImRvbmUiLCJ4ZmxhZ3MiLCJleHRyYV9sZW4iLCJ3byIsImJvIiwieW8iLCJtbyIsImluaXRfZG9uZSIsIndyaXRlX2luX3Byb2dyZXNzIiwicGVuZGluZ19jbG9zZSIsIndpbmRvd0JpdHMiLCJtZW1MZXZlbCIsImRpY3Rpb25hcnkiLCJrbyIsIl9lcnJvciIsInBhcmFtcyIsIl93cml0ZUNoZWNrIiwiY2xvc2UiLCJ3cml0ZVN5bmMiLCJfc2V0Iiwib25lcnJvciIsIkVvIiwiZnJlZXplIiwiTk9ORSIsIkRFRkxBVEUiLCJJTkZMQVRFIiwiR1pJUCIsIkdVTlpJUCIsIkRFRkxBVEVSQVciLCJJTkZMQVRFUkFXIiwiVU5aSVAiLCJaX05PX0ZMVVNIIiwiWl9QQVJUSUFMX0ZMVVNIIiwiWl9TWU5DX0ZMVVNIIiwiWl9GVUxMX0ZMVVNIIiwiWl9GSU5JU0giLCJaX0JMT0NLIiwiWl9UUkVFUyIsIlpfT0siLCJaX1NUUkVBTV9FTkQiLCJaX05FRURfRElDVCIsIlpfRVJSTk8iLCJaX1NUUkVBTV9FUlJPUiIsIlpfREFUQV9FUlJPUiIsIlpfQlVGX0VSUk9SIiwiWl9OT19DT01QUkVTU0lPTiIsIlpfQkVTVF9TUEVFRCIsIlpfQkVTVF9DT01QUkVTU0lPTiIsIlpfREVGQVVMVF9DT01QUkVTU0lPTiIsIlpfRklMVEVSRUQiLCJaX0hVRkZNQU5fT05MWSIsIlpfUkxFIiwiWl9GSVhFRCIsIlpfREVGQVVMVF9TVFJBVEVHWSIsIlpfQklOQVJZIiwiWl9URVhUIiwiWl9VTktOT1dOIiwiWl9ERUZMQVRFRCIsIlpsaWIiLCJTbyIsIlpfTUlOX1dJTkRPV0JJVFMiLCJaX01BWF9XSU5ET1dCSVRTIiwiWl9ERUZBVUxUX1dJTkRPV0JJVFMiLCJaX01JTl9DSFVOSyIsIlpfTUFYX0NIVU5LIiwiWl9ERUZBVUxUX0NIVU5LIiwiWl9NSU5fTUVNTEVWRUwiLCJaX01BWF9NRU1MRVZFTCIsIlpfREVGQVVMVF9NRU1MRVZFTCIsIlpfTUlOX0xFVkVMIiwiWl9NQVhfTEVWRUwiLCJaX0RFRkFVTFRfTEVWRUwiLCJ4byIsIlpfTUVNX0VSUk9SIiwiWl9WRVJTSU9OX0VSUk9SIiwiUm8iLCJBbyIsIl9wcm9jZXNzQ2h1bmsiLCJCbyIsIklvIiwiem8iLCJMbyIsIlRvIiwiTW8iLCJDbyIsIkRvIiwiX29wdHMiLCJfY2h1bmtTaXplIiwiY2h1bmtTaXplIiwiX2ZsdXNoRmxhZyIsIl9iaW5kaW5nIiwiX2hhZEVycm9yIiwiZXJybm8iLCJjb2RlIiwiY29kZXMiLCJfYnVmZmVyIiwiX29mZnNldCIsIl9jbG9zZWQiLCJfbGV2ZWwiLCJfc3RyYXRlZ3kiLCJQbyIsImNyZWF0ZURlZmxhdGUiLCJjcmVhdGVJbmZsYXRlIiwiY3JlYXRlRGVmbGF0ZVJhdyIsImNyZWF0ZUluZmxhdGVSYXciLCJjcmVhdGVHemlwIiwiY3JlYXRlR3VuemlwIiwiY3JlYXRlVW56aXAiLCJkZWZsYXRlIiwiZGVmbGF0ZVN5bmMiLCJnemlwIiwiZ3ppcFN5bmMiLCJkZWZsYXRlUmF3IiwiZGVmbGF0ZVJhd1N5bmMiLCJ1bnppcCIsInVuemlwU3luYyIsImluZmxhdGUiLCJpbmZsYXRlU3luYyIsImd1bnppcCIsImd1bnppcFN5bmMiLCJpbmZsYXRlUmF3IiwiaW5mbGF0ZVJhd1N5bmMiLCJEZWZsYXRlIiwiSW5mbGF0ZSIsIkd6aXAiLCJHdW56aXAiLCJEZWZsYXRlUmF3IiwiSW5mbGF0ZVJhdyIsIlVuemlwIiwiU0RLQVBQSUQiLCJFWFBJUkVUSU1FIiwiUFJJVkFURUtFWSIsIl9pc051bWJlciIsIl9pc1N0cmluZyIsImdlblNpZ1dpdGhVc2VyYnVmIiwibmV3QnVmZmVyIiwicm91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Q0FBQyxLQUFLTCxDQUFDLElBQUlULENBQUMsR0FBR0wsQ0FBQyxDQUFDTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUVXLENBQUMsSUFBSWIsQ0FBQyxDQUFDQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUVZLENBQUMsSUFBSWIsQ0FBQyxDQUFDQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFWSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBS0gsQ0FBQyxLQUFLVCxDQUFDLEdBQUcsQ0FBQ0wsQ0FBQyxDQUFDTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJTixDQUFDLENBQUNNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRVcsQ0FBQyxJQUFJYixDQUFDLENBQUNDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRVksQ0FBQyxJQUFJYixDQUFDLENBQUNDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUVZLENBQUMsSUFBSWIsQ0FBQyxDQUFDQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFWSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUVDLENBQUMsQ0FBQ0gsSUFBSSxDQUFDRSxDQUFDLENBQUMsRUFBRUMsQ0FBQyxDQUFDRixJQUFJLENBQUMsRUFBRSxDQUFDO0FBQzNOO0FBRUEsU0FBU0MsQ0FBQyxDQUFDakIsQ0FBQyxFQUFFSSxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFRyxDQUFDLEVBQUU7RUFDeEIsSUFBSUMsQ0FBQztJQUNERyxDQUFDO0lBQ0RDLENBQUMsR0FBRyxDQUFDLEdBQUdMLENBQUMsR0FBR0gsQ0FBQyxHQUFHLENBQUM7SUFDakJXLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSUgsQ0FBQyxJQUFJLENBQUM7SUFDaEJJLENBQUMsR0FBR0QsQ0FBQyxJQUFJLENBQUM7SUFDVkUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNOQyxDQUFDLEdBQUdmLENBQUMsR0FBR0ksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFD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Q0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUdDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHUixDQUFDLElBQUksR0FBRyxLQUFLUyxDQUFDLEdBQUdGLENBQUMsQ0FBQztRQUM5RTtNQUVGLEtBQUssQ0FBQztRQUNKUCxDQUFDLEdBQUdWLENBQUMsQ0FBQ1MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFSSxDQUFDLEdBQUdiLENBQUMsQ0FBQ1MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxHQUFHLEdBQUdDLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxHQUFHLEdBQUdHLENBQUMsQ0FBQyxJQUFJLENBQUNJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBR0MsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBR1IsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUdHLENBQUMsSUFBSSxJQUFJLEtBQUtJLENBQUMsR0FBRyxLQUFLLElBQUlBLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBS0UsQ0FBQyxHQUFHRixDQUFDLENBQUM7UUFDL0o7TUFFRixLQUFLLENBQUM7UUFDSlAsQ0FBQyxHQUFHVixDQUFDLENBQUNTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRUksQ0FBQyxHQUFHYixDQUFDLENBQUNTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRUssQ0FBQyxHQUFHZCxDQUFDLENBQUNTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssR0FBRyxHQUFHQyxDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUssR0FBRyxHQUFHRyxDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUssR0FBRyxHQUFHQyxDQUFDLENBQUMsSUFBSSxDQUFDRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUdDLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUdSLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUdHLENBQUMsS0FBSyxD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LENBQUM7RUFFVCxLQUFLLElBQUksQ0FBQ1YsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHSixDQUFDLEVBQUUsRUFBRVUsQ0FBQyxHQUFHTCxDQUFDLEtBQUtRLENBQUMsSUFBSSxHQUFHLENBQUM7SUFBR2IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUtjLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDVixDQUFDLEdBQUdNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBS0ksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQ1YsQ0FBQyxHQUFHTSxDQUFDLENBQUMsR0FBRyxDQUFDVixDQUFDLEdBQUdhLENBQUMsSUFBSSxDQUFDLElBQUlDLENBQUMsR0FBRyxHQUFHO0VBQUM7RUFFM0ksT0FBT1YsQ0FBQyxHQUFHQyxDQUFDO0FBQ2QsQ0FBQyxFQUFFcUIsQ0FBQyxDQUFDYSxTQUFTLENBQUMyRyxVQUFVLEdBQUcsVUFBVWxKLENBQUMsRUFBRUksQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNoRCxJQUFJTixDQUFDLEdBQUcsQ0FBQ0EsQ0FBQyxFQUFFSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUNFLENBQUMsRUFBRTtJQUN0QixJQUFJRyxDQUFDLEdBQUdlLElBQUksQ0FBQ0MsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUdwQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCNkcsQ0FBQyxDQUFDLElBQUksRUFBRWxILENBQUMsRUFBRUksQ0FBQyxFQUFFQyxDQUFDLEVBQUVJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQ0EsQ0FBQyxDQUFDO0VBQzdCO0VBRUEsSUFBSUMsQ0FBQyxHQUFHTCxDQUFDLEdBQUcsQ0FBQztJQUNUUSxDQUFDLEdBQUcsQ0FBQztJQUNMQyxDQUFDLEdBQUcsQ0FBQztFQUVULEtBQUssSUFBSSxDQUFDVixDQUFDLEdBQUdNLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBR1YsQ0FBQyxFQUFFLEVBQUVVLENBQUMsSUFBSSxDQUFDLEtBQUtHLENBQUMsSUFBSSxHQUFHLENBQUM7SUFBR2IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUtjLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDVixDQUFDLEdBQUdNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBS0ksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQ1YsQ0FBQyxHQUFHTSxDQUFDLENBQUMsR0FBRyxDQUFDVixDQUFDLEdBQUdhLENBQUMsSUFBSSxDQUFDLElBQUlDLENBQUMsR0FBRyxHQUFHO0VBQUM7RUFFaEosT0FBT1YsQ0FBQyxHQUFHQyxDQUFDO0FBQ2QsQ0FBQyxFQUFFcUIsQ0FBQyxDQUFDYSxTQUFTLENBQUM0RyxTQUFTLEdBQUcsVUFBVW5KLENBQUMsRUFBRUksQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDNUMsT0FBT0wsQ0FBQyxHQUFHLENBQUNBLENBQUMsRUFBRUksQ0FBQyxJQUFJLENBQUMsRUFBRUMsQ0FBQyxJQUFJNkcsQ0FBQyxDQUFDLElBQUksRUFBRWxILENBQUMsRUFBRUksQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRXNCLENBQUMsQ0FBQ1UsbUJBQW1CLEtBQUtwQyxDQUFDLEdBQUd3QixJQUFJLENBQUNNLEtBQUssQ0FBQzlCLENBQUMsQ0FBQyxDQUFDLEVBQUVBLENBQUMsR0FBRyxDQUFDLEtBQUtBLENBQUMsR0FBRyxHQUFHLEdBQUdBLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUNJLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBR0osQ0FBQyxFQUFFSSxDQUFDLEdBQUcsQ0FBQztBQUM3SixDQUFDLEVBQUVzQixDQUFDLENBQUNhLFNBQVMsQ0FBQzZHLFlBQVksR0FBRyxVQUFVcEosQ0FBQyxFQUFFSSxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUMvQyxPQUFPTCxDQUFDLEdBQUcsQ0FBQ0EsQ0FBQyxFQUFFSSxDQUFDLElBQUksQ0FBQyxFQUFFQyxDQUFDLElBQUk2RyxDQUFDLENBQUMsSUFBSSxFQUFFbEgsQ0FBQyxFQUFFSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFc0IsQ0FBQyxDQUFDVSxtQkFBbUIsSUFBSSxJQUFJLENBQUNoQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUdKLENBQUMsRUFBRSxJQUFJLENBQUNJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBR0osQ0FBQyxLQUFLLENBQUMsSUFBSW1ILENBQUMsQ0FBQyxJQUFJLEVBQUVuSCxDQUFDLEVBQUVJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFQSxDQUFDLEdBQUcsQ0FBQztBQUM1SixDQUFDLEVBQUVzQixDQUFDLENBQUNhLFNBQVMsQ0FBQzhHLFlBQVksR0FBRyxVQUFVckosQ0FBQyxFQUFFSSxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUMvQyxPQUFPTCxDQUFDLEdBQUcsQ0FBQ0EsQ0FBQyxFQUFFSSxDQUFDLElBQUksQ0FBQyxFQUFFQyxDQUFDLElBQUk2RyxDQUFDLENBQUMsSUFBSSxFQUFFbEgsQ0FBQyxFQUFFSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFc0IsQ0FBQyxDQUFDVSxtQkFBbUIsSUFBSSxJQUFJLENBQUNoQyxDQUFDLENBQUMsR0FBR0osQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUNJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUdKLENBQUMsSUFBSW1ILENBQUMsQ0FBQyxJQUFJLEVBQUVuSCxDQUFDLEVBQUVJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFQSxDQUFDLEdBQUcsQ0FBQztBQUM1SixDQUFDLEVBQUVzQixDQUFDLENBQUNhLFNBQVMsQ0FBQytHLFlBQVksR0FBRyxVQUFVdEosQ0FBQyxFQUFFSSxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUMvQyxPQUFPTCxDQUFDLEdBQUcsQ0FBQ0EsQ0FBQyxFQUFFSSxDQUFDLElBQUksQ0FBQyxFQUFFQyxDQUFD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QUMsRUFBRUosQ0FBQyxFQUFFRSxDQUFDLEVBQUUxQyxDQUFDLEVBQUUsRUFBRSxFQUFFM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVxRSxDQUFDLEdBQUdqRSxDQUFDLENBQUNpRSxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFSixDQUFDLEVBQUVwQyxDQUFDLEVBQUUsRUFBRSxFQUFFL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVtRSxDQUFDLEdBQUcvRCxDQUFDLENBQUMrRCxDQUFDLEVBQUVFLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVsQyxDQUFDLEVBQUUsQ0FBQyxFQUFFckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUV1RSxDQUFDLEdBQUduRSxDQUFDLENBQUNtRSxDQUFDLEVBQUVKLENBQUMsRUFBRUUsQ0FBQyxFQUFFQyxDQUFDLEVBQUVsQyxDQUFDLEVBQUUsRUFBRSxFQUFFcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVzRSxDQUFDLEdBQUdsRSxDQUFDLENBQUNrRSxDQUFDLEVBQUVDLENBQUMsRUFBRUosQ0FBQyxFQUFFRSxDQUFDLEVBQUVwQyxDQUFDLEVBQUUsRUFBRSxFQUFFakMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVxRSxDQUFDLEdBQUdqRSxDQUFDLENBQUNpRSxDQUFDLEVBQUVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFSixDQUFDLEVBQUVuQixDQUFDLEVBQUUsRUFBRSxFQUFFaEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVtRSxDQUFDLEdBQUcvRCxDQUFDLENBQUMrRCxDQUFDLEVBQUVFLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUVoQixDQUFDLEVBQUUsQ0FBQyxFQUFFdkQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUV1RSxDQUFDLEdBQUduRSxDQUFDLENBQUNtRSxDQUFDLEVBQUVKLENBQUMsRUFBRUUsQ0FBQyxFQUFFQyxDQUFDLEVBQUVkLENBQUMsRUFB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Q0FBQyxHQUFHL0QsQ0FBQyxDQUFDK0QsQ0FBQyxFQUFFQyxDQUFDLEVBQUVKLENBQUMsRUFBRUUsQ0FBQyxFQUFFMUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTNCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFcUUsQ0FBQyxHQUFHOUQsQ0FBQyxDQUFDOEQsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRUosQ0FBQyxFQUFFWCxDQUFDLEVBQUUsRUFBRSxFQUFFeEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVtRSxDQUFDLEdBQUc1RCxDQUFDLENBQUM0RCxDQUFDLEVBQUVFLENBQUMsRUFBRUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUUxRCxDQUFDLEVBQUUsQ0FBQyxFQUFFYixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRXVFLENBQUMsR0FBR2hFLENBQUMsQ0FBQ2dFLENBQUMsRUFBRUosQ0FBQyxFQUFFRSxDQUFDLEVBQUVDLENBQUMsRUFBRXRCLENBQUMsRUFBRSxFQUFFLEVBQUVoRCxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRXNFLENBQUMsR0FBRy9ELENBQUMsQ0FBQytELENBQUMsRUFBRUMsQ0FBQyxFQUFFSixDQUFDLEVBQUVFLENBQUMsRUFBRTdELENBQUMsRUFBRSxFQUFFLEVBQUVSLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFcUUsQ0FBQyxHQUFHOUQsQ0FBQyxDQUFDOEQsQ0FBQyxFQUFFQyxDQUFDLEVBQUVDLENBQUMsRUFBRUosQ0FBQyxFQUFFL0IsQ0FBQyxFQUFFLEVBQUUsRUFBRXBDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFSixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR3VFLENBQUMsR0FBRyxDQUFDLEVBQUV2RSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR3lFLENBQUMsR0FBRyxDQUFDLEVBQUV6RSxDQUFDLENBQUMsQ0FBQyxD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QUFHTCxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVRLENBQUMsR0FBR1IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFUyxDQUFDLEdBQUdULENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRWEsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHLEVBQUUsRUFBRUEsQ0FBQyxFQUFFLEVBQUU7VUFDbkcsSUFBSUEsQ0FBQyxHQUFHLEVBQUUsRUFBRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUdsQixDQUFDLENBQUNJLENBQUMsR0FBR2MsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNuQyxJQUFJQyxDQUFDLEdBQUdGLENBQUMsQ0FBQ0MsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHRCxDQUFDLENBQUNDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBR0QsQ0FBQyxDQUFDQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUdELENBQUMsQ0FBQ0MsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNuREQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0MsQ0FBQyxJQUFJLENBQUMsR0FBR0EsQ0FBQyxLQUFLLEVBQUU7VUFDMUI7VUFDQSxJQUFJQyxDQUFDLEdBQUcsQ0FBQ2QsQ0FBQyxJQUFJLENBQUMsR0FBR0EsQ0FBQyxLQUFLLEVBQUUsSUFBSVEsQ0FBQyxHQUFHRyxDQUFDLENBQUNDLENBQUMsQ0FBQztVQUN0Q0UsQ0FBQyxJQUFJRixDQUFDLEdBQUcsRUFBRSxHQUFHLFVBQVUsSUFBSVQsQ0FBQyxHQUFHQyxDQUFDLEdBQUcsQ0FBQ0QsQ0FBQyxHQUFHSSxDQUFDLENBQUMsR0FBR0ssQ0FBQyxHQUFHLEVBQUUsR0FBRyxVQUFVLElBQUlULENBQUMsR0FBR0MsQ0FBQyxHQUFHRyxDQUFDLENBQUMsR0FBR0ssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDVCxDQUFDLEdBQUdDLENBQUMsR0FBR0QsQ0FBQyxHQUFHSSxDQUFDLEdBQUdILENBQUMsR0FBR0csQ0FBQyxJQUFJLFVBQVUsR0FBRyxDQUFDSixDQUFD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QUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENB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QUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVSdEosQ0FBQyxHQUFHUixDQUFDLENBQUM4SixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNVJySixDQUFDLEdBQUdULENBQUMsQ0FBQzhKLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0U3BKLENBQUMsR0FBR1YsQ0FBQyxDQUFDOEosTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFF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QUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUM1TEcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQy9EQyxDQUFDLEdBQUcsQ0FBQztVQUNQLENBQUMsRUFBRSxPQUFPO1VBQ1YsU0FBUyxFQUFFLEtBQUs7VUFDaEIsU0FBUyxFQUFFLE9BQU87VUFDbEIsU0FBUyxFQUFFLENBQUM7VUFDWixVQUFVLEVBQUUsR0FBRztVQUNmLFVBQVUsRUFBRSxPQUFPO1VBQ25CLFVBQVUsRUFBRSxPQUFPO1VBQ25CLFVBQVUsRUFBRSxPQUFPO1VBQ25CLFVBQVUsRUFBRSxHQUFHO1VBQ2YsVUFBVSxFQUFFLE9BQU87VUFDbkIsVUFBVSxFQUFFLEtBQUs7VUFDakIsVUFBVSxFQUFFLE9BQU87VUFDbkIsVUFBVSxFQUFFLEtBQUs7VUFDakIsVUFBVSxFQUFFLE9BQU87VUFD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QUFTO1VBQ2YsS0FBSyxFQUFFLEdBQUc7VUFDVixLQUFLLEVBQUUsUUFBUTtVQUNmLEtBQUssRUFBRSxNQUFNO1VBQ2IsS0FBSyxFQUFFLFNBQVM7VUFDaEIsS0FBSyxFQUFFLFNBQVM7VUFDaEIsS0FBSyxFQUFFLFNBQVM7VUFDaEIsS0FBSyxFQUFFLFNBQVM7VUFDaEIsS0FBSyxFQUFFLENBQUM7VUFDUixLQUFLLEVBQUUsU0FBUztVQUNoQixLQUFLLEVBQUUsUUFBUTtVQUNmLEtBQUssRUFBRSxTQUFTO1VBQ2hCLEtBQUssRUFBRSxTQUFTO1VBQ2hCLEtBQUssRUFBRSxRQUFRO1VBQ2YsS0FBSyxFQUFFLE1BQU07VUFDYixLQUFLLEVBQUUsTUFBTTtVQUNiLEtBQUssRUFBRSxHQUFHO1VBQ1YsS0FBSyxFQUFFLFNBQVM7VUFDaEIsS0FBSyxFQUFFLFNBQVM7VUFDaEIsS0FBSyxFQUFFLFFBQVE7VUFDZixLQUFLLEVBQUUsU0FBUztVQUNoQixLQUFLLEVBQUUsU0FBUztVQUNoQixLQUFLLEVBQUUsUUFBUTtVQUNmLEtBQUssRUFBRSxTQUFTO1VBQ2hCLE1BQU0sRUFBRSxTQUFTO1VBQ2pCLE1BQU0sRUFBRSxRQUFRO1VBQ2hCLE1BQU0sRUFBRSxTQUFTO1VBQ2pCLE1BQU0sRUFBRSxNQUFNO1VBQ2QsTUFBTSxFQUFFLFNBQVM7VUFDakIsTUFBTSxFQUFFLENBQUM7VUFDVCxNQUFNLEVBQUUsUUFBUTtVQUNoQixLQUFLLEVBQUUsU0FBUztVQUNoQixLQUFLLEVBQUUsUUFBUTtVQUNmLEtBQUssRUFBRSxRQUFRO1VBQ2YsS0FBSyxFQUFFLFNBQVM7VUFDaEIsS0FBSyxFQUFFLFNBQVM7VUFDaEIsS0FBSyxFQUFFLFFBQVE7VUFDZixLQUFLLEVBQUUsR0FBRztVQUNWLEtBQUssRUFBRSxTQUFTO1VBQ2hCLE1BQU0sRUFBRSxNQUFNO1VBQ2QsTUFBTSxFQUFFLFNBQVM7VUFDakIsTUFBTSxFQUFFLENBQUM7VUFDVCxNQUFNLEVBQUUsU0FBUztVQUNqQixNQUFNLEVBQUUsUUFBUTtVQUNoQixNQUFNLEVB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QUNaLENBQUMsRUFBRSxFQUFFO1VBQ0wsQ0FBQyxFQUFFLE1BQU07VUFDVCxDQUFDLEVBQUUsU0FBUztVQUNaLENBQUMsRUFBRSxTQUFTO1VBQ1osQ0FBQyxFQUFFLElBQUk7VUFDUCxDQUFDLEVBQUUsU0FBUztVQUNaLENBQUMsRUFBRSxTQUFTO1VBQ1osRUFBRSxFQUFFLE1BQU07VUFDVixFQUFFLEVBQUUsU0FBUztVQUNiLEVBQUUsRUFBRSxJQUFJO1VBQ1IsRUFBRSxFQUFFLENBQUM7VUFDTCxFQUFFLEVBQUUsU0FBUztVQUNiLEVBQUUsRUFBRSxNQUFNO1VBQ1YsVUFBVSxFQUFFLElBQUk7VUFDaEIsVUFBVSxFQUFFLFNBQVM7VUFDckIsVUFBVSxFQUFFLFNBQVM7VUFDckIsVUFBVSxFQUFFLFNBQVM7VUFDckIsVUFBVSxFQUFFLFNBQVM7VUFDckIsVUFBVSxFQUFFLE1BQU07VUFDbEIsVUFBVSxFQUFFLE1BQU07VUFDbEIsVUFBVSxFQUFFLEVBQUU7VUFDZCxVQUFVLEVBQUUsU0FBUztVQUNyQixVQUFVLEVBQUUsSUFBSTtVQUNoQixVQUFVLEVBQUUsTUFBTTtVQUNsQixVQUFVLEVBQUUsU0FBUztVQUNyQixVQUFVLEVBQUUsQ0FBQztVQUNiLFVBQVUsRUFBRSxTQUFTO1VBQ3JCLFVBQVUsRUFBRSxTQUFTO1VBQ3JCLFVBQVUsRUFBRSxNQUFNO1VBQ2xCLEVBQUUsRUFBRSxNQUFNO1VBQ1YsRUFBRSxFQUFFLFNBQVM7VUFDYixFQUFFLEVBQUUsRUFBRTtVQUNOLEVBQUUsRUFBRSxJQUFJO1VBQ1IsRUFBRSxFQUFFLFNBQVM7VUFDYixFQUFFLEVBQUUsU0FBUztVQUNiLEVBQUUsRUFBRSxTQUFTO1VBQ2IsRUFBRSxFQUFFLE1BQU07VUFDVixFQUFFLEVBQUUsQ0FBQztVQUNMLEVBQUUsRUFBRSxNQUFNO1VBQ1YsRUFBRSxFQUFFLFNBQVM7VUFDYixFQUFFLEVBQUUsU0FBUztVQUNiLEVBQUUsRUFBRSxTQUFTO1VBQ2IsRUFBRSxFQUFFLE1BQU07VUFDVixFQUFFLEVBQUUsSUFBSTtVQUNSLEVB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SyxFQUFFLEVBQUVBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7Y0FDOUlTLENBQUMsR0FBRyxJQUFJLENBQUN1VyxFQUFFLEdBQUcsQ0FBQ2hYLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsVUFBVSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsVUFBVSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsVUFBVSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVBLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsVUFBVSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFH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LENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRU4sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUVOLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBR00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFTixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUdNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRU4sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUVOLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBR00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFTixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUdNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUN1VyxFQUFFLEdBQUc3VyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUVMLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsRUFBRSxFQUFFO1VBQ3JqQixJQUFJQyxDQUFDLEdBQUdOLENBQUMsQ0FBQ0ssQ0FBQyxDQUFDLEdBQUdELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDO1lBQ2ZJLENBQUMsR0FBRyxLQUFLLEdBQUdILENBQUM7WUFDYlEsQ0FBQyxHQUFHUixDQUFDLEtBQUssRUFBRTtZQUNaVyxDQUFDLEdBQUcsQ0FBQyxDQUFDUixDQUFDLEdBQUdBLENBQUMsS0FBSyxFQUFFLElBQUlBLENBQUMsR0FBR0ssQ0FBQyxLQUFLLEVBQUUsSUFBSUEsQ0FBQyxHQUFHQSxDQUFDO1lBQzNDSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsR0FBR1osQ0FBQyxJQUFJQSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHQSxDQUFDLElBQUlBLENBQUMsR0FBRyxDQUFDLENBQUM7VUFDMURPLENBQUMsQ0FBQ1IsQ0FBQyxDQUFDLEdBQUdZLENBQUMsR0FBR0MsQ0FBQztRQUNkO1FBRUFsQixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFYixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFYixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFYixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFYixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFYixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSUEsQ0FBQyxD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QyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxFQUFFO1VBQUVLLENBQUMsQ0FBQ0wsQ0FBQyxDQUFDLEdBQUdELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDO1FBQUM7UUFFbEUsS0FBS0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQzZXLEVBQUUsR0FBRyxDQUFDLEVBQUU3VyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUdNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRU4sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUVOLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBR00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFTixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUdNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRU4sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUVOLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBR00sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFTixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLElBQUlBLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUdNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUN1VyxFQUFFLEdBQUc3VyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUVMLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsRUFBRSxFQUFFO1VBQ3JqQixJQUFJQyxDQUFDLEdBQUdOLENBQUMsQ0FBQ0ssQ0FBQyxDQUFDLEdBQUdELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDO1lBQ2ZJLENBQUMsR0FBRyxLQUFLLEdBQUdILENBQUM7WUFDYlEsQ0FBQyxHQUFHUixDQUFDLEtBQUssRUFBRTtZQUNaVyxDQUFDLEdBQUcsQ0FBQyxDQUFDUixDQUFDLEdBQUdBLENBQUMsS0FBSyxFQUFFLElBQUlBLENBQUMsR0FBR0ssQ0FBQyxLQUFLLEVBQUUsSUFBSUEsQ0FBQyxHQUFHQSxDQUFDO1lBQzNDSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsR0FBR1osQ0FBQyxJQUFJQSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHQSxDQUFDLElBQUlBLENBQUMsR0FBRyxDQUFDLENBQUM7VUFDMURPLENBQUMsQ0FBQ1IsQ0FBQyxDQUFDLEdBQUdZLENBQUMsR0FBR0MsQ0FBQztRQUNkO1FBRUFsQixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFYixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFYixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFYixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFYixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFYixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFYixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFYixDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBR0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztNQUM1ZjtNQUVBYixDQUFDLENBQUNrWCxZQUFZLEdBQUc5VyxDQUFDLENBQUM2TSxhQUFhLENBQUNuTSxDQUFDLENBQUM7SUFDckMsQ0FBQyxFQUFFLEVBQUVU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QUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztFQUM1RkMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7RUFDdkdDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztFQUM5REMsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMs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QUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7RUFDaklDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7RUFDekpDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFB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RUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEVBQUU7RUFDUEMsRUFBRSxHQUFHLEdBQUc7RUFDUkMsRUFBRSxHQUFHLEdBQUc7QUFFWixTQUFTQyxFQUFFLENBQUMvNEIsQ0FBQyxFQUFFO0VBQ2IsT0FBTyxDQUFDQSxDQUFDLEtBQUssRUFBRSxHQUFHLEdBQUcsS0FBS0EsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBR0EsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHQSxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3RGO0FBRUEsU0FBU2c1QixFQUFFLEdBQUc7RUFDWixJQUFJLENBQUNwbUIsSUFBSSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUNxbUIsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQzNULElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDNFQsUUFBUSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQ0MsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUN6RSxJQUFJLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQzBFLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQzliLElBQUksR0FBRyxJQUFJLEVBQUUsSUFBSSxDQUFDK2IsS0FBSyxHQUFHLENB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QUMsUUFBUSxDQUFDO1FBQ3hEaEIsQ0FBQyxHQUFHLElBQUksQ0FBQzRLLE1BQU0sQ0FBQy9LLENBQUMsQ0FBQztNQUN0QixPQUFPLGFBQVksTUFBTSxHQUFHRyxDQUFDLHlEQUFHQSxDQUFDO0lBQ25DO0VBQUM7SUFBQTtJQUFBLE9BRUQsa0JBQVNqQixDQUFDLEVBQUU7TUFDVixJQUFJSSxDQUFDLEdBQUcsSUFBSSxDQUFDaWpDLE1BQU0sQ0FBQ3JqQyxDQUFDLENBQUM7UUFDbEJLLENBQUMsR0FBR3dnQyxFQUFFLENBQUNpQixXQUFXLENBQUMxaEMsQ0FBQyxDQUFDO01BQ3pCLGFBQVksZUFBZSxHQUFHQyxDQUFDO0lBQ2pDO0VBQUM7RUFBQTtBQUFBO0FBQUEsMkIiLCJmaWxlIjoiNzMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKmVzbGludC1kaXNhYmxlKi9cbnZhciBlID0gXCJ1bmRlZmluZWRcIiAhPSB0eXBlb2YgZ2xvYmFsID8gZ2xvYmFsIDogXCJ1bmRlZmluZWRcIiAhPSB0eXBlb2Ygc2VsZiA/IHNlbGYgOiBcInVuZGVmaW5lZFwiICE9IHR5cGVvZiB3aW5kb3cgPyB3aW5kb3cgOiB7fSxcbiAgICB0ID0gW10sXG4gICAgciA9IFtdLFxuICAgIG4gPSBcInVuZGVmaW5lZFwiICE9IHR5cGVvZiBVaW50OEFycmF5ID8gVWludDhBcnJheSA6IEFycmF5LFxuICAgIGkgPSAhMTtcblxuZnVuY3Rpb24gbygpIHtcbiAgaSA9ICEwO1xuXG4gIGZvciAodmFyIGUgPSBcIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky9cIiwgbiA9IDAsIG8gPSBlLmxlbmd0aDsgbiA8IG87ICsrbikgdFtuXSA9IGVbbl0sIHJbZS5jaGFyQ29kZUF0KG4pXSA9IG47XG5cbiAgcltcIi1cIi5jaGFyQ29kZUF0KDApXSA9IDYyLCByW1wiX1wiLmNoYXJDb2RlQXQoMCldID0gNjM7XG59XG5cbmZ1bmN0aW9uIGEoZSwgciwgbikge1xuICBmb3IgKHZhciBpLCBvLCBhID0gW10sIHMgPSByOyBzIDwgbjsgcyArPSAzKSBpID0gKGVbc10gPDwgMTYpICsgKGVbcyArIDFdIDw8IDgpICsgZVtzICsgMl0sIGEucHVzaCh0WyhvID0gaSkgPj4gMTggJiA2M10gKyB0W28gPj4gMTIgJiA2M10gKyB0W28gPj4gNiAmIDYzXSArIHRbNjMgJiBvXSk7XG5cbiAgcmV0dXJuIGEuam9pbihcIlwiKTtcbn1cblxuZnVuY3Rpb24gcyhlKSB7XG4gIHZhciByO1xuICBpIHx8IG8oKTtcblxuICBmb3IgKHZhciBuID0gZS5sZW5ndGgsIHMgPSBuICUgMywgaCA9IFwiXCIsIGwgPSBbXSwgZiA9IDAsIGMgPSBuIC0gczsgZiA8IGM7IGYgKz0gMTYzODMpIGwucHVzaChhKGUsIGYsIGYgKyAxNjM4MyA+IGMgPyBjIDogZiArIDE2MzgzKSk7XG5cbiAgcmV0dXJuIDEgPT09IHMgPyAociA9IGVbbiAtIDFdLCBoICs9IHRbciA+PiAyXSwgaCArPSB0W3IgPDwgNCAmIDYzXSwgaCArPSBcIj09XCIpIDogMiA9PT0gcyAmJiAociA9IChlW24gLSAyXSA8PCA4KSArIGVbbiAtIDFdLCBoICs9IHRbciA+PiAxMF0sIGggKz0gdFtyID4+IDQgJiA2M10sIGggKz0gdFtyIDw8IDIgJiA2M10sIGggKz0gXCI9XCIpLCBsLnB1c2goaCksIGwuam9pbihcIlwiKTtcbn1cblxuZnVuY3Rpb24gaChlLCB0LCByLCBuLCBpKSB7XG4gIHZhciBvLFxuICAgICAgYSxcbiAgICAgIHMgPSA4ICogaSAtIG4gLSAxLFxuICAgICAgaCA9ICgxIDw8IHMpIC0gMSxcbiAgICAgIGwgPSBoID4+IDEsXG4gICAgICBmID0gLTcsXG4gICAgICBjID0gciA/IGkgLSAxIDogMCxcbiAgICAgIHUgPSByID8gLTEgOiAxLFxuICAgICAgZCA9IGVbdCArIGNdO1xuXG4gIGZvciAoYyArPSB1LCBvID0gZCAmICgxIDw8IC1mKSAtIDEsIGQgPj49IC1mLCBmICs9IHM7IGYgPiAwOyBvID0gMjU2ICogbyArIGVbdCArIGNdLCBjICs9IHUsIGYgLT0gOCk7XG5cbiAgZm9yIChhID0gbyAmICgxIDw8IC1mKSAtIDEsIG8gPj49IC1mLCBmICs9IG47IGYgPiAwOyBhID0gMjU2ICogYSArIGVbdCArIGNdLCBjICs9IHUsIGYgLT0gOCk7XG5cbiAgaWYgKDAgPT09IG8pIG8gPSAxIC0gbDtlbHNlIHtcbiAgICBpZiAobyA9PT0gaCkgcmV0dXJuIGEgPyBOYU4gOiAxIC8gMCAqIChkID8gLTEgOiAxKTtcbiAgICBhICs9IE1hdGgucG93KDIsIG4pLCBvIC09IGw7XG4gIH1cbiAgcmV0dXJuIChkID8gLTEgOiAxKSAqIGEgKiBNYXRoLnBvdygyLCBvIC0gbik7XG59XG5cbmZ1bmN0aW9uIGwoZSwgdCwgciwgbiwgaSwgbykge1xuICB2YXIgYSxcbiAgICAgIHMsXG4gICAgICBoLFxuICAgICAgbCA9IDggKiBvIC0gaSAtIDEsXG4gICAgICBmID0gKDEgPDwgbCkgLSAxLFxuICAgICAgYyA9IGYgPj4gMSxcbiAgICAgIHUgPSAyMyA9PT0gaSA/IE1hdGgucG93KDIsIC0yNCkgLSBNYXRoLnBvdygyLCAtNzcpIDogMCxcbiAgICAgIGQgPSBuID8gMCA6IG8gLSAxLFxuICAgICAgcCA9IG4gPyAxIDogLTEsXG4gICAgICBfID0gdCA8IDAgfHwgMCA9PT0gdCAmJiAxIC8gdCA8IDAgPyAxIDogMDtcblxuICBmb3IgKHQgPSBNYXRoLmFicyh0KSwgaXNOYU4odCkgfHwgdCA9PT0gMSAvIDAgPyAocyA9IGlzTmFOKHQpID8gMSA6IDAsIGEgPSBmKSA6IChhID0gTWF0aC5mbG9vcihNYXRoLmxvZyh0KSAvIE1hdGguTE4yKSwgdCAqIChoID0gTWF0aC5wb3coMiwgLWEpKSA8IDEgJiYgKGEtLSwgaCAqPSAyKSwgKHQgKz0gYSArIGMgPj0gMSA/IHUgLyBoIDogdSAqIE1hdGgucG93KDIsIDEgLSBjKSkgKiBoID49IDIgJiYgKGErKywgaCAvPSAyKSwgYSArIGMgPj0gZiA/IChzID0gMCwgYSA9IGYpIDogYSArIGMgPj0gMSA/IChzID0gKHQgKiBoIC0gMSkgKiBNYXRoLnBvdygyLCBpKSwgYSArPSBjKSA6IChzID0gdCAqIE1hdGgucG93KDIsIGMgLSAxKSAqIE1hdGgucG93KDIsIGkpLCBhID0gMCkpOyBpID49IDg7IGVbciArIGRdID0gMjU1ICYgcywgZCArPSBwLCBzIC89IDI1NiwgaSAtPSA4KTtcblxuICBmb3IgKGEgPSBhIDw8IGkgfCBzLCBsICs9IGk7IGwgPiAwOyBlW3IgKyBkXSA9IDI1NSAmIGEsIGQgKz0gcCwgYSAvPSAyNTYsIGwgLT0gOCk7XG5cbiAgZVtyICsgZCAtIHBdIHw9IDEyOCAqIF87XG59XG5cbnZhciBmID0ge30udG9TdHJpbmcsXG4gICAgYyA9IEFycmF5LmlzQXJyYXkgfHwgZnVuY3Rpb24gKGUpIHtcbiAgcmV0dXJuIFwiW29iamVjdCBBcnJheV1cIiA9PSBmLmNhbGwoZSk7XG59O1xuXG5mdW5jdGlvbiB1KCkge1xuICByZXR1cm4gcC5UWVBFRF9BUlJBWV9TVVBQT1JUID8gMjE0NzQ4MzY0NyA6IDEwNzM3NDE4MjM7XG59XG5cbmZ1bmN0aW9uIGQoZSwgdCkge1xuICBpZiAodSgpIDwgdCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbnZhbGlkIHR5cGVkIGFycmF5IGxlbmd0aFwiKTtcbiAgcmV0dXJuIHAuVFlQRURfQVJSQVlfU1VQUE9SVCA/IChlID0gbmV3IFVpbnQ4QXJyYXkodCkpLl9fcHJvdG9fXyA9IHAucHJvdG90eXBlIDogKG51bGwgPT09IGUgJiYgKGUgPSBuZXcgcCh0KSksIGUubGVuZ3RoID0gdCksIGU7XG59XG5cbmZ1bmN0aW9uIHAoZSwgdCwgcikge1xuICBpZiAoIShwLlRZUEVEX0FSUkFZX1NVUFBPUlQgfHwgdGhpcyBpbnN0YW5jZW9mIHApKSByZXR1cm4gbmV3IHAoZSwgdCwgcik7XG5cbiAgaWYgKFwibnVtYmVyXCIgPT0gdHlwZW9mIGUpIHtcbiAgICBpZiAoXCJzdHJpbmdcIiA9PSB0eXBlb2YgdCkgdGhyb3cgbmV3IEVycm9yKFwiSWYgZW5jb2RpbmcgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmdcIik7XG4gICAgcmV0dXJuIHYodGhpcywgZSk7XG4gIH1cblxuICByZXR1cm4gXyh0aGlzLCBlLCB0LCByKTtcbn1cblxuZnVuY3Rpb24gXyhlLCB0LCByLCBuKSB7XG4gIGlmIChcIm51bWJlclwiID09IHR5cGVvZiB0KSB0aHJvdyBuZXcgVHlwZUVycm9yKCdcInZhbHVlXCIgYXJndW1lbnQgbXVzdCBub3QgYmUgYSBudW1iZXInKTtcbiAgcmV0dXJuIFwidW5kZWZpbmVkXCIgIT0gdHlwZW9mIEFycmF5QnVmZmVyICYmIHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciA/IGZ1bmN0aW9uIChlLCB0LCByLCBuKSB7XG4gICAgaWYgKHQuYnl0ZUxlbmd0aCwgciA8IDAgfHwgdC5ieXRlTGVuZ3RoIDwgcikgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCInb2Zmc2V0JyBpcyBvdXQgb2YgYm91bmRzXCIpO1xuICAgIGlmICh0LmJ5dGVMZW5ndGggPCByICsgKG4gfHwgMCkpIHRocm93IG5ldyBSYW5nZUVycm9yKFwiJ2xlbmd0aCcgaXMgb3V0IG9mIGJvdW5kc1wiKTtcbiAgICB0ID0gdm9pZCAwID09PSByICYmIHZvaWQgMCA9PT0gbiA/IG5ldyBVaW50OEFycmF5KHQpIDogdm9pZCAwID09PSBuID8gbmV3IFVpbnQ4QXJyYXkodCwgcikgOiBuZXcgVWludDhBcnJheSh0LCByLCBuKTtcbiAgICBwLlRZUEVEX0FSUkFZX1NVUFBPUlQgPyAoZSA9IHQpLl9fcHJvdG9fXyA9IHAucHJvdG90eXBlIDogZSA9IHcoZSwgdCk7XG4gICAgcmV0dXJuIGU7XG4gIH0oZSwgdCwgciwgbikgOiBcInN0cmluZ1wiID09IHR5cGVvZiB0ID8gZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBcInN0cmluZ1wiID09IHR5cGVvZiByICYmIFwiXCIgIT09IHIgfHwgKHIgPSBcInV0ZjhcIik7XG4gICAgaWYgKCFwLmlzRW5jb2RpbmcocikpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wiZW5jb2RpbmdcIiBtdXN0IGJlIGEgdmFsaWQgc3RyaW5nIGVuY29kaW5nJyk7XG4gICAgdmFyIG4gPSAwIHwgbSh0LCByKSxcbiAgICAgICAgaSA9IChlID0gZChlLCBuKSkud3JpdGUodCwgcik7XG4gICAgaSAhPT0gbiAmJiAoZSA9IGUuc2xpY2UoMCwgaSkpO1xuICAgIHJldHVybiBlO1xuICB9KGUsIHQsIHIpIDogZnVuY3Rpb24gKGUsIHQpIHtcbiAgICBpZiAoeSh0KSkge1xuICAgICAgdmFyIHIgPSAwIHwgYih0Lmxlbmd0aCk7XG4gICAgICByZXR1cm4gMCA9PT0gKGUgPSBkKGUsIHIpKS5sZW5ndGggPyBlIDogKHQuY29weShlLCAwLCAwLCByKSwgZSk7XG4gICAgfVxuXG4gICAgaWYgKHQpIHtcbiAgICAgIGlmIChcInVuZGVmaW5lZFwiICE9IHR5cGVvZiBBcnJheUJ1ZmZlciAmJiB0LmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyIHx8IFwibGVuZ3RoXCIgaW4gdCkgcmV0dXJuIFwibnVtYmVyXCIgIT0gdHlwZW9mIHQubGVuZ3RoIHx8IChuID0gdC5sZW5ndGgpICE9IG4gPyBkKGUsIDApIDogdyhlLCB0KTtcbiAgICAgIGlmIChcIkJ1ZmZlclwiID09PSB0LnR5cGUgJiYgYyh0LmRhdGEpKSByZXR1cm4gdyhlLCB0LmRhdGEpO1xuICAgIH1cblxuICAgIHZhciBuO1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJGaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nLCBCdWZmZXIsIEFycmF5QnVmZmVyLCBBcnJheSwgb3IgYXJyYXktbGlrZSBvYmplY3QuXCIpO1xuICB9KGUsIHQpO1xufVxuXG5mdW5jdGlvbiBnKGUpIHtcbiAgaWYgKFwibnVtYmVyXCIgIT0gdHlwZW9mIGUpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wic2l6ZVwiIGFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXInKTtcbiAgaWYgKGUgPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcignXCJzaXplXCIgYXJndW1lbnQgbXVzdCBub3QgYmUgbmVnYXRpdmUnKTtcbn1cblxuZnVuY3Rpb24gdihlLCB0KSB7XG4gIGlmIChnKHQpLCBlID0gZChlLCB0IDwgMCA/IDAgOiAwIHwgYih0KSksICFwLlRZUEVEX0FSUkFZX1NVUFBPUlQpIGZvciAodmFyIHIgPSAwOyByIDwgdDsgKytyKSBlW3JdID0gMDtcbiAgcmV0dXJuIGU7XG59XG5cbmZ1bmN0aW9uIHcoZSwgdCkge1xuICB2YXIgciA9IHQubGVuZ3RoIDwgMCA/IDAgOiAwIHwgYih0Lmxlbmd0aCk7XG4gIGUgPSBkKGUsIHIpO1xuXG4gIGZvciAodmFyIG4gPSAwOyBuIDwgcjsgbiArPSAxKSBlW25dID0gMjU1ICYgdFtuXTtcblxuICByZXR1cm4gZTtcbn1cblxuZnVuY3Rpb24gYihlKSB7XG4gIGlmIChlID49IHUoKSkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJBdHRlbXB0IHRvIGFsbG9jYXRlIEJ1ZmZlciBsYXJnZXIgdGhhbiBtYXhpbXVtIHNpemU6IDB4XCIgKyB1KCkudG9TdHJpbmcoMTYpICsgXCIgYnl0ZXNcIik7XG4gIHJldHVybiAwIHwgZTtcbn1cblxuZnVuY3Rpb24geShlKSB7XG4gIHJldHVybiAhKG51bGwgPT0gZSB8fCAhZS5faXNCdWZmZXIpO1xufVxuXG5mdW5jdGlvbiBtKGUsIHQpIHtcbiAgaWYgKHkoZSkpIHJldHVybiBlLmxlbmd0aDtcbiAgaWYgKFwidW5kZWZpbmVkXCIgIT0gdHlwZW9mIEFycmF5QnVmZmVyICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3ICYmIChBcnJheUJ1ZmZlci5pc1ZpZXcoZSkgfHwgZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSkgcmV0dXJuIGUuYnl0ZUxlbmd0aDtcbiAgXCJzdHJpbmdcIiAhPSB0eXBlb2YgZSAmJiAoZSA9IFwiXCIgKyBlKTtcbiAgdmFyIHIgPSBlLmxlbmd0aDtcbiAgaWYgKDAgPT09IHIpIHJldHVybiAwO1xuXG4gIGZvciAodmFyIG4gPSAhMTs7KSBzd2l0Y2ggKHQpIHtcbiAgICBjYXNlIFwiYXNjaWlcIjpcbiAgICBjYXNlIFwibGF0aW4xXCI6XG4gICAgY2FzZSBcImJpbmFyeVwiOlxuICAgICAgcmV0dXJuIHI7XG5cbiAgICBjYXNlIFwidXRmOFwiOlxuICAgIGNhc2UgXCJ1dGYtOFwiOlxuICAgIGNhc2Ugdm9pZCAwOlxuICAgICAgcmV0dXJuIHEoZSkubGVuZ3RoO1xuXG4gICAgY2FzZSBcInVjczJcIjpcbiAgICBjYXNlIFwidWNzLTJcIjpcbiAgICBjYXNlIFwidXRmMTZsZVwiOlxuICAgIGNhc2UgXCJ1dGYtMTZsZVwiOlxuICAgICAgcmV0dXJuIDIgKiByO1xuXG4gICAgY2FzZSBcImhleFwiOlxuICAgICAgcmV0dXJuIHIgPj4+IDE7XG5cbiAgICBjYXNlIFwiYmFzZTY0XCI6XG4gICAgICByZXR1cm4gVihlKS5sZW5ndGg7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgaWYgKG4pIHJldHVybiBxKGUpLmxlbmd0aDtcbiAgICAgIHQgPSAoXCJcIiArIHQpLnRvTG93ZXJDYXNlKCksIG4gPSAhMDtcbiAgfVxufVxuXG5mdW5jdGlvbiBrKGUsIHQsIHIpIHtcbiAgdmFyIG4gPSAhMTtcbiAgaWYgKCh2b2lkIDAgPT09IHQgfHwgdCA8IDApICYmICh0ID0gMCksIHQgPiB0aGlzLmxlbmd0aCkgcmV0dXJuIFwiXCI7XG4gIGlmICgodm9pZCAwID09PSByIHx8IHIgPiB0aGlzLmxlbmd0aCkgJiYgKHIgPSB0aGlzLmxlbmd0aCksIHIgPD0gMCkgcmV0dXJuIFwiXCI7XG4gIGlmICgociA+Pj49IDApIDw9ICh0ID4+Pj0gMCkpIHJldHVybiBcIlwiO1xuXG4gIGZvciAoZSB8fCAoZSA9IFwidXRmOFwiKTs7KSBzd2l0Y2ggKGUpIHtcbiAgICBjYXNlIFwiaGV4XCI6XG4gICAgICByZXR1cm4gTyh0aGlzLCB0LCByKTtcblxuICAgIGNhc2UgXCJ1dGY4XCI6XG4gICAgY2FzZSBcInV0Zi04XCI6XG4gICAgICByZXR1cm4gQyh0aGlzLCB0LCByKTtcblxuICAgIGNhc2UgXCJhc2NpaVwiOlxuICAgICAgcmV0dXJuIEkodGhpcywgdCwgcik7XG5cbiAgICBjYXNlIFwibGF0aW4xXCI6XG4gICAgY2FzZSBcImJpbmFyeVwiOlxuICAgICAgcmV0dXJuIFAodGhpcywgdCwgcik7XG5cbiAgICBjYXNlIFwiYmFzZTY0XCI6XG4gICAgICByZXR1cm4gTSh0aGlzLCB0LCByKTtcblxuICAgIGNhc2UgXCJ1Y3MyXCI6XG4gICAgY2FzZSBcInVjcy0yXCI6XG4gICAgY2FzZSBcInV0ZjE2bGVcIjpcbiAgICBjYXNlIFwidXRmLTE2bGVcIjpcbiAgICAgIHJldHVybiBVKHRoaXMsIHQsIHIpO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIGlmIChuKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIgKyBlKTtcbiAgICAgIGUgPSAoZSArIFwiXCIpLnRvTG93ZXJDYXNlKCksIG4gPSAhMDtcbiAgfVxufVxuXG5mdW5jdGlvbiBFKGUsIHQsIHIpIHtcbiAgdmFyIG4gPSBlW3RdO1xuICBlW3RdID0gZVtyXSwgZVtyXSA9IG47XG59XG5cbmZ1bmN0aW9uIFMoZSwgdCwgciwgbiwgaSkge1xuICBpZiAoMCA9PT0gZS5sZW5ndGgpIHJldHVybiAtMTtcblxuICBpZiAoXCJzdHJpbmdcIiA9PSB0eXBlb2YgciA/IChuID0gciwgciA9IDApIDogciA+IDIxNDc0ODM2NDcgPyByID0gMjE0NzQ4MzY0NyA6IHIgPCAtMjE0NzQ4MzY0OCAmJiAociA9IC0yMTQ3NDgzNjQ4KSwgciA9ICtyLCBpc05hTihyKSAmJiAociA9IGkgPyAwIDogZS5sZW5ndGggLSAxKSwgciA8IDAgJiYgKHIgPSBlLmxlbmd0aCArIHIpLCByID49IGUubGVuZ3RoKSB7XG4gICAgaWYgKGkpIHJldHVybiAtMTtcbiAgICByID0gZS5sZW5ndGggLSAxO1xuICB9IGVsc2UgaWYgKHIgPCAwKSB7XG4gICAgaWYgKCFpKSByZXR1cm4gLTE7XG4gICAgciA9IDA7XG4gIH1cblxuICBpZiAoXCJzdHJpbmdcIiA9PSB0eXBlb2YgdCAmJiAodCA9IHAuZnJvbSh0LCBuKSksIHkodCkpIHJldHVybiAwID09PSB0Lmxlbmd0aCA/IC0xIDogeChlLCB0LCByLCBuLCBpKTtcbiAgaWYgKFwibnVtYmVyXCIgPT0gdHlwZW9mIHQpIHJldHVybiB0ICY9IDI1NSwgcC5UWVBFRF9BUlJBWV9TVVBQT1JUICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgVWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZiA/IGkgPyBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZSwgdCwgcikgOiBVaW50OEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGUsIHQsIHIpIDogeChlLCBbdF0sIHIsIG4sIGkpO1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKFwidmFsIG11c3QgYmUgc3RyaW5nLCBudW1iZXIgb3IgQnVmZmVyXCIpO1xufVxuXG5mdW5jdGlvbiB4KGUsIHQsIHIsIG4sIGkpIHtcbiAgdmFyIG8sXG4gICAgICBhID0gMSxcbiAgICAgIHMgPSBlLmxlbmd0aCxcbiAgICAgIGggPSB0Lmxlbmd0aDtcblxuICBpZiAodm9pZCAwICE9PSBuICYmIChcInVjczJcIiA9PT0gKG4gPSBTdHJpbmcobikudG9Mb3dlckNhc2UoKSkgfHwgXCJ1Y3MtMlwiID09PSBuIHx8IFwidXRmMTZsZVwiID09PSBuIHx8IFwidXRmLTE2bGVcIiA9PT0gbikpIHtcbiAgICBpZiAoZS5sZW5ndGggPCAyIHx8IHQubGVuZ3RoIDwgMikgcmV0dXJuIC0xO1xuICAgIGEgPSAyLCBzIC89IDIsIGggLz0gMiwgciAvPSAyO1xuICB9XG5cbiAgZnVuY3Rpb24gbChlLCB0KSB7XG4gICAgcmV0dXJuIDEgPT09IGEgPyBlW3RdIDogZS5yZWFkVUludDE2QkUodCAqIGEpO1xuICB9XG5cbiAgaWYgKGkpIHtcbiAgICB2YXIgZiA9IC0xO1xuXG4gICAgZm9yIChvID0gcjsgbyA8IHM7IG8rKykgaWYgKGwoZSwgbykgPT09IGwodCwgLTEgPT09IGYgPyAwIDogbyAtIGYpKSB7XG4gICAgICBpZiAoLTEgPT09IGYgJiYgKGYgPSBvKSwgbyAtIGYgKyAxID09PSBoKSByZXR1cm4gZiAqIGE7XG4gICAgfSBlbHNlIC0xICE9PSBmICYmIChvIC09IG8gLSBmKSwgZiA9IC0xO1xuICB9IGVsc2UgZm9yIChyICsgaCA+IHMgJiYgKHIgPSBzIC0gaCksIG8gPSByOyBvID49IDA7IG8tLSkge1xuICAgIGZvciAodmFyIGMgPSAhMCwgdSA9IDA7IHUgPCBoOyB1KyspIGlmIChsKGUsIG8gKyB1KSAhPT0gbCh0LCB1KSkge1xuICAgICAgYyA9ICExO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKGMpIHJldHVybiBvO1xuICB9XG5cbiAgcmV0dXJuIC0xO1xufVxuXG5mdW5jdGlvbiBSKGUsIHQsIHIsIG4pIHtcbiAgciA9IE51bWJlcihyKSB8fCAwO1xuICB2YXIgaSA9IGUubGVuZ3RoIC0gcjtcbiAgbiA/IChuID0gTnVtYmVyKG4pKSA+IGkgJiYgKG4gPSBpKSA6IG4gPSBpO1xuICB2YXIgbyA9IHQubGVuZ3RoO1xuICBpZiAobyAlIDIgIT0gMCkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgaGV4IHN0cmluZ1wiKTtcbiAgbiA+IG8gLyAyICYmIChuID0gbyAvIDIpO1xuXG4gIGZvciAodmFyIGEgPSAwOyBhIDwgbjsgKythKSB7XG4gICAgdmFyIHMgPSBwYXJzZUludCh0LnN1YnN0cigyICogYSwgMiksIDE2KTtcbiAgICBpZiAoaXNOYU4ocykpIHJldHVybiBhO1xuICAgIGVbciArIGFdID0gcztcbiAgfVxuXG4gIHJldHVybiBhO1xufVxuXG5mdW5jdGlvbiBBKGUsIHQsIHIsIG4pIHtcbiAgcmV0dXJuIEcocSh0LCBlLmxlbmd0aCAtIHIpLCBlLCByLCBuKTtcbn1cblxuZnVuY3Rpb24gQihlLCB0LCByLCBuKSB7XG4gIHJldHVybiBHKGZ1bmN0aW9uIChlKSB7XG4gICAgZm9yICh2YXIgdCA9IFtdLCByID0gMDsgciA8IGUubGVuZ3RoOyArK3IpIHQucHVzaCgyNTUgJiBlLmNoYXJDb2RlQXQocikpO1xuXG4gICAgcmV0dXJuIHQ7XG4gIH0odCksIGUsIHIsIG4pO1xufVxuXG5mdW5jdGlvbiB6KGUsIHQsIHIsIG4pIHtcbiAgcmV0dXJuIEIoZSwgdCwgciwgbik7XG59XG5cbmZ1bmN0aW9uIEwoZSwgdCwgciwgbikge1xuICByZXR1cm4gRyhWKHQpLCBlLCByLCBuKTtcbn1cblxuZnVuY3Rpb24gVChlLCB0LCByLCBuKSB7XG4gIHJldHVybiBHKGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgZm9yICh2YXIgciwgbiwgaSwgbyA9IFtdLCBhID0gMDsgYSA8IGUubGVuZ3RoICYmICEoKHQgLT0gMikgPCAwKTsgKythKSByID0gZS5jaGFyQ29kZUF0KGEpLCBuID0gciA+PiA4LCBpID0gciAlIDI1Niwgby5wdXNoKGkpLCBvLnB1c2gobik7XG5cbiAgICByZXR1cm4gbztcbiAgfSh0LCBlLmxlbmd0aCAtIHIpLCBlLCByLCBuKTtcbn1cblxuZnVuY3Rpb24gTShlLCB0LCByKSB7XG4gIHJldHVybiAwID09PSB0ICYmIHIgPT09IGUubGVuZ3RoID8gcyhlKSA6IHMoZS5zbGljZSh0LCByKSk7XG59XG5cbmZ1bmN0aW9uIEMoZSwgdCwgcikge1xuICByID0gTWF0aC5taW4oZS5sZW5ndGgsIHIpO1xuXG4gIGZvciAodmFyIG4gPSBbXSwgaSA9IHQ7IGkgPCByOykge1xuICAgIHZhciBvLFxuICAgICAgICBhLFxuICAgICAgICBzLFxuICAgICAgICBoLFxuICAgICAgICBsID0gZVtpXSxcbiAgICAgICAgZiA9IG51bGwsXG4gICAgICAgIGMgPSBsID4gMjM5ID8gNCA6IGwgPiAyMjMgPyAzIDogbCA+IDE5MSA/IDIgOiAxO1xuICAgIGlmIChpICsgYyA8PSByKSBzd2l0Y2ggKGMpIHtcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgbCA8IDEyOCAmJiAoZiA9IGwpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAyOlxuICAgICAgICAxMjggPT0gKDE5MiAmIChvID0gZVtpICsgMV0pKSAmJiAoaCA9ICgzMSAmIGwpIDw8IDYgfCA2MyAmIG8pID4gMTI3ICYmIChmID0gaCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIDM6XG4gICAgICAgIG8gPSBlW2kgKyAxXSwgYSA9IGVbaSArIDJdLCAxMjggPT0gKDE5MiAmIG8pICYmIDEyOCA9PSAoMTkyICYgYSkgJiYgKGggPSAoMTUgJiBsKSA8PCAxMiB8ICg2MyAmIG8pIDw8IDYgfCA2MyAmIGEpID4gMjA0NyAmJiAoaCA8IDU1Mjk2IHx8IGggPiA1NzM0MykgJiYgKGYgPSBoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgNDpcbiAgICAgICAgbyA9IGVbaSArIDFdLCBhID0gZVtpICsgMl0sIHMgPSBlW2kgKyAzXSwgMTI4ID09ICgxOTIgJiBvKSAmJiAxMjggPT0gKDE5MiAmIGEpICYmIDEyOCA9PSAoMTkyICYgcykgJiYgKGggPSAoMTUgJiBsKSA8PCAxOCB8ICg2MyAmIG8pIDw8IDEyIHwgKDYzICYgYSkgPDwgNiB8IDYzICYgcykgPiA2NTUzNSAmJiBoIDwgMTExNDExMiAmJiAoZiA9IGgpO1xuICAgIH1cbiAgICBudWxsID09PSBmID8gKGYgPSA2NTUzMywgYyA9IDEpIDogZiA+IDY1NTM1ICYmIChmIC09IDY1NTM2LCBuLnB1c2goZiA+Pj4gMTAgJiAxMDIzIHwgNTUyOTYpLCBmID0gNTYzMjAgfCAxMDIzICYgZiksIG4ucHVzaChmKSwgaSArPSBjO1xuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIChlKSB7XG4gICAgdmFyIHQgPSBlLmxlbmd0aDtcbiAgICBpZiAodCA8PSBEKSByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsIGUpO1xuICAgIHZhciByID0gXCJcIixcbiAgICAgICAgbiA9IDA7XG5cbiAgICBmb3IgKDsgbiA8IHQ7KSByICs9IFN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLCBlLnNsaWNlKG4sIG4gKz0gRCkpO1xuXG4gICAgcmV0dXJuIHI7XG4gIH0obik7XG59XG5cbnAuVFlQRURfQVJSQVlfU1VQUE9SVCA9IHZvaWQgMCA9PT0gZS5UWVBFRF9BUlJBWV9TVVBQT1JUIHx8IGUuVFlQRURfQVJSQVlfU1VQUE9SVCwgcC5wb29sU2l6ZSA9IDgxOTIsIHAuX2F1Z21lbnQgPSBmdW5jdGlvbiAoZSkge1xuICByZXR1cm4gZS5fX3Byb3RvX18gPSBwLnByb3RvdHlwZSwgZTtcbn0sIHAuZnJvbSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gIHJldHVybiBfKG51bGwsIGUsIHQsIHIpO1xufSwgcC5UWVBFRF9BUlJBWV9TVVBQT1JUICYmIChwLnByb3RvdHlwZS5fX3Byb3RvX18gPSBVaW50OEFycmF5LnByb3RvdHlwZSwgcC5fX3Byb3RvX18gPSBVaW50OEFycmF5KSwgcC5hbGxvYyA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoZSwgdCwgciwgbikge1xuICAgIHJldHVybiBnKHQpLCB0IDw9IDAgPyBkKGUsIHQpIDogdm9pZCAwICE9PSByID8gXCJzdHJpbmdcIiA9PSB0eXBlb2YgbiA/IGQoZSwgdCkuZmlsbChyLCBuKSA6IGQoZSwgdCkuZmlsbChyKSA6IGQoZSwgdCk7XG4gIH0obnVsbCwgZSwgdCwgcik7XG59LCBwLmFsbG9jVW5zYWZlID0gZnVuY3Rpb24gKGUpIHtcbiAgcmV0dXJuIHYobnVsbCwgZSk7XG59LCBwLmFsbG9jVW5zYWZlU2xvdyA9IGZ1bmN0aW9uIChlKSB7XG4gIHJldHVybiB2KG51bGwsIGUpO1xufSwgcC5pc0J1ZmZlciA9ICQsIHAuY29tcGFyZSA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gIGlmICgheShlKSB8fCAheSh0KSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50cyBtdXN0IGJlIEJ1ZmZlcnNcIik7XG4gIGlmIChlID09PSB0KSByZXR1cm4gMDtcblxuICBmb3IgKHZhciByID0gZS5sZW5ndGgsIG4gPSB0Lmxlbmd0aCwgaSA9IDAsIG8gPSBNYXRoLm1pbihyLCBuKTsgaSA8IG87ICsraSkgaWYgKGVbaV0gIT09IHRbaV0pIHtcbiAgICByID0gZVtpXSwgbiA9IHRbaV07XG4gICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gciA8IG4gPyAtMSA6IG4gPCByID8gMSA6IDA7XG59LCBwLmlzRW5jb2RpbmcgPSBmdW5jdGlvbiAoZSkge1xuICBzd2l0Y2ggKFN0cmluZyhlKS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgY2FzZSBcImhleFwiOlxuICAgIGNhc2UgXCJ1dGY4XCI6XG4gICAgY2FzZSBcInV0Zi04XCI6XG4gICAgY2FzZSBcImFzY2lpXCI6XG4gICAgY2FzZSBcImxhdGluMVwiOlxuICAgIGNhc2UgXCJiaW5hcnlcIjpcbiAgICBjYXNlIFwiYmFzZTY0XCI6XG4gICAgY2FzZSBcInVjczJcIjpcbiAgICBjYXNlIFwidWNzLTJcIjpcbiAgICBjYXNlIFwidXRmMTZsZVwiOlxuICAgIGNhc2UgXCJ1dGYtMTZsZVwiOlxuICAgICAgcmV0dXJuICEwO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAhMTtcbiAgfVxufSwgcC5jb25jYXQgPSBmdW5jdGlvbiAoZSwgdCkge1xuICBpZiAoIWMoZSkpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wibGlzdFwiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpO1xuICBpZiAoMCA9PT0gZS5sZW5ndGgpIHJldHVybiBwLmFsbG9jKDApO1xuICB2YXIgcjtcbiAgaWYgKHZvaWQgMCA9PT0gdCkgZm9yICh0ID0gMCwgciA9IDA7IHIgPCBlLmxlbmd0aDsgKytyKSB0ICs9IGVbcl0ubGVuZ3RoO1xuICB2YXIgbiA9IHAuYWxsb2NVbnNhZmUodCksXG4gICAgICBpID0gMDtcblxuICBmb3IgKHIgPSAwOyByIDwgZS5sZW5ndGg7ICsrcikge1xuICAgIHZhciBvID0gZVtyXTtcbiAgICBpZiAoIXkobykpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wibGlzdFwiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpO1xuICAgIG8uY29weShuLCBpKSwgaSArPSBvLmxlbmd0aDtcbiAgfVxuXG4gIHJldHVybiBuO1xufSwgcC5ieXRlTGVuZ3RoID0gbSwgcC5wcm90b3R5cGUuX2lzQnVmZmVyID0gITAsIHAucHJvdG90eXBlLnN3YXAxNiA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGUgPSB0aGlzLmxlbmd0aDtcbiAgaWYgKGUgJSAyICE9IDApIHRocm93IG5ldyBSYW5nZUVycm9yKFwiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDE2LWJpdHNcIik7XG5cbiAgZm9yICh2YXIgdCA9IDA7IHQgPCBlOyB0ICs9IDIpIEUodGhpcywgdCwgdCArIDEpO1xuXG4gIHJldHVybiB0aGlzO1xufSwgcC5wcm90b3R5cGUuc3dhcDMyID0gZnVuY3Rpb24gKCkge1xuICB2YXIgZSA9IHRoaXMubGVuZ3RoO1xuICBpZiAoZSAlIDQgIT0gMCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzItYml0c1wiKTtcblxuICBmb3IgKHZhciB0ID0gMDsgdCA8IGU7IHQgKz0gNCkgRSh0aGlzLCB0LCB0ICsgMyksIEUodGhpcywgdCArIDEsIHQgKyAyKTtcblxuICByZXR1cm4gdGhpcztcbn0sIHAucHJvdG90eXBlLnN3YXA2NCA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGUgPSB0aGlzLmxlbmd0aDtcbiAgaWYgKGUgJSA4ICE9IDApIHRocm93IG5ldyBSYW5nZUVycm9yKFwiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDY0LWJpdHNcIik7XG5cbiAgZm9yICh2YXIgdCA9IDA7IHQgPCBlOyB0ICs9IDgpIEUodGhpcywgdCwgdCArIDcpLCBFKHRoaXMsIHQgKyAxLCB0ICsgNiksIEUodGhpcywgdCArIDIsIHQgKyA1KSwgRSh0aGlzLCB0ICsgMywgdCArIDQpO1xuXG4gIHJldHVybiB0aGlzO1xufSwgcC5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBlID0gMCB8IHRoaXMubGVuZ3RoO1xuICByZXR1cm4gMCA9PT0gZSA/IFwiXCIgOiAwID09PSBhcmd1bWVudHMubGVuZ3RoID8gQyh0aGlzLCAwLCBlKSA6IGsuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbn0sIHAucHJvdG90eXBlLmVxdWFscyA9IGZ1bmN0aW9uIChlKSB7XG4gIGlmICgheShlKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXJcIik7XG4gIHJldHVybiB0aGlzID09PSBlIHx8IDAgPT09IHAuY29tcGFyZSh0aGlzLCBlKTtcbn0sIHAucHJvdG90eXBlLmluc3BlY3QgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBlID0gXCJcIjtcbiAgcmV0dXJuIHRoaXMubGVuZ3RoID4gMCAmJiAoZSA9IHRoaXMudG9TdHJpbmcoXCJoZXhcIiwgMCwgNTApLm1hdGNoKC8uezJ9L2cpLmpvaW4oXCIgXCIpLCB0aGlzLmxlbmd0aCA+IDUwICYmIChlICs9IFwiIC4uLiBcIikpLCBcIjxCdWZmZXIgXCIgKyBlICsgXCI+XCI7XG59LCBwLnByb3RvdHlwZS5jb21wYXJlID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4sIGkpIHtcbiAgaWYgKCF5KGUpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlclwiKTtcbiAgaWYgKHZvaWQgMCA9PT0gdCAmJiAodCA9IDApLCB2b2lkIDAgPT09IHIgJiYgKHIgPSBlID8gZS5sZW5ndGggOiAwKSwgdm9pZCAwID09PSBuICYmIChuID0gMCksIHZvaWQgMCA9PT0gaSAmJiAoaSA9IHRoaXMubGVuZ3RoKSwgdCA8IDAgfHwgciA+IGUubGVuZ3RoIHx8IG4gPCAwIHx8IGkgPiB0aGlzLmxlbmd0aCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJvdXQgb2YgcmFuZ2UgaW5kZXhcIik7XG4gIGlmIChuID49IGkgJiYgdCA+PSByKSByZXR1cm4gMDtcbiAgaWYgKG4gPj0gaSkgcmV0dXJuIC0xO1xuICBpZiAodCA+PSByKSByZXR1cm4gMTtcbiAgaWYgKHRoaXMgPT09IGUpIHJldHVybiAwO1xuXG4gIGZvciAodmFyIG8gPSAoaSA+Pj49IDApIC0gKG4gPj4+PSAwKSwgYSA9IChyID4+Pj0gMCkgLSAodCA+Pj49IDApLCBzID0gTWF0aC5taW4obywgYSksIGggPSB0aGlzLnNsaWNlKG4sIGkpLCBsID0gZS5zbGljZSh0LCByKSwgZiA9IDA7IGYgPCBzOyArK2YpIGlmIChoW2ZdICE9PSBsW2ZdKSB7XG4gICAgbyA9IGhbZl0sIGEgPSBsW2ZdO1xuICAgIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIG8gPCBhID8gLTEgOiBhIDwgbyA/IDEgOiAwO1xufSwgcC5wcm90b3R5cGUuaW5jbHVkZXMgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICByZXR1cm4gLTEgIT09IHRoaXMuaW5kZXhPZihlLCB0LCByKTtcbn0sIHAucHJvdG90eXBlLmluZGV4T2YgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICByZXR1cm4gUyh0aGlzLCBlLCB0LCByLCAhMCk7XG59LCBwLnByb3RvdHlwZS5sYXN0SW5kZXhPZiA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gIHJldHVybiBTKHRoaXMsIGUsIHQsIHIsICExKTtcbn0sIHAucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcbiAgaWYgKHZvaWQgMCA9PT0gdCkgbiA9IFwidXRmOFwiLCByID0gdGhpcy5sZW5ndGgsIHQgPSAwO2Vsc2UgaWYgKHZvaWQgMCA9PT0gciAmJiBcInN0cmluZ1wiID09IHR5cGVvZiB0KSBuID0gdCwgciA9IHRoaXMubGVuZ3RoLCB0ID0gMDtlbHNlIHtcbiAgICBpZiAoIWlzRmluaXRlKHQpKSB0aHJvdyBuZXcgRXJyb3IoXCJCdWZmZXIud3JpdGUoc3RyaW5nLCBlbmNvZGluZywgb2Zmc2V0WywgbGVuZ3RoXSkgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZFwiKTtcbiAgICB0IHw9IDAsIGlzRmluaXRlKHIpID8gKHIgfD0gMCwgdm9pZCAwID09PSBuICYmIChuID0gXCJ1dGY4XCIpKSA6IChuID0gciwgciA9IHZvaWQgMCk7XG4gIH1cbiAgdmFyIGkgPSB0aGlzLmxlbmd0aCAtIHQ7XG4gIGlmICgodm9pZCAwID09PSByIHx8IHIgPiBpKSAmJiAociA9IGkpLCBlLmxlbmd0aCA+IDAgJiYgKHIgPCAwIHx8IHQgPCAwKSB8fCB0ID4gdGhpcy5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKFwiQXR0ZW1wdCB0byB3cml0ZSBvdXRzaWRlIGJ1ZmZlciBib3VuZHNcIik7XG4gIG4gfHwgKG4gPSBcInV0ZjhcIik7XG5cbiAgZm9yICh2YXIgbyA9ICExOzspIHN3aXRjaCAobikge1xuICAgIGNhc2UgXCJoZXhcIjpcbiAgICAgIHJldHVybiBSKHRoaXMsIGUsIHQsIHIpO1xuXG4gICAgY2FzZSBcInV0ZjhcIjpcbiAgICBjYXNlIFwidXRmLThcIjpcbiAgICAgIHJldHVybiBBKHRoaXMsIGUsIHQsIHIpO1xuXG4gICAgY2FzZSBcImFzY2lpXCI6XG4gICAgICByZXR1cm4gQih0aGlzLCBlLCB0LCByKTtcblxuICAgIGNhc2UgXCJsYXRpbjFcIjpcbiAgICBjYXNlIFwiYmluYXJ5XCI6XG4gICAgICByZXR1cm4geih0aGlzLCBlLCB0LCByKTtcblxuICAgIGNhc2UgXCJiYXNlNjRcIjpcbiAgICAgIHJldHVybiBMKHRoaXMsIGUsIHQsIHIpO1xuXG4gICAgY2FzZSBcInVjczJcIjpcbiAgICBjYXNlIFwidWNzLTJcIjpcbiAgICBjYXNlIFwidXRmMTZsZVwiOlxuICAgIGNhc2UgXCJ1dGYtMTZsZVwiOlxuICAgICAgcmV0dXJuIFQodGhpcywgZSwgdCwgcik7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgaWYgKG8pIHRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmtub3duIGVuY29kaW5nOiBcIiArIG4pO1xuICAgICAgbiA9IChcIlwiICsgbikudG9Mb3dlckNhc2UoKSwgbyA9ICEwO1xuICB9XG59LCBwLnByb3RvdHlwZS50b0pTT04gPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJCdWZmZXJcIixcbiAgICBkYXRhOiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0aGlzLl9hcnIgfHwgdGhpcywgMClcbiAgfTtcbn07XG52YXIgRCA9IDQwOTY7XG5cbmZ1bmN0aW9uIEkoZSwgdCwgcikge1xuICB2YXIgbiA9IFwiXCI7XG4gIHIgPSBNYXRoLm1pbihlLmxlbmd0aCwgcik7XG5cbiAgZm9yICh2YXIgaSA9IHQ7IGkgPCByOyArK2kpIG4gKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgxMjcgJiBlW2ldKTtcblxuICByZXR1cm4gbjtcbn1cblxuZnVuY3Rpb24gUChlLCB0LCByKSB7XG4gIHZhciBuID0gXCJcIjtcbiAgciA9IE1hdGgubWluKGUubGVuZ3RoLCByKTtcblxuICBmb3IgKHZhciBpID0gdDsgaSA8IHI7ICsraSkgbiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGVbaV0pO1xuXG4gIHJldHVybiBuO1xufVxuXG5mdW5jdGlvbiBPKGUsIHQsIHIpIHtcbiAgdmFyIG4gPSBlLmxlbmd0aDtcbiAgKCF0IHx8IHQgPCAwKSAmJiAodCA9IDApLCAoIXIgfHwgciA8IDAgfHwgciA+IG4pICYmIChyID0gbik7XG5cbiAgZm9yICh2YXIgaSA9IFwiXCIsIG8gPSB0OyBvIDwgcjsgKytvKSBpICs9IFgoZVtvXSk7XG5cbiAgcmV0dXJuIGk7XG59XG5cbmZ1bmN0aW9uIFUoZSwgdCwgcikge1xuICBmb3IgKHZhciBuID0gZS5zbGljZSh0LCByKSwgaSA9IFwiXCIsIG8gPSAwOyBvIDwgbi5sZW5ndGg7IG8gKz0gMikgaSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKG5bb10gKyAyNTYgKiBuW28gKyAxXSk7XG5cbiAgcmV0dXJuIGk7XG59XG5cbmZ1bmN0aW9uIEgoZSwgdCwgcikge1xuICBpZiAoZSAlIDEgIT0gMCB8fCBlIDwgMCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJvZmZzZXQgaXMgbm90IHVpbnRcIik7XG4gIGlmIChlICsgdCA+IHIpIHRocm93IG5ldyBSYW5nZUVycm9yKFwiVHJ5aW5nIHRvIGFjY2VzcyBiZXlvbmQgYnVmZmVyIGxlbmd0aFwiKTtcbn1cblxuZnVuY3Rpb24gRihlLCB0LCByLCBuLCBpLCBvKSB7XG4gIGlmICgheShlKSkgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJidWZmZXJcIiBhcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIGluc3RhbmNlJyk7XG4gIGlmICh0ID4gaSB8fCB0IDwgbykgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1widmFsdWVcIiBhcmd1bWVudCBpcyBvdXQgb2YgYm91bmRzJyk7XG4gIGlmIChyICsgbiA+IGUubGVuZ3RoKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkluZGV4IG91dCBvZiByYW5nZVwiKTtcbn1cblxuZnVuY3Rpb24gTihlLCB0LCByLCBuKSB7XG4gIHQgPCAwICYmICh0ID0gNjU1MzUgKyB0ICsgMSk7XG5cbiAgZm9yICh2YXIgaSA9IDAsIG8gPSBNYXRoLm1pbihlLmxlbmd0aCAtIHIsIDIpOyBpIDwgbzsgKytpKSBlW3IgKyBpXSA9ICh0ICYgMjU1IDw8IDggKiAobiA/IGkgOiAxIC0gaSkpID4+PiA4ICogKG4gPyBpIDogMSAtIGkpO1xufVxuXG5mdW5jdGlvbiBaKGUsIHQsIHIsIG4pIHtcbiAgdCA8IDAgJiYgKHQgPSA0Mjk0OTY3Mjk1ICsgdCArIDEpO1xuXG4gIGZvciAodmFyIGkgPSAwLCBvID0gTWF0aC5taW4oZS5sZW5ndGggLSByLCA0KTsgaSA8IG87ICsraSkgZVtyICsgaV0gPSB0ID4+PiA4ICogKG4gPyBpIDogMyAtIGkpICYgMjU1O1xufVxuXG5mdW5jdGlvbiBqKGUsIHQsIHIsIG4sIGksIG8pIHtcbiAgaWYgKHIgKyBuID4gZS5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKFwiSW5kZXggb3V0IG9mIHJhbmdlXCIpO1xuICBpZiAociA8IDApIHRocm93IG5ldyBSYW5nZUVycm9yKFwiSW5kZXggb3V0IG9mIHJhbmdlXCIpO1xufVxuXG5mdW5jdGlvbiBXKGUsIHQsIHIsIG4sIGkpIHtcbiAgcmV0dXJuIGkgfHwgaihlLCAwLCByLCA0KSwgbChlLCB0LCByLCBuLCAyMywgNCksIHIgKyA0O1xufVxuXG5mdW5jdGlvbiBZKGUsIHQsIHIsIG4sIGkpIHtcbiAgcmV0dXJuIGkgfHwgaihlLCAwLCByLCA4KSwgbChlLCB0LCByLCBuLCA1MiwgOCksIHIgKyA4O1xufVxuXG5wLnByb3RvdHlwZS5zbGljZSA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gIHZhciByLFxuICAgICAgbiA9IHRoaXMubGVuZ3RoO1xuICBpZiAoKGUgPSB+fmUpIDwgMCA/IChlICs9IG4pIDwgMCAmJiAoZSA9IDApIDogZSA+IG4gJiYgKGUgPSBuKSwgKHQgPSB2b2lkIDAgPT09IHQgPyBuIDogfn50KSA8IDAgPyAodCArPSBuKSA8IDAgJiYgKHQgPSAwKSA6IHQgPiBuICYmICh0ID0gbiksIHQgPCBlICYmICh0ID0gZSksIHAuVFlQRURfQVJSQVlfU1VQUE9SVCkgKHIgPSB0aGlzLnN1YmFycmF5KGUsIHQpKS5fX3Byb3RvX18gPSBwLnByb3RvdHlwZTtlbHNlIHtcbiAgICB2YXIgaSA9IHQgLSBlO1xuICAgIHIgPSBuZXcgcChpLCB2b2lkIDApO1xuXG4gICAgZm9yICh2YXIgbyA9IDA7IG8gPCBpOyArK28pIHJbb10gPSB0aGlzW28gKyBlXTtcbiAgfVxuICByZXR1cm4gcjtcbn0sIHAucHJvdG90eXBlLnJlYWRVSW50TEUgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICBlIHw9IDAsIHQgfD0gMCwgciB8fCBIKGUsIHQsIHRoaXMubGVuZ3RoKTtcblxuICBmb3IgKHZhciBuID0gdGhpc1tlXSwgaSA9IDEsIG8gPSAwOyArK28gPCB0ICYmIChpICo9IDI1Nik7KSBuICs9IHRoaXNbZSArIG9dICogaTtcblxuICByZXR1cm4gbjtcbn0sIHAucHJvdG90eXBlLnJlYWRVSW50QkUgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICBlIHw9IDAsIHQgfD0gMCwgciB8fCBIKGUsIHQsIHRoaXMubGVuZ3RoKTtcblxuICBmb3IgKHZhciBuID0gdGhpc1tlICsgLS10XSwgaSA9IDE7IHQgPiAwICYmIChpICo9IDI1Nik7KSBuICs9IHRoaXNbZSArIC0tdF0gKiBpO1xuXG4gIHJldHVybiBuO1xufSwgcC5wcm90b3R5cGUucmVhZFVJbnQ4ID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgcmV0dXJuIHQgfHwgSChlLCAxLCB0aGlzLmxlbmd0aCksIHRoaXNbZV07XG59LCBwLnByb3RvdHlwZS5yZWFkVUludDE2TEUgPSBmdW5jdGlvbiAoZSwgdCkge1xuICByZXR1cm4gdCB8fCBIKGUsIDIsIHRoaXMubGVuZ3RoKSwgdGhpc1tlXSB8IHRoaXNbZSArIDFdIDw8IDg7XG59LCBwLnByb3RvdHlwZS5yZWFkVUludDE2QkUgPSBmdW5jdGlvbiAoZSwgdCkge1xuICByZXR1cm4gdCB8fCBIKGUsIDIsIHRoaXMubGVuZ3RoKSwgdGhpc1tlXSA8PCA4IHwgdGhpc1tlICsgMV07XG59LCBwLnByb3RvdHlwZS5yZWFkVUludDMyTEUgPSBmdW5jdGlvbiAoZSwgdCkge1xuICByZXR1cm4gdCB8fCBIKGUsIDQsIHRoaXMubGVuZ3RoKSwgKHRoaXNbZV0gfCB0aGlzW2UgKyAxXSA8PCA4IHwgdGhpc1tlICsgMl0gPDwgMTYpICsgMTY3NzcyMTYgKiB0aGlzW2UgKyAzXTtcbn0sIHAucHJvdG90eXBlLnJlYWRVSW50MzJCRSA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gIHJldHVybiB0IHx8IEgoZSwgNCwgdGhpcy5sZW5ndGgpLCAxNjc3NzIxNiAqIHRoaXNbZV0gKyAodGhpc1tlICsgMV0gPDwgMTYgfCB0aGlzW2UgKyAyXSA8PCA4IHwgdGhpc1tlICsgM10pO1xufSwgcC5wcm90b3R5cGUucmVhZEludExFID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgZSB8PSAwLCB0IHw9IDAsIHIgfHwgSChlLCB0LCB0aGlzLmxlbmd0aCk7XG5cbiAgZm9yICh2YXIgbiA9IHRoaXNbZV0sIGkgPSAxLCBvID0gMDsgKytvIDwgdCAmJiAoaSAqPSAyNTYpOykgbiArPSB0aGlzW2UgKyBvXSAqIGk7XG5cbiAgcmV0dXJuIG4gPj0gKGkgKj0gMTI4KSAmJiAobiAtPSBNYXRoLnBvdygyLCA4ICogdCkpLCBuO1xufSwgcC5wcm90b3R5cGUucmVhZEludEJFID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgZSB8PSAwLCB0IHw9IDAsIHIgfHwgSChlLCB0LCB0aGlzLmxlbmd0aCk7XG5cbiAgZm9yICh2YXIgbiA9IHQsIGkgPSAxLCBvID0gdGhpc1tlICsgLS1uXTsgbiA+IDAgJiYgKGkgKj0gMjU2KTspIG8gKz0gdGhpc1tlICsgLS1uXSAqIGk7XG5cbiAgcmV0dXJuIG8gPj0gKGkgKj0gMTI4KSAmJiAobyAtPSBNYXRoLnBvdygyLCA4ICogdCkpLCBvO1xufSwgcC5wcm90b3R5cGUucmVhZEludDggPSBmdW5jdGlvbiAoZSwgdCkge1xuICByZXR1cm4gdCB8fCBIKGUsIDEsIHRoaXMubGVuZ3RoKSwgMTI4ICYgdGhpc1tlXSA/IC0xICogKDI1NSAtIHRoaXNbZV0gKyAxKSA6IHRoaXNbZV07XG59LCBwLnByb3RvdHlwZS5yZWFkSW50MTZMRSA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gIHQgfHwgSChlLCAyLCB0aGlzLmxlbmd0aCk7XG4gIHZhciByID0gdGhpc1tlXSB8IHRoaXNbZSArIDFdIDw8IDg7XG4gIHJldHVybiAzMjc2OCAmIHIgPyA0Mjk0OTAxNzYwIHwgciA6IHI7XG59LCBwLnByb3RvdHlwZS5yZWFkSW50MTZCRSA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gIHQgfHwgSChlLCAyLCB0aGlzLmxlbmd0aCk7XG4gIHZhciByID0gdGhpc1tlICsgMV0gfCB0aGlzW2VdIDw8IDg7XG4gIHJldHVybiAzMjc2OCAmIHIgPyA0Mjk0OTAxNzYwIHwgciA6IHI7XG59LCBwLnByb3RvdHlwZS5yZWFkSW50MzJMRSA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gIHJldHVybiB0IHx8IEgoZSwgNCwgdGhpcy5sZW5ndGgpLCB0aGlzW2VdIHwgdGhpc1tlICsgMV0gPDwgOCB8IHRoaXNbZSArIDJdIDw8IDE2IHwgdGhpc1tlICsgM10gPDwgMjQ7XG59LCBwLnByb3RvdHlwZS5yZWFkSW50MzJCRSA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gIHJldHVybiB0IHx8IEgoZSwgNCwgdGhpcy5sZW5ndGgpLCB0aGlzW2VdIDw8IDI0IHwgdGhpc1tlICsgMV0gPDwgMTYgfCB0aGlzW2UgKyAyXSA8PCA4IHwgdGhpc1tlICsgM107XG59LCBwLnByb3RvdHlwZS5yZWFkRmxvYXRMRSA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gIHJldHVybiB0IHx8IEgoZSwgNCwgdGhpcy5sZW5ndGgpLCBoKHRoaXMsIGUsICEwLCAyMywgNCk7XG59LCBwLnByb3RvdHlwZS5yZWFkRmxvYXRCRSA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gIHJldHVybiB0IHx8IEgoZSwgNCwgdGhpcy5sZW5ndGgpLCBoKHRoaXMsIGUsICExLCAyMywgNCk7XG59LCBwLnByb3RvdHlwZS5yZWFkRG91YmxlTEUgPSBmdW5jdGlvbiAoZSwgdCkge1xuICByZXR1cm4gdCB8fCBIKGUsIDgsIHRoaXMubGVuZ3RoKSwgaCh0aGlzLCBlLCAhMCwgNTIsIDgpO1xufSwgcC5wcm90b3R5cGUucmVhZERvdWJsZUJFID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgcmV0dXJuIHQgfHwgSChlLCA4LCB0aGlzLmxlbmd0aCksIGgodGhpcywgZSwgITEsIDUyLCA4KTtcbn0sIHAucHJvdG90eXBlLndyaXRlVUludExFID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcbiAgKGUgPSArZSwgdCB8PSAwLCByIHw9IDAsIG4pIHx8IEYodGhpcywgZSwgdCwgciwgTWF0aC5wb3coMiwgOCAqIHIpIC0gMSwgMCk7XG4gIHZhciBpID0gMSxcbiAgICAgIG8gPSAwO1xuXG4gIGZvciAodGhpc1t0XSA9IDI1NSAmIGU7ICsrbyA8IHIgJiYgKGkgKj0gMjU2KTspIHRoaXNbdCArIG9dID0gZSAvIGkgJiAyNTU7XG5cbiAgcmV0dXJuIHQgKyByO1xufSwgcC5wcm90b3R5cGUud3JpdGVVSW50QkUgPSBmdW5jdGlvbiAoZSwgdCwgciwgbikge1xuICAoZSA9ICtlLCB0IHw9IDAsIHIgfD0gMCwgbikgfHwgRih0aGlzLCBlLCB0LCByLCBNYXRoLnBvdygyLCA4ICogcikgLSAxLCAwKTtcbiAgdmFyIGkgPSByIC0gMSxcbiAgICAgIG8gPSAxO1xuXG4gIGZvciAodGhpc1t0ICsgaV0gPSAyNTUgJiBlOyAtLWkgPj0gMCAmJiAobyAqPSAyNTYpOykgdGhpc1t0ICsgaV0gPSBlIC8gbyAmIDI1NTtcblxuICByZXR1cm4gdCArIHI7XG59LCBwLnByb3RvdHlwZS53cml0ZVVJbnQ4ID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgcmV0dXJuIGUgPSArZSwgdCB8PSAwLCByIHx8IEYodGhpcywgZSwgdCwgMSwgMjU1LCAwKSwgcC5UWVBFRF9BUlJBWV9TVVBQT1JUIHx8IChlID0gTWF0aC5mbG9vcihlKSksIHRoaXNbdF0gPSAyNTUgJiBlLCB0ICsgMTtcbn0sIHAucHJvdG90eXBlLndyaXRlVUludDE2TEUgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICByZXR1cm4gZSA9ICtlLCB0IHw9IDAsIHIgfHwgRih0aGlzLCBlLCB0LCAyLCA2NTUzNSwgMCksIHAuVFlQRURfQVJSQVlfU1VQUE9SVCA/ICh0aGlzW3RdID0gMjU1ICYgZSwgdGhpc1t0ICsgMV0gPSBlID4+PiA4KSA6IE4odGhpcywgZSwgdCwgITApLCB0ICsgMjtcbn0sIHAucHJvdG90eXBlLndyaXRlVUludDE2QkUgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICByZXR1cm4gZSA9ICtlLCB0IHw9IDAsIHIgfHwgRih0aGlzLCBlLCB0LCAyLCA2NTUzNSwgMCksIHAuVFlQRURfQVJSQVlfU1VQUE9SVCA/ICh0aGlzW3RdID0gZSA+Pj4gOCwgdGhpc1t0ICsgMV0gPSAyNTUgJiBlKSA6IE4odGhpcywgZSwgdCwgITEpLCB0ICsgMjtcbn0sIHAucHJvdG90eXBlLndyaXRlVUludDMyTEUgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICByZXR1cm4gZSA9ICtlLCB0IHw9IDAsIHIgfHwgRih0aGlzLCBlLCB0LCA0LCA0Mjk0OTY3Mjk1LCAwKSwgcC5UWVBFRF9BUlJBWV9TVVBQT1JUID8gKHRoaXNbdCArIDNdID0gZSA+Pj4gMjQsIHRoaXNbdCArIDJdID0gZSA+Pj4gMTYsIHRoaXNbdCArIDFdID0gZSA+Pj4gOCwgdGhpc1t0XSA9IDI1NSAmIGUpIDogWih0aGlzLCBlLCB0LCAhMCksIHQgKyA0O1xufSwgcC5wcm90b3R5cGUud3JpdGVVSW50MzJCRSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gIHJldHVybiBlID0gK2UsIHQgfD0gMCwgciB8fCBGKHRoaXMsIGUsIHQsIDQsIDQyOTQ5NjcyOTUsIDApLCBwLlRZUEVEX0FSUkFZX1NVUFBPUlQgPyAodGhpc1t0XSA9IGUgPj4+IDI0LCB0aGlzW3QgKyAxXSA9IGUgPj4+IDE2LCB0aGlzW3QgKyAyXSA9IGUgPj4+IDgsIHRoaXNbdCArIDNdID0gMjU1ICYgZSkgOiBaKHRoaXMsIGUsIHQsICExKSwgdCArIDQ7XG59LCBwLnByb3RvdHlwZS53cml0ZUludExFID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcbiAgaWYgKGUgPSArZSwgdCB8PSAwLCAhbikge1xuICAgIHZhciBpID0gTWF0aC5wb3coMiwgOCAqIHIgLSAxKTtcbiAgICBGKHRoaXMsIGUsIHQsIHIsIGkgLSAxLCAtaSk7XG4gIH1cblxuICB2YXIgbyA9IDAsXG4gICAgICBhID0gMSxcbiAgICAgIHMgPSAwO1xuXG4gIGZvciAodGhpc1t0XSA9IDI1NSAmIGU7ICsrbyA8IHIgJiYgKGEgKj0gMjU2KTspIGUgPCAwICYmIDAgPT09IHMgJiYgMCAhPT0gdGhpc1t0ICsgbyAtIDFdICYmIChzID0gMSksIHRoaXNbdCArIG9dID0gKGUgLyBhID4+IDApIC0gcyAmIDI1NTtcblxuICByZXR1cm4gdCArIHI7XG59LCBwLnByb3RvdHlwZS53cml0ZUludEJFID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcbiAgaWYgKGUgPSArZSwgdCB8PSAwLCAhbikge1xuICAgIHZhciBpID0gTWF0aC5wb3coMiwgOCAqIHIgLSAxKTtcbiAgICBGKHRoaXMsIGUsIHQsIHIsIGkgLSAxLCAtaSk7XG4gIH1cblxuICB2YXIgbyA9IHIgLSAxLFxuICAgICAgYSA9IDEsXG4gICAgICBzID0gMDtcblxuICBmb3IgKHRoaXNbdCArIG9dID0gMjU1ICYgZTsgLS1vID49IDAgJiYgKGEgKj0gMjU2KTspIGUgPCAwICYmIDAgPT09IHMgJiYgMCAhPT0gdGhpc1t0ICsgbyArIDFdICYmIChzID0gMSksIHRoaXNbdCArIG9dID0gKGUgLyBhID4+IDApIC0gcyAmIDI1NTtcblxuICByZXR1cm4gdCArIHI7XG59LCBwLnByb3RvdHlwZS53cml0ZUludDggPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICByZXR1cm4gZSA9ICtlLCB0IHw9IDAsIHIgfHwgRih0aGlzLCBlLCB0LCAxLCAxMjcsIC0xMjgpLCBwLlRZUEVEX0FSUkFZX1NVUFBPUlQgfHwgKGUgPSBNYXRoLmZsb29yKGUpKSwgZSA8IDAgJiYgKGUgPSAyNTUgKyBlICsgMSksIHRoaXNbdF0gPSAyNTUgJiBlLCB0ICsgMTtcbn0sIHAucHJvdG90eXBlLndyaXRlSW50MTZMRSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gIHJldHVybiBlID0gK2UsIHQgfD0gMCwgciB8fCBGKHRoaXMsIGUsIHQsIDIsIDMyNzY3LCAtMzI3NjgpLCBwLlRZUEVEX0FSUkFZX1NVUFBPUlQgPyAodGhpc1t0XSA9IDI1NSAmIGUsIHRoaXNbdCArIDFdID0gZSA+Pj4gOCkgOiBOKHRoaXMsIGUsIHQsICEwKSwgdCArIDI7XG59LCBwLnByb3RvdHlwZS53cml0ZUludDE2QkUgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICByZXR1cm4gZSA9ICtlLCB0IHw9IDAsIHIgfHwgRih0aGlzLCBlLCB0LCAyLCAzMjc2NywgLTMyNzY4KSwgcC5UWVBFRF9BUlJBWV9TVVBQT1JUID8gKHRoaXNbdF0gPSBlID4+PiA4LCB0aGlzW3QgKyAxXSA9IDI1NSAmIGUpIDogTih0aGlzLCBlLCB0LCAhMSksIHQgKyAyO1xufSwgcC5wcm90b3R5cGUud3JpdGVJbnQzMkxFID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgcmV0dXJuIGUgPSArZSwgdCB8PSAwLCByIHx8IEYodGhpcywgZSwgdCwgNCwgMjE0NzQ4MzY0NywgLTIxNDc0ODM2NDgpLCBwLlRZUEVEX0FSUkFZX1NVUFBPUlQgPyAodGhpc1t0XSA9IDI1NSAmIGUsIHRoaXNbdCArIDFdID0gZSA+Pj4gOCwgdGhpc1t0ICsgMl0gPSBlID4+PiAxNiwgdGhpc1t0ICsgM10gPSBlID4+PiAyNCkgOiBaKHRoaXMsIGUsIHQsICEwKSwgdCArIDQ7XG59LCBwLnByb3RvdHlwZS53cml0ZUludDMyQkUgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICByZXR1cm4gZSA9ICtlLCB0IHw9IDAsIHIgfHwgRih0aGlzLCBlLCB0LCA0LCAyMTQ3NDgzNjQ3LCAtMjE0NzQ4MzY0OCksIGUgPCAwICYmIChlID0gNDI5NDk2NzI5NSArIGUgKyAxKSwgcC5UWVBFRF9BUlJBWV9TVVBQT1JUID8gKHRoaXNbdF0gPSBlID4+PiAyNCwgdGhpc1t0ICsgMV0gPSBlID4+PiAxNiwgdGhpc1t0ICsgMl0gPSBlID4+PiA4LCB0aGlzW3QgKyAzXSA9IDI1NSAmIGUpIDogWih0aGlzLCBlLCB0LCAhMSksIHQgKyA0O1xufSwgcC5wcm90b3R5cGUud3JpdGVGbG9hdExFID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgcmV0dXJuIFcodGhpcywgZSwgdCwgITAsIHIpO1xufSwgcC5wcm90b3R5cGUud3JpdGVGbG9hdEJFID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgcmV0dXJuIFcodGhpcywgZSwgdCwgITEsIHIpO1xufSwgcC5wcm90b3R5cGUud3JpdGVEb3VibGVMRSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gIHJldHVybiBZKHRoaXMsIGUsIHQsICEwLCByKTtcbn0sIHAucHJvdG90eXBlLndyaXRlRG91YmxlQkUgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICByZXR1cm4gWSh0aGlzLCBlLCB0LCAhMSwgcik7XG59LCBwLnByb3RvdHlwZS5jb3B5ID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcbiAgaWYgKHIgfHwgKHIgPSAwKSwgbiB8fCAwID09PSBuIHx8IChuID0gdGhpcy5sZW5ndGgpLCB0ID49IGUubGVuZ3RoICYmICh0ID0gZS5sZW5ndGgpLCB0IHx8ICh0ID0gMCksIG4gPiAwICYmIG4gPCByICYmIChuID0gciksIG4gPT09IHIpIHJldHVybiAwO1xuICBpZiAoMCA9PT0gZS5sZW5ndGggfHwgMCA9PT0gdGhpcy5sZW5ndGgpIHJldHVybiAwO1xuICBpZiAodCA8IDApIHRocm93IG5ldyBSYW5nZUVycm9yKFwidGFyZ2V0U3RhcnQgb3V0IG9mIGJvdW5kc1wiKTtcbiAgaWYgKHIgPCAwIHx8IHIgPj0gdGhpcy5sZW5ndGgpIHRocm93IG5ldyBSYW5nZUVycm9yKFwic291cmNlU3RhcnQgb3V0IG9mIGJvdW5kc1wiKTtcbiAgaWYgKG4gPCAwKSB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcInNvdXJjZUVuZCBvdXQgb2YgYm91bmRzXCIpO1xuICBuID4gdGhpcy5sZW5ndGggJiYgKG4gPSB0aGlzLmxlbmd0aCksIGUubGVuZ3RoIC0gdCA8IG4gLSByICYmIChuID0gZS5sZW5ndGggLSB0ICsgcik7XG4gIHZhciBpLFxuICAgICAgbyA9IG4gLSByO1xuICBpZiAodGhpcyA9PT0gZSAmJiByIDwgdCAmJiB0IDwgbikgZm9yIChpID0gbyAtIDE7IGkgPj0gMDsgLS1pKSBlW2kgKyB0XSA9IHRoaXNbaSArIHJdO2Vsc2UgaWYgKG8gPCAxZTMgfHwgIXAuVFlQRURfQVJSQVlfU1VQUE9SVCkgZm9yIChpID0gMDsgaSA8IG87ICsraSkgZVtpICsgdF0gPSB0aGlzW2kgKyByXTtlbHNlIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKGUsIHRoaXMuc3ViYXJyYXkociwgciArIG8pLCB0KTtcbiAgcmV0dXJuIG87XG59LCBwLnByb3RvdHlwZS5maWxsID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcbiAgaWYgKFwic3RyaW5nXCIgPT0gdHlwZW9mIGUpIHtcbiAgICBpZiAoXCJzdHJpbmdcIiA9PSB0eXBlb2YgdCA/IChuID0gdCwgdCA9IDAsIHIgPSB0aGlzLmxlbmd0aCkgOiBcInN0cmluZ1wiID09IHR5cGVvZiByICYmIChuID0gciwgciA9IHRoaXMubGVuZ3RoKSwgMSA9PT0gZS5sZW5ndGgpIHtcbiAgICAgIHZhciBpID0gZS5jaGFyQ29kZUF0KDApO1xuICAgICAgaSA8IDI1NiAmJiAoZSA9IGkpO1xuICAgIH1cblxuICAgIGlmICh2b2lkIDAgIT09IG4gJiYgXCJzdHJpbmdcIiAhPSB0eXBlb2YgbikgdGhyb3cgbmV3IFR5cGVFcnJvcihcImVuY29kaW5nIG11c3QgYmUgYSBzdHJpbmdcIik7XG4gICAgaWYgKFwic3RyaW5nXCIgPT0gdHlwZW9mIG4gJiYgIXAuaXNFbmNvZGluZyhuKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlVua25vd24gZW5jb2Rpbmc6IFwiICsgbik7XG4gIH0gZWxzZSBcIm51bWJlclwiID09IHR5cGVvZiBlICYmIChlICY9IDI1NSk7XG5cbiAgaWYgKHQgPCAwIHx8IHRoaXMubGVuZ3RoIDwgdCB8fCB0aGlzLmxlbmd0aCA8IHIpIHRocm93IG5ldyBSYW5nZUVycm9yKFwiT3V0IG9mIHJhbmdlIGluZGV4XCIpO1xuICBpZiAociA8PSB0KSByZXR1cm4gdGhpcztcbiAgdmFyIG87XG4gIGlmICh0ID4+Pj0gMCwgciA9IHZvaWQgMCA9PT0gciA/IHRoaXMubGVuZ3RoIDogciA+Pj4gMCwgZSB8fCAoZSA9IDApLCBcIm51bWJlclwiID09IHR5cGVvZiBlKSBmb3IgKG8gPSB0OyBvIDwgcjsgKytvKSB0aGlzW29dID0gZTtlbHNlIHtcbiAgICB2YXIgYSA9IHkoZSkgPyBlIDogcShuZXcgcChlLCBuKS50b1N0cmluZygpKSxcbiAgICAgICAgcyA9IGEubGVuZ3RoO1xuXG4gICAgZm9yIChvID0gMDsgbyA8IHIgLSB0OyArK28pIHRoaXNbbyArIHRdID0gYVtvICUgc107XG4gIH1cbiAgcmV0dXJuIHRoaXM7XG59O1xudmFyIEsgPSAvW14rXFwvMC05QS1aYS16LV9dL2c7XG5cbmZ1bmN0aW9uIFgoZSkge1xuICByZXR1cm4gZSA8IDE2ID8gXCIwXCIgKyBlLnRvU3RyaW5nKDE2KSA6IGUudG9TdHJpbmcoMTYpO1xufVxuXG5mdW5jdGlvbiBxKGUsIHQpIHtcbiAgdmFyIHI7XG4gIHQgPSB0IHx8IDEgLyAwO1xuXG4gIGZvciAodmFyIG4gPSBlLmxlbmd0aCwgaSA9IG51bGwsIG8gPSBbXSwgYSA9IDA7IGEgPCBuOyArK2EpIHtcbiAgICBpZiAoKHIgPSBlLmNoYXJDb2RlQXQoYSkpID4gNTUyOTUgJiYgciA8IDU3MzQ0KSB7XG4gICAgICBpZiAoIWkpIHtcbiAgICAgICAgaWYgKHIgPiA1NjMxOSkge1xuICAgICAgICAgICh0IC09IDMpID4gLTEgJiYgby5wdXNoKDIzOSwgMTkxLCAxODkpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGEgKyAxID09PSBuKSB7XG4gICAgICAgICAgKHQgLT0gMykgPiAtMSAmJiBvLnB1c2goMjM5LCAxOTEsIDE4OSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBpID0gcjtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChyIDwgNTYzMjApIHtcbiAgICAgICAgKHQgLT0gMykgPiAtMSAmJiBvLnB1c2goMjM5LCAxOTEsIDE4OSksIGkgPSByO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgciA9IDY1NTM2ICsgKGkgLSA1NTI5NiA8PCAxMCB8IHIgLSA1NjMyMCk7XG4gICAgfSBlbHNlIGkgJiYgKHQgLT0gMykgPiAtMSAmJiBvLnB1c2goMjM5LCAxOTEsIDE4OSk7XG5cbiAgICBpZiAoaSA9IG51bGwsIHIgPCAxMjgpIHtcbiAgICAgIGlmICgodCAtPSAxKSA8IDApIGJyZWFrO1xuICAgICAgby5wdXNoKHIpO1xuICAgIH0gZWxzZSBpZiAociA8IDIwNDgpIHtcbiAgICAgIGlmICgodCAtPSAyKSA8IDApIGJyZWFrO1xuICAgICAgby5wdXNoKHIgPj4gNiB8IDE5MiwgNjMgJiByIHwgMTI4KTtcbiAgICB9IGVsc2UgaWYgKHIgPCA2NTUzNikge1xuICAgICAgaWYgKCh0IC09IDMpIDwgMCkgYnJlYWs7XG4gICAgICBvLnB1c2gociA+PiAxMiB8IDIyNCwgciA+PiA2ICYgNjMgfCAxMjgsIDYzICYgciB8IDEyOCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghKHIgPCAxMTE0MTEyKSkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjb2RlIHBvaW50XCIpO1xuICAgICAgaWYgKCh0IC09IDQpIDwgMCkgYnJlYWs7XG4gICAgICBvLnB1c2gociA+PiAxOCB8IDI0MCwgciA+PiAxMiAmIDYzIHwgMTI4LCByID4+IDYgJiA2MyB8IDEyOCwgNjMgJiByIHwgMTI4KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbztcbn1cblxuZnVuY3Rpb24gVihlKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoZSkge1xuICAgIHZhciB0LCBhLCBzLCBoLCBsLCBmO1xuICAgIGkgfHwgbygpO1xuICAgIHZhciBjID0gZS5sZW5ndGg7XG4gICAgaWYgKGMgJSA0ID4gMCkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNFwiKTtcbiAgICBsID0gXCI9XCIgPT09IGVbYyAtIDJdID8gMiA6IFwiPVwiID09PSBlW2MgLSAxXSA/IDEgOiAwLCBmID0gbmV3IG4oMyAqIGMgLyA0IC0gbCksIHMgPSBsID4gMCA/IGMgLSA0IDogYztcbiAgICB2YXIgdSA9IDA7XG5cbiAgICBmb3IgKHQgPSAwLCBhID0gMDsgdCA8IHM7IHQgKz0gNCwgYSArPSAzKSBoID0gcltlLmNoYXJDb2RlQXQodCldIDw8IDE4IHwgcltlLmNoYXJDb2RlQXQodCArIDEpXSA8PCAxMiB8IHJbZS5jaGFyQ29kZUF0KHQgKyAyKV0gPDwgNiB8IHJbZS5jaGFyQ29kZUF0KHQgKyAzKV0sIGZbdSsrXSA9IGggPj4gMTYgJiAyNTUsIGZbdSsrXSA9IGggPj4gOCAmIDI1NSwgZlt1KytdID0gMjU1ICYgaDtcblxuICAgIHJldHVybiAyID09PSBsID8gKGggPSByW2UuY2hhckNvZGVBdCh0KV0gPDwgMiB8IHJbZS5jaGFyQ29kZUF0KHQgKyAxKV0gPj4gNCwgZlt1KytdID0gMjU1ICYgaCkgOiAxID09PSBsICYmIChoID0gcltlLmNoYXJDb2RlQXQodCldIDw8IDEwIHwgcltlLmNoYXJDb2RlQXQodCArIDEpXSA8PCA0IHwgcltlLmNoYXJDb2RlQXQodCArIDIpXSA+PiAyLCBmW3UrK10gPSBoID4+IDggJiAyNTUsIGZbdSsrXSA9IDI1NSAmIGgpLCBmO1xuICB9KGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKChlID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIHJldHVybiBlLnRyaW0gPyBlLnRyaW0oKSA6IGUucmVwbGFjZSgvXlxccyt8XFxzKyQvZywgXCJcIik7XG4gICAgfShlKS5yZXBsYWNlKEssIFwiXCIpKS5sZW5ndGggPCAyKSByZXR1cm4gXCJcIjtcblxuICAgIGZvciAoOyBlLmxlbmd0aCAlIDQgIT0gMDspIGUgKz0gXCI9XCI7XG5cbiAgICByZXR1cm4gZTtcbiAgfShlKSk7XG59XG5cbmZ1bmN0aW9uIEcoZSwgdCwgciwgbikge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IG4gJiYgIShpICsgciA+PSB0Lmxlbmd0aCB8fCBpID49IGUubGVuZ3RoKTsgKytpKSB0W2kgKyByXSA9IGVbaV07XG5cbiAgcmV0dXJuIGk7XG59XG5cbmZ1bmN0aW9uICQoZSkge1xuICByZXR1cm4gbnVsbCAhPSBlICYmICghIWUuX2lzQnVmZmVyIHx8IEooZSkgfHwgZnVuY3Rpb24gKGUpIHtcbiAgICByZXR1cm4gXCJmdW5jdGlvblwiID09IHR5cGVvZiBlLnJlYWRGbG9hdExFICYmIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgZS5zbGljZSAmJiBKKGUuc2xpY2UoMCwgMCkpO1xuICB9KGUpKTtcbn1cblxuZnVuY3Rpb24gSihlKSB7XG4gIHJldHVybiAhIWUuY29uc3RydWN0b3IgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBlLmNvbnN0cnVjdG9yLmlzQnVmZmVyICYmIGUuY29uc3RydWN0b3IuaXNCdWZmZXIoZSk7XG59XG5cblwidW5kZWZpbmVkXCIgIT0gdHlwZW9mIGdsb2JhbFRoaXMgPyBnbG9iYWxUaGlzIDogXCJ1bmRlZmluZWRcIiAhPSB0eXBlb2Ygd2luZG93ID8gd2luZG93IDogXCJ1bmRlZmluZWRcIiAhPSB0eXBlb2YgZ2xvYmFsID8gZ2xvYmFsIDogXCJ1bmRlZmluZWRcIiAhPSB0eXBlb2Ygc2VsZiAmJiBzZWxmO1xuXG5mdW5jdGlvbiBRKGUsIHQpIHtcbiAgcmV0dXJuIGUodCA9IHtcbiAgICBleHBvcnRzOiB7fVxuICB9LCB0LmV4cG9ydHMpLCB0LmV4cG9ydHM7XG59XG5cbnZhciBlZSA9IFEoZnVuY3Rpb24gKGUsIHQpIHtcbiAgdmFyIHI7XG4gIGUuZXhwb3J0cyA9IChyID0gciB8fCBmdW5jdGlvbiAoZSwgdCkge1xuICAgIHZhciByID0gT2JqZWN0LmNyZWF0ZSB8fCBmdW5jdGlvbiAoKSB7XG4gICAgICBmdW5jdGlvbiBlKCkge31cblxuICAgICAgcmV0dXJuIGZ1bmN0aW9uICh0KSB7XG4gICAgICAgIHZhciByO1xuICAgICAgICByZXR1cm4gZS5wcm90b3R5cGUgPSB0LCByID0gbmV3IGUoKSwgZS5wcm90b3R5cGUgPSBudWxsLCByO1xuICAgICAgfTtcbiAgICB9KCksXG4gICAgICAgIG4gPSB7fSxcbiAgICAgICAgaSA9IG4ubGliID0ge30sXG4gICAgICAgIG8gPSBpLkJhc2UgPSB7XG4gICAgICBleHRlbmQ6IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIHZhciB0ID0gcih0aGlzKTtcbiAgICAgICAgcmV0dXJuIGUgJiYgdC5taXhJbihlKSwgdC5oYXNPd25Qcm9wZXJ0eShcImluaXRcIikgJiYgdGhpcy5pbml0ICE9PSB0LmluaXQgfHwgKHQuaW5pdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICB0LiRzdXBlci5pbml0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgIH0pLCB0LmluaXQucHJvdG90eXBlID0gdCwgdC4kc3VwZXIgPSB0aGlzLCB0O1xuICAgICAgfSxcbiAgICAgIGNyZWF0ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgZSA9IHRoaXMuZXh0ZW5kKCk7XG4gICAgICAgIHJldHVybiBlLmluaXQuYXBwbHkoZSwgYXJndW1lbnRzKSwgZTtcbiAgICAgIH0sXG4gICAgICBpbml0OiBmdW5jdGlvbiAoKSB7fSxcbiAgICAgIG1peEluOiBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0IGluIGUpIGUuaGFzT3duUHJvcGVydHkodCkgJiYgKHRoaXNbdF0gPSBlW3RdKTtcblxuICAgICAgICBlLmhhc093blByb3BlcnR5KFwidG9TdHJpbmdcIikgJiYgKHRoaXMudG9TdHJpbmcgPSBlLnRvU3RyaW5nKTtcbiAgICAgIH0sXG4gICAgICBjbG9uZTogZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pbml0LnByb3RvdHlwZS5leHRlbmQodGhpcyk7XG4gICAgICB9XG4gICAgfSxcbiAgICAgICAgYSA9IGkuV29yZEFycmF5ID0gby5leHRlbmQoe1xuICAgICAgaW5pdDogZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgICAgZSA9IHRoaXMud29yZHMgPSBlIHx8IFtdLCB0aGlzLnNpZ0J5dGVzID0gbnVsbCAhPSB0ID8gdCA6IDQgKiBlLmxlbmd0aDtcbiAgICAgIH0sXG4gICAgICB0b1N0cmluZzogZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgcmV0dXJuIChlIHx8IGgpLnN0cmluZ2lmeSh0aGlzKTtcbiAgICAgIH0sXG4gICAgICBjb25jYXQ6IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIHZhciB0ID0gdGhpcy53b3JkcyxcbiAgICAgICAgICAgIHIgPSBlLndvcmRzLFxuICAgICAgICAgICAgbiA9IHRoaXMuc2lnQnl0ZXMsXG4gICAgICAgICAgICBpID0gZS5zaWdCeXRlcztcbiAgICAgICAgaWYgKHRoaXMuY2xhbXAoKSwgbiAlIDQpIGZvciAodmFyIG8gPSAwOyBvIDwgaTsgbysrKSB7XG4gICAgICAgICAgdmFyIGEgPSByW28gPj4+IDJdID4+PiAyNCAtIG8gJSA0ICogOCAmIDI1NTtcbiAgICAgICAgICB0W24gKyBvID4+PiAyXSB8PSBhIDw8IDI0IC0gKG4gKyBvKSAlIDQgKiA4O1xuICAgICAgICB9IGVsc2UgZm9yICh2YXIgbyA9IDA7IG8gPCBpOyBvICs9IDQpIHRbbiArIG8gPj4+IDJdID0gcltvID4+PiAyXTtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lnQnl0ZXMgKz0gaSwgdGhpcztcbiAgICAgIH0sXG4gICAgICBjbGFtcDogZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgdCA9IHRoaXMud29yZHMsXG4gICAgICAgICAgICByID0gdGhpcy5zaWdCeXRlcztcbiAgICAgICAgdFtyID4+PiAyXSAmPSA0Mjk0OTY3Mjk1IDw8IDMyIC0gciAlIDQgKiA4LCB0Lmxlbmd0aCA9IGUuY2VpbChyIC8gNCk7XG4gICAgICB9LFxuICAgICAgY2xvbmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGUgPSBvLmNsb25lLmNhbGwodGhpcyk7XG4gICAgICAgIHJldHVybiBlLndvcmRzID0gdGhpcy53b3Jkcy5zbGljZSgwKSwgZTtcbiAgICAgIH0sXG4gICAgICByYW5kb206IGZ1bmN0aW9uICh0KSB7XG4gICAgICAgIGZvciAodmFyIHIsIG4gPSBbXSwgaSA9IGZ1bmN0aW9uICh0KSB7XG4gICAgICAgICAgdmFyIHQgPSB0LFxuICAgICAgICAgICAgICByID0gOTg3NjU0MzIxLFxuICAgICAgICAgICAgICBuID0gNDI5NDk2NzI5NTtcbiAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIGkgPSAoKHIgPSAzNjk2OSAqICg2NTUzNSAmIHIpICsgKHIgPj4gMTYpICYgbikgPDwgMTYpICsgKHQgPSAxOGUzICogKDY1NTM1ICYgdCkgKyAodCA+PiAxNikgJiBuKSAmIG47XG4gICAgICAgICAgICByZXR1cm4gaSAvPSA0Mjk0OTY3Mjk2LCAoaSArPSAuNSkgKiAoZS5yYW5kb20oKSA+IC41ID8gMSA6IC0xKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9LCBvID0gMDsgbyA8IHQ7IG8gKz0gNCkge1xuICAgICAgICAgIHZhciBzID0gaSg0Mjk0OTY3Mjk2ICogKHIgfHwgZS5yYW5kb20oKSkpO1xuICAgICAgICAgIHIgPSA5ODc2NTQwNzEgKiBzKCksIG4ucHVzaCg0Mjk0OTY3Mjk2ICogcygpIHwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbmV3IGEuaW5pdChuLCB0KTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICAgICAgcyA9IG4uZW5jID0ge30sXG4gICAgICAgIGggPSBzLkhleCA9IHtcbiAgICAgIHN0cmluZ2lmeTogZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCA9IGUud29yZHMsIHIgPSBlLnNpZ0J5dGVzLCBuID0gW10sIGkgPSAwOyBpIDwgcjsgaSsrKSB7XG4gICAgICAgICAgdmFyIG8gPSB0W2kgPj4+IDJdID4+PiAyNCAtIGkgJSA0ICogOCAmIDI1NTtcbiAgICAgICAgICBuLnB1c2goKG8gPj4+IDQpLnRvU3RyaW5nKDE2KSksIG4ucHVzaCgoMTUgJiBvKS50b1N0cmluZygxNikpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG4uam9pbihcIlwiKTtcbiAgICAgIH0sXG4gICAgICBwYXJzZTogZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCA9IGUubGVuZ3RoLCByID0gW10sIG4gPSAwOyBuIDwgdDsgbiArPSAyKSByW24gPj4+IDNdIHw9IHBhcnNlSW50KGUuc3Vic3RyKG4sIDIpLCAxNikgPDwgMjQgLSBuICUgOCAqIDQ7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBhLmluaXQociwgdCAvIDIpO1xuICAgICAgfVxuICAgIH0sXG4gICAgICAgIGwgPSBzLkxhdGluMSA9IHtcbiAgICAgIHN0cmluZ2lmeTogZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgdCA9IGUud29yZHMsIHIgPSBlLnNpZ0J5dGVzLCBuID0gW10sIGkgPSAwOyBpIDwgcjsgaSsrKSB7XG4gICAgICAgICAgdmFyIG8gPSB0W2kgPj4+IDJdID4+PiAyNCAtIGkgJSA0ICogOCAmIDI1NTtcbiAgICAgICAgICBuLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShvKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbi5qb2luKFwiXCIpO1xuICAgICAgfSxcbiAgICAgIHBhcnNlOiBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0ID0gZS5sZW5ndGgsIHIgPSBbXSwgbiA9IDA7IG4gPCB0OyBuKyspIHJbbiA+Pj4gMl0gfD0gKDI1NSAmIGUuY2hhckNvZGVBdChuKSkgPDwgMjQgLSBuICUgNCAqIDg7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBhLmluaXQociwgdCk7XG4gICAgICB9XG4gICAgfSxcbiAgICAgICAgZiA9IHMuVXRmOCA9IHtcbiAgICAgIHN0cmluZ2lmeTogZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZShsLnN0cmluZ2lmeShlKSkpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWFsZm9ybWVkIFVURi04IGRhdGFcIik7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBwYXJzZTogZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgcmV0dXJuIGwucGFyc2UodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KGUpKSk7XG4gICAgICB9XG4gICAgfSxcbiAgICAgICAgYyA9IGkuQnVmZmVyZWRCbG9ja0FsZ29yaXRobSA9IG8uZXh0ZW5kKHtcbiAgICAgIHJlc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuX2RhdGEgPSBuZXcgYS5pbml0KCksIHRoaXMuX25EYXRhQnl0ZXMgPSAwO1xuICAgICAgfSxcbiAgICAgIF9hcHBlbmQ6IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIFwic3RyaW5nXCIgPT0gdHlwZW9mIGUgJiYgKGUgPSBmLnBhcnNlKGUpKSwgdGhpcy5fZGF0YS5jb25jYXQoZSksIHRoaXMuX25EYXRhQnl0ZXMgKz0gZS5zaWdCeXRlcztcbiAgICAgIH0sXG4gICAgICBfcHJvY2VzczogZnVuY3Rpb24gKHQpIHtcbiAgICAgICAgdmFyIHIgPSB0aGlzLl9kYXRhLFxuICAgICAgICAgICAgbiA9IHIud29yZHMsXG4gICAgICAgICAgICBpID0gci5zaWdCeXRlcyxcbiAgICAgICAgICAgIG8gPSB0aGlzLmJsb2NrU2l6ZSxcbiAgICAgICAgICAgIHMgPSA0ICogbyxcbiAgICAgICAgICAgIGggPSBpIC8gcyxcbiAgICAgICAgICAgIGwgPSAoaCA9IHQgPyBlLmNlaWwoaCkgOiBlLm1heCgoMCB8IGgpIC0gdGhpcy5fbWluQnVmZmVyU2l6ZSwgMCkpICogbyxcbiAgICAgICAgICAgIGYgPSBlLm1pbig0ICogbCwgaSk7XG5cbiAgICAgICAgaWYgKGwpIHtcbiAgICAgICAgICBmb3IgKHZhciBjID0gMDsgYyA8IGw7IGMgKz0gbykgdGhpcy5fZG9Qcm9jZXNzQmxvY2sobiwgYyk7XG5cbiAgICAgICAgICB2YXIgdSA9IG4uc3BsaWNlKDAsIGwpO1xuICAgICAgICAgIHIuc2lnQnl0ZXMgLT0gZjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgYS5pbml0KHUsIGYpO1xuICAgICAgfSxcbiAgICAgIGNsb25lOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBlID0gby5jbG9uZS5jYWxsKHRoaXMpO1xuICAgICAgICByZXR1cm4gZS5fZGF0YSA9IHRoaXMuX2RhdGEuY2xvbmUoKSwgZTtcbiAgICAgIH0sXG4gICAgICBfbWluQnVmZmVyU2l6ZTogMFxuICAgIH0pLFxuICAgICAgICB1ID0gKGkuSGFzaGVyID0gYy5leHRlbmQoe1xuICAgICAgY2ZnOiBvLmV4dGVuZCgpLFxuICAgICAgaW5pdDogZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgdGhpcy5jZmcgPSB0aGlzLmNmZy5leHRlbmQoZSksIHRoaXMucmVzZXQoKTtcbiAgICAgIH0sXG4gICAgICByZXNldDogZnVuY3Rpb24gKCkge1xuICAgICAgICBjLnJlc2V0LmNhbGwodGhpcyksIHRoaXMuX2RvUmVzZXQoKTtcbiAgICAgIH0sXG4gICAgICB1cGRhdGU6IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcHBlbmQoZSksIHRoaXMuX3Byb2Nlc3MoKSwgdGhpcztcbiAgICAgIH0sXG4gICAgICBmaW5hbGl6ZTogZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZSAmJiB0aGlzLl9hcHBlbmQoZSk7XG5cbiAgICAgICAgdmFyIHQgPSB0aGlzLl9kb0ZpbmFsaXplKCk7XG5cbiAgICAgICAgcmV0dXJuIHQ7XG4gICAgICB9LFxuICAgICAgYmxvY2tTaXplOiAxNixcbiAgICAgIF9jcmVhdGVIZWxwZXI6IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAodCwgcikge1xuICAgICAgICAgIHJldHVybiBuZXcgZS5pbml0KHIpLmZpbmFsaXplKHQpO1xuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIF9jcmVhdGVIbWFjSGVscGVyOiBmdW5jdGlvbiAoZSkge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHQsIHIpIHtcbiAgICAgICAgICByZXR1cm4gbmV3IHUuSE1BQy5pbml0KGUsIHIpLmZpbmFsaXplKHQpO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0pLCBuLmFsZ28gPSB7fSk7XG5cbiAgICByZXR1cm4gbjtcbiAgfShNYXRoKSwgcik7XG59KSxcbiAgICB0ZSA9IChRKGZ1bmN0aW9uIChlLCB0KSB7XG4gIHZhciByLCBuLCBpLCBvLCBhLCBzO1xuICBlLmV4cG9ydHMgPSAoaSA9IChuID0gciA9IGVlKS5saWIsIG8gPSBpLkJhc2UsIGEgPSBpLldvcmRBcnJheSwgKHMgPSBuLng2NCA9IHt9KS5Xb3JkID0gby5leHRlbmQoe1xuICAgIGluaXQ6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICB0aGlzLmhpZ2ggPSBlLCB0aGlzLmxvdyA9IHQ7XG4gICAgfVxuICB9KSwgcy5Xb3JkQXJyYXkgPSBvLmV4dGVuZCh7XG4gICAgaW5pdDogZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIGUgPSB0aGlzLndvcmRzID0gZSB8fCBbXSwgdGhpcy5zaWdCeXRlcyA9IG51bGwgIT0gdCA/IHQgOiA4ICogZS5sZW5ndGg7XG4gICAgfSxcbiAgICB0b1gzMjogZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgZSA9IHRoaXMud29yZHMsIHQgPSBlLmxlbmd0aCwgciA9IFtdLCBuID0gMDsgbiA8IHQ7IG4rKykge1xuICAgICAgICB2YXIgaSA9IGVbbl07XG4gICAgICAgIHIucHVzaChpLmhpZ2gpLCByLnB1c2goaS5sb3cpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYS5jcmVhdGUociwgdGhpcy5zaWdCeXRlcyk7XG4gICAgfSxcbiAgICBjbG9uZTogZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgZSA9IG8uY2xvbmUuY2FsbCh0aGlzKSwgdCA9IGUud29yZHMgPSB0aGlzLndvcmRzLnNsaWNlKDApLCByID0gdC5sZW5ndGgsIG4gPSAwOyBuIDwgcjsgbisrKSB0W25dID0gdFtuXS5jbG9uZSgpO1xuXG4gICAgICByZXR1cm4gZTtcbiAgICB9XG4gIH0pLCByKTtcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XG4gIHZhciByO1xuICBlLmV4cG9ydHMgPSAociA9IGVlLCBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgQXJyYXlCdWZmZXIpIHtcbiAgICAgIHZhciBlID0gci5saWIuV29yZEFycmF5LFxuICAgICAgICAgIHQgPSBlLmluaXQ7XG4gICAgICAoZS5pbml0ID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciAmJiAoZSA9IG5ldyBVaW50OEFycmF5KGUpKSwgKGUgaW5zdGFuY2VvZiBJbnQ4QXJyYXkgfHwgXCJ1bmRlZmluZWRcIiAhPSB0eXBlb2YgVWludDhDbGFtcGVkQXJyYXkgJiYgZSBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5IHx8IGUgaW5zdGFuY2VvZiBJbnQxNkFycmF5IHx8IGUgaW5zdGFuY2VvZiBVaW50MTZBcnJheSB8fCBlIGluc3RhbmNlb2YgSW50MzJBcnJheSB8fCBlIGluc3RhbmNlb2YgVWludDMyQXJyYXkgfHwgZSBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheSB8fCBlIGluc3RhbmNlb2YgRmxvYXQ2NEFycmF5KSAmJiAoZSA9IG5ldyBVaW50OEFycmF5KGUuYnVmZmVyLCBlLmJ5dGVPZmZzZXQsIGUuYnl0ZUxlbmd0aCkpLCBlIGluc3RhbmNlb2YgVWludDhBcnJheSkge1xuICAgICAgICAgIGZvciAodmFyIHIgPSBlLmJ5dGVMZW5ndGgsIG4gPSBbXSwgaSA9IDA7IGkgPCByOyBpKyspIG5baSA+Pj4gMl0gfD0gZVtpXSA8PCAyNCAtIGkgJSA0ICogODtcblxuICAgICAgICAgIHQuY2FsbCh0aGlzLCBuLCByKTtcbiAgICAgICAgfSBlbHNlIHQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgIH0pLnByb3RvdHlwZSA9IGU7XG4gICAgfVxuICB9KCksIHIubGliLldvcmRBcnJheSk7XG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgcjtcbiAgZS5leHBvcnRzID0gKHIgPSBlZSwgZnVuY3Rpb24gKCkge1xuICAgIHZhciBlID0gcixcbiAgICAgICAgdCA9IGUubGliLldvcmRBcnJheSxcbiAgICAgICAgbiA9IGUuZW5jO1xuXG4gICAgZnVuY3Rpb24gaShlKSB7XG4gICAgICByZXR1cm4gZSA8PCA4ICYgNDI3ODI1NTM2MCB8IGUgPj4+IDggJiAxNjcxMTkzNTtcbiAgICB9XG5cbiAgICBuLlV0ZjE2ID0gbi5VdGYxNkJFID0ge1xuICAgICAgc3RyaW5naWZ5OiBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciB0ID0gZS53b3JkcywgciA9IGUuc2lnQnl0ZXMsIG4gPSBbXSwgaSA9IDA7IGkgPCByOyBpICs9IDIpIHtcbiAgICAgICAgICB2YXIgbyA9IHRbaSA+Pj4gMl0gPj4+IDE2IC0gaSAlIDQgKiA4ICYgNjU1MzU7XG4gICAgICAgICAgbi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUobykpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG4uam9pbihcIlwiKTtcbiAgICAgIH0sXG4gICAgICBwYXJzZTogZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgZm9yICh2YXIgciA9IGUubGVuZ3RoLCBuID0gW10sIGkgPSAwOyBpIDwgcjsgaSsrKSBuW2kgPj4+IDFdIHw9IGUuY2hhckNvZGVBdChpKSA8PCAxNiAtIGkgJSAyICogMTY7XG5cbiAgICAgICAgcmV0dXJuIHQuY3JlYXRlKG4sIDIgKiByKTtcbiAgICAgIH1cbiAgICB9LCBuLlV0ZjE2TEUgPSB7XG4gICAgICBzdHJpbmdpZnk6IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGZvciAodmFyIHQgPSBlLndvcmRzLCByID0gZS5zaWdCeXRlcywgbiA9IFtdLCBvID0gMDsgbyA8IHI7IG8gKz0gMikge1xuICAgICAgICAgIHZhciBhID0gaSh0W28gPj4+IDJdID4+PiAxNiAtIG8gJSA0ICogOCAmIDY1NTM1KTtcbiAgICAgICAgICBuLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShhKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbi5qb2luKFwiXCIpO1xuICAgICAgfSxcbiAgICAgIHBhcnNlOiBmdW5jdGlvbiAoZSkge1xuICAgICAgICBmb3IgKHZhciByID0gZS5sZW5ndGgsIG4gPSBbXSwgbyA9IDA7IG8gPCByOyBvKyspIG5bbyA+Pj4gMV0gfD0gaShlLmNoYXJDb2RlQXQobykgPDwgMTYgLSBvICUgMiAqIDE2KTtcblxuICAgICAgICByZXR1cm4gdC5jcmVhdGUobiwgMiAqIHIpO1xuICAgICAgfVxuICAgIH07XG4gIH0oKSwgci5lbmMuVXRmMTYpO1xufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcbiAgdmFyIHIsIG4sIGk7XG4gIGUuZXhwb3J0cyA9IChpID0gKG4gPSByID0gZWUpLmxpYi5Xb3JkQXJyYXksIG4uZW5jLkJhc2U2NCA9IHtcbiAgICBzdHJpbmdpZnk6IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUud29yZHMsXG4gICAgICAgICAgciA9IGUuc2lnQnl0ZXMsXG4gICAgICAgICAgbiA9IHRoaXMuX21hcDtcbiAgICAgIGUuY2xhbXAoKTtcblxuICAgICAgZm9yICh2YXIgaSA9IFtdLCBvID0gMDsgbyA8IHI7IG8gKz0gMykgZm9yICh2YXIgYSA9ICh0W28gPj4+IDJdID4+PiAyNCAtIG8gJSA0ICogOCAmIDI1NSkgPDwgMTYgfCAodFtvICsgMSA+Pj4gMl0gPj4+IDI0IC0gKG8gKyAxKSAlIDQgKiA4ICYgMjU1KSA8PCA4IHwgdFtvICsgMiA+Pj4gMl0gPj4+IDI0IC0gKG8gKyAyKSAlIDQgKiA4ICYgMjU1LCBzID0gMDsgcyA8IDQgJiYgbyArIC43NSAqIHMgPCByOyBzKyspIGkucHVzaChuLmNoYXJBdChhID4+PiA2ICogKDMgLSBzKSAmIDYzKSk7XG5cbiAgICAgIHZhciBoID0gbi5jaGFyQXQoNjQpO1xuICAgICAgaWYgKGgpIGZvciAoOyBpLmxlbmd0aCAlIDQ7KSBpLnB1c2goaCk7XG4gICAgICByZXR1cm4gaS5qb2luKFwiXCIpO1xuICAgIH0sXG4gICAgcGFyc2U6IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUubGVuZ3RoLFxuICAgICAgICAgIHIgPSB0aGlzLl9tYXAsXG4gICAgICAgICAgbiA9IHRoaXMuX3JldmVyc2VNYXA7XG5cbiAgICAgIGlmICghbikge1xuICAgICAgICBuID0gdGhpcy5fcmV2ZXJzZU1hcCA9IFtdO1xuXG4gICAgICAgIGZvciAodmFyIG8gPSAwOyBvIDwgci5sZW5ndGg7IG8rKykgbltyLmNoYXJDb2RlQXQobyldID0gbztcbiAgICAgIH1cblxuICAgICAgdmFyIGEgPSByLmNoYXJBdCg2NCk7XG5cbiAgICAgIGlmIChhKSB7XG4gICAgICAgIHZhciBzID0gZS5pbmRleE9mKGEpO1xuICAgICAgICAtMSAhPT0gcyAmJiAodCA9IHMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICAgICAgZm9yICh2YXIgbiA9IFtdLCBvID0gMCwgYSA9IDA7IGEgPCB0OyBhKyspIGlmIChhICUgNCkge1xuICAgICAgICAgIHZhciBzID0gcltlLmNoYXJDb2RlQXQoYSAtIDEpXSA8PCBhICUgNCAqIDIsXG4gICAgICAgICAgICAgIGggPSByW2UuY2hhckNvZGVBdChhKV0gPj4+IDYgLSBhICUgNCAqIDI7XG4gICAgICAgICAgbltvID4+PiAyXSB8PSAocyB8IGgpIDw8IDI0IC0gbyAlIDQgKiA4LCBvKys7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaS5jcmVhdGUobiwgbyk7XG4gICAgICB9KGUsIHQsIG4pO1xuICAgIH0sXG4gICAgX21hcDogXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPVwiXG4gIH0sIHIuZW5jLkJhc2U2NCk7XG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgcjtcbiAgZS5leHBvcnRzID0gKHIgPSBlZSwgZnVuY3Rpb24gKGUpIHtcbiAgICB2YXIgdCA9IHIsXG4gICAgICAgIG4gPSB0LmxpYixcbiAgICAgICAgaSA9IG4uV29yZEFycmF5LFxuICAgICAgICBvID0gbi5IYXNoZXIsXG4gICAgICAgIGEgPSB0LmFsZ28sXG4gICAgICAgIHMgPSBbXTtcbiAgICAhZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgdCA9IDA7IHQgPCA2NDsgdCsrKSBzW3RdID0gNDI5NDk2NzI5NiAqIGUuYWJzKGUuc2luKHQgKyAxKSkgfCAwO1xuICAgIH0oKTtcbiAgICB2YXIgaCA9IGEuTUQ1ID0gby5leHRlbmQoe1xuICAgICAgX2RvUmVzZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5faGFzaCA9IG5ldyBpLmluaXQoWzE3MzI1ODQxOTMsIDQwMjMyMzM0MTcsIDI1NjIzODMxMDIsIDI3MTczMzg3OF0pO1xuICAgICAgfSxcbiAgICAgIF9kb1Byb2Nlc3NCbG9jazogZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgICAgZm9yICh2YXIgciA9IDA7IHIgPCAxNjsgcisrKSB7XG4gICAgICAgICAgdmFyIG4gPSB0ICsgcixcbiAgICAgICAgICAgICAgaSA9IGVbbl07XG4gICAgICAgICAgZVtuXSA9IDE2NzExOTM1ICYgKGkgPDwgOCB8IGkgPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAoaSA8PCAyNCB8IGkgPj4+IDgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIG8gPSB0aGlzLl9oYXNoLndvcmRzLFxuICAgICAgICAgICAgYSA9IGVbdCArIDBdLFxuICAgICAgICAgICAgaCA9IGVbdCArIDFdLFxuICAgICAgICAgICAgZCA9IGVbdCArIDJdLFxuICAgICAgICAgICAgcCA9IGVbdCArIDNdLFxuICAgICAgICAgICAgXyA9IGVbdCArIDRdLFxuICAgICAgICAgICAgZyA9IGVbdCArIDVdLFxuICAgICAgICAgICAgdiA9IGVbdCArIDZdLFxuICAgICAgICAgICAgdyA9IGVbdCArIDddLFxuICAgICAgICAgICAgYiA9IGVbdCArIDhdLFxuICAgICAgICAgICAgeSA9IGVbdCArIDldLFxuICAgICAgICAgICAgbSA9IGVbdCArIDEwXSxcbiAgICAgICAgICAgIGsgPSBlW3QgKyAxMV0sXG4gICAgICAgICAgICBFID0gZVt0ICsgMTJdLFxuICAgICAgICAgICAgUyA9IGVbdCArIDEzXSxcbiAgICAgICAgICAgIHggPSBlW3QgKyAxNF0sXG4gICAgICAgICAgICBSID0gZVt0ICsgMTVdLFxuICAgICAgICAgICAgQSA9IG9bMF0sXG4gICAgICAgICAgICBCID0gb1sxXSxcbiAgICAgICAgICAgIHogPSBvWzJdLFxuICAgICAgICAgICAgTCA9IG9bM107XG4gICAgICAgIEEgPSBsKEEsIEIsIHosIEwsIGEsIDcsIHNbMF0pLCBMID0gbChMLCBBLCBCLCB6LCBoLCAxMiwgc1sxXSksIHogPSBsKHosIEwsIEEsIEIsIGQsIDE3LCBzWzJdKSwgQiA9IGwoQiwgeiwgTCwgQSwgcCwgMjIsIHNbM10pLCBBID0gbChBLCBCLCB6LCBMLCBfLCA3LCBzWzRdKSwgTCA9IGwoTCwgQSwgQiwgeiwgZywgMTIsIHNbNV0pLCB6ID0gbCh6LCBMLCBBLCBCLCB2LCAxNywgc1s2XSksIEIgPSBsKEIsIHosIEwsIEEsIHcsIDIyLCBzWzddKSwgQSA9IGwoQSwgQiwgeiwgTCwgYiwgNywgc1s4XSksIEwgPSBsKEwsIEEsIEIsIHosIHksIDEyLCBzWzldKSwgeiA9IGwoeiwgTCwgQSwgQiwgbSwgMTcsIHNbMTBdKSwgQiA9IGwoQiwgeiwgTCwgQSwgaywgMjIsIHNbMTFdKSwgQSA9IGwoQSwgQiwgeiwgTCwgRSwgNywgc1sxMl0pLCBMID0gbChMLCBBLCBCLCB6LCBTLCAxMiwgc1sxM10pLCB6ID0gbCh6LCBMLCBBLCBCLCB4LCAxNywgc1sxNF0pLCBBID0gZihBLCBCID0gbChCLCB6LCBMLCBBLCBSLCAyMiwgc1sxNV0pLCB6LCBMLCBoLCA1LCBzWzE2XSksIEwgPSBmKEwsIEEsIEIsIHosIHYsIDksIHNbMTddKSwgeiA9IGYoeiwgTCwgQSwgQiwgaywgMTQsIHNbMThdKSwgQiA9IGYoQiwgeiwgTCwgQSwgYSwgMjAsIHNbMTldKSwgQSA9IGYoQSwgQiwgeiwgTCwgZywgNSwgc1syMF0pLCBMID0gZihMLCBBLCBCLCB6LCBtLCA5LCBzWzIxXSksIHogPSBmKHosIEwsIEEsIEIsIFIsIDE0LCBzWzIyXSksIEIgPSBmKEIsIHosIEwsIEEsIF8sIDIwLCBzWzIzXSksIEEgPSBmKEEsIEIsIHosIEwsIHksIDUsIHNbMjRdKSwgTCA9IGYoTCwgQSwgQiwgeiwgeCwgOSwgc1syNV0pLCB6ID0gZih6LCBMLCBBLCBCLCBwLCAxNCwgc1syNl0pLCBCID0gZihCLCB6LCBMLCBBLCBiLCAyMCwgc1syN10pLCBBID0gZihBLCBCLCB6LCBMLCBTLCA1LCBzWzI4XSksIEwgPSBmKEwsIEEsIEIsIHosIGQsIDksIHNbMjldKSwgeiA9IGYoeiwgTCwgQSwgQiwgdywgMTQsIHNbMzBdKSwgQSA9IGMoQSwgQiA9IGYoQiwgeiwgTCwgQSwgRSwgMjAsIHNbMzFdKSwgeiwgTCwgZywgNCwgc1szMl0pLCBMID0gYyhMLCBBLCBCLCB6LCBiLCAxMSwgc1szM10pLCB6ID0gYyh6LCBMLCBBLCBCLCBrLCAxNiwgc1szNF0pLCBCID0gYyhCLCB6LCBMLCBBLCB4LCAyMywgc1szNV0pLCBBID0gYyhBLCBCLCB6LCBMLCBoLCA0LCBzWzM2XSksIEwgPSBjKEwsIEEsIEIsIHosIF8sIDExLCBzWzM3XSksIHogPSBjKHosIEwsIEEsIEIsIHcsIDE2LCBzWzM4XSksIEIgPSBjKEIsIHosIEwsIEEsIG0sIDIzLCBzWzM5XSksIEEgPSBjKEEsIEIsIHosIEwsIFMsIDQsIHNbNDBdKSwgTCA9IGMoTCwgQSwgQiwgeiwgYSwgMTEsIHNbNDFdKSwgeiA9IGMoeiwgTCwgQSwgQiwgcCwgMTYsIHNbNDJdKSwgQiA9IGMoQiwgeiwgTCwgQSwgdiwgMjMsIHNbNDNdKSwgQSA9IGMoQSwgQiwgeiwgTCwgeSwgNCwgc1s0NF0pLCBMID0gYyhMLCBBLCBCLCB6LCBFLCAxMSwgc1s0NV0pLCB6ID0gYyh6LCBMLCBBLCBCLCBSLCAxNiwgc1s0Nl0pLCBBID0gdShBLCBCID0gYyhCLCB6LCBMLCBBLCBkLCAyMywgc1s0N10pLCB6LCBMLCBhLCA2LCBzWzQ4XSksIEwgPSB1KEwsIEEsIEIsIHosIHcsIDEwLCBzWzQ5XSksIHogPSB1KHosIEwsIEEsIEIsIHgsIDE1LCBzWzUwXSksIEIgPSB1KEIsIHosIEwsIEEsIGcsIDIxLCBzWzUxXSksIEEgPSB1KEEsIEIsIHosIEwsIEUsIDYsIHNbNTJdKSwgTCA9IHUoTCwgQSwgQiwgeiwgcCwgMTAsIHNbNTNdKSwgeiA9IHUoeiwgTCwgQSwgQiwgbSwgMTUsIHNbNTRdKSwgQiA9IHUoQiwgeiwgTCwgQSwgaCwgMjEsIHNbNTVdKSwgQSA9IHUoQSwgQiwgeiwgTCwgYiwgNiwgc1s1Nl0pLCBMID0gdShMLCBBLCBCLCB6LCBSLCAxMCwgc1s1N10pLCB6ID0gdSh6LCBMLCBBLCBCLCB2LCAxNSwgc1s1OF0pLCBCID0gdShCLCB6LCBMLCBBLCBTLCAyMSwgc1s1OV0pLCBBID0gdShBLCBCLCB6LCBMLCBfLCA2LCBzWzYwXSksIEwgPSB1KEwsIEEsIEIsIHosIGssIDEwLCBzWzYxXSksIHogPSB1KHosIEwsIEEsIEIsIGQsIDE1LCBzWzYyXSksIEIgPSB1KEIsIHosIEwsIEEsIHksIDIxLCBzWzYzXSksIG9bMF0gPSBvWzBdICsgQSB8IDAsIG9bMV0gPSBvWzFdICsgQiB8IDAsIG9bMl0gPSBvWzJdICsgeiB8IDAsIG9bM10gPSBvWzNdICsgTCB8IDA7XG4gICAgICB9LFxuICAgICAgX2RvRmluYWxpemU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHQgPSB0aGlzLl9kYXRhLFxuICAgICAgICAgICAgciA9IHQud29yZHMsXG4gICAgICAgICAgICBuID0gOCAqIHRoaXMuX25EYXRhQnl0ZXMsXG4gICAgICAgICAgICBpID0gOCAqIHQuc2lnQnl0ZXM7XG4gICAgICAgIHJbaSA+Pj4gNV0gfD0gMTI4IDw8IDI0IC0gaSAlIDMyO1xuICAgICAgICB2YXIgbyA9IGUuZmxvb3IobiAvIDQyOTQ5NjcyOTYpLFxuICAgICAgICAgICAgYSA9IG47XG4gICAgICAgIHJbMTUgKyAoaSArIDY0ID4+PiA5IDw8IDQpXSA9IDE2NzExOTM1ICYgKG8gPDwgOCB8IG8gPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAobyA8PCAyNCB8IG8gPj4+IDgpLCByWzE0ICsgKGkgKyA2NCA+Pj4gOSA8PCA0KV0gPSAxNjcxMTkzNSAmIChhIDw8IDggfCBhID4+PiAyNCkgfCA0Mjc4MjU1MzYwICYgKGEgPDwgMjQgfCBhID4+PiA4KSwgdC5zaWdCeXRlcyA9IDQgKiAoci5sZW5ndGggKyAxKSwgdGhpcy5fcHJvY2VzcygpO1xuXG4gICAgICAgIGZvciAodmFyIHMgPSB0aGlzLl9oYXNoLCBoID0gcy53b3JkcywgbCA9IDA7IGwgPCA0OyBsKyspIHtcbiAgICAgICAgICB2YXIgZiA9IGhbbF07XG4gICAgICAgICAgaFtsXSA9IDE2NzExOTM1ICYgKGYgPDwgOCB8IGYgPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAoZiA8PCAyNCB8IGYgPj4+IDgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHM7XG4gICAgICB9LFxuICAgICAgY2xvbmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGUgPSBvLmNsb25lLmNhbGwodGhpcyk7XG4gICAgICAgIHJldHVybiBlLl9oYXNoID0gdGhpcy5faGFzaC5jbG9uZSgpLCBlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gbChlLCB0LCByLCBuLCBpLCBvLCBhKSB7XG4gICAgICB2YXIgcyA9IGUgKyAodCAmIHIgfCB+dCAmIG4pICsgaSArIGE7XG4gICAgICByZXR1cm4gKHMgPDwgbyB8IHMgPj4+IDMyIC0gbykgKyB0O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGYoZSwgdCwgciwgbiwgaSwgbywgYSkge1xuICAgICAgdmFyIHMgPSBlICsgKHQgJiBuIHwgciAmIH5uKSArIGkgKyBhO1xuICAgICAgcmV0dXJuIChzIDw8IG8gfCBzID4+PiAzMiAtIG8pICsgdDtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjKGUsIHQsIHIsIG4sIGksIG8sIGEpIHtcbiAgICAgIHZhciBzID0gZSArICh0IF4gciBeIG4pICsgaSArIGE7XG4gICAgICByZXR1cm4gKHMgPDwgbyB8IHMgPj4+IDMyIC0gbykgKyB0O1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIHUoZSwgdCwgciwgbiwgaSwgbywgYSkge1xuICAgICAgdmFyIHMgPSBlICsgKHIgXiAodCB8IH5uKSkgKyBpICsgYTtcbiAgICAgIHJldHVybiAocyA8PCBvIHwgcyA+Pj4gMzIgLSBvKSArIHQ7XG4gICAgfVxuXG4gICAgdC5NRDUgPSBvLl9jcmVhdGVIZWxwZXIoaCksIHQuSG1hY01ENSA9IG8uX2NyZWF0ZUhtYWNIZWxwZXIoaCk7XG4gIH0oTWF0aCksIHIuTUQ1KTtcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XG4gIHZhciByLCBuLCBpLCBvLCBhLCBzLCBoLCBsO1xuICBlLmV4cG9ydHMgPSAoaSA9IChuID0gciA9IGVlKS5saWIsIG8gPSBpLldvcmRBcnJheSwgYSA9IGkuSGFzaGVyLCBzID0gbi5hbGdvLCBoID0gW10sIGwgPSBzLlNIQTEgPSBhLmV4dGVuZCh7XG4gICAgX2RvUmVzZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHRoaXMuX2hhc2ggPSBuZXcgby5pbml0KFsxNzMyNTg0MTkzLCA0MDIzMjMzNDE3LCAyNTYyMzgzMTAyLCAyNzE3MzM4NzgsIDMyODUzNzc1MjBdKTtcbiAgICB9LFxuICAgIF9kb1Byb2Nlc3NCbG9jazogZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIGZvciAodmFyIHIgPSB0aGlzLl9oYXNoLndvcmRzLCBuID0gclswXSwgaSA9IHJbMV0sIG8gPSByWzJdLCBhID0gclszXSwgcyA9IHJbNF0sIGwgPSAwOyBsIDwgODA7IGwrKykge1xuICAgICAgICBpZiAobCA8IDE2KSBoW2xdID0gMCB8IGVbdCArIGxdO2Vsc2Uge1xuICAgICAgICAgIHZhciBmID0gaFtsIC0gM10gXiBoW2wgLSA4XSBeIGhbbCAtIDE0XSBeIGhbbCAtIDE2XTtcbiAgICAgICAgICBoW2xdID0gZiA8PCAxIHwgZiA+Pj4gMzE7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGMgPSAobiA8PCA1IHwgbiA+Pj4gMjcpICsgcyArIGhbbF07XG4gICAgICAgIGMgKz0gbCA8IDIwID8gMTUxODUwMDI0OSArIChpICYgbyB8IH5pICYgYSkgOiBsIDwgNDAgPyAxODU5Nzc1MzkzICsgKGkgXiBvIF4gYSkgOiBsIDwgNjAgPyAoaSAmIG8gfCBpICYgYSB8IG8gJiBhKSAtIDE4OTQwMDc1ODggOiAoaSBeIG8gXiBhKSAtIDg5OTQ5NzUxNCwgcyA9IGEsIGEgPSBvLCBvID0gaSA8PCAzMCB8IGkgPj4+IDIsIGkgPSBuLCBuID0gYztcbiAgICAgIH1cblxuICAgICAgclswXSA9IHJbMF0gKyBuIHwgMCwgclsxXSA9IHJbMV0gKyBpIHwgMCwgclsyXSA9IHJbMl0gKyBvIHwgMCwgclszXSA9IHJbM10gKyBhIHwgMCwgcls0XSA9IHJbNF0gKyBzIHwgMDtcbiAgICB9LFxuICAgIF9kb0ZpbmFsaXplOiBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgZSA9IHRoaXMuX2RhdGEsXG4gICAgICAgICAgdCA9IGUud29yZHMsXG4gICAgICAgICAgciA9IDggKiB0aGlzLl9uRGF0YUJ5dGVzLFxuICAgICAgICAgIG4gPSA4ICogZS5zaWdCeXRlcztcbiAgICAgIHJldHVybiB0W24gPj4+IDVdIHw9IDEyOCA8PCAyNCAtIG4gJSAzMiwgdFsxNCArIChuICsgNjQgPj4+IDkgPDwgNCldID0gTWF0aC5mbG9vcihyIC8gNDI5NDk2NzI5NiksIHRbMTUgKyAobiArIDY0ID4+PiA5IDw8IDQpXSA9IHIsIGUuc2lnQnl0ZXMgPSA0ICogdC5sZW5ndGgsIHRoaXMuX3Byb2Nlc3MoKSwgdGhpcy5faGFzaDtcbiAgICB9LFxuICAgIGNsb25lOiBmdW5jdGlvbiAoKSB7XG4gICAgICB2YXIgZSA9IGEuY2xvbmUuY2FsbCh0aGlzKTtcbiAgICAgIHJldHVybiBlLl9oYXNoID0gdGhpcy5faGFzaC5jbG9uZSgpLCBlO1xuICAgIH1cbiAgfSksIG4uU0hBMSA9IGEuX2NyZWF0ZUhlbHBlcihsKSwgbi5IbWFjU0hBMSA9IGEuX2NyZWF0ZUhtYWNIZWxwZXIobCksIHIuU0hBMSk7XG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgcjtcbiAgZS5leHBvcnRzID0gKHIgPSBlZSwgZnVuY3Rpb24gKGUpIHtcbiAgICB2YXIgdCA9IHIsXG4gICAgICAgIG4gPSB0LmxpYixcbiAgICAgICAgaSA9IG4uV29yZEFycmF5LFxuICAgICAgICBvID0gbi5IYXNoZXIsXG4gICAgICAgIGEgPSB0LmFsZ28sXG4gICAgICAgIHMgPSBbXSxcbiAgICAgICAgaCA9IFtdO1xuICAgICFmdW5jdGlvbiAoKSB7XG4gICAgICBmdW5jdGlvbiB0KHQpIHtcbiAgICAgICAgZm9yICh2YXIgciA9IGUuc3FydCh0KSwgbiA9IDI7IG4gPD0gcjsgbisrKSBpZiAoISh0ICUgbikpIHJldHVybiAhMTtcblxuICAgICAgICByZXR1cm4gITA7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHIoZSkge1xuICAgICAgICByZXR1cm4gNDI5NDk2NzI5NiAqIChlIC0gKDAgfCBlKSkgfCAwO1xuICAgICAgfVxuXG4gICAgICBmb3IgKHZhciBuID0gMiwgaSA9IDA7IGkgPCA2NDspIHQobikgJiYgKGkgPCA4ICYmIChzW2ldID0gcihlLnBvdyhuLCAuNSkpKSwgaFtpXSA9IHIoZS5wb3cobiwgMSAvIDMpKSwgaSsrKSwgbisrO1xuICAgIH0oKTtcbiAgICB2YXIgbCA9IFtdLFxuICAgICAgICBmID0gYS5TSEEyNTYgPSBvLmV4dGVuZCh7XG4gICAgICBfZG9SZXNldDogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLl9oYXNoID0gbmV3IGkuaW5pdChzLnNsaWNlKDApKTtcbiAgICAgIH0sXG4gICAgICBfZG9Qcm9jZXNzQmxvY2s6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICAgIGZvciAodmFyIHIgPSB0aGlzLl9oYXNoLndvcmRzLCBuID0gclswXSwgaSA9IHJbMV0sIG8gPSByWzJdLCBhID0gclszXSwgcyA9IHJbNF0sIGYgPSByWzVdLCBjID0gcls2XSwgdSA9IHJbN10sIGQgPSAwOyBkIDwgNjQ7IGQrKykge1xuICAgICAgICAgIGlmIChkIDwgMTYpIGxbZF0gPSAwIHwgZVt0ICsgZF07ZWxzZSB7XG4gICAgICAgICAgICB2YXIgcCA9IGxbZCAtIDE1XSxcbiAgICAgICAgICAgICAgICBfID0gKHAgPDwgMjUgfCBwID4+PiA3KSBeIChwIDw8IDE0IHwgcCA+Pj4gMTgpIF4gcCA+Pj4gMyxcbiAgICAgICAgICAgICAgICBnID0gbFtkIC0gMl0sXG4gICAgICAgICAgICAgICAgdiA9IChnIDw8IDE1IHwgZyA+Pj4gMTcpIF4gKGcgPDwgMTMgfCBnID4+PiAxOSkgXiBnID4+PiAxMDtcblxuICAgICAgICAgICAgbFtkXSA9IF8gKyBsW2QgLSA3XSArIHYgKyBsW2QgLSAxNl07XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciB3ID0gbiAmIGkgXiBuICYgbyBeIGkgJiBvLFxuICAgICAgICAgICAgICBiID0gKG4gPDwgMzAgfCBuID4+PiAyKSBeIChuIDw8IDE5IHwgbiA+Pj4gMTMpIF4gKG4gPDwgMTAgfCBuID4+PiAyMiksXG4gICAgICAgICAgICAgIHkgPSB1ICsgKChzIDw8IDI2IHwgcyA+Pj4gNikgXiAocyA8PCAyMSB8IHMgPj4+IDExKSBeIChzIDw8IDcgfCBzID4+PiAyNSkpICsgKHMgJiBmIF4gfnMgJiBjKSArIGhbZF0gKyBsW2RdO1xuICAgICAgICAgIHUgPSBjLCBjID0gZiwgZiA9IHMsIHMgPSBhICsgeSB8IDAsIGEgPSBvLCBvID0gaSwgaSA9IG4sIG4gPSB5ICsgKGIgKyB3KSB8IDA7XG4gICAgICAgIH1cblxuICAgICAgICByWzBdID0gclswXSArIG4gfCAwLCByWzFdID0gclsxXSArIGkgfCAwLCByWzJdID0gclsyXSArIG8gfCAwLCByWzNdID0gclszXSArIGEgfCAwLCByWzRdID0gcls0XSArIHMgfCAwLCByWzVdID0gcls1XSArIGYgfCAwLCByWzZdID0gcls2XSArIGMgfCAwLCByWzddID0gcls3XSArIHUgfCAwO1xuICAgICAgfSxcbiAgICAgIF9kb0ZpbmFsaXplOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciB0ID0gdGhpcy5fZGF0YSxcbiAgICAgICAgICAgIHIgPSB0LndvcmRzLFxuICAgICAgICAgICAgbiA9IDggKiB0aGlzLl9uRGF0YUJ5dGVzLFxuICAgICAgICAgICAgaSA9IDggKiB0LnNpZ0J5dGVzO1xuICAgICAgICByZXR1cm4gcltpID4+PiA1XSB8PSAxMjggPDwgMjQgLSBpICUgMzIsIHJbMTQgKyAoaSArIDY0ID4+PiA5IDw8IDQpXSA9IGUuZmxvb3IobiAvIDQyOTQ5NjcyOTYpLCByWzE1ICsgKGkgKyA2NCA+Pj4gOSA8PCA0KV0gPSBuLCB0LnNpZ0J5dGVzID0gNCAqIHIubGVuZ3RoLCB0aGlzLl9wcm9jZXNzKCksIHRoaXMuX2hhc2g7XG4gICAgICB9LFxuICAgICAgY2xvbmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGUgPSBvLmNsb25lLmNhbGwodGhpcyk7XG4gICAgICAgIHJldHVybiBlLl9oYXNoID0gdGhpcy5faGFzaC5jbG9uZSgpLCBlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHQuU0hBMjU2ID0gby5fY3JlYXRlSGVscGVyKGYpLCB0LkhtYWNTSEEyNTYgPSBvLl9jcmVhdGVIbWFjSGVscGVyKGYpO1xuICB9KE1hdGgpLCByLlNIQTI1Nik7XG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgciwgbiwgaSwgbywgYSwgcztcbiAgZS5leHBvcnRzID0gKGkgPSAobiA9IHIgPSBlZSkubGliLldvcmRBcnJheSwgbyA9IG4uYWxnbywgYSA9IG8uU0hBMjU2LCBzID0gby5TSEEyMjQgPSBhLmV4dGVuZCh7XG4gICAgX2RvUmVzZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHRoaXMuX2hhc2ggPSBuZXcgaS5pbml0KFszMjM4MzcxMDMyLCA5MTQxNTA2NjMsIDgxMjcwMjk5OSwgNDE0NDkxMjY5NywgNDI5MDc3NTg1NywgMTc1MDYwMzAyNSwgMTY5NDA3NjgzOSwgMzIwNDA3NTQyOF0pO1xuICAgIH0sXG4gICAgX2RvRmluYWxpemU6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBlID0gYS5fZG9GaW5hbGl6ZS5jYWxsKHRoaXMpO1xuXG4gICAgICByZXR1cm4gZS5zaWdCeXRlcyAtPSA0LCBlO1xuICAgIH1cbiAgfSksIG4uU0hBMjI0ID0gYS5fY3JlYXRlSGVscGVyKHMpLCBuLkhtYWNTSEEyMjQgPSBhLl9jcmVhdGVIbWFjSGVscGVyKHMpLCByLlNIQTIyNCk7XG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgcjtcbiAgZS5leHBvcnRzID0gKHIgPSBlZSwgZnVuY3Rpb24gKCkge1xuICAgIHZhciBlID0gcixcbiAgICAgICAgdCA9IGUubGliLkhhc2hlcixcbiAgICAgICAgbiA9IGUueDY0LFxuICAgICAgICBpID0gbi5Xb3JkLFxuICAgICAgICBvID0gbi5Xb3JkQXJyYXksXG4gICAgICAgIGEgPSBlLmFsZ287XG5cbiAgICBmdW5jdGlvbiBzKCkge1xuICAgICAgcmV0dXJuIGkuY3JlYXRlLmFwcGx5KGksIGFyZ3VtZW50cyk7XG4gICAgfVxuXG4gICAgdmFyIGggPSBbcygxMTE2MzUyNDA4LCAzNjA5NzY3NDU4KSwgcygxODk5NDQ3NDQxLCA2MDI4OTE3MjUpLCBzKDMwNDkzMjM0NzEsIDM5NjQ0ODQzOTkpLCBzKDM5MjEwMDk1NzMsIDIxNzMyOTU1NDgpLCBzKDk2MTk4NzE2MywgNDA4MTYyODQ3MiksIHMoMTUwODk3MDk5MywgMzA1MzgzNDI2NSksIHMoMjQ1MzYzNTc0OCwgMjkzNzY3MTU3OSksIHMoMjg3MDc2MzIyMSwgMzY2NDYwOTU2MCksIHMoMzYyNDM4MTA4MCwgMjczNDg4MzM5NCksIHMoMzEwNTk4NDAxLCAxMTY0OTk2NTQyKSwgcyg2MDcyMjUyNzgsIDEzMjM2MTA3NjQpLCBzKDE0MjY4ODE5ODcsIDM1OTAzMDQ5OTQpLCBzKDE5MjUwNzgzODgsIDQwNjgxODIzODMpLCBzKDIxNjIwNzgyMDYsIDk5MTMzNjExMyksIHMoMjYxNDg4ODEwMywgNjMzODAzMzE3KSwgcygzMjQ4MjIyNTgwLCAzNDc5Nzc0ODY4KSwgcygzODM1MzkwNDAxLCAyNjY2NjEzNDU4KSwgcyg0MDIyMjI0Nzc0LCA5NDQ3MTExMzkpLCBzKDI2NDM0NzA3OCwgMjM0MTI2Mjc3MyksIHMoNjA0ODA3NjI4LCAyMDA3ODAwOTMzKSwgcyg3NzAyNTU5ODMsIDE0OTU5OTA5MDEpLCBzKDEyNDkxNTAxMjIsIDE4NTY0MzEyMzUpLCBzKDE1NTUwODE2OTIsIDMxNzUyMTgxMzIpLCBzKDE5OTYwNjQ5ODYsIDIxOTg5NTA4MzcpLCBzKDI1NTQyMjA4ODIsIDM5OTk3MTkzMzkpLCBzKDI4MjE4MzQzNDksIDc2Njc4NDAxNiksIHMoMjk1Mjk5NjgwOCwgMjU2NjU5NDg3OSksIHMoMzIxMDMxMzY3MSwgMzIwMzMzNzk1NiksIHMoMzMzNjU3MTg5MSwgMTAzNDQ1NzAyNiksIHMoMzU4NDUyODcxMSwgMjQ2Njk0ODkwMSksIHMoMTEzOTI2OTkzLCAzNzU4MzI2MzgzKSwgcygzMzgyNDE4OTUsIDE2ODcxNzkzNiksIHMoNjY2MzA3MjA1LCAxMTg4MTc5OTY0KSwgcyg3NzM1Mjk5MTIsIDE1NDYwNDU3MzQpLCBzKDEyOTQ3NTczNzIsIDE1MjI4MDU0ODUpLCBzKDEzOTYxODIyOTEsIDI2NDM4MzM4MjMpLCBzKDE2OTUxODM3MDAsIDIzNDM1MjczOTApLCBzKDE5ODY2NjEwNTEsIDEwMTQ0Nzc0ODApLCBzKDIxNzcwMjYzNTAsIDEyMDY3NTkxNDIpLCBzKDI0NTY5NTYwMzcsIDM0NDA3NzYyNyksIHMoMjczMDQ4NTkyMSwgMTI5MDg2MzQ2MCksIHMoMjgyMDMwMjQxMSwgMzE1ODQ1NDI3MyksIHMoMzI1OTczMDgwMCwgMzUwNTk1MjY1NyksIHMoMzM0NTc2NDc3MSwgMTA2MjE3MDA4KSwgcygzNTE2MDY1ODE3LCAzNjA2MDA4MzQ0KSwgcygzNjAwMzUyODA0LCAxNDMyNzI1Nzc2KSwgcyg0MDk0NTcxOTA5LCAxNDY3MDMxNTk0KSwgcygyNzU0MjMzNDQsIDg1MTE2OTcyMCksIHMoNDMwMjI3NzM0LCAzMTAwODIzNzUyKSwgcyg1MDY5NDg2MTYsIDEzNjMyNTgxOTUpLCBzKDY1OTA2MDU1NiwgMzc1MDY4NTU5MyksIHMoODgzOTk3ODc3LCAzNzg1MDUwMjgwKSwgcyg5NTgxMzk1NzEsIDMzMTgzMDc0MjcpLCBzKDEzMjI4MjIyMTgsIDM4MTI3MjM0MDMpLCBzKDE1MzcwMDIwNjMsIDIwMDMwMzQ5OTUpLCBzKDE3NDc4NzM3NzksIDM2MDIwMzY4OTkpLCBzKDE5NTU1NjIyMjIsIDE1NzU5OTAwMTIpLCBzKDIwMjQxMDQ4MTUsIDExMjU1OTI5MjgpLCBzKDIyMjc3MzA0NTIsIDI3MTY5MDQzMDYpLCBzKDIzNjE4NTI0MjQsIDQ0Mjc3NjA0NCksIHMoMjQyODQzNjQ3NCwgNTkzNjk4MzQ0KSwgcygyNzU2NzM0MTg3LCAzNzMzMTEwMjQ5KSwgcygzMjA0MDMxNDc5LCAyOTk5MzUxNTczKSwgcygzMzI5MzI1Mjk4LCAzODE1OTIwNDI3KSwgcygzMzkxNTY5NjE0LCAzOTI4MzgzOTAwKSwgcygzNTE1MjY3MjcxLCA1NjYyODA3MTEpLCBzKDM5NDAxODc2MDYsIDM0NTQwNjk1MzQpLCBzKDQxMTg2MzAyNzEsIDQwMDAyMzk5OTIpLCBzKDExNjQxODQ3NCwgMTkxNDEzODU1NCksIHMoMTc0MjkyNDIxLCAyNzMxMDU1MjcwKSwgcygyODkzODAzNTYsIDMyMDM5OTMwMDYpLCBzKDQ2MDM5MzI2OSwgMzIwNjIwMzE1KSwgcyg2ODU0NzE3MzMsIDU4NzQ5NjgzNiksIHMoODUyMTQyOTcxLCAxMDg2NzkyODUxKSwgcygxMDE3MDM2Mjk4LCAzNjU1NDMxMDApLCBzKDExMjYwMDA1ODAsIDI2MTgyOTc2NzYpLCBzKDEyODgwMzM0NzAsIDM0MDk4NTUxNTgpLCBzKDE1MDE1MDU5NDgsIDQyMzQ1MDk4NjYpLCBzKDE2MDcxNjc5MTUsIDk4NzE2NzQ2OCksIHMoMTgxNjQwMjMxNiwgMTI0NjE4OTU5MSldLFxuICAgICAgICBsID0gW107XG4gICAgIWZ1bmN0aW9uICgpIHtcbiAgICAgIGZvciAodmFyIGUgPSAwOyBlIDwgODA7IGUrKykgbFtlXSA9IHMoKTtcbiAgICB9KCk7XG4gICAgdmFyIGYgPSBhLlNIQTUxMiA9IHQuZXh0ZW5kKHtcbiAgICAgIF9kb1Jlc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuX2hhc2ggPSBuZXcgby5pbml0KFtuZXcgaS5pbml0KDE3NzkwMzM3MDMsIDQwODkyMzU3MjApLCBuZXcgaS5pbml0KDMxNDQxMzQyNzcsIDIyMjc4NzM1OTUpLCBuZXcgaS5pbml0KDEwMTM5MDQyNDIsIDQyNzExNzU3MjMpLCBuZXcgaS5pbml0KDI3NzM0ODA3NjIsIDE1OTU3NTAxMjkpLCBuZXcgaS5pbml0KDEzNTk4OTMxMTksIDI5MTc1NjUxMzcpLCBuZXcgaS5pbml0KDI2MDA4MjI5MjQsIDcyNTUxMTE5OSksIG5ldyBpLmluaXQoNTI4NzM0NjM1LCA0MjE1Mzg5NTQ3KSwgbmV3IGkuaW5pdCgxNTQxNDU5MjI1LCAzMjcwMzMyMDkpXSk7XG4gICAgICB9LFxuICAgICAgX2RvUHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgICBmb3IgKHZhciByID0gdGhpcy5faGFzaC53b3JkcywgbiA9IHJbMF0sIGkgPSByWzFdLCBvID0gclsyXSwgYSA9IHJbM10sIHMgPSByWzRdLCBmID0gcls1XSwgYyA9IHJbNl0sIHUgPSByWzddLCBkID0gbi5oaWdoLCBwID0gbi5sb3csIF8gPSBpLmhpZ2gsIGcgPSBpLmxvdywgdiA9IG8uaGlnaCwgdyA9IG8ubG93LCBiID0gYS5oaWdoLCB5ID0gYS5sb3csIG0gPSBzLmhpZ2gsIGsgPSBzLmxvdywgRSA9IGYuaGlnaCwgUyA9IGYubG93LCB4ID0gYy5oaWdoLCBSID0gYy5sb3csIEEgPSB1LmhpZ2gsIEIgPSB1LmxvdywgeiA9IGQsIEwgPSBwLCBUID0gXywgTSA9IGcsIEMgPSB2LCBEID0gdywgSSA9IGIsIFAgPSB5LCBPID0gbSwgVSA9IGssIEggPSBFLCBGID0gUywgTiA9IHgsIFogPSBSLCBqID0gQSwgVyA9IEIsIFkgPSAwOyBZIDwgODA7IFkrKykge1xuICAgICAgICAgIHZhciBLID0gbFtZXTtcbiAgICAgICAgICBpZiAoWSA8IDE2KSB2YXIgWCA9IEsuaGlnaCA9IDAgfCBlW3QgKyAyICogWV0sXG4gICAgICAgICAgICAgIHEgPSBLLmxvdyA9IDAgfCBlW3QgKyAyICogWSArIDFdO2Vsc2Uge1xuICAgICAgICAgICAgdmFyIFYgPSBsW1kgLSAxNV0sXG4gICAgICAgICAgICAgICAgRyA9IFYuaGlnaCxcbiAgICAgICAgICAgICAgICAkID0gVi5sb3csXG4gICAgICAgICAgICAgICAgSiA9IChHID4+PiAxIHwgJCA8PCAzMSkgXiAoRyA+Pj4gOCB8ICQgPDwgMjQpIF4gRyA+Pj4gNyxcbiAgICAgICAgICAgICAgICBRID0gKCQgPj4+IDEgfCBHIDw8IDMxKSBeICgkID4+PiA4IHwgRyA8PCAyNCkgXiAoJCA+Pj4gNyB8IEcgPDwgMjUpLFxuICAgICAgICAgICAgICAgIGVlID0gbFtZIC0gMl0sXG4gICAgICAgICAgICAgICAgdGUgPSBlZS5oaWdoLFxuICAgICAgICAgICAgICAgIHJlID0gZWUubG93LFxuICAgICAgICAgICAgICAgIG5lID0gKHRlID4+PiAxOSB8IHJlIDw8IDEzKSBeICh0ZSA8PCAzIHwgcmUgPj4+IDI5KSBeIHRlID4+PiA2LFxuICAgICAgICAgICAgICAgIGllID0gKHJlID4+PiAxOSB8IHRlIDw8IDEzKSBeIChyZSA8PCAzIHwgdGUgPj4+IDI5KSBeIChyZSA+Pj4gNiB8IHRlIDw8IDI2KSxcbiAgICAgICAgICAgICAgICBvZSA9IGxbWSAtIDddLFxuICAgICAgICAgICAgICAgIGFlID0gb2UuaGlnaCxcbiAgICAgICAgICAgICAgICBzZSA9IG9lLmxvdyxcbiAgICAgICAgICAgICAgICBoZSA9IGxbWSAtIDE2XSxcbiAgICAgICAgICAgICAgICBsZSA9IGhlLmhpZ2gsXG4gICAgICAgICAgICAgICAgZmUgPSBoZS5sb3c7XG4gICAgICAgICAgICBYID0gKFggPSAoWCA9IEogKyBhZSArICgocSA9IFEgKyBzZSkgPj4+IDAgPCBRID4+PiAwID8gMSA6IDApKSArIG5lICsgKChxICs9IGllKSA+Pj4gMCA8IGllID4+PiAwID8gMSA6IDApKSArIGxlICsgKChxICs9IGZlKSA+Pj4gMCA8IGZlID4+PiAwID8gMSA6IDApLCBLLmhpZ2ggPSBYLCBLLmxvdyA9IHE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGNlLFxuICAgICAgICAgICAgICB1ZSA9IE8gJiBIIF4gfk8gJiBOLFxuICAgICAgICAgICAgICBkZSA9IFUgJiBGIF4gflUgJiBaLFxuICAgICAgICAgICAgICBwZSA9IHogJiBUIF4geiAmIEMgXiBUICYgQyxcbiAgICAgICAgICAgICAgX2UgPSBMICYgTSBeIEwgJiBEIF4gTSAmIEQsXG4gICAgICAgICAgICAgIGdlID0gKHogPj4+IDI4IHwgTCA8PCA0KSBeICh6IDw8IDMwIHwgTCA+Pj4gMikgXiAoeiA8PCAyNSB8IEwgPj4+IDcpLFxuICAgICAgICAgICAgICB2ZSA9IChMID4+PiAyOCB8IHogPDwgNCkgXiAoTCA8PCAzMCB8IHogPj4+IDIpIF4gKEwgPDwgMjUgfCB6ID4+PiA3KSxcbiAgICAgICAgICAgICAgd2UgPSAoTyA+Pj4gMTQgfCBVIDw8IDE4KSBeIChPID4+PiAxOCB8IFUgPDwgMTQpIF4gKE8gPDwgMjMgfCBVID4+PiA5KSxcbiAgICAgICAgICAgICAgYmUgPSAoVSA+Pj4gMTQgfCBPIDw8IDE4KSBeIChVID4+PiAxOCB8IE8gPDwgMTQpIF4gKFUgPDwgMjMgfCBPID4+PiA5KSxcbiAgICAgICAgICAgICAgeWUgPSBoW1ldLFxuICAgICAgICAgICAgICBtZSA9IHllLmhpZ2gsXG4gICAgICAgICAgICAgIGtlID0geWUubG93LFxuICAgICAgICAgICAgICBFZSA9IGogKyB3ZSArICgoY2UgPSBXICsgYmUpID4+PiAwIDwgVyA+Pj4gMCA/IDEgOiAwKSxcbiAgICAgICAgICAgICAgU2UgPSB2ZSArIF9lO1xuXG4gICAgICAgICAgaiA9IE4sIFcgPSBaLCBOID0gSCwgWiA9IEYsIEggPSBPLCBGID0gVSwgTyA9IEkgKyAoRWUgPSAoRWUgPSAoRWUgPSBFZSArIHVlICsgKChjZSArPSBkZSkgPj4+IDAgPCBkZSA+Pj4gMCA/IDEgOiAwKSkgKyBtZSArICgoY2UgKz0ga2UpID4+PiAwIDwga2UgPj4+IDAgPyAxIDogMCkpICsgWCArICgoY2UgKz0gcSkgPj4+IDAgPCBxID4+PiAwID8gMSA6IDApKSArICgoVSA9IFAgKyBjZSB8IDApID4+PiAwIDwgUCA+Pj4gMCA/IDEgOiAwKSB8IDAsIEkgPSBDLCBQID0gRCwgQyA9IFQsIEQgPSBNLCBUID0geiwgTSA9IEwsIHogPSBFZSArIChnZSArIHBlICsgKFNlID4+PiAwIDwgdmUgPj4+IDAgPyAxIDogMCkpICsgKChMID0gY2UgKyBTZSB8IDApID4+PiAwIDwgY2UgPj4+IDAgPyAxIDogMCkgfCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcCA9IG4ubG93ID0gcCArIEwsIG4uaGlnaCA9IGQgKyB6ICsgKHAgPj4+IDAgPCBMID4+PiAwID8gMSA6IDApLCBnID0gaS5sb3cgPSBnICsgTSwgaS5oaWdoID0gXyArIFQgKyAoZyA+Pj4gMCA8IE0gPj4+IDAgPyAxIDogMCksIHcgPSBvLmxvdyA9IHcgKyBELCBvLmhpZ2ggPSB2ICsgQyArICh3ID4+PiAwIDwgRCA+Pj4gMCA/IDEgOiAwKSwgeSA9IGEubG93ID0geSArIFAsIGEuaGlnaCA9IGIgKyBJICsgKHkgPj4+IDAgPCBQID4+PiAwID8gMSA6IDApLCBrID0gcy5sb3cgPSBrICsgVSwgcy5oaWdoID0gbSArIE8gKyAoayA+Pj4gMCA8IFUgPj4+IDAgPyAxIDogMCksIFMgPSBmLmxvdyA9IFMgKyBGLCBmLmhpZ2ggPSBFICsgSCArIChTID4+PiAwIDwgRiA+Pj4gMCA/IDEgOiAwKSwgUiA9IGMubG93ID0gUiArIFosIGMuaGlnaCA9IHggKyBOICsgKFIgPj4+IDAgPCBaID4+PiAwID8gMSA6IDApLCBCID0gdS5sb3cgPSBCICsgVywgdS5oaWdoID0gQSArIGogKyAoQiA+Pj4gMCA8IFcgPj4+IDAgPyAxIDogMCk7XG4gICAgICB9LFxuICAgICAgX2RvRmluYWxpemU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGUgPSB0aGlzLl9kYXRhLFxuICAgICAgICAgICAgdCA9IGUud29yZHMsXG4gICAgICAgICAgICByID0gOCAqIHRoaXMuX25EYXRhQnl0ZXMsXG4gICAgICAgICAgICBuID0gOCAqIGUuc2lnQnl0ZXM7XG4gICAgICAgIHJldHVybiB0W24gPj4+IDVdIHw9IDEyOCA8PCAyNCAtIG4gJSAzMiwgdFszMCArIChuICsgMTI4ID4+PiAxMCA8PCA1KV0gPSBNYXRoLmZsb29yKHIgLyA0Mjk0OTY3Mjk2KSwgdFszMSArIChuICsgMTI4ID4+PiAxMCA8PCA1KV0gPSByLCBlLnNpZ0J5dGVzID0gNCAqIHQubGVuZ3RoLCB0aGlzLl9wcm9jZXNzKCksIHRoaXMuX2hhc2gudG9YMzIoKTtcbiAgICAgIH0sXG4gICAgICBjbG9uZTogZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgZSA9IHQuY2xvbmUuY2FsbCh0aGlzKTtcbiAgICAgICAgcmV0dXJuIGUuX2hhc2ggPSB0aGlzLl9oYXNoLmNsb25lKCksIGU7XG4gICAgICB9LFxuICAgICAgYmxvY2tTaXplOiAzMlxuICAgIH0pO1xuICAgIGUuU0hBNTEyID0gdC5fY3JlYXRlSGVscGVyKGYpLCBlLkhtYWNTSEE1MTIgPSB0Ll9jcmVhdGVIbWFjSGVscGVyKGYpO1xuICB9KCksIHIuU0hBNTEyKTtcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XG4gIHZhciByLCBuLCBpLCBvLCBhLCBzLCBoLCBsO1xuICBlLmV4cG9ydHMgPSAoaSA9IChuID0gciA9IGVlKS54NjQsIG8gPSBpLldvcmQsIGEgPSBpLldvcmRBcnJheSwgcyA9IG4uYWxnbywgaCA9IHMuU0hBNTEyLCBsID0gcy5TSEEzODQgPSBoLmV4dGVuZCh7XG4gICAgX2RvUmVzZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHRoaXMuX2hhc2ggPSBuZXcgYS5pbml0KFtuZXcgby5pbml0KDM0MTgwNzAzNjUsIDMyMzgzNzEwMzIpLCBuZXcgby5pbml0KDE2NTQyNzAyNTAsIDkxNDE1MDY2MyksIG5ldyBvLmluaXQoMjQzODUyOTM3MCwgODEyNzAyOTk5KSwgbmV3IG8uaW5pdCgzNTU0NjIzNjAsIDQxNDQ5MTI2OTcpLCBuZXcgby5pbml0KDE3MzE0MDU0MTUsIDQyOTA3NzU4NTcpLCBuZXcgby5pbml0KDIzOTQxODAyMzEsIDE3NTA2MDMwMjUpLCBuZXcgby5pbml0KDM2NzUwMDg1MjUsIDE2OTQwNzY4MzkpLCBuZXcgby5pbml0KDEyMDMwNjI4MTMsIDMyMDQwNzU0MjgpXSk7XG4gICAgfSxcbiAgICBfZG9GaW5hbGl6ZTogZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIGUgPSBoLl9kb0ZpbmFsaXplLmNhbGwodGhpcyk7XG5cbiAgICAgIHJldHVybiBlLnNpZ0J5dGVzIC09IDE2LCBlO1xuICAgIH1cbiAgfSksIG4uU0hBMzg0ID0gaC5fY3JlYXRlSGVscGVyKGwpLCBuLkhtYWNTSEEzODQgPSBoLl9jcmVhdGVIbWFjSGVscGVyKGwpLCByLlNIQTM4NCk7XG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgcjtcbiAgZS5leHBvcnRzID0gKHIgPSBlZSwgZnVuY3Rpb24gKGUpIHtcbiAgICB2YXIgdCA9IHIsXG4gICAgICAgIG4gPSB0LmxpYixcbiAgICAgICAgaSA9IG4uV29yZEFycmF5LFxuICAgICAgICBvID0gbi5IYXNoZXIsXG4gICAgICAgIGEgPSB0Lng2NC5Xb3JkLFxuICAgICAgICBzID0gdC5hbGdvLFxuICAgICAgICBoID0gW10sXG4gICAgICAgIGwgPSBbXSxcbiAgICAgICAgZiA9IFtdO1xuICAgICFmdW5jdGlvbiAoKSB7XG4gICAgICBmb3IgKHZhciBlID0gMSwgdCA9IDAsIHIgPSAwOyByIDwgMjQ7IHIrKykge1xuICAgICAgICBoW2UgKyA1ICogdF0gPSAociArIDEpICogKHIgKyAyKSAvIDIgJSA2NDtcbiAgICAgICAgdmFyIG4gPSAoMiAqIGUgKyAzICogdCkgJSA1O1xuICAgICAgICBlID0gdCAlIDUsIHQgPSBuO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGUgPSAwOyBlIDwgNTsgZSsrKSBmb3IgKHQgPSAwOyB0IDwgNTsgdCsrKSBsW2UgKyA1ICogdF0gPSB0ICsgKDIgKiBlICsgMyAqIHQpICUgNSAqIDU7XG5cbiAgICAgIGZvciAodmFyIGkgPSAxLCBvID0gMDsgbyA8IDI0OyBvKyspIHtcbiAgICAgICAgZm9yICh2YXIgcyA9IDAsIGMgPSAwLCB1ID0gMDsgdSA8IDc7IHUrKykge1xuICAgICAgICAgIGlmICgxICYgaSkge1xuICAgICAgICAgICAgdmFyIGQgPSAoMSA8PCB1KSAtIDE7XG4gICAgICAgICAgICBkIDwgMzIgPyBjIF49IDEgPDwgZCA6IHMgXj0gMSA8PCBkIC0gMzI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgMTI4ICYgaSA/IGkgPSBpIDw8IDEgXiAxMTMgOiBpIDw8PSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgZltvXSA9IGEuY3JlYXRlKHMsIGMpO1xuICAgICAgfVxuICAgIH0oKTtcbiAgICB2YXIgYyA9IFtdO1xuICAgICFmdW5jdGlvbiAoKSB7XG4gICAgICBmb3IgKHZhciBlID0gMDsgZSA8IDI1OyBlKyspIGNbZV0gPSBhLmNyZWF0ZSgpO1xuICAgIH0oKTtcbiAgICB2YXIgdSA9IHMuU0hBMyA9IG8uZXh0ZW5kKHtcbiAgICAgIGNmZzogby5jZmcuZXh0ZW5kKHtcbiAgICAgICAgb3V0cHV0TGVuZ3RoOiA1MTJcbiAgICAgIH0pLFxuICAgICAgX2RvUmVzZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZm9yICh2YXIgZSA9IHRoaXMuX3N0YXRlID0gW10sIHQgPSAwOyB0IDwgMjU7IHQrKykgZVt0XSA9IG5ldyBhLmluaXQoKTtcblxuICAgICAgICB0aGlzLmJsb2NrU2l6ZSA9ICgxNjAwIC0gMiAqIHRoaXMuY2ZnLm91dHB1dExlbmd0aCkgLyAzMjtcbiAgICAgIH0sXG4gICAgICBfZG9Qcm9jZXNzQmxvY2s6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICAgIGZvciAodmFyIHIgPSB0aGlzLl9zdGF0ZSwgbiA9IHRoaXMuYmxvY2tTaXplIC8gMiwgaSA9IDA7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgICB2YXIgbyA9IGVbdCArIDIgKiBpXSxcbiAgICAgICAgICAgICAgYSA9IGVbdCArIDIgKiBpICsgMV07XG4gICAgICAgICAgbyA9IDE2NzExOTM1ICYgKG8gPDwgOCB8IG8gPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAobyA8PCAyNCB8IG8gPj4+IDgpLCBhID0gMTY3MTE5MzUgJiAoYSA8PCA4IHwgYSA+Pj4gMjQpIHwgNDI3ODI1NTM2MCAmIChhIDw8IDI0IHwgYSA+Pj4gOCksIChCID0gcltpXSkuaGlnaCBePSBhLCBCLmxvdyBePSBvO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yICh2YXIgcyA9IDA7IHMgPCAyNDsgcysrKSB7XG4gICAgICAgICAgZm9yICh2YXIgdSA9IDA7IHUgPCA1OyB1KyspIHtcbiAgICAgICAgICAgIGZvciAodmFyIGQgPSAwLCBwID0gMCwgXyA9IDA7IF8gPCA1OyBfKyspIGQgXj0gKEIgPSByW3UgKyA1ICogX10pLmhpZ2gsIHAgXj0gQi5sb3c7XG5cbiAgICAgICAgICAgIHZhciBnID0gY1t1XTtcbiAgICAgICAgICAgIGcuaGlnaCA9IGQsIGcubG93ID0gcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmb3IgKHUgPSAwOyB1IDwgNTsgdSsrKSB7XG4gICAgICAgICAgICB2YXIgdiA9IGNbKHUgKyA0KSAlIDVdLFxuICAgICAgICAgICAgICAgIHcgPSBjWyh1ICsgMSkgJSA1XSxcbiAgICAgICAgICAgICAgICBiID0gdy5oaWdoLFxuICAgICAgICAgICAgICAgIHkgPSB3LmxvdztcblxuICAgICAgICAgICAgZm9yIChkID0gdi5oaWdoIF4gKGIgPDwgMSB8IHkgPj4+IDMxKSwgcCA9IHYubG93IF4gKHkgPDwgMSB8IGIgPj4+IDMxKSwgXyA9IDA7IF8gPCA1OyBfKyspIChCID0gclt1ICsgNSAqIF9dKS5oaWdoIF49IGQsIEIubG93IF49IHA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZm9yICh2YXIgbSA9IDE7IG0gPCAyNTsgbSsrKSB7XG4gICAgICAgICAgICB2YXIgayA9IChCID0gclttXSkuaGlnaCxcbiAgICAgICAgICAgICAgICBFID0gQi5sb3csXG4gICAgICAgICAgICAgICAgUyA9IGhbbV07XG4gICAgICAgICAgICBTIDwgMzIgPyAoZCA9IGsgPDwgUyB8IEUgPj4+IDMyIC0gUywgcCA9IEUgPDwgUyB8IGsgPj4+IDMyIC0gUykgOiAoZCA9IEUgPDwgUyAtIDMyIHwgayA+Pj4gNjQgLSBTLCBwID0gayA8PCBTIC0gMzIgfCBFID4+PiA2NCAtIFMpO1xuICAgICAgICAgICAgdmFyIHggPSBjW2xbbV1dO1xuICAgICAgICAgICAgeC5oaWdoID0gZCwgeC5sb3cgPSBwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBSID0gY1swXSxcbiAgICAgICAgICAgICAgQSA9IHJbMF07XG5cbiAgICAgICAgICBmb3IgKFIuaGlnaCA9IEEuaGlnaCwgUi5sb3cgPSBBLmxvdywgdSA9IDA7IHUgPCA1OyB1KyspIGZvciAoXyA9IDA7IF8gPCA1OyBfKyspIHtcbiAgICAgICAgICAgIHZhciBCID0gclttID0gdSArIDUgKiBfXSxcbiAgICAgICAgICAgICAgICB6ID0gY1ttXSxcbiAgICAgICAgICAgICAgICBMID0gY1sodSArIDEpICUgNSArIDUgKiBfXSxcbiAgICAgICAgICAgICAgICBUID0gY1sodSArIDIpICUgNSArIDUgKiBfXTtcbiAgICAgICAgICAgIEIuaGlnaCA9IHouaGlnaCBeIH5MLmhpZ2ggJiBULmhpZ2gsIEIubG93ID0gei5sb3cgXiB+TC5sb3cgJiBULmxvdztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBCID0gclswXTtcbiAgICAgICAgICB2YXIgTSA9IGZbc107XG4gICAgICAgICAgQi5oaWdoIF49IE0uaGlnaCwgQi5sb3cgXj0gTS5sb3c7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfZG9GaW5hbGl6ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgdCA9IHRoaXMuX2RhdGEsXG4gICAgICAgICAgICByID0gdC53b3JkcyxcbiAgICAgICAgICAgIG4gPSAodGhpcy5fbkRhdGFCeXRlcywgOCAqIHQuc2lnQnl0ZXMpLFxuICAgICAgICAgICAgbyA9IDMyICogdGhpcy5ibG9ja1NpemU7XG4gICAgICAgIHJbbiA+Pj4gNV0gfD0gMSA8PCAyNCAtIG4gJSAzMiwgclsoZS5jZWlsKChuICsgMSkgLyBvKSAqIG8gPj4+IDUpIC0gMV0gfD0gMTI4LCB0LnNpZ0J5dGVzID0gNCAqIHIubGVuZ3RoLCB0aGlzLl9wcm9jZXNzKCk7XG5cbiAgICAgICAgZm9yICh2YXIgYSA9IHRoaXMuX3N0YXRlLCBzID0gdGhpcy5jZmcub3V0cHV0TGVuZ3RoIC8gOCwgaCA9IHMgLyA4LCBsID0gW10sIGYgPSAwOyBmIDwgaDsgZisrKSB7XG4gICAgICAgICAgdmFyIGMgPSBhW2ZdLFxuICAgICAgICAgICAgICB1ID0gYy5oaWdoLFxuICAgICAgICAgICAgICBkID0gYy5sb3c7XG4gICAgICAgICAgdSA9IDE2NzExOTM1ICYgKHUgPDwgOCB8IHUgPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAodSA8PCAyNCB8IHUgPj4+IDgpLCBkID0gMTY3MTE5MzUgJiAoZCA8PCA4IHwgZCA+Pj4gMjQpIHwgNDI3ODI1NTM2MCAmIChkIDw8IDI0IHwgZCA+Pj4gOCksIGwucHVzaChkKSwgbC5wdXNoKHUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ldyBpLmluaXQobCwgcyk7XG4gICAgICB9LFxuICAgICAgY2xvbmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgZm9yICh2YXIgZSA9IG8uY2xvbmUuY2FsbCh0aGlzKSwgdCA9IGUuX3N0YXRlID0gdGhpcy5fc3RhdGUuc2xpY2UoMCksIHIgPSAwOyByIDwgMjU7IHIrKykgdFtyXSA9IHRbcl0uY2xvbmUoKTtcblxuICAgICAgICByZXR1cm4gZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0LlNIQTMgPSBvLl9jcmVhdGVIZWxwZXIodSksIHQuSG1hY1NIQTMgPSBvLl9jcmVhdGVIbWFjSGVscGVyKHUpO1xuICB9KE1hdGgpLCByLlNIQTMpO1xufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcbiAgdmFyIHI7XG4gIGUuZXhwb3J0cyA9IChyID0gZWUsIGZ1bmN0aW9uIChlKSB7XG4gICAgdmFyIHQgPSByLFxuICAgICAgICBuID0gdC5saWIsXG4gICAgICAgIGkgPSBuLldvcmRBcnJheSxcbiAgICAgICAgbyA9IG4uSGFzaGVyLFxuICAgICAgICBhID0gdC5hbGdvLFxuICAgICAgICBzID0gaS5jcmVhdGUoWzAsIDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDcsIDQsIDEzLCAxLCAxMCwgNiwgMTUsIDMsIDEyLCAwLCA5LCA1LCAyLCAxNCwgMTEsIDgsIDMsIDEwLCAxNCwgNCwgOSwgMTUsIDgsIDEsIDIsIDcsIDAsIDYsIDEzLCAxMSwgNSwgMTIsIDEsIDksIDExLCAxMCwgMCwgOCwgMTIsIDQsIDEzLCAzLCA3LCAxNSwgMTQsIDUsIDYsIDIsIDQsIDAsIDUsIDksIDcsIDEyLCAyLCAxMCwgMTQsIDEsIDMsIDgsIDExLCA2LCAxNSwgMTNdKSxcbiAgICAgICAgaCA9IGkuY3JlYXRlKFs1LCAxNCwgNywgMCwgOSwgMiwgMTEsIDQsIDEzLCA2LCAxNSwgOCwgMSwgMTAsIDMsIDEyLCA2LCAxMSwgMywgNywgMCwgMTMsIDUsIDEwLCAxNCwgMTUsIDgsIDEyLCA0LCA5LCAxLCAyLCAxNSwgNSwgMSwgMywgNywgMTQsIDYsIDksIDExLCA4LCAxMiwgMiwgMTAsIDAsIDQsIDEzLCA4LCA2LCA0LCAxLCAzLCAxMSwgMTUsIDAsIDUsIDEyLCAyLCAxMywgOSwgNywgMTAsIDE0LCAxMiwgMTUsIDEwLCA0LCAxLCA1LCA4LCA3LCA2LCAyLCAxMywgMTQsIDAsIDMsIDksIDExXSksXG4gICAgICAgIGwgPSBpLmNyZWF0ZShbMTEsIDE0LCAxNSwgMTIsIDUsIDgsIDcsIDksIDExLCAxMywgMTQsIDE1LCA2LCA3LCA5LCA4LCA3LCA2LCA4LCAxMywgMTEsIDksIDcsIDE1LCA3LCAxMiwgMTUsIDksIDExLCA3LCAxMywgMTIsIDExLCAxMywgNiwgNywgMTQsIDksIDEzLCAxNSwgMTQsIDgsIDEzLCA2LCA1LCAxMiwgNywgNSwgMTEsIDEyLCAxNCwgMTUsIDE0LCAxNSwgOSwgOCwgOSwgMTQsIDUsIDYsIDgsIDYsIDUsIDEyLCA5LCAxNSwgNSwgMTEsIDYsIDgsIDEzLCAxMiwgNSwgMTIsIDEzLCAxNCwgMTEsIDgsIDUsIDZdKSxcbiAgICAgICAgZiA9IGkuY3JlYXRlKFs4LCA5LCA5LCAxMSwgMTMsIDE1LCAxNSwgNSwgNywgNywgOCwgMTEsIDE0LCAxNCwgMTIsIDYsIDksIDEzLCAxNSwgNywgMTIsIDgsIDksIDExLCA3LCA3LCAxMiwgNywgNiwgMTUsIDEzLCAxMSwgOSwgNywgMTUsIDExLCA4LCA2LCA2LCAxNCwgMTIsIDEzLCA1LCAxNCwgMTMsIDEzLCA3LCA1LCAxNSwgNSwgOCwgMTEsIDE0LCAxNCwgNiwgMTQsIDYsIDksIDEyLCA5LCAxMiwgNSwgMTUsIDgsIDgsIDUsIDEyLCA5LCAxMiwgNSwgMTQsIDYsIDgsIDEzLCA2LCA1LCAxNSwgMTMsIDExLCAxMV0pLFxuICAgICAgICBjID0gaS5jcmVhdGUoWzAsIDE1MTg1MDAyNDksIDE4NTk3NzUzOTMsIDI0MDA5NTk3MDgsIDI4NDA4NTM4MzhdKSxcbiAgICAgICAgdSA9IGkuY3JlYXRlKFsxMzUyODI5OTI2LCAxNTQ4NjAzNjg0LCAxODM2MDcyNjkxLCAyMDUzOTk0MjE3LCAwXSksXG4gICAgICAgIGQgPSBhLlJJUEVNRDE2MCA9IG8uZXh0ZW5kKHtcbiAgICAgIF9kb1Jlc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuX2hhc2ggPSBpLmNyZWF0ZShbMTczMjU4NDE5MywgNDAyMzIzMzQxNywgMjU2MjM4MzEwMiwgMjcxNzMzODc4LCAzMjg1Mzc3NTIwXSk7XG4gICAgICB9LFxuICAgICAgX2RvUHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgICBmb3IgKHZhciByID0gMDsgciA8IDE2OyByKyspIHtcbiAgICAgICAgICB2YXIgbiA9IHQgKyByLFxuICAgICAgICAgICAgICBpID0gZVtuXTtcbiAgICAgICAgICBlW25dID0gMTY3MTE5MzUgJiAoaSA8PCA4IHwgaSA+Pj4gMjQpIHwgNDI3ODI1NTM2MCAmIChpIDw8IDI0IHwgaSA+Pj4gOCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgbyxcbiAgICAgICAgICAgIGEsXG4gICAgICAgICAgICBkLFxuICAgICAgICAgICAgeSxcbiAgICAgICAgICAgIG0sXG4gICAgICAgICAgICBrLFxuICAgICAgICAgICAgRSxcbiAgICAgICAgICAgIFMsXG4gICAgICAgICAgICB4LFxuICAgICAgICAgICAgUixcbiAgICAgICAgICAgIEEsXG4gICAgICAgICAgICBCID0gdGhpcy5faGFzaC53b3JkcyxcbiAgICAgICAgICAgIHogPSBjLndvcmRzLFxuICAgICAgICAgICAgTCA9IHUud29yZHMsXG4gICAgICAgICAgICBUID0gcy53b3JkcyxcbiAgICAgICAgICAgIE0gPSBoLndvcmRzLFxuICAgICAgICAgICAgQyA9IGwud29yZHMsXG4gICAgICAgICAgICBEID0gZi53b3JkcztcblxuICAgICAgICBmb3IgKGsgPSBvID0gQlswXSwgRSA9IGEgPSBCWzFdLCBTID0gZCA9IEJbMl0sIHggPSB5ID0gQlszXSwgUiA9IG0gPSBCWzRdLCByID0gMDsgciA8IDgwOyByICs9IDEpIEEgPSBvICsgZVt0ICsgVFtyXV0gfCAwLCBBICs9IHIgPCAxNiA/IHAoYSwgZCwgeSkgKyB6WzBdIDogciA8IDMyID8gXyhhLCBkLCB5KSArIHpbMV0gOiByIDwgNDggPyBnKGEsIGQsIHkpICsgelsyXSA6IHIgPCA2NCA/IHYoYSwgZCwgeSkgKyB6WzNdIDogdyhhLCBkLCB5KSArIHpbNF0sIEEgPSAoQSA9IGIoQSB8PSAwLCBDW3JdKSkgKyBtIHwgMCwgbyA9IG0sIG0gPSB5LCB5ID0gYihkLCAxMCksIGQgPSBhLCBhID0gQSwgQSA9IGsgKyBlW3QgKyBNW3JdXSB8IDAsIEEgKz0gciA8IDE2ID8gdyhFLCBTLCB4KSArIExbMF0gOiByIDwgMzIgPyB2KEUsIFMsIHgpICsgTFsxXSA6IHIgPCA0OCA/IGcoRSwgUywgeCkgKyBMWzJdIDogciA8IDY0ID8gXyhFLCBTLCB4KSArIExbM10gOiBwKEUsIFMsIHgpICsgTFs0XSwgQSA9IChBID0gYihBIHw9IDAsIERbcl0pKSArIFIgfCAwLCBrID0gUiwgUiA9IHgsIHggPSBiKFMsIDEwKSwgUyA9IEUsIEUgPSBBO1xuXG4gICAgICAgIEEgPSBCWzFdICsgZCArIHggfCAwLCBCWzFdID0gQlsyXSArIHkgKyBSIHwgMCwgQlsyXSA9IEJbM10gKyBtICsgayB8IDAsIEJbM10gPSBCWzRdICsgbyArIEUgfCAwLCBCWzRdID0gQlswXSArIGEgKyBTIHwgMCwgQlswXSA9IEE7XG4gICAgICB9LFxuICAgICAgX2RvRmluYWxpemU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGUgPSB0aGlzLl9kYXRhLFxuICAgICAgICAgICAgdCA9IGUud29yZHMsXG4gICAgICAgICAgICByID0gOCAqIHRoaXMuX25EYXRhQnl0ZXMsXG4gICAgICAgICAgICBuID0gOCAqIGUuc2lnQnl0ZXM7XG4gICAgICAgIHRbbiA+Pj4gNV0gfD0gMTI4IDw8IDI0IC0gbiAlIDMyLCB0WzE0ICsgKG4gKyA2NCA+Pj4gOSA8PCA0KV0gPSAxNjcxMTkzNSAmIChyIDw8IDggfCByID4+PiAyNCkgfCA0Mjc4MjU1MzYwICYgKHIgPDwgMjQgfCByID4+PiA4KSwgZS5zaWdCeXRlcyA9IDQgKiAodC5sZW5ndGggKyAxKSwgdGhpcy5fcHJvY2VzcygpO1xuXG4gICAgICAgIGZvciAodmFyIGkgPSB0aGlzLl9oYXNoLCBvID0gaS53b3JkcywgYSA9IDA7IGEgPCA1OyBhKyspIHtcbiAgICAgICAgICB2YXIgcyA9IG9bYV07XG4gICAgICAgICAgb1thXSA9IDE2NzExOTM1ICYgKHMgPDwgOCB8IHMgPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAocyA8PCAyNCB8IHMgPj4+IDgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGk7XG4gICAgICB9LFxuICAgICAgY2xvbmU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGUgPSBvLmNsb25lLmNhbGwodGhpcyk7XG4gICAgICAgIHJldHVybiBlLl9oYXNoID0gdGhpcy5faGFzaC5jbG9uZSgpLCBlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gcChlLCB0LCByKSB7XG4gICAgICByZXR1cm4gZSBeIHQgXiByO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIF8oZSwgdCwgcikge1xuICAgICAgcmV0dXJuIGUgJiB0IHwgfmUgJiByO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGcoZSwgdCwgcikge1xuICAgICAgcmV0dXJuIChlIHwgfnQpIF4gcjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB2KGUsIHQsIHIpIHtcbiAgICAgIHJldHVybiBlICYgciB8IHQgJiB+cjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB3KGUsIHQsIHIpIHtcbiAgICAgIHJldHVybiBlIF4gKHQgfCB+cik7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gYihlLCB0KSB7XG4gICAgICByZXR1cm4gZSA8PCB0IHwgZSA+Pj4gMzIgLSB0O1xuICAgIH1cblxuICAgIHQuUklQRU1EMTYwID0gby5fY3JlYXRlSGVscGVyKGQpLCB0LkhtYWNSSVBFTUQxNjAgPSBvLl9jcmVhdGVIbWFjSGVscGVyKGQpO1xuICB9KCksIHIuUklQRU1EMTYwKTtcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XG4gIHZhciByLCBuLCBpLCBvLCBhLCBzO1xuICBlLmV4cG9ydHMgPSAobiA9IChyID0gZWUpLmxpYiwgaSA9IG4uQmFzZSwgbyA9IHIuZW5jLCBhID0gby5VdGY4LCBzID0gci5hbGdvLCB2b2lkIChzLkhNQUMgPSBpLmV4dGVuZCh7XG4gICAgaW5pdDogZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIGUgPSB0aGlzLl9oYXNoZXIgPSBuZXcgZS5pbml0KCksIFwic3RyaW5nXCIgPT0gdHlwZW9mIHQgJiYgKHQgPSBhLnBhcnNlKHQpKTtcbiAgICAgIHZhciByID0gZS5ibG9ja1NpemUsXG4gICAgICAgICAgbiA9IDQgKiByO1xuICAgICAgdC5zaWdCeXRlcyA+IG4gJiYgKHQgPSBlLmZpbmFsaXplKHQpKSwgdC5jbGFtcCgpO1xuXG4gICAgICBmb3IgKHZhciBpID0gdGhpcy5fb0tleSA9IHQuY2xvbmUoKSwgbyA9IHRoaXMuX2lLZXkgPSB0LmNsb25lKCksIHMgPSBpLndvcmRzLCBoID0gby53b3JkcywgbCA9IDA7IGwgPCByOyBsKyspIHNbbF0gXj0gMTU0OTU1NjgyOCwgaFtsXSBePSA5MDk1MjI0ODY7XG5cbiAgICAgIGkuc2lnQnl0ZXMgPSBvLnNpZ0J5dGVzID0gbiwgdGhpcy5yZXNldCgpO1xuICAgIH0sXG4gICAgcmVzZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBlID0gdGhpcy5faGFzaGVyO1xuICAgICAgZS5yZXNldCgpLCBlLnVwZGF0ZSh0aGlzLl9pS2V5KTtcbiAgICB9LFxuICAgIHVwZGF0ZTogZnVuY3Rpb24gKGUpIHtcbiAgICAgIHJldHVybiB0aGlzLl9oYXNoZXIudXBkYXRlKGUpLCB0aGlzO1xuICAgIH0sXG4gICAgZmluYWxpemU6IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IHRoaXMuX2hhc2hlcixcbiAgICAgICAgICByID0gdC5maW5hbGl6ZShlKTtcbiAgICAgIHQucmVzZXQoKTtcbiAgICAgIHZhciBuID0gdC5maW5hbGl6ZSh0aGlzLl9vS2V5LmNsb25lKCkuY29uY2F0KHIpKTtcbiAgICAgIHJldHVybiBuO1xuICAgIH1cbiAgfSkpKTtcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XG4gIHZhciByLCBuLCBpLCBvLCBhLCBzLCBoLCBsLCBmO1xuICBlLmV4cG9ydHMgPSAoaSA9IChuID0gciA9IGVlKS5saWIsIG8gPSBpLkJhc2UsIGEgPSBpLldvcmRBcnJheSwgcyA9IG4uYWxnbywgaCA9IHMuU0hBMSwgbCA9IHMuSE1BQywgZiA9IHMuUEJLREYyID0gby5leHRlbmQoe1xuICAgIGNmZzogby5leHRlbmQoe1xuICAgICAga2V5U2l6ZTogNCxcbiAgICAgIGhhc2hlcjogaCxcbiAgICAgIGl0ZXJhdGlvbnM6IDFcbiAgICB9KSxcbiAgICBpbml0OiBmdW5jdGlvbiAoZSkge1xuICAgICAgdGhpcy5jZmcgPSB0aGlzLmNmZy5leHRlbmQoZSk7XG4gICAgfSxcbiAgICBjb21wdXRlOiBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgZm9yICh2YXIgciA9IHRoaXMuY2ZnLCBuID0gbC5jcmVhdGUoci5oYXNoZXIsIGUpLCBpID0gYS5jcmVhdGUoKSwgbyA9IGEuY3JlYXRlKFsxXSksIHMgPSBpLndvcmRzLCBoID0gby53b3JkcywgZiA9IHIua2V5U2l6ZSwgYyA9IHIuaXRlcmF0aW9uczsgcy5sZW5ndGggPCBmOykge1xuICAgICAgICB2YXIgdSA9IG4udXBkYXRlKHQpLmZpbmFsaXplKG8pO1xuICAgICAgICBuLnJlc2V0KCk7XG5cbiAgICAgICAgZm9yICh2YXIgZCA9IHUud29yZHMsIHAgPSBkLmxlbmd0aCwgXyA9IHUsIGcgPSAxOyBnIDwgYzsgZysrKSB7XG4gICAgICAgICAgXyA9IG4uZmluYWxpemUoXyksIG4ucmVzZXQoKTtcblxuICAgICAgICAgIGZvciAodmFyIHYgPSBfLndvcmRzLCB3ID0gMDsgdyA8IHA7IHcrKykgZFt3XSBePSB2W3ddO1xuICAgICAgICB9XG5cbiAgICAgICAgaS5jb25jYXQodSksIGhbMF0rKztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGkuc2lnQnl0ZXMgPSA0ICogZiwgaTtcbiAgICB9XG4gIH0pLCBuLlBCS0RGMiA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgcmV0dXJuIGYuY3JlYXRlKHIpLmNvbXB1dGUoZSwgdCk7XG4gIH0sIHIuUEJLREYyKTtcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XG4gIHZhciByLCBuLCBpLCBvLCBhLCBzLCBoLCBsO1xuICBlLmV4cG9ydHMgPSAoaSA9IChuID0gciA9IGVlKS5saWIsIG8gPSBpLkJhc2UsIGEgPSBpLldvcmRBcnJheSwgcyA9IG4uYWxnbywgaCA9IHMuTUQ1LCBsID0gcy5FdnBLREYgPSBvLmV4dGVuZCh7XG4gICAgY2ZnOiBvLmV4dGVuZCh7XG4gICAgICBrZXlTaXplOiA0LFxuICAgICAgaGFzaGVyOiBoLFxuICAgICAgaXRlcmF0aW9uczogMVxuICAgIH0pLFxuICAgIGluaXQ6IGZ1bmN0aW9uIChlKSB7XG4gICAgICB0aGlzLmNmZyA9IHRoaXMuY2ZnLmV4dGVuZChlKTtcbiAgICB9LFxuICAgIGNvbXB1dGU6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICBmb3IgKHZhciByID0gdGhpcy5jZmcsIG4gPSByLmhhc2hlci5jcmVhdGUoKSwgaSA9IGEuY3JlYXRlKCksIG8gPSBpLndvcmRzLCBzID0gci5rZXlTaXplLCBoID0gci5pdGVyYXRpb25zOyBvLmxlbmd0aCA8IHM7KSB7XG4gICAgICAgIGwgJiYgbi51cGRhdGUobCk7XG4gICAgICAgIHZhciBsID0gbi51cGRhdGUoZSkuZmluYWxpemUodCk7XG4gICAgICAgIG4ucmVzZXQoKTtcblxuICAgICAgICBmb3IgKHZhciBmID0gMTsgZiA8IGg7IGYrKykgbCA9IG4uZmluYWxpemUobCksIG4ucmVzZXQoKTtcblxuICAgICAgICBpLmNvbmNhdChsKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGkuc2lnQnl0ZXMgPSA0ICogcywgaTtcbiAgICB9XG4gIH0pLCBuLkV2cEtERiA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgcmV0dXJuIGwuY3JlYXRlKHIpLmNvbXB1dGUoZSwgdCk7XG4gIH0sIHIuRXZwS0RGKTtcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XG4gIHZhciByLCBuLCBpLCBvLCBhLCBzLCBoLCBsLCBmLCBjLCB1LCBkLCBwLCBfLCBnLCB2LCB3LCBiLCB5LCBtLCBrLCBFLCBTLCB4O1xuXG4gIGUuZXhwb3J0cyA9IHZvaWQgKChyID0gZWUpLmxpYi5DaXBoZXIgfHwgKGkgPSByLCBvID0gaS5saWIsIGEgPSBvLkJhc2UsIHMgPSBvLldvcmRBcnJheSwgaCA9IG8uQnVmZmVyZWRCbG9ja0FsZ29yaXRobSwgbCA9IGkuZW5jLCBsLlV0ZjgsIGYgPSBsLkJhc2U2NCwgYyA9IGkuYWxnbywgdSA9IGMuRXZwS0RGLCBkID0gby5DaXBoZXIgPSBoLmV4dGVuZCh7XG4gICAgY2ZnOiBhLmV4dGVuZCgpLFxuICAgIGNyZWF0ZUVuY3J5cHRvcjogZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZSh0aGlzLl9FTkNfWEZPUk1fTU9ERSwgZSwgdCk7XG4gICAgfSxcbiAgICBjcmVhdGVEZWNyeXB0b3I6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGUodGhpcy5fREVDX1hGT1JNX01PREUsIGUsIHQpO1xuICAgIH0sXG4gICAgaW5pdDogZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICAgIHRoaXMuY2ZnID0gdGhpcy5jZmcuZXh0ZW5kKHIpLCB0aGlzLl94Zm9ybU1vZGUgPSBlLCB0aGlzLl9rZXkgPSB0LCB0aGlzLnJlc2V0KCk7XG4gICAgfSxcbiAgICByZXNldDogZnVuY3Rpb24gKCkge1xuICAgICAgaC5yZXNldC5jYWxsKHRoaXMpLCB0aGlzLl9kb1Jlc2V0KCk7XG4gICAgfSxcbiAgICBwcm9jZXNzOiBmdW5jdGlvbiAoZSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2FwcGVuZChlKSwgdGhpcy5fcHJvY2VzcygpO1xuICAgIH0sXG4gICAgZmluYWxpemU6IGZ1bmN0aW9uIChlKSB7XG4gICAgICBlICYmIHRoaXMuX2FwcGVuZChlKTtcblxuICAgICAgdmFyIHQgPSB0aGlzLl9kb0ZpbmFsaXplKCk7XG5cbiAgICAgIHJldHVybiB0O1xuICAgIH0sXG4gICAga2V5U2l6ZTogNCxcbiAgICBpdlNpemU6IDQsXG4gICAgX0VOQ19YRk9STV9NT0RFOiAxLFxuICAgIF9ERUNfWEZPUk1fTU9ERTogMixcbiAgICBfY3JlYXRlSGVscGVyOiBmdW5jdGlvbiAoKSB7XG4gICAgICBmdW5jdGlvbiBlKGUpIHtcbiAgICAgICAgcmV0dXJuIFwic3RyaW5nXCIgPT0gdHlwZW9mIGUgPyB4IDogaztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZ1bmN0aW9uICh0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZW5jcnlwdDogZnVuY3Rpb24gKHIsIG4sIGkpIHtcbiAgICAgICAgICAgIHJldHVybiBlKG4pLmVuY3J5cHQodCwgciwgbiwgaSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZWNyeXB0OiBmdW5jdGlvbiAociwgbiwgaSkge1xuICAgICAgICAgICAgcmV0dXJuIGUobikuZGVjcnlwdCh0LCByLCBuLCBpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH0oKVxuICB9KSwgby5TdHJlYW1DaXBoZXIgPSBkLmV4dGVuZCh7XG4gICAgX2RvRmluYWxpemU6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciBlID0gdGhpcy5fcHJvY2VzcyghMCk7XG5cbiAgICAgIHJldHVybiBlO1xuICAgIH0sXG4gICAgYmxvY2tTaXplOiAxXG4gIH0pLCBwID0gaS5tb2RlID0ge30sIF8gPSBvLkJsb2NrQ2lwaGVyTW9kZSA9IGEuZXh0ZW5kKHtcbiAgICBjcmVhdGVFbmNyeXB0b3I6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICByZXR1cm4gdGhpcy5FbmNyeXB0b3IuY3JlYXRlKGUsIHQpO1xuICAgIH0sXG4gICAgY3JlYXRlRGVjcnlwdG9yOiBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgcmV0dXJuIHRoaXMuRGVjcnlwdG9yLmNyZWF0ZShlLCB0KTtcbiAgICB9LFxuICAgIGluaXQ6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICB0aGlzLl9jaXBoZXIgPSBlLCB0aGlzLl9pdiA9IHQ7XG4gICAgfVxuICB9KSwgZyA9IHAuQ0JDID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBlID0gXy5leHRlbmQoKTtcblxuICAgIGZ1bmN0aW9uIHQoZSwgdCwgcikge1xuICAgICAgdmFyIGkgPSB0aGlzLl9pdjtcblxuICAgICAgaWYgKGkpIHtcbiAgICAgICAgdmFyIG8gPSBpO1xuICAgICAgICB0aGlzLl9pdiA9IG47XG4gICAgICB9IGVsc2UgdmFyIG8gPSB0aGlzLl9wcmV2QmxvY2s7XG5cbiAgICAgIGZvciAodmFyIGEgPSAwOyBhIDwgcjsgYSsrKSBlW3QgKyBhXSBePSBvW2FdO1xuICAgIH1cblxuICAgIHJldHVybiBlLkVuY3J5cHRvciA9IGUuZXh0ZW5kKHtcbiAgICAgIHByb2Nlc3NCbG9jazogZnVuY3Rpb24gKGUsIHIpIHtcbiAgICAgICAgdmFyIG4gPSB0aGlzLl9jaXBoZXIsXG4gICAgICAgICAgICBpID0gbi5ibG9ja1NpemU7XG4gICAgICAgIHQuY2FsbCh0aGlzLCBlLCByLCBpKSwgbi5lbmNyeXB0QmxvY2soZSwgciksIHRoaXMuX3ByZXZCbG9jayA9IGUuc2xpY2UociwgciArIGkpO1xuICAgICAgfVxuICAgIH0pLCBlLkRlY3J5cHRvciA9IGUuZXh0ZW5kKHtcbiAgICAgIHByb2Nlc3NCbG9jazogZnVuY3Rpb24gKGUsIHIpIHtcbiAgICAgICAgdmFyIG4gPSB0aGlzLl9jaXBoZXIsXG4gICAgICAgICAgICBpID0gbi5ibG9ja1NpemUsXG4gICAgICAgICAgICBvID0gZS5zbGljZShyLCByICsgaSk7XG4gICAgICAgIG4uZGVjcnlwdEJsb2NrKGUsIHIpLCB0LmNhbGwodGhpcywgZSwgciwgaSksIHRoaXMuX3ByZXZCbG9jayA9IG87XG4gICAgICB9XG4gICAgfSksIGU7XG4gIH0oKSwgdiA9IGkucGFkID0ge30sIHcgPSB2LlBrY3M3ID0ge1xuICAgIHBhZDogZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIGZvciAodmFyIHIgPSA0ICogdCwgbiA9IHIgLSBlLnNpZ0J5dGVzICUgciwgaSA9IG4gPDwgMjQgfCBuIDw8IDE2IHwgbiA8PCA4IHwgbiwgbyA9IFtdLCBhID0gMDsgYSA8IG47IGEgKz0gNCkgby5wdXNoKGkpO1xuXG4gICAgICB2YXIgaCA9IHMuY3JlYXRlKG8sIG4pO1xuICAgICAgZS5jb25jYXQoaCk7XG4gICAgfSxcbiAgICB1bnBhZDogZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0ID0gMjU1ICYgZS53b3Jkc1tlLnNpZ0J5dGVzIC0gMSA+Pj4gMl07XG4gICAgICBlLnNpZ0J5dGVzIC09IHQ7XG4gICAgfVxuICB9LCBvLkJsb2NrQ2lwaGVyID0gZC5leHRlbmQoe1xuICAgIGNmZzogZC5jZmcuZXh0ZW5kKHtcbiAgICAgIG1vZGU6IGcsXG4gICAgICBwYWRkaW5nOiB3XG4gICAgfSksXG4gICAgcmVzZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGQucmVzZXQuY2FsbCh0aGlzKTtcbiAgICAgIHZhciBlID0gdGhpcy5jZmcsXG4gICAgICAgICAgdCA9IGUuaXYsXG4gICAgICAgICAgciA9IGUubW9kZTtcbiAgICAgIGlmICh0aGlzLl94Zm9ybU1vZGUgPT0gdGhpcy5fRU5DX1hGT1JNX01PREUpIHZhciBuID0gci5jcmVhdGVFbmNyeXB0b3I7ZWxzZSB7XG4gICAgICAgIHZhciBuID0gci5jcmVhdGVEZWNyeXB0b3I7XG4gICAgICAgIHRoaXMuX21pbkJ1ZmZlclNpemUgPSAxO1xuICAgICAgfVxuICAgICAgdGhpcy5fbW9kZSAmJiB0aGlzLl9tb2RlLl9fY3JlYXRvciA9PSBuID8gdGhpcy5fbW9kZS5pbml0KHRoaXMsIHQgJiYgdC53b3JkcykgOiAodGhpcy5fbW9kZSA9IG4uY2FsbChyLCB0aGlzLCB0ICYmIHQud29yZHMpLCB0aGlzLl9tb2RlLl9fY3JlYXRvciA9IG4pO1xuICAgIH0sXG4gICAgX2RvUHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgdGhpcy5fbW9kZS5wcm9jZXNzQmxvY2soZSwgdCk7XG4gICAgfSxcbiAgICBfZG9GaW5hbGl6ZTogZnVuY3Rpb24gKCkge1xuICAgICAgdmFyIGUgPSB0aGlzLmNmZy5wYWRkaW5nO1xuXG4gICAgICBpZiAodGhpcy5feGZvcm1Nb2RlID09IHRoaXMuX0VOQ19YRk9STV9NT0RFKSB7XG4gICAgICAgIGUucGFkKHRoaXMuX2RhdGEsIHRoaXMuYmxvY2tTaXplKTtcblxuICAgICAgICB2YXIgdCA9IHRoaXMuX3Byb2Nlc3MoITApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHQgPSB0aGlzLl9wcm9jZXNzKCEwKTtcblxuICAgICAgICBlLnVucGFkKHQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdDtcbiAgICB9LFxuICAgIGJsb2NrU2l6ZTogNFxuICB9KSwgYiA9IG8uQ2lwaGVyUGFyYW1zID0gYS5leHRlbmQoe1xuICAgIGluaXQ6IGZ1bmN0aW9uIChlKSB7XG4gICAgICB0aGlzLm1peEluKGUpO1xuICAgIH0sXG4gICAgdG9TdHJpbmc6IGZ1bmN0aW9uIChlKSB7XG4gICAgICByZXR1cm4gKGUgfHwgdGhpcy5mb3JtYXR0ZXIpLnN0cmluZ2lmeSh0aGlzKTtcbiAgICB9XG4gIH0pLCB5ID0gaS5mb3JtYXQgPSB7fSwgbSA9IHkuT3BlblNTTCA9IHtcbiAgICBzdHJpbmdpZnk6IGZ1bmN0aW9uIChlKSB7XG4gICAgICB2YXIgdCA9IGUuY2lwaGVydGV4dCxcbiAgICAgICAgICByID0gZS5zYWx0O1xuICAgICAgaWYgKHIpIHZhciBuID0gcy5jcmVhdGUoWzEzOTg4OTM2ODQsIDE3MDEwNzY4MzFdKS5jb25jYXQocikuY29uY2F0KHQpO2Vsc2UgdmFyIG4gPSB0O1xuICAgICAgcmV0dXJuIG4udG9TdHJpbmcoZik7XG4gICAgfSxcbiAgICBwYXJzZTogZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0ID0gZi5wYXJzZShlKSxcbiAgICAgICAgICByID0gdC53b3JkcztcblxuICAgICAgaWYgKDEzOTg4OTM2ODQgPT0gclswXSAmJiAxNzAxMDc2ODMxID09IHJbMV0pIHtcbiAgICAgICAgdmFyIG4gPSBzLmNyZWF0ZShyLnNsaWNlKDIsIDQpKTtcbiAgICAgICAgci5zcGxpY2UoMCwgNCksIHQuc2lnQnl0ZXMgLT0gMTY7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBiLmNyZWF0ZSh7XG4gICAgICAgIGNpcGhlcnRleHQ6IHQsXG4gICAgICAgIHNhbHQ6IG5cbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgayA9IG8uU2VyaWFsaXphYmxlQ2lwaGVyID0gYS5leHRlbmQoe1xuICAgIGNmZzogYS5leHRlbmQoe1xuICAgICAgZm9ybWF0OiBtXG4gICAgfSksXG4gICAgZW5jcnlwdDogZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcbiAgICAgIG4gPSB0aGlzLmNmZy5leHRlbmQobik7XG4gICAgICB2YXIgaSA9IGUuY3JlYXRlRW5jcnlwdG9yKHIsIG4pLFxuICAgICAgICAgIG8gPSBpLmZpbmFsaXplKHQpLFxuICAgICAgICAgIGEgPSBpLmNmZztcbiAgICAgIHJldHVybiBiLmNyZWF0ZSh7XG4gICAgICAgIGNpcGhlcnRleHQ6IG8sXG4gICAgICAgIGtleTogcixcbiAgICAgICAgaXY6IGEuaXYsXG4gICAgICAgIGFsZ29yaXRobTogZSxcbiAgICAgICAgbW9kZTogYS5tb2RlLFxuICAgICAgICBwYWRkaW5nOiBhLnBhZGRpbmcsXG4gICAgICAgIGJsb2NrU2l6ZTogZS5ibG9ja1NpemUsXG4gICAgICAgIGZvcm1hdHRlcjogbi5mb3JtYXRcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgZGVjcnlwdDogZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcbiAgICAgIG4gPSB0aGlzLmNmZy5leHRlbmQobiksIHQgPSB0aGlzLl9wYXJzZSh0LCBuLmZvcm1hdCk7XG4gICAgICB2YXIgaSA9IGUuY3JlYXRlRGVjcnlwdG9yKHIsIG4pLmZpbmFsaXplKHQuY2lwaGVydGV4dCk7XG4gICAgICByZXR1cm4gaTtcbiAgICB9LFxuICAgIF9wYXJzZTogZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIHJldHVybiBcInN0cmluZ1wiID09IHR5cGVvZiBlID8gdC5wYXJzZShlLCB0aGlzKSA6IGU7XG4gICAgfVxuICB9KSwgRSA9IGkua2RmID0ge30sIFMgPSBFLk9wZW5TU0wgPSB7XG4gICAgZXhlY3V0ZTogZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcbiAgICAgIG4gfHwgKG4gPSBzLnJhbmRvbSg4KSk7XG4gICAgICB2YXIgaSA9IHUuY3JlYXRlKHtcbiAgICAgICAga2V5U2l6ZTogdCArIHJcbiAgICAgIH0pLmNvbXB1dGUoZSwgbiksXG4gICAgICAgICAgbyA9IHMuY3JlYXRlKGkud29yZHMuc2xpY2UodCksIDQgKiByKTtcbiAgICAgIHJldHVybiBpLnNpZ0J5dGVzID0gNCAqIHQsIGIuY3JlYXRlKHtcbiAgICAgICAga2V5OiBpLFxuICAgICAgICBpdjogbyxcbiAgICAgICAgc2FsdDogblxuICAgICAgfSk7XG4gICAgfVxuICB9LCB4ID0gby5QYXNzd29yZEJhc2VkQ2lwaGVyID0gay5leHRlbmQoe1xuICAgIGNmZzogay5jZmcuZXh0ZW5kKHtcbiAgICAgIGtkZjogU1xuICAgIH0pLFxuICAgIGVuY3J5cHQ6IGZ1bmN0aW9uIChlLCB0LCByLCBuKSB7XG4gICAgICB2YXIgaSA9IChuID0gdGhpcy5jZmcuZXh0ZW5kKG4pKS5rZGYuZXhlY3V0ZShyLCBlLmtleVNpemUsIGUuaXZTaXplKTtcbiAgICAgIG4uaXYgPSBpLml2O1xuICAgICAgdmFyIG8gPSBrLmVuY3J5cHQuY2FsbCh0aGlzLCBlLCB0LCBpLmtleSwgbik7XG4gICAgICByZXR1cm4gby5taXhJbihpKSwgbztcbiAgICB9LFxuICAgIGRlY3J5cHQ6IGZ1bmN0aW9uIChlLCB0LCByLCBuKSB7XG4gICAgICBuID0gdGhpcy5jZmcuZXh0ZW5kKG4pLCB0ID0gdGhpcy5fcGFyc2UodCwgbi5mb3JtYXQpO1xuICAgICAgdmFyIGkgPSBuLmtkZi5leGVjdXRlKHIsIGUua2V5U2l6ZSwgZS5pdlNpemUsIHQuc2FsdCk7XG4gICAgICBuLml2ID0gaS5pdjtcbiAgICAgIHZhciBvID0gay5kZWNyeXB0LmNhbGwodGhpcywgZSwgdCwgaS5rZXksIG4pO1xuICAgICAgcmV0dXJuIG87XG4gICAgfVxuICB9KSkpO1xufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcbiAgdmFyIHI7XG4gIGUuZXhwb3J0cyA9ICgociA9IGVlKS5tb2RlLkNGQiA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZSA9IHIubGliLkJsb2NrQ2lwaGVyTW9kZS5leHRlbmQoKTtcblxuICAgIGZ1bmN0aW9uIHQoZSwgdCwgciwgbikge1xuICAgICAgdmFyIGkgPSB0aGlzLl9pdjtcblxuICAgICAgaWYgKGkpIHtcbiAgICAgICAgdmFyIG8gPSBpLnNsaWNlKDApO1xuICAgICAgICB0aGlzLl9pdiA9IHZvaWQgMDtcbiAgICAgIH0gZWxzZSBvID0gdGhpcy5fcHJldkJsb2NrO1xuXG4gICAgICBuLmVuY3J5cHRCbG9jayhvLCAwKTtcblxuICAgICAgZm9yICh2YXIgYSA9IDA7IGEgPCByOyBhKyspIGVbdCArIGFdIF49IG9bYV07XG4gICAgfVxuXG4gICAgcmV0dXJuIGUuRW5jcnlwdG9yID0gZS5leHRlbmQoe1xuICAgICAgcHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbiAoZSwgcikge1xuICAgICAgICB2YXIgbiA9IHRoaXMuX2NpcGhlcixcbiAgICAgICAgICAgIGkgPSBuLmJsb2NrU2l6ZTtcbiAgICAgICAgdC5jYWxsKHRoaXMsIGUsIHIsIGksIG4pLCB0aGlzLl9wcmV2QmxvY2sgPSBlLnNsaWNlKHIsIHIgKyBpKTtcbiAgICAgIH1cbiAgICB9KSwgZS5EZWNyeXB0b3IgPSBlLmV4dGVuZCh7XG4gICAgICBwcm9jZXNzQmxvY2s6IGZ1bmN0aW9uIChlLCByKSB7XG4gICAgICAgIHZhciBuID0gdGhpcy5fY2lwaGVyLFxuICAgICAgICAgICAgaSA9IG4uYmxvY2tTaXplLFxuICAgICAgICAgICAgbyA9IGUuc2xpY2UociwgciArIGkpO1xuICAgICAgICB0LmNhbGwodGhpcywgZSwgciwgaSwgbiksIHRoaXMuX3ByZXZCbG9jayA9IG87XG4gICAgICB9XG4gICAgfSksIGU7XG4gIH0oKSwgci5tb2RlLkNGQik7XG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgciwgbiwgaTtcbiAgZS5leHBvcnRzID0gKChyID0gZWUpLm1vZGUuQ1RSID0gKG4gPSByLmxpYi5CbG9ja0NpcGhlck1vZGUuZXh0ZW5kKCksIGkgPSBuLkVuY3J5cHRvciA9IG4uZXh0ZW5kKHtcbiAgICBwcm9jZXNzQmxvY2s6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICB2YXIgciA9IHRoaXMuX2NpcGhlcixcbiAgICAgICAgICBuID0gci5ibG9ja1NpemUsXG4gICAgICAgICAgaSA9IHRoaXMuX2l2LFxuICAgICAgICAgIG8gPSB0aGlzLl9jb3VudGVyO1xuICAgICAgaSAmJiAobyA9IHRoaXMuX2NvdW50ZXIgPSBpLnNsaWNlKDApLCB0aGlzLl9pdiA9IHZvaWQgMCk7XG4gICAgICB2YXIgYSA9IG8uc2xpY2UoMCk7XG4gICAgICByLmVuY3J5cHRCbG9jayhhLCAwKSwgb1tuIC0gMV0gPSBvW24gLSAxXSArIDEgfCAwO1xuXG4gICAgICBmb3IgKHZhciBzID0gMDsgcyA8IG47IHMrKykgZVt0ICsgc10gXj0gYVtzXTtcbiAgICB9XG4gIH0pLCBuLkRlY3J5cHRvciA9IGksIG4pLCByLm1vZGUuQ1RSKTtcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XG4gIHZhciByO1xuICBlLmV4cG9ydHMgPSAoKHIgPSBlZSkubW9kZS5DVFJHbGFkbWFuID0gZnVuY3Rpb24gKCkge1xuICAgIHZhciBlID0gci5saWIuQmxvY2tDaXBoZXJNb2RlLmV4dGVuZCgpO1xuXG4gICAgZnVuY3Rpb24gdChlKSB7XG4gICAgICBpZiAoMjU1ID09IChlID4+IDI0ICYgMjU1KSkge1xuICAgICAgICB2YXIgdCA9IGUgPj4gMTYgJiAyNTUsXG4gICAgICAgICAgICByID0gZSA+PiA4ICYgMjU1LFxuICAgICAgICAgICAgbiA9IDI1NSAmIGU7XG4gICAgICAgIDI1NSA9PT0gdCA/ICh0ID0gMCwgMjU1ID09PSByID8gKHIgPSAwLCAyNTUgPT09IG4gPyBuID0gMCA6ICsrbikgOiArK3IpIDogKyt0LCBlID0gMCwgZSArPSB0IDw8IDE2LCBlICs9IHIgPDwgOCwgZSArPSBuO1xuICAgICAgfSBlbHNlIGUgKz0gMSA8PCAyNDtcblxuICAgICAgcmV0dXJuIGU7XG4gICAgfVxuXG4gICAgdmFyIG4gPSBlLkVuY3J5cHRvciA9IGUuZXh0ZW5kKHtcbiAgICAgIHByb2Nlc3NCbG9jazogZnVuY3Rpb24gKGUsIHIpIHtcbiAgICAgICAgdmFyIG4gPSB0aGlzLl9jaXBoZXIsXG4gICAgICAgICAgICBpID0gbi5ibG9ja1NpemUsXG4gICAgICAgICAgICBvID0gdGhpcy5faXYsXG4gICAgICAgICAgICBhID0gdGhpcy5fY291bnRlcjtcbiAgICAgICAgbyAmJiAoYSA9IHRoaXMuX2NvdW50ZXIgPSBvLnNsaWNlKDApLCB0aGlzLl9pdiA9IHZvaWQgMCksIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgMCA9PT0gKGVbMF0gPSB0KGVbMF0pKSAmJiAoZVsxXSA9IHQoZVsxXSkpO1xuICAgICAgICB9KGEpO1xuICAgICAgICB2YXIgcyA9IGEuc2xpY2UoMCk7XG4gICAgICAgIG4uZW5jcnlwdEJsb2NrKHMsIDApO1xuXG4gICAgICAgIGZvciAodmFyIGggPSAwOyBoIDwgaTsgaCsrKSBlW3IgKyBoXSBePSBzW2hdO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBlLkRlY3J5cHRvciA9IG4sIGU7XG4gIH0oKSwgci5tb2RlLkNUUkdsYWRtYW4pO1xufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcbiAgdmFyIHIsIG4sIGk7XG4gIGUuZXhwb3J0cyA9ICgociA9IGVlKS5tb2RlLk9GQiA9IChuID0gci5saWIuQmxvY2tDaXBoZXJNb2RlLmV4dGVuZCgpLCBpID0gbi5FbmNyeXB0b3IgPSBuLmV4dGVuZCh7XG4gICAgcHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgdmFyIHIgPSB0aGlzLl9jaXBoZXIsXG4gICAgICAgICAgbiA9IHIuYmxvY2tTaXplLFxuICAgICAgICAgIGkgPSB0aGlzLl9pdixcbiAgICAgICAgICBvID0gdGhpcy5fa2V5c3RyZWFtO1xuICAgICAgaSAmJiAobyA9IHRoaXMuX2tleXN0cmVhbSA9IGkuc2xpY2UoMCksIHRoaXMuX2l2ID0gdm9pZCAwKSwgci5lbmNyeXB0QmxvY2sobywgMCk7XG5cbiAgICAgIGZvciAodmFyIGEgPSAwOyBhIDwgbjsgYSsrKSBlW3QgKyBhXSBePSBvW2FdO1xuICAgIH1cbiAgfSksIG4uRGVjcnlwdG9yID0gaSwgbiksIHIubW9kZS5PRkIpO1xufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcbiAgdmFyIHIsIG47XG4gIGUuZXhwb3J0cyA9ICgociA9IGVlKS5tb2RlLkVDQiA9ICgobiA9IHIubGliLkJsb2NrQ2lwaGVyTW9kZS5leHRlbmQoKSkuRW5jcnlwdG9yID0gbi5leHRlbmQoe1xuICAgIHByb2Nlc3NCbG9jazogZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIHRoaXMuX2NpcGhlci5lbmNyeXB0QmxvY2soZSwgdCk7XG4gICAgfVxuICB9KSwgbi5EZWNyeXB0b3IgPSBuLmV4dGVuZCh7XG4gICAgcHJvY2Vzc0Jsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgdGhpcy5fY2lwaGVyLmRlY3J5cHRCbG9jayhlLCB0KTtcbiAgICB9XG4gIH0pLCBuKSwgci5tb2RlLkVDQik7XG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgcjtcbiAgZS5leHBvcnRzID0gKChyID0gZWUpLnBhZC5BbnNpWDkyMyA9IHtcbiAgICBwYWQ6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICB2YXIgciA9IGUuc2lnQnl0ZXMsXG4gICAgICAgICAgbiA9IDQgKiB0LFxuICAgICAgICAgIGkgPSBuIC0gciAlIG4sXG4gICAgICAgICAgbyA9IHIgKyBpIC0gMTtcbiAgICAgIGUuY2xhbXAoKSwgZS53b3Jkc1tvID4+PiAyXSB8PSBpIDw8IDI0IC0gbyAlIDQgKiA4LCBlLnNpZ0J5dGVzICs9IGk7XG4gICAgfSxcbiAgICB1bnBhZDogZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0ID0gMjU1ICYgZS53b3Jkc1tlLnNpZ0J5dGVzIC0gMSA+Pj4gMl07XG4gICAgICBlLnNpZ0J5dGVzIC09IHQ7XG4gICAgfVxuICB9LCByLnBhZC5BbnNpeDkyMyk7XG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgcjtcbiAgZS5leHBvcnRzID0gKChyID0gZWUpLnBhZC5Jc28xMDEyNiA9IHtcbiAgICBwYWQ6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICB2YXIgbiA9IDQgKiB0LFxuICAgICAgICAgIGkgPSBuIC0gZS5zaWdCeXRlcyAlIG47XG4gICAgICBlLmNvbmNhdChyLmxpYi5Xb3JkQXJyYXkucmFuZG9tKGkgLSAxKSkuY29uY2F0KHIubGliLldvcmRBcnJheS5jcmVhdGUoW2kgPDwgMjRdLCAxKSk7XG4gICAgfSxcbiAgICB1bnBhZDogZnVuY3Rpb24gKGUpIHtcbiAgICAgIHZhciB0ID0gMjU1ICYgZS53b3Jkc1tlLnNpZ0J5dGVzIC0gMSA+Pj4gMl07XG4gICAgICBlLnNpZ0J5dGVzIC09IHQ7XG4gICAgfVxuICB9LCByLnBhZC5Jc28xMDEyNik7XG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgcjtcbiAgZS5leHBvcnRzID0gKChyID0gZWUpLnBhZC5Jc285Nzk3MSA9IHtcbiAgICBwYWQ6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICBlLmNvbmNhdChyLmxpYi5Xb3JkQXJyYXkuY3JlYXRlKFsyMTQ3NDgzNjQ4XSwgMSkpLCByLnBhZC5aZXJvUGFkZGluZy5wYWQoZSwgdCk7XG4gICAgfSxcbiAgICB1bnBhZDogZnVuY3Rpb24gKGUpIHtcbiAgICAgIHIucGFkLlplcm9QYWRkaW5nLnVucGFkKGUpLCBlLnNpZ0J5dGVzLS07XG4gICAgfVxuICB9LCByLnBhZC5Jc285Nzk3MSk7XG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgcjtcbiAgZS5leHBvcnRzID0gKChyID0gZWUpLnBhZC5aZXJvUGFkZGluZyA9IHtcbiAgICBwYWQ6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICB2YXIgciA9IDQgKiB0O1xuICAgICAgZS5jbGFtcCgpLCBlLnNpZ0J5dGVzICs9IHIgLSAoZS5zaWdCeXRlcyAlIHIgfHwgcik7XG4gICAgfSxcbiAgICB1bnBhZDogZnVuY3Rpb24gKGUpIHtcbiAgICAgIGZvciAodmFyIHQgPSBlLndvcmRzLCByID0gZS5zaWdCeXRlcyAtIDE7ICEodFtyID4+PiAyXSA+Pj4gMjQgLSByICUgNCAqIDggJiAyNTUpOykgci0tO1xuXG4gICAgICBlLnNpZ0J5dGVzID0gciArIDE7XG4gICAgfVxuICB9LCByLnBhZC5aZXJvUGFkZGluZyk7XG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgcjtcbiAgZS5leHBvcnRzID0gKChyID0gZWUpLnBhZC5Ob1BhZGRpbmcgPSB7XG4gICAgcGFkOiBmdW5jdGlvbiAoKSB7fSxcbiAgICB1bnBhZDogZnVuY3Rpb24gKCkge31cbiAgfSwgci5wYWQuTm9QYWRkaW5nKTtcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XG4gIHZhciByLCBuLCBpLCBvO1xuICBlLmV4cG9ydHMgPSAoaSA9IChuID0gciA9IGVlKS5saWIuQ2lwaGVyUGFyYW1zLCBvID0gbi5lbmMuSGV4LCBuLmZvcm1hdC5IZXggPSB7XG4gICAgc3RyaW5naWZ5OiBmdW5jdGlvbiAoZSkge1xuICAgICAgcmV0dXJuIGUuY2lwaGVydGV4dC50b1N0cmluZyhvKTtcbiAgICB9LFxuICAgIHBhcnNlOiBmdW5jdGlvbiAoZSkge1xuICAgICAgdmFyIHQgPSBvLnBhcnNlKGUpO1xuICAgICAgcmV0dXJuIGkuY3JlYXRlKHtcbiAgICAgICAgY2lwaGVydGV4dDogdFxuICAgICAgfSk7XG4gICAgfVxuICB9LCByLmZvcm1hdC5IZXgpO1xufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcbiAgdmFyIHI7XG4gIGUuZXhwb3J0cyA9IChyID0gZWUsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZSA9IHIsXG4gICAgICAgIHQgPSBlLmxpYi5CbG9ja0NpcGhlcixcbiAgICAgICAgbiA9IGUuYWxnbyxcbiAgICAgICAgaSA9IFtdLFxuICAgICAgICBvID0gW10sXG4gICAgICAgIGEgPSBbXSxcbiAgICAgICAgcyA9IFtdLFxuICAgICAgICBoID0gW10sXG4gICAgICAgIGwgPSBbXSxcbiAgICAgICAgZiA9IFtdLFxuICAgICAgICBjID0gW10sXG4gICAgICAgIHUgPSBbXSxcbiAgICAgICAgZCA9IFtdO1xuICAgICFmdW5jdGlvbiAoKSB7XG4gICAgICBmb3IgKHZhciBlID0gW10sIHQgPSAwOyB0IDwgMjU2OyB0KyspIGVbdF0gPSB0IDwgMTI4ID8gdCA8PCAxIDogdCA8PCAxIF4gMjgzO1xuXG4gICAgICB2YXIgciA9IDAsXG4gICAgICAgICAgbiA9IDA7XG5cbiAgICAgIGZvciAodCA9IDA7IHQgPCAyNTY7IHQrKykge1xuICAgICAgICB2YXIgcCA9IG4gXiBuIDw8IDEgXiBuIDw8IDIgXiBuIDw8IDMgXiBuIDw8IDQ7XG4gICAgICAgIHAgPSBwID4+PiA4IF4gMjU1ICYgcCBeIDk5LCBpW3JdID0gcCwgb1twXSA9IHI7XG4gICAgICAgIHZhciBfID0gZVtyXSxcbiAgICAgICAgICAgIGcgPSBlW19dLFxuICAgICAgICAgICAgdiA9IGVbZ10sXG4gICAgICAgICAgICB3ID0gMjU3ICogZVtwXSBeIDE2ODQzMDA4ICogcDtcbiAgICAgICAgYVtyXSA9IHcgPDwgMjQgfCB3ID4+PiA4LCBzW3JdID0gdyA8PCAxNiB8IHcgPj4+IDE2LCBoW3JdID0gdyA8PCA4IHwgdyA+Pj4gMjQsIGxbcl0gPSB3LCB3ID0gMTY4NDMwMDkgKiB2IF4gNjU1MzcgKiBnIF4gMjU3ICogXyBeIDE2ODQzMDA4ICogciwgZltwXSA9IHcgPDwgMjQgfCB3ID4+PiA4LCBjW3BdID0gdyA8PCAxNiB8IHcgPj4+IDE2LCB1W3BdID0gdyA8PCA4IHwgdyA+Pj4gMjQsIGRbcF0gPSB3LCByID8gKHIgPSBfIF4gZVtlW2VbdiBeIF9dXV0sIG4gXj0gZVtlW25dXSkgOiByID0gbiA9IDE7XG4gICAgICB9XG4gICAgfSgpO1xuXG4gICAgdmFyIHAgPSBbMCwgMSwgMiwgNCwgOCwgMTYsIDMyLCA2NCwgMTI4LCAyNywgNTRdLFxuICAgICAgICBfID0gbi5BRVMgPSB0LmV4dGVuZCh7XG4gICAgICBfZG9SZXNldDogZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIXRoaXMuX25Sb3VuZHMgfHwgdGhpcy5fa2V5UHJpb3JSZXNldCAhPT0gdGhpcy5fa2V5KSB7XG4gICAgICAgICAgZm9yICh2YXIgZSA9IHRoaXMuX2tleVByaW9yUmVzZXQgPSB0aGlzLl9rZXksIHQgPSBlLndvcmRzLCByID0gZS5zaWdCeXRlcyAvIDQsIG4gPSA0ICogKCh0aGlzLl9uUm91bmRzID0gciArIDYpICsgMSksIG8gPSB0aGlzLl9rZXlTY2hlZHVsZSA9IFtdLCBhID0gMDsgYSA8IG47IGErKykgaWYgKGEgPCByKSBvW2FdID0gdFthXTtlbHNlIHtcbiAgICAgICAgICAgIHZhciBzID0gb1thIC0gMV07XG4gICAgICAgICAgICBhICUgciA/IHIgPiA2ICYmIGEgJSByID09IDQgJiYgKHMgPSBpW3MgPj4+IDI0XSA8PCAyNCB8IGlbcyA+Pj4gMTYgJiAyNTVdIDw8IDE2IHwgaVtzID4+PiA4ICYgMjU1XSA8PCA4IHwgaVsyNTUgJiBzXSkgOiAocyA9IGlbKHMgPSBzIDw8IDggfCBzID4+PiAyNCkgPj4+IDI0XSA8PCAyNCB8IGlbcyA+Pj4gMTYgJiAyNTVdIDw8IDE2IHwgaVtzID4+PiA4ICYgMjU1XSA8PCA4IHwgaVsyNTUgJiBzXSwgcyBePSBwW2EgLyByIHwgMF0gPDwgMjQpLCBvW2FdID0gb1thIC0gcl0gXiBzO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGZvciAodmFyIGggPSB0aGlzLl9pbnZLZXlTY2hlZHVsZSA9IFtdLCBsID0gMDsgbCA8IG47IGwrKykgYSA9IG4gLSBsLCBzID0gbCAlIDQgPyBvW2FdIDogb1thIC0gNF0sIGhbbF0gPSBsIDwgNCB8fCBhIDw9IDQgPyBzIDogZltpW3MgPj4+IDI0XV0gXiBjW2lbcyA+Pj4gMTYgJiAyNTVdXSBeIHVbaVtzID4+PiA4ICYgMjU1XV0gXiBkW2lbMjU1ICYgc11dO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZW5jcnlwdEJsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgICB0aGlzLl9kb0NyeXB0QmxvY2soZSwgdCwgdGhpcy5fa2V5U2NoZWR1bGUsIGEsIHMsIGgsIGwsIGkpO1xuICAgICAgfSxcbiAgICAgIGRlY3J5cHRCbG9jazogZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgICAgdmFyIHIgPSBlW3QgKyAxXTtcbiAgICAgICAgZVt0ICsgMV0gPSBlW3QgKyAzXSwgZVt0ICsgM10gPSByLCB0aGlzLl9kb0NyeXB0QmxvY2soZSwgdCwgdGhpcy5faW52S2V5U2NoZWR1bGUsIGYsIGMsIHUsIGQsIG8pLCByID0gZVt0ICsgMV0sIGVbdCArIDFdID0gZVt0ICsgM10sIGVbdCArIDNdID0gcjtcbiAgICAgIH0sXG4gICAgICBfZG9DcnlwdEJsb2NrOiBmdW5jdGlvbiAoZSwgdCwgciwgbiwgaSwgbywgYSwgcykge1xuICAgICAgICBmb3IgKHZhciBoID0gdGhpcy5fblJvdW5kcywgbCA9IGVbdF0gXiByWzBdLCBmID0gZVt0ICsgMV0gXiByWzFdLCBjID0gZVt0ICsgMl0gXiByWzJdLCB1ID0gZVt0ICsgM10gXiByWzNdLCBkID0gNCwgcCA9IDE7IHAgPCBoOyBwKyspIHtcbiAgICAgICAgICB2YXIgXyA9IG5bbCA+Pj4gMjRdIF4gaVtmID4+PiAxNiAmIDI1NV0gXiBvW2MgPj4+IDggJiAyNTVdIF4gYVsyNTUgJiB1XSBeIHJbZCsrXSxcbiAgICAgICAgICAgICAgZyA9IG5bZiA+Pj4gMjRdIF4gaVtjID4+PiAxNiAmIDI1NV0gXiBvW3UgPj4+IDggJiAyNTVdIF4gYVsyNTUgJiBsXSBeIHJbZCsrXSxcbiAgICAgICAgICAgICAgdiA9IG5bYyA+Pj4gMjRdIF4gaVt1ID4+PiAxNiAmIDI1NV0gXiBvW2wgPj4+IDggJiAyNTVdIF4gYVsyNTUgJiBmXSBeIHJbZCsrXSxcbiAgICAgICAgICAgICAgdyA9IG5bdSA+Pj4gMjRdIF4gaVtsID4+PiAxNiAmIDI1NV0gXiBvW2YgPj4+IDggJiAyNTVdIF4gYVsyNTUgJiBjXSBeIHJbZCsrXTtcblxuICAgICAgICAgIGwgPSBfLCBmID0gZywgYyA9IHYsIHUgPSB3O1xuICAgICAgICB9XG5cbiAgICAgICAgXyA9IChzW2wgPj4+IDI0XSA8PCAyNCB8IHNbZiA+Pj4gMTYgJiAyNTVdIDw8IDE2IHwgc1tjID4+PiA4ICYgMjU1XSA8PCA4IHwgc1syNTUgJiB1XSkgXiByW2QrK10sIGcgPSAoc1tmID4+PiAyNF0gPDwgMjQgfCBzW2MgPj4+IDE2ICYgMjU1XSA8PCAxNiB8IHNbdSA+Pj4gOCAmIDI1NV0gPDwgOCB8IHNbMjU1ICYgbF0pIF4gcltkKytdLCB2ID0gKHNbYyA+Pj4gMjRdIDw8IDI0IHwgc1t1ID4+PiAxNiAmIDI1NV0gPDwgMTYgfCBzW2wgPj4+IDggJiAyNTVdIDw8IDggfCBzWzI1NSAmIGZdKSBeIHJbZCsrXSwgdyA9IChzW3UgPj4+IDI0XSA8PCAyNCB8IHNbbCA+Pj4gMTYgJiAyNTVdIDw8IDE2IHwgc1tmID4+PiA4ICYgMjU1XSA8PCA4IHwgc1syNTUgJiBjXSkgXiByW2QrK10sIGVbdF0gPSBfLCBlW3QgKyAxXSA9IGcsIGVbdCArIDJdID0gdiwgZVt0ICsgM10gPSB3O1xuICAgICAgfSxcbiAgICAgIGtleVNpemU6IDhcbiAgICB9KTtcblxuICAgIGUuQUVTID0gdC5fY3JlYXRlSGVscGVyKF8pO1xuICB9KCksIHIuQUVTKTtcbn0pLCBRKGZ1bmN0aW9uIChlLCB0KSB7XG4gIHZhciByO1xuICBlLmV4cG9ydHMgPSAociA9IGVlLCBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGUgPSByLFxuICAgICAgICB0ID0gZS5saWIsXG4gICAgICAgIG4gPSB0LldvcmRBcnJheSxcbiAgICAgICAgaSA9IHQuQmxvY2tDaXBoZXIsXG4gICAgICAgIG8gPSBlLmFsZ28sXG4gICAgICAgIGEgPSBbNTcsIDQ5LCA0MSwgMzMsIDI1LCAxNywgOSwgMSwgNTgsIDUwLCA0MiwgMzQsIDI2LCAxOCwgMTAsIDIsIDU5LCA1MSwgNDMsIDM1LCAyNywgMTksIDExLCAzLCA2MCwgNTIsIDQ0LCAzNiwgNjMsIDU1LCA0NywgMzksIDMxLCAyMywgMTUsIDcsIDYyLCA1NCwgNDYsIDM4LCAzMCwgMjIsIDE0LCA2LCA2MSwgNTMsIDQ1LCAzNywgMjksIDIxLCAxMywgNSwgMjgsIDIwLCAxMiwgNF0sXG4gICAgICAgIHMgPSBbMTQsIDE3LCAxMSwgMjQsIDEsIDUsIDMsIDI4LCAxNSwgNiwgMjEsIDEwLCAyMywgMTksIDEyLCA0LCAyNiwgOCwgMTYsIDcsIDI3LCAyMCwgMTMsIDIsIDQxLCA1MiwgMzEsIDM3LCA0NywgNTUsIDMwLCA0MCwgNTEsIDQ1LCAzMywgNDgsIDQ0LCA0OSwgMzksIDU2LCAzNCwgNTMsIDQ2LCA0MiwgNTAsIDM2LCAyOSwgMzJdLFxuICAgICAgICBoID0gWzEsIDIsIDQsIDYsIDgsIDEwLCAxMiwgMTQsIDE1LCAxNywgMTksIDIxLCAyMywgMjUsIDI3LCAyOF0sXG4gICAgICAgIGwgPSBbe1xuICAgICAgMDogODQyMTg4OCxcbiAgICAgIDI2ODQzNTQ1NjogMzI3NjgsXG4gICAgICA1MzY4NzA5MTI6IDg0MjEzNzgsXG4gICAgICA4MDUzMDYzNjg6IDIsXG4gICAgICAxMDczNzQxODI0OiA1MTIsXG4gICAgICAxMzQyMTc3MjgwOiA4NDIxODkwLFxuICAgICAgMTYxMDYxMjczNjogODM4OTEyMixcbiAgICAgIDE4NzkwNDgxOTI6IDgzODg2MDgsXG4gICAgICAyMTQ3NDgzNjQ4OiA1MTQsXG4gICAgICAyNDE1OTE5MTA0OiA4Mzg5MTIwLFxuICAgICAgMjY4NDM1NDU2MDogMzMyODAsXG4gICAgICAyOTUyNzkwMDE2OiA4NDIxMzc2LFxuICAgICAgMzIyMTIyNTQ3MjogMzI3NzAsXG4gICAgICAzNDg5NjYwOTI4OiA4Mzg4NjEwLFxuICAgICAgMzc1ODA5NjM4NDogMCxcbiAgICAgIDQwMjY1MzE4NDA6IDMzMjgyLFxuICAgICAgMTM0MjE3NzI4OiAwLFxuICAgICAgNDAyNjUzMTg0OiA4NDIxODkwLFxuICAgICAgNjcxMDg4NjQwOiAzMzI4MixcbiAgICAgIDkzOTUyNDA5NjogMzI3NjgsXG4gICAgICAxMjA3OTU5NTUyOiA4NDIxODg4LFxuICAgICAgMTQ3NjM5NTAwODogNTEyLFxuICAgICAgMTc0NDgzMDQ2NDogODQyMTM3OCxcbiAgICAgIDIwMTMyNjU5MjA6IDIsXG4gICAgICAyMjgxNzAxMzc2OiA4Mzg5MTIwLFxuICAgICAgMjU1MDEzNjgzMjogMzMyODAsXG4gICAgICAyODE4NTcyMjg4OiA4NDIxMzc2LFxuICAgICAgMzA4NzAwNzc0NDogODM4OTEyMixcbiAgICAgIDMzNTU0NDMyMDA6IDgzODg2MTAsXG4gICAgICAzNjIzODc4NjU2OiAzMjc3MCxcbiAgICAgIDM4OTIzMTQxMTI6IDUxNCxcbiAgICAgIDQxNjA3NDk1Njg6IDgzODg2MDgsXG4gICAgICAxOiAzMjc2OCxcbiAgICAgIDI2ODQzNTQ1NzogMixcbiAgICAgIDUzNjg3MDkxMzogODQyMTg4OCxcbiAgICAgIDgwNTMwNjM2OTogODM4ODYwOCxcbiAgICAgIDEwNzM3NDE4MjU6IDg0MjEzNzgsXG4gICAgICAxMzQyMTc3MjgxOiAzMzI4MCxcbiAgICAgIDE2MTA2MTI3Mzc6IDUxMixcbiAgICAgIDE4NzkwNDgxOTM6IDgzODkxMjIsXG4gICAgICAyMTQ3NDgzNjQ5OiA4NDIxODkwLFxuICAgICAgMjQxNTkxOTEwNTogODQyMTM3NixcbiAgICAgIDI2ODQzNTQ1NjE6IDgzODg2MTAsXG4gICAgICAyOTUyNzkwMDE3OiAzMzI4MixcbiAgICAgIDMyMjEyMjU0NzM6IDUxNCxcbiAgICAgIDM0ODk2NjA5Mjk6IDgzODkxMjAsXG4gICAgICAzNzU4MDk2Mzg1OiAzMjc3MCxcbiAgICAgIDQwMjY1MzE4NDE6IDAsXG4gICAgICAxMzQyMTc3Mjk6IDg0MjE4OTAsXG4gICAgICA0MDI2NTMxODU6IDg0MjEzNzYsXG4gICAgICA2NzEwODg2NDE6IDgzODg2MDgsXG4gICAgICA5Mzk1MjQwOTc6IDUxMixcbiAgICAgIDEyMDc5NTk1NTM6IDMyNzY4LFxuICAgICAgMTQ3NjM5NTAwOTogODM4ODYxMCxcbiAgICAgIDE3NDQ4MzA0NjU6IDIsXG4gICAgICAyMDEzMjY1OTIxOiAzMzI4MixcbiAgICAgIDIyODE3MDEzNzc6IDMyNzcwLFxuICAgICAgMjU1MDEzNjgzMzogODM4OTEyMixcbiAgICAgIDI4MTg1NzIyODk6IDUxNCxcbiAgICAgIDMwODcwMDc3NDU6IDg0MjE4ODgsXG4gICAgICAzMzU1NDQzMjAxOiA4Mzg5MTIwLFxuICAgICAgMzYyMzg3ODY1NzogMCxcbiAgICAgIDM4OTIzMTQxMTM6IDMzMjgwLFxuICAgICAgNDE2MDc0OTU2OTogODQyMTM3OFxuICAgIH0sIHtcbiAgICAgIDA6IDEwNzQyODI1MTIsXG4gICAgICAxNjc3NzIxNjogMTYzODQsXG4gICAgICAzMzU1NDQzMjogNTI0Mjg4LFxuICAgICAgNTAzMzE2NDg6IDEwNzQyNjYxMjgsXG4gICAgICA2NzEwODg2NDogMTA3Mzc0MTg0MCxcbiAgICAgIDgzODg2MDgwOiAxMDc0MjgyNDk2LFxuICAgICAgMTAwNjYzMjk2OiAxMDczNzU4MjA4LFxuICAgICAgMTE3NDQwNTEyOiAxNixcbiAgICAgIDEzNDIxNzcyODogNTQwNjcyLFxuICAgICAgMTUwOTk0OTQ0OiAxMDczNzU4MjI0LFxuICAgICAgMTY3NzcyMTYwOiAxMDczNzQxODI0LFxuICAgICAgMTg0NTQ5Mzc2OiA1NDA2ODgsXG4gICAgICAyMDEzMjY1OTI6IDUyNDMwNCxcbiAgICAgIDIxODEwMzgwODogMCxcbiAgICAgIDIzNDg4MTAyNDogMTY0MDAsXG4gICAgICAyNTE2NTgyNDA6IDEwNzQyNjYxMTIsXG4gICAgICA4Mzg4NjA4OiAxMDczNzU4MjA4LFxuICAgICAgMjUxNjU4MjQ6IDU0MDY4OCxcbiAgICAgIDQxOTQzMDQwOiAxNixcbiAgICAgIDU4NzIwMjU2OiAxMDczNzU4MjI0LFxuICAgICAgNzU0OTc0NzI6IDEwNzQyODI1MTIsXG4gICAgICA5MjI3NDY4ODogMTA3Mzc0MTgyNCxcbiAgICAgIDEwOTA1MTkwNDogNTI0Mjg4LFxuICAgICAgMTI1ODI5MTIwOiAxMDc0MjY2MTI4LFxuICAgICAgMTQyNjA2MzM2OiA1MjQzMDQsXG4gICAgICAxNTkzODM1NTI6IDAsXG4gICAgICAxNzYxNjA3Njg6IDE2Mzg0LFxuICAgICAgMTkyOTM3OTg0OiAxMDc0MjY2MTEyLFxuICAgICAgMjA5NzE1MjAwOiAxMDczNzQxODQwLFxuICAgICAgMjI2NDkyNDE2OiA1NDA2NzIsXG4gICAgICAyNDMyNjk2MzI6IDEwNzQyODI0OTYsXG4gICAgICAyNjAwNDY4NDg6IDE2NDAwLFxuICAgICAgMjY4NDM1NDU2OiAwLFxuICAgICAgMjg1MjEyNjcyOiAxMDc0MjY2MTI4LFxuICAgICAgMzAxOTg5ODg4OiAxMDczNzU4MjI0LFxuICAgICAgMzE4NzY3MTA0OiAxMDc0MjgyNDk2LFxuICAgICAgMzM1NTQ0MzIwOiAxMDc0MjY2MTEyLFxuICAgICAgMzUyMzIxNTM2OiAxNixcbiAgICAgIDM2OTA5ODc1MjogNTQwNjg4LFxuICAgICAgMzg1ODc1OTY4OiAxNjM4NCxcbiAgICAgIDQwMjY1MzE4NDogMTY0MDAsXG4gICAgICA0MTk0MzA0MDA6IDUyNDI4OCxcbiAgICAgIDQzNjIwNzYxNjogNTI0MzA0LFxuICAgICAgNDUyOTg0ODMyOiAxMDczNzQxODQwLFxuICAgICAgNDY5NzYyMDQ4OiA1NDA2NzIsXG4gICAgICA0ODY1MzkyNjQ6IDEwNzM3NTgyMDgsXG4gICAgICA1MDMzMTY0ODA6IDEwNzM3NDE4MjQsXG4gICAgICA1MjAwOTM2OTY6IDEwNzQyODI1MTIsXG4gICAgICAyNzY4MjQwNjQ6IDU0MDY4OCxcbiAgICAgIDI5MzYwMTI4MDogNTI0Mjg4LFxuICAgICAgMzEwMzc4NDk2OiAxMDc0MjY2MTEyLFxuICAgICAgMzI3MTU1NzEyOiAxNjM4NCxcbiAgICAgIDM0MzkzMjkyODogMTA3Mzc1ODIwOCxcbiAgICAgIDM2MDcxMDE0NDogMTA3NDI4MjUxMixcbiAgICAgIDM3NzQ4NzM2MDogMTYsXG4gICAgICAzOTQyNjQ1NzY6IDEwNzM3NDE4MjQsXG4gICAgICA0MTEwNDE3OTI6IDEwNzQyODI0OTYsXG4gICAgICA0Mjc4MTkwMDg6IDEwNzM3NDE4NDAsXG4gICAgICA0NDQ1OTYyMjQ6IDEwNzM3NTgyMjQsXG4gICAgICA0NjEzNzM0NDA6IDUyNDMwNCxcbiAgICAgIDQ3ODE1MDY1NjogMCxcbiAgICAgIDQ5NDkyNzg3MjogMTY0MDAsXG4gICAgICA1MTE3MDUwODg6IDEwNzQyNjYxMjgsXG4gICAgICA1Mjg0ODIzMDQ6IDU0MDY3MlxuICAgIH0sIHtcbiAgICAgIDA6IDI2MCxcbiAgICAgIDEwNDg1NzY6IDAsXG4gICAgICAyMDk3MTUyOiA2NzEwOTEyMCxcbiAgICAgIDMxNDU3Mjg6IDY1Nzk2LFxuICAgICAgNDE5NDMwNDogNjU1NDAsXG4gICAgICA1MjQyODgwOiA2NzEwODg2OCxcbiAgICAgIDYyOTE0NTY6IDY3MTc0NjYwLFxuICAgICAgNzM0MDAzMjogNjcxNzQ0MDAsXG4gICAgICA4Mzg4NjA4OiA2NzEwODg2NCxcbiAgICAgIDk0MzcxODQ6IDY3MTc0NjU2LFxuICAgICAgMTA0ODU3NjA6IDY1NzkyLFxuICAgICAgMTE1MzQzMzY6IDY3MTc0NDA0LFxuICAgICAgMTI1ODI5MTI6IDY3MTA5MTI0LFxuICAgICAgMTM2MzE0ODg6IDY1NTM2LFxuICAgICAgMTQ2ODAwNjQ6IDQsXG4gICAgICAxNTcyODY0MDogMjU2LFxuICAgICAgNTI0Mjg4OiA2NzE3NDY1NixcbiAgICAgIDE1NzI4NjQ6IDY3MTc0NDA0LFxuICAgICAgMjYyMTQ0MDogMCxcbiAgICAgIDM2NzAwMTY6IDY3MTA5MTIwLFxuICAgICAgNDcxODU5MjogNjcxMDg4NjgsXG4gICAgICA1NzY3MTY4OiA2NTUzNixcbiAgICAgIDY4MTU3NDQ6IDY1NTQwLFxuICAgICAgNzg2NDMyMDogMjYwLFxuICAgICAgODkxMjg5NjogNCxcbiAgICAgIDk5NjE0NzI6IDI1NixcbiAgICAgIDExMDEwMDQ4OiA2NzE3NDQwMCxcbiAgICAgIDEyMDU4NjI0OiA2NTc5NixcbiAgICAgIDEzMTA3MjAwOiA2NTc5MixcbiAgICAgIDE0MTU1Nzc2OiA2NzEwOTEyNCxcbiAgICAgIDE1MjA0MzUyOiA2NzE3NDY2MCxcbiAgICAgIDE2MjUyOTI4OiA2NzEwODg2NCxcbiAgICAgIDE2Nzc3MjE2OiA2NzE3NDY1NixcbiAgICAgIDE3ODI1NzkyOiA2NTU0MCxcbiAgICAgIDE4ODc0MzY4OiA2NTUzNixcbiAgICAgIDE5OTIyOTQ0OiA2NzEwOTEyMCxcbiAgICAgIDIwOTcxNTIwOiAyNTYsXG4gICAgICAyMjAyMDA5NjogNjcxNzQ2NjAsXG4gICAgICAyMzA2ODY3MjogNjcxMDg4NjgsXG4gICAgICAyNDExNzI0ODogMCxcbiAgICAgIDI1MTY1ODI0OiA2NzEwOTEyNCxcbiAgICAgIDI2MjE0NDAwOiA2NzEwODg2NCxcbiAgICAgIDI3MjYyOTc2OiA0LFxuICAgICAgMjgzMTE1NTI6IDY1NzkyLFxuICAgICAgMjkzNjAxMjg6IDY3MTc0NDAwLFxuICAgICAgMzA0MDg3MDQ6IDI2MCxcbiAgICAgIDMxNDU3MjgwOiA2NTc5NixcbiAgICAgIDMyNTA1ODU2OiA2NzE3NDQwNCxcbiAgICAgIDE3MzAxNTA0OiA2NzEwODg2NCxcbiAgICAgIDE4MzUwMDgwOiAyNjAsXG4gICAgICAxOTM5ODY1NjogNjcxNzQ2NTYsXG4gICAgICAyMDQ0NzIzMjogMCxcbiAgICAgIDIxNDk1ODA4OiA2NTU0MCxcbiAgICAgIDIyNTQ0Mzg0OiA2NzEwOTEyMCxcbiAgICAgIDIzNTkyOTYwOiAyNTYsXG4gICAgICAyNDY0MTUzNjogNjcxNzQ0MDQsXG4gICAgICAyNTY5MDExMjogNjU1MzYsXG4gICAgICAyNjczODY4ODogNjcxNzQ2NjAsXG4gICAgICAyNzc4NzI2NDogNjU3OTYsXG4gICAgICAyODgzNTg0MDogNjcxMDg4NjgsXG4gICAgICAyOTg4NDQxNjogNjcxMDkxMjQsXG4gICAgICAzMDkzMjk5MjogNjcxNzQ0MDAsXG4gICAgICAzMTk4MTU2ODogNCxcbiAgICAgIDMzMDMwMTQ0OiA2NTc5MlxuICAgIH0sIHtcbiAgICAgIDA6IDIxNTE2ODIwNDgsXG4gICAgICA2NTUzNjogMjE0NzQ4NzgwOCxcbiAgICAgIDEzMTA3MjogNDE5ODQ2NCxcbiAgICAgIDE5NjYwODogMjE1MTY3Nzk1MixcbiAgICAgIDI2MjE0NDogMCxcbiAgICAgIDMyNzY4MDogNDE5ODQwMCxcbiAgICAgIDM5MzIxNjogMjE0NzQ4MzcxMixcbiAgICAgIDQ1ODc1MjogNDE5NDM2OCxcbiAgICAgIDUyNDI4ODogMjE0NzQ4MzY0OCxcbiAgICAgIDU4OTgyNDogNDE5NDMwNCxcbiAgICAgIDY1NTM2MDogNjQsXG4gICAgICA3MjA4OTY6IDIxNDc0ODc3NDQsXG4gICAgICA3ODY0MzI6IDIxNTE2NzgwMTYsXG4gICAgICA4NTE5Njg6IDQxNjAsXG4gICAgICA5MTc1MDQ6IDQwOTYsXG4gICAgICA5ODMwNDA6IDIxNTE2ODIxMTIsXG4gICAgICAzMjc2ODogMjE0NzQ4NzgwOCxcbiAgICAgIDk4MzA0OiA2NCxcbiAgICAgIDE2Mzg0MDogMjE1MTY3ODAxNixcbiAgICAgIDIyOTM3NjogMjE0NzQ4Nzc0NCxcbiAgICAgIDI5NDkxMjogNDE5ODQwMCxcbiAgICAgIDM2MDQ0ODogMjE1MTY4MjExMixcbiAgICAgIDQyNTk4NDogMCxcbiAgICAgIDQ5MTUyMDogMjE1MTY3Nzk1MixcbiAgICAgIDU1NzA1NjogNDA5NixcbiAgICAgIDYyMjU5MjogMjE1MTY4MjA0OCxcbiAgICAgIDY4ODEyODogNDE5NDMwNCxcbiAgICAgIDc1MzY2NDogNDE2MCxcbiAgICAgIDgxOTIwMDogMjE0NzQ4MzY0OCxcbiAgICAgIDg4NDczNjogNDE5NDM2OCxcbiAgICAgIDk1MDI3MjogNDE5ODQ2NCxcbiAgICAgIDEwMTU4MDg6IDIxNDc0ODM3MTIsXG4gICAgICAxMDQ4NTc2OiA0MTk0MzY4LFxuICAgICAgMTExNDExMjogNDE5ODQwMCxcbiAgICAgIDExNzk2NDg6IDIxNDc0ODM3MTIsXG4gICAgICAxMjQ1MTg0OiAwLFxuICAgICAgMTMxMDcyMDogNDE2MCxcbiAgICAgIDEzNzYyNTY6IDIxNTE2NzgwMTYsXG4gICAgICAxNDQxNzkyOiAyMTUxNjgyMDQ4LFxuICAgICAgMTUwNzMyODogMjE0NzQ4NzgwOCxcbiAgICAgIDE1NzI4NjQ6IDIxNTE2ODIxMTIsXG4gICAgICAxNjM4NDAwOiAyMTQ3NDgzNjQ4LFxuICAgICAgMTcwMzkzNjogMjE1MTY3Nzk1MixcbiAgICAgIDE3Njk0NzI6IDQxOTg0NjQsXG4gICAgICAxODM1MDA4OiAyMTQ3NDg3NzQ0LFxuICAgICAgMTkwMDU0NDogNDE5NDMwNCxcbiAgICAgIDE5NjYwODA6IDY0LFxuICAgICAgMjAzMTYxNjogNDA5NixcbiAgICAgIDEwODEzNDQ6IDIxNTE2Nzc5NTIsXG4gICAgICAxMTQ2ODgwOiAyMTUxNjgyMTEyLFxuICAgICAgMTIxMjQxNjogMCxcbiAgICAgIDEyNzc5NTI6IDQxOTg0MDAsXG4gICAgICAxMzQzNDg4OiA0MTk0MzY4LFxuICAgICAgMTQwOTAyNDogMjE0NzQ4MzY0OCxcbiAgICAgIDE0NzQ1NjA6IDIxNDc0ODc4MDgsXG4gICAgICAxNTQwMDk2OiA2NCxcbiAgICAgIDE2MDU2MzI6IDIxNDc0ODM3MTIsXG4gICAgICAxNjcxMTY4OiA0MDk2LFxuICAgICAgMTczNjcwNDogMjE0NzQ4Nzc0NCxcbiAgICAgIDE4MDIyNDA6IDIxNTE2NzgwMTYsXG4gICAgICAxODY3Nzc2OiA0MTYwLFxuICAgICAgMTkzMzMxMjogMjE1MTY4MjA0OCxcbiAgICAgIDE5OTg4NDg6IDQxOTQzMDQsXG4gICAgICAyMDY0Mzg0OiA0MTk4NDY0XG4gICAgfSwge1xuICAgICAgMDogMTI4LFxuICAgICAgNDA5NjogMTcwMzkzNjAsXG4gICAgICA4MTkyOiAyNjIxNDQsXG4gICAgICAxMjI4ODogNTM2ODcwOTEyLFxuICAgICAgMTYzODQ6IDUzNzEzMzE4NCxcbiAgICAgIDIwNDgwOiAxNjc3NzM0NCxcbiAgICAgIDI0NTc2OiA1NTM2NDgyNTYsXG4gICAgICAyODY3MjogMjYyMjcyLFxuICAgICAgMzI3Njg6IDE2Nzc3MjE2LFxuICAgICAgMzY4NjQ6IDUzNzEzMzA1NixcbiAgICAgIDQwOTYwOiA1MzY4NzEwNDAsXG4gICAgICA0NTA1NjogNTUzOTEwNDAwLFxuICAgICAgNDkxNTI6IDU1MzkxMDI3MixcbiAgICAgIDUzMjQ4OiAwLFxuICAgICAgNTczNDQ6IDE3MDM5NDg4LFxuICAgICAgNjE0NDA6IDU1MzY0ODEyOCxcbiAgICAgIDIwNDg6IDE3MDM5NDg4LFxuICAgICAgNjE0NDogNTUzNjQ4MjU2LFxuICAgICAgMTAyNDA6IDEyOCxcbiAgICAgIDE0MzM2OiAxNzAzOTM2MCxcbiAgICAgIDE4NDMyOiAyNjIxNDQsXG4gICAgICAyMjUyODogNTM3MTMzMTg0LFxuICAgICAgMjY2MjQ6IDU1MzkxMDI3MixcbiAgICAgIDMwNzIwOiA1MzY4NzA5MTIsXG4gICAgICAzNDgxNjogNTM3MTMzMDU2LFxuICAgICAgMzg5MTI6IDAsXG4gICAgICA0MzAwODogNTUzOTEwNDAwLFxuICAgICAgNDcxMDQ6IDE2Nzc3MzQ0LFxuICAgICAgNTEyMDA6IDUzNjg3MTA0MCxcbiAgICAgIDU1Mjk2OiA1NTM2NDgxMjgsXG4gICAgICA1OTM5MjogMTY3NzcyMTYsXG4gICAgICA2MzQ4ODogMjYyMjcyLFxuICAgICAgNjU1MzY6IDI2MjE0NCxcbiAgICAgIDY5NjMyOiAxMjgsXG4gICAgICA3MzcyODogNTM2ODcwOTEyLFxuICAgICAgNzc4MjQ6IDU1MzY0ODI1NixcbiAgICAgIDgxOTIwOiAxNjc3NzM0NCxcbiAgICAgIDg2MDE2OiA1NTM5MTAyNzIsXG4gICAgICA5MDExMjogNTM3MTMzMTg0LFxuICAgICAgOTQyMDg6IDE2Nzc3MjE2LFxuICAgICAgOTgzMDQ6IDU1MzkxMDQwMCxcbiAgICAgIDEwMjQwMDogNTUzNjQ4MTI4LFxuICAgICAgMTA2NDk2OiAxNzAzOTM2MCxcbiAgICAgIDExMDU5MjogNTM3MTMzMDU2LFxuICAgICAgMTE0Njg4OiAyNjIyNzIsXG4gICAgICAxMTg3ODQ6IDUzNjg3MTA0MCxcbiAgICAgIDEyMjg4MDogMCxcbiAgICAgIDEyNjk3NjogMTcwMzk0ODgsXG4gICAgICA2NzU4NDogNTUzNjQ4MjU2LFxuICAgICAgNzE2ODA6IDE2Nzc3MjE2LFxuICAgICAgNzU3NzY6IDE3MDM5MzYwLFxuICAgICAgNzk4NzI6IDUzNzEzMzE4NCxcbiAgICAgIDgzOTY4OiA1MzY4NzA5MTIsXG4gICAgICA4ODA2NDogMTcwMzk0ODgsXG4gICAgICA5MjE2MDogMTI4LFxuICAgICAgOTYyNTY6IDU1MzkxMDI3MixcbiAgICAgIDEwMDM1MjogMjYyMjcyLFxuICAgICAgMTA0NDQ4OiA1NTM5MTA0MDAsXG4gICAgICAxMDg1NDQ6IDAsXG4gICAgICAxMTI2NDA6IDU1MzY0ODEyOCxcbiAgICAgIDExNjczNjogMTY3NzczNDQsXG4gICAgICAxMjA4MzI6IDI2MjE0NCxcbiAgICAgIDEyNDkyODogNTM3MTMzMDU2LFxuICAgICAgMTI5MDI0OiA1MzY4NzEwNDBcbiAgICB9LCB7XG4gICAgICAwOiAyNjg0MzU0NjQsXG4gICAgICAyNTY6IDgxOTIsXG4gICAgICA1MTI6IDI3MDUzMjYwOCxcbiAgICAgIDc2ODogMjcwNTQwODA4LFxuICAgICAgMTAyNDogMjY4NDQzNjQ4LFxuICAgICAgMTI4MDogMjA5NzE1MixcbiAgICAgIDE1MzY6IDIwOTcxNjAsXG4gICAgICAxNzkyOiAyNjg0MzU0NTYsXG4gICAgICAyMDQ4OiAwLFxuICAgICAgMjMwNDogMjY4NDQzNjU2LFxuICAgICAgMjU2MDogMjEwNTM0NCxcbiAgICAgIDI4MTY6IDgsXG4gICAgICAzMDcyOiAyNzA1MzI2MTYsXG4gICAgICAzMzI4OiAyMTA1MzUyLFxuICAgICAgMzU4NDogODIwMCxcbiAgICAgIDM4NDA6IDI3MDU0MDgwMCxcbiAgICAgIDEyODogMjcwNTMyNjA4LFxuICAgICAgMzg0OiAyNzA1NDA4MDgsXG4gICAgICA2NDA6IDgsXG4gICAgICA4OTY6IDIwOTcxNTIsXG4gICAgICAxMTUyOiAyMTA1MzUyLFxuICAgICAgMTQwODogMjY4NDM1NDY0LFxuICAgICAgMTY2NDogMjY4NDQzNjQ4LFxuICAgICAgMTkyMDogODIwMCxcbiAgICAgIDIxNzY6IDIwOTcxNjAsXG4gICAgICAyNDMyOiA4MTkyLFxuICAgICAgMjY4ODogMjY4NDQzNjU2LFxuICAgICAgMjk0NDogMjcwNTMyNjE2LFxuICAgICAgMzIwMDogMCxcbiAgICAgIDM0NTY6IDI3MDU0MDgwMCxcbiAgICAgIDM3MTI6IDIxMDUzNDQsXG4gICAgICAzOTY4OiAyNjg0MzU0NTYsXG4gICAgICA0MDk2OiAyNjg0NDM2NDgsXG4gICAgICA0MzUyOiAyNzA1MzI2MTYsXG4gICAgICA0NjA4OiAyNzA1NDA4MDgsXG4gICAgICA0ODY0OiA4MjAwLFxuICAgICAgNTEyMDogMjA5NzE1MixcbiAgICAgIDUzNzY6IDI2ODQzNTQ1NixcbiAgICAgIDU2MzI6IDI2ODQzNTQ2NCxcbiAgICAgIDU4ODg6IDIxMDUzNDQsXG4gICAgICA2MTQ0OiAyMTA1MzUyLFxuICAgICAgNjQwMDogMCxcbiAgICAgIDY2NTY6IDgsXG4gICAgICA2OTEyOiAyNzA1MzI2MDgsXG4gICAgICA3MTY4OiA4MTkyLFxuICAgICAgNzQyNDogMjY4NDQzNjU2LFxuICAgICAgNzY4MDogMjcwNTQwODAwLFxuICAgICAgNzkzNjogMjA5NzE2MCxcbiAgICAgIDQyMjQ6IDgsXG4gICAgICA0NDgwOiAyMTA1MzQ0LFxuICAgICAgNDczNjogMjA5NzE1MixcbiAgICAgIDQ5OTI6IDI2ODQzNTQ2NCxcbiAgICAgIDUyNDg6IDI2ODQ0MzY0OCxcbiAgICAgIDU1MDQ6IDgyMDAsXG4gICAgICA1NzYwOiAyNzA1NDA4MDgsXG4gICAgICA2MDE2OiAyNzA1MzI2MDgsXG4gICAgICA2MjcyOiAyNzA1NDA4MDAsXG4gICAgICA2NTI4OiAyNzA1MzI2MTYsXG4gICAgICA2Nzg0OiA4MTkyLFxuICAgICAgNzA0MDogMjEwNTM1MixcbiAgICAgIDcyOTY6IDIwOTcxNjAsXG4gICAgICA3NTUyOiAwLFxuICAgICAgNzgwODogMjY4NDM1NDU2LFxuICAgICAgODA2NDogMjY4NDQzNjU2XG4gICAgfSwge1xuICAgICAgMDogMTA0ODU3NixcbiAgICAgIDE2OiAzMzU1NTQ1NyxcbiAgICAgIDMyOiAxMDI0LFxuICAgICAgNDg6IDEwNDk2MDEsXG4gICAgICA2NDogMzQ2MDQwMzMsXG4gICAgICA4MDogMCxcbiAgICAgIDk2OiAxLFxuICAgICAgMTEyOiAzNDYwMzAwOSxcbiAgICAgIDEyODogMzM1NTU0NTYsXG4gICAgICAxNDQ6IDEwNDg1NzcsXG4gICAgICAxNjA6IDMzNTU0NDMzLFxuICAgICAgMTc2OiAzNDYwNDAzMixcbiAgICAgIDE5MjogMzQ2MDMwMDgsXG4gICAgICAyMDg6IDEwMjUsXG4gICAgICAyMjQ6IDEwNDk2MDAsXG4gICAgICAyNDA6IDMzNTU0NDMyLFxuICAgICAgODogMzQ2MDMwMDksXG4gICAgICAyNDogMCxcbiAgICAgIDQwOiAzMzU1NTQ1NyxcbiAgICAgIDU2OiAzNDYwNDAzMixcbiAgICAgIDcyOiAxMDQ4NTc2LFxuICAgICAgODg6IDMzNTU0NDMzLFxuICAgICAgMTA0OiAzMzU1NDQzMixcbiAgICAgIDEyMDogMTAyNSxcbiAgICAgIDEzNjogMTA0OTYwMSxcbiAgICAgIDE1MjogMzM1NTU0NTYsXG4gICAgICAxNjg6IDM0NjAzMDA4LFxuICAgICAgMTg0OiAxMDQ4NTc3LFxuICAgICAgMjAwOiAxMDI0LFxuICAgICAgMjE2OiAzNDYwNDAzMyxcbiAgICAgIDIzMjogMSxcbiAgICAgIDI0ODogMTA0OTYwMCxcbiAgICAgIDI1NjogMzM1NTQ0MzIsXG4gICAgICAyNzI6IDEwNDg1NzYsXG4gICAgICAyODg6IDMzNTU1NDU3LFxuICAgICAgMzA0OiAzNDYwMzAwOSxcbiAgICAgIDMyMDogMTA0ODU3NyxcbiAgICAgIDMzNjogMzM1NTU0NTYsXG4gICAgICAzNTI6IDM0NjA0MDMyLFxuICAgICAgMzY4OiAxMDQ5NjAxLFxuICAgICAgMzg0OiAxMDI1LFxuICAgICAgNDAwOiAzNDYwNDAzMyxcbiAgICAgIDQxNjogMTA0OTYwMCxcbiAgICAgIDQzMjogMSxcbiAgICAgIDQ0ODogMCxcbiAgICAgIDQ2NDogMzQ2MDMwMDgsXG4gICAgICA0ODA6IDMzNTU0NDMzLFxuICAgICAgNDk2OiAxMDI0LFxuICAgICAgMjY0OiAxMDQ5NjAwLFxuICAgICAgMjgwOiAzMzU1NTQ1NyxcbiAgICAgIDI5NjogMzQ2MDMwMDksXG4gICAgICAzMTI6IDEsXG4gICAgICAzMjg6IDMzNTU0NDMyLFxuICAgICAgMzQ0OiAxMDQ4NTc2LFxuICAgICAgMzYwOiAxMDI1LFxuICAgICAgMzc2OiAzNDYwNDAzMixcbiAgICAgIDM5MjogMzM1NTQ0MzMsXG4gICAgICA0MDg6IDM0NjAzMDA4LFxuICAgICAgNDI0OiAwLFxuICAgICAgNDQwOiAzNDYwNDAzMyxcbiAgICAgIDQ1NjogMTA0OTYwMSxcbiAgICAgIDQ3MjogMTAyNCxcbiAgICAgIDQ4ODogMzM1NTU0NTYsXG4gICAgICA1MDQ6IDEwNDg1NzdcbiAgICB9LCB7XG4gICAgICAwOiAxMzQyMTk4MDgsXG4gICAgICAxOiAxMzEwNzIsXG4gICAgICAyOiAxMzQyMTc3MjgsXG4gICAgICAzOiAzMixcbiAgICAgIDQ6IDEzMTEwNCxcbiAgICAgIDU6IDEzNDM1MDg4MCxcbiAgICAgIDY6IDEzNDM1MDg0OCxcbiAgICAgIDc6IDIwNDgsXG4gICAgICA4OiAxMzQzNDg4MDAsXG4gICAgICA5OiAxMzQyMTk3NzYsXG4gICAgICAxMDogMTMzMTIwLFxuICAgICAgMTE6IDEzNDM0ODgzMixcbiAgICAgIDEyOiAyMDgwLFxuICAgICAgMTM6IDAsXG4gICAgICAxNDogMTM0MjE3NzYwLFxuICAgICAgMTU6IDEzMzE1MixcbiAgICAgIDIxNDc0ODM2NDg6IDIwNDgsXG4gICAgICAyMTQ3NDgzNjQ5OiAxMzQzNTA4ODAsXG4gICAgICAyMTQ3NDgzNjUwOiAxMzQyMTk4MDgsXG4gICAgICAyMTQ3NDgzNjUxOiAxMzQyMTc3MjgsXG4gICAgICAyMTQ3NDgzNjUyOiAxMzQzNDg4MDAsXG4gICAgICAyMTQ3NDgzNjUzOiAxMzMxMjAsXG4gICAgICAyMTQ3NDgzNjU0OiAxMzMxNTIsXG4gICAgICAyMTQ3NDgzNjU1OiAzMixcbiAgICAgIDIxNDc0ODM2NTY6IDEzNDIxNzc2MCxcbiAgICAgIDIxNDc0ODM2NTc6IDIwODAsXG4gICAgICAyMTQ3NDgzNjU4OiAxMzExMDQsXG4gICAgICAyMTQ3NDgzNjU5OiAxMzQzNTA4NDgsXG4gICAgICAyMTQ3NDgzNjYwOiAwLFxuICAgICAgMjE0NzQ4MzY2MTogMTM0MzQ4ODMyLFxuICAgICAgMjE0NzQ4MzY2MjogMTM0MjE5Nzc2LFxuICAgICAgMjE0NzQ4MzY2MzogMTMxMDcyLFxuICAgICAgMTY6IDEzMzE1MixcbiAgICAgIDE3OiAxMzQzNTA4NDgsXG4gICAgICAxODogMzIsXG4gICAgICAxOTogMjA0OCxcbiAgICAgIDIwOiAxMzQyMTk3NzYsXG4gICAgICAyMTogMTM0MjE3NzYwLFxuICAgICAgMjI6IDEzNDM0ODgzMixcbiAgICAgIDIzOiAxMzEwNzIsXG4gICAgICAyNDogMCxcbiAgICAgIDI1OiAxMzExMDQsXG4gICAgICAyNjogMTM0MzQ4ODAwLFxuICAgICAgMjc6IDEzNDIxOTgwOCxcbiAgICAgIDI4OiAxMzQzNTA4ODAsXG4gICAgICAyOTogMTMzMTIwLFxuICAgICAgMzA6IDIwODAsXG4gICAgICAzMTogMTM0MjE3NzI4LFxuICAgICAgMjE0NzQ4MzY2NDogMTMxMDcyLFxuICAgICAgMjE0NzQ4MzY2NTogMjA0OCxcbiAgICAgIDIxNDc0ODM2NjY6IDEzNDM0ODgzMixcbiAgICAgIDIxNDc0ODM2Njc6IDEzMzE1MixcbiAgICAgIDIxNDc0ODM2Njg6IDMyLFxuICAgICAgMjE0NzQ4MzY2OTogMTM0MzQ4ODAwLFxuICAgICAgMjE0NzQ4MzY3MDogMTM0MjE3NzI4LFxuICAgICAgMjE0NzQ4MzY3MTogMTM0MjE5ODA4LFxuICAgICAgMjE0NzQ4MzY3MjogMTM0MzUwODgwLFxuICAgICAgMjE0NzQ4MzY3MzogMTM0MjE3NzYwLFxuICAgICAgMjE0NzQ4MzY3NDogMTM0MjE5Nzc2LFxuICAgICAgMjE0NzQ4MzY3NTogMCxcbiAgICAgIDIxNDc0ODM2NzY6IDEzMzEyMCxcbiAgICAgIDIxNDc0ODM2Nzc6IDIwODAsXG4gICAgICAyMTQ3NDgzNjc4OiAxMzExMDQsXG4gICAgICAyMTQ3NDgzNjc5OiAxMzQzNTA4NDhcbiAgICB9XSxcbiAgICAgICAgZiA9IFs0MTYwNzQ5NTY5LCA1Mjg0ODIzMDQsIDMzMDMwMTQ0LCAyMDY0Mzg0LCAxMjkwMjQsIDgwNjQsIDUwNCwgMjE0NzQ4MzY3OV0sXG4gICAgICAgIGMgPSBvLkRFUyA9IGkuZXh0ZW5kKHtcbiAgICAgIF9kb1Jlc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGZvciAodmFyIGUgPSB0aGlzLl9rZXkud29yZHMsIHQgPSBbXSwgciA9IDA7IHIgPCA1NjsgcisrKSB7XG4gICAgICAgICAgdmFyIG4gPSBhW3JdIC0gMTtcbiAgICAgICAgICB0W3JdID0gZVtuID4+PiA1XSA+Pj4gMzEgLSBuICUgMzIgJiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IHRoaXMuX3N1YktleXMgPSBbXSwgbyA9IDA7IG8gPCAxNjsgbysrKSB7XG4gICAgICAgICAgdmFyIGwgPSBpW29dID0gW10sXG4gICAgICAgICAgICAgIGYgPSBoW29dO1xuXG4gICAgICAgICAgZm9yIChyID0gMDsgciA8IDI0OyByKyspIGxbciAvIDYgfCAwXSB8PSB0WyhzW3JdIC0gMSArIGYpICUgMjhdIDw8IDMxIC0gciAlIDYsIGxbNCArIChyIC8gNiB8IDApXSB8PSB0WzI4ICsgKHNbciArIDI0XSAtIDEgKyBmKSAlIDI4XSA8PCAzMSAtIHIgJSA2O1xuXG4gICAgICAgICAgZm9yIChsWzBdID0gbFswXSA8PCAxIHwgbFswXSA+Pj4gMzEsIHIgPSAxOyByIDwgNzsgcisrKSBsW3JdID0gbFtyXSA+Pj4gNCAqIChyIC0gMSkgKyAzO1xuXG4gICAgICAgICAgbFs3XSA9IGxbN10gPDwgNSB8IGxbN10gPj4+IDI3O1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGMgPSB0aGlzLl9pbnZTdWJLZXlzID0gW107XG5cbiAgICAgICAgZm9yIChyID0gMDsgciA8IDE2OyByKyspIGNbcl0gPSBpWzE1IC0gcl07XG4gICAgICB9LFxuICAgICAgZW5jcnlwdEJsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgICB0aGlzLl9kb0NyeXB0QmxvY2soZSwgdCwgdGhpcy5fc3ViS2V5cyk7XG4gICAgICB9LFxuICAgICAgZGVjcnlwdEJsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgICB0aGlzLl9kb0NyeXB0QmxvY2soZSwgdCwgdGhpcy5faW52U3ViS2V5cyk7XG4gICAgICB9LFxuICAgICAgX2RvQ3J5cHRCbG9jazogZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICAgICAgdGhpcy5fbEJsb2NrID0gZVt0XSwgdGhpcy5fckJsb2NrID0gZVt0ICsgMV0sIHUuY2FsbCh0aGlzLCA0LCAyNTI2NDUxMzUpLCB1LmNhbGwodGhpcywgMTYsIDY1NTM1KSwgZC5jYWxsKHRoaXMsIDIsIDg1ODk5MzQ1OSksIGQuY2FsbCh0aGlzLCA4LCAxNjcxMTkzNSksIHUuY2FsbCh0aGlzLCAxLCAxNDMxNjU1NzY1KTtcblxuICAgICAgICBmb3IgKHZhciBuID0gMDsgbiA8IDE2OyBuKyspIHtcbiAgICAgICAgICBmb3IgKHZhciBpID0gcltuXSwgbyA9IHRoaXMuX2xCbG9jaywgYSA9IHRoaXMuX3JCbG9jaywgcyA9IDAsIGggPSAwOyBoIDwgODsgaCsrKSBzIHw9IGxbaF1bKChhIF4gaVtoXSkgJiBmW2hdKSA+Pj4gMF07XG5cbiAgICAgICAgICB0aGlzLl9sQmxvY2sgPSBhLCB0aGlzLl9yQmxvY2sgPSBvIF4gcztcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBjID0gdGhpcy5fbEJsb2NrO1xuICAgICAgICB0aGlzLl9sQmxvY2sgPSB0aGlzLl9yQmxvY2ssIHRoaXMuX3JCbG9jayA9IGMsIHUuY2FsbCh0aGlzLCAxLCAxNDMxNjU1NzY1KSwgZC5jYWxsKHRoaXMsIDgsIDE2NzExOTM1KSwgZC5jYWxsKHRoaXMsIDIsIDg1ODk5MzQ1OSksIHUuY2FsbCh0aGlzLCAxNiwgNjU1MzUpLCB1LmNhbGwodGhpcywgNCwgMjUyNjQ1MTM1KSwgZVt0XSA9IHRoaXMuX2xCbG9jaywgZVt0ICsgMV0gPSB0aGlzLl9yQmxvY2s7XG4gICAgICB9LFxuICAgICAga2V5U2l6ZTogMixcbiAgICAgIGl2U2l6ZTogMixcbiAgICAgIGJsb2NrU2l6ZTogMlxuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gdShlLCB0KSB7XG4gICAgICB2YXIgciA9ICh0aGlzLl9sQmxvY2sgPj4+IGUgXiB0aGlzLl9yQmxvY2spICYgdDtcbiAgICAgIHRoaXMuX3JCbG9jayBePSByLCB0aGlzLl9sQmxvY2sgXj0gciA8PCBlO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGQoZSwgdCkge1xuICAgICAgdmFyIHIgPSAodGhpcy5fckJsb2NrID4+PiBlIF4gdGhpcy5fbEJsb2NrKSAmIHQ7XG4gICAgICB0aGlzLl9sQmxvY2sgXj0gciwgdGhpcy5fckJsb2NrIF49IHIgPDwgZTtcbiAgICB9XG5cbiAgICBlLkRFUyA9IGkuX2NyZWF0ZUhlbHBlcihjKTtcbiAgICB2YXIgcCA9IG8uVHJpcGxlREVTID0gaS5leHRlbmQoe1xuICAgICAgX2RvUmVzZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGUgPSB0aGlzLl9rZXkud29yZHM7XG4gICAgICAgIHRoaXMuX2RlczEgPSBjLmNyZWF0ZUVuY3J5cHRvcihuLmNyZWF0ZShlLnNsaWNlKDAsIDIpKSksIHRoaXMuX2RlczIgPSBjLmNyZWF0ZUVuY3J5cHRvcihuLmNyZWF0ZShlLnNsaWNlKDIsIDQpKSksIHRoaXMuX2RlczMgPSBjLmNyZWF0ZUVuY3J5cHRvcihuLmNyZWF0ZShlLnNsaWNlKDQsIDYpKSk7XG4gICAgICB9LFxuICAgICAgZW5jcnlwdEJsb2NrOiBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgICB0aGlzLl9kZXMxLmVuY3J5cHRCbG9jayhlLCB0KSwgdGhpcy5fZGVzMi5kZWNyeXB0QmxvY2soZSwgdCksIHRoaXMuX2RlczMuZW5jcnlwdEJsb2NrKGUsIHQpO1xuICAgICAgfSxcbiAgICAgIGRlY3J5cHRCbG9jazogZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgICAgdGhpcy5fZGVzMy5kZWNyeXB0QmxvY2soZSwgdCksIHRoaXMuX2RlczIuZW5jcnlwdEJsb2NrKGUsIHQpLCB0aGlzLl9kZXMxLmRlY3J5cHRCbG9jayhlLCB0KTtcbiAgICAgIH0sXG4gICAgICBrZXlTaXplOiA2LFxuICAgICAgaXZTaXplOiAyLFxuICAgICAgYmxvY2tTaXplOiAyXG4gICAgfSk7XG4gICAgZS5UcmlwbGVERVMgPSBpLl9jcmVhdGVIZWxwZXIocCk7XG4gIH0oKSwgci5UcmlwbGVERVMpO1xufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcbiAgdmFyIHI7XG4gIGUuZXhwb3J0cyA9IChyID0gZWUsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZSA9IHIsXG4gICAgICAgIHQgPSBlLmxpYi5TdHJlYW1DaXBoZXIsXG4gICAgICAgIG4gPSBlLmFsZ28sXG4gICAgICAgIGkgPSBuLlJDNCA9IHQuZXh0ZW5kKHtcbiAgICAgIF9kb1Jlc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGZvciAodmFyIGUgPSB0aGlzLl9rZXksIHQgPSBlLndvcmRzLCByID0gZS5zaWdCeXRlcywgbiA9IHRoaXMuX1MgPSBbXSwgaSA9IDA7IGkgPCAyNTY7IGkrKykgbltpXSA9IGk7XG5cbiAgICAgICAgaSA9IDA7XG5cbiAgICAgICAgZm9yICh2YXIgbyA9IDA7IGkgPCAyNTY7IGkrKykge1xuICAgICAgICAgIHZhciBhID0gaSAlIHIsXG4gICAgICAgICAgICAgIHMgPSB0W2EgPj4+IDJdID4+PiAyNCAtIGEgJSA0ICogOCAmIDI1NTtcbiAgICAgICAgICBvID0gKG8gKyBuW2ldICsgcykgJSAyNTY7XG4gICAgICAgICAgdmFyIGggPSBuW2ldO1xuICAgICAgICAgIG5baV0gPSBuW29dLCBuW29dID0gaDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2kgPSB0aGlzLl9qID0gMDtcbiAgICAgIH0sXG4gICAgICBfZG9Qcm9jZXNzQmxvY2s6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICAgIGVbdF0gXj0gby5jYWxsKHRoaXMpO1xuICAgICAgfSxcbiAgICAgIGtleVNpemU6IDgsXG4gICAgICBpdlNpemU6IDBcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIG8oKSB7XG4gICAgICBmb3IgKHZhciBlID0gdGhpcy5fUywgdCA9IHRoaXMuX2ksIHIgPSB0aGlzLl9qLCBuID0gMCwgaSA9IDA7IGkgPCA0OyBpKyspIHtcbiAgICAgICAgciA9IChyICsgZVt0ID0gKHQgKyAxKSAlIDI1Nl0pICUgMjU2O1xuICAgICAgICB2YXIgbyA9IGVbdF07XG4gICAgICAgIGVbdF0gPSBlW3JdLCBlW3JdID0gbywgbiB8PSBlWyhlW3RdICsgZVtyXSkgJSAyNTZdIDw8IDI0IC0gOCAqIGk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLl9pID0gdCwgdGhpcy5faiA9IHIsIG47XG4gICAgfVxuXG4gICAgZS5SQzQgPSB0Ll9jcmVhdGVIZWxwZXIoaSk7XG4gICAgdmFyIGEgPSBuLlJDNERyb3AgPSBpLmV4dGVuZCh7XG4gICAgICBjZmc6IGkuY2ZnLmV4dGVuZCh7XG4gICAgICAgIGRyb3A6IDE5MlxuICAgICAgfSksXG4gICAgICBfZG9SZXNldDogZnVuY3Rpb24gKCkge1xuICAgICAgICBpLl9kb1Jlc2V0LmNhbGwodGhpcyk7XG5cbiAgICAgICAgZm9yICh2YXIgZSA9IHRoaXMuY2ZnLmRyb3A7IGUgPiAwOyBlLS0pIG8uY2FsbCh0aGlzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBlLlJDNERyb3AgPSB0Ll9jcmVhdGVIZWxwZXIoYSk7XG4gIH0oKSwgci5SQzQpO1xufSksIFEoZnVuY3Rpb24gKGUsIHQpIHtcbiAgdmFyIHI7XG4gIGUuZXhwb3J0cyA9IChyID0gZWUsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZSA9IHIsXG4gICAgICAgIHQgPSBlLmxpYi5TdHJlYW1DaXBoZXIsXG4gICAgICAgIG4gPSBlLmFsZ28sXG4gICAgICAgIGkgPSBbXSxcbiAgICAgICAgbyA9IFtdLFxuICAgICAgICBhID0gW10sXG4gICAgICAgIHMgPSBuLlJhYmJpdCA9IHQuZXh0ZW5kKHtcbiAgICAgIF9kb1Jlc2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGZvciAodmFyIGUgPSB0aGlzLl9rZXkud29yZHMsIHQgPSB0aGlzLmNmZy5pdiwgciA9IDA7IHIgPCA0OyByKyspIGVbcl0gPSAxNjcxMTkzNSAmIChlW3JdIDw8IDggfCBlW3JdID4+PiAyNCkgfCA0Mjc4MjU1MzYwICYgKGVbcl0gPDwgMjQgfCBlW3JdID4+PiA4KTtcblxuICAgICAgICB2YXIgbiA9IHRoaXMuX1ggPSBbZVswXSwgZVszXSA8PCAxNiB8IGVbMl0gPj4+IDE2LCBlWzFdLCBlWzBdIDw8IDE2IHwgZVszXSA+Pj4gMTYsIGVbMl0sIGVbMV0gPDwgMTYgfCBlWzBdID4+PiAxNiwgZVszXSwgZVsyXSA8PCAxNiB8IGVbMV0gPj4+IDE2XSxcbiAgICAgICAgICAgIGkgPSB0aGlzLl9DID0gW2VbMl0gPDwgMTYgfCBlWzJdID4+PiAxNiwgNDI5NDkwMTc2MCAmIGVbMF0gfCA2NTUzNSAmIGVbMV0sIGVbM10gPDwgMTYgfCBlWzNdID4+PiAxNiwgNDI5NDkwMTc2MCAmIGVbMV0gfCA2NTUzNSAmIGVbMl0sIGVbMF0gPDwgMTYgfCBlWzBdID4+PiAxNiwgNDI5NDkwMTc2MCAmIGVbMl0gfCA2NTUzNSAmIGVbM10sIGVbMV0gPDwgMTYgfCBlWzFdID4+PiAxNiwgNDI5NDkwMTc2MCAmIGVbM10gfCA2NTUzNSAmIGVbMF1dO1xuXG4gICAgICAgIGZvciAodGhpcy5fYiA9IDAsIHIgPSAwOyByIDwgNDsgcisrKSBoLmNhbGwodGhpcyk7XG5cbiAgICAgICAgZm9yIChyID0gMDsgciA8IDg7IHIrKykgaVtyXSBePSBuW3IgKyA0ICYgN107XG5cbiAgICAgICAgaWYgKHQpIHtcbiAgICAgICAgICB2YXIgbyA9IHQud29yZHMsXG4gICAgICAgICAgICAgIGEgPSBvWzBdLFxuICAgICAgICAgICAgICBzID0gb1sxXSxcbiAgICAgICAgICAgICAgbCA9IDE2NzExOTM1ICYgKGEgPDwgOCB8IGEgPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAoYSA8PCAyNCB8IGEgPj4+IDgpLFxuICAgICAgICAgICAgICBmID0gMTY3MTE5MzUgJiAocyA8PCA4IHwgcyA+Pj4gMjQpIHwgNDI3ODI1NTM2MCAmIChzIDw8IDI0IHwgcyA+Pj4gOCksXG4gICAgICAgICAgICAgIGMgPSBsID4+PiAxNiB8IDQyOTQ5MDE3NjAgJiBmLFxuICAgICAgICAgICAgICB1ID0gZiA8PCAxNiB8IDY1NTM1ICYgbDtcblxuICAgICAgICAgIGZvciAoaVswXSBePSBsLCBpWzFdIF49IGMsIGlbMl0gXj0gZiwgaVszXSBePSB1LCBpWzRdIF49IGwsIGlbNV0gXj0gYywgaVs2XSBePSBmLCBpWzddIF49IHUsIHIgPSAwOyByIDwgNDsgcisrKSBoLmNhbGwodGhpcyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfZG9Qcm9jZXNzQmxvY2s6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICAgIHZhciByID0gdGhpcy5fWDtcbiAgICAgICAgaC5jYWxsKHRoaXMpLCBpWzBdID0gclswXSBeIHJbNV0gPj4+IDE2IF4gclszXSA8PCAxNiwgaVsxXSA9IHJbMl0gXiByWzddID4+PiAxNiBeIHJbNV0gPDwgMTYsIGlbMl0gPSByWzRdIF4gclsxXSA+Pj4gMTYgXiByWzddIDw8IDE2LCBpWzNdID0gcls2XSBeIHJbM10gPj4+IDE2IF4gclsxXSA8PCAxNjtcblxuICAgICAgICBmb3IgKHZhciBuID0gMDsgbiA8IDQ7IG4rKykgaVtuXSA9IDE2NzExOTM1ICYgKGlbbl0gPDwgOCB8IGlbbl0gPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAoaVtuXSA8PCAyNCB8IGlbbl0gPj4+IDgpLCBlW3QgKyBuXSBePSBpW25dO1xuICAgICAgfSxcbiAgICAgIGJsb2NrU2l6ZTogNCxcbiAgICAgIGl2U2l6ZTogMlxuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gaCgpIHtcbiAgICAgIGZvciAodmFyIGUgPSB0aGlzLl9YLCB0ID0gdGhpcy5fQywgciA9IDA7IHIgPCA4OyByKyspIG9bcl0gPSB0W3JdO1xuXG4gICAgICBmb3IgKHRbMF0gPSB0WzBdICsgMTI5NTMwNzU5NyArIHRoaXMuX2IgfCAwLCB0WzFdID0gdFsxXSArIDM1NDUwNTIzNzEgKyAodFswXSA+Pj4gMCA8IG9bMF0gPj4+IDAgPyAxIDogMCkgfCAwLCB0WzJdID0gdFsyXSArIDg4NjI2MzA5MiArICh0WzFdID4+PiAwIDwgb1sxXSA+Pj4gMCA/IDEgOiAwKSB8IDAsIHRbM10gPSB0WzNdICsgMTI5NTMwNzU5NyArICh0WzJdID4+PiAwIDwgb1syXSA+Pj4gMCA/IDEgOiAwKSB8IDAsIHRbNF0gPSB0WzRdICsgMzU0NTA1MjM3MSArICh0WzNdID4+PiAwIDwgb1szXSA+Pj4gMCA/IDEgOiAwKSB8IDAsIHRbNV0gPSB0WzVdICsgODg2MjYzMDkyICsgKHRbNF0gPj4+IDAgPCBvWzRdID4+PiAwID8gMSA6IDApIHwgMCwgdFs2XSA9IHRbNl0gKyAxMjk1MzA3NTk3ICsgKHRbNV0gPj4+IDAgPCBvWzVdID4+PiAwID8gMSA6IDApIHwgMCwgdFs3XSA9IHRbN10gKyAzNTQ1MDUyMzcxICsgKHRbNl0gPj4+IDAgPCBvWzZdID4+PiAwID8gMSA6IDApIHwgMCwgdGhpcy5fYiA9IHRbN10gPj4+IDAgPCBvWzddID4+PiAwID8gMSA6IDAsIHIgPSAwOyByIDwgODsgcisrKSB7XG4gICAgICAgIHZhciBuID0gZVtyXSArIHRbcl0sXG4gICAgICAgICAgICBpID0gNjU1MzUgJiBuLFxuICAgICAgICAgICAgcyA9IG4gPj4+IDE2LFxuICAgICAgICAgICAgaCA9ICgoaSAqIGkgPj4+IDE3KSArIGkgKiBzID4+PiAxNSkgKyBzICogcyxcbiAgICAgICAgICAgIGwgPSAoKDQyOTQ5MDE3NjAgJiBuKSAqIG4gfCAwKSArICgoNjU1MzUgJiBuKSAqIG4gfCAwKTtcbiAgICAgICAgYVtyXSA9IGggXiBsO1xuICAgICAgfVxuXG4gICAgICBlWzBdID0gYVswXSArIChhWzddIDw8IDE2IHwgYVs3XSA+Pj4gMTYpICsgKGFbNl0gPDwgMTYgfCBhWzZdID4+PiAxNikgfCAwLCBlWzFdID0gYVsxXSArIChhWzBdIDw8IDggfCBhWzBdID4+PiAyNCkgKyBhWzddIHwgMCwgZVsyXSA9IGFbMl0gKyAoYVsxXSA8PCAxNiB8IGFbMV0gPj4+IDE2KSArIChhWzBdIDw8IDE2IHwgYVswXSA+Pj4gMTYpIHwgMCwgZVszXSA9IGFbM10gKyAoYVsyXSA8PCA4IHwgYVsyXSA+Pj4gMjQpICsgYVsxXSB8IDAsIGVbNF0gPSBhWzRdICsgKGFbM10gPDwgMTYgfCBhWzNdID4+PiAxNikgKyAoYVsyXSA8PCAxNiB8IGFbMl0gPj4+IDE2KSB8IDAsIGVbNV0gPSBhWzVdICsgKGFbNF0gPDwgOCB8IGFbNF0gPj4+IDI0KSArIGFbM10gfCAwLCBlWzZdID0gYVs2XSArIChhWzVdIDw8IDE2IHwgYVs1XSA+Pj4gMTYpICsgKGFbNF0gPDwgMTYgfCBhWzRdID4+PiAxNikgfCAwLCBlWzddID0gYVs3XSArIChhWzZdIDw8IDggfCBhWzZdID4+PiAyNCkgKyBhWzVdIHwgMDtcbiAgICB9XG5cbiAgICBlLlJhYmJpdCA9IHQuX2NyZWF0ZUhlbHBlcihzKTtcbiAgfSgpLCByLlJhYmJpdCk7XG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgcjtcbiAgZS5leHBvcnRzID0gKHIgPSBlZSwgZnVuY3Rpb24gKCkge1xuICAgIHZhciBlID0gcixcbiAgICAgICAgdCA9IGUubGliLlN0cmVhbUNpcGhlcixcbiAgICAgICAgbiA9IGUuYWxnbyxcbiAgICAgICAgaSA9IFtdLFxuICAgICAgICBvID0gW10sXG4gICAgICAgIGEgPSBbXSxcbiAgICAgICAgcyA9IG4uUmFiYml0TGVnYWN5ID0gdC5leHRlbmQoe1xuICAgICAgX2RvUmVzZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGUgPSB0aGlzLl9rZXkud29yZHMsXG4gICAgICAgICAgICB0ID0gdGhpcy5jZmcuaXYsXG4gICAgICAgICAgICByID0gdGhpcy5fWCA9IFtlWzBdLCBlWzNdIDw8IDE2IHwgZVsyXSA+Pj4gMTYsIGVbMV0sIGVbMF0gPDwgMTYgfCBlWzNdID4+PiAxNiwgZVsyXSwgZVsxXSA8PCAxNiB8IGVbMF0gPj4+IDE2LCBlWzNdLCBlWzJdIDw8IDE2IHwgZVsxXSA+Pj4gMTZdLFxuICAgICAgICAgICAgbiA9IHRoaXMuX0MgPSBbZVsyXSA8PCAxNiB8IGVbMl0gPj4+IDE2LCA0Mjk0OTAxNzYwICYgZVswXSB8IDY1NTM1ICYgZVsxXSwgZVszXSA8PCAxNiB8IGVbM10gPj4+IDE2LCA0Mjk0OTAxNzYwICYgZVsxXSB8IDY1NTM1ICYgZVsyXSwgZVswXSA8PCAxNiB8IGVbMF0gPj4+IDE2LCA0Mjk0OTAxNzYwICYgZVsyXSB8IDY1NTM1ICYgZVszXSwgZVsxXSA8PCAxNiB8IGVbMV0gPj4+IDE2LCA0Mjk0OTAxNzYwICYgZVszXSB8IDY1NTM1ICYgZVswXV07XG4gICAgICAgIHRoaXMuX2IgPSAwO1xuXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgNDsgaSsrKSBoLmNhbGwodGhpcyk7XG5cbiAgICAgICAgZm9yIChpID0gMDsgaSA8IDg7IGkrKykgbltpXSBePSByW2kgKyA0ICYgN107XG5cbiAgICAgICAgaWYgKHQpIHtcbiAgICAgICAgICB2YXIgbyA9IHQud29yZHMsXG4gICAgICAgICAgICAgIGEgPSBvWzBdLFxuICAgICAgICAgICAgICBzID0gb1sxXSxcbiAgICAgICAgICAgICAgbCA9IDE2NzExOTM1ICYgKGEgPDwgOCB8IGEgPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAoYSA8PCAyNCB8IGEgPj4+IDgpLFxuICAgICAgICAgICAgICBmID0gMTY3MTE5MzUgJiAocyA8PCA4IHwgcyA+Pj4gMjQpIHwgNDI3ODI1NTM2MCAmIChzIDw8IDI0IHwgcyA+Pj4gOCksXG4gICAgICAgICAgICAgIGMgPSBsID4+PiAxNiB8IDQyOTQ5MDE3NjAgJiBmLFxuICAgICAgICAgICAgICB1ID0gZiA8PCAxNiB8IDY1NTM1ICYgbDtcblxuICAgICAgICAgIGZvciAoblswXSBePSBsLCBuWzFdIF49IGMsIG5bMl0gXj0gZiwgblszXSBePSB1LCBuWzRdIF49IGwsIG5bNV0gXj0gYywgbls2XSBePSBmLCBuWzddIF49IHUsIGkgPSAwOyBpIDwgNDsgaSsrKSBoLmNhbGwodGhpcyk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBfZG9Qcm9jZXNzQmxvY2s6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICAgIHZhciByID0gdGhpcy5fWDtcbiAgICAgICAgaC5jYWxsKHRoaXMpLCBpWzBdID0gclswXSBeIHJbNV0gPj4+IDE2IF4gclszXSA8PCAxNiwgaVsxXSA9IHJbMl0gXiByWzddID4+PiAxNiBeIHJbNV0gPDwgMTYsIGlbMl0gPSByWzRdIF4gclsxXSA+Pj4gMTYgXiByWzddIDw8IDE2LCBpWzNdID0gcls2XSBeIHJbM10gPj4+IDE2IF4gclsxXSA8PCAxNjtcblxuICAgICAgICBmb3IgKHZhciBuID0gMDsgbiA8IDQ7IG4rKykgaVtuXSA9IDE2NzExOTM1ICYgKGlbbl0gPDwgOCB8IGlbbl0gPj4+IDI0KSB8IDQyNzgyNTUzNjAgJiAoaVtuXSA8PCAyNCB8IGlbbl0gPj4+IDgpLCBlW3QgKyBuXSBePSBpW25dO1xuICAgICAgfSxcbiAgICAgIGJsb2NrU2l6ZTogNCxcbiAgICAgIGl2U2l6ZTogMlxuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gaCgpIHtcbiAgICAgIGZvciAodmFyIGUgPSB0aGlzLl9YLCB0ID0gdGhpcy5fQywgciA9IDA7IHIgPCA4OyByKyspIG9bcl0gPSB0W3JdO1xuXG4gICAgICBmb3IgKHRbMF0gPSB0WzBdICsgMTI5NTMwNzU5NyArIHRoaXMuX2IgfCAwLCB0WzFdID0gdFsxXSArIDM1NDUwNTIzNzEgKyAodFswXSA+Pj4gMCA8IG9bMF0gPj4+IDAgPyAxIDogMCkgfCAwLCB0WzJdID0gdFsyXSArIDg4NjI2MzA5MiArICh0WzFdID4+PiAwIDwgb1sxXSA+Pj4gMCA/IDEgOiAwKSB8IDAsIHRbM10gPSB0WzNdICsgMTI5NTMwNzU5NyArICh0WzJdID4+PiAwIDwgb1syXSA+Pj4gMCA/IDEgOiAwKSB8IDAsIHRbNF0gPSB0WzRdICsgMzU0NTA1MjM3MSArICh0WzNdID4+PiAwIDwgb1szXSA+Pj4gMCA/IDEgOiAwKSB8IDAsIHRbNV0gPSB0WzVdICsgODg2MjYzMDkyICsgKHRbNF0gPj4+IDAgPCBvWzRdID4+PiAwID8gMSA6IDApIHwgMCwgdFs2XSA9IHRbNl0gKyAxMjk1MzA3NTk3ICsgKHRbNV0gPj4+IDAgPCBvWzVdID4+PiAwID8gMSA6IDApIHwgMCwgdFs3XSA9IHRbN10gKyAzNTQ1MDUyMzcxICsgKHRbNl0gPj4+IDAgPCBvWzZdID4+PiAwID8gMSA6IDApIHwgMCwgdGhpcy5fYiA9IHRbN10gPj4+IDAgPCBvWzddID4+PiAwID8gMSA6IDAsIHIgPSAwOyByIDwgODsgcisrKSB7XG4gICAgICAgIHZhciBuID0gZVtyXSArIHRbcl0sXG4gICAgICAgICAgICBpID0gNjU1MzUgJiBuLFxuICAgICAgICAgICAgcyA9IG4gPj4+IDE2LFxuICAgICAgICAgICAgaCA9ICgoaSAqIGkgPj4+IDE3KSArIGkgKiBzID4+PiAxNSkgKyBzICogcyxcbiAgICAgICAgICAgIGwgPSAoKDQyOTQ5MDE3NjAgJiBuKSAqIG4gfCAwKSArICgoNjU1MzUgJiBuKSAqIG4gfCAwKTtcbiAgICAgICAgYVtyXSA9IGggXiBsO1xuICAgICAgfVxuXG4gICAgICBlWzBdID0gYVswXSArIChhWzddIDw8IDE2IHwgYVs3XSA+Pj4gMTYpICsgKGFbNl0gPDwgMTYgfCBhWzZdID4+PiAxNikgfCAwLCBlWzFdID0gYVsxXSArIChhWzBdIDw8IDggfCBhWzBdID4+PiAyNCkgKyBhWzddIHwgMCwgZVsyXSA9IGFbMl0gKyAoYVsxXSA8PCAxNiB8IGFbMV0gPj4+IDE2KSArIChhWzBdIDw8IDE2IHwgYVswXSA+Pj4gMTYpIHwgMCwgZVszXSA9IGFbM10gKyAoYVsyXSA8PCA4IHwgYVsyXSA+Pj4gMjQpICsgYVsxXSB8IDAsIGVbNF0gPSBhWzRdICsgKGFbM10gPDwgMTYgfCBhWzNdID4+PiAxNikgKyAoYVsyXSA8PCAxNiB8IGFbMl0gPj4+IDE2KSB8IDAsIGVbNV0gPSBhWzVdICsgKGFbNF0gPDwgOCB8IGFbNF0gPj4+IDI0KSArIGFbM10gfCAwLCBlWzZdID0gYVs2XSArIChhWzVdIDw8IDE2IHwgYVs1XSA+Pj4gMTYpICsgKGFbNF0gPDwgMTYgfCBhWzRdID4+PiAxNikgfCAwLCBlWzddID0gYVs3XSArIChhWzZdIDw8IDggfCBhWzZdID4+PiAyNCkgKyBhWzVdIHwgMDtcbiAgICB9XG5cbiAgICBlLlJhYmJpdExlZ2FjeSA9IHQuX2NyZWF0ZUhlbHBlcihzKTtcbiAgfSgpLCByLlJhYmJpdExlZ2FjeSk7XG59KSwgUShmdW5jdGlvbiAoZSwgdCkge1xuICBlLmV4cG9ydHMgPSBlZTtcbn0pKTtcblxuZnVuY3Rpb24gcmUoKSB7XG4gIHRocm93IG5ldyBFcnJvcihcInNldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWRcIik7XG59XG5cbmZ1bmN0aW9uIG5lKCkge1xuICB0aHJvdyBuZXcgRXJyb3IoXCJjbGVhclRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWRcIik7XG59XG5cbnZhciBpZSA9IHJlLFxuICAgIG9lID0gbmU7XG5cbmZ1bmN0aW9uIGFlKGUpIHtcbiAgaWYgKGllID09PSBzZXRUaW1lb3V0KSByZXR1cm4gc2V0VGltZW91dChlLCAwKTtcbiAgaWYgKChpZSA9PT0gcmUgfHwgIWllKSAmJiBzZXRUaW1lb3V0KSByZXR1cm4gaWUgPSBzZXRUaW1lb3V0LCBzZXRUaW1lb3V0KGUsIDApO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGllKGUsIDApO1xuICB9IGNhdGNoICh0KSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBpZS5jYWxsKG51bGwsIGUsIDApO1xuICAgIH0gY2F0Y2ggKHQpIHtcbiAgICAgIHJldHVybiBpZS5jYWxsKHRoaXMsIGUsIDApO1xuICAgIH1cbiAgfVxufVxuXG5cImZ1bmN0aW9uXCIgPT0gdHlwZW9mIGUuc2V0VGltZW91dCAmJiAoaWUgPSBzZXRUaW1lb3V0KSwgXCJmdW5jdGlvblwiID09IHR5cGVvZiBlLmNsZWFyVGltZW91dCAmJiAob2UgPSBjbGVhclRpbWVvdXQpO1xudmFyIHNlLFxuICAgIGhlID0gW10sXG4gICAgbGUgPSAhMSxcbiAgICBmZSA9IC0xO1xuXG5mdW5jdGlvbiBjZSgpIHtcbiAgbGUgJiYgc2UgJiYgKGxlID0gITEsIHNlLmxlbmd0aCA/IGhlID0gc2UuY29uY2F0KGhlKSA6IGZlID0gLTEsIGhlLmxlbmd0aCAmJiB1ZSgpKTtcbn1cblxuZnVuY3Rpb24gdWUoKSB7XG4gIGlmICghbGUpIHtcbiAgICB2YXIgZSA9IGFlKGNlKTtcbiAgICBsZSA9ICEwO1xuXG4gICAgZm9yICh2YXIgdCA9IGhlLmxlbmd0aDsgdDspIHtcbiAgICAgIGZvciAoc2UgPSBoZSwgaGUgPSBbXTsgKytmZSA8IHQ7KSBzZSAmJiBzZVtmZV0ucnVuKCk7XG5cbiAgICAgIGZlID0gLTEsIHQgPSBoZS5sZW5ndGg7XG4gICAgfVxuXG4gICAgc2UgPSBudWxsLCBsZSA9ICExLCBmdW5jdGlvbiAoZSkge1xuICAgICAgaWYgKG9lID09PSBjbGVhclRpbWVvdXQpIHJldHVybiBjbGVhclRpbWVvdXQoZSk7XG4gICAgICBpZiAoKG9lID09PSBuZSB8fCAhb2UpICYmIGNsZWFyVGltZW91dCkgcmV0dXJuIG9lID0gY2xlYXJUaW1lb3V0LCBjbGVhclRpbWVvdXQoZSk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIG9lKGUpO1xuICAgICAgfSBjYXRjaCAodCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHJldHVybiBvZS5jYWxsKG51bGwsIGUpO1xuICAgICAgICB9IGNhdGNoICh0KSB7XG4gICAgICAgICAgcmV0dXJuIG9lLmNhbGwodGhpcywgZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KGUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlKGUpIHtcbiAgdmFyIHQgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDEpO1xuICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIGZvciAodmFyIHIgPSAxOyByIDwgYXJndW1lbnRzLmxlbmd0aDsgcisrKSB0W3IgLSAxXSA9IGFyZ3VtZW50c1tyXTtcbiAgaGUucHVzaChuZXcgcGUoZSwgdCkpLCAxICE9PSBoZS5sZW5ndGggfHwgbGUgfHwgYWUodWUpO1xufVxuXG5mdW5jdGlvbiBwZShlLCB0KSB7XG4gIHRoaXMuZnVuID0gZSwgdGhpcy5hcnJheSA9IHQ7XG59XG5cbnBlLnByb3RvdHlwZS5ydW4gPSBmdW5jdGlvbiAoKSB7XG4gIHRoaXMuZnVuLmFwcGx5KG51bGwsIHRoaXMuYXJyYXkpO1xufTtcblxudmFyIF9lID0ge307XG5cbl9lLm5vdyB8fCBfZS5tb3pOb3cgfHwgX2UubXNOb3cgfHwgX2Uub05vdyB8fCBfZS53ZWJraXROb3c7XG5cbmZ1bmN0aW9uIGdlKCkge31cblxuZnVuY3Rpb24gdmUoKSB7XG4gIHZlLmluaXQuY2FsbCh0aGlzKTtcbn1cblxuZnVuY3Rpb24gd2UoZSkge1xuICByZXR1cm4gdm9pZCAwID09PSBlLl9tYXhMaXN0ZW5lcnMgPyB2ZS5kZWZhdWx0TWF4TGlzdGVuZXJzIDogZS5fbWF4TGlzdGVuZXJzO1xufVxuXG5mdW5jdGlvbiBiZShlLCB0LCByKSB7XG4gIGlmICh0KSBlLmNhbGwocik7ZWxzZSBmb3IgKHZhciBuID0gZS5sZW5ndGgsIGkgPSBBZShlLCBuKSwgbyA9IDA7IG8gPCBuOyArK28pIGlbb10uY2FsbChyKTtcbn1cblxuZnVuY3Rpb24geWUoZSwgdCwgciwgbikge1xuICBpZiAodCkgZS5jYWxsKHIsIG4pO2Vsc2UgZm9yICh2YXIgaSA9IGUubGVuZ3RoLCBvID0gQWUoZSwgaSksIGEgPSAwOyBhIDwgaTsgKythKSBvW2FdLmNhbGwociwgbik7XG59XG5cbmZ1bmN0aW9uIG1lKGUsIHQsIHIsIG4sIGkpIHtcbiAgaWYgKHQpIGUuY2FsbChyLCBuLCBpKTtlbHNlIGZvciAodmFyIG8gPSBlLmxlbmd0aCwgYSA9IEFlKGUsIG8pLCBzID0gMDsgcyA8IG87ICsrcykgYVtzXS5jYWxsKHIsIG4sIGkpO1xufVxuXG5mdW5jdGlvbiBrZShlLCB0LCByLCBuLCBpLCBvKSB7XG4gIGlmICh0KSBlLmNhbGwociwgbiwgaSwgbyk7ZWxzZSBmb3IgKHZhciBhID0gZS5sZW5ndGgsIHMgPSBBZShlLCBhKSwgaCA9IDA7IGggPCBhOyArK2gpIHNbaF0uY2FsbChyLCBuLCBpLCBvKTtcbn1cblxuZnVuY3Rpb24gRWUoZSwgdCwgciwgbikge1xuICBpZiAodCkgZS5hcHBseShyLCBuKTtlbHNlIGZvciAodmFyIGkgPSBlLmxlbmd0aCwgbyA9IEFlKGUsIGkpLCBhID0gMDsgYSA8IGk7ICsrYSkgb1thXS5hcHBseShyLCBuKTtcbn1cblxuZnVuY3Rpb24gU2UoZSwgdCwgciwgbikge1xuICB2YXIgaSwgbywgYSwgcztcbiAgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgcikgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJsaXN0ZW5lclwiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpO1xuXG4gIGlmICgobyA9IGUuX2V2ZW50cykgPyAoby5uZXdMaXN0ZW5lciAmJiAoZS5lbWl0KFwibmV3TGlzdGVuZXJcIiwgdCwgci5saXN0ZW5lciA/IHIubGlzdGVuZXIgOiByKSwgbyA9IGUuX2V2ZW50cyksIGEgPSBvW3RdKSA6IChvID0gZS5fZXZlbnRzID0gbmV3IGdlKCksIGUuX2V2ZW50c0NvdW50ID0gMCksIGEpIHtcbiAgICBpZiAoXCJmdW5jdGlvblwiID09IHR5cGVvZiBhID8gYSA9IG9bdF0gPSBuID8gW3IsIGFdIDogW2EsIHJdIDogbiA/IGEudW5zaGlmdChyKSA6IGEucHVzaChyKSwgIWEud2FybmVkICYmIChpID0gd2UoZSkpICYmIGkgPiAwICYmIGEubGVuZ3RoID4gaSkge1xuICAgICAgYS53YXJuZWQgPSAhMDtcbiAgICAgIHZhciBoID0gbmV3IEVycm9yKFwiUG9zc2libGUgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrIGRldGVjdGVkLiBcIiArIGEubGVuZ3RoICsgXCIgXCIgKyB0ICsgXCIgbGlzdGVuZXJzIGFkZGVkLiBVc2UgZW1pdHRlci5zZXRNYXhMaXN0ZW5lcnMoKSB0byBpbmNyZWFzZSBsaW1pdFwiKTtcbiAgICAgIGgubmFtZSA9IFwiTWF4TGlzdGVuZXJzRXhjZWVkZWRXYXJuaW5nXCIsIGguZW1pdHRlciA9IGUsIGgudHlwZSA9IHQsIGguY291bnQgPSBhLmxlbmd0aCwgcyA9IGgsIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgY29uc29sZS53YXJuID8gY29uc29sZS53YXJuKHMpIDogY29uc29sZS5sb2cocyk7XG4gICAgfVxuICB9IGVsc2UgYSA9IG9bdF0gPSByLCArK2UuX2V2ZW50c0NvdW50O1xuXG4gIHJldHVybiBlO1xufVxuXG5mdW5jdGlvbiB4ZShlLCB0LCByKSB7XG4gIHZhciBuID0gITE7XG5cbiAgZnVuY3Rpb24gaSgpIHtcbiAgICBlLnJlbW92ZUxpc3RlbmVyKHQsIGkpLCBuIHx8IChuID0gITAsIHIuYXBwbHkoZSwgYXJndW1lbnRzKSk7XG4gIH1cblxuICByZXR1cm4gaS5saXN0ZW5lciA9IHIsIGk7XG59XG5cbmZ1bmN0aW9uIFJlKGUpIHtcbiAgdmFyIHQgPSB0aGlzLl9ldmVudHM7XG5cbiAgaWYgKHQpIHtcbiAgICB2YXIgciA9IHRbZV07XG4gICAgaWYgKFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgcikgcmV0dXJuIDE7XG4gICAgaWYgKHIpIHJldHVybiByLmxlbmd0aDtcbiAgfVxuXG4gIHJldHVybiAwO1xufVxuXG5mdW5jdGlvbiBBZShlLCB0KSB7XG4gIGZvciAodmFyIHIgPSBuZXcgQXJyYXkodCk7IHQtLTspIHJbdF0gPSBlW3RdO1xuXG4gIHJldHVybiByO1xufVxuXG5nZS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKG51bGwpLCB2ZS5FdmVudEVtaXR0ZXIgPSB2ZSwgdmUudXNpbmdEb21haW5zID0gITEsIHZlLnByb3RvdHlwZS5kb21haW4gPSB2b2lkIDAsIHZlLnByb3RvdHlwZS5fZXZlbnRzID0gdm9pZCAwLCB2ZS5wcm90b3R5cGUuX21heExpc3RlbmVycyA9IHZvaWQgMCwgdmUuZGVmYXVsdE1heExpc3RlbmVycyA9IDEwLCB2ZS5pbml0ID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLmRvbWFpbiA9IG51bGwsIHZlLnVzaW5nRG9tYWlucyAmJiAodm9pZCAwKS5hY3RpdmUgJiYgKHZvaWQgMCkuRG9tYWluLCB0aGlzLl9ldmVudHMgJiYgdGhpcy5fZXZlbnRzICE9PSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcykuX2V2ZW50cyB8fCAodGhpcy5fZXZlbnRzID0gbmV3IGdlKCksIHRoaXMuX2V2ZW50c0NvdW50ID0gMCksIHRoaXMuX21heExpc3RlbmVycyA9IHRoaXMuX21heExpc3RlbmVycyB8fCB2b2lkIDA7XG59LCB2ZS5wcm90b3R5cGUuc2V0TWF4TGlzdGVuZXJzID0gZnVuY3Rpb24gKGUpIHtcbiAgaWYgKFwibnVtYmVyXCIgIT0gdHlwZW9mIGUgfHwgZSA8IDAgfHwgaXNOYU4oZSkpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wiblwiIGFyZ3VtZW50IG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXInKTtcbiAgcmV0dXJuIHRoaXMuX21heExpc3RlbmVycyA9IGUsIHRoaXM7XG59LCB2ZS5wcm90b3R5cGUuZ2V0TWF4TGlzdGVuZXJzID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gd2UodGhpcyk7XG59LCB2ZS5wcm90b3R5cGUuZW1pdCA9IGZ1bmN0aW9uIChlKSB7XG4gIHZhciB0LFxuICAgICAgcixcbiAgICAgIG4sXG4gICAgICBpLFxuICAgICAgbyxcbiAgICAgIGEsXG4gICAgICBzLFxuICAgICAgaCA9IFwiZXJyb3JcIiA9PT0gZTtcbiAgaWYgKGEgPSB0aGlzLl9ldmVudHMpIGggPSBoICYmIG51bGwgPT0gYS5lcnJvcjtlbHNlIGlmICghaCkgcmV0dXJuICExO1xuXG4gIGlmIChzID0gdGhpcy5kb21haW4sIGgpIHtcbiAgICBpZiAodCA9IGFyZ3VtZW50c1sxXSwgIXMpIHtcbiAgICAgIGlmICh0IGluc3RhbmNlb2YgRXJyb3IpIHRocm93IHQ7XG4gICAgICB2YXIgbCA9IG5ldyBFcnJvcignVW5jYXVnaHQsIHVuc3BlY2lmaWVkIFwiZXJyb3JcIiBldmVudC4gKCcgKyB0ICsgXCIpXCIpO1xuICAgICAgdGhyb3cgbC5jb250ZXh0ID0gdCwgbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdCB8fCAodCA9IG5ldyBFcnJvcignVW5jYXVnaHQsIHVuc3BlY2lmaWVkIFwiZXJyb3JcIiBldmVudCcpKSwgdC5kb21haW5FbWl0dGVyID0gdGhpcywgdC5kb21haW4gPSBzLCB0LmRvbWFpblRocm93biA9ICExLCBzLmVtaXQoXCJlcnJvclwiLCB0KSwgITE7XG4gIH1cblxuICBpZiAoIShyID0gYVtlXSkpIHJldHVybiAhMTtcbiAgdmFyIGYgPSBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIHI7XG5cbiAgc3dpdGNoIChuID0gYXJndW1lbnRzLmxlbmd0aCkge1xuICAgIGNhc2UgMTpcbiAgICAgIGJlKHIsIGYsIHRoaXMpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIDI6XG4gICAgICB5ZShyLCBmLCB0aGlzLCBhcmd1bWVudHNbMV0pO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIDM6XG4gICAgICBtZShyLCBmLCB0aGlzLCBhcmd1bWVudHNbMV0sIGFyZ3VtZW50c1syXSk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgNDpcbiAgICAgIGtlKHIsIGYsIHRoaXMsIGFyZ3VtZW50c1sxXSwgYXJndW1lbnRzWzJdLCBhcmd1bWVudHNbM10pO1xuICAgICAgYnJlYWs7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgZm9yIChpID0gbmV3IEFycmF5KG4gLSAxKSwgbyA9IDE7IG8gPCBuOyBvKyspIGlbbyAtIDFdID0gYXJndW1lbnRzW29dO1xuXG4gICAgICBFZShyLCBmLCB0aGlzLCBpKTtcbiAgfVxuXG4gIHJldHVybiAhMDtcbn0sIHZlLnByb3RvdHlwZS5hZGRMaXN0ZW5lciA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gIHJldHVybiBTZSh0aGlzLCBlLCB0LCAhMSk7XG59LCB2ZS5wcm90b3R5cGUub24gPSB2ZS5wcm90b3R5cGUuYWRkTGlzdGVuZXIsIHZlLnByb3RvdHlwZS5wcmVwZW5kTGlzdGVuZXIgPSBmdW5jdGlvbiAoZSwgdCkge1xuICByZXR1cm4gU2UodGhpcywgZSwgdCwgITApO1xufSwgdmUucHJvdG90eXBlLm9uY2UgPSBmdW5jdGlvbiAoZSwgdCkge1xuICBpZiAoXCJmdW5jdGlvblwiICE9IHR5cGVvZiB0KSB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImxpc3RlbmVyXCIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7XG4gIHJldHVybiB0aGlzLm9uKGUsIHhlKHRoaXMsIGUsIHQpKSwgdGhpcztcbn0sIHZlLnByb3RvdHlwZS5wcmVwZW5kT25jZUxpc3RlbmVyID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2YgdCkgdGhyb3cgbmV3IFR5cGVFcnJvcignXCJsaXN0ZW5lclwiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpO1xuICByZXR1cm4gdGhpcy5wcmVwZW5kTGlzdGVuZXIoZSwgeGUodGhpcywgZSwgdCkpLCB0aGlzO1xufSwgdmUucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgdmFyIHIsIG4sIGksIG8sIGE7XG4gIGlmIChcImZ1bmN0aW9uXCIgIT0gdHlwZW9mIHQpIHRocm93IG5ldyBUeXBlRXJyb3IoJ1wibGlzdGVuZXJcIiBhcmd1bWVudCBtdXN0IGJlIGEgZnVuY3Rpb24nKTtcbiAgaWYgKCEobiA9IHRoaXMuX2V2ZW50cykpIHJldHVybiB0aGlzO1xuICBpZiAoIShyID0gbltlXSkpIHJldHVybiB0aGlzO1xuICBpZiAociA9PT0gdCB8fCByLmxpc3RlbmVyICYmIHIubGlzdGVuZXIgPT09IHQpIDAgPT0gLS10aGlzLl9ldmVudHNDb3VudCA/IHRoaXMuX2V2ZW50cyA9IG5ldyBnZSgpIDogKGRlbGV0ZSBuW2VdLCBuLnJlbW92ZUxpc3RlbmVyICYmIHRoaXMuZW1pdChcInJlbW92ZUxpc3RlbmVyXCIsIGUsIHIubGlzdGVuZXIgfHwgdCkpO2Vsc2UgaWYgKFwiZnVuY3Rpb25cIiAhPSB0eXBlb2Ygcikge1xuICAgIGZvciAoaSA9IC0xLCBvID0gci5sZW5ndGg7IG8tLSA+IDA7KSBpZiAocltvXSA9PT0gdCB8fCByW29dLmxpc3RlbmVyICYmIHJbb10ubGlzdGVuZXIgPT09IHQpIHtcbiAgICAgIGEgPSByW29dLmxpc3RlbmVyLCBpID0gbztcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChpIDwgMCkgcmV0dXJuIHRoaXM7XG5cbiAgICBpZiAoMSA9PT0gci5sZW5ndGgpIHtcbiAgICAgIGlmIChyWzBdID0gdm9pZCAwLCAwID09IC0tdGhpcy5fZXZlbnRzQ291bnQpIHJldHVybiB0aGlzLl9ldmVudHMgPSBuZXcgZ2UoKSwgdGhpcztcbiAgICAgIGRlbGV0ZSBuW2VdO1xuICAgIH0gZWxzZSAhZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIGZvciAodmFyIHIgPSB0LCBuID0gciArIDEsIGkgPSBlLmxlbmd0aDsgbiA8IGk7IHIgKz0gMSwgbiArPSAxKSBlW3JdID0gZVtuXTtcblxuICAgICAgZS5wb3AoKTtcbiAgICB9KHIsIGkpO1xuXG4gICAgbi5yZW1vdmVMaXN0ZW5lciAmJiB0aGlzLmVtaXQoXCJyZW1vdmVMaXN0ZW5lclwiLCBlLCBhIHx8IHQpO1xuICB9XG4gIHJldHVybiB0aGlzO1xufSwgdmUucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycyA9IGZ1bmN0aW9uIChlKSB7XG4gIHZhciB0LCByO1xuICBpZiAoIShyID0gdGhpcy5fZXZlbnRzKSkgcmV0dXJuIHRoaXM7XG4gIGlmICghci5yZW1vdmVMaXN0ZW5lcikgcmV0dXJuIDAgPT09IGFyZ3VtZW50cy5sZW5ndGggPyAodGhpcy5fZXZlbnRzID0gbmV3IGdlKCksIHRoaXMuX2V2ZW50c0NvdW50ID0gMCkgOiByW2VdICYmICgwID09IC0tdGhpcy5fZXZlbnRzQ291bnQgPyB0aGlzLl9ldmVudHMgPSBuZXcgZ2UoKSA6IGRlbGV0ZSByW2VdKSwgdGhpcztcblxuICBpZiAoMCA9PT0gYXJndW1lbnRzLmxlbmd0aCkge1xuICAgIGZvciAodmFyIG4sIGkgPSBPYmplY3Qua2V5cyhyKSwgbyA9IDA7IG8gPCBpLmxlbmd0aDsgKytvKSBcInJlbW92ZUxpc3RlbmVyXCIgIT09IChuID0gaVtvXSkgJiYgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMobik7XG5cbiAgICByZXR1cm4gdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoXCJyZW1vdmVMaXN0ZW5lclwiKSwgdGhpcy5fZXZlbnRzID0gbmV3IGdlKCksIHRoaXMuX2V2ZW50c0NvdW50ID0gMCwgdGhpcztcbiAgfVxuXG4gIGlmIChcImZ1bmN0aW9uXCIgPT0gdHlwZW9mICh0ID0gcltlXSkpIHRoaXMucmVtb3ZlTGlzdGVuZXIoZSwgdCk7ZWxzZSBpZiAodCkgZG8ge1xuICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIoZSwgdFt0Lmxlbmd0aCAtIDFdKTtcbiAgfSB3aGlsZSAodFswXSk7XG4gIHJldHVybiB0aGlzO1xufSwgdmUucHJvdG90eXBlLmxpc3RlbmVycyA9IGZ1bmN0aW9uIChlKSB7XG4gIHZhciB0LFxuICAgICAgciA9IHRoaXMuX2V2ZW50cztcbiAgcmV0dXJuIHIgJiYgKHQgPSByW2VdKSA/IFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgdCA/IFt0Lmxpc3RlbmVyIHx8IHRdIDogZnVuY3Rpb24gKGUpIHtcbiAgICBmb3IgKHZhciB0ID0gbmV3IEFycmF5KGUubGVuZ3RoKSwgciA9IDA7IHIgPCB0Lmxlbmd0aDsgKytyKSB0W3JdID0gZVtyXS5saXN0ZW5lciB8fCBlW3JdO1xuXG4gICAgcmV0dXJuIHQ7XG4gIH0odCkgOiBbXTtcbn0sIHZlLmxpc3RlbmVyQ291bnQgPSBmdW5jdGlvbiAoZSwgdCkge1xuICByZXR1cm4gXCJmdW5jdGlvblwiID09IHR5cGVvZiBlLmxpc3RlbmVyQ291bnQgPyBlLmxpc3RlbmVyQ291bnQodCkgOiBSZS5jYWxsKGUsIHQpO1xufSwgdmUucHJvdG90eXBlLmxpc3RlbmVyQ291bnQgPSBSZSwgdmUucHJvdG90eXBlLmV2ZW50TmFtZXMgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0aGlzLl9ldmVudHNDb3VudCA+IDAgPyBSZWZsZWN0Lm93bktleXModGhpcy5fZXZlbnRzKSA6IFtdO1xufTtcbnZhciBCZSA9IFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgT2JqZWN0LmNyZWF0ZSA/IGZ1bmN0aW9uIChlLCB0KSB7XG4gIGUuc3VwZXJfID0gdCwgZS5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHQucHJvdG90eXBlLCB7XG4gICAgY29uc3RydWN0b3I6IHtcbiAgICAgIHZhbHVlOiBlLFxuICAgICAgZW51bWVyYWJsZTogITEsXG4gICAgICB3cml0YWJsZTogITAsXG4gICAgICBjb25maWd1cmFibGU6ICEwXG4gICAgfVxuICB9KTtcbn0gOiBmdW5jdGlvbiAoZSwgdCkge1xuICBlLnN1cGVyXyA9IHQ7XG5cbiAgdmFyIHIgPSBmdW5jdGlvbiAoKSB7fTtcblxuICByLnByb3RvdHlwZSA9IHQucHJvdG90eXBlLCBlLnByb3RvdHlwZSA9IG5ldyByKCksIGUucHJvdG90eXBlLmNvbnN0cnVjdG9yID0gZTtcbn0sXG4gICAgemUgPSAvJVtzZGolXS9nO1xuXG5mdW5jdGlvbiBMZShlKSB7XG4gIGlmICghWmUoZSkpIHtcbiAgICBmb3IgKHZhciB0ID0gW10sIHIgPSAwOyByIDwgYXJndW1lbnRzLmxlbmd0aDsgcisrKSB0LnB1c2goRGUoYXJndW1lbnRzW3JdKSk7XG5cbiAgICByZXR1cm4gdC5qb2luKFwiIFwiKTtcbiAgfVxuXG4gIHIgPSAxO1xuXG4gIGZvciAodmFyIG4gPSBhcmd1bWVudHMsIGkgPSBuLmxlbmd0aCwgbyA9IFN0cmluZyhlKS5yZXBsYWNlKHplLCBmdW5jdGlvbiAoZSkge1xuICAgIGlmIChcIiUlXCIgPT09IGUpIHJldHVybiBcIiVcIjtcbiAgICBpZiAociA+PSBpKSByZXR1cm4gZTtcblxuICAgIHN3aXRjaCAoZSkge1xuICAgICAgY2FzZSBcIiVzXCI6XG4gICAgICAgIHJldHVybiBTdHJpbmcobltyKytdKTtcblxuICAgICAgY2FzZSBcIiVkXCI6XG4gICAgICAgIHJldHVybiBOdW1iZXIobltyKytdKTtcblxuICAgICAgY2FzZSBcIiVqXCI6XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG5bcisrXSk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICByZXR1cm4gXCJbQ2lyY3VsYXJdXCI7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGU7XG4gICAgfVxuICB9KSwgYSA9IG5bcl07IHIgPCBpOyBhID0gblsrK3JdKSBOZShhKSB8fCAhWWUoYSkgPyBvICs9IFwiIFwiICsgYSA6IG8gKz0gXCIgXCIgKyBEZShhKTtcblxuICByZXR1cm4gbztcbn1cblxuZnVuY3Rpb24gVGUodCwgcikge1xuICBpZiAoamUoZS5wcm9jZXNzKSkgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gVGUodCwgcikuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfTtcbiAgdmFyIG4gPSAhMTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gbiB8fCAoY29uc29sZS5lcnJvcihyKSwgbiA9ICEwKSwgdC5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICB9O1xufVxuXG52YXIgTWUsXG4gICAgQ2UgPSB7fTtcblxuZnVuY3Rpb24gRGUoZSwgdCkge1xuICB2YXIgciA9IHtcbiAgICBzZWVuOiBbXSxcbiAgICBzdHlsaXplOiBQZVxuICB9O1xuICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA+PSAzICYmIChyLmRlcHRoID0gYXJndW1lbnRzWzJdKSwgYXJndW1lbnRzLmxlbmd0aCA+PSA0ICYmIChyLmNvbG9ycyA9IGFyZ3VtZW50c1szXSksIEZlKHQpID8gci5zaG93SGlkZGVuID0gdCA6IHQgJiYgZnVuY3Rpb24gKGUsIHQpIHtcbiAgICBpZiAoIXQgfHwgIVllKHQpKSByZXR1cm4gZTtcbiAgICB2YXIgciA9IE9iamVjdC5rZXlzKHQpLFxuICAgICAgICBuID0gci5sZW5ndGg7XG5cbiAgICBmb3IgKDsgbi0tOykgZVtyW25dXSA9IHRbcltuXV07XG4gIH0ociwgdCksIGplKHIuc2hvd0hpZGRlbikgJiYgKHIuc2hvd0hpZGRlbiA9ICExKSwgamUoci5kZXB0aCkgJiYgKHIuZGVwdGggPSAyKSwgamUoci5jb2xvcnMpICYmIChyLmNvbG9ycyA9ICExKSwgamUoci5jdXN0b21JbnNwZWN0KSAmJiAoci5jdXN0b21JbnNwZWN0ID0gITApLCByLmNvbG9ycyAmJiAoci5zdHlsaXplID0gSWUpLCBPZShyLCBlLCByLmRlcHRoKTtcbn1cblxuZnVuY3Rpb24gSWUoZSwgdCkge1xuICB2YXIgciA9IERlLnN0eWxlc1t0XTtcbiAgcmV0dXJuIHIgPyBcIlx1MDAxYltcIiArIERlLmNvbG9yc1tyXVswXSArIFwibVwiICsgZSArIFwiXHUwMDFiW1wiICsgRGUuY29sb3JzW3JdWzFdICsgXCJtXCIgOiBlO1xufVxuXG5mdW5jdGlvbiBQZShlLCB0KSB7XG4gIHJldHVybiBlO1xufVxuXG5mdW5jdGlvbiBPZShlLCB0LCByKSB7XG4gIGlmIChlLmN1c3RvbUluc3BlY3QgJiYgdCAmJiBxZSh0Lmluc3BlY3QpICYmIHQuaW5zcGVjdCAhPT0gRGUgJiYgKCF0LmNvbnN0cnVjdG9yIHx8IHQuY29uc3RydWN0b3IucHJvdG90eXBlICE9PSB0KSkge1xuICAgIHZhciBuID0gdC5pbnNwZWN0KHIsIGUpO1xuICAgIHJldHVybiBaZShuKSB8fCAobiA9IE9lKGUsIG4sIHIpKSwgbjtcbiAgfVxuXG4gIHZhciBpID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICBpZiAoamUodCkpIHJldHVybiBlLnN0eWxpemUoXCJ1bmRlZmluZWRcIiwgXCJ1bmRlZmluZWRcIik7XG5cbiAgICBpZiAoWmUodCkpIHtcbiAgICAgIHZhciByID0gXCInXCIgKyBKU09OLnN0cmluZ2lmeSh0KS5yZXBsYWNlKC9eXCJ8XCIkL2csIFwiXCIpLnJlcGxhY2UoLycvZywgXCJcXFxcJ1wiKS5yZXBsYWNlKC9cXFxcXCIvZywgJ1wiJykgKyBcIidcIjtcbiAgICAgIHJldHVybiBlLnN0eWxpemUociwgXCJzdHJpbmdcIik7XG4gICAgfVxuXG4gICAgaWYgKG4gPSB0LCBcIm51bWJlclwiID09IHR5cGVvZiBuKSByZXR1cm4gZS5zdHlsaXplKFwiXCIgKyB0LCBcIm51bWJlclwiKTtcbiAgICB2YXIgbjtcbiAgICBpZiAoRmUodCkpIHJldHVybiBlLnN0eWxpemUoXCJcIiArIHQsIFwiYm9vbGVhblwiKTtcbiAgICBpZiAoTmUodCkpIHJldHVybiBlLnN0eWxpemUoXCJudWxsXCIsIFwibnVsbFwiKTtcbiAgfShlLCB0KTtcblxuICBpZiAoaSkgcmV0dXJuIGk7XG5cbiAgdmFyIG8gPSBPYmplY3Qua2V5cyh0KSxcbiAgICAgIGEgPSBmdW5jdGlvbiAoZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgcmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbiAoZSwgcikge1xuICAgICAgdFtlXSA9ICEwO1xuICAgIH0pLCB0O1xuICB9KG8pO1xuXG4gIGlmIChlLnNob3dIaWRkZW4gJiYgKG8gPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KSksIFhlKHQpICYmIChvLmluZGV4T2YoXCJtZXNzYWdlXCIpID49IDAgfHwgby5pbmRleE9mKFwiZGVzY3JpcHRpb25cIikgPj0gMCkpIHJldHVybiBVZSh0KTtcblxuICBpZiAoMCA9PT0gby5sZW5ndGgpIHtcbiAgICBpZiAocWUodCkpIHtcbiAgICAgIHZhciBzID0gdC5uYW1lID8gXCI6IFwiICsgdC5uYW1lIDogXCJcIjtcbiAgICAgIHJldHVybiBlLnN0eWxpemUoXCJbRnVuY3Rpb25cIiArIHMgKyBcIl1cIiwgXCJzcGVjaWFsXCIpO1xuICAgIH1cblxuICAgIGlmIChXZSh0KSkgcmV0dXJuIGUuc3R5bGl6ZShSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCksIFwicmVnZXhwXCIpO1xuICAgIGlmIChLZSh0KSkgcmV0dXJuIGUuc3R5bGl6ZShEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLCBcImRhdGVcIik7XG4gICAgaWYgKFhlKHQpKSByZXR1cm4gVWUodCk7XG4gIH1cblxuICB2YXIgaCxcbiAgICAgIGwsXG4gICAgICBmID0gXCJcIixcbiAgICAgIGMgPSAhMSxcbiAgICAgIHUgPSBbXCJ7XCIsIFwifVwiXTtcbiAgKGggPSB0LCBBcnJheS5pc0FycmF5KGgpICYmIChjID0gITAsIHUgPSBbXCJbXCIsIFwiXVwiXSksIHFlKHQpKSAmJiAoZiA9IFwiIFtGdW5jdGlvblwiICsgKHQubmFtZSA/IFwiOiBcIiArIHQubmFtZSA6IFwiXCIpICsgXCJdXCIpO1xuICByZXR1cm4gV2UodCkgJiYgKGYgPSBcIiBcIiArIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSksIEtlKHQpICYmIChmID0gXCIgXCIgKyBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZy5jYWxsKHQpKSwgWGUodCkgJiYgKGYgPSBcIiBcIiArIFVlKHQpKSwgMCAhPT0gby5sZW5ndGggfHwgYyAmJiAwICE9IHQubGVuZ3RoID8gciA8IDAgPyBXZSh0KSA/IGUuc3R5bGl6ZShSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCksIFwicmVnZXhwXCIpIDogZS5zdHlsaXplKFwiW09iamVjdF1cIiwgXCJzcGVjaWFsXCIpIDogKGUuc2Vlbi5wdXNoKHQpLCBsID0gYyA/IGZ1bmN0aW9uIChlLCB0LCByLCBuLCBpKSB7XG4gICAgZm9yICh2YXIgbyA9IFtdLCBhID0gMCwgcyA9IHQubGVuZ3RoOyBhIDwgczsgKythKSBHZSh0LCBTdHJpbmcoYSkpID8gby5wdXNoKEhlKGUsIHQsIHIsIG4sIFN0cmluZyhhKSwgITApKSA6IG8ucHVzaChcIlwiKTtcblxuICAgIHJldHVybiBpLmZvckVhY2goZnVuY3Rpb24gKGkpIHtcbiAgICAgIGkubWF0Y2goL15cXGQrJC8pIHx8IG8ucHVzaChIZShlLCB0LCByLCBuLCBpLCAhMCkpO1xuICAgIH0pLCBvO1xuICB9KGUsIHQsIHIsIGEsIG8pIDogby5tYXAoZnVuY3Rpb24gKG4pIHtcbiAgICByZXR1cm4gSGUoZSwgdCwgciwgYSwgbiwgYyk7XG4gIH0pLCBlLnNlZW4ucG9wKCksIGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgaWYgKGUucmVkdWNlKGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICByZXR1cm4gdC5pbmRleE9mKFwiXFxuXCIpLCBlICsgdC5yZXBsYWNlKC9cXHUwMDFiXFxbXFxkXFxkP20vZywgXCJcIikubGVuZ3RoICsgMTtcbiAgICB9LCAwKSA+IDYwKSByZXR1cm4gclswXSArIChcIlwiID09PSB0ID8gXCJcIiA6IHQgKyBcIlxcbiBcIikgKyBcIiBcIiArIGUuam9pbihcIixcXG4gIFwiKSArIFwiIFwiICsgclsxXTtcbiAgICByZXR1cm4gclswXSArIHQgKyBcIiBcIiArIGUuam9pbihcIiwgXCIpICsgXCIgXCIgKyByWzFdO1xuICB9KGwsIGYsIHUpKSA6IHVbMF0gKyBmICsgdVsxXTtcbn1cblxuZnVuY3Rpb24gVWUoZSkge1xuICByZXR1cm4gXCJbXCIgKyBFcnJvci5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKSArIFwiXVwiO1xufVxuXG5mdW5jdGlvbiBIZShlLCB0LCByLCBuLCBpLCBvKSB7XG4gIHZhciBhLCBzLCBoO1xuXG4gIGlmICgoaCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCwgaSkgfHwge1xuICAgIHZhbHVlOiB0W2ldXG4gIH0pLmdldCA/IHMgPSBoLnNldCA/IGUuc3R5bGl6ZShcIltHZXR0ZXIvU2V0dGVyXVwiLCBcInNwZWNpYWxcIikgOiBlLnN0eWxpemUoXCJbR2V0dGVyXVwiLCBcInNwZWNpYWxcIikgOiBoLnNldCAmJiAocyA9IGUuc3R5bGl6ZShcIltTZXR0ZXJdXCIsIFwic3BlY2lhbFwiKSksIEdlKG4sIGkpIHx8IChhID0gXCJbXCIgKyBpICsgXCJdXCIpLCBzIHx8IChlLnNlZW4uaW5kZXhPZihoLnZhbHVlKSA8IDAgPyAocyA9IE5lKHIpID8gT2UoZSwgaC52YWx1ZSwgbnVsbCkgOiBPZShlLCBoLnZhbHVlLCByIC0gMSkpLmluZGV4T2YoXCJcXG5cIikgPiAtMSAmJiAocyA9IG8gPyBzLnNwbGl0KFwiXFxuXCIpLm1hcChmdW5jdGlvbiAoZSkge1xuICAgIHJldHVybiBcIiAgXCIgKyBlO1xuICB9KS5qb2luKFwiXFxuXCIpLnN1YnN0cigyKSA6IFwiXFxuXCIgKyBzLnNwbGl0KFwiXFxuXCIpLm1hcChmdW5jdGlvbiAoZSkge1xuICAgIHJldHVybiBcIiAgIFwiICsgZTtcbiAgfSkuam9pbihcIlxcblwiKSkgOiBzID0gZS5zdHlsaXplKFwiW0NpcmN1bGFyXVwiLCBcInNwZWNpYWxcIikpLCBqZShhKSkge1xuICAgIGlmIChvICYmIGkubWF0Y2goL15cXGQrJC8pKSByZXR1cm4gcztcbiAgICAoYSA9IEpTT04uc3RyaW5naWZ5KFwiXCIgKyBpKSkubWF0Y2goL15cIihbYS16QS1aX11bYS16QS1aXzAtOV0qKVwiJC8pID8gKGEgPSBhLnN1YnN0cigxLCBhLmxlbmd0aCAtIDIpLCBhID0gZS5zdHlsaXplKGEsIFwibmFtZVwiKSkgOiAoYSA9IGEucmVwbGFjZSgvJy9nLCBcIlxcXFwnXCIpLnJlcGxhY2UoL1xcXFxcIi9nLCAnXCInKS5yZXBsYWNlKC8oXlwifFwiJCkvZywgXCInXCIpLCBhID0gZS5zdHlsaXplKGEsIFwic3RyaW5nXCIpKTtcbiAgfVxuXG4gIHJldHVybiBhICsgXCI6IFwiICsgcztcbn1cblxuZnVuY3Rpb24gRmUoZSkge1xuICByZXR1cm4gXCJib29sZWFuXCIgPT0gdHlwZW9mIGU7XG59XG5cbmZ1bmN0aW9uIE5lKGUpIHtcbiAgcmV0dXJuIG51bGwgPT09IGU7XG59XG5cbmZ1bmN0aW9uIFplKGUpIHtcbiAgcmV0dXJuIFwic3RyaW5nXCIgPT0gdHlwZW9mIGU7XG59XG5cbmZ1bmN0aW9uIGplKGUpIHtcbiAgcmV0dXJuIHZvaWQgMCA9PT0gZTtcbn1cblxuZnVuY3Rpb24gV2UoZSkge1xuICByZXR1cm4gWWUoZSkgJiYgXCJbb2JqZWN0IFJlZ0V4cF1cIiA9PT0gVmUoZSk7XG59XG5cbmZ1bmN0aW9uIFllKGUpIHtcbiAgcmV0dXJuIFwib2JqZWN0XCIgPT0gdHlwZW9mIGUgJiYgbnVsbCAhPT0gZTtcbn1cblxuZnVuY3Rpb24gS2UoZSkge1xuICByZXR1cm4gWWUoZSkgJiYgXCJbb2JqZWN0IERhdGVdXCIgPT09IFZlKGUpO1xufVxuXG5mdW5jdGlvbiBYZShlKSB7XG4gIHJldHVybiBZZShlKSAmJiAoXCJbb2JqZWN0IEVycm9yXVwiID09PSBWZShlKSB8fCBlIGluc3RhbmNlb2YgRXJyb3IpO1xufVxuXG5mdW5jdGlvbiBxZShlKSB7XG4gIHJldHVybiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIGU7XG59XG5cbmZ1bmN0aW9uIFZlKGUpIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKTtcbn1cblxuZnVuY3Rpb24gR2UoZSwgdCkge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsIHQpO1xufVxuXG5mdW5jdGlvbiAkZSgpIHtcbiAgdGhpcy5oZWFkID0gbnVsbCwgdGhpcy50YWlsID0gbnVsbCwgdGhpcy5sZW5ndGggPSAwO1xufVxuXG5EZS5jb2xvcnMgPSB7XG4gIGJvbGQ6IFsxLCAyMl0sXG4gIGl0YWxpYzogWzMsIDIzXSxcbiAgdW5kZXJsaW5lOiBbNCwgMjRdLFxuICBpbnZlcnNlOiBbNywgMjddLFxuICB3aGl0ZTogWzM3LCAzOV0sXG4gIGdyZXk6IFs5MCwgMzldLFxuICBibGFjazogWzMwLCAzOV0sXG4gIGJsdWU6IFszNCwgMzldLFxuICBjeWFuOiBbMzYsIDM5XSxcbiAgZ3JlZW46IFszMiwgMzldLFxuICBtYWdlbnRhOiBbMzUsIDM5XSxcbiAgcmVkOiBbMzEsIDM5XSxcbiAgeWVsbG93OiBbMzMsIDM5XVxufSwgRGUuc3R5bGVzID0ge1xuICBzcGVjaWFsOiBcImN5YW5cIixcbiAgbnVtYmVyOiBcInllbGxvd1wiLFxuICBib29sZWFuOiBcInllbGxvd1wiLFxuICB1bmRlZmluZWQ6IFwiZ3JleVwiLFxuICBudWxsOiBcImJvbGRcIixcbiAgc3RyaW5nOiBcImdyZWVuXCIsXG4gIGRhdGU6IFwibWFnZW50YVwiLFxuICByZWdleHA6IFwicmVkXCJcbn0sICRlLnByb3RvdHlwZS5wdXNoID0gZnVuY3Rpb24gKGUpIHtcbiAgdmFyIHQgPSB7XG4gICAgZGF0YTogZSxcbiAgICBuZXh0OiBudWxsXG4gIH07XG4gIHRoaXMubGVuZ3RoID4gMCA/IHRoaXMudGFpbC5uZXh0ID0gdCA6IHRoaXMuaGVhZCA9IHQsIHRoaXMudGFpbCA9IHQsICsrdGhpcy5sZW5ndGg7XG59LCAkZS5wcm90b3R5cGUudW5zaGlmdCA9IGZ1bmN0aW9uIChlKSB7XG4gIHZhciB0ID0ge1xuICAgIGRhdGE6IGUsXG4gICAgbmV4dDogdGhpcy5oZWFkXG4gIH07XG4gIDAgPT09IHRoaXMubGVuZ3RoICYmICh0aGlzLnRhaWwgPSB0KSwgdGhpcy5oZWFkID0gdCwgKyt0aGlzLmxlbmd0aDtcbn0sICRlLnByb3RvdHlwZS5zaGlmdCA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKDAgIT09IHRoaXMubGVuZ3RoKSB7XG4gICAgdmFyIGUgPSB0aGlzLmhlYWQuZGF0YTtcbiAgICByZXR1cm4gMSA9PT0gdGhpcy5sZW5ndGggPyB0aGlzLmhlYWQgPSB0aGlzLnRhaWwgPSBudWxsIDogdGhpcy5oZWFkID0gdGhpcy5oZWFkLm5leHQsIC0tdGhpcy5sZW5ndGgsIGU7XG4gIH1cbn0sICRlLnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5oZWFkID0gdGhpcy50YWlsID0gbnVsbCwgdGhpcy5sZW5ndGggPSAwO1xufSwgJGUucHJvdG90eXBlLmpvaW4gPSBmdW5jdGlvbiAoZSkge1xuICBpZiAoMCA9PT0gdGhpcy5sZW5ndGgpIHJldHVybiBcIlwiO1xuXG4gIGZvciAodmFyIHQgPSB0aGlzLmhlYWQsIHIgPSBcIlwiICsgdC5kYXRhOyB0ID0gdC5uZXh0OykgciArPSBlICsgdC5kYXRhO1xuXG4gIHJldHVybiByO1xufSwgJGUucHJvdG90eXBlLmNvbmNhdCA9IGZ1bmN0aW9uIChlKSB7XG4gIGlmICgwID09PSB0aGlzLmxlbmd0aCkgcmV0dXJuIHAuYWxsb2MoMCk7XG4gIGlmICgxID09PSB0aGlzLmxlbmd0aCkgcmV0dXJuIHRoaXMuaGVhZC5kYXRhO1xuXG4gIGZvciAodmFyIHQgPSBwLmFsbG9jVW5zYWZlKGUgPj4+IDApLCByID0gdGhpcy5oZWFkLCBuID0gMDsgcjspIHIuZGF0YS5jb3B5KHQsIG4pLCBuICs9IHIuZGF0YS5sZW5ndGgsIHIgPSByLm5leHQ7XG5cbiAgcmV0dXJuIHQ7XG59O1xuXG52YXIgSmUgPSBwLmlzRW5jb2RpbmcgfHwgZnVuY3Rpb24gKGUpIHtcbiAgc3dpdGNoIChlICYmIGUudG9Mb3dlckNhc2UoKSkge1xuICAgIGNhc2UgXCJoZXhcIjpcbiAgICBjYXNlIFwidXRmOFwiOlxuICAgIGNhc2UgXCJ1dGYtOFwiOlxuICAgIGNhc2UgXCJhc2NpaVwiOlxuICAgIGNhc2UgXCJiaW5hcnlcIjpcbiAgICBjYXNlIFwiYmFzZTY0XCI6XG4gICAgY2FzZSBcInVjczJcIjpcbiAgICBjYXNlIFwidWNzLTJcIjpcbiAgICBjYXNlIFwidXRmMTZsZVwiOlxuICAgIGNhc2UgXCJ1dGYtMTZsZVwiOlxuICAgIGNhc2UgXCJyYXdcIjpcbiAgICAgIHJldHVybiAhMDtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gITE7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIFFlKGUpIHtcbiAgc3dpdGNoICh0aGlzLmVuY29kaW5nID0gKGUgfHwgXCJ1dGY4XCIpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvWy1fXS8sIFwiXCIpLCBmdW5jdGlvbiAoZSkge1xuICAgIGlmIChlICYmICFKZShlKSkgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBlbmNvZGluZzogXCIgKyBlKTtcbiAgfShlKSwgdGhpcy5lbmNvZGluZykge1xuICAgIGNhc2UgXCJ1dGY4XCI6XG4gICAgICB0aGlzLnN1cnJvZ2F0ZVNpemUgPSAzO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFwidWNzMlwiOlxuICAgIGNhc2UgXCJ1dGYxNmxlXCI6XG4gICAgICB0aGlzLnN1cnJvZ2F0ZVNpemUgPSAyLCB0aGlzLmRldGVjdEluY29tcGxldGVDaGFyID0gdHQ7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgXCJiYXNlNjRcIjpcbiAgICAgIHRoaXMuc3Vycm9nYXRlU2l6ZSA9IDMsIHRoaXMuZGV0ZWN0SW5jb21wbGV0ZUNoYXIgPSBydDtcbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB2b2lkICh0aGlzLndyaXRlID0gZXQpO1xuICB9XG5cbiAgdGhpcy5jaGFyQnVmZmVyID0gbmV3IHAoNiksIHRoaXMuY2hhclJlY2VpdmVkID0gMCwgdGhpcy5jaGFyTGVuZ3RoID0gMDtcbn1cblxuZnVuY3Rpb24gZXQoZSkge1xuICByZXR1cm4gZS50b1N0cmluZyh0aGlzLmVuY29kaW5nKTtcbn1cblxuZnVuY3Rpb24gdHQoZSkge1xuICB0aGlzLmNoYXJSZWNlaXZlZCA9IGUubGVuZ3RoICUgMiwgdGhpcy5jaGFyTGVuZ3RoID0gdGhpcy5jaGFyUmVjZWl2ZWQgPyAyIDogMDtcbn1cblxuZnVuY3Rpb24gcnQoZSkge1xuICB0aGlzLmNoYXJSZWNlaXZlZCA9IGUubGVuZ3RoICUgMywgdGhpcy5jaGFyTGVuZ3RoID0gdGhpcy5jaGFyUmVjZWl2ZWQgPyAzIDogMDtcbn1cblxuUWUucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKGUpIHtcbiAgZm9yICh2YXIgdCA9IFwiXCI7IHRoaXMuY2hhckxlbmd0aDspIHtcbiAgICB2YXIgciA9IGUubGVuZ3RoID49IHRoaXMuY2hhckxlbmd0aCAtIHRoaXMuY2hhclJlY2VpdmVkID8gdGhpcy5jaGFyTGVuZ3RoIC0gdGhpcy5jaGFyUmVjZWl2ZWQgOiBlLmxlbmd0aDtcbiAgICBpZiAoZS5jb3B5KHRoaXMuY2hhckJ1ZmZlciwgdGhpcy5jaGFyUmVjZWl2ZWQsIDAsIHIpLCB0aGlzLmNoYXJSZWNlaXZlZCArPSByLCB0aGlzLmNoYXJSZWNlaXZlZCA8IHRoaXMuY2hhckxlbmd0aCkgcmV0dXJuIFwiXCI7XG5cbiAgICBpZiAoZSA9IGUuc2xpY2UociwgZS5sZW5ndGgpLCAhKChpID0gKHQgPSB0aGlzLmNoYXJCdWZmZXIuc2xpY2UoMCwgdGhpcy5jaGFyTGVuZ3RoKS50b1N0cmluZyh0aGlzLmVuY29kaW5nKSkuY2hhckNvZGVBdCh0Lmxlbmd0aCAtIDEpKSA+PSA1NTI5NiAmJiBpIDw9IDU2MzE5KSkge1xuICAgICAgaWYgKHRoaXMuY2hhclJlY2VpdmVkID0gdGhpcy5jaGFyTGVuZ3RoID0gMCwgMCA9PT0gZS5sZW5ndGgpIHJldHVybiB0O1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdGhpcy5jaGFyTGVuZ3RoICs9IHRoaXMuc3Vycm9nYXRlU2l6ZSwgdCA9IFwiXCI7XG4gIH1cblxuICB0aGlzLmRldGVjdEluY29tcGxldGVDaGFyKGUpO1xuICB2YXIgbiA9IGUubGVuZ3RoO1xuICB0aGlzLmNoYXJMZW5ndGggJiYgKGUuY29weSh0aGlzLmNoYXJCdWZmZXIsIDAsIGUubGVuZ3RoIC0gdGhpcy5jaGFyUmVjZWl2ZWQsIG4pLCBuIC09IHRoaXMuY2hhclJlY2VpdmVkKTtcbiAgdmFyIGk7XG4gIG4gPSAodCArPSBlLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsIDAsIG4pKS5sZW5ndGggLSAxO1xuXG4gIGlmICgoaSA9IHQuY2hhckNvZGVBdChuKSkgPj0gNTUyOTYgJiYgaSA8PSA1NjMxOSkge1xuICAgIHZhciBvID0gdGhpcy5zdXJyb2dhdGVTaXplO1xuICAgIHJldHVybiB0aGlzLmNoYXJMZW5ndGggKz0gbywgdGhpcy5jaGFyUmVjZWl2ZWQgKz0gbywgdGhpcy5jaGFyQnVmZmVyLmNvcHkodGhpcy5jaGFyQnVmZmVyLCBvLCAwLCBvKSwgZS5jb3B5KHRoaXMuY2hhckJ1ZmZlciwgMCwgMCwgbyksIHQuc3Vic3RyaW5nKDAsIG4pO1xuICB9XG5cbiAgcmV0dXJuIHQ7XG59LCBRZS5wcm90b3R5cGUuZGV0ZWN0SW5jb21wbGV0ZUNoYXIgPSBmdW5jdGlvbiAoZSkge1xuICBmb3IgKHZhciB0ID0gZS5sZW5ndGggPj0gMyA/IDMgOiBlLmxlbmd0aDsgdCA+IDA7IHQtLSkge1xuICAgIHZhciByID0gZVtlLmxlbmd0aCAtIHRdO1xuXG4gICAgaWYgKDEgPT0gdCAmJiByID4+IDUgPT0gNikge1xuICAgICAgdGhpcy5jaGFyTGVuZ3RoID0gMjtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmICh0IDw9IDIgJiYgciA+PiA0ID09IDE0KSB7XG4gICAgICB0aGlzLmNoYXJMZW5ndGggPSAzO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKHQgPD0gMyAmJiByID4+IDMgPT0gMzApIHtcbiAgICAgIHRoaXMuY2hhckxlbmd0aCA9IDQ7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICB0aGlzLmNoYXJSZWNlaXZlZCA9IHQ7XG59LCBRZS5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24gKGUpIHtcbiAgdmFyIHQgPSBcIlwiO1xuXG4gIGlmIChlICYmIGUubGVuZ3RoICYmICh0ID0gdGhpcy53cml0ZShlKSksIHRoaXMuY2hhclJlY2VpdmVkKSB7XG4gICAgdmFyIHIgPSB0aGlzLmNoYXJSZWNlaXZlZCxcbiAgICAgICAgbiA9IHRoaXMuY2hhckJ1ZmZlcixcbiAgICAgICAgaSA9IHRoaXMuZW5jb2Rpbmc7XG4gICAgdCArPSBuLnNsaWNlKDAsIHIpLnRvU3RyaW5nKGkpO1xuICB9XG5cbiAgcmV0dXJuIHQ7XG59LCBvdC5SZWFkYWJsZVN0YXRlID0gaXQ7XG5cbnZhciBudCA9IGZ1bmN0aW9uIChlKSB7XG4gIGplKE1lKSAmJiAoTWUgPSBcIlwiKSwgZSA9IGUudG9VcHBlckNhc2UoKSwgQ2VbZV0gfHwgKG5ldyBSZWdFeHAoXCJcXFxcYlwiICsgZSArIFwiXFxcXGJcIiwgXCJpXCIpLnRlc3QoTWUpID8gQ2VbZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHQgPSBMZS5hcHBseShudWxsLCBhcmd1bWVudHMpO1xuICAgIGNvbnNvbGUuZXJyb3IoXCIlcyAlZDogJXNcIiwgZSwgMCwgdCk7XG4gIH0gOiBDZVtlXSA9IGZ1bmN0aW9uICgpIHt9KTtcbiAgcmV0dXJuIENlW2VdO1xufShcInN0cmVhbVwiKTtcblxuZnVuY3Rpb24gaXQoZSwgdCkge1xuICBlID0gZSB8fCB7fSwgdGhpcy5vYmplY3RNb2RlID0gISFlLm9iamVjdE1vZGUsIHQgaW5zdGFuY2VvZiBDdCAmJiAodGhpcy5vYmplY3RNb2RlID0gdGhpcy5vYmplY3RNb2RlIHx8ICEhZS5yZWFkYWJsZU9iamVjdE1vZGUpO1xuICB2YXIgciA9IGUuaGlnaFdhdGVyTWFyayxcbiAgICAgIG4gPSB0aGlzLm9iamVjdE1vZGUgPyAxNiA6IDE2Mzg0O1xuICB0aGlzLmhpZ2hXYXRlck1hcmsgPSByIHx8IDAgPT09IHIgPyByIDogbiwgdGhpcy5oaWdoV2F0ZXJNYXJrID0gfn50aGlzLmhpZ2hXYXRlck1hcmssIHRoaXMuYnVmZmVyID0gbmV3ICRlKCksIHRoaXMubGVuZ3RoID0gMCwgdGhpcy5waXBlcyA9IG51bGwsIHRoaXMucGlwZXNDb3VudCA9IDAsIHRoaXMuZmxvd2luZyA9IG51bGwsIHRoaXMuZW5kZWQgPSAhMSwgdGhpcy5lbmRFbWl0dGVkID0gITEsIHRoaXMucmVhZGluZyA9ICExLCB0aGlzLnN5bmMgPSAhMCwgdGhpcy5uZWVkUmVhZGFibGUgPSAhMSwgdGhpcy5lbWl0dGVkUmVhZGFibGUgPSAhMSwgdGhpcy5yZWFkYWJsZUxpc3RlbmluZyA9ICExLCB0aGlzLnJlc3VtZVNjaGVkdWxlZCA9ICExLCB0aGlzLmRlZmF1bHRFbmNvZGluZyA9IGUuZGVmYXVsdEVuY29kaW5nIHx8IFwidXRmOFwiLCB0aGlzLnJhbk91dCA9ICExLCB0aGlzLmF3YWl0RHJhaW4gPSAwLCB0aGlzLnJlYWRpbmdNb3JlID0gITEsIHRoaXMuZGVjb2RlciA9IG51bGwsIHRoaXMuZW5jb2RpbmcgPSBudWxsLCBlLmVuY29kaW5nICYmICh0aGlzLmRlY29kZXIgPSBuZXcgUWUoZS5lbmNvZGluZyksIHRoaXMuZW5jb2RpbmcgPSBlLmVuY29kaW5nKTtcbn1cblxuZnVuY3Rpb24gb3QoZSkge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2Ygb3QpKSByZXR1cm4gbmV3IG90KGUpO1xuICB0aGlzLl9yZWFkYWJsZVN0YXRlID0gbmV3IGl0KGUsIHRoaXMpLCB0aGlzLnJlYWRhYmxlID0gITAsIGUgJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBlLnJlYWQgJiYgKHRoaXMuX3JlYWQgPSBlLnJlYWQpLCB2ZS5jYWxsKHRoaXMpO1xufVxuXG5mdW5jdGlvbiBhdChlLCB0LCByLCBuLCBpKSB7XG4gIHZhciBvID0gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICB2YXIgciA9IG51bGw7XG4gICAgJCh0KSB8fCBcInN0cmluZ1wiID09IHR5cGVvZiB0IHx8IG51bGwgPT0gdCB8fCBlLm9iamVjdE1vZGUgfHwgKHIgPSBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBub24tc3RyaW5nL2J1ZmZlciBjaHVua1wiKSk7XG4gICAgcmV0dXJuIHI7XG4gIH0odCwgcik7XG5cbiAgaWYgKG8pIGUuZW1pdChcImVycm9yXCIsIG8pO2Vsc2UgaWYgKG51bGwgPT09IHIpIHQucmVhZGluZyA9ICExLCBmdW5jdGlvbiAoZSwgdCkge1xuICAgIGlmICh0LmVuZGVkKSByZXR1cm47XG5cbiAgICBpZiAodC5kZWNvZGVyKSB7XG4gICAgICB2YXIgciA9IHQuZGVjb2Rlci5lbmQoKTtcbiAgICAgIHIgJiYgci5sZW5ndGggJiYgKHQuYnVmZmVyLnB1c2gociksIHQubGVuZ3RoICs9IHQub2JqZWN0TW9kZSA/IDEgOiByLmxlbmd0aCk7XG4gICAgfVxuXG4gICAgdC5lbmRlZCA9ICEwLCBsdChlKTtcbiAgfShlLCB0KTtlbHNlIGlmICh0Lm9iamVjdE1vZGUgfHwgciAmJiByLmxlbmd0aCA+IDApIHtcbiAgICBpZiAodC5lbmRlZCAmJiAhaSkge1xuICAgICAgdmFyIGEgPSBuZXcgRXJyb3IoXCJzdHJlYW0ucHVzaCgpIGFmdGVyIEVPRlwiKTtcbiAgICAgIGUuZW1pdChcImVycm9yXCIsIGEpO1xuICAgIH0gZWxzZSBpZiAodC5lbmRFbWl0dGVkICYmIGkpIHtcbiAgICAgIHZhciBzID0gbmV3IEVycm9yKFwic3RyZWFtLnVuc2hpZnQoKSBhZnRlciBlbmQgZXZlbnRcIik7XG4gICAgICBlLmVtaXQoXCJlcnJvclwiLCBzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGg7XG4gICAgICAhdC5kZWNvZGVyIHx8IGkgfHwgbiB8fCAociA9IHQuZGVjb2Rlci53cml0ZShyKSwgaCA9ICF0Lm9iamVjdE1vZGUgJiYgMCA9PT0gci5sZW5ndGgpLCBpIHx8ICh0LnJlYWRpbmcgPSAhMSksIGggfHwgKHQuZmxvd2luZyAmJiAwID09PSB0Lmxlbmd0aCAmJiAhdC5zeW5jID8gKGUuZW1pdChcImRhdGFcIiwgciksIGUucmVhZCgwKSkgOiAodC5sZW5ndGggKz0gdC5vYmplY3RNb2RlID8gMSA6IHIubGVuZ3RoLCBpID8gdC5idWZmZXIudW5zaGlmdChyKSA6IHQuYnVmZmVyLnB1c2gociksIHQubmVlZFJlYWRhYmxlICYmIGx0KGUpKSksIGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICAgIHQucmVhZGluZ01vcmUgfHwgKHQucmVhZGluZ01vcmUgPSAhMCwgZGUoY3QsIGUsIHQpKTtcbiAgICAgIH0oZSwgdCk7XG4gICAgfVxuICB9IGVsc2UgaSB8fCAodC5yZWFkaW5nID0gITEpO1xuICByZXR1cm4gZnVuY3Rpb24gKGUpIHtcbiAgICByZXR1cm4gIWUuZW5kZWQgJiYgKGUubmVlZFJlYWRhYmxlIHx8IGUubGVuZ3RoIDwgZS5oaWdoV2F0ZXJNYXJrIHx8IDAgPT09IGUubGVuZ3RoKTtcbiAgfSh0KTtcbn1cblxuQmUob3QsIHZlKSwgb3QucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgciA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XG4gIHJldHVybiByLm9iamVjdE1vZGUgfHwgXCJzdHJpbmdcIiAhPSB0eXBlb2YgZSB8fCAodCA9IHQgfHwgci5kZWZhdWx0RW5jb2RpbmcpICE9PSByLmVuY29kaW5nICYmIChlID0gcC5mcm9tKGUsIHQpLCB0ID0gXCJcIiksIGF0KHRoaXMsIHIsIGUsIHQsICExKTtcbn0sIG90LnByb3RvdHlwZS51bnNoaWZ0ID0gZnVuY3Rpb24gKGUpIHtcbiAgcmV0dXJuIGF0KHRoaXMsIHRoaXMuX3JlYWRhYmxlU3RhdGUsIGUsIFwiXCIsICEwKTtcbn0sIG90LnByb3RvdHlwZS5pc1BhdXNlZCA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuICExID09PSB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmc7XG59LCBvdC5wcm90b3R5cGUuc2V0RW5jb2RpbmcgPSBmdW5jdGlvbiAoZSkge1xuICByZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyID0gbmV3IFFlKGUpLCB0aGlzLl9yZWFkYWJsZVN0YXRlLmVuY29kaW5nID0gZSwgdGhpcztcbn07XG52YXIgc3QgPSA4Mzg4NjA4O1xuXG5mdW5jdGlvbiBodChlLCB0KSB7XG4gIHJldHVybiBlIDw9IDAgfHwgMCA9PT0gdC5sZW5ndGggJiYgdC5lbmRlZCA/IDAgOiB0Lm9iamVjdE1vZGUgPyAxIDogZSAhPSBlID8gdC5mbG93aW5nICYmIHQubGVuZ3RoID8gdC5idWZmZXIuaGVhZC5kYXRhLmxlbmd0aCA6IHQubGVuZ3RoIDogKGUgPiB0LmhpZ2hXYXRlck1hcmsgJiYgKHQuaGlnaFdhdGVyTWFyayA9IGZ1bmN0aW9uIChlKSB7XG4gICAgcmV0dXJuIGUgPj0gc3QgPyBlID0gc3QgOiAoZS0tLCBlIHw9IGUgPj4+IDEsIGUgfD0gZSA+Pj4gMiwgZSB8PSBlID4+PiA0LCBlIHw9IGUgPj4+IDgsIGUgfD0gZSA+Pj4gMTYsIGUrKyksIGU7XG4gIH0oZSkpLCBlIDw9IHQubGVuZ3RoID8gZSA6IHQuZW5kZWQgPyB0Lmxlbmd0aCA6ICh0Lm5lZWRSZWFkYWJsZSA9ICEwLCAwKSk7XG59XG5cbmZ1bmN0aW9uIGx0KGUpIHtcbiAgdmFyIHQgPSBlLl9yZWFkYWJsZVN0YXRlO1xuICB0Lm5lZWRSZWFkYWJsZSA9ICExLCB0LmVtaXR0ZWRSZWFkYWJsZSB8fCAobnQoXCJlbWl0UmVhZGFibGVcIiwgdC5mbG93aW5nKSwgdC5lbWl0dGVkUmVhZGFibGUgPSAhMCwgdC5zeW5jID8gZGUoZnQsIGUpIDogZnQoZSkpO1xufVxuXG5mdW5jdGlvbiBmdChlKSB7XG4gIG50KFwiZW1pdCByZWFkYWJsZVwiKSwgZS5lbWl0KFwicmVhZGFibGVcIiksIHB0KGUpO1xufVxuXG5mdW5jdGlvbiBjdChlLCB0KSB7XG4gIGZvciAodmFyIHIgPSB0Lmxlbmd0aDsgIXQucmVhZGluZyAmJiAhdC5mbG93aW5nICYmICF0LmVuZGVkICYmIHQubGVuZ3RoIDwgdC5oaWdoV2F0ZXJNYXJrICYmIChudChcIm1heWJlUmVhZE1vcmUgcmVhZCAwXCIpLCBlLnJlYWQoMCksIHIgIT09IHQubGVuZ3RoKTspIHIgPSB0Lmxlbmd0aDtcblxuICB0LnJlYWRpbmdNb3JlID0gITE7XG59XG5cbmZ1bmN0aW9uIHV0KGUpIHtcbiAgbnQoXCJyZWFkYWJsZSBuZXh0dGljayByZWFkIDBcIiksIGUucmVhZCgwKTtcbn1cblxuZnVuY3Rpb24gZHQoZSwgdCkge1xuICB0LnJlYWRpbmcgfHwgKG50KFwicmVzdW1lIHJlYWQgMFwiKSwgZS5yZWFkKDApKSwgdC5yZXN1bWVTY2hlZHVsZWQgPSAhMSwgdC5hd2FpdERyYWluID0gMCwgZS5lbWl0KFwicmVzdW1lXCIpLCBwdChlKSwgdC5mbG93aW5nICYmICF0LnJlYWRpbmcgJiYgZS5yZWFkKDApO1xufVxuXG5mdW5jdGlvbiBwdChlKSB7XG4gIHZhciB0ID0gZS5fcmVhZGFibGVTdGF0ZTtcblxuICBmb3IgKG50KFwiZmxvd1wiLCB0LmZsb3dpbmcpOyB0LmZsb3dpbmcgJiYgbnVsbCAhPT0gZS5yZWFkKCk7KTtcbn1cblxuZnVuY3Rpb24gX3QoZSwgdCkge1xuICByZXR1cm4gMCA9PT0gdC5sZW5ndGggPyBudWxsIDogKHQub2JqZWN0TW9kZSA/IHIgPSB0LmJ1ZmZlci5zaGlmdCgpIDogIWUgfHwgZSA+PSB0Lmxlbmd0aCA/IChyID0gdC5kZWNvZGVyID8gdC5idWZmZXIuam9pbihcIlwiKSA6IDEgPT09IHQuYnVmZmVyLmxlbmd0aCA/IHQuYnVmZmVyLmhlYWQuZGF0YSA6IHQuYnVmZmVyLmNvbmNhdCh0Lmxlbmd0aCksIHQuYnVmZmVyLmNsZWFyKCkpIDogciA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgdmFyIG47XG4gICAgZSA8IHQuaGVhZC5kYXRhLmxlbmd0aCA/IChuID0gdC5oZWFkLmRhdGEuc2xpY2UoMCwgZSksIHQuaGVhZC5kYXRhID0gdC5oZWFkLmRhdGEuc2xpY2UoZSkpIDogbiA9IGUgPT09IHQuaGVhZC5kYXRhLmxlbmd0aCA/IHQuc2hpZnQoKSA6IHIgPyBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgdmFyIHIgPSB0LmhlYWQsXG4gICAgICAgICAgbiA9IDEsXG4gICAgICAgICAgaSA9IHIuZGF0YTtcbiAgICAgIGUgLT0gaS5sZW5ndGg7XG5cbiAgICAgIGZvciAoOyByID0gci5uZXh0Oykge1xuICAgICAgICB2YXIgbyA9IHIuZGF0YSxcbiAgICAgICAgICAgIGEgPSBlID4gby5sZW5ndGggPyBvLmxlbmd0aCA6IGU7XG5cbiAgICAgICAgaWYgKGEgPT09IG8ubGVuZ3RoID8gaSArPSBvIDogaSArPSBvLnNsaWNlKDAsIGUpLCAwID09PSAoZSAtPSBhKSkge1xuICAgICAgICAgIGEgPT09IG8ubGVuZ3RoID8gKCsrbiwgci5uZXh0ID8gdC5oZWFkID0gci5uZXh0IDogdC5oZWFkID0gdC50YWlsID0gbnVsbCkgOiAodC5oZWFkID0gciwgci5kYXRhID0gby5zbGljZShhKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICArK247XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0Lmxlbmd0aCAtPSBuLCBpO1xuICAgIH0oZSwgdCkgOiBmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgdmFyIHIgPSBwLmFsbG9jVW5zYWZlKGUpLFxuICAgICAgICAgIG4gPSB0LmhlYWQsXG4gICAgICAgICAgaSA9IDE7XG4gICAgICBuLmRhdGEuY29weShyKSwgZSAtPSBuLmRhdGEubGVuZ3RoO1xuXG4gICAgICBmb3IgKDsgbiA9IG4ubmV4dDspIHtcbiAgICAgICAgdmFyIG8gPSBuLmRhdGEsXG4gICAgICAgICAgICBhID0gZSA+IG8ubGVuZ3RoID8gby5sZW5ndGggOiBlO1xuXG4gICAgICAgIGlmIChvLmNvcHkociwgci5sZW5ndGggLSBlLCAwLCBhKSwgMCA9PT0gKGUgLT0gYSkpIHtcbiAgICAgICAgICBhID09PSBvLmxlbmd0aCA/ICgrK2ksIG4ubmV4dCA/IHQuaGVhZCA9IG4ubmV4dCA6IHQuaGVhZCA9IHQudGFpbCA9IG51bGwpIDogKHQuaGVhZCA9IG4sIG4uZGF0YSA9IG8uc2xpY2UoYSkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgKytpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdC5sZW5ndGggLT0gaSwgcjtcbiAgICB9KGUsIHQpO1xuICAgIHJldHVybiBuO1xuICB9KGUsIHQuYnVmZmVyLCB0LmRlY29kZXIpLCByKTtcbiAgdmFyIHI7XG59XG5cbmZ1bmN0aW9uIGd0KGUpIHtcbiAgdmFyIHQgPSBlLl9yZWFkYWJsZVN0YXRlO1xuICBpZiAodC5sZW5ndGggPiAwKSB0aHJvdyBuZXcgRXJyb3IoJ1wiZW5kUmVhZGFibGUoKVwiIGNhbGxlZCBvbiBub24tZW1wdHkgc3RyZWFtJyk7XG4gIHQuZW5kRW1pdHRlZCB8fCAodC5lbmRlZCA9ICEwLCBkZSh2dCwgdCwgZSkpO1xufVxuXG5mdW5jdGlvbiB2dChlLCB0KSB7XG4gIGUuZW5kRW1pdHRlZCB8fCAwICE9PSBlLmxlbmd0aCB8fCAoZS5lbmRFbWl0dGVkID0gITAsIHQucmVhZGFibGUgPSAhMSwgdC5lbWl0KFwiZW5kXCIpKTtcbn1cblxuZnVuY3Rpb24gd3QoZSwgdCkge1xuICBmb3IgKHZhciByID0gMCwgbiA9IGUubGVuZ3RoOyByIDwgbjsgcisrKSBpZiAoZVtyXSA9PT0gdCkgcmV0dXJuIHI7XG5cbiAgcmV0dXJuIC0xO1xufVxuXG5mdW5jdGlvbiBidCgpIHt9XG5cbmZ1bmN0aW9uIHl0KGUsIHQsIHIpIHtcbiAgdGhpcy5jaHVuayA9IGUsIHRoaXMuZW5jb2RpbmcgPSB0LCB0aGlzLmNhbGxiYWNrID0gciwgdGhpcy5uZXh0ID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gbXQoZSwgdCkge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJidWZmZXJcIiwge1xuICAgIGdldDogVGUoZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0QnVmZmVyKCk7XG4gICAgfSwgXCJfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciBpbnN0ZWFkLlwiKVxuICB9KSwgZSA9IGUgfHwge30sIHRoaXMub2JqZWN0TW9kZSA9ICEhZS5vYmplY3RNb2RlLCB0IGluc3RhbmNlb2YgQ3QgJiYgKHRoaXMub2JqZWN0TW9kZSA9IHRoaXMub2JqZWN0TW9kZSB8fCAhIWUud3JpdGFibGVPYmplY3RNb2RlKTtcbiAgdmFyIHIgPSBlLmhpZ2hXYXRlck1hcmssXG4gICAgICBuID0gdGhpcy5vYmplY3RNb2RlID8gMTYgOiAxNjM4NDtcbiAgdGhpcy5oaWdoV2F0ZXJNYXJrID0gciB8fCAwID09PSByID8gciA6IG4sIHRoaXMuaGlnaFdhdGVyTWFyayA9IH5+dGhpcy5oaWdoV2F0ZXJNYXJrLCB0aGlzLm5lZWREcmFpbiA9ICExLCB0aGlzLmVuZGluZyA9ICExLCB0aGlzLmVuZGVkID0gITEsIHRoaXMuZmluaXNoZWQgPSAhMTtcbiAgdmFyIGkgPSAhMSA9PT0gZS5kZWNvZGVTdHJpbmdzO1xuICB0aGlzLmRlY29kZVN0cmluZ3MgPSAhaSwgdGhpcy5kZWZhdWx0RW5jb2RpbmcgPSBlLmRlZmF1bHRFbmNvZGluZyB8fCBcInV0ZjhcIiwgdGhpcy5sZW5ndGggPSAwLCB0aGlzLndyaXRpbmcgPSAhMSwgdGhpcy5jb3JrZWQgPSAwLCB0aGlzLnN5bmMgPSAhMCwgdGhpcy5idWZmZXJQcm9jZXNzaW5nID0gITEsIHRoaXMub253cml0ZSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgIWZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICB2YXIgciA9IGUuX3dyaXRhYmxlU3RhdGUsXG4gICAgICAgICAgbiA9IHIuc3luYyxcbiAgICAgICAgICBpID0gci53cml0ZWNiO1xuICAgICAgaWYgKGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIGUud3JpdGluZyA9ICExLCBlLndyaXRlY2IgPSBudWxsLCBlLmxlbmd0aCAtPSBlLndyaXRlbGVuLCBlLndyaXRlbGVuID0gMDtcbiAgICAgIH0ociksIHQpICFmdW5jdGlvbiAoZSwgdCwgciwgbiwgaSkge1xuICAgICAgICAtLXQucGVuZGluZ2NiLCByID8gZGUoaSwgbikgOiBpKG4pO1xuICAgICAgICBlLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9ICEwLCBlLmVtaXQoXCJlcnJvclwiLCBuKTtcbiAgICAgIH0oZSwgciwgbiwgdCwgaSk7ZWxzZSB7XG4gICAgICAgIHZhciBvID0gUnQocik7XG4gICAgICAgIG8gfHwgci5jb3JrZWQgfHwgci5idWZmZXJQcm9jZXNzaW5nIHx8ICFyLmJ1ZmZlcmVkUmVxdWVzdCB8fCB4dChlLCByKSwgbiA/IGRlKFN0LCBlLCByLCBvLCBpKSA6IFN0KGUsIHIsIG8sIGkpO1xuICAgICAgfVxuICAgIH0odCwgZSk7XG4gIH0sIHRoaXMud3JpdGVjYiA9IG51bGwsIHRoaXMud3JpdGVsZW4gPSAwLCB0aGlzLmJ1ZmZlcmVkUmVxdWVzdCA9IG51bGwsIHRoaXMubGFzdEJ1ZmZlcmVkUmVxdWVzdCA9IG51bGwsIHRoaXMucGVuZGluZ2NiID0gMCwgdGhpcy5wcmVmaW5pc2hlZCA9ICExLCB0aGlzLmVycm9yRW1pdHRlZCA9ICExLCB0aGlzLmJ1ZmZlcmVkUmVxdWVzdENvdW50ID0gMCwgdGhpcy5jb3JrZWRSZXF1ZXN0c0ZyZWUgPSBuZXcgenQodGhpcyk7XG59XG5cbmZ1bmN0aW9uIGt0KGUpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIGt0IHx8IHRoaXMgaW5zdGFuY2VvZiBDdCkpIHJldHVybiBuZXcga3QoZSk7XG4gIHRoaXMuX3dyaXRhYmxlU3RhdGUgPSBuZXcgbXQoZSwgdGhpcyksIHRoaXMud3JpdGFibGUgPSAhMCwgZSAmJiAoXCJmdW5jdGlvblwiID09IHR5cGVvZiBlLndyaXRlICYmICh0aGlzLl93cml0ZSA9IGUud3JpdGUpLCBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIGUud3JpdGV2ICYmICh0aGlzLl93cml0ZXYgPSBlLndyaXRldikpLCB2ZS5jYWxsKHRoaXMpO1xufVxuXG5mdW5jdGlvbiBFdChlLCB0LCByLCBuLCBpLCBvLCBhKSB7XG4gIHQud3JpdGVsZW4gPSBuLCB0LndyaXRlY2IgPSBhLCB0LndyaXRpbmcgPSAhMCwgdC5zeW5jID0gITAsIHIgPyBlLl93cml0ZXYoaSwgdC5vbndyaXRlKSA6IGUuX3dyaXRlKGksIG8sIHQub253cml0ZSksIHQuc3luYyA9ICExO1xufVxuXG5mdW5jdGlvbiBTdChlLCB0LCByLCBuKSB7XG4gIHIgfHwgZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAwID09PSB0Lmxlbmd0aCAmJiB0Lm5lZWREcmFpbiAmJiAodC5uZWVkRHJhaW4gPSAhMSwgZS5lbWl0KFwiZHJhaW5cIikpO1xuICB9KGUsIHQpLCB0LnBlbmRpbmdjYi0tLCBuKCksIEJ0KGUsIHQpO1xufVxuXG5mdW5jdGlvbiB4dChlLCB0KSB7XG4gIHQuYnVmZmVyUHJvY2Vzc2luZyA9ICEwO1xuICB2YXIgciA9IHQuYnVmZmVyZWRSZXF1ZXN0O1xuXG4gIGlmIChlLl93cml0ZXYgJiYgciAmJiByLm5leHQpIHtcbiAgICB2YXIgbiA9IHQuYnVmZmVyZWRSZXF1ZXN0Q291bnQsXG4gICAgICAgIGkgPSBuZXcgQXJyYXkobiksXG4gICAgICAgIG8gPSB0LmNvcmtlZFJlcXVlc3RzRnJlZTtcbiAgICBvLmVudHJ5ID0gcjtcblxuICAgIGZvciAodmFyIGEgPSAwOyByOykgaVthXSA9IHIsIHIgPSByLm5leHQsIGEgKz0gMTtcblxuICAgIEV0KGUsIHQsICEwLCB0Lmxlbmd0aCwgaSwgXCJcIiwgby5maW5pc2gpLCB0LnBlbmRpbmdjYisrLCB0Lmxhc3RCdWZmZXJlZFJlcXVlc3QgPSBudWxsLCBvLm5leHQgPyAodC5jb3JrZWRSZXF1ZXN0c0ZyZWUgPSBvLm5leHQsIG8ubmV4dCA9IG51bGwpIDogdC5jb3JrZWRSZXF1ZXN0c0ZyZWUgPSBuZXcgenQodCk7XG4gIH0gZWxzZSB7XG4gICAgZm9yICg7IHI7KSB7XG4gICAgICB2YXIgcyA9IHIuY2h1bmssXG4gICAgICAgICAgaCA9IHIuZW5jb2RpbmcsXG4gICAgICAgICAgbCA9IHIuY2FsbGJhY2s7XG4gICAgICBpZiAoRXQoZSwgdCwgITEsIHQub2JqZWN0TW9kZSA/IDEgOiBzLmxlbmd0aCwgcywgaCwgbCksIHIgPSByLm5leHQsIHQud3JpdGluZykgYnJlYWs7XG4gICAgfVxuXG4gICAgbnVsbCA9PT0gciAmJiAodC5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbCk7XG4gIH1cblxuICB0LmJ1ZmZlcmVkUmVxdWVzdENvdW50ID0gMCwgdC5idWZmZXJlZFJlcXVlc3QgPSByLCB0LmJ1ZmZlclByb2Nlc3NpbmcgPSAhMTtcbn1cblxuZnVuY3Rpb24gUnQoZSkge1xuICByZXR1cm4gZS5lbmRpbmcgJiYgMCA9PT0gZS5sZW5ndGggJiYgbnVsbCA9PT0gZS5idWZmZXJlZFJlcXVlc3QgJiYgIWUuZmluaXNoZWQgJiYgIWUud3JpdGluZztcbn1cblxuZnVuY3Rpb24gQXQoZSwgdCkge1xuICB0LnByZWZpbmlzaGVkIHx8ICh0LnByZWZpbmlzaGVkID0gITAsIGUuZW1pdChcInByZWZpbmlzaFwiKSk7XG59XG5cbmZ1bmN0aW9uIEJ0KGUsIHQpIHtcbiAgdmFyIHIgPSBSdCh0KTtcbiAgcmV0dXJuIHIgJiYgKDAgPT09IHQucGVuZGluZ2NiID8gKEF0KGUsIHQpLCB0LmZpbmlzaGVkID0gITAsIGUuZW1pdChcImZpbmlzaFwiKSkgOiBBdChlLCB0KSksIHI7XG59XG5cbmZ1bmN0aW9uIHp0KGUpIHtcbiAgdmFyIHQgPSB0aGlzO1xuICB0aGlzLm5leHQgPSBudWxsLCB0aGlzLmVudHJ5ID0gbnVsbCwgdGhpcy5maW5pc2ggPSBmdW5jdGlvbiAocikge1xuICAgIHZhciBuID0gdC5lbnRyeTtcblxuICAgIGZvciAodC5lbnRyeSA9IG51bGw7IG47KSB7XG4gICAgICB2YXIgaSA9IG4uY2FsbGJhY2s7XG4gICAgICBlLnBlbmRpbmdjYi0tLCBpKHIpLCBuID0gbi5uZXh0O1xuICAgIH1cblxuICAgIGUuY29ya2VkUmVxdWVzdHNGcmVlID8gZS5jb3JrZWRSZXF1ZXN0c0ZyZWUubmV4dCA9IHQgOiBlLmNvcmtlZFJlcXVlc3RzRnJlZSA9IHQ7XG4gIH07XG59XG5cbm90LnByb3RvdHlwZS5yZWFkID0gZnVuY3Rpb24gKGUpIHtcbiAgbnQoXCJyZWFkXCIsIGUpLCBlID0gcGFyc2VJbnQoZSwgMTApO1xuICB2YXIgdCA9IHRoaXMuX3JlYWRhYmxlU3RhdGUsXG4gICAgICByID0gZTtcbiAgaWYgKDAgIT09IGUgJiYgKHQuZW1pdHRlZFJlYWRhYmxlID0gITEpLCAwID09PSBlICYmIHQubmVlZFJlYWRhYmxlICYmICh0Lmxlbmd0aCA+PSB0LmhpZ2hXYXRlck1hcmsgfHwgdC5lbmRlZCkpIHJldHVybiBudChcInJlYWQ6IGVtaXRSZWFkYWJsZVwiLCB0Lmxlbmd0aCwgdC5lbmRlZCksIDAgPT09IHQubGVuZ3RoICYmIHQuZW5kZWQgPyBndCh0aGlzKSA6IGx0KHRoaXMpLCBudWxsO1xuICBpZiAoMCA9PT0gKGUgPSBodChlLCB0KSkgJiYgdC5lbmRlZCkgcmV0dXJuIDAgPT09IHQubGVuZ3RoICYmIGd0KHRoaXMpLCBudWxsO1xuICB2YXIgbixcbiAgICAgIGkgPSB0Lm5lZWRSZWFkYWJsZTtcbiAgcmV0dXJuIG50KFwibmVlZCByZWFkYWJsZVwiLCBpKSwgKDAgPT09IHQubGVuZ3RoIHx8IHQubGVuZ3RoIC0gZSA8IHQuaGlnaFdhdGVyTWFyaykgJiYgbnQoXCJsZW5ndGggbGVzcyB0aGFuIHdhdGVybWFya1wiLCBpID0gITApLCB0LmVuZGVkIHx8IHQucmVhZGluZyA/IG50KFwicmVhZGluZyBvciBlbmRlZFwiLCBpID0gITEpIDogaSAmJiAobnQoXCJkbyByZWFkXCIpLCB0LnJlYWRpbmcgPSAhMCwgdC5zeW5jID0gITAsIDAgPT09IHQubGVuZ3RoICYmICh0Lm5lZWRSZWFkYWJsZSA9ICEwKSwgdGhpcy5fcmVhZCh0LmhpZ2hXYXRlck1hcmspLCB0LnN5bmMgPSAhMSwgdC5yZWFkaW5nIHx8IChlID0gaHQociwgdCkpKSwgbnVsbCA9PT0gKG4gPSBlID4gMCA/IF90KGUsIHQpIDogbnVsbCkgPyAodC5uZWVkUmVhZGFibGUgPSAhMCwgZSA9IDApIDogdC5sZW5ndGggLT0gZSwgMCA9PT0gdC5sZW5ndGggJiYgKHQuZW5kZWQgfHwgKHQubmVlZFJlYWRhYmxlID0gITApLCByICE9PSBlICYmIHQuZW5kZWQgJiYgZ3QodGhpcykpLCBudWxsICE9PSBuICYmIHRoaXMuZW1pdChcImRhdGFcIiwgbiksIG47XG59LCBvdC5wcm90b3R5cGUuX3JlYWQgPSBmdW5jdGlvbiAoZSkge1xuICB0aGlzLmVtaXQoXCJlcnJvclwiLCBuZXcgRXJyb3IoXCJub3QgaW1wbGVtZW50ZWRcIikpO1xufSwgb3QucHJvdG90eXBlLnBpcGUgPSBmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgciA9IHRoaXMsXG4gICAgICBuID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcblxuICBzd2l0Y2ggKG4ucGlwZXNDb3VudCkge1xuICAgIGNhc2UgMDpcbiAgICAgIG4ucGlwZXMgPSBlO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIDE6XG4gICAgICBuLnBpcGVzID0gW24ucGlwZXMsIGVdO1xuICAgICAgYnJlYWs7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgbi5waXBlcy5wdXNoKGUpO1xuICB9XG5cbiAgbi5waXBlc0NvdW50ICs9IDEsIG50KFwicGlwZSBjb3VudD0lZCBvcHRzPSVqXCIsIG4ucGlwZXNDb3VudCwgdCk7XG4gIHZhciBpID0gIXQgfHwgITEgIT09IHQuZW5kID8gYSA6IGw7XG5cbiAgZnVuY3Rpb24gbyhlKSB7XG4gICAgbnQoXCJvbnVucGlwZVwiKSwgZSA9PT0gciAmJiBsKCk7XG4gIH1cblxuICBmdW5jdGlvbiBhKCkge1xuICAgIG50KFwib25lbmRcIiksIGUuZW5kKCk7XG4gIH1cblxuICBuLmVuZEVtaXR0ZWQgPyBkZShpKSA6IHIub25jZShcImVuZFwiLCBpKSwgZS5vbihcInVucGlwZVwiLCBvKTtcblxuICB2YXIgcyA9IGZ1bmN0aW9uIChlKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciB0ID0gZS5fcmVhZGFibGVTdGF0ZTtcbiAgICAgIG50KFwicGlwZU9uRHJhaW5cIiwgdC5hd2FpdERyYWluKSwgdC5hd2FpdERyYWluICYmIHQuYXdhaXREcmFpbi0tLCAwID09PSB0LmF3YWl0RHJhaW4gJiYgZS5saXN0ZW5lcnMoXCJkYXRhXCIpLmxlbmd0aCAmJiAodC5mbG93aW5nID0gITAsIHB0KGUpKTtcbiAgICB9O1xuICB9KHIpO1xuXG4gIGUub24oXCJkcmFpblwiLCBzKTtcbiAgdmFyIGggPSAhMTtcblxuICBmdW5jdGlvbiBsKCkge1xuICAgIG50KFwiY2xlYW51cFwiKSwgZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsIGQpLCBlLnJlbW92ZUxpc3RlbmVyKFwiZmluaXNoXCIsIHApLCBlLnJlbW92ZUxpc3RlbmVyKFwiZHJhaW5cIiwgcyksIGUucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLCB1KSwgZS5yZW1vdmVMaXN0ZW5lcihcInVucGlwZVwiLCBvKSwgci5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLCBhKSwgci5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLCBsKSwgci5yZW1vdmVMaXN0ZW5lcihcImRhdGFcIiwgYyksIGggPSAhMCwgIW4uYXdhaXREcmFpbiB8fCBlLl93cml0YWJsZVN0YXRlICYmICFlLl93cml0YWJsZVN0YXRlLm5lZWREcmFpbiB8fCBzKCk7XG4gIH1cblxuICB2YXIgZiA9ICExO1xuXG4gIGZ1bmN0aW9uIGModCkge1xuICAgIG50KFwib25kYXRhXCIpLCBmID0gITEsICExICE9PSBlLndyaXRlKHQpIHx8IGYgfHwgKCgxID09PSBuLnBpcGVzQ291bnQgJiYgbi5waXBlcyA9PT0gZSB8fCBuLnBpcGVzQ291bnQgPiAxICYmIC0xICE9PSB3dChuLnBpcGVzLCBlKSkgJiYgIWggJiYgKG50KFwiZmFsc2Ugd3JpdGUgcmVzcG9uc2UsIHBhdXNlXCIsIHIuX3JlYWRhYmxlU3RhdGUuYXdhaXREcmFpbiksIHIuX3JlYWRhYmxlU3RhdGUuYXdhaXREcmFpbisrLCBmID0gITApLCByLnBhdXNlKCkpO1xuICB9XG5cbiAgZnVuY3Rpb24gdSh0KSB7XG4gICAgdmFyIHI7XG4gICAgbnQoXCJvbmVycm9yXCIsIHQpLCBfKCksIGUucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLCB1KSwgMCA9PT0gKHIgPSBcImVycm9yXCIsIGUubGlzdGVuZXJzKHIpLmxlbmd0aCkgJiYgZS5lbWl0KFwiZXJyb3JcIiwgdCk7XG4gIH1cblxuICBmdW5jdGlvbiBkKCkge1xuICAgIGUucmVtb3ZlTGlzdGVuZXIoXCJmaW5pc2hcIiwgcCksIF8oKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHAoKSB7XG4gICAgbnQoXCJvbmZpbmlzaFwiKSwgZS5yZW1vdmVMaXN0ZW5lcihcImNsb3NlXCIsIGQpLCBfKCk7XG4gIH1cblxuICBmdW5jdGlvbiBfKCkge1xuICAgIG50KFwidW5waXBlXCIpLCByLnVucGlwZShlKTtcbiAgfVxuXG4gIHJldHVybiByLm9uKFwiZGF0YVwiLCBjKSwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICBpZiAoXCJmdW5jdGlvblwiID09IHR5cGVvZiBlLnByZXBlbmRMaXN0ZW5lcikgcmV0dXJuIGUucHJlcGVuZExpc3RlbmVyKHQsIHIpO1xuICAgIGUuX2V2ZW50cyAmJiBlLl9ldmVudHNbdF0gPyBBcnJheS5pc0FycmF5KGUuX2V2ZW50c1t0XSkgPyBlLl9ldmVudHNbdF0udW5zaGlmdChyKSA6IGUuX2V2ZW50c1t0XSA9IFtyLCBlLl9ldmVudHNbdF1dIDogZS5vbih0LCByKTtcbiAgfShlLCBcImVycm9yXCIsIHUpLCBlLm9uY2UoXCJjbG9zZVwiLCBkKSwgZS5vbmNlKFwiZmluaXNoXCIsIHApLCBlLmVtaXQoXCJwaXBlXCIsIHIpLCBuLmZsb3dpbmcgfHwgKG50KFwicGlwZSByZXN1bWVcIiksIHIucmVzdW1lKCkpLCBlO1xufSwgb3QucHJvdG90eXBlLnVucGlwZSA9IGZ1bmN0aW9uIChlKSB7XG4gIHZhciB0ID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcbiAgaWYgKDAgPT09IHQucGlwZXNDb3VudCkgcmV0dXJuIHRoaXM7XG4gIGlmICgxID09PSB0LnBpcGVzQ291bnQpIHJldHVybiBlICYmIGUgIT09IHQucGlwZXMgPyB0aGlzIDogKGUgfHwgKGUgPSB0LnBpcGVzKSwgdC5waXBlcyA9IG51bGwsIHQucGlwZXNDb3VudCA9IDAsIHQuZmxvd2luZyA9ICExLCBlICYmIGUuZW1pdChcInVucGlwZVwiLCB0aGlzKSwgdGhpcyk7XG5cbiAgaWYgKCFlKSB7XG4gICAgdmFyIHIgPSB0LnBpcGVzLFxuICAgICAgICBuID0gdC5waXBlc0NvdW50O1xuICAgIHQucGlwZXMgPSBudWxsLCB0LnBpcGVzQ291bnQgPSAwLCB0LmZsb3dpbmcgPSAhMTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgaSsrKSByW2ldLmVtaXQoXCJ1bnBpcGVcIiwgdGhpcyk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHZhciBvID0gd3QodC5waXBlcywgZSk7XG4gIHJldHVybiAtMSA9PT0gbyA/IHRoaXMgOiAodC5waXBlcy5zcGxpY2UobywgMSksIHQucGlwZXNDb3VudCAtPSAxLCAxID09PSB0LnBpcGVzQ291bnQgJiYgKHQucGlwZXMgPSB0LnBpcGVzWzBdKSwgZS5lbWl0KFwidW5waXBlXCIsIHRoaXMpLCB0aGlzKTtcbn0sIG90LnByb3RvdHlwZS5vbiA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gIHZhciByID0gdmUucHJvdG90eXBlLm9uLmNhbGwodGhpcywgZSwgdCk7XG4gIGlmIChcImRhdGFcIiA9PT0gZSkgITEgIT09IHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyAmJiB0aGlzLnJlc3VtZSgpO2Vsc2UgaWYgKFwicmVhZGFibGVcIiA9PT0gZSkge1xuICAgIHZhciBuID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcbiAgICBuLmVuZEVtaXR0ZWQgfHwgbi5yZWFkYWJsZUxpc3RlbmluZyB8fCAobi5yZWFkYWJsZUxpc3RlbmluZyA9IG4ubmVlZFJlYWRhYmxlID0gITAsIG4uZW1pdHRlZFJlYWRhYmxlID0gITEsIG4ucmVhZGluZyA/IG4ubGVuZ3RoICYmIGx0KHRoaXMpIDogZGUodXQsIHRoaXMpKTtcbiAgfVxuICByZXR1cm4gcjtcbn0sIG90LnByb3RvdHlwZS5hZGRMaXN0ZW5lciA9IG90LnByb3RvdHlwZS5vbiwgb3QucHJvdG90eXBlLnJlc3VtZSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICByZXR1cm4gZS5mbG93aW5nIHx8IChudChcInJlc3VtZVwiKSwgZS5mbG93aW5nID0gITAsIGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgdC5yZXN1bWVTY2hlZHVsZWQgfHwgKHQucmVzdW1lU2NoZWR1bGVkID0gITAsIGRlKGR0LCBlLCB0KSk7XG4gIH0odGhpcywgZSkpLCB0aGlzO1xufSwgb3QucHJvdG90eXBlLnBhdXNlID0gZnVuY3Rpb24gKCkge1xuICByZXR1cm4gbnQoXCJjYWxsIHBhdXNlIGZsb3dpbmc9JWpcIiwgdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKSwgITEgIT09IHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyAmJiAobnQoXCJwYXVzZVwiKSwgdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nID0gITEsIHRoaXMuZW1pdChcInBhdXNlXCIpKSwgdGhpcztcbn0sIG90LnByb3RvdHlwZS53cmFwID0gZnVuY3Rpb24gKGUpIHtcbiAgdmFyIHQgPSB0aGlzLl9yZWFkYWJsZVN0YXRlLFxuICAgICAgciA9ICExLFxuICAgICAgbiA9IHRoaXM7XG5cbiAgZm9yICh2YXIgaSBpbiBlLm9uKFwiZW5kXCIsIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAobnQoXCJ3cmFwcGVkIGVuZFwiKSwgdC5kZWNvZGVyICYmICF0LmVuZGVkKSB7XG4gICAgICB2YXIgZSA9IHQuZGVjb2Rlci5lbmQoKTtcbiAgICAgIGUgJiYgZS5sZW5ndGggJiYgbi5wdXNoKGUpO1xuICAgIH1cblxuICAgIG4ucHVzaChudWxsKTtcbiAgfSksIGUub24oXCJkYXRhXCIsIGZ1bmN0aW9uIChpKSB7XG4gICAgKG50KFwid3JhcHBlZCBkYXRhXCIpLCB0LmRlY29kZXIgJiYgKGkgPSB0LmRlY29kZXIud3JpdGUoaSkpLCB0Lm9iamVjdE1vZGUgJiYgbnVsbCA9PSBpKSB8fCAodC5vYmplY3RNb2RlIHx8IGkgJiYgaS5sZW5ndGgpICYmIChuLnB1c2goaSkgfHwgKHIgPSAhMCwgZS5wYXVzZSgpKSk7XG4gIH0pLCBlKSB2b2lkIDAgPT09IHRoaXNbaV0gJiYgXCJmdW5jdGlvblwiID09IHR5cGVvZiBlW2ldICYmICh0aGlzW2ldID0gZnVuY3Rpb24gKHQpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGVbdF0uYXBwbHkoZSwgYXJndW1lbnRzKTtcbiAgICB9O1xuICB9KGkpKTtcblxuICByZXR1cm4gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICBmb3IgKHZhciByID0gMCwgbiA9IGUubGVuZ3RoOyByIDwgbjsgcisrKSB0KGVbcl0sIHIpO1xuICB9KFtcImVycm9yXCIsIFwiY2xvc2VcIiwgXCJkZXN0cm95XCIsIFwicGF1c2VcIiwgXCJyZXN1bWVcIl0sIGZ1bmN0aW9uICh0KSB7XG4gICAgZS5vbih0LCBuLmVtaXQuYmluZChuLCB0KSk7XG4gIH0pLCBuLl9yZWFkID0gZnVuY3Rpb24gKHQpIHtcbiAgICBudChcIndyYXBwZWQgX3JlYWRcIiwgdCksIHIgJiYgKHIgPSAhMSwgZS5yZXN1bWUoKSk7XG4gIH0sIG47XG59LCBvdC5fZnJvbUxpc3QgPSBfdCwga3QuV3JpdGFibGVTdGF0ZSA9IG10LCBCZShrdCwgdmUpLCBtdC5wcm90b3R5cGUuZ2V0QnVmZmVyID0gZnVuY3Rpb24gKCkge1xuICBmb3IgKHZhciBlID0gdGhpcy5idWZmZXJlZFJlcXVlc3QsIHQgPSBbXTsgZTspIHQucHVzaChlKSwgZSA9IGUubmV4dDtcblxuICByZXR1cm4gdDtcbn0sIGt0LnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLmVtaXQoXCJlcnJvclwiLCBuZXcgRXJyb3IoXCJDYW5ub3QgcGlwZSwgbm90IHJlYWRhYmxlXCIpKTtcbn0sIGt0LnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gIHZhciBuID0gdGhpcy5fd3JpdGFibGVTdGF0ZSxcbiAgICAgIGkgPSAhMTtcbiAgcmV0dXJuIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgdCAmJiAociA9IHQsIHQgPSBudWxsKSwgcC5pc0J1ZmZlcihlKSA/IHQgPSBcImJ1ZmZlclwiIDogdCB8fCAodCA9IG4uZGVmYXVsdEVuY29kaW5nKSwgXCJmdW5jdGlvblwiICE9IHR5cGVvZiByICYmIChyID0gYnQpLCBuLmVuZGVkID8gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICB2YXIgciA9IG5ldyBFcnJvcihcIndyaXRlIGFmdGVyIGVuZFwiKTtcbiAgICBlLmVtaXQoXCJlcnJvclwiLCByKSwgZGUodCwgcik7XG4gIH0odGhpcywgcikgOiBmdW5jdGlvbiAoZSwgdCwgciwgbikge1xuICAgIHZhciBpID0gITAsXG4gICAgICAgIG8gPSAhMTtcbiAgICByZXR1cm4gbnVsbCA9PT0gciA/IG8gPSBuZXcgVHlwZUVycm9yKFwiTWF5IG5vdCB3cml0ZSBudWxsIHZhbHVlcyB0byBzdHJlYW1cIikgOiBwLmlzQnVmZmVyKHIpIHx8IFwic3RyaW5nXCIgPT0gdHlwZW9mIHIgfHwgdm9pZCAwID09PSByIHx8IHQub2JqZWN0TW9kZSB8fCAobyA9IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIG5vbi1zdHJpbmcvYnVmZmVyIGNodW5rXCIpKSwgbyAmJiAoZS5lbWl0KFwiZXJyb3JcIiwgbyksIGRlKG4sIG8pLCBpID0gITEpLCBpO1xuICB9KHRoaXMsIG4sIGUsIHIpICYmIChuLnBlbmRpbmdjYisrLCBpID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4sIGkpIHtcbiAgICByID0gZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICAgIHJldHVybiBlLm9iamVjdE1vZGUgfHwgITEgPT09IGUuZGVjb2RlU3RyaW5ncyB8fCBcInN0cmluZ1wiICE9IHR5cGVvZiB0IHx8ICh0ID0gcC5mcm9tKHQsIHIpKSwgdDtcbiAgICB9KHQsIHIsIG4pLCBwLmlzQnVmZmVyKHIpICYmIChuID0gXCJidWZmZXJcIik7XG4gICAgdmFyIG8gPSB0Lm9iamVjdE1vZGUgPyAxIDogci5sZW5ndGg7XG4gICAgdC5sZW5ndGggKz0gbztcbiAgICB2YXIgYSA9IHQubGVuZ3RoIDwgdC5oaWdoV2F0ZXJNYXJrO1xuICAgIGEgfHwgKHQubmVlZERyYWluID0gITApO1xuXG4gICAgaWYgKHQud3JpdGluZyB8fCB0LmNvcmtlZCkge1xuICAgICAgdmFyIHMgPSB0Lmxhc3RCdWZmZXJlZFJlcXVlc3Q7XG4gICAgICB0Lmxhc3RCdWZmZXJlZFJlcXVlc3QgPSBuZXcgeXQociwgbiwgaSksIHMgPyBzLm5leHQgPSB0Lmxhc3RCdWZmZXJlZFJlcXVlc3QgOiB0LmJ1ZmZlcmVkUmVxdWVzdCA9IHQubGFzdEJ1ZmZlcmVkUmVxdWVzdCwgdC5idWZmZXJlZFJlcXVlc3RDb3VudCArPSAxO1xuICAgIH0gZWxzZSBFdChlLCB0LCAhMSwgbywgciwgbiwgaSk7XG5cbiAgICByZXR1cm4gYTtcbiAgfSh0aGlzLCBuLCBlLCB0LCByKSksIGk7XG59LCBrdC5wcm90b3R5cGUuY29yayA9IGZ1bmN0aW9uICgpIHtcbiAgdGhpcy5fd3JpdGFibGVTdGF0ZS5jb3JrZWQrKztcbn0sIGt0LnByb3RvdHlwZS51bmNvcmsgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBlID0gdGhpcy5fd3JpdGFibGVTdGF0ZTtcbiAgZS5jb3JrZWQgJiYgKGUuY29ya2VkLS0sIGUud3JpdGluZyB8fCBlLmNvcmtlZCB8fCBlLmZpbmlzaGVkIHx8IGUuYnVmZmVyUHJvY2Vzc2luZyB8fCAhZS5idWZmZXJlZFJlcXVlc3QgfHwgeHQodGhpcywgZSkpO1xufSwga3QucHJvdG90eXBlLnNldERlZmF1bHRFbmNvZGluZyA9IGZ1bmN0aW9uIChlKSB7XG4gIGlmIChcInN0cmluZ1wiID09IHR5cGVvZiBlICYmIChlID0gZS50b0xvd2VyQ2FzZSgpKSwgIShbXCJoZXhcIiwgXCJ1dGY4XCIsIFwidXRmLThcIiwgXCJhc2NpaVwiLCBcImJpbmFyeVwiLCBcImJhc2U2NFwiLCBcInVjczJcIiwgXCJ1Y3MtMlwiLCBcInV0ZjE2bGVcIiwgXCJ1dGYtMTZsZVwiLCBcInJhd1wiXS5pbmRleE9mKChlICsgXCJcIikudG9Mb3dlckNhc2UoKSkgPiAtMSkpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmtub3duIGVuY29kaW5nOiBcIiArIGUpO1xuICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5kZWZhdWx0RW5jb2RpbmcgPSBlLCB0aGlzO1xufSwga3QucHJvdG90eXBlLl93cml0ZSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gIHIobmV3IEVycm9yKFwibm90IGltcGxlbWVudGVkXCIpKTtcbn0sIGt0LnByb3RvdHlwZS5fd3JpdGV2ID0gbnVsbCwga3QucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gIHZhciBuID0gdGhpcy5fd3JpdGFibGVTdGF0ZTtcbiAgXCJmdW5jdGlvblwiID09IHR5cGVvZiBlID8gKHIgPSBlLCBlID0gbnVsbCwgdCA9IG51bGwpIDogXCJmdW5jdGlvblwiID09IHR5cGVvZiB0ICYmIChyID0gdCwgdCA9IG51bGwpLCBudWxsICE9IGUgJiYgdGhpcy53cml0ZShlLCB0KSwgbi5jb3JrZWQgJiYgKG4uY29ya2VkID0gMSwgdGhpcy51bmNvcmsoKSksIG4uZW5kaW5nIHx8IG4uZmluaXNoZWQgfHwgZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICB0LmVuZGluZyA9ICEwLCBCdChlLCB0KSwgciAmJiAodC5maW5pc2hlZCA/IGRlKHIpIDogZS5vbmNlKFwiZmluaXNoXCIsIHIpKTtcbiAgICB0LmVuZGVkID0gITAsIGUud3JpdGFibGUgPSAhMTtcbiAgfSh0aGlzLCBuLCByKTtcbn0sIEJlKEN0LCBvdCk7XG5cbmZvciAodmFyIEx0ID0gT2JqZWN0LmtleXMoa3QucHJvdG90eXBlKSwgVHQgPSAwOyBUdCA8IEx0Lmxlbmd0aDsgVHQrKykge1xuICB2YXIgTXQgPSBMdFtUdF07XG4gIEN0LnByb3RvdHlwZVtNdF0gfHwgKEN0LnByb3RvdHlwZVtNdF0gPSBrdC5wcm90b3R5cGVbTXRdKTtcbn1cblxuZnVuY3Rpb24gQ3QoZSkge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgQ3QpKSByZXR1cm4gbmV3IEN0KGUpO1xuICBvdC5jYWxsKHRoaXMsIGUpLCBrdC5jYWxsKHRoaXMsIGUpLCBlICYmICExID09PSBlLnJlYWRhYmxlICYmICh0aGlzLnJlYWRhYmxlID0gITEpLCBlICYmICExID09PSBlLndyaXRhYmxlICYmICh0aGlzLndyaXRhYmxlID0gITEpLCB0aGlzLmFsbG93SGFsZk9wZW4gPSAhMCwgZSAmJiAhMSA9PT0gZS5hbGxvd0hhbGZPcGVuICYmICh0aGlzLmFsbG93SGFsZk9wZW4gPSAhMSksIHRoaXMub25jZShcImVuZFwiLCBEdCk7XG59XG5cbmZ1bmN0aW9uIER0KCkge1xuICB0aGlzLmFsbG93SGFsZk9wZW4gfHwgdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZCB8fCBkZShJdCwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIEl0KGUpIHtcbiAgZS5lbmQoKTtcbn1cblxuZnVuY3Rpb24gUHQoZSkge1xuICB0aGlzLmFmdGVyVHJhbnNmb3JtID0gZnVuY3Rpb24gKHQsIHIpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICAgIHZhciBuID0gZS5fdHJhbnNmb3JtU3RhdGU7XG4gICAgICBuLnRyYW5zZm9ybWluZyA9ICExO1xuICAgICAgdmFyIGkgPSBuLndyaXRlY2I7XG4gICAgICBpZiAoIWkpIHJldHVybiBlLmVtaXQoXCJlcnJvclwiLCBuZXcgRXJyb3IoXCJubyB3cml0ZWNiIGluIFRyYW5zZm9ybSBjbGFzc1wiKSk7XG4gICAgICBuLndyaXRlY2h1bmsgPSBudWxsLCBuLndyaXRlY2IgPSBudWxsLCBudWxsICE9IHIgJiYgZS5wdXNoKHIpO1xuICAgICAgaSh0KTtcbiAgICAgIHZhciBvID0gZS5fcmVhZGFibGVTdGF0ZTtcbiAgICAgIG8ucmVhZGluZyA9ICExLCAoby5uZWVkUmVhZGFibGUgfHwgby5sZW5ndGggPCBvLmhpZ2hXYXRlck1hcmspICYmIGUuX3JlYWQoby5oaWdoV2F0ZXJNYXJrKTtcbiAgICB9KGUsIHQsIHIpO1xuICB9LCB0aGlzLm5lZWRUcmFuc2Zvcm0gPSAhMSwgdGhpcy50cmFuc2Zvcm1pbmcgPSAhMSwgdGhpcy53cml0ZWNiID0gbnVsbCwgdGhpcy53cml0ZWNodW5rID0gbnVsbCwgdGhpcy53cml0ZWVuY29kaW5nID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gT3QoZSkge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgT3QpKSByZXR1cm4gbmV3IE90KGUpO1xuICBDdC5jYWxsKHRoaXMsIGUpLCB0aGlzLl90cmFuc2Zvcm1TdGF0ZSA9IG5ldyBQdCh0aGlzKTtcbiAgdmFyIHQgPSB0aGlzO1xuICB0aGlzLl9yZWFkYWJsZVN0YXRlLm5lZWRSZWFkYWJsZSA9ICEwLCB0aGlzLl9yZWFkYWJsZVN0YXRlLnN5bmMgPSAhMSwgZSAmJiAoXCJmdW5jdGlvblwiID09IHR5cGVvZiBlLnRyYW5zZm9ybSAmJiAodGhpcy5fdHJhbnNmb3JtID0gZS50cmFuc2Zvcm0pLCBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIGUuZmx1c2ggJiYgKHRoaXMuX2ZsdXNoID0gZS5mbHVzaCkpLCB0aGlzLm9uY2UoXCJwcmVmaW5pc2hcIiwgZnVuY3Rpb24gKCkge1xuICAgIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgdGhpcy5fZmx1c2ggPyB0aGlzLl9mbHVzaChmdW5jdGlvbiAoZSkge1xuICAgICAgVXQodCwgZSk7XG4gICAgfSkgOiBVdCh0KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIFV0KGUsIHQpIHtcbiAgaWYgKHQpIHJldHVybiBlLmVtaXQoXCJlcnJvclwiLCB0KTtcbiAgdmFyIHIgPSBlLl93cml0YWJsZVN0YXRlLFxuICAgICAgbiA9IGUuX3RyYW5zZm9ybVN0YXRlO1xuICBpZiAoci5sZW5ndGgpIHRocm93IG5ldyBFcnJvcihcIkNhbGxpbmcgdHJhbnNmb3JtIGRvbmUgd2hlbiB3cy5sZW5ndGggIT0gMFwiKTtcbiAgaWYgKG4udHJhbnNmb3JtaW5nKSB0aHJvdyBuZXcgRXJyb3IoXCJDYWxsaW5nIHRyYW5zZm9ybSBkb25lIHdoZW4gc3RpbGwgdHJhbnNmb3JtaW5nXCIpO1xuICByZXR1cm4gZS5wdXNoKG51bGwpO1xufVxuXG5mdW5jdGlvbiBIdChlKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBIdCkpIHJldHVybiBuZXcgSHQoZSk7XG4gIE90LmNhbGwodGhpcywgZSk7XG59XG5cbmZ1bmN0aW9uIEZ0KCkge1xuICB2ZS5jYWxsKHRoaXMpO1xufVxuXG5CZShPdCwgQ3QpLCBPdC5wcm90b3R5cGUucHVzaCA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gIHJldHVybiB0aGlzLl90cmFuc2Zvcm1TdGF0ZS5uZWVkVHJhbnNmb3JtID0gITEsIEN0LnByb3RvdHlwZS5wdXNoLmNhbGwodGhpcywgZSwgdCk7XG59LCBPdC5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gIHRocm93IG5ldyBFcnJvcihcIk5vdCBpbXBsZW1lbnRlZFwiKTtcbn0sIE90LnByb3RvdHlwZS5fd3JpdGUgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICB2YXIgbiA9IHRoaXMuX3RyYW5zZm9ybVN0YXRlO1xuXG4gIGlmIChuLndyaXRlY2IgPSByLCBuLndyaXRlY2h1bmsgPSBlLCBuLndyaXRlZW5jb2RpbmcgPSB0LCAhbi50cmFuc2Zvcm1pbmcpIHtcbiAgICB2YXIgaSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XG4gICAgKG4ubmVlZFRyYW5zZm9ybSB8fCBpLm5lZWRSZWFkYWJsZSB8fCBpLmxlbmd0aCA8IGkuaGlnaFdhdGVyTWFyaykgJiYgdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspO1xuICB9XG59LCBPdC5wcm90b3R5cGUuX3JlYWQgPSBmdW5jdGlvbiAoZSkge1xuICB2YXIgdCA9IHRoaXMuX3RyYW5zZm9ybVN0YXRlO1xuICBudWxsICE9PSB0LndyaXRlY2h1bmsgJiYgdC53cml0ZWNiICYmICF0LnRyYW5zZm9ybWluZyA/ICh0LnRyYW5zZm9ybWluZyA9ICEwLCB0aGlzLl90cmFuc2Zvcm0odC53cml0ZWNodW5rLCB0LndyaXRlZW5jb2RpbmcsIHQuYWZ0ZXJUcmFuc2Zvcm0pKSA6IHQubmVlZFRyYW5zZm9ybSA9ICEwO1xufSwgQmUoSHQsIE90KSwgSHQucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICByKG51bGwsIGUpO1xufSwgQmUoRnQsIHZlKSwgRnQuUmVhZGFibGUgPSBvdCwgRnQuV3JpdGFibGUgPSBrdCwgRnQuRHVwbGV4ID0gQ3QsIEZ0LlRyYW5zZm9ybSA9IE90LCBGdC5QYXNzVGhyb3VnaCA9IEh0LCBGdC5TdHJlYW0gPSBGdCwgRnQucHJvdG90eXBlLnBpcGUgPSBmdW5jdGlvbiAoZSwgdCkge1xuICB2YXIgciA9IHRoaXM7XG5cbiAgZnVuY3Rpb24gbih0KSB7XG4gICAgZS53cml0YWJsZSAmJiAhMSA9PT0gZS53cml0ZSh0KSAmJiByLnBhdXNlICYmIHIucGF1c2UoKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGkoKSB7XG4gICAgci5yZWFkYWJsZSAmJiByLnJlc3VtZSAmJiByLnJlc3VtZSgpO1xuICB9XG5cbiAgci5vbihcImRhdGFcIiwgbiksIGUub24oXCJkcmFpblwiLCBpKSwgZS5faXNTdGRpbyB8fCB0ICYmICExID09PSB0LmVuZCB8fCAoci5vbihcImVuZFwiLCBhKSwgci5vbihcImNsb3NlXCIsIHMpKTtcbiAgdmFyIG8gPSAhMTtcblxuICBmdW5jdGlvbiBhKCkge1xuICAgIG8gfHwgKG8gPSAhMCwgZS5lbmQoKSk7XG4gIH1cblxuICBmdW5jdGlvbiBzKCkge1xuICAgIG8gfHwgKG8gPSAhMCwgXCJmdW5jdGlvblwiID09IHR5cGVvZiBlLmRlc3Ryb3kgJiYgZS5kZXN0cm95KCkpO1xuICB9XG5cbiAgZnVuY3Rpb24gaChlKSB7XG4gICAgaWYgKGwoKSwgMCA9PT0gdmUubGlzdGVuZXJDb3VudCh0aGlzLCBcImVycm9yXCIpKSB0aHJvdyBlO1xuICB9XG5cbiAgZnVuY3Rpb24gbCgpIHtcbiAgICByLnJlbW92ZUxpc3RlbmVyKFwiZGF0YVwiLCBuKSwgZS5yZW1vdmVMaXN0ZW5lcihcImRyYWluXCIsIGkpLCByLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsIGEpLCByLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIiwgcyksIHIucmVtb3ZlTGlzdGVuZXIoXCJlcnJvclwiLCBoKSwgZS5yZW1vdmVMaXN0ZW5lcihcImVycm9yXCIsIGgpLCByLnJlbW92ZUxpc3RlbmVyKFwiZW5kXCIsIGwpLCByLnJlbW92ZUxpc3RlbmVyKFwiY2xvc2VcIiwgbCksIGUucmVtb3ZlTGlzdGVuZXIoXCJjbG9zZVwiLCBsKTtcbiAgfVxuXG4gIHJldHVybiByLm9uKFwiZXJyb3JcIiwgaCksIGUub24oXCJlcnJvclwiLCBoKSwgci5vbihcImVuZFwiLCBsKSwgci5vbihcImNsb3NlXCIsIGwpLCBlLm9uKFwiY2xvc2VcIiwgbCksIGUuZW1pdChcInBpcGVcIiwgciksIGU7XG59O1xudmFyIE50ID0ge1xuICAyOiBcIm5lZWQgZGljdGlvbmFyeVwiLFxuICAxOiBcInN0cmVhbSBlbmRcIixcbiAgMDogXCJcIixcbiAgXCItMVwiOiBcImZpbGUgZXJyb3JcIixcbiAgXCItMlwiOiBcInN0cmVhbSBlcnJvclwiLFxuICBcIi0zXCI6IFwiZGF0YSBlcnJvclwiLFxuICBcIi00XCI6IFwiaW5zdWZmaWNpZW50IG1lbW9yeVwiLFxuICBcIi01XCI6IFwiYnVmZmVyIGVycm9yXCIsXG4gIFwiLTZcIjogXCJpbmNvbXBhdGlibGUgdmVyc2lvblwiXG59O1xuXG5mdW5jdGlvbiBadCgpIHtcbiAgdGhpcy5pbnB1dCA9IG51bGwsIHRoaXMubmV4dF9pbiA9IDAsIHRoaXMuYXZhaWxfaW4gPSAwLCB0aGlzLnRvdGFsX2luID0gMCwgdGhpcy5vdXRwdXQgPSBudWxsLCB0aGlzLm5leHRfb3V0ID0gMCwgdGhpcy5hdmFpbF9vdXQgPSAwLCB0aGlzLnRvdGFsX291dCA9IDAsIHRoaXMubXNnID0gXCJcIiwgdGhpcy5zdGF0ZSA9IG51bGwsIHRoaXMuZGF0YV90eXBlID0gMiwgdGhpcy5hZGxlciA9IDA7XG59XG5cbmZ1bmN0aW9uIGp0KGUsIHQsIHIsIG4sIGkpIHtcbiAgaWYgKHQuc3ViYXJyYXkgJiYgZS5zdWJhcnJheSkgZS5zZXQodC5zdWJhcnJheShyLCByICsgbiksIGkpO2Vsc2UgZm9yICh2YXIgbyA9IDA7IG8gPCBuOyBvKyspIGVbaSArIG9dID0gdFtyICsgb107XG59XG5cbnZhciBXdCA9IFVpbnQ4QXJyYXksXG4gICAgWXQgPSBVaW50MTZBcnJheSxcbiAgICBLdCA9IEludDMyQXJyYXksXG4gICAgWHQgPSA0LFxuICAgIHF0ID0gMCxcbiAgICBWdCA9IDEsXG4gICAgR3QgPSAyO1xuXG5mdW5jdGlvbiAkdChlKSB7XG4gIGZvciAodmFyIHQgPSBlLmxlbmd0aDsgLS10ID49IDA7KSBlW3RdID0gMDtcbn1cblxudmFyIEp0ID0gMCxcbiAgICBRdCA9IDEsXG4gICAgZXIgPSAyLFxuICAgIHRyID0gMjksXG4gICAgcnIgPSAyNTYsXG4gICAgbnIgPSByciArIDEgKyB0cixcbiAgICBpciA9IDMwLFxuICAgIG9yID0gMTksXG4gICAgYXIgPSAyICogbnIgKyAxLFxuICAgIHNyID0gMTUsXG4gICAgaHIgPSAxNixcbiAgICBsciA9IDcsXG4gICAgZnIgPSAyNTYsXG4gICAgY3IgPSAxNixcbiAgICB1ciA9IDE3LFxuICAgIGRyID0gMTgsXG4gICAgcHIgPSBbMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMSwgMSwgMSwgMSwgMiwgMiwgMiwgMiwgMywgMywgMywgMywgNCwgNCwgNCwgNCwgNSwgNSwgNSwgNSwgMF0sXG4gICAgX3IgPSBbMCwgMCwgMCwgMCwgMSwgMSwgMiwgMiwgMywgMywgNCwgNCwgNSwgNSwgNiwgNiwgNywgNywgOCwgOCwgOSwgOSwgMTAsIDEwLCAxMSwgMTEsIDEyLCAxMiwgMTMsIDEzXSxcbiAgICBnciA9IFswLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAyLCAzLCA3XSxcbiAgICB2ciA9IFsxNiwgMTcsIDE4LCAwLCA4LCA3LCA5LCA2LCAxMCwgNSwgMTEsIDQsIDEyLCAzLCAxMywgMiwgMTQsIDEsIDE1XSxcbiAgICB3ciA9IG5ldyBBcnJheSgyICogKG5yICsgMikpO1xuJHQod3IpO1xudmFyIGJyID0gbmV3IEFycmF5KDIgKiBpcik7XG4kdChicik7XG52YXIgeXIgPSBuZXcgQXJyYXkoNTEyKTtcbiR0KHlyKTtcbnZhciBtciA9IG5ldyBBcnJheSgyNTYpO1xuJHQobXIpO1xudmFyIGtyID0gbmV3IEFycmF5KHRyKTtcbiR0KGtyKTtcbnZhciBFcixcbiAgICBTcixcbiAgICB4cixcbiAgICBSciA9IG5ldyBBcnJheShpcik7XG5cbmZ1bmN0aW9uIEFyKGUsIHQsIHIsIG4sIGkpIHtcbiAgdGhpcy5zdGF0aWNfdHJlZSA9IGUsIHRoaXMuZXh0cmFfYml0cyA9IHQsIHRoaXMuZXh0cmFfYmFzZSA9IHIsIHRoaXMuZWxlbXMgPSBuLCB0aGlzLm1heF9sZW5ndGggPSBpLCB0aGlzLmhhc19zdHJlZSA9IGUgJiYgZS5sZW5ndGg7XG59XG5cbmZ1bmN0aW9uIEJyKGUsIHQpIHtcbiAgdGhpcy5keW5fdHJlZSA9IGUsIHRoaXMubWF4X2NvZGUgPSAwLCB0aGlzLnN0YXRfZGVzYyA9IHQ7XG59XG5cbmZ1bmN0aW9uIHpyKGUpIHtcbiAgcmV0dXJuIGUgPCAyNTYgPyB5cltlXSA6IHlyWzI1NiArIChlID4+PiA3KV07XG59XG5cbmZ1bmN0aW9uIExyKGUsIHQpIHtcbiAgZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK10gPSAyNTUgJiB0LCBlLnBlbmRpbmdfYnVmW2UucGVuZGluZysrXSA9IHQgPj4+IDggJiAyNTU7XG59XG5cbmZ1bmN0aW9uIFRyKGUsIHQsIHIpIHtcbiAgZS5iaV92YWxpZCA+IGhyIC0gciA/IChlLmJpX2J1ZiB8PSB0IDw8IGUuYmlfdmFsaWQgJiA2NTUzNSwgTHIoZSwgZS5iaV9idWYpLCBlLmJpX2J1ZiA9IHQgPj4gaHIgLSBlLmJpX3ZhbGlkLCBlLmJpX3ZhbGlkICs9IHIgLSBocikgOiAoZS5iaV9idWYgfD0gdCA8PCBlLmJpX3ZhbGlkICYgNjU1MzUsIGUuYmlfdmFsaWQgKz0gcik7XG59XG5cbmZ1bmN0aW9uIE1yKGUsIHQsIHIpIHtcbiAgVHIoZSwgclsyICogdF0sIHJbMiAqIHQgKyAxXSk7XG59XG5cbmZ1bmN0aW9uIENyKGUsIHQpIHtcbiAgdmFyIHIgPSAwO1xuXG4gIGRvIHtcbiAgICByIHw9IDEgJiBlLCBlID4+Pj0gMSwgciA8PD0gMTtcbiAgfSB3aGlsZSAoLS10ID4gMCk7XG5cbiAgcmV0dXJuIHIgPj4+IDE7XG59XG5cbmZ1bmN0aW9uIERyKGUsIHQsIHIpIHtcbiAgdmFyIG4sXG4gICAgICBpLFxuICAgICAgbyA9IG5ldyBBcnJheShzciArIDEpLFxuICAgICAgYSA9IDA7XG5cbiAgZm9yIChuID0gMTsgbiA8PSBzcjsgbisrKSBvW25dID0gYSA9IGEgKyByW24gLSAxXSA8PCAxO1xuXG4gIGZvciAoaSA9IDA7IGkgPD0gdDsgaSsrKSB7XG4gICAgdmFyIHMgPSBlWzIgKiBpICsgMV07XG4gICAgMCAhPT0gcyAmJiAoZVsyICogaV0gPSBDcihvW3NdKyssIHMpKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBJcihlKSB7XG4gIHZhciB0O1xuXG4gIGZvciAodCA9IDA7IHQgPCBucjsgdCsrKSBlLmR5bl9sdHJlZVsyICogdF0gPSAwO1xuXG4gIGZvciAodCA9IDA7IHQgPCBpcjsgdCsrKSBlLmR5bl9kdHJlZVsyICogdF0gPSAwO1xuXG4gIGZvciAodCA9IDA7IHQgPCBvcjsgdCsrKSBlLmJsX3RyZWVbMiAqIHRdID0gMDtcblxuICBlLmR5bl9sdHJlZVsyICogZnJdID0gMSwgZS5vcHRfbGVuID0gZS5zdGF0aWNfbGVuID0gMCwgZS5sYXN0X2xpdCA9IGUubWF0Y2hlcyA9IDA7XG59XG5cbmZ1bmN0aW9uIFByKGUpIHtcbiAgZS5iaV92YWxpZCA+IDggPyBMcihlLCBlLmJpX2J1ZikgOiBlLmJpX3ZhbGlkID4gMCAmJiAoZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK10gPSBlLmJpX2J1ZiksIGUuYmlfYnVmID0gMCwgZS5iaV92YWxpZCA9IDA7XG59XG5cbmZ1bmN0aW9uIE9yKGUsIHQsIHIsIG4pIHtcbiAgdmFyIGkgPSAyICogdCxcbiAgICAgIG8gPSAyICogcjtcbiAgcmV0dXJuIGVbaV0gPCBlW29dIHx8IGVbaV0gPT09IGVbb10gJiYgblt0XSA8PSBuW3JdO1xufVxuXG5mdW5jdGlvbiBVcihlLCB0LCByKSB7XG4gIGZvciAodmFyIG4gPSBlLmhlYXBbcl0sIGkgPSByIDw8IDE7IGkgPD0gZS5oZWFwX2xlbiAmJiAoaSA8IGUuaGVhcF9sZW4gJiYgT3IodCwgZS5oZWFwW2kgKyAxXSwgZS5oZWFwW2ldLCBlLmRlcHRoKSAmJiBpKyssICFPcih0LCBuLCBlLmhlYXBbaV0sIGUuZGVwdGgpKTspIGUuaGVhcFtyXSA9IGUuaGVhcFtpXSwgciA9IGksIGkgPDw9IDE7XG5cbiAgZS5oZWFwW3JdID0gbjtcbn1cblxuZnVuY3Rpb24gSHIoZSwgdCwgcikge1xuICB2YXIgbixcbiAgICAgIGksXG4gICAgICBvLFxuICAgICAgYSxcbiAgICAgIHMgPSAwO1xuICBpZiAoMCAhPT0gZS5sYXN0X2xpdCkgZG8ge1xuICAgIG4gPSBlLnBlbmRpbmdfYnVmW2UuZF9idWYgKyAyICogc10gPDwgOCB8IGUucGVuZGluZ19idWZbZS5kX2J1ZiArIDIgKiBzICsgMV0sIGkgPSBlLnBlbmRpbmdfYnVmW2UubF9idWYgKyBzXSwgcysrLCAwID09PSBuID8gTXIoZSwgaSwgdCkgOiAoTXIoZSwgKG8gPSBtcltpXSkgKyByciArIDEsIHQpLCAwICE9PSAoYSA9IHByW29dKSAmJiBUcihlLCBpIC09IGtyW29dLCBhKSwgTXIoZSwgbyA9IHpyKC0tbiksIHIpLCAwICE9PSAoYSA9IF9yW29dKSAmJiBUcihlLCBuIC09IFJyW29dLCBhKSk7XG4gIH0gd2hpbGUgKHMgPCBlLmxhc3RfbGl0KTtcbiAgTXIoZSwgZnIsIHQpO1xufVxuXG5mdW5jdGlvbiBGcihlLCB0KSB7XG4gIHZhciByLFxuICAgICAgbixcbiAgICAgIGksXG4gICAgICBvID0gdC5keW5fdHJlZSxcbiAgICAgIGEgPSB0LnN0YXRfZGVzYy5zdGF0aWNfdHJlZSxcbiAgICAgIHMgPSB0LnN0YXRfZGVzYy5oYXNfc3RyZWUsXG4gICAgICBoID0gdC5zdGF0X2Rlc2MuZWxlbXMsXG4gICAgICBsID0gLTE7XG5cbiAgZm9yIChlLmhlYXBfbGVuID0gMCwgZS5oZWFwX21heCA9IGFyLCByID0gMDsgciA8IGg7IHIrKykgMCAhPT0gb1syICogcl0gPyAoZS5oZWFwWysrZS5oZWFwX2xlbl0gPSBsID0gciwgZS5kZXB0aFtyXSA9IDApIDogb1syICogciArIDFdID0gMDtcblxuICBmb3IgKDsgZS5oZWFwX2xlbiA8IDI7KSBvWzIgKiAoaSA9IGUuaGVhcFsrK2UuaGVhcF9sZW5dID0gbCA8IDIgPyArK2wgOiAwKV0gPSAxLCBlLmRlcHRoW2ldID0gMCwgZS5vcHRfbGVuLS0sIHMgJiYgKGUuc3RhdGljX2xlbiAtPSBhWzIgKiBpICsgMV0pO1xuXG4gIGZvciAodC5tYXhfY29kZSA9IGwsIHIgPSBlLmhlYXBfbGVuID4+IDE7IHIgPj0gMTsgci0tKSBVcihlLCBvLCByKTtcblxuICBpID0gaDtcblxuICBkbyB7XG4gICAgciA9IGUuaGVhcFsxXSwgZS5oZWFwWzFdID0gZS5oZWFwW2UuaGVhcF9sZW4tLV0sIFVyKGUsIG8sIDEpLCBuID0gZS5oZWFwWzFdLCBlLmhlYXBbLS1lLmhlYXBfbWF4XSA9IHIsIGUuaGVhcFstLWUuaGVhcF9tYXhdID0gbiwgb1syICogaV0gPSBvWzIgKiByXSArIG9bMiAqIG5dLCBlLmRlcHRoW2ldID0gKGUuZGVwdGhbcl0gPj0gZS5kZXB0aFtuXSA/IGUuZGVwdGhbcl0gOiBlLmRlcHRoW25dKSArIDEsIG9bMiAqIHIgKyAxXSA9IG9bMiAqIG4gKyAxXSA9IGksIGUuaGVhcFsxXSA9IGkrKywgVXIoZSwgbywgMSk7XG4gIH0gd2hpbGUgKGUuaGVhcF9sZW4gPj0gMik7XG5cbiAgZS5oZWFwWy0tZS5oZWFwX21heF0gPSBlLmhlYXBbMV0sIGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgdmFyIHIsXG4gICAgICAgIG4sXG4gICAgICAgIGksXG4gICAgICAgIG8sXG4gICAgICAgIGEsXG4gICAgICAgIHMsXG4gICAgICAgIGggPSB0LmR5bl90cmVlLFxuICAgICAgICBsID0gdC5tYXhfY29kZSxcbiAgICAgICAgZiA9IHQuc3RhdF9kZXNjLnN0YXRpY190cmVlLFxuICAgICAgICBjID0gdC5zdGF0X2Rlc2MuaGFzX3N0cmVlLFxuICAgICAgICB1ID0gdC5zdGF0X2Rlc2MuZXh0cmFfYml0cyxcbiAgICAgICAgZCA9IHQuc3RhdF9kZXNjLmV4dHJhX2Jhc2UsXG4gICAgICAgIHAgPSB0LnN0YXRfZGVzYy5tYXhfbGVuZ3RoLFxuICAgICAgICBfID0gMDtcblxuICAgIGZvciAobyA9IDA7IG8gPD0gc3I7IG8rKykgZS5ibF9jb3VudFtvXSA9IDA7XG5cbiAgICBmb3IgKGhbMiAqIGUuaGVhcFtlLmhlYXBfbWF4XSArIDFdID0gMCwgciA9IGUuaGVhcF9tYXggKyAxOyByIDwgYXI7IHIrKykgKG8gPSBoWzIgKiBoWzIgKiAobiA9IGUuaGVhcFtyXSkgKyAxXSArIDFdICsgMSkgPiBwICYmIChvID0gcCwgXysrKSwgaFsyICogbiArIDFdID0gbywgbiA+IGwgfHwgKGUuYmxfY291bnRbb10rKywgYSA9IDAsIG4gPj0gZCAmJiAoYSA9IHVbbiAtIGRdKSwgcyA9IGhbMiAqIG5dLCBlLm9wdF9sZW4gKz0gcyAqIChvICsgYSksIGMgJiYgKGUuc3RhdGljX2xlbiArPSBzICogKGZbMiAqIG4gKyAxXSArIGEpKSk7XG5cbiAgICBpZiAoMCAhPT0gXykge1xuICAgICAgZG8ge1xuICAgICAgICBmb3IgKG8gPSBwIC0gMTsgMCA9PT0gZS5ibF9jb3VudFtvXTspIG8tLTtcblxuICAgICAgICBlLmJsX2NvdW50W29dLS0sIGUuYmxfY291bnRbbyArIDFdICs9IDIsIGUuYmxfY291bnRbcF0tLSwgXyAtPSAyO1xuICAgICAgfSB3aGlsZSAoXyA+IDApO1xuXG4gICAgICBmb3IgKG8gPSBwOyAwICE9PSBvOyBvLS0pIGZvciAobiA9IGUuYmxfY291bnRbb107IDAgIT09IG47KSAoaSA9IGUuaGVhcFstLXJdKSA+IGwgfHwgKGhbMiAqIGkgKyAxXSAhPT0gbyAmJiAoZS5vcHRfbGVuICs9IChvIC0gaFsyICogaSArIDFdKSAqIGhbMiAqIGldLCBoWzIgKiBpICsgMV0gPSBvKSwgbi0tKTtcbiAgICB9XG4gIH0oZSwgdCksIERyKG8sIGwsIGUuYmxfY291bnQpO1xufVxuXG5mdW5jdGlvbiBOcihlLCB0LCByKSB7XG4gIHZhciBuLFxuICAgICAgaSxcbiAgICAgIG8gPSAtMSxcbiAgICAgIGEgPSB0WzFdLFxuICAgICAgcyA9IDAsXG4gICAgICBoID0gNyxcbiAgICAgIGwgPSA0O1xuXG4gIGZvciAoMCA9PT0gYSAmJiAoaCA9IDEzOCwgbCA9IDMpLCB0WzIgKiAociArIDEpICsgMV0gPSA2NTUzNSwgbiA9IDA7IG4gPD0gcjsgbisrKSBpID0gYSwgYSA9IHRbMiAqIChuICsgMSkgKyAxXSwgKytzIDwgaCAmJiBpID09PSBhIHx8IChzIDwgbCA/IGUuYmxfdHJlZVsyICogaV0gKz0gcyA6IDAgIT09IGkgPyAoaSAhPT0gbyAmJiBlLmJsX3RyZWVbMiAqIGldKyssIGUuYmxfdHJlZVsyICogY3JdKyspIDogcyA8PSAxMCA/IGUuYmxfdHJlZVsyICogdXJdKysgOiBlLmJsX3RyZWVbMiAqIGRyXSsrLCBzID0gMCwgbyA9IGksIDAgPT09IGEgPyAoaCA9IDEzOCwgbCA9IDMpIDogaSA9PT0gYSA/IChoID0gNiwgbCA9IDMpIDogKGggPSA3LCBsID0gNCkpO1xufVxuXG5mdW5jdGlvbiBacihlLCB0LCByKSB7XG4gIHZhciBuLFxuICAgICAgaSxcbiAgICAgIG8gPSAtMSxcbiAgICAgIGEgPSB0WzFdLFxuICAgICAgcyA9IDAsXG4gICAgICBoID0gNyxcbiAgICAgIGwgPSA0O1xuXG4gIGZvciAoMCA9PT0gYSAmJiAoaCA9IDEzOCwgbCA9IDMpLCBuID0gMDsgbiA8PSByOyBuKyspIGlmIChpID0gYSwgYSA9IHRbMiAqIChuICsgMSkgKyAxXSwgISgrK3MgPCBoICYmIGkgPT09IGEpKSB7XG4gICAgaWYgKHMgPCBsKSBkbyB7XG4gICAgICBNcihlLCBpLCBlLmJsX3RyZWUpO1xuICAgIH0gd2hpbGUgKDAgIT0gLS1zKTtlbHNlIDAgIT09IGkgPyAoaSAhPT0gbyAmJiAoTXIoZSwgaSwgZS5ibF90cmVlKSwgcy0tKSwgTXIoZSwgY3IsIGUuYmxfdHJlZSksIFRyKGUsIHMgLSAzLCAyKSkgOiBzIDw9IDEwID8gKE1yKGUsIHVyLCBlLmJsX3RyZWUpLCBUcihlLCBzIC0gMywgMykpIDogKE1yKGUsIGRyLCBlLmJsX3RyZWUpLCBUcihlLCBzIC0gMTEsIDcpKTtcbiAgICBzID0gMCwgbyA9IGksIDAgPT09IGEgPyAoaCA9IDEzOCwgbCA9IDMpIDogaSA9PT0gYSA/IChoID0gNiwgbCA9IDMpIDogKGggPSA3LCBsID0gNCk7XG4gIH1cbn1cblxuJHQoUnIpO1xudmFyIGpyID0gITE7XG5cbmZ1bmN0aW9uIFdyKGUpIHtcbiAganIgfHwgKCFmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGUsXG4gICAgICAgIHQsXG4gICAgICAgIHIsXG4gICAgICAgIG4sXG4gICAgICAgIGksXG4gICAgICAgIG8gPSBuZXcgQXJyYXkoc3IgKyAxKTtcblxuICAgIGZvciAociA9IDAsIG4gPSAwOyBuIDwgdHIgLSAxOyBuKyspIGZvciAoa3Jbbl0gPSByLCBlID0gMDsgZSA8IDEgPDwgcHJbbl07IGUrKykgbXJbcisrXSA9IG47XG5cbiAgICBmb3IgKG1yW3IgLSAxXSA9IG4sIGkgPSAwLCBuID0gMDsgbiA8IDE2OyBuKyspIGZvciAoUnJbbl0gPSBpLCBlID0gMDsgZSA8IDEgPDwgX3Jbbl07IGUrKykgeXJbaSsrXSA9IG47XG5cbiAgICBmb3IgKGkgPj49IDc7IG4gPCBpcjsgbisrKSBmb3IgKFJyW25dID0gaSA8PCA3LCBlID0gMDsgZSA8IDEgPDwgX3Jbbl0gLSA3OyBlKyspIHlyWzI1NiArIGkrK10gPSBuO1xuXG4gICAgZm9yICh0ID0gMDsgdCA8PSBzcjsgdCsrKSBvW3RdID0gMDtcblxuICAgIGZvciAoZSA9IDA7IGUgPD0gMTQzOykgd3JbMiAqIGUgKyAxXSA9IDgsIGUrKywgb1s4XSsrO1xuXG4gICAgZm9yICg7IGUgPD0gMjU1Oykgd3JbMiAqIGUgKyAxXSA9IDksIGUrKywgb1s5XSsrO1xuXG4gICAgZm9yICg7IGUgPD0gMjc5Oykgd3JbMiAqIGUgKyAxXSA9IDcsIGUrKywgb1s3XSsrO1xuXG4gICAgZm9yICg7IGUgPD0gMjg3Oykgd3JbMiAqIGUgKyAxXSA9IDgsIGUrKywgb1s4XSsrO1xuXG4gICAgZm9yIChEcih3ciwgbnIgKyAxLCBvKSwgZSA9IDA7IGUgPCBpcjsgZSsrKSBiclsyICogZSArIDFdID0gNSwgYnJbMiAqIGVdID0gQ3IoZSwgNSk7XG5cbiAgICBFciA9IG5ldyBBcih3ciwgcHIsIHJyICsgMSwgbnIsIHNyKSwgU3IgPSBuZXcgQXIoYnIsIF9yLCAwLCBpciwgc3IpLCB4ciA9IG5ldyBBcihuZXcgQXJyYXkoMCksIGdyLCAwLCBvciwgbHIpO1xuICB9KCksIGpyID0gITApLCBlLmxfZGVzYyA9IG5ldyBCcihlLmR5bl9sdHJlZSwgRXIpLCBlLmRfZGVzYyA9IG5ldyBCcihlLmR5bl9kdHJlZSwgU3IpLCBlLmJsX2Rlc2MgPSBuZXcgQnIoZS5ibF90cmVlLCB4ciksIGUuYmlfYnVmID0gMCwgZS5iaV92YWxpZCA9IDAsIElyKGUpO1xufVxuXG5mdW5jdGlvbiBZcihlLCB0LCByLCBuKSB7XG4gIFRyKGUsIChKdCA8PCAxKSArIChuID8gMSA6IDApLCAzKSwgZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcbiAgICBQcihlKSwgbiAmJiAoTHIoZSwgciksIExyKGUsIH5yKSksIGp0KGUucGVuZGluZ19idWYsIGUud2luZG93LCB0LCByLCBlLnBlbmRpbmcpLCBlLnBlbmRpbmcgKz0gcjtcbiAgfShlLCB0LCByLCAhMCk7XG59XG5cbmZ1bmN0aW9uIEtyKGUpIHtcbiAgVHIoZSwgUXQgPDwgMSwgMyksIE1yKGUsIGZyLCB3ciksIGZ1bmN0aW9uIChlKSB7XG4gICAgMTYgPT09IGUuYmlfdmFsaWQgPyAoTHIoZSwgZS5iaV9idWYpLCBlLmJpX2J1ZiA9IDAsIGUuYmlfdmFsaWQgPSAwKSA6IGUuYmlfdmFsaWQgPj0gOCAmJiAoZS5wZW5kaW5nX2J1ZltlLnBlbmRpbmcrK10gPSAyNTUgJiBlLmJpX2J1ZiwgZS5iaV9idWYgPj49IDgsIGUuYmlfdmFsaWQgLT0gOCk7XG4gIH0oZSk7XG59XG5cbmZ1bmN0aW9uIFhyKGUsIHQsIHIsIG4pIHtcbiAgdmFyIGksXG4gICAgICBvLFxuICAgICAgYSA9IDA7XG4gIGUubGV2ZWwgPiAwID8gKGUuc3RybS5kYXRhX3R5cGUgPT09IEd0ICYmIChlLnN0cm0uZGF0YV90eXBlID0gZnVuY3Rpb24gKGUpIHtcbiAgICB2YXIgdCxcbiAgICAgICAgciA9IDQwOTM2MjQ0NDc7XG5cbiAgICBmb3IgKHQgPSAwOyB0IDw9IDMxOyB0KyssIHIgPj4+PSAxKSBpZiAoMSAmIHIgJiYgMCAhPT0gZS5keW5fbHRyZWVbMiAqIHRdKSByZXR1cm4gcXQ7XG5cbiAgICBpZiAoMCAhPT0gZS5keW5fbHRyZWVbMThdIHx8IDAgIT09IGUuZHluX2x0cmVlWzIwXSB8fCAwICE9PSBlLmR5bl9sdHJlZVsyNl0pIHJldHVybiBWdDtcblxuICAgIGZvciAodCA9IDMyOyB0IDwgcnI7IHQrKykgaWYgKDAgIT09IGUuZHluX2x0cmVlWzIgKiB0XSkgcmV0dXJuIFZ0O1xuXG4gICAgcmV0dXJuIHF0O1xuICB9KGUpKSwgRnIoZSwgZS5sX2Rlc2MpLCBGcihlLCBlLmRfZGVzYyksIGEgPSBmdW5jdGlvbiAoZSkge1xuICAgIHZhciB0O1xuXG4gICAgZm9yIChOcihlLCBlLmR5bl9sdHJlZSwgZS5sX2Rlc2MubWF4X2NvZGUpLCBOcihlLCBlLmR5bl9kdHJlZSwgZS5kX2Rlc2MubWF4X2NvZGUpLCBGcihlLCBlLmJsX2Rlc2MpLCB0ID0gb3IgLSAxOyB0ID49IDMgJiYgMCA9PT0gZS5ibF90cmVlWzIgKiB2clt0XSArIDFdOyB0LS0pO1xuXG4gICAgcmV0dXJuIGUub3B0X2xlbiArPSAzICogKHQgKyAxKSArIDUgKyA1ICsgNCwgdDtcbiAgfShlKSwgaSA9IGUub3B0X2xlbiArIDMgKyA3ID4+PiAzLCAobyA9IGUuc3RhdGljX2xlbiArIDMgKyA3ID4+PiAzKSA8PSBpICYmIChpID0gbykpIDogaSA9IG8gPSByICsgNSwgciArIDQgPD0gaSAmJiAtMSAhPT0gdCA/IFlyKGUsIHQsIHIsIG4pIDogZS5zdHJhdGVneSA9PT0gWHQgfHwgbyA9PT0gaSA/IChUcihlLCAoUXQgPDwgMSkgKyAobiA/IDEgOiAwKSwgMyksIEhyKGUsIHdyLCBicikpIDogKFRyKGUsIChlciA8PCAxKSArIChuID8gMSA6IDApLCAzKSwgZnVuY3Rpb24gKGUsIHQsIHIsIG4pIHtcbiAgICB2YXIgaTtcblxuICAgIGZvciAoVHIoZSwgdCAtIDI1NywgNSksIFRyKGUsIHIgLSAxLCA1KSwgVHIoZSwgbiAtIDQsIDQpLCBpID0gMDsgaSA8IG47IGkrKykgVHIoZSwgZS5ibF90cmVlWzIgKiB2cltpXSArIDFdLCAzKTtcblxuICAgIFpyKGUsIGUuZHluX2x0cmVlLCB0IC0gMSksIFpyKGUsIGUuZHluX2R0cmVlLCByIC0gMSk7XG4gIH0oZSwgZS5sX2Rlc2MubWF4X2NvZGUgKyAxLCBlLmRfZGVzYy5tYXhfY29kZSArIDEsIGEgKyAxKSwgSHIoZSwgZS5keW5fbHRyZWUsIGUuZHluX2R0cmVlKSksIElyKGUpLCBuICYmIFByKGUpO1xufVxuXG5mdW5jdGlvbiBxcihlLCB0LCByKSB7XG4gIHJldHVybiBlLnBlbmRpbmdfYnVmW2UuZF9idWYgKyAyICogZS5sYXN0X2xpdF0gPSB0ID4+PiA4ICYgMjU1LCBlLnBlbmRpbmdfYnVmW2UuZF9idWYgKyAyICogZS5sYXN0X2xpdCArIDFdID0gMjU1ICYgdCwgZS5wZW5kaW5nX2J1ZltlLmxfYnVmICsgZS5sYXN0X2xpdF0gPSAyNTUgJiByLCBlLmxhc3RfbGl0KyssIDAgPT09IHQgPyBlLmR5bl9sdHJlZVsyICogcl0rKyA6IChlLm1hdGNoZXMrKywgdC0tLCBlLmR5bl9sdHJlZVsyICogKG1yW3JdICsgcnIgKyAxKV0rKywgZS5keW5fZHRyZWVbMiAqIHpyKHQpXSsrKSwgZS5sYXN0X2xpdCA9PT0gZS5saXRfYnVmc2l6ZSAtIDE7XG59XG5cbmZ1bmN0aW9uIFZyKGUsIHQsIHIsIG4pIHtcbiAgZm9yICh2YXIgaSA9IDY1NTM1ICYgZSB8IDAsIG8gPSBlID4+PiAxNiAmIDY1NTM1IHwgMCwgYSA9IDA7IDAgIT09IHI7KSB7XG4gICAgciAtPSBhID0gciA+IDJlMyA/IDJlMyA6IHI7XG5cbiAgICBkbyB7XG4gICAgICBvID0gbyArIChpID0gaSArIHRbbisrXSB8IDApIHwgMDtcbiAgICB9IHdoaWxlICgtLWEpO1xuXG4gICAgaSAlPSA2NTUyMSwgbyAlPSA2NTUyMTtcbiAgfVxuXG4gIHJldHVybiBpIHwgbyA8PCAxNiB8IDA7XG59XG5cbnZhciBHciA9IGZ1bmN0aW9uICgpIHtcbiAgZm9yICh2YXIgZSwgdCA9IFtdLCByID0gMDsgciA8IDI1NjsgcisrKSB7XG4gICAgZSA9IHI7XG5cbiAgICBmb3IgKHZhciBuID0gMDsgbiA8IDg7IG4rKykgZSA9IDEgJiBlID8gMzk4ODI5MjM4NCBeIGUgPj4+IDEgOiBlID4+PiAxO1xuXG4gICAgdFtyXSA9IGU7XG4gIH1cblxuICByZXR1cm4gdDtcbn0oKTtcblxuZnVuY3Rpb24gJHIoZSwgdCwgciwgbikge1xuICB2YXIgaSA9IEdyLFxuICAgICAgbyA9IG4gKyByO1xuICBlIF49IC0xO1xuXG4gIGZvciAodmFyIGEgPSBuOyBhIDwgbzsgYSsrKSBlID0gZSA+Pj4gOCBeIGlbMjU1ICYgKGUgXiB0W2FdKV07XG5cbiAgcmV0dXJuIC0xIF4gZTtcbn1cblxudmFyIEpyLFxuICAgIFFyID0gMCxcbiAgICBlbiA9IDEsXG4gICAgdG4gPSAzLFxuICAgIHJuID0gNCxcbiAgICBubiA9IDUsXG4gICAgb24gPSAwLFxuICAgIGFuID0gMSxcbiAgICBzbiA9IC0yLFxuICAgIGhuID0gLTMsXG4gICAgbG4gPSAtNSxcbiAgICBmbiA9IC0xLFxuICAgIGNuID0gMSxcbiAgICB1biA9IDIsXG4gICAgZG4gPSAzLFxuICAgIHBuID0gNCxcbiAgICBfbiA9IDIsXG4gICAgZ24gPSA4LFxuICAgIHZuID0gOSxcbiAgICB3biA9IDI4NixcbiAgICBibiA9IDMwLFxuICAgIHluID0gMTksXG4gICAgbW4gPSAyICogd24gKyAxLFxuICAgIGtuID0gMTUsXG4gICAgRW4gPSAzLFxuICAgIFNuID0gMjU4LFxuICAgIHhuID0gU24gKyBFbiArIDEsXG4gICAgUm4gPSAzMixcbiAgICBBbiA9IDQyLFxuICAgIEJuID0gNjksXG4gICAgem4gPSA3MyxcbiAgICBMbiA9IDkxLFxuICAgIFRuID0gMTAzLFxuICAgIE1uID0gMTEzLFxuICAgIENuID0gNjY2LFxuICAgIERuID0gMSxcbiAgICBJbiA9IDIsXG4gICAgUG4gPSAzLFxuICAgIE9uID0gNCxcbiAgICBVbiA9IDM7XG5cbmZ1bmN0aW9uIEhuKGUsIHQpIHtcbiAgcmV0dXJuIGUubXNnID0gTnRbdF0sIHQ7XG59XG5cbmZ1bmN0aW9uIEZuKGUpIHtcbiAgcmV0dXJuIChlIDw8IDEpIC0gKGUgPiA0ID8gOSA6IDApO1xufVxuXG5mdW5jdGlvbiBObihlKSB7XG4gIGZvciAodmFyIHQgPSBlLmxlbmd0aDsgLS10ID49IDA7KSBlW3RdID0gMDtcbn1cblxuZnVuY3Rpb24gWm4oZSkge1xuICB2YXIgdCA9IGUuc3RhdGUsXG4gICAgICByID0gdC5wZW5kaW5nO1xuICByID4gZS5hdmFpbF9vdXQgJiYgKHIgPSBlLmF2YWlsX291dCksIDAgIT09IHIgJiYgKGp0KGUub3V0cHV0LCB0LnBlbmRpbmdfYnVmLCB0LnBlbmRpbmdfb3V0LCByLCBlLm5leHRfb3V0KSwgZS5uZXh0X291dCArPSByLCB0LnBlbmRpbmdfb3V0ICs9IHIsIGUudG90YWxfb3V0ICs9IHIsIGUuYXZhaWxfb3V0IC09IHIsIHQucGVuZGluZyAtPSByLCAwID09PSB0LnBlbmRpbmcgJiYgKHQucGVuZGluZ19vdXQgPSAwKSk7XG59XG5cbmZ1bmN0aW9uIGpuKGUsIHQpIHtcbiAgWHIoZSwgZS5ibG9ja19zdGFydCA+PSAwID8gZS5ibG9ja19zdGFydCA6IC0xLCBlLnN0cnN0YXJ0IC0gZS5ibG9ja19zdGFydCwgdCksIGUuYmxvY2tfc3RhcnQgPSBlLnN0cnN0YXJ0LCBabihlLnN0cm0pO1xufVxuXG5mdW5jdGlvbiBXbihlLCB0KSB7XG4gIGUucGVuZGluZ19idWZbZS5wZW5kaW5nKytdID0gdDtcbn1cblxuZnVuY3Rpb24gWW4oZSwgdCkge1xuICBlLnBlbmRpbmdfYnVmW2UucGVuZGluZysrXSA9IHQgPj4+IDggJiAyNTUsIGUucGVuZGluZ19idWZbZS5wZW5kaW5nKytdID0gMjU1ICYgdDtcbn1cblxuZnVuY3Rpb24gS24oZSwgdCkge1xuICB2YXIgcixcbiAgICAgIG4sXG4gICAgICBpID0gZS5tYXhfY2hhaW5fbGVuZ3RoLFxuICAgICAgbyA9IGUuc3Ryc3RhcnQsXG4gICAgICBhID0gZS5wcmV2X2xlbmd0aCxcbiAgICAgIHMgPSBlLm5pY2VfbWF0Y2gsXG4gICAgICBoID0gZS5zdHJzdGFydCA+IGUud19zaXplIC0geG4gPyBlLnN0cnN0YXJ0IC0gKGUud19zaXplIC0geG4pIDogMCxcbiAgICAgIGwgPSBlLndpbmRvdyxcbiAgICAgIGYgPSBlLndfbWFzayxcbiAgICAgIGMgPSBlLnByZXYsXG4gICAgICB1ID0gZS5zdHJzdGFydCArIFNuLFxuICAgICAgZCA9IGxbbyArIGEgLSAxXSxcbiAgICAgIHAgPSBsW28gKyBhXTtcbiAgZS5wcmV2X2xlbmd0aCA+PSBlLmdvb2RfbWF0Y2ggJiYgKGkgPj49IDIpLCBzID4gZS5sb29rYWhlYWQgJiYgKHMgPSBlLmxvb2thaGVhZCk7XG5cbiAgZG8ge1xuICAgIGlmIChsWyhyID0gdCkgKyBhXSA9PT0gcCAmJiBsW3IgKyBhIC0gMV0gPT09IGQgJiYgbFtyXSA9PT0gbFtvXSAmJiBsWysrcl0gPT09IGxbbyArIDFdKSB7XG4gICAgICBvICs9IDIsIHIrKztcblxuICAgICAgZG8ge30gd2hpbGUgKGxbKytvXSA9PT0gbFsrK3JdICYmIGxbKytvXSA9PT0gbFsrK3JdICYmIGxbKytvXSA9PT0gbFsrK3JdICYmIGxbKytvXSA9PT0gbFsrK3JdICYmIGxbKytvXSA9PT0gbFsrK3JdICYmIGxbKytvXSA9PT0gbFsrK3JdICYmIGxbKytvXSA9PT0gbFsrK3JdICYmIGxbKytvXSA9PT0gbFsrK3JdICYmIG8gPCB1KTtcblxuICAgICAgaWYgKG4gPSBTbiAtICh1IC0gbyksIG8gPSB1IC0gU24sIG4gPiBhKSB7XG4gICAgICAgIGlmIChlLm1hdGNoX3N0YXJ0ID0gdCwgYSA9IG4sIG4gPj0gcykgYnJlYWs7XG4gICAgICAgIGQgPSBsW28gKyBhIC0gMV0sIHAgPSBsW28gKyBhXTtcbiAgICAgIH1cbiAgICB9XG4gIH0gd2hpbGUgKCh0ID0gY1t0ICYgZl0pID4gaCAmJiAwICE9IC0taSk7XG5cbiAgcmV0dXJuIGEgPD0gZS5sb29rYWhlYWQgPyBhIDogZS5sb29rYWhlYWQ7XG59XG5cbmZ1bmN0aW9uIFhuKGUpIHtcbiAgdmFyIHQsXG4gICAgICByLFxuICAgICAgbixcbiAgICAgIGksXG4gICAgICBvLFxuICAgICAgYSxcbiAgICAgIHMsXG4gICAgICBoLFxuICAgICAgbCxcbiAgICAgIGYsXG4gICAgICBjID0gZS53X3NpemU7XG5cbiAgZG8ge1xuICAgIGlmIChpID0gZS53aW5kb3dfc2l6ZSAtIGUubG9va2FoZWFkIC0gZS5zdHJzdGFydCwgZS5zdHJzdGFydCA+PSBjICsgKGMgLSB4bikpIHtcbiAgICAgIGp0KGUud2luZG93LCBlLndpbmRvdywgYywgYywgMCksIGUubWF0Y2hfc3RhcnQgLT0gYywgZS5zdHJzdGFydCAtPSBjLCBlLmJsb2NrX3N0YXJ0IC09IGMsIHQgPSByID0gZS5oYXNoX3NpemU7XG5cbiAgICAgIGRvIHtcbiAgICAgICAgbiA9IGUuaGVhZFstLXRdLCBlLmhlYWRbdF0gPSBuID49IGMgPyBuIC0gYyA6IDA7XG4gICAgICB9IHdoaWxlICgtLXIpO1xuXG4gICAgICB0ID0gciA9IGM7XG5cbiAgICAgIGRvIHtcbiAgICAgICAgbiA9IGUucHJldlstLXRdLCBlLnByZXZbdF0gPSBuID49IGMgPyBuIC0gYyA6IDA7XG4gICAgICB9IHdoaWxlICgtLXIpO1xuXG4gICAgICBpICs9IGM7XG4gICAgfVxuXG4gICAgaWYgKDAgPT09IGUuc3RybS5hdmFpbF9pbikgYnJlYWs7XG4gICAgaWYgKGEgPSBlLnN0cm0sIHMgPSBlLndpbmRvdywgaCA9IGUuc3Ryc3RhcnQgKyBlLmxvb2thaGVhZCwgbCA9IGksIGYgPSB2b2lkIDAsIChmID0gYS5hdmFpbF9pbikgPiBsICYmIChmID0gbCksIHIgPSAwID09PSBmID8gMCA6IChhLmF2YWlsX2luIC09IGYsIGp0KHMsIGEuaW5wdXQsIGEubmV4dF9pbiwgZiwgaCksIDEgPT09IGEuc3RhdGUud3JhcCA/IGEuYWRsZXIgPSBWcihhLmFkbGVyLCBzLCBmLCBoKSA6IDIgPT09IGEuc3RhdGUud3JhcCAmJiAoYS5hZGxlciA9ICRyKGEuYWRsZXIsIHMsIGYsIGgpKSwgYS5uZXh0X2luICs9IGYsIGEudG90YWxfaW4gKz0gZiwgZiksIGUubG9va2FoZWFkICs9IHIsIGUubG9va2FoZWFkICsgZS5pbnNlcnQgPj0gRW4pIGZvciAobyA9IGUuc3Ryc3RhcnQgLSBlLmluc2VydCwgZS5pbnNfaCA9IGUud2luZG93W29dLCBlLmluc19oID0gKGUuaW5zX2ggPDwgZS5oYXNoX3NoaWZ0IF4gZS53aW5kb3dbbyArIDFdKSAmIGUuaGFzaF9tYXNrOyBlLmluc2VydCAmJiAoZS5pbnNfaCA9IChlLmluc19oIDw8IGUuaGFzaF9zaGlmdCBeIGUud2luZG93W28gKyBFbiAtIDFdKSAmIGUuaGFzaF9tYXNrLCBlLnByZXZbbyAmIGUud19tYXNrXSA9IGUuaGVhZFtlLmluc19oXSwgZS5oZWFkW2UuaW5zX2hdID0gbywgbysrLCBlLmluc2VydC0tLCAhKGUubG9va2FoZWFkICsgZS5pbnNlcnQgPCBFbikpOyk7XG4gIH0gd2hpbGUgKGUubG9va2FoZWFkIDwgeG4gJiYgMCAhPT0gZS5zdHJtLmF2YWlsX2luKTtcbn1cblxuZnVuY3Rpb24gcW4oZSwgdCkge1xuICBmb3IgKHZhciByLCBuOzspIHtcbiAgICBpZiAoZS5sb29rYWhlYWQgPCB4bikge1xuICAgICAgaWYgKFhuKGUpLCBlLmxvb2thaGVhZCA8IHhuICYmIHQgPT09IFFyKSByZXR1cm4gRG47XG4gICAgICBpZiAoMCA9PT0gZS5sb29rYWhlYWQpIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChyID0gMCwgZS5sb29rYWhlYWQgPj0gRW4gJiYgKGUuaW5zX2ggPSAoZS5pbnNfaCA8PCBlLmhhc2hfc2hpZnQgXiBlLndpbmRvd1tlLnN0cnN0YXJ0ICsgRW4gLSAxXSkgJiBlLmhhc2hfbWFzaywgciA9IGUucHJldltlLnN0cnN0YXJ0ICYgZS53X21hc2tdID0gZS5oZWFkW2UuaW5zX2hdLCBlLmhlYWRbZS5pbnNfaF0gPSBlLnN0cnN0YXJ0KSwgMCAhPT0gciAmJiBlLnN0cnN0YXJ0IC0gciA8PSBlLndfc2l6ZSAtIHhuICYmIChlLm1hdGNoX2xlbmd0aCA9IEtuKGUsIHIpKSwgZS5tYXRjaF9sZW5ndGggPj0gRW4pIHtcbiAgICAgIGlmIChuID0gcXIoZSwgZS5zdHJzdGFydCAtIGUubWF0Y2hfc3RhcnQsIGUubWF0Y2hfbGVuZ3RoIC0gRW4pLCBlLmxvb2thaGVhZCAtPSBlLm1hdGNoX2xlbmd0aCwgZS5tYXRjaF9sZW5ndGggPD0gZS5tYXhfbGF6eV9tYXRjaCAmJiBlLmxvb2thaGVhZCA+PSBFbikge1xuICAgICAgICBlLm1hdGNoX2xlbmd0aC0tO1xuXG4gICAgICAgIGRvIHtcbiAgICAgICAgICBlLnN0cnN0YXJ0KyssIGUuaW5zX2ggPSAoZS5pbnNfaCA8PCBlLmhhc2hfc2hpZnQgXiBlLndpbmRvd1tlLnN0cnN0YXJ0ICsgRW4gLSAxXSkgJiBlLmhhc2hfbWFzaywgciA9IGUucHJldltlLnN0cnN0YXJ0ICYgZS53X21hc2tdID0gZS5oZWFkW2UuaW5zX2hdLCBlLmhlYWRbZS5pbnNfaF0gPSBlLnN0cnN0YXJ0O1xuICAgICAgICB9IHdoaWxlICgwICE9IC0tZS5tYXRjaF9sZW5ndGgpO1xuXG4gICAgICAgIGUuc3Ryc3RhcnQrKztcbiAgICAgIH0gZWxzZSBlLnN0cnN0YXJ0ICs9IGUubWF0Y2hfbGVuZ3RoLCBlLm1hdGNoX2xlbmd0aCA9IDAsIGUuaW5zX2ggPSBlLndpbmRvd1tlLnN0cnN0YXJ0XSwgZS5pbnNfaCA9IChlLmluc19oIDw8IGUuaGFzaF9zaGlmdCBeIGUud2luZG93W2Uuc3Ryc3RhcnQgKyAxXSkgJiBlLmhhc2hfbWFzaztcbiAgICB9IGVsc2UgbiA9IHFyKGUsIDAsIGUud2luZG93W2Uuc3Ryc3RhcnRdKSwgZS5sb29rYWhlYWQtLSwgZS5zdHJzdGFydCsrO1xuICAgIGlmIChuICYmIChqbihlLCAhMSksIDAgPT09IGUuc3RybS5hdmFpbF9vdXQpKSByZXR1cm4gRG47XG4gIH1cblxuICByZXR1cm4gZS5pbnNlcnQgPSBlLnN0cnN0YXJ0IDwgRW4gLSAxID8gZS5zdHJzdGFydCA6IEVuIC0gMSwgdCA9PT0gcm4gPyAoam4oZSwgITApLCAwID09PSBlLnN0cm0uYXZhaWxfb3V0ID8gUG4gOiBPbikgOiBlLmxhc3RfbGl0ICYmIChqbihlLCAhMSksIDAgPT09IGUuc3RybS5hdmFpbF9vdXQpID8gRG4gOiBJbjtcbn1cblxuZnVuY3Rpb24gVm4oZSwgdCkge1xuICBmb3IgKHZhciByLCBuLCBpOzspIHtcbiAgICBpZiAoZS5sb29rYWhlYWQgPCB4bikge1xuICAgICAgaWYgKFhuKGUpLCBlLmxvb2thaGVhZCA8IHhuICYmIHQgPT09IFFyKSByZXR1cm4gRG47XG4gICAgICBpZiAoMCA9PT0gZS5sb29rYWhlYWQpIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChyID0gMCwgZS5sb29rYWhlYWQgPj0gRW4gJiYgKGUuaW5zX2ggPSAoZS5pbnNfaCA8PCBlLmhhc2hfc2hpZnQgXiBlLndpbmRvd1tlLnN0cnN0YXJ0ICsgRW4gLSAxXSkgJiBlLmhhc2hfbWFzaywgciA9IGUucHJldltlLnN0cnN0YXJ0ICYgZS53X21hc2tdID0gZS5oZWFkW2UuaW5zX2hdLCBlLmhlYWRbZS5pbnNfaF0gPSBlLnN0cnN0YXJ0KSwgZS5wcmV2X2xlbmd0aCA9IGUubWF0Y2hfbGVuZ3RoLCBlLnByZXZfbWF0Y2ggPSBlLm1hdGNoX3N0YXJ0LCBlLm1hdGNoX2xlbmd0aCA9IEVuIC0gMSwgMCAhPT0gciAmJiBlLnByZXZfbGVuZ3RoIDwgZS5tYXhfbGF6eV9tYXRjaCAmJiBlLnN0cnN0YXJ0IC0gciA8PSBlLndfc2l6ZSAtIHhuICYmIChlLm1hdGNoX2xlbmd0aCA9IEtuKGUsIHIpLCBlLm1hdGNoX2xlbmd0aCA8PSA1ICYmIChlLnN0cmF0ZWd5ID09PSBjbiB8fCBlLm1hdGNoX2xlbmd0aCA9PT0gRW4gJiYgZS5zdHJzdGFydCAtIGUubWF0Y2hfc3RhcnQgPiA0MDk2KSAmJiAoZS5tYXRjaF9sZW5ndGggPSBFbiAtIDEpKSwgZS5wcmV2X2xlbmd0aCA+PSBFbiAmJiBlLm1hdGNoX2xlbmd0aCA8PSBlLnByZXZfbGVuZ3RoKSB7XG4gICAgICBpID0gZS5zdHJzdGFydCArIGUubG9va2FoZWFkIC0gRW4sIG4gPSBxcihlLCBlLnN0cnN0YXJ0IC0gMSAtIGUucHJldl9tYXRjaCwgZS5wcmV2X2xlbmd0aCAtIEVuKSwgZS5sb29rYWhlYWQgLT0gZS5wcmV2X2xlbmd0aCAtIDEsIGUucHJldl9sZW5ndGggLT0gMjtcblxuICAgICAgZG8ge1xuICAgICAgICArK2Uuc3Ryc3RhcnQgPD0gaSAmJiAoZS5pbnNfaCA9IChlLmluc19oIDw8IGUuaGFzaF9zaGlmdCBeIGUud2luZG93W2Uuc3Ryc3RhcnQgKyBFbiAtIDFdKSAmIGUuaGFzaF9tYXNrLCByID0gZS5wcmV2W2Uuc3Ryc3RhcnQgJiBlLndfbWFza10gPSBlLmhlYWRbZS5pbnNfaF0sIGUuaGVhZFtlLmluc19oXSA9IGUuc3Ryc3RhcnQpO1xuICAgICAgfSB3aGlsZSAoMCAhPSAtLWUucHJldl9sZW5ndGgpO1xuXG4gICAgICBpZiAoZS5tYXRjaF9hdmFpbGFibGUgPSAwLCBlLm1hdGNoX2xlbmd0aCA9IEVuIC0gMSwgZS5zdHJzdGFydCsrLCBuICYmIChqbihlLCAhMSksIDAgPT09IGUuc3RybS5hdmFpbF9vdXQpKSByZXR1cm4gRG47XG4gICAgfSBlbHNlIGlmIChlLm1hdGNoX2F2YWlsYWJsZSkge1xuICAgICAgaWYgKChuID0gcXIoZSwgMCwgZS53aW5kb3dbZS5zdHJzdGFydCAtIDFdKSkgJiYgam4oZSwgITEpLCBlLnN0cnN0YXJ0KyssIGUubG9va2FoZWFkLS0sIDAgPT09IGUuc3RybS5hdmFpbF9vdXQpIHJldHVybiBEbjtcbiAgICB9IGVsc2UgZS5tYXRjaF9hdmFpbGFibGUgPSAxLCBlLnN0cnN0YXJ0KyssIGUubG9va2FoZWFkLS07XG4gIH1cblxuICByZXR1cm4gZS5tYXRjaF9hdmFpbGFibGUgJiYgKG4gPSBxcihlLCAwLCBlLndpbmRvd1tlLnN0cnN0YXJ0IC0gMV0pLCBlLm1hdGNoX2F2YWlsYWJsZSA9IDApLCBlLmluc2VydCA9IGUuc3Ryc3RhcnQgPCBFbiAtIDEgPyBlLnN0cnN0YXJ0IDogRW4gLSAxLCB0ID09PSBybiA/IChqbihlLCAhMCksIDAgPT09IGUuc3RybS5hdmFpbF9vdXQgPyBQbiA6IE9uKSA6IGUubGFzdF9saXQgJiYgKGpuKGUsICExKSwgMCA9PT0gZS5zdHJtLmF2YWlsX291dCkgPyBEbiA6IEluO1xufVxuXG5mdW5jdGlvbiBHbihlLCB0LCByLCBuLCBpKSB7XG4gIHRoaXMuZ29vZF9sZW5ndGggPSBlLCB0aGlzLm1heF9sYXp5ID0gdCwgdGhpcy5uaWNlX2xlbmd0aCA9IHIsIHRoaXMubWF4X2NoYWluID0gbiwgdGhpcy5mdW5jID0gaTtcbn1cblxuZnVuY3Rpb24gJG4oKSB7XG4gIHRoaXMuc3RybSA9IG51bGwsIHRoaXMuc3RhdHVzID0gMCwgdGhpcy5wZW5kaW5nX2J1ZiA9IG51bGwsIHRoaXMucGVuZGluZ19idWZfc2l6ZSA9IDAsIHRoaXMucGVuZGluZ19vdXQgPSAwLCB0aGlzLnBlbmRpbmcgPSAwLCB0aGlzLndyYXAgPSAwLCB0aGlzLmd6aGVhZCA9IG51bGwsIHRoaXMuZ3ppbmRleCA9IDAsIHRoaXMubWV0aG9kID0gZ24sIHRoaXMubGFzdF9mbHVzaCA9IC0xLCB0aGlzLndfc2l6ZSA9IDAsIHRoaXMud19iaXRzID0gMCwgdGhpcy53X21hc2sgPSAwLCB0aGlzLndpbmRvdyA9IG51bGwsIHRoaXMud2luZG93X3NpemUgPSAwLCB0aGlzLnByZXYgPSBudWxsLCB0aGlzLmhlYWQgPSBudWxsLCB0aGlzLmluc19oID0gMCwgdGhpcy5oYXNoX3NpemUgPSAwLCB0aGlzLmhhc2hfYml0cyA9IDAsIHRoaXMuaGFzaF9tYXNrID0gMCwgdGhpcy5oYXNoX3NoaWZ0ID0gMCwgdGhpcy5ibG9ja19zdGFydCA9IDAsIHRoaXMubWF0Y2hfbGVuZ3RoID0gMCwgdGhpcy5wcmV2X21hdGNoID0gMCwgdGhpcy5tYXRjaF9hdmFpbGFibGUgPSAwLCB0aGlzLnN0cnN0YXJ0ID0gMCwgdGhpcy5tYXRjaF9zdGFydCA9IDAsIHRoaXMubG9va2FoZWFkID0gMCwgdGhpcy5wcmV2X2xlbmd0aCA9IDAsIHRoaXMubWF4X2NoYWluX2xlbmd0aCA9IDAsIHRoaXMubWF4X2xhenlfbWF0Y2ggPSAwLCB0aGlzLmxldmVsID0gMCwgdGhpcy5zdHJhdGVneSA9IDAsIHRoaXMuZ29vZF9tYXRjaCA9IDAsIHRoaXMubmljZV9tYXRjaCA9IDAsIHRoaXMuZHluX2x0cmVlID0gbmV3IFl0KDIgKiBtbiksIHRoaXMuZHluX2R0cmVlID0gbmV3IFl0KDIgKiAoMiAqIGJuICsgMSkpLCB0aGlzLmJsX3RyZWUgPSBuZXcgWXQoMiAqICgyICogeW4gKyAxKSksIE5uKHRoaXMuZHluX2x0cmVlKSwgTm4odGhpcy5keW5fZHRyZWUpLCBObih0aGlzLmJsX3RyZWUpLCB0aGlzLmxfZGVzYyA9IG51bGwsIHRoaXMuZF9kZXNjID0gbnVsbCwgdGhpcy5ibF9kZXNjID0gbnVsbCwgdGhpcy5ibF9jb3VudCA9IG5ldyBZdChrbiArIDEpLCB0aGlzLmhlYXAgPSBuZXcgWXQoMiAqIHduICsgMSksIE5uKHRoaXMuaGVhcCksIHRoaXMuaGVhcF9sZW4gPSAwLCB0aGlzLmhlYXBfbWF4ID0gMCwgdGhpcy5kZXB0aCA9IG5ldyBZdCgyICogd24gKyAxKSwgTm4odGhpcy5kZXB0aCksIHRoaXMubF9idWYgPSAwLCB0aGlzLmxpdF9idWZzaXplID0gMCwgdGhpcy5sYXN0X2xpdCA9IDAsIHRoaXMuZF9idWYgPSAwLCB0aGlzLm9wdF9sZW4gPSAwLCB0aGlzLnN0YXRpY19sZW4gPSAwLCB0aGlzLm1hdGNoZXMgPSAwLCB0aGlzLmluc2VydCA9IDAsIHRoaXMuYmlfYnVmID0gMCwgdGhpcy5iaV92YWxpZCA9IDA7XG59XG5cbmZ1bmN0aW9uIEpuKGUpIHtcbiAgdmFyIHQsXG4gICAgICByID0gZnVuY3Rpb24gKGUpIHtcbiAgICB2YXIgdDtcbiAgICByZXR1cm4gZSAmJiBlLnN0YXRlID8gKGUudG90YWxfaW4gPSBlLnRvdGFsX291dCA9IDAsIGUuZGF0YV90eXBlID0gX24sICh0ID0gZS5zdGF0ZSkucGVuZGluZyA9IDAsIHQucGVuZGluZ19vdXQgPSAwLCB0LndyYXAgPCAwICYmICh0LndyYXAgPSAtdC53cmFwKSwgdC5zdGF0dXMgPSB0LndyYXAgPyBBbiA6IE1uLCBlLmFkbGVyID0gMiA9PT0gdC53cmFwID8gMCA6IDEsIHQubGFzdF9mbHVzaCA9IFFyLCBXcih0KSwgb24pIDogSG4oZSwgc24pO1xuICB9KGUpO1xuXG4gIHJldHVybiByID09PSBvbiAmJiAoKHQgPSBlLnN0YXRlKS53aW5kb3dfc2l6ZSA9IDIgKiB0Lndfc2l6ZSwgTm4odC5oZWFkKSwgdC5tYXhfbGF6eV9tYXRjaCA9IEpyW3QubGV2ZWxdLm1heF9sYXp5LCB0Lmdvb2RfbWF0Y2ggPSBKclt0LmxldmVsXS5nb29kX2xlbmd0aCwgdC5uaWNlX21hdGNoID0gSnJbdC5sZXZlbF0ubmljZV9sZW5ndGgsIHQubWF4X2NoYWluX2xlbmd0aCA9IEpyW3QubGV2ZWxdLm1heF9jaGFpbiwgdC5zdHJzdGFydCA9IDAsIHQuYmxvY2tfc3RhcnQgPSAwLCB0Lmxvb2thaGVhZCA9IDAsIHQuaW5zZXJ0ID0gMCwgdC5tYXRjaF9sZW5ndGggPSB0LnByZXZfbGVuZ3RoID0gRW4gLSAxLCB0Lm1hdGNoX2F2YWlsYWJsZSA9IDAsIHQuaW5zX2ggPSAwKSwgcjtcbn1cblxuZnVuY3Rpb24gUW4oZSwgdCkge1xuICB2YXIgciwgbiwgaSwgbztcbiAgaWYgKCFlIHx8ICFlLnN0YXRlIHx8IHQgPiBubiB8fCB0IDwgMCkgcmV0dXJuIGUgPyBIbihlLCBzbikgOiBzbjtcbiAgaWYgKG4gPSBlLnN0YXRlLCAhZS5vdXRwdXQgfHwgIWUuaW5wdXQgJiYgMCAhPT0gZS5hdmFpbF9pbiB8fCBuLnN0YXR1cyA9PT0gQ24gJiYgdCAhPT0gcm4pIHJldHVybiBIbihlLCAwID09PSBlLmF2YWlsX291dCA/IGxuIDogc24pO1xuICBpZiAobi5zdHJtID0gZSwgciA9IG4ubGFzdF9mbHVzaCwgbi5sYXN0X2ZsdXNoID0gdCwgbi5zdGF0dXMgPT09IEFuKSBpZiAoMiA9PT0gbi53cmFwKSBlLmFkbGVyID0gMCwgV24obiwgMzEpLCBXbihuLCAxMzkpLCBXbihuLCA4KSwgbi5nemhlYWQgPyAoV24obiwgKG4uZ3poZWFkLnRleHQgPyAxIDogMCkgKyAobi5nemhlYWQuaGNyYyA/IDIgOiAwKSArIChuLmd6aGVhZC5leHRyYSA/IDQgOiAwKSArIChuLmd6aGVhZC5uYW1lID8gOCA6IDApICsgKG4uZ3poZWFkLmNvbW1lbnQgPyAxNiA6IDApKSwgV24obiwgMjU1ICYgbi5nemhlYWQudGltZSksIFduKG4sIG4uZ3poZWFkLnRpbWUgPj4gOCAmIDI1NSksIFduKG4sIG4uZ3poZWFkLnRpbWUgPj4gMTYgJiAyNTUpLCBXbihuLCBuLmd6aGVhZC50aW1lID4+IDI0ICYgMjU1KSwgV24obiwgOSA9PT0gbi5sZXZlbCA/IDIgOiBuLnN0cmF0ZWd5ID49IHVuIHx8IG4ubGV2ZWwgPCAyID8gNCA6IDApLCBXbihuLCAyNTUgJiBuLmd6aGVhZC5vcyksIG4uZ3poZWFkLmV4dHJhICYmIG4uZ3poZWFkLmV4dHJhLmxlbmd0aCAmJiAoV24obiwgMjU1ICYgbi5nemhlYWQuZXh0cmEubGVuZ3RoKSwgV24obiwgbi5nemhlYWQuZXh0cmEubGVuZ3RoID4+IDggJiAyNTUpKSwgbi5nemhlYWQuaGNyYyAmJiAoZS5hZGxlciA9ICRyKGUuYWRsZXIsIG4ucGVuZGluZ19idWYsIG4ucGVuZGluZywgMCkpLCBuLmd6aW5kZXggPSAwLCBuLnN0YXR1cyA9IEJuKSA6IChXbihuLCAwKSwgV24obiwgMCksIFduKG4sIDApLCBXbihuLCAwKSwgV24obiwgMCksIFduKG4sIDkgPT09IG4ubGV2ZWwgPyAyIDogbi5zdHJhdGVneSA+PSB1biB8fCBuLmxldmVsIDwgMiA/IDQgOiAwKSwgV24obiwgVW4pLCBuLnN0YXR1cyA9IE1uKTtlbHNlIHtcbiAgICB2YXIgYSA9IGduICsgKG4ud19iaXRzIC0gOCA8PCA0KSA8PCA4O1xuICAgIGEgfD0gKG4uc3RyYXRlZ3kgPj0gdW4gfHwgbi5sZXZlbCA8IDIgPyAwIDogbi5sZXZlbCA8IDYgPyAxIDogNiA9PT0gbi5sZXZlbCA/IDIgOiAzKSA8PCA2LCAwICE9PSBuLnN0cnN0YXJ0ICYmIChhIHw9IFJuKSwgYSArPSAzMSAtIGEgJSAzMSwgbi5zdGF0dXMgPSBNbiwgWW4obiwgYSksIDAgIT09IG4uc3Ryc3RhcnQgJiYgKFluKG4sIGUuYWRsZXIgPj4+IDE2KSwgWW4obiwgNjU1MzUgJiBlLmFkbGVyKSksIGUuYWRsZXIgPSAxO1xuICB9XG4gIGlmIChuLnN0YXR1cyA9PT0gQm4pIGlmIChuLmd6aGVhZC5leHRyYSkge1xuICAgIGZvciAoaSA9IG4ucGVuZGluZzsgbi5nemluZGV4IDwgKDY1NTM1ICYgbi5nemhlYWQuZXh0cmEubGVuZ3RoKSAmJiAobi5wZW5kaW5nICE9PSBuLnBlbmRpbmdfYnVmX3NpemUgfHwgKG4uZ3poZWFkLmhjcmMgJiYgbi5wZW5kaW5nID4gaSAmJiAoZS5hZGxlciA9ICRyKGUuYWRsZXIsIG4ucGVuZGluZ19idWYsIG4ucGVuZGluZyAtIGksIGkpKSwgWm4oZSksIGkgPSBuLnBlbmRpbmcsIG4ucGVuZGluZyAhPT0gbi5wZW5kaW5nX2J1Zl9zaXplKSk7KSBXbihuLCAyNTUgJiBuLmd6aGVhZC5leHRyYVtuLmd6aW5kZXhdKSwgbi5nemluZGV4Kys7XG5cbiAgICBuLmd6aGVhZC5oY3JjICYmIG4ucGVuZGluZyA+IGkgJiYgKGUuYWRsZXIgPSAkcihlLmFkbGVyLCBuLnBlbmRpbmdfYnVmLCBuLnBlbmRpbmcgLSBpLCBpKSksIG4uZ3ppbmRleCA9PT0gbi5nemhlYWQuZXh0cmEubGVuZ3RoICYmIChuLmd6aW5kZXggPSAwLCBuLnN0YXR1cyA9IHpuKTtcbiAgfSBlbHNlIG4uc3RhdHVzID0gem47XG4gIGlmIChuLnN0YXR1cyA9PT0gem4pIGlmIChuLmd6aGVhZC5uYW1lKSB7XG4gICAgaSA9IG4ucGVuZGluZztcblxuICAgIGRvIHtcbiAgICAgIGlmIChuLnBlbmRpbmcgPT09IG4ucGVuZGluZ19idWZfc2l6ZSAmJiAobi5nemhlYWQuaGNyYyAmJiBuLnBlbmRpbmcgPiBpICYmIChlLmFkbGVyID0gJHIoZS5hZGxlciwgbi5wZW5kaW5nX2J1Ziwgbi5wZW5kaW5nIC0gaSwgaSkpLCBabihlKSwgaSA9IG4ucGVuZGluZywgbi5wZW5kaW5nID09PSBuLnBlbmRpbmdfYnVmX3NpemUpKSB7XG4gICAgICAgIG8gPSAxO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgbyA9IG4uZ3ppbmRleCA8IG4uZ3poZWFkLm5hbWUubGVuZ3RoID8gMjU1ICYgbi5nemhlYWQubmFtZS5jaGFyQ29kZUF0KG4uZ3ppbmRleCsrKSA6IDAsIFduKG4sIG8pO1xuICAgIH0gd2hpbGUgKDAgIT09IG8pO1xuXG4gICAgbi5nemhlYWQuaGNyYyAmJiBuLnBlbmRpbmcgPiBpICYmIChlLmFkbGVyID0gJHIoZS5hZGxlciwgbi5wZW5kaW5nX2J1Ziwgbi5wZW5kaW5nIC0gaSwgaSkpLCAwID09PSBvICYmIChuLmd6aW5kZXggPSAwLCBuLnN0YXR1cyA9IExuKTtcbiAgfSBlbHNlIG4uc3RhdHVzID0gTG47XG4gIGlmIChuLnN0YXR1cyA9PT0gTG4pIGlmIChuLmd6aGVhZC5jb21tZW50KSB7XG4gICAgaSA9IG4ucGVuZGluZztcblxuICAgIGRvIHtcbiAgICAgIGlmIChuLnBlbmRpbmcgPT09IG4ucGVuZGluZ19idWZfc2l6ZSAmJiAobi5nemhlYWQuaGNyYyAmJiBuLnBlbmRpbmcgPiBpICYmIChlLmFkbGVyID0gJHIoZS5hZGxlciwgbi5wZW5kaW5nX2J1Ziwgbi5wZW5kaW5nIC0gaSwgaSkpLCBabihlKSwgaSA9IG4ucGVuZGluZywgbi5wZW5kaW5nID09PSBuLnBlbmRpbmdfYnVmX3NpemUpKSB7XG4gICAgICAgIG8gPSAxO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgbyA9IG4uZ3ppbmRleCA8IG4uZ3poZWFkLmNvbW1lbnQubGVuZ3RoID8gMjU1ICYgbi5nemhlYWQuY29tbWVudC5jaGFyQ29kZUF0KG4uZ3ppbmRleCsrKSA6IDAsIFduKG4sIG8pO1xuICAgIH0gd2hpbGUgKDAgIT09IG8pO1xuXG4gICAgbi5nemhlYWQuaGNyYyAmJiBuLnBlbmRpbmcgPiBpICYmIChlLmFkbGVyID0gJHIoZS5hZGxlciwgbi5wZW5kaW5nX2J1Ziwgbi5wZW5kaW5nIC0gaSwgaSkpLCAwID09PSBvICYmIChuLnN0YXR1cyA9IFRuKTtcbiAgfSBlbHNlIG4uc3RhdHVzID0gVG47XG5cbiAgaWYgKG4uc3RhdHVzID09PSBUbiAmJiAobi5nemhlYWQuaGNyYyA/IChuLnBlbmRpbmcgKyAyID4gbi5wZW5kaW5nX2J1Zl9zaXplICYmIFpuKGUpLCBuLnBlbmRpbmcgKyAyIDw9IG4ucGVuZGluZ19idWZfc2l6ZSAmJiAoV24obiwgMjU1ICYgZS5hZGxlciksIFduKG4sIGUuYWRsZXIgPj4gOCAmIDI1NSksIGUuYWRsZXIgPSAwLCBuLnN0YXR1cyA9IE1uKSkgOiBuLnN0YXR1cyA9IE1uKSwgMCAhPT0gbi5wZW5kaW5nKSB7XG4gICAgaWYgKFpuKGUpLCAwID09PSBlLmF2YWlsX291dCkgcmV0dXJuIG4ubGFzdF9mbHVzaCA9IC0xLCBvbjtcbiAgfSBlbHNlIGlmICgwID09PSBlLmF2YWlsX2luICYmIEZuKHQpIDw9IEZuKHIpICYmIHQgIT09IHJuKSByZXR1cm4gSG4oZSwgbG4pO1xuXG4gIGlmIChuLnN0YXR1cyA9PT0gQ24gJiYgMCAhPT0gZS5hdmFpbF9pbikgcmV0dXJuIEhuKGUsIGxuKTtcblxuICBpZiAoMCAhPT0gZS5hdmFpbF9pbiB8fCAwICE9PSBuLmxvb2thaGVhZCB8fCB0ICE9PSBRciAmJiBuLnN0YXR1cyAhPT0gQ24pIHtcbiAgICB2YXIgcyA9IG4uc3RyYXRlZ3kgPT09IHVuID8gZnVuY3Rpb24gKGUsIHQpIHtcbiAgICAgIGZvciAodmFyIHI7Oykge1xuICAgICAgICBpZiAoMCA9PT0gZS5sb29rYWhlYWQgJiYgKFhuKGUpLCAwID09PSBlLmxvb2thaGVhZCkpIHtcbiAgICAgICAgICBpZiAodCA9PT0gUXIpIHJldHVybiBEbjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlLm1hdGNoX2xlbmd0aCA9IDAsIHIgPSBxcihlLCAwLCBlLndpbmRvd1tlLnN0cnN0YXJ0XSksIGUubG9va2FoZWFkLS0sIGUuc3Ryc3RhcnQrKywgciAmJiAoam4oZSwgITEpLCAwID09PSBlLnN0cm0uYXZhaWxfb3V0KSkgcmV0dXJuIERuO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZS5pbnNlcnQgPSAwLCB0ID09PSBybiA/IChqbihlLCAhMCksIDAgPT09IGUuc3RybS5hdmFpbF9vdXQgPyBQbiA6IE9uKSA6IGUubGFzdF9saXQgJiYgKGpuKGUsICExKSwgMCA9PT0gZS5zdHJtLmF2YWlsX291dCkgPyBEbiA6IEluO1xuICAgIH0obiwgdCkgOiBuLnN0cmF0ZWd5ID09PSBkbiA/IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgICBmb3IgKHZhciByLCBuLCBpLCBvLCBhID0gZS53aW5kb3c7Oykge1xuICAgICAgICBpZiAoZS5sb29rYWhlYWQgPD0gU24pIHtcbiAgICAgICAgICBpZiAoWG4oZSksIGUubG9va2FoZWFkIDw9IFNuICYmIHQgPT09IFFyKSByZXR1cm4gRG47XG4gICAgICAgICAgaWYgKDAgPT09IGUubG9va2FoZWFkKSBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlLm1hdGNoX2xlbmd0aCA9IDAsIGUubG9va2FoZWFkID49IEVuICYmIGUuc3Ryc3RhcnQgPiAwICYmIChuID0gYVtpID0gZS5zdHJzdGFydCAtIDFdKSA9PT0gYVsrK2ldICYmIG4gPT09IGFbKytpXSAmJiBuID09PSBhWysraV0pIHtcbiAgICAgICAgICBvID0gZS5zdHJzdGFydCArIFNuO1xuXG4gICAgICAgICAgZG8ge30gd2hpbGUgKG4gPT09IGFbKytpXSAmJiBuID09PSBhWysraV0gJiYgbiA9PT0gYVsrK2ldICYmIG4gPT09IGFbKytpXSAmJiBuID09PSBhWysraV0gJiYgbiA9PT0gYVsrK2ldICYmIG4gPT09IGFbKytpXSAmJiBuID09PSBhWysraV0gJiYgaSA8IG8pO1xuXG4gICAgICAgICAgZS5tYXRjaF9sZW5ndGggPSBTbiAtIChvIC0gaSksIGUubWF0Y2hfbGVuZ3RoID4gZS5sb29rYWhlYWQgJiYgKGUubWF0Y2hfbGVuZ3RoID0gZS5sb29rYWhlYWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGUubWF0Y2hfbGVuZ3RoID49IEVuID8gKHIgPSBxcihlLCAxLCBlLm1hdGNoX2xlbmd0aCAtIEVuKSwgZS5sb29rYWhlYWQgLT0gZS5tYXRjaF9sZW5ndGgsIGUuc3Ryc3RhcnQgKz0gZS5tYXRjaF9sZW5ndGgsIGUubWF0Y2hfbGVuZ3RoID0gMCkgOiAociA9IHFyKGUsIDAsIGUud2luZG93W2Uuc3Ryc3RhcnRdKSwgZS5sb29rYWhlYWQtLSwgZS5zdHJzdGFydCsrKSwgciAmJiAoam4oZSwgITEpLCAwID09PSBlLnN0cm0uYXZhaWxfb3V0KSkgcmV0dXJuIERuO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZS5pbnNlcnQgPSAwLCB0ID09PSBybiA/IChqbihlLCAhMCksIDAgPT09IGUuc3RybS5hdmFpbF9vdXQgPyBQbiA6IE9uKSA6IGUubGFzdF9saXQgJiYgKGpuKGUsICExKSwgMCA9PT0gZS5zdHJtLmF2YWlsX291dCkgPyBEbiA6IEluO1xuICAgIH0obiwgdCkgOiBKcltuLmxldmVsXS5mdW5jKG4sIHQpO1xuICAgIGlmIChzICE9PSBQbiAmJiBzICE9PSBPbiB8fCAobi5zdGF0dXMgPSBDbiksIHMgPT09IERuIHx8IHMgPT09IFBuKSByZXR1cm4gMCA9PT0gZS5hdmFpbF9vdXQgJiYgKG4ubGFzdF9mbHVzaCA9IC0xKSwgb247XG4gICAgaWYgKHMgPT09IEluICYmICh0ID09PSBlbiA/IEtyKG4pIDogdCAhPT0gbm4gJiYgKFlyKG4sIDAsIDAsICExKSwgdCA9PT0gdG4gJiYgKE5uKG4uaGVhZCksIDAgPT09IG4ubG9va2FoZWFkICYmIChuLnN0cnN0YXJ0ID0gMCwgbi5ibG9ja19zdGFydCA9IDAsIG4uaW5zZXJ0ID0gMCkpKSwgWm4oZSksIDAgPT09IGUuYXZhaWxfb3V0KSkgcmV0dXJuIG4ubGFzdF9mbHVzaCA9IC0xLCBvbjtcbiAgfVxuXG4gIHJldHVybiB0ICE9PSBybiA/IG9uIDogbi53cmFwIDw9IDAgPyBhbiA6ICgyID09PSBuLndyYXAgPyAoV24obiwgMjU1ICYgZS5hZGxlciksIFduKG4sIGUuYWRsZXIgPj4gOCAmIDI1NSksIFduKG4sIGUuYWRsZXIgPj4gMTYgJiAyNTUpLCBXbihuLCBlLmFkbGVyID4+IDI0ICYgMjU1KSwgV24obiwgMjU1ICYgZS50b3RhbF9pbiksIFduKG4sIGUudG90YWxfaW4gPj4gOCAmIDI1NSksIFduKG4sIGUudG90YWxfaW4gPj4gMTYgJiAyNTUpLCBXbihuLCBlLnRvdGFsX2luID4+IDI0ICYgMjU1KSkgOiAoWW4obiwgZS5hZGxlciA+Pj4gMTYpLCBZbihuLCA2NTUzNSAmIGUuYWRsZXIpKSwgWm4oZSksIG4ud3JhcCA+IDAgJiYgKG4ud3JhcCA9IC1uLndyYXApLCAwICE9PSBuLnBlbmRpbmcgPyBvbiA6IGFuKTtcbn1cblxuSnIgPSBbbmV3IEduKDAsIDAsIDAsIDAsIGZ1bmN0aW9uIChlLCB0KSB7XG4gIHZhciByID0gNjU1MzU7XG5cbiAgZm9yIChyID4gZS5wZW5kaW5nX2J1Zl9zaXplIC0gNSAmJiAociA9IGUucGVuZGluZ19idWZfc2l6ZSAtIDUpOzspIHtcbiAgICBpZiAoZS5sb29rYWhlYWQgPD0gMSkge1xuICAgICAgaWYgKFhuKGUpLCAwID09PSBlLmxvb2thaGVhZCAmJiB0ID09PSBRcikgcmV0dXJuIERuO1xuICAgICAgaWYgKDAgPT09IGUubG9va2FoZWFkKSBicmVhaztcbiAgICB9XG5cbiAgICBlLnN0cnN0YXJ0ICs9IGUubG9va2FoZWFkLCBlLmxvb2thaGVhZCA9IDA7XG4gICAgdmFyIG4gPSBlLmJsb2NrX3N0YXJ0ICsgcjtcbiAgICBpZiAoKDAgPT09IGUuc3Ryc3RhcnQgfHwgZS5zdHJzdGFydCA+PSBuKSAmJiAoZS5sb29rYWhlYWQgPSBlLnN0cnN0YXJ0IC0gbiwgZS5zdHJzdGFydCA9IG4sIGpuKGUsICExKSwgMCA9PT0gZS5zdHJtLmF2YWlsX291dCkpIHJldHVybiBEbjtcbiAgICBpZiAoZS5zdHJzdGFydCAtIGUuYmxvY2tfc3RhcnQgPj0gZS53X3NpemUgLSB4biAmJiAoam4oZSwgITEpLCAwID09PSBlLnN0cm0uYXZhaWxfb3V0KSkgcmV0dXJuIERuO1xuICB9XG5cbiAgcmV0dXJuIGUuaW5zZXJ0ID0gMCwgdCA9PT0gcm4gPyAoam4oZSwgITApLCAwID09PSBlLnN0cm0uYXZhaWxfb3V0ID8gUG4gOiBPbikgOiAoZS5zdHJzdGFydCA+IGUuYmxvY2tfc3RhcnQgJiYgKGpuKGUsICExKSwgZS5zdHJtLmF2YWlsX291dCksIERuKTtcbn0pLCBuZXcgR24oNCwgNCwgOCwgNCwgcW4pLCBuZXcgR24oNCwgNSwgMTYsIDgsIHFuKSwgbmV3IEduKDQsIDYsIDMyLCAzMiwgcW4pLCBuZXcgR24oNCwgNCwgMTYsIDE2LCBWbiksIG5ldyBHbig4LCAxNiwgMzIsIDMyLCBWbiksIG5ldyBHbig4LCAxNiwgMTI4LCAxMjgsIFZuKSwgbmV3IEduKDgsIDMyLCAxMjgsIDI1NiwgVm4pLCBuZXcgR24oMzIsIDEyOCwgMjU4LCAxMDI0LCBWbiksIG5ldyBHbigzMiwgMjU4LCAyNTgsIDQwOTYsIFZuKV07XG52YXIgZWkgPSAzMCxcbiAgICB0aSA9IDEyO1xuXG5mdW5jdGlvbiByaShlLCB0KSB7XG4gIHZhciByLCBuLCBpLCBvLCBhLCBzLCBoLCBsLCBmLCBjLCB1LCBkLCBwLCBfLCBnLCB2LCB3LCBiLCB5LCBtLCBrLCBFLCBTLCB4LCBSO1xuXG4gIHIgPSBlLnN0YXRlLCBuID0gZS5uZXh0X2luLCB4ID0gZS5pbnB1dCwgaSA9IG4gKyAoZS5hdmFpbF9pbiAtIDUpLCBvID0gZS5uZXh0X291dCwgUiA9IGUub3V0cHV0LCBhID0gbyAtICh0IC0gZS5hdmFpbF9vdXQpLCBzID0gbyArIChlLmF2YWlsX291dCAtIDI1NyksIGggPSByLmRtYXgsIGwgPSByLndzaXplLCBmID0gci53aGF2ZSwgYyA9IHIud25leHQsIHUgPSByLndpbmRvdywgZCA9IHIuaG9sZCwgcCA9IHIuYml0cywgXyA9IHIubGVuY29kZSwgZyA9IHIuZGlzdGNvZGUsIHYgPSAoMSA8PCByLmxlbmJpdHMpIC0gMSwgdyA9ICgxIDw8IHIuZGlzdGJpdHMpIC0gMTtcblxuICBlOiBkbyB7XG4gICAgcCA8IDE1ICYmIChkICs9IHhbbisrXSA8PCBwLCBwICs9IDgsIGQgKz0geFtuKytdIDw8IHAsIHAgKz0gOCksIGIgPSBfW2QgJiB2XTtcblxuICAgIHQ6IGZvciAoOzspIHtcbiAgICAgIGlmIChkID4+Pj0geSA9IGIgPj4+IDI0LCBwIC09IHksIDAgPT09ICh5ID0gYiA+Pj4gMTYgJiAyNTUpKSBSW28rK10gPSA2NTUzNSAmIGI7ZWxzZSB7XG4gICAgICAgIGlmICghKDE2ICYgeSkpIHtcbiAgICAgICAgICBpZiAoMCA9PSAoNjQgJiB5KSkge1xuICAgICAgICAgICAgYiA9IF9bKDY1NTM1ICYgYikgKyAoZCAmICgxIDw8IHkpIC0gMSldO1xuICAgICAgICAgICAgY29udGludWUgdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoMzIgJiB5KSB7XG4gICAgICAgICAgICByLm1vZGUgPSB0aTtcbiAgICAgICAgICAgIGJyZWFrIGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZS5tc2cgPSBcImludmFsaWQgbGl0ZXJhbC9sZW5ndGggY29kZVwiLCByLm1vZGUgPSBlaTtcbiAgICAgICAgICBicmVhayBlO1xuICAgICAgICB9XG5cbiAgICAgICAgbSA9IDY1NTM1ICYgYiwgKHkgJj0gMTUpICYmIChwIDwgeSAmJiAoZCArPSB4W24rK10gPDwgcCwgcCArPSA4KSwgbSArPSBkICYgKDEgPDwgeSkgLSAxLCBkID4+Pj0geSwgcCAtPSB5KSwgcCA8IDE1ICYmIChkICs9IHhbbisrXSA8PCBwLCBwICs9IDgsIGQgKz0geFtuKytdIDw8IHAsIHAgKz0gOCksIGIgPSBnW2QgJiB3XTtcblxuICAgICAgICByOiBmb3IgKDs7KSB7XG4gICAgICAgICAgaWYgKGQgPj4+PSB5ID0gYiA+Pj4gMjQsIHAgLT0geSwgISgxNiAmICh5ID0gYiA+Pj4gMTYgJiAyNTUpKSkge1xuICAgICAgICAgICAgaWYgKDAgPT0gKDY0ICYgeSkpIHtcbiAgICAgICAgICAgICAgYiA9IGdbKDY1NTM1ICYgYikgKyAoZCAmICgxIDw8IHkpIC0gMSldO1xuICAgICAgICAgICAgICBjb250aW51ZSByO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBkaXN0YW5jZSBjb2RlXCIsIHIubW9kZSA9IGVpO1xuICAgICAgICAgICAgYnJlYWsgZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoayA9IDY1NTM1ICYgYiwgcCA8ICh5ICY9IDE1KSAmJiAoZCArPSB4W24rK10gPDwgcCwgKHAgKz0gOCkgPCB5ICYmIChkICs9IHhbbisrXSA8PCBwLCBwICs9IDgpKSwgKGsgKz0gZCAmICgxIDw8IHkpIC0gMSkgPiBoKSB7XG4gICAgICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBkaXN0YW5jZSB0b28gZmFyIGJhY2tcIiwgci5tb2RlID0gZWk7XG4gICAgICAgICAgICBicmVhayBlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChkID4+Pj0geSwgcCAtPSB5LCBrID4gKHkgPSBvIC0gYSkpIHtcbiAgICAgICAgICAgIGlmICgoeSA9IGsgLSB5KSA+IGYgJiYgci5zYW5lKSB7XG4gICAgICAgICAgICAgIGUubXNnID0gXCJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFja1wiLCByLm1vZGUgPSBlaTtcbiAgICAgICAgICAgICAgYnJlYWsgZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKEUgPSAwLCBTID0gdSwgMCA9PT0gYykge1xuICAgICAgICAgICAgICBpZiAoRSArPSBsIC0geSwgeSA8IG0pIHtcbiAgICAgICAgICAgICAgICBtIC09IHk7XG5cbiAgICAgICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgICBSW28rK10gPSB1W0UrK107XG4gICAgICAgICAgICAgICAgfSB3aGlsZSAoLS15KTtcblxuICAgICAgICAgICAgICAgIEUgPSBvIC0gaywgUyA9IFI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYyA8IHkpIHtcbiAgICAgICAgICAgICAgaWYgKEUgKz0gbCArIGMgLSB5LCAoeSAtPSBjKSA8IG0pIHtcbiAgICAgICAgICAgICAgICBtIC09IHk7XG5cbiAgICAgICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgICBSW28rK10gPSB1W0UrK107XG4gICAgICAgICAgICAgICAgfSB3aGlsZSAoLS15KTtcblxuICAgICAgICAgICAgICAgIGlmIChFID0gMCwgYyA8IG0pIHtcbiAgICAgICAgICAgICAgICAgIG0gLT0geSA9IGM7XG5cbiAgICAgICAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgICAgICAgUltvKytdID0gdVtFKytdO1xuICAgICAgICAgICAgICAgICAgfSB3aGlsZSAoLS15KTtcblxuICAgICAgICAgICAgICAgICAgRSA9IG8gLSBrLCBTID0gUjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoRSArPSBjIC0geSwgeSA8IG0pIHtcbiAgICAgICAgICAgICAgbSAtPSB5O1xuXG4gICAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgICBSW28rK10gPSB1W0UrK107XG4gICAgICAgICAgICAgIH0gd2hpbGUgKC0teSk7XG5cbiAgICAgICAgICAgICAgRSA9IG8gLSBrLCBTID0gUjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9yICg7IG0gPiAyOykgUltvKytdID0gU1tFKytdLCBSW28rK10gPSBTW0UrK10sIFJbbysrXSA9IFNbRSsrXSwgbSAtPSAzO1xuXG4gICAgICAgICAgICBtICYmIChSW28rK10gPSBTW0UrK10sIG0gPiAxICYmIChSW28rK10gPSBTW0UrK10pKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgRSA9IG8gLSBrO1xuXG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgIFJbbysrXSA9IFJbRSsrXSwgUltvKytdID0gUltFKytdLCBSW28rK10gPSBSW0UrK10sIG0gLT0gMztcbiAgICAgICAgICAgIH0gd2hpbGUgKG0gPiAyKTtcblxuICAgICAgICAgICAgbSAmJiAoUltvKytdID0gUltFKytdLCBtID4gMSAmJiAoUltvKytdID0gUltFKytdKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfSB3aGlsZSAobiA8IGkgJiYgbyA8IHMpO1xuXG4gIG4gLT0gbSA9IHAgPj4gMywgZCAmPSAoMSA8PCAocCAtPSBtIDw8IDMpKSAtIDEsIGUubmV4dF9pbiA9IG4sIGUubmV4dF9vdXQgPSBvLCBlLmF2YWlsX2luID0gbiA8IGkgPyBpIC0gbiArIDUgOiA1IC0gKG4gLSBpKSwgZS5hdmFpbF9vdXQgPSBvIDwgcyA/IHMgLSBvICsgMjU3IDogMjU3IC0gKG8gLSBzKSwgci5ob2xkID0gZCwgci5iaXRzID0gcDtcbn1cblxudmFyIG5pID0gMTUsXG4gICAgaWkgPSA4NTIsXG4gICAgb2kgPSA1OTIsXG4gICAgYWkgPSAwLFxuICAgIHNpID0gMSxcbiAgICBoaSA9IDIsXG4gICAgbGkgPSBbMywgNCwgNSwgNiwgNywgOCwgOSwgMTAsIDExLCAxMywgMTUsIDE3LCAxOSwgMjMsIDI3LCAzMSwgMzUsIDQzLCA1MSwgNTksIDY3LCA4MywgOTksIDExNSwgMTMxLCAxNjMsIDE5NSwgMjI3LCAyNTgsIDAsIDBdLFxuICAgIGZpID0gWzE2LCAxNiwgMTYsIDE2LCAxNiwgMTYsIDE2LCAxNiwgMTcsIDE3LCAxNywgMTcsIDE4LCAxOCwgMTgsIDE4LCAxOSwgMTksIDE5LCAxOSwgMjAsIDIwLCAyMCwgMjAsIDIxLCAyMSwgMjEsIDIxLCAxNiwgNzIsIDc4XSxcbiAgICBjaSA9IFsxLCAyLCAzLCA0LCA1LCA3LCA5LCAxMywgMTcsIDI1LCAzMywgNDksIDY1LCA5NywgMTI5LCAxOTMsIDI1NywgMzg1LCA1MTMsIDc2OSwgMTAyNSwgMTUzNywgMjA0OSwgMzA3MywgNDA5NywgNjE0NSwgODE5MywgMTIyODksIDE2Mzg1LCAyNDU3NywgMCwgMF0sXG4gICAgdWkgPSBbMTYsIDE2LCAxNiwgMTYsIDE3LCAxNywgMTgsIDE4LCAxOSwgMTksIDIwLCAyMCwgMjEsIDIxLCAyMiwgMjIsIDIzLCAyMywgMjQsIDI0LCAyNSwgMjUsIDI2LCAyNiwgMjcsIDI3LCAyOCwgMjgsIDI5LCAyOSwgNjQsIDY0XTtcblxuZnVuY3Rpb24gZGkoZSwgdCwgciwgbiwgaSwgbywgYSwgcykge1xuICB2YXIgaCxcbiAgICAgIGwsXG4gICAgICBmLFxuICAgICAgYyxcbiAgICAgIHUsXG4gICAgICBkLFxuICAgICAgcCxcbiAgICAgIF8sXG4gICAgICBnLFxuICAgICAgdiA9IHMuYml0cyxcbiAgICAgIHcgPSAwLFxuICAgICAgYiA9IDAsXG4gICAgICB5ID0gMCxcbiAgICAgIG0gPSAwLFxuICAgICAgayA9IDAsXG4gICAgICBFID0gMCxcbiAgICAgIFMgPSAwLFxuICAgICAgeCA9IDAsXG4gICAgICBSID0gMCxcbiAgICAgIEEgPSAwLFxuICAgICAgQiA9IG51bGwsXG4gICAgICB6ID0gMCxcbiAgICAgIEwgPSBuZXcgWXQobmkgKyAxKSxcbiAgICAgIFQgPSBuZXcgWXQobmkgKyAxKSxcbiAgICAgIE0gPSBudWxsLFxuICAgICAgQyA9IDA7XG5cbiAgZm9yICh3ID0gMDsgdyA8PSBuaTsgdysrKSBMW3ddID0gMDtcblxuICBmb3IgKGIgPSAwOyBiIDwgbjsgYisrKSBMW3RbciArIGJdXSsrO1xuXG4gIGZvciAoayA9IHYsIG0gPSBuaTsgbSA+PSAxICYmIDAgPT09IExbbV07IG0tLSk7XG5cbiAgaWYgKGsgPiBtICYmIChrID0gbSksIDAgPT09IG0pIHJldHVybiBpW28rK10gPSAyMDk3MTUyMCwgaVtvKytdID0gMjA5NzE1MjAsIHMuYml0cyA9IDEsIDA7XG5cbiAgZm9yICh5ID0gMTsgeSA8IG0gJiYgMCA9PT0gTFt5XTsgeSsrKTtcblxuICBmb3IgKGsgPCB5ICYmIChrID0geSksIHggPSAxLCB3ID0gMTsgdyA8PSBuaTsgdysrKSBpZiAoeCA8PD0gMSwgKHggLT0gTFt3XSkgPCAwKSByZXR1cm4gLTE7XG5cbiAgaWYgKHggPiAwICYmIChlID09PSBhaSB8fCAxICE9PSBtKSkgcmV0dXJuIC0xO1xuXG4gIGZvciAoVFsxXSA9IDAsIHcgPSAxOyB3IDwgbmk7IHcrKykgVFt3ICsgMV0gPSBUW3ddICsgTFt3XTtcblxuICBmb3IgKGIgPSAwOyBiIDwgbjsgYisrKSAwICE9PSB0W3IgKyBiXSAmJiAoYVtUW3RbciArIGJdXSsrXSA9IGIpO1xuXG4gIGlmIChlID09PSBhaSA/IChCID0gTSA9IGEsIGQgPSAxOSkgOiBlID09PSBzaSA/IChCID0gbGksIHogLT0gMjU3LCBNID0gZmksIEMgLT0gMjU3LCBkID0gMjU2KSA6IChCID0gY2ksIE0gPSB1aSwgZCA9IC0xKSwgQSA9IDAsIGIgPSAwLCB3ID0geSwgdSA9IG8sIEUgPSBrLCBTID0gMCwgZiA9IC0xLCBjID0gKFIgPSAxIDw8IGspIC0gMSwgZSA9PT0gc2kgJiYgUiA+IGlpIHx8IGUgPT09IGhpICYmIFIgPiBvaSkgcmV0dXJuIDE7XG5cbiAgZm9yICg7Oykge1xuICAgIHAgPSB3IC0gUywgYVtiXSA8IGQgPyAoXyA9IDAsIGcgPSBhW2JdKSA6IGFbYl0gPiBkID8gKF8gPSBNW0MgKyBhW2JdXSwgZyA9IEJbeiArIGFbYl1dKSA6IChfID0gOTYsIGcgPSAwKSwgaCA9IDEgPDwgdyAtIFMsIHkgPSBsID0gMSA8PCBFO1xuXG4gICAgZG8ge1xuICAgICAgaVt1ICsgKEEgPj4gUykgKyAobCAtPSBoKV0gPSBwIDw8IDI0IHwgXyA8PCAxNiB8IGcgfCAwO1xuICAgIH0gd2hpbGUgKDAgIT09IGwpO1xuXG4gICAgZm9yIChoID0gMSA8PCB3IC0gMTsgQSAmIGg7KSBoID4+PSAxO1xuXG4gICAgaWYgKDAgIT09IGggPyAoQSAmPSBoIC0gMSwgQSArPSBoKSA6IEEgPSAwLCBiKyssIDAgPT0gLS1MW3ddKSB7XG4gICAgICBpZiAodyA9PT0gbSkgYnJlYWs7XG4gICAgICB3ID0gdFtyICsgYVtiXV07XG4gICAgfVxuXG4gICAgaWYgKHcgPiBrICYmIChBICYgYykgIT09IGYpIHtcbiAgICAgIGZvciAoMCA9PT0gUyAmJiAoUyA9IGspLCB1ICs9IHksIHggPSAxIDw8IChFID0gdyAtIFMpOyBFICsgUyA8IG0gJiYgISgoeCAtPSBMW0UgKyBTXSkgPD0gMCk7KSBFKyssIHggPDw9IDE7XG5cbiAgICAgIGlmIChSICs9IDEgPDwgRSwgZSA9PT0gc2kgJiYgUiA+IGlpIHx8IGUgPT09IGhpICYmIFIgPiBvaSkgcmV0dXJuIDE7XG4gICAgICBpW2YgPSBBICYgY10gPSBrIDw8IDI0IHwgRSA8PCAxNiB8IHUgLSBvIHwgMDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gMCAhPT0gQSAmJiAoaVt1ICsgQV0gPSB3IC0gUyA8PCAyNCB8IDY0IDw8IDE2IHwgMCksIHMuYml0cyA9IGssIDA7XG59XG5cbnZhciBwaSA9IDAsXG4gICAgX2kgPSAxLFxuICAgIGdpID0gMixcbiAgICB2aSA9IDQsXG4gICAgd2kgPSA1LFxuICAgIGJpID0gNixcbiAgICB5aSA9IDAsXG4gICAgbWkgPSAxLFxuICAgIGtpID0gMixcbiAgICBFaSA9IC0yLFxuICAgIFNpID0gLTMsXG4gICAgeGkgPSAtNCxcbiAgICBSaSA9IC01LFxuICAgIEFpID0gOCxcbiAgICBCaSA9IDEsXG4gICAgemkgPSAyLFxuICAgIExpID0gMyxcbiAgICBUaSA9IDQsXG4gICAgTWkgPSA1LFxuICAgIENpID0gNixcbiAgICBEaSA9IDcsXG4gICAgSWkgPSA4LFxuICAgIFBpID0gOSxcbiAgICBPaSA9IDEwLFxuICAgIFVpID0gMTEsXG4gICAgSGkgPSAxMixcbiAgICBGaSA9IDEzLFxuICAgIE5pID0gMTQsXG4gICAgWmkgPSAxNSxcbiAgICBqaSA9IDE2LFxuICAgIFdpID0gMTcsXG4gICAgWWkgPSAxOCxcbiAgICBLaSA9IDE5LFxuICAgIFhpID0gMjAsXG4gICAgcWkgPSAyMSxcbiAgICBWaSA9IDIyLFxuICAgIEdpID0gMjMsXG4gICAgJGkgPSAyNCxcbiAgICBKaSA9IDI1LFxuICAgIFFpID0gMjYsXG4gICAgZW8gPSAyNyxcbiAgICB0byA9IDI4LFxuICAgIHJvID0gMjksXG4gICAgbm8gPSAzMCxcbiAgICBpbyA9IDMxLFxuICAgIG9vID0gMzIsXG4gICAgYW8gPSA4NTIsXG4gICAgc28gPSA1OTI7XG5cbmZ1bmN0aW9uIGhvKGUpIHtcbiAgcmV0dXJuIChlID4+PiAyNCAmIDI1NSkgKyAoZSA+Pj4gOCAmIDY1MjgwKSArICgoNjUyODAgJiBlKSA8PCA4KSArICgoMjU1ICYgZSkgPDwgMjQpO1xufVxuXG5mdW5jdGlvbiBsbygpIHtcbiAgdGhpcy5tb2RlID0gMCwgdGhpcy5sYXN0ID0gITEsIHRoaXMud3JhcCA9IDAsIHRoaXMuaGF2ZWRpY3QgPSAhMSwgdGhpcy5mbGFncyA9IDAsIHRoaXMuZG1heCA9IDAsIHRoaXMuY2hlY2sgPSAwLCB0aGlzLnRvdGFsID0gMCwgdGhpcy5oZWFkID0gbnVsbCwgdGhpcy53Yml0cyA9IDAsIHRoaXMud3NpemUgPSAwLCB0aGlzLndoYXZlID0gMCwgdGhpcy53bmV4dCA9IDAsIHRoaXMud2luZG93ID0gbnVsbCwgdGhpcy5ob2xkID0gMCwgdGhpcy5iaXRzID0gMCwgdGhpcy5sZW5ndGggPSAwLCB0aGlzLm9mZnNldCA9IDAsIHRoaXMuZXh0cmEgPSAwLCB0aGlzLmxlbmNvZGUgPSBudWxsLCB0aGlzLmRpc3Rjb2RlID0gbnVsbCwgdGhpcy5sZW5iaXRzID0gMCwgdGhpcy5kaXN0Yml0cyA9IDAsIHRoaXMubmNvZGUgPSAwLCB0aGlzLm5sZW4gPSAwLCB0aGlzLm5kaXN0ID0gMCwgdGhpcy5oYXZlID0gMCwgdGhpcy5uZXh0ID0gbnVsbCwgdGhpcy5sZW5zID0gbmV3IFl0KDMyMCksIHRoaXMud29yayA9IG5ldyBZdCgyODgpLCB0aGlzLmxlbmR5biA9IG51bGwsIHRoaXMuZGlzdGR5biA9IG51bGwsIHRoaXMuc2FuZSA9IDAsIHRoaXMuYmFjayA9IDAsIHRoaXMud2FzID0gMDtcbn1cblxuZnVuY3Rpb24gZm8oZSkge1xuICB2YXIgdDtcbiAgcmV0dXJuIGUgJiYgZS5zdGF0ZSA/ICgodCA9IGUuc3RhdGUpLndzaXplID0gMCwgdC53aGF2ZSA9IDAsIHQud25leHQgPSAwLCBmdW5jdGlvbiAoZSkge1xuICAgIHZhciB0O1xuICAgIHJldHVybiBlICYmIGUuc3RhdGUgPyAodCA9IGUuc3RhdGUsIGUudG90YWxfaW4gPSBlLnRvdGFsX291dCA9IHQudG90YWwgPSAwLCBlLm1zZyA9IFwiXCIsIHQud3JhcCAmJiAoZS5hZGxlciA9IDEgJiB0LndyYXApLCB0Lm1vZGUgPSBCaSwgdC5sYXN0ID0gMCwgdC5oYXZlZGljdCA9IDAsIHQuZG1heCA9IDMyNzY4LCB0LmhlYWQgPSBudWxsLCB0LmhvbGQgPSAwLCB0LmJpdHMgPSAwLCB0LmxlbmNvZGUgPSB0LmxlbmR5biA9IG5ldyBLdChhbyksIHQuZGlzdGNvZGUgPSB0LmRpc3RkeW4gPSBuZXcgS3Qoc28pLCB0LnNhbmUgPSAxLCB0LmJhY2sgPSAtMSwgeWkpIDogRWk7XG4gIH0oZSkpIDogRWk7XG59XG5cbmZ1bmN0aW9uIGNvKGUsIHQpIHtcbiAgdmFyIHIsIG47XG4gIHJldHVybiBlID8gKG4gPSBuZXcgbG8oKSwgZS5zdGF0ZSA9IG4sIG4ud2luZG93ID0gbnVsbCwgKHIgPSBmdW5jdGlvbiAoZSwgdCkge1xuICAgIHZhciByLCBuO1xuICAgIHJldHVybiBlICYmIGUuc3RhdGUgPyAobiA9IGUuc3RhdGUsIHQgPCAwID8gKHIgPSAwLCB0ID0gLXQpIDogKHIgPSAxICsgKHQgPj4gNCksIHQgPCA0OCAmJiAodCAmPSAxNSkpLCB0ICYmICh0IDwgOCB8fCB0ID4gMTUpID8gRWkgOiAobnVsbCAhPT0gbi53aW5kb3cgJiYgbi53Yml0cyAhPT0gdCAmJiAobi53aW5kb3cgPSBudWxsKSwgbi53cmFwID0gciwgbi53Yml0cyA9IHQsIGZvKGUpKSkgOiBFaTtcbiAgfShlLCB0KSkgIT09IHlpICYmIChlLnN0YXRlID0gbnVsbCksIHIpIDogRWk7XG59XG5cbnZhciB1byxcbiAgICBwbyxcbiAgICBfbyA9ICEwO1xuXG5mdW5jdGlvbiBnbyhlKSB7XG4gIGlmIChfbykge1xuICAgIHZhciB0O1xuXG4gICAgZm9yICh1byA9IG5ldyBLdCg1MTIpLCBwbyA9IG5ldyBLdCgzMiksIHQgPSAwOyB0IDwgMTQ0OykgZS5sZW5zW3QrK10gPSA4O1xuXG4gICAgZm9yICg7IHQgPCAyNTY7KSBlLmxlbnNbdCsrXSA9IDk7XG5cbiAgICBmb3IgKDsgdCA8IDI4MDspIGUubGVuc1t0KytdID0gNztcblxuICAgIGZvciAoOyB0IDwgMjg4OykgZS5sZW5zW3QrK10gPSA4O1xuXG4gICAgZm9yIChkaShfaSwgZS5sZW5zLCAwLCAyODgsIHVvLCAwLCBlLndvcmssIHtcbiAgICAgIGJpdHM6IDlcbiAgICB9KSwgdCA9IDA7IHQgPCAzMjspIGUubGVuc1t0KytdID0gNTtcblxuICAgIGRpKGdpLCBlLmxlbnMsIDAsIDMyLCBwbywgMCwgZS53b3JrLCB7XG4gICAgICBiaXRzOiA1XG4gICAgfSksIF9vID0gITE7XG4gIH1cblxuICBlLmxlbmNvZGUgPSB1bywgZS5sZW5iaXRzID0gOSwgZS5kaXN0Y29kZSA9IHBvLCBlLmRpc3RiaXRzID0gNTtcbn1cblxuZnVuY3Rpb24gdm8oZSwgdCkge1xuICB2YXIgcixcbiAgICAgIG4sXG4gICAgICBpLFxuICAgICAgbyxcbiAgICAgIGEsXG4gICAgICBzLFxuICAgICAgaCxcbiAgICAgIGwsXG4gICAgICBmLFxuICAgICAgYyxcbiAgICAgIHUsXG4gICAgICBkLFxuICAgICAgcCxcbiAgICAgIF8sXG4gICAgICBnLFxuICAgICAgdixcbiAgICAgIHcsXG4gICAgICBiLFxuICAgICAgeSxcbiAgICAgIG0sXG4gICAgICBrLFxuICAgICAgRSxcbiAgICAgIFMsXG4gICAgICB4LFxuICAgICAgUiA9IDAsXG4gICAgICBBID0gbmV3IFd0KDQpLFxuICAgICAgQiA9IFsxNiwgMTcsIDE4LCAwLCA4LCA3LCA5LCA2LCAxMCwgNSwgMTEsIDQsIDEyLCAzLCAxMywgMiwgMTQsIDEsIDE1XTtcblxuICBpZiAoIWUgfHwgIWUuc3RhdGUgfHwgIWUub3V0cHV0IHx8ICFlLmlucHV0ICYmIDAgIT09IGUuYXZhaWxfaW4pIHJldHVybiBFaTtcbiAgKHIgPSBlLnN0YXRlKS5tb2RlID09PSBIaSAmJiAoci5tb2RlID0gRmkpLCBhID0gZS5uZXh0X291dCwgaSA9IGUub3V0cHV0LCBoID0gZS5hdmFpbF9vdXQsIG8gPSBlLm5leHRfaW4sIG4gPSBlLmlucHV0LCBzID0gZS5hdmFpbF9pbiwgbCA9IHIuaG9sZCwgZiA9IHIuYml0cywgYyA9IHMsIHUgPSBoLCBFID0geWk7XG5cbiAgZTogZm9yICg7Oykgc3dpdGNoIChyLm1vZGUpIHtcbiAgICBjYXNlIEJpOlxuICAgICAgaWYgKDAgPT09IHIud3JhcCkge1xuICAgICAgICByLm1vZGUgPSBGaTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBmIDwgMTY7KSB7XG4gICAgICAgIGlmICgwID09PSBzKSBicmVhayBlO1xuICAgICAgICBzLS0sIGwgKz0gbltvKytdIDw8IGYsIGYgKz0gODtcbiAgICAgIH1cblxuICAgICAgaWYgKDIgJiByLndyYXAgJiYgMzU2MTUgPT09IGwpIHtcbiAgICAgICAgci5jaGVjayA9IDAsIEFbMF0gPSAyNTUgJiBsLCBBWzFdID0gbCA+Pj4gOCAmIDI1NSwgci5jaGVjayA9ICRyKHIuY2hlY2ssIEEsIDIsIDApLCBsID0gMCwgZiA9IDAsIHIubW9kZSA9IHppO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKHIuZmxhZ3MgPSAwLCByLmhlYWQgJiYgKHIuaGVhZC5kb25lID0gITEpLCAhKDEgJiByLndyYXApIHx8ICgoKDI1NSAmIGwpIDw8IDgpICsgKGwgPj4gOCkpICUgMzEpIHtcbiAgICAgICAgZS5tc2cgPSBcImluY29ycmVjdCBoZWFkZXIgY2hlY2tcIiwgci5tb2RlID0gbm87XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBpZiAoKDE1ICYgbCkgIT09IEFpKSB7XG4gICAgICAgIGUubXNnID0gXCJ1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZFwiLCByLm1vZGUgPSBubztcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChmIC09IDQsIGsgPSA4ICsgKDE1ICYgKGwgPj4+PSA0KSksIDAgPT09IHIud2JpdHMpIHIud2JpdHMgPSBrO2Vsc2UgaWYgKGsgPiByLndiaXRzKSB7XG4gICAgICAgIGUubXNnID0gXCJpbnZhbGlkIHdpbmRvdyBzaXplXCIsIHIubW9kZSA9IG5vO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHIuZG1heCA9IDEgPDwgaywgZS5hZGxlciA9IHIuY2hlY2sgPSAxLCByLm1vZGUgPSA1MTIgJiBsID8gT2kgOiBIaSwgbCA9IDAsIGYgPSAwO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIHppOlxuICAgICAgZm9yICg7IGYgPCAxNjspIHtcbiAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XG4gICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xuICAgICAgfVxuXG4gICAgICBpZiAoci5mbGFncyA9IGwsICgyNTUgJiByLmZsYWdzKSAhPT0gQWkpIHtcbiAgICAgICAgZS5tc2cgPSBcInVua25vd24gY29tcHJlc3Npb24gbWV0aG9kXCIsIHIubW9kZSA9IG5vO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKDU3MzQ0ICYgci5mbGFncykge1xuICAgICAgICBlLm1zZyA9IFwidW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0XCIsIHIubW9kZSA9IG5vO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgci5oZWFkICYmIChyLmhlYWQudGV4dCA9IGwgPj4gOCAmIDEpLCA1MTIgJiByLmZsYWdzICYmIChBWzBdID0gMjU1ICYgbCwgQVsxXSA9IGwgPj4+IDggJiAyNTUsIHIuY2hlY2sgPSAkcihyLmNoZWNrLCBBLCAyLCAwKSksIGwgPSAwLCBmID0gMCwgci5tb2RlID0gTGk7XG5cbiAgICBjYXNlIExpOlxuICAgICAgZm9yICg7IGYgPCAzMjspIHtcbiAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XG4gICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xuICAgICAgfVxuXG4gICAgICByLmhlYWQgJiYgKHIuaGVhZC50aW1lID0gbCksIDUxMiAmIHIuZmxhZ3MgJiYgKEFbMF0gPSAyNTUgJiBsLCBBWzFdID0gbCA+Pj4gOCAmIDI1NSwgQVsyXSA9IGwgPj4+IDE2ICYgMjU1LCBBWzNdID0gbCA+Pj4gMjQgJiAyNTUsIHIuY2hlY2sgPSAkcihyLmNoZWNrLCBBLCA0LCAwKSksIGwgPSAwLCBmID0gMCwgci5tb2RlID0gVGk7XG5cbiAgICBjYXNlIFRpOlxuICAgICAgZm9yICg7IGYgPCAxNjspIHtcbiAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XG4gICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xuICAgICAgfVxuXG4gICAgICByLmhlYWQgJiYgKHIuaGVhZC54ZmxhZ3MgPSAyNTUgJiBsLCByLmhlYWQub3MgPSBsID4+IDgpLCA1MTIgJiByLmZsYWdzICYmIChBWzBdID0gMjU1ICYgbCwgQVsxXSA9IGwgPj4+IDggJiAyNTUsIHIuY2hlY2sgPSAkcihyLmNoZWNrLCBBLCAyLCAwKSksIGwgPSAwLCBmID0gMCwgci5tb2RlID0gTWk7XG5cbiAgICBjYXNlIE1pOlxuICAgICAgaWYgKDEwMjQgJiByLmZsYWdzKSB7XG4gICAgICAgIGZvciAoOyBmIDwgMTY7KSB7XG4gICAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XG4gICAgICAgICAgcy0tLCBsICs9IG5bbysrXSA8PCBmLCBmICs9IDg7XG4gICAgICAgIH1cblxuICAgICAgICByLmxlbmd0aCA9IGwsIHIuaGVhZCAmJiAoci5oZWFkLmV4dHJhX2xlbiA9IGwpLCA1MTIgJiByLmZsYWdzICYmIChBWzBdID0gMjU1ICYgbCwgQVsxXSA9IGwgPj4+IDggJiAyNTUsIHIuY2hlY2sgPSAkcihyLmNoZWNrLCBBLCAyLCAwKSksIGwgPSAwLCBmID0gMDtcbiAgICAgIH0gZWxzZSByLmhlYWQgJiYgKHIuaGVhZC5leHRyYSA9IG51bGwpO1xuXG4gICAgICByLm1vZGUgPSBDaTtcblxuICAgIGNhc2UgQ2k6XG4gICAgICBpZiAoMTAyNCAmIHIuZmxhZ3MgJiYgKChkID0gci5sZW5ndGgpID4gcyAmJiAoZCA9IHMpLCBkICYmIChyLmhlYWQgJiYgKGsgPSByLmhlYWQuZXh0cmFfbGVuIC0gci5sZW5ndGgsIHIuaGVhZC5leHRyYSB8fCAoci5oZWFkLmV4dHJhID0gbmV3IEFycmF5KHIuaGVhZC5leHRyYV9sZW4pKSwganQoci5oZWFkLmV4dHJhLCBuLCBvLCBkLCBrKSksIDUxMiAmIHIuZmxhZ3MgJiYgKHIuY2hlY2sgPSAkcihyLmNoZWNrLCBuLCBkLCBvKSksIHMgLT0gZCwgbyArPSBkLCByLmxlbmd0aCAtPSBkKSwgci5sZW5ndGgpKSBicmVhayBlO1xuICAgICAgci5sZW5ndGggPSAwLCByLm1vZGUgPSBEaTtcblxuICAgIGNhc2UgRGk6XG4gICAgICBpZiAoMjA0OCAmIHIuZmxhZ3MpIHtcbiAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XG4gICAgICAgIGQgPSAwO1xuXG4gICAgICAgIGRvIHtcbiAgICAgICAgICBrID0gbltvICsgZCsrXSwgci5oZWFkICYmIGsgJiYgci5sZW5ndGggPCA2NTUzNiAmJiAoci5oZWFkLm5hbWUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShrKSk7XG4gICAgICAgIH0gd2hpbGUgKGsgJiYgZCA8IHMpO1xuXG4gICAgICAgIGlmICg1MTIgJiByLmZsYWdzICYmIChyLmNoZWNrID0gJHIoci5jaGVjaywgbiwgZCwgbykpLCBzIC09IGQsIG8gKz0gZCwgaykgYnJlYWsgZTtcbiAgICAgIH0gZWxzZSByLmhlYWQgJiYgKHIuaGVhZC5uYW1lID0gbnVsbCk7XG5cbiAgICAgIHIubGVuZ3RoID0gMCwgci5tb2RlID0gSWk7XG5cbiAgICBjYXNlIElpOlxuICAgICAgaWYgKDQwOTYgJiByLmZsYWdzKSB7XG4gICAgICAgIGlmICgwID09PSBzKSBicmVhayBlO1xuICAgICAgICBkID0gMDtcblxuICAgICAgICBkbyB7XG4gICAgICAgICAgayA9IG5bbyArIGQrK10sIHIuaGVhZCAmJiBrICYmIHIubGVuZ3RoIDwgNjU1MzYgJiYgKHIuaGVhZC5jb21tZW50ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaykpO1xuICAgICAgICB9IHdoaWxlIChrICYmIGQgPCBzKTtcblxuICAgICAgICBpZiAoNTEyICYgci5mbGFncyAmJiAoci5jaGVjayA9ICRyKHIuY2hlY2ssIG4sIGQsIG8pKSwgcyAtPSBkLCBvICs9IGQsIGspIGJyZWFrIGU7XG4gICAgICB9IGVsc2Ugci5oZWFkICYmIChyLmhlYWQuY29tbWVudCA9IG51bGwpO1xuXG4gICAgICByLm1vZGUgPSBQaTtcblxuICAgIGNhc2UgUGk6XG4gICAgICBpZiAoNTEyICYgci5mbGFncykge1xuICAgICAgICBmb3IgKDsgZiA8IDE2Oykge1xuICAgICAgICAgIGlmICgwID09PSBzKSBicmVhayBlO1xuICAgICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGwgIT09ICg2NTUzNSAmIHIuY2hlY2spKSB7XG4gICAgICAgICAgZS5tc2cgPSBcImhlYWRlciBjcmMgbWlzbWF0Y2hcIiwgci5tb2RlID0gbm87XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBsID0gMCwgZiA9IDA7XG4gICAgICB9XG5cbiAgICAgIHIuaGVhZCAmJiAoci5oZWFkLmhjcmMgPSByLmZsYWdzID4+IDkgJiAxLCByLmhlYWQuZG9uZSA9ICEwKSwgZS5hZGxlciA9IHIuY2hlY2sgPSAwLCByLm1vZGUgPSBIaTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBPaTpcbiAgICAgIGZvciAoOyBmIDwgMzI7KSB7XG4gICAgICAgIGlmICgwID09PSBzKSBicmVhayBlO1xuICAgICAgICBzLS0sIGwgKz0gbltvKytdIDw8IGYsIGYgKz0gODtcbiAgICAgIH1cblxuICAgICAgZS5hZGxlciA9IHIuY2hlY2sgPSBobyhsKSwgbCA9IDAsIGYgPSAwLCByLm1vZGUgPSBVaTtcblxuICAgIGNhc2UgVWk6XG4gICAgICBpZiAoMCA9PT0gci5oYXZlZGljdCkgcmV0dXJuIGUubmV4dF9vdXQgPSBhLCBlLmF2YWlsX291dCA9IGgsIGUubmV4dF9pbiA9IG8sIGUuYXZhaWxfaW4gPSBzLCByLmhvbGQgPSBsLCByLmJpdHMgPSBmLCBraTtcbiAgICAgIGUuYWRsZXIgPSByLmNoZWNrID0gMSwgci5tb2RlID0gSGk7XG5cbiAgICBjYXNlIEhpOlxuICAgICAgaWYgKHQgPT09IHdpIHx8IHQgPT09IGJpKSBicmVhayBlO1xuXG4gICAgY2FzZSBGaTpcbiAgICAgIGlmIChyLmxhc3QpIHtcbiAgICAgICAgbCA+Pj49IDcgJiBmLCBmIC09IDcgJiBmLCByLm1vZGUgPSBlbztcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGZvciAoOyBmIDwgMzspIHtcbiAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XG4gICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xuICAgICAgfVxuXG4gICAgICBzd2l0Y2ggKHIubGFzdCA9IDEgJiBsLCBmIC09IDEsIDMgJiAobCA+Pj49IDEpKSB7XG4gICAgICAgIGNhc2UgMDpcbiAgICAgICAgICByLm1vZGUgPSBOaTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgaWYgKGdvKHIpLCByLm1vZGUgPSBYaSwgdCA9PT0gYmkpIHtcbiAgICAgICAgICAgIGwgPj4+PSAyLCBmIC09IDI7XG4gICAgICAgICAgICBicmVhayBlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICByLm1vZGUgPSBXaTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIDM6XG4gICAgICAgICAgZS5tc2cgPSBcImludmFsaWQgYmxvY2sgdHlwZVwiLCByLm1vZGUgPSBubztcbiAgICAgIH1cblxuICAgICAgbCA+Pj49IDIsIGYgLT0gMjtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBOaTpcbiAgICAgIGZvciAobCA+Pj49IDcgJiBmLCBmIC09IDcgJiBmOyBmIDwgMzI7KSB7XG4gICAgICAgIGlmICgwID09PSBzKSBicmVhayBlO1xuICAgICAgICBzLS0sIGwgKz0gbltvKytdIDw8IGYsIGYgKz0gODtcbiAgICAgIH1cblxuICAgICAgaWYgKCg2NTUzNSAmIGwpICE9IChsID4+PiAxNiBeIDY1NTM1KSkge1xuICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3Roc1wiLCByLm1vZGUgPSBubztcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChyLmxlbmd0aCA9IDY1NTM1ICYgbCwgbCA9IDAsIGYgPSAwLCByLm1vZGUgPSBaaSwgdCA9PT0gYmkpIGJyZWFrIGU7XG5cbiAgICBjYXNlIFppOlxuICAgICAgci5tb2RlID0gamk7XG5cbiAgICBjYXNlIGppOlxuICAgICAgaWYgKGQgPSByLmxlbmd0aCkge1xuICAgICAgICBpZiAoZCA+IHMgJiYgKGQgPSBzKSwgZCA+IGggJiYgKGQgPSBoKSwgMCA9PT0gZCkgYnJlYWsgZTtcbiAgICAgICAganQoaSwgbiwgbywgZCwgYSksIHMgLT0gZCwgbyArPSBkLCBoIC09IGQsIGEgKz0gZCwgci5sZW5ndGggLT0gZDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIHIubW9kZSA9IEhpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFdpOlxuICAgICAgZm9yICg7IGYgPCAxNDspIHtcbiAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XG4gICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xuICAgICAgfVxuXG4gICAgICBpZiAoci5ubGVuID0gMjU3ICsgKDMxICYgbCksIGwgPj4+PSA1LCBmIC09IDUsIHIubmRpc3QgPSAxICsgKDMxICYgbCksIGwgPj4+PSA1LCBmIC09IDUsIHIubmNvZGUgPSA0ICsgKDE1ICYgbCksIGwgPj4+PSA0LCBmIC09IDQsIHIubmxlbiA+IDI4NiB8fCByLm5kaXN0ID4gMzApIHtcbiAgICAgICAgZS5tc2cgPSBcInRvbyBtYW55IGxlbmd0aCBvciBkaXN0YW5jZSBzeW1ib2xzXCIsIHIubW9kZSA9IG5vO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgci5oYXZlID0gMCwgci5tb2RlID0gWWk7XG5cbiAgICBjYXNlIFlpOlxuICAgICAgZm9yICg7IHIuaGF2ZSA8IHIubmNvZGU7KSB7XG4gICAgICAgIGZvciAoOyBmIDwgMzspIHtcbiAgICAgICAgICBpZiAoMCA9PT0gcykgYnJlYWsgZTtcbiAgICAgICAgICBzLS0sIGwgKz0gbltvKytdIDw8IGYsIGYgKz0gODtcbiAgICAgICAgfVxuXG4gICAgICAgIHIubGVuc1tCW3IuaGF2ZSsrXV0gPSA3ICYgbCwgbCA+Pj49IDMsIGYgLT0gMztcbiAgICAgIH1cblxuICAgICAgZm9yICg7IHIuaGF2ZSA8IDE5Oykgci5sZW5zW0Jbci5oYXZlKytdXSA9IDA7XG5cbiAgICAgIGlmIChyLmxlbmNvZGUgPSByLmxlbmR5biwgci5sZW5iaXRzID0gNywgUyA9IHtcbiAgICAgICAgYml0czogci5sZW5iaXRzXG4gICAgICB9LCBFID0gZGkocGksIHIubGVucywgMCwgMTksIHIubGVuY29kZSwgMCwgci53b3JrLCBTKSwgci5sZW5iaXRzID0gUy5iaXRzLCBFKSB7XG4gICAgICAgIGUubXNnID0gXCJpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXRcIiwgci5tb2RlID0gbm87XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICByLmhhdmUgPSAwLCByLm1vZGUgPSBLaTtcblxuICAgIGNhc2UgS2k6XG4gICAgICBmb3IgKDsgci5oYXZlIDwgci5ubGVuICsgci5uZGlzdDspIHtcbiAgICAgICAgZm9yICg7IHYgPSAoUiA9IHIubGVuY29kZVtsICYgKDEgPDwgci5sZW5iaXRzKSAtIDFdKSA+Pj4gMTYgJiAyNTUsIHcgPSA2NTUzNSAmIFIsICEoKGcgPSBSID4+PiAyNCkgPD0gZik7KSB7XG4gICAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XG4gICAgICAgICAgcy0tLCBsICs9IG5bbysrXSA8PCBmLCBmICs9IDg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodyA8IDE2KSBsID4+Pj0gZywgZiAtPSBnLCByLmxlbnNbci5oYXZlKytdID0gdztlbHNlIHtcbiAgICAgICAgICBpZiAoMTYgPT09IHcpIHtcbiAgICAgICAgICAgIGZvciAoeCA9IGcgKyAyOyBmIDwgeDspIHtcbiAgICAgICAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XG4gICAgICAgICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobCA+Pj49IGcsIGYgLT0gZywgMCA9PT0gci5oYXZlKSB7XG4gICAgICAgICAgICAgIGUubXNnID0gXCJpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0XCIsIHIubW9kZSA9IG5vO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgayA9IHIubGVuc1tyLmhhdmUgLSAxXSwgZCA9IDMgKyAoMyAmIGwpLCBsID4+Pj0gMiwgZiAtPSAyO1xuICAgICAgICAgIH0gZWxzZSBpZiAoMTcgPT09IHcpIHtcbiAgICAgICAgICAgIGZvciAoeCA9IGcgKyAzOyBmIDwgeDspIHtcbiAgICAgICAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XG4gICAgICAgICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmIC09IGcsIGsgPSAwLCBkID0gMyArICg3ICYgKGwgPj4+PSBnKSksIGwgPj4+PSAzLCBmIC09IDM7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZvciAoeCA9IGcgKyA3OyBmIDwgeDspIHtcbiAgICAgICAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XG4gICAgICAgICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmIC09IGcsIGsgPSAwLCBkID0gMTEgKyAoMTI3ICYgKGwgPj4+PSBnKSksIGwgPj4+PSA3LCBmIC09IDc7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHIuaGF2ZSArIGQgPiByLm5sZW4gKyByLm5kaXN0KSB7XG4gICAgICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdFwiLCByLm1vZGUgPSBubztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGZvciAoOyBkLS07KSByLmxlbnNbci5oYXZlKytdID0gaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoci5tb2RlID09PSBubykgYnJlYWs7XG5cbiAgICAgIGlmICgwID09PSByLmxlbnNbMjU2XSkge1xuICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrXCIsIHIubW9kZSA9IG5vO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKHIubGVuYml0cyA9IDksIFMgPSB7XG4gICAgICAgIGJpdHM6IHIubGVuYml0c1xuICAgICAgfSwgRSA9IGRpKF9pLCByLmxlbnMsIDAsIHIubmxlbiwgci5sZW5jb2RlLCAwLCByLndvcmssIFMpLCByLmxlbmJpdHMgPSBTLmJpdHMsIEUpIHtcbiAgICAgICAgZS5tc2cgPSBcImludmFsaWQgbGl0ZXJhbC9sZW5ndGhzIHNldFwiLCByLm1vZGUgPSBubztcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmIChyLmRpc3RiaXRzID0gNiwgci5kaXN0Y29kZSA9IHIuZGlzdGR5biwgUyA9IHtcbiAgICAgICAgYml0czogci5kaXN0Yml0c1xuICAgICAgfSwgRSA9IGRpKGdpLCByLmxlbnMsIHIubmxlbiwgci5uZGlzdCwgci5kaXN0Y29kZSwgMCwgci53b3JrLCBTKSwgci5kaXN0Yml0cyA9IFMuYml0cywgRSkge1xuICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBkaXN0YW5jZXMgc2V0XCIsIHIubW9kZSA9IG5vO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKHIubW9kZSA9IFhpLCB0ID09PSBiaSkgYnJlYWsgZTtcblxuICAgIGNhc2UgWGk6XG4gICAgICByLm1vZGUgPSBxaTtcblxuICAgIGNhc2UgcWk6XG4gICAgICBpZiAocyA+PSA2ICYmIGggPj0gMjU4KSB7XG4gICAgICAgIGUubmV4dF9vdXQgPSBhLCBlLmF2YWlsX291dCA9IGgsIGUubmV4dF9pbiA9IG8sIGUuYXZhaWxfaW4gPSBzLCByLmhvbGQgPSBsLCByLmJpdHMgPSBmLCByaShlLCB1KSwgYSA9IGUubmV4dF9vdXQsIGkgPSBlLm91dHB1dCwgaCA9IGUuYXZhaWxfb3V0LCBvID0gZS5uZXh0X2luLCBuID0gZS5pbnB1dCwgcyA9IGUuYXZhaWxfaW4sIGwgPSByLmhvbGQsIGYgPSByLmJpdHMsIHIubW9kZSA9PT0gSGkgJiYgKHIuYmFjayA9IC0xKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGZvciAoci5iYWNrID0gMDsgdiA9IChSID0gci5sZW5jb2RlW2wgJiAoMSA8PCByLmxlbmJpdHMpIC0gMV0pID4+PiAxNiAmIDI1NSwgdyA9IDY1NTM1ICYgUiwgISgoZyA9IFIgPj4+IDI0KSA8PSBmKTspIHtcbiAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XG4gICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xuICAgICAgfVxuXG4gICAgICBpZiAodiAmJiAwID09ICgyNDAgJiB2KSkge1xuICAgICAgICBmb3IgKGIgPSBnLCB5ID0gdiwgbSA9IHc7IHYgPSAoUiA9IHIubGVuY29kZVttICsgKChsICYgKDEgPDwgYiArIHkpIC0gMSkgPj4gYildKSA+Pj4gMTYgJiAyNTUsIHcgPSA2NTUzNSAmIFIsICEoYiArIChnID0gUiA+Pj4gMjQpIDw9IGYpOykge1xuICAgICAgICAgIGlmICgwID09PSBzKSBicmVhayBlO1xuICAgICAgICAgIHMtLSwgbCArPSBuW28rK10gPDwgZiwgZiArPSA4O1xuICAgICAgICB9XG5cbiAgICAgICAgbCA+Pj49IGIsIGYgLT0gYiwgci5iYWNrICs9IGI7XG4gICAgICB9XG5cbiAgICAgIGlmIChsID4+Pj0gZywgZiAtPSBnLCByLmJhY2sgKz0gZywgci5sZW5ndGggPSB3LCAwID09PSB2KSB7XG4gICAgICAgIHIubW9kZSA9IFFpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKDMyICYgdikge1xuICAgICAgICByLmJhY2sgPSAtMSwgci5tb2RlID0gSGk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBpZiAoNjQgJiB2KSB7XG4gICAgICAgIGUubXNnID0gXCJpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGVcIiwgci5tb2RlID0gbm87XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICByLmV4dHJhID0gMTUgJiB2LCByLm1vZGUgPSBWaTtcblxuICAgIGNhc2UgVmk6XG4gICAgICBpZiAoci5leHRyYSkge1xuICAgICAgICBmb3IgKHggPSByLmV4dHJhOyBmIDwgeDspIHtcbiAgICAgICAgICBpZiAoMCA9PT0gcykgYnJlYWsgZTtcbiAgICAgICAgICBzLS0sIGwgKz0gbltvKytdIDw8IGYsIGYgKz0gODtcbiAgICAgICAgfVxuXG4gICAgICAgIHIubGVuZ3RoICs9IGwgJiAoMSA8PCByLmV4dHJhKSAtIDEsIGwgPj4+PSByLmV4dHJhLCBmIC09IHIuZXh0cmEsIHIuYmFjayArPSByLmV4dHJhO1xuICAgICAgfVxuXG4gICAgICByLndhcyA9IHIubGVuZ3RoLCByLm1vZGUgPSBHaTtcblxuICAgIGNhc2UgR2k6XG4gICAgICBmb3IgKDsgdiA9IChSID0gci5kaXN0Y29kZVtsICYgKDEgPDwgci5kaXN0Yml0cykgLSAxXSkgPj4+IDE2ICYgMjU1LCB3ID0gNjU1MzUgJiBSLCAhKChnID0gUiA+Pj4gMjQpIDw9IGYpOykge1xuICAgICAgICBpZiAoMCA9PT0gcykgYnJlYWsgZTtcbiAgICAgICAgcy0tLCBsICs9IG5bbysrXSA8PCBmLCBmICs9IDg7XG4gICAgICB9XG5cbiAgICAgIGlmICgwID09ICgyNDAgJiB2KSkge1xuICAgICAgICBmb3IgKGIgPSBnLCB5ID0gdiwgbSA9IHc7IHYgPSAoUiA9IHIuZGlzdGNvZGVbbSArICgobCAmICgxIDw8IGIgKyB5KSAtIDEpID4+IGIpXSkgPj4+IDE2ICYgMjU1LCB3ID0gNjU1MzUgJiBSLCAhKGIgKyAoZyA9IFIgPj4+IDI0KSA8PSBmKTspIHtcbiAgICAgICAgICBpZiAoMCA9PT0gcykgYnJlYWsgZTtcbiAgICAgICAgICBzLS0sIGwgKz0gbltvKytdIDw8IGYsIGYgKz0gODtcbiAgICAgICAgfVxuXG4gICAgICAgIGwgPj4+PSBiLCBmIC09IGIsIHIuYmFjayArPSBiO1xuICAgICAgfVxuXG4gICAgICBpZiAobCA+Pj49IGcsIGYgLT0gZywgci5iYWNrICs9IGcsIDY0ICYgdikge1xuICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBkaXN0YW5jZSBjb2RlXCIsIHIubW9kZSA9IG5vO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgci5vZmZzZXQgPSB3LCByLmV4dHJhID0gMTUgJiB2LCByLm1vZGUgPSAkaTtcblxuICAgIGNhc2UgJGk6XG4gICAgICBpZiAoci5leHRyYSkge1xuICAgICAgICBmb3IgKHggPSByLmV4dHJhOyBmIDwgeDspIHtcbiAgICAgICAgICBpZiAoMCA9PT0gcykgYnJlYWsgZTtcbiAgICAgICAgICBzLS0sIGwgKz0gbltvKytdIDw8IGYsIGYgKz0gODtcbiAgICAgICAgfVxuXG4gICAgICAgIHIub2Zmc2V0ICs9IGwgJiAoMSA8PCByLmV4dHJhKSAtIDEsIGwgPj4+PSByLmV4dHJhLCBmIC09IHIuZXh0cmEsIHIuYmFjayArPSByLmV4dHJhO1xuICAgICAgfVxuXG4gICAgICBpZiAoci5vZmZzZXQgPiByLmRtYXgpIHtcbiAgICAgICAgZS5tc2cgPSBcImludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrXCIsIHIubW9kZSA9IG5vO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgci5tb2RlID0gSmk7XG5cbiAgICBjYXNlIEppOlxuICAgICAgaWYgKDAgPT09IGgpIGJyZWFrIGU7XG5cbiAgICAgIGlmIChkID0gdSAtIGgsIHIub2Zmc2V0ID4gZCkge1xuICAgICAgICBpZiAoKGQgPSByLm9mZnNldCAtIGQpID4gci53aGF2ZSAmJiByLnNhbmUpIHtcbiAgICAgICAgICBlLm1zZyA9IFwiaW52YWxpZCBkaXN0YW5jZSB0b28gZmFyIGJhY2tcIiwgci5tb2RlID0gbm87XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBkID4gci53bmV4dCA/IChkIC09IHIud25leHQsIHAgPSByLndzaXplIC0gZCkgOiBwID0gci53bmV4dCAtIGQsIGQgPiByLmxlbmd0aCAmJiAoZCA9IHIubGVuZ3RoKSwgXyA9IHIud2luZG93O1xuICAgICAgfSBlbHNlIF8gPSBpLCBwID0gYSAtIHIub2Zmc2V0LCBkID0gci5sZW5ndGg7XG5cbiAgICAgIGQgPiBoICYmIChkID0gaCksIGggLT0gZCwgci5sZW5ndGggLT0gZDtcblxuICAgICAgZG8ge1xuICAgICAgICBpW2ErK10gPSBfW3ArK107XG4gICAgICB9IHdoaWxlICgtLWQpO1xuXG4gICAgICAwID09PSByLmxlbmd0aCAmJiAoci5tb2RlID0gcWkpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFFpOlxuICAgICAgaWYgKDAgPT09IGgpIGJyZWFrIGU7XG4gICAgICBpW2ErK10gPSByLmxlbmd0aCwgaC0tLCByLm1vZGUgPSBxaTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBlbzpcbiAgICAgIGlmIChyLndyYXApIHtcbiAgICAgICAgZm9yICg7IGYgPCAzMjspIHtcbiAgICAgICAgICBpZiAoMCA9PT0gcykgYnJlYWsgZTtcbiAgICAgICAgICBzLS0sIGwgfD0gbltvKytdIDw8IGYsIGYgKz0gODtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1IC09IGgsIGUudG90YWxfb3V0ICs9IHUsIHIudG90YWwgKz0gdSwgdSAmJiAoZS5hZGxlciA9IHIuY2hlY2sgPSByLmZsYWdzID8gJHIoci5jaGVjaywgaSwgdSwgYSAtIHUpIDogVnIoci5jaGVjaywgaSwgdSwgYSAtIHUpKSwgdSA9IGgsIChyLmZsYWdzID8gbCA6IGhvKGwpKSAhPT0gci5jaGVjaykge1xuICAgICAgICAgIGUubXNnID0gXCJpbmNvcnJlY3QgZGF0YSBjaGVja1wiLCByLm1vZGUgPSBubztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGwgPSAwLCBmID0gMDtcbiAgICAgIH1cblxuICAgICAgci5tb2RlID0gdG87XG5cbiAgICBjYXNlIHRvOlxuICAgICAgaWYgKHIud3JhcCAmJiByLmZsYWdzKSB7XG4gICAgICAgIGZvciAoOyBmIDwgMzI7KSB7XG4gICAgICAgICAgaWYgKDAgPT09IHMpIGJyZWFrIGU7XG4gICAgICAgICAgcy0tLCBsICs9IG5bbysrXSA8PCBmLCBmICs9IDg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobCAhPT0gKDQyOTQ5NjcyOTUgJiByLnRvdGFsKSkge1xuICAgICAgICAgIGUubXNnID0gXCJpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrXCIsIHIubW9kZSA9IG5vO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgbCA9IDAsIGYgPSAwO1xuICAgICAgfVxuXG4gICAgICByLm1vZGUgPSBybztcblxuICAgIGNhc2Ugcm86XG4gICAgICBFID0gbWk7XG4gICAgICBicmVhayBlO1xuXG4gICAgY2FzZSBubzpcbiAgICAgIEUgPSBTaTtcbiAgICAgIGJyZWFrIGU7XG5cbiAgICBjYXNlIGlvOlxuICAgICAgcmV0dXJuIHhpO1xuXG4gICAgY2FzZSBvbzpcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIEVpO1xuICB9XG5cbiAgcmV0dXJuIGUubmV4dF9vdXQgPSBhLCBlLmF2YWlsX291dCA9IGgsIGUubmV4dF9pbiA9IG8sIGUuYXZhaWxfaW4gPSBzLCByLmhvbGQgPSBsLCByLmJpdHMgPSBmLCAoci53c2l6ZSB8fCB1ICE9PSBlLmF2YWlsX291dCAmJiByLm1vZGUgPCBubyAmJiAoci5tb2RlIDwgZW8gfHwgdCAhPT0gdmkpKSAmJiBmdW5jdGlvbiAoZSwgdCwgciwgbikge1xuICAgIHZhciBpLFxuICAgICAgICBvID0gZS5zdGF0ZTtcbiAgICBudWxsID09PSBvLndpbmRvdyAmJiAoby53c2l6ZSA9IDEgPDwgby53Yml0cywgby53bmV4dCA9IDAsIG8ud2hhdmUgPSAwLCBvLndpbmRvdyA9IG5ldyBXdChvLndzaXplKSksIG4gPj0gby53c2l6ZSA/IChqdChvLndpbmRvdywgdCwgciAtIG8ud3NpemUsIG8ud3NpemUsIDApLCBvLnduZXh0ID0gMCwgby53aGF2ZSA9IG8ud3NpemUpIDogKChpID0gby53c2l6ZSAtIG8ud25leHQpID4gbiAmJiAoaSA9IG4pLCBqdChvLndpbmRvdywgdCwgciAtIG4sIGksIG8ud25leHQpLCAobiAtPSBpKSA/IChqdChvLndpbmRvdywgdCwgciAtIG4sIG4sIDApLCBvLnduZXh0ID0gbiwgby53aGF2ZSA9IG8ud3NpemUpIDogKG8ud25leHQgKz0gaSwgby53bmV4dCA9PT0gby53c2l6ZSAmJiAoby53bmV4dCA9IDApLCBvLndoYXZlIDwgby53c2l6ZSAmJiAoby53aGF2ZSArPSBpKSkpO1xuICB9KGUsIGUub3V0cHV0LCBlLm5leHRfb3V0LCB1IC0gZS5hdmFpbF9vdXQpLCBjIC09IGUuYXZhaWxfaW4sIHUgLT0gZS5hdmFpbF9vdXQsIGUudG90YWxfaW4gKz0gYywgZS50b3RhbF9vdXQgKz0gdSwgci50b3RhbCArPSB1LCByLndyYXAgJiYgdSAmJiAoZS5hZGxlciA9IHIuY2hlY2sgPSByLmZsYWdzID8gJHIoci5jaGVjaywgaSwgdSwgZS5uZXh0X291dCAtIHUpIDogVnIoci5jaGVjaywgaSwgdSwgZS5uZXh0X291dCAtIHUpKSwgZS5kYXRhX3R5cGUgPSByLmJpdHMgKyAoci5sYXN0ID8gNjQgOiAwKSArIChyLm1vZGUgPT09IEhpID8gMTI4IDogMCkgKyAoci5tb2RlID09PSBYaSB8fCByLm1vZGUgPT09IFppID8gMjU2IDogMCksICgwID09PSBjICYmIDAgPT09IHUgfHwgdCA9PT0gdmkpICYmIEUgPT09IHlpICYmIChFID0gUmkpLCBFO1xufVxuXG52YXIgd28sXG4gICAgYm8gPSAxLFxuICAgIHlvID0gNztcblxuZnVuY3Rpb24gbW8oZSkge1xuICBpZiAoZSA8IGJvIHx8IGUgPiB5bykgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkJhZCBhcmd1bWVudFwiKTtcbiAgdGhpcy5tb2RlID0gZSwgdGhpcy5pbml0X2RvbmUgPSAhMSwgdGhpcy53cml0ZV9pbl9wcm9ncmVzcyA9ICExLCB0aGlzLnBlbmRpbmdfY2xvc2UgPSAhMSwgdGhpcy53aW5kb3dCaXRzID0gMCwgdGhpcy5sZXZlbCA9IDAsIHRoaXMubWVtTGV2ZWwgPSAwLCB0aGlzLnN0cmF0ZWd5ID0gMCwgdGhpcy5kaWN0aW9uYXJ5ID0gbnVsbDtcbn1cblxuZnVuY3Rpb24ga28oZSwgdCkge1xuICBmb3IgKHZhciByID0gMDsgciA8IGUubGVuZ3RoOyByKyspIHRoaXNbdCArIHJdID0gZVtyXTtcbn1cblxubW8ucHJvdG90eXBlLmluaXQgPSBmdW5jdGlvbiAoZSwgdCwgciwgbiwgaSkge1xuICB2YXIgbztcblxuICBzd2l0Y2ggKHRoaXMud2luZG93Qml0cyA9IGUsIHRoaXMubGV2ZWwgPSB0LCB0aGlzLm1lbUxldmVsID0gciwgdGhpcy5zdHJhdGVneSA9IG4sIDMgIT09IHRoaXMubW9kZSAmJiA0ICE9PSB0aGlzLm1vZGUgfHwgKHRoaXMud2luZG93Qml0cyArPSAxNiksIHRoaXMubW9kZSA9PT0geW8gJiYgKHRoaXMud2luZG93Qml0cyArPSAzMiksIDUgIT09IHRoaXMubW9kZSAmJiA2ICE9PSB0aGlzLm1vZGUgfHwgKHRoaXMud2luZG93Qml0cyA9IC10aGlzLndpbmRvd0JpdHMpLCB0aGlzLnN0cm0gPSBuZXcgWnQoKSwgdGhpcy5tb2RlKSB7XG4gICAgY2FzZSBibzpcbiAgICBjYXNlIDM6XG4gICAgY2FzZSA1OlxuICAgICAgbyA9IGZ1bmN0aW9uIChlLCB0LCByLCBuLCBpLCBvKSB7XG4gICAgICAgIGlmICghZSkgcmV0dXJuIHNuO1xuICAgICAgICB2YXIgYSA9IDE7XG4gICAgICAgIGlmICh0ID09PSBmbiAmJiAodCA9IDYpLCBuIDwgMCA/IChhID0gMCwgbiA9IC1uKSA6IG4gPiAxNSAmJiAoYSA9IDIsIG4gLT0gMTYpLCBpIDwgMSB8fCBpID4gdm4gfHwgciAhPT0gZ24gfHwgbiA8IDggfHwgbiA+IDE1IHx8IHQgPCAwIHx8IHQgPiA5IHx8IG8gPCAwIHx8IG8gPiBwbikgcmV0dXJuIEhuKGUsIHNuKTtcbiAgICAgICAgOCA9PT0gbiAmJiAobiA9IDkpO1xuICAgICAgICB2YXIgcyA9IG5ldyAkbigpO1xuICAgICAgICByZXR1cm4gZS5zdGF0ZSA9IHMsIHMuc3RybSA9IGUsIHMud3JhcCA9IGEsIHMuZ3poZWFkID0gbnVsbCwgcy53X2JpdHMgPSBuLCBzLndfc2l6ZSA9IDEgPDwgcy53X2JpdHMsIHMud19tYXNrID0gcy53X3NpemUgLSAxLCBzLmhhc2hfYml0cyA9IGkgKyA3LCBzLmhhc2hfc2l6ZSA9IDEgPDwgcy5oYXNoX2JpdHMsIHMuaGFzaF9tYXNrID0gcy5oYXNoX3NpemUgLSAxLCBzLmhhc2hfc2hpZnQgPSB+figocy5oYXNoX2JpdHMgKyBFbiAtIDEpIC8gRW4pLCBzLndpbmRvdyA9IG5ldyBXdCgyICogcy53X3NpemUpLCBzLmhlYWQgPSBuZXcgWXQocy5oYXNoX3NpemUpLCBzLnByZXYgPSBuZXcgWXQocy53X3NpemUpLCBzLmxpdF9idWZzaXplID0gMSA8PCBpICsgNiwgcy5wZW5kaW5nX2J1Zl9zaXplID0gNCAqIHMubGl0X2J1ZnNpemUsIHMucGVuZGluZ19idWYgPSBuZXcgV3Qocy5wZW5kaW5nX2J1Zl9zaXplKSwgcy5kX2J1ZiA9IDEgKiBzLmxpdF9idWZzaXplLCBzLmxfYnVmID0gMyAqIHMubGl0X2J1ZnNpemUsIHMubGV2ZWwgPSB0LCBzLnN0cmF0ZWd5ID0gbywgcy5tZXRob2QgPSByLCBKbihlKTtcbiAgICAgIH0odGhpcy5zdHJtLCB0aGlzLmxldmVsLCA4LCB0aGlzLndpbmRvd0JpdHMsIHRoaXMubWVtTGV2ZWwsIHRoaXMuc3RyYXRlZ3kpO1xuXG4gICAgICBicmVhaztcblxuICAgIGNhc2UgMjpcbiAgICBjYXNlIDQ6XG4gICAgY2FzZSA2OlxuICAgIGNhc2UgeW86XG4gICAgICBvID0gY28odGhpcy5zdHJtLCB0aGlzLndpbmRvd0JpdHMpO1xuICAgICAgYnJlYWs7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBtb2RlIFwiICsgdGhpcy5tb2RlKTtcbiAgfVxuXG4gIDAgPT09IG8gPyAodGhpcy53cml0ZV9pbl9wcm9ncmVzcyA9ICExLCB0aGlzLmluaXRfZG9uZSA9ICEwKSA6IHRoaXMuX2Vycm9yKG8pO1xufSwgbW8ucHJvdG90eXBlLnBhcmFtcyA9IGZ1bmN0aW9uICgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKFwiZGVmbGF0ZVBhcmFtcyBOb3Qgc3VwcG9ydGVkXCIpO1xufSwgbW8ucHJvdG90eXBlLl93cml0ZUNoZWNrID0gZnVuY3Rpb24gKCkge1xuICBpZiAoIXRoaXMuaW5pdF9kb25lKSB0aHJvdyBuZXcgRXJyb3IoXCJ3cml0ZSBiZWZvcmUgaW5pdFwiKTtcbiAgaWYgKDAgPT09IHRoaXMubW9kZSkgdGhyb3cgbmV3IEVycm9yKFwiYWxyZWFkeSBmaW5hbGl6ZWRcIik7XG4gIGlmICh0aGlzLndyaXRlX2luX3Byb2dyZXNzKSB0aHJvdyBuZXcgRXJyb3IoXCJ3cml0ZSBhbHJlYWR5IGluIHByb2dyZXNzXCIpO1xuICBpZiAodGhpcy5wZW5kaW5nX2Nsb3NlKSB0aHJvdyBuZXcgRXJyb3IoXCJjbG9zZSBpcyBwZW5kaW5nXCIpO1xufSwgbW8ucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4sIGksIG8sIGEpIHtcbiAgdGhpcy5fd3JpdGVDaGVjaygpLCB0aGlzLndyaXRlX2luX3Byb2dyZXNzID0gITA7XG4gIHZhciBzID0gdGhpcztcbiAgcmV0dXJuIGRlKGZ1bmN0aW9uICgpIHtcbiAgICBzLndyaXRlX2luX3Byb2dyZXNzID0gITE7XG5cbiAgICB2YXIgaCA9IHMuX3dyaXRlKGUsIHQsIHIsIG4sIGksIG8sIGEpO1xuXG4gICAgcy5jYWxsYmFjayhoWzBdLCBoWzFdKSwgcy5wZW5kaW5nX2Nsb3NlICYmIHMuY2xvc2UoKTtcbiAgfSksIHRoaXM7XG59LCBtby5wcm90b3R5cGUud3JpdGVTeW5jID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4sIGksIG8sIGEpIHtcbiAgcmV0dXJuIHRoaXMuX3dyaXRlQ2hlY2soKSwgdGhpcy5fd3JpdGUoZSwgdCwgciwgbiwgaSwgbywgYSk7XG59LCBtby5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gKGUsIHQsIHIsIG4sIGksIG8sIGEpIHtcbiAgaWYgKHRoaXMud3JpdGVfaW5fcHJvZ3Jlc3MgPSAhMCwgMCAhPT0gZSAmJiAxICE9PSBlICYmIDIgIT09IGUgJiYgMyAhPT0gZSAmJiA0ICE9PSBlICYmIDUgIT09IGUpIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgZmx1c2ggdmFsdWVcIik7XG4gIG51bGwgPT0gdCAmJiAodCA9IG5ldyBwKDApLCBuID0gMCwgciA9IDApLCBpLl9zZXQgPyBpLnNldCA9IGkuX3NldCA6IGkuc2V0ID0ga287XG4gIHZhciBzLFxuICAgICAgaCA9IHRoaXMuc3RybTtcblxuICBzd2l0Y2ggKGguYXZhaWxfaW4gPSBuLCBoLmlucHV0ID0gdCwgaC5uZXh0X2luID0gciwgaC5hdmFpbF9vdXQgPSBhLCBoLm91dHB1dCA9IGksIGgubmV4dF9vdXQgPSBvLCB0aGlzLm1vZGUpIHtcbiAgICBjYXNlIGJvOlxuICAgIGNhc2UgMzpcbiAgICBjYXNlIDU6XG4gICAgICBzID0gUW4oaCwgZSk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgeW86XG4gICAgY2FzZSAyOlxuICAgIGNhc2UgNDpcbiAgICBjYXNlIDY6XG4gICAgICBzID0gdm8oaCwgZSk7XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIG1vZGUgXCIgKyB0aGlzLm1vZGUpO1xuICB9XG5cbiAgcmV0dXJuIDEgIT09IHMgJiYgMCAhPT0gcyAmJiB0aGlzLl9lcnJvcihzKSwgdGhpcy53cml0ZV9pbl9wcm9ncmVzcyA9ICExLCBbaC5hdmFpbF9pbiwgaC5hdmFpbF9vdXRdO1xufSwgbW8ucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLndyaXRlX2luX3Byb2dyZXNzID8gdGhpcy5wZW5kaW5nX2Nsb3NlID0gITAgOiAodGhpcy5wZW5kaW5nX2Nsb3NlID0gITEsIHRoaXMubW9kZSA9PT0gYm8gfHwgMyA9PT0gdGhpcy5tb2RlIHx8IDUgPT09IHRoaXMubW9kZSA/IGZ1bmN0aW9uIChlKSB7XG4gICAgdmFyIHQ7XG4gICAgZSAmJiBlLnN0YXRlICYmICgodCA9IGUuc3RhdGUuc3RhdHVzKSAhPT0gQW4gJiYgdCAhPT0gQm4gJiYgdCAhPT0gem4gJiYgdCAhPT0gTG4gJiYgdCAhPT0gVG4gJiYgdCAhPT0gTW4gJiYgdCAhPT0gQ24gPyBIbihlLCBzbikgOiAoZS5zdGF0ZSA9IG51bGwsIHQgPT09IE1uICYmIEhuKGUsIGhuKSkpO1xuICB9KHRoaXMuc3RybSkgOiBmdW5jdGlvbiAoZSkge1xuICAgIGlmICghZSB8fCAhZS5zdGF0ZSkgcmV0dXJuIEVpO1xuICAgIHZhciB0ID0gZS5zdGF0ZTtcbiAgICB0LndpbmRvdyAmJiAodC53aW5kb3cgPSBudWxsKSwgZS5zdGF0ZSA9IG51bGw7XG4gIH0odGhpcy5zdHJtKSwgdGhpcy5tb2RlID0gMCk7XG59LCBtby5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbiAoKSB7XG4gIHN3aXRjaCAodGhpcy5tb2RlKSB7XG4gICAgY2FzZSBibzpcbiAgICBjYXNlIDU6XG4gICAgICB3byA9IEpuKHRoaXMuc3RybSk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgMjpcbiAgICBjYXNlIDY6XG4gICAgICB3byA9IGZvKHRoaXMuc3RybSk7XG4gIH1cblxuICAwICE9PSB3byAmJiB0aGlzLl9lcnJvcih3byk7XG59LCBtby5wcm90b3R5cGUuX2Vycm9yID0gZnVuY3Rpb24gKGUpIHtcbiAgdGhpcy5vbmVycm9yKE50W2VdICsgXCI6IFwiICsgdGhpcy5zdHJtLm1zZywgZSksIHRoaXMud3JpdGVfaW5fcHJvZ3Jlc3MgPSAhMSwgdGhpcy5wZW5kaW5nX2Nsb3NlICYmIHRoaXMuY2xvc2UoKTtcbn07XG52YXIgRW8gPSBPYmplY3QuZnJlZXplKHtcbiAgTk9ORTogMCxcbiAgREVGTEFURTogYm8sXG4gIElORkxBVEU6IDIsXG4gIEdaSVA6IDMsXG4gIEdVTlpJUDogNCxcbiAgREVGTEFURVJBVzogNSxcbiAgSU5GTEFURVJBVzogNixcbiAgVU5aSVA6IHlvLFxuICBaX05PX0ZMVVNIOiAwLFxuICBaX1BBUlRJQUxfRkxVU0g6IDEsXG4gIFpfU1lOQ19GTFVTSDogMixcbiAgWl9GVUxMX0ZMVVNIOiAzLFxuICBaX0ZJTklTSDogNCxcbiAgWl9CTE9DSzogNSxcbiAgWl9UUkVFUzogNixcbiAgWl9PSzogMCxcbiAgWl9TVFJFQU1fRU5EOiAxLFxuICBaX05FRURfRElDVDogMixcbiAgWl9FUlJOTzogLTEsXG4gIFpfU1RSRUFNX0VSUk9SOiAtMixcbiAgWl9EQVRBX0VSUk9SOiAtMyxcbiAgWl9CVUZfRVJST1I6IC01LFxuICBaX05PX0NPTVBSRVNTSU9OOiAwLFxuICBaX0JFU1RfU1BFRUQ6IDEsXG4gIFpfQkVTVF9DT01QUkVTU0lPTjogOSxcbiAgWl9ERUZBVUxUX0NPTVBSRVNTSU9OOiAtMSxcbiAgWl9GSUxURVJFRDogMSxcbiAgWl9IVUZGTUFOX09OTFk6IDIsXG4gIFpfUkxFOiAzLFxuICBaX0ZJWEVEOiA0LFxuICBaX0RFRkFVTFRfU1RSQVRFR1k6IDAsXG4gIFpfQklOQVJZOiAwLFxuICBaX1RFWFQ6IDEsXG4gIFpfVU5LTk9XTjogMixcbiAgWl9ERUZMQVRFRDogOCxcbiAgWmxpYjogbW9cbn0pO1xudmFyIFNvID0ge307XG5PYmplY3Qua2V5cyhFbykuZm9yRWFjaChmdW5jdGlvbiAoZSkge1xuICBTb1tlXSA9IEVvW2VdO1xufSksIFNvLlpfTUlOX1dJTkRPV0JJVFMgPSA4LCBTby5aX01BWF9XSU5ET1dCSVRTID0gMTUsIFNvLlpfREVGQVVMVF9XSU5ET1dCSVRTID0gMTUsIFNvLlpfTUlOX0NIVU5LID0gNjQsIFNvLlpfTUFYX0NIVU5LID0gMSAvIDAsIFNvLlpfREVGQVVMVF9DSFVOSyA9IDE2Mzg0LCBTby5aX01JTl9NRU1MRVZFTCA9IDEsIFNvLlpfTUFYX01FTUxFVkVMID0gOSwgU28uWl9ERUZBVUxUX01FTUxFVkVMID0gOCwgU28uWl9NSU5fTEVWRUwgPSAtMSwgU28uWl9NQVhfTEVWRUwgPSA5LCBTby5aX0RFRkFVTFRfTEVWRUwgPSBTby5aX0RFRkFVTFRfQ09NUFJFU1NJT047XG52YXIgeG8gPSB7XG4gIFpfT0s6IFNvLlpfT0ssXG4gIFpfU1RSRUFNX0VORDogU28uWl9TVFJFQU1fRU5ELFxuICBaX05FRURfRElDVDogU28uWl9ORUVEX0RJQ1QsXG4gIFpfRVJSTk86IFNvLlpfRVJSTk8sXG4gIFpfU1RSRUFNX0VSUk9SOiBTby5aX1NUUkVBTV9FUlJPUixcbiAgWl9EQVRBX0VSUk9SOiBTby5aX0RBVEFfRVJST1IsXG4gIFpfTUVNX0VSUk9SOiBTby5aX01FTV9FUlJPUixcbiAgWl9CVUZfRVJST1I6IFNvLlpfQlVGX0VSUk9SLFxuICBaX1ZFUlNJT05fRVJST1I6IFNvLlpfVkVSU0lPTl9FUlJPUlxufTtcblxuZnVuY3Rpb24gUm8oZSwgdCwgcikge1xuICB2YXIgbiA9IFtdLFxuICAgICAgaSA9IDA7XG5cbiAgZnVuY3Rpb24gbygpIHtcbiAgICBmb3IgKHZhciB0OyBudWxsICE9PSAodCA9IGUucmVhZCgpKTspIG4ucHVzaCh0KSwgaSArPSB0Lmxlbmd0aDtcblxuICAgIGUub25jZShcInJlYWRhYmxlXCIsIG8pO1xuICB9XG5cbiAgZnVuY3Rpb24gYSgpIHtcbiAgICB2YXIgdCA9IHAuY29uY2F0KG4sIGkpO1xuICAgIG4gPSBbXSwgcihudWxsLCB0KSwgZS5jbG9zZSgpO1xuICB9XG5cbiAgZS5vbihcImVycm9yXCIsIGZ1bmN0aW9uICh0KSB7XG4gICAgZS5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLCBhKSwgZS5yZW1vdmVMaXN0ZW5lcihcInJlYWRhYmxlXCIsIG8pLCByKHQpO1xuICB9KSwgZS5vbihcImVuZFwiLCBhKSwgZS5lbmQodCksIG8oKTtcbn1cblxuZnVuY3Rpb24gQW8oZSwgdCkge1xuICBpZiAoXCJzdHJpbmdcIiA9PSB0eXBlb2YgdCAmJiAodCA9IG5ldyBwKHQpKSwgISQodCkpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJOb3QgYSBzdHJpbmcgb3IgYnVmZmVyXCIpO1xuICB2YXIgciA9IFNvLlpfRklOSVNIO1xuICByZXR1cm4gZS5fcHJvY2Vzc0NodW5rKHQsIHIpO1xufVxuXG5mdW5jdGlvbiBCbyhlKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBCbykpIHJldHVybiBuZXcgQm8oZSk7XG4gIElvLmNhbGwodGhpcywgZSwgU28uREVGTEFURSk7XG59XG5cbmZ1bmN0aW9uIHpvKGUpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIHpvKSkgcmV0dXJuIG5ldyB6byhlKTtcbiAgSW8uY2FsbCh0aGlzLCBlLCBTby5JTkZMQVRFKTtcbn1cblxuZnVuY3Rpb24gTG8oZSkge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgTG8pKSByZXR1cm4gbmV3IExvKGUpO1xuICBJby5jYWxsKHRoaXMsIGUsIFNvLkdaSVApO1xufVxuXG5mdW5jdGlvbiBUbyhlKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBUbykpIHJldHVybiBuZXcgVG8oZSk7XG4gIElvLmNhbGwodGhpcywgZSwgU28uR1VOWklQKTtcbn1cblxuZnVuY3Rpb24gTW8oZSkge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgTW8pKSByZXR1cm4gbmV3IE1vKGUpO1xuICBJby5jYWxsKHRoaXMsIGUsIFNvLkRFRkxBVEVSQVcpO1xufVxuXG5mdW5jdGlvbiBDbyhlKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBDbykpIHJldHVybiBuZXcgQ28oZSk7XG4gIElvLmNhbGwodGhpcywgZSwgU28uSU5GTEFURVJBVyk7XG59XG5cbmZ1bmN0aW9uIERvKGUpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIERvKSkgcmV0dXJuIG5ldyBEbyhlKTtcbiAgSW8uY2FsbCh0aGlzLCBlLCBTby5VTlpJUCk7XG59XG5cbmZ1bmN0aW9uIElvKGUsIHQpIHtcbiAgaWYgKHRoaXMuX29wdHMgPSBlID0gZSB8fCB7fSwgdGhpcy5fY2h1bmtTaXplID0gZS5jaHVua1NpemUgfHwgU28uWl9ERUZBVUxUX0NIVU5LLCBPdC5jYWxsKHRoaXMsIGUpLCBlLmZsdXNoICYmIGUuZmx1c2ggIT09IFNvLlpfTk9fRkxVU0ggJiYgZS5mbHVzaCAhPT0gU28uWl9QQVJUSUFMX0ZMVVNIICYmIGUuZmx1c2ggIT09IFNvLlpfU1lOQ19GTFVTSCAmJiBlLmZsdXNoICE9PSBTby5aX0ZVTExfRkxVU0ggJiYgZS5mbHVzaCAhPT0gU28uWl9GSU5JU0ggJiYgZS5mbHVzaCAhPT0gU28uWl9CTE9DSykgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBmbHVzaCBmbGFnOiBcIiArIGUuZmx1c2gpO1xuICBpZiAodGhpcy5fZmx1c2hGbGFnID0gZS5mbHVzaCB8fCBTby5aX05PX0ZMVVNILCBlLmNodW5rU2l6ZSAmJiAoZS5jaHVua1NpemUgPCBTby5aX01JTl9DSFVOSyB8fCBlLmNodW5rU2l6ZSA+IFNvLlpfTUFYX0NIVU5LKSkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjaHVuayBzaXplOiBcIiArIGUuY2h1bmtTaXplKTtcbiAgaWYgKGUud2luZG93Qml0cyAmJiAoZS53aW5kb3dCaXRzIDwgU28uWl9NSU5fV0lORE9XQklUUyB8fCBlLndpbmRvd0JpdHMgPiBTby5aX01BWF9XSU5ET1dCSVRTKSkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB3aW5kb3dCaXRzOiBcIiArIGUud2luZG93Qml0cyk7XG4gIGlmIChlLmxldmVsICYmIChlLmxldmVsIDwgU28uWl9NSU5fTEVWRUwgfHwgZS5sZXZlbCA+IFNvLlpfTUFYX0xFVkVMKSkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBjb21wcmVzc2lvbiBsZXZlbDogXCIgKyBlLmxldmVsKTtcbiAgaWYgKGUubWVtTGV2ZWwgJiYgKGUubWVtTGV2ZWwgPCBTby5aX01JTl9NRU1MRVZFTCB8fCBlLm1lbUxldmVsID4gU28uWl9NQVhfTUVNTEVWRUwpKSB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIG1lbUxldmVsOiBcIiArIGUubWVtTGV2ZWwpO1xuICBpZiAoZS5zdHJhdGVneSAmJiBlLnN0cmF0ZWd5ICE9IFNvLlpfRklMVEVSRUQgJiYgZS5zdHJhdGVneSAhPSBTby5aX0hVRkZNQU5fT05MWSAmJiBlLnN0cmF0ZWd5ICE9IFNvLlpfUkxFICYmIGUuc3RyYXRlZ3kgIT0gU28uWl9GSVhFRCAmJiBlLnN0cmF0ZWd5ICE9IFNvLlpfREVGQVVMVF9TVFJBVEVHWSkgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBzdHJhdGVneTogXCIgKyBlLnN0cmF0ZWd5KTtcbiAgaWYgKGUuZGljdGlvbmFyeSAmJiAhJChlLmRpY3Rpb25hcnkpKSB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGRpY3Rpb25hcnk6IGl0IHNob3VsZCBiZSBhIEJ1ZmZlciBpbnN0YW5jZVwiKTtcbiAgdGhpcy5fYmluZGluZyA9IG5ldyBTby5abGliKHQpO1xuICB2YXIgciA9IHRoaXM7XG4gIHRoaXMuX2hhZEVycm9yID0gITEsIHRoaXMuX2JpbmRpbmcub25lcnJvciA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgci5fYmluZGluZyA9IG51bGwsIHIuX2hhZEVycm9yID0gITA7XG4gICAgdmFyIG4gPSBuZXcgRXJyb3IoZSk7XG4gICAgbi5lcnJubyA9IHQsIG4uY29kZSA9IFNvLmNvZGVzW3RdLCByLmVtaXQoXCJlcnJvclwiLCBuKTtcbiAgfTtcbiAgdmFyIG4gPSBTby5aX0RFRkFVTFRfQ09NUFJFU1NJT047XG4gIFwibnVtYmVyXCIgPT0gdHlwZW9mIGUubGV2ZWwgJiYgKG4gPSBlLmxldmVsKTtcbiAgdmFyIGkgPSBTby5aX0RFRkFVTFRfU1RSQVRFR1k7XG4gIFwibnVtYmVyXCIgPT0gdHlwZW9mIGUuc3RyYXRlZ3kgJiYgKGkgPSBlLnN0cmF0ZWd5KSwgdGhpcy5fYmluZGluZy5pbml0KGUud2luZG93Qml0cyB8fCBTby5aX0RFRkFVTFRfV0lORE9XQklUUywgbiwgZS5tZW1MZXZlbCB8fCBTby5aX0RFRkFVTFRfTUVNTEVWRUwsIGksIGUuZGljdGlvbmFyeSksIHRoaXMuX2J1ZmZlciA9IG5ldyBwKHRoaXMuX2NodW5rU2l6ZSksIHRoaXMuX29mZnNldCA9IDAsIHRoaXMuX2Nsb3NlZCA9ICExLCB0aGlzLl9sZXZlbCA9IG4sIHRoaXMuX3N0cmF0ZWd5ID0gaSwgdGhpcy5vbmNlKFwiZW5kXCIsIHRoaXMuY2xvc2UpO1xufVxuXG5PYmplY3Qua2V5cyh4bykuZm9yRWFjaChmdW5jdGlvbiAoZSkge1xuICB4b1t4b1tlXV0gPSBlO1xufSksIEJlKElvLCBPdCksIElvLnByb3RvdHlwZS5wYXJhbXMgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICBpZiAoZSA8IFNvLlpfTUlOX0xFVkVMIHx8IGUgPiBTby5aX01BWF9MRVZFTCkgdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbnZhbGlkIGNvbXByZXNzaW9uIGxldmVsOiBcIiArIGUpO1xuICBpZiAodCAhPSBTby5aX0ZJTFRFUkVEICYmIHQgIT0gU28uWl9IVUZGTUFOX09OTFkgJiYgdCAhPSBTby5aX1JMRSAmJiB0ICE9IFNvLlpfRklYRUQgJiYgdCAhPSBTby5aX0RFRkFVTFRfU1RSQVRFR1kpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIHN0cmF0ZWd5OiBcIiArIHQpO1xuXG4gIGlmICh0aGlzLl9sZXZlbCAhPT0gZSB8fCB0aGlzLl9zdHJhdGVneSAhPT0gdCkge1xuICAgIHZhciBuID0gdGhpcztcbiAgICB0aGlzLmZsdXNoKFNvLlpfU1lOQ19GTFVTSCwgZnVuY3Rpb24gKCkge1xuICAgICAgbi5fYmluZGluZy5wYXJhbXMoZSwgdCksIG4uX2hhZEVycm9yIHx8IChuLl9sZXZlbCA9IGUsIG4uX3N0cmF0ZWd5ID0gdCwgciAmJiByKCkpO1xuICAgIH0pO1xuICB9IGVsc2UgZGUocik7XG59LCBJby5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0aGlzLl9iaW5kaW5nLnJlc2V0KCk7XG59LCBJby5wcm90b3R5cGUuX2ZsdXNoID0gZnVuY3Rpb24gKGUpIHtcbiAgdGhpcy5fdHJhbnNmb3JtKG5ldyBwKDApLCBcIlwiLCBlKTtcbn0sIElvLnByb3RvdHlwZS5mbHVzaCA9IGZ1bmN0aW9uIChlLCB0KSB7XG4gIHZhciByID0gdGhpcy5fd3JpdGFibGVTdGF0ZTtcbiAgaWYgKChcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIGUgfHwgdm9pZCAwID09PSBlICYmICF0KSAmJiAodCA9IGUsIGUgPSBTby5aX0ZVTExfRkxVU0gpLCByLmVuZGVkKSB0ICYmIGRlKHQpO2Vsc2UgaWYgKHIuZW5kaW5nKSB0ICYmIHRoaXMub25jZShcImVuZFwiLCB0KTtlbHNlIGlmIChyLm5lZWREcmFpbikge1xuICAgIHZhciBuID0gdGhpcztcbiAgICB0aGlzLm9uY2UoXCJkcmFpblwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBuLmZsdXNoKHQpO1xuICAgIH0pO1xuICB9IGVsc2UgdGhpcy5fZmx1c2hGbGFnID0gZSwgdGhpcy53cml0ZShuZXcgcCgwKSwgXCJcIiwgdCk7XG59LCBJby5wcm90b3R5cGUuY2xvc2UgPSBmdW5jdGlvbiAoZSkge1xuICBpZiAoZSAmJiBkZShlKSwgIXRoaXMuX2Nsb3NlZCkge1xuICAgIHRoaXMuX2Nsb3NlZCA9ICEwLCB0aGlzLl9iaW5kaW5nLmNsb3NlKCk7XG4gICAgdmFyIHQgPSB0aGlzO1xuICAgIGRlKGZ1bmN0aW9uICgpIHtcbiAgICAgIHQuZW1pdChcImNsb3NlXCIpO1xuICAgIH0pO1xuICB9XG59LCBJby5wcm90b3R5cGUuX3RyYW5zZm9ybSA9IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gIHZhciBuLFxuICAgICAgaSA9IHRoaXMuX3dyaXRhYmxlU3RhdGUsXG4gICAgICBvID0gKGkuZW5kaW5nIHx8IGkuZW5kZWQpICYmICghZSB8fCBpLmxlbmd0aCA9PT0gZS5sZW5ndGgpO1xuICBpZiAobnVsbCA9PT0gIWUgJiYgISQoZSkpIHJldHVybiByKG5ldyBFcnJvcihcImludmFsaWQgaW5wdXRcIikpO1xuICBvID8gbiA9IFNvLlpfRklOSVNIIDogKG4gPSB0aGlzLl9mbHVzaEZsYWcsIGUubGVuZ3RoID49IGkubGVuZ3RoICYmICh0aGlzLl9mbHVzaEZsYWcgPSB0aGlzLl9vcHRzLmZsdXNoIHx8IFNvLlpfTk9fRkxVU0gpKSwgdGhpcy5fcHJvY2Vzc0NodW5rKGUsIG4sIHIpO1xufSwgSW8ucHJvdG90eXBlLl9wcm9jZXNzQ2h1bmsgPSBmdW5jdGlvbiAoZSwgdCwgcikge1xuICB2YXIgbiA9IGUgJiYgZS5sZW5ndGgsXG4gICAgICBpID0gdGhpcy5fY2h1bmtTaXplIC0gdGhpcy5fb2Zmc2V0LFxuICAgICAgbyA9IDAsXG4gICAgICBhID0gdGhpcyxcbiAgICAgIHMgPSBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIHI7XG5cbiAgaWYgKCFzKSB7XG4gICAgdmFyIGgsXG4gICAgICAgIGwgPSBbXSxcbiAgICAgICAgZiA9IDA7XG4gICAgdGhpcy5vbihcImVycm9yXCIsIGZ1bmN0aW9uIChlKSB7XG4gICAgICBoID0gZTtcbiAgICB9KTtcblxuICAgIGRvIHtcbiAgICAgIHZhciBjID0gdGhpcy5fYmluZGluZy53cml0ZVN5bmModCwgZSwgbywgbiwgdGhpcy5fYnVmZmVyLCB0aGlzLl9vZmZzZXQsIGkpO1xuICAgIH0gd2hpbGUgKCF0aGlzLl9oYWRFcnJvciAmJiBfKGNbMF0sIGNbMV0pKTtcblxuICAgIGlmICh0aGlzLl9oYWRFcnJvcikgdGhyb3cgaDtcbiAgICB2YXIgdSA9IHAuY29uY2F0KGwsIGYpO1xuICAgIHJldHVybiB0aGlzLmNsb3NlKCksIHU7XG4gIH1cblxuICB2YXIgZCA9IHRoaXMuX2JpbmRpbmcud3JpdGUodCwgZSwgbywgbiwgdGhpcy5fYnVmZmVyLCB0aGlzLl9vZmZzZXQsIGkpO1xuXG4gIGZ1bmN0aW9uIF8oaCwgYykge1xuICAgIGlmICghYS5faGFkRXJyb3IpIHtcbiAgICAgIHZhciB1ID0gaSAtIGM7XG5cbiAgICAgIGlmIChmdW5jdGlvbiAoZSwgdCkge1xuICAgICAgICBpZiAoIWUpIHRocm93IG5ldyBFcnJvcih0KTtcbiAgICAgIH0odSA+PSAwLCBcImhhdmUgc2hvdWxkIG5vdCBnbyBkb3duXCIpLCB1ID4gMCkge1xuICAgICAgICB2YXIgZCA9IGEuX2J1ZmZlci5zbGljZShhLl9vZmZzZXQsIGEuX29mZnNldCArIHUpO1xuXG4gICAgICAgIGEuX29mZnNldCArPSB1LCBzID8gYS5wdXNoKGQpIDogKGwucHVzaChkKSwgZiArPSBkLmxlbmd0aCk7XG4gICAgICB9XG5cbiAgICAgIGlmICgoMCA9PT0gYyB8fCBhLl9vZmZzZXQgPj0gYS5fY2h1bmtTaXplKSAmJiAoaSA9IGEuX2NodW5rU2l6ZSwgYS5fb2Zmc2V0ID0gMCwgYS5fYnVmZmVyID0gbmV3IHAoYS5fY2h1bmtTaXplKSksIDAgPT09IGMpIHtcbiAgICAgICAgaWYgKG8gKz0gbiAtIGgsIG4gPSBoLCAhcykgcmV0dXJuICEwO1xuXG4gICAgICAgIHZhciBnID0gYS5fYmluZGluZy53cml0ZSh0LCBlLCBvLCBuLCBhLl9idWZmZXIsIGEuX29mZnNldCwgYS5fY2h1bmtTaXplKTtcblxuICAgICAgICByZXR1cm4gZy5jYWxsYmFjayA9IF8sIHZvaWQgKGcuYnVmZmVyID0gZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICghcykgcmV0dXJuICExO1xuICAgICAgcigpO1xuICAgIH1cbiAgfVxuXG4gIGQuYnVmZmVyID0gZSwgZC5jYWxsYmFjayA9IF87XG59LCBCZShCbywgSW8pLCBCZSh6bywgSW8pLCBCZShMbywgSW8pLCBCZShUbywgSW8pLCBCZShNbywgSW8pLCBCZShDbywgSW8pLCBCZShEbywgSW8pO1xudmFyIFBvID0ge1xuICBjb2RlczogeG8sXG4gIGNyZWF0ZURlZmxhdGU6IGZ1bmN0aW9uIChlKSB7XG4gICAgcmV0dXJuIG5ldyBCbyhlKTtcbiAgfSxcbiAgY3JlYXRlSW5mbGF0ZTogZnVuY3Rpb24gKGUpIHtcbiAgICByZXR1cm4gbmV3IHpvKGUpO1xuICB9LFxuICBjcmVhdGVEZWZsYXRlUmF3OiBmdW5jdGlvbiAoZSkge1xuICAgIHJldHVybiBuZXcgTW8oZSk7XG4gIH0sXG4gIGNyZWF0ZUluZmxhdGVSYXc6IGZ1bmN0aW9uIChlKSB7XG4gICAgcmV0dXJuIG5ldyBDbyhlKTtcbiAgfSxcbiAgY3JlYXRlR3ppcDogZnVuY3Rpb24gKGUpIHtcbiAgICByZXR1cm4gbmV3IExvKGUpO1xuICB9LFxuICBjcmVhdGVHdW56aXA6IGZ1bmN0aW9uIChlKSB7XG4gICAgcmV0dXJuIG5ldyBUbyhlKTtcbiAgfSxcbiAgY3JlYXRlVW56aXA6IGZ1bmN0aW9uIChlKSB7XG4gICAgcmV0dXJuIG5ldyBEbyhlKTtcbiAgfSxcbiAgZGVmbGF0ZTogZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICByZXR1cm4gXCJmdW5jdGlvblwiID09IHR5cGVvZiB0ICYmIChyID0gdCwgdCA9IHt9KSwgUm8obmV3IEJvKHQpLCBlLCByKTtcbiAgfSxcbiAgZGVmbGF0ZVN5bmM6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgcmV0dXJuIEFvKG5ldyBCbyh0KSwgZSk7XG4gIH0sXG4gIGd6aXA6IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgcmV0dXJuIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgdCAmJiAociA9IHQsIHQgPSB7fSksIFJvKG5ldyBMbyh0KSwgZSwgcik7XG4gIH0sXG4gIGd6aXBTeW5jOiBmdW5jdGlvbiAoZSwgdCkge1xuICAgIHJldHVybiBBbyhuZXcgTG8odCksIGUpO1xuICB9LFxuICBkZWZsYXRlUmF3OiBmdW5jdGlvbiAoZSwgdCwgcikge1xuICAgIHJldHVybiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIHQgJiYgKHIgPSB0LCB0ID0ge30pLCBSbyhuZXcgTW8odCksIGUsIHIpO1xuICB9LFxuICBkZWZsYXRlUmF3U3luYzogZnVuY3Rpb24gKGUsIHQpIHtcbiAgICByZXR1cm4gQW8obmV3IE1vKHQpLCBlKTtcbiAgfSxcbiAgdW56aXA6IGZ1bmN0aW9uIChlLCB0LCByKSB7XG4gICAgcmV0dXJuIFwiZnVuY3Rpb25cIiA9PSB0eXBlb2YgdCAmJiAociA9IHQsIHQgPSB7fSksIFJvKG5ldyBEbyh0KSwgZSwgcik7XG4gIH0sXG4gIHVuemlwU3luYzogZnVuY3Rpb24gKGUsIHQpIHtcbiAgICByZXR1cm4gQW8obmV3IERvKHQpLCBlKTtcbiAgfSxcbiAgaW5mbGF0ZTogZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICByZXR1cm4gXCJmdW5jdGlvblwiID09IHR5cGVvZiB0ICYmIChyID0gdCwgdCA9IHt9KSwgUm8obmV3IHpvKHQpLCBlLCByKTtcbiAgfSxcbiAgaW5mbGF0ZVN5bmM6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgcmV0dXJuIEFvKG5ldyB6byh0KSwgZSk7XG4gIH0sXG4gIGd1bnppcDogZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICByZXR1cm4gXCJmdW5jdGlvblwiID09IHR5cGVvZiB0ICYmIChyID0gdCwgdCA9IHt9KSwgUm8obmV3IFRvKHQpLCBlLCByKTtcbiAgfSxcbiAgZ3VuemlwU3luYzogZnVuY3Rpb24gKGUsIHQpIHtcbiAgICByZXR1cm4gQW8obmV3IFRvKHQpLCBlKTtcbiAgfSxcbiAgaW5mbGF0ZVJhdzogZnVuY3Rpb24gKGUsIHQsIHIpIHtcbiAgICByZXR1cm4gXCJmdW5jdGlvblwiID09IHR5cGVvZiB0ICYmIChyID0gdCwgdCA9IHt9KSwgUm8obmV3IENvKHQpLCBlLCByKTtcbiAgfSxcbiAgaW5mbGF0ZVJhd1N5bmM6IGZ1bmN0aW9uIChlLCB0KSB7XG4gICAgcmV0dXJuIEFvKG5ldyBDbyh0KSwgZSk7XG4gIH0sXG4gIERlZmxhdGU6IEJvLFxuICBJbmZsYXRlOiB6byxcbiAgR3ppcDogTG8sXG4gIEd1bnppcDogVG8sXG4gIERlZmxhdGVSYXc6IE1vLFxuICBJbmZsYXRlUmF3OiBDbyxcbiAgVW56aXA6IERvLFxuICBabGliOiBJb1xufTtcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIHtcbiAgY29uc3RydWN0b3IoZSwgdCwgcikge1xuICAgIHRoaXMuU0RLQVBQSUQgPSBlLCB0aGlzLkVYUElSRVRJTUUgPSByLCB0aGlzLlBSSVZBVEVLRVkgPSB0O1xuICB9XG5cbiAgZ2VuVGVzdFVzZXJTaWcoZSkge1xuICAgIHJldHVybiB0aGlzLl9pc051bWJlcih0aGlzLlNES0FQUElEKSA/IHRoaXMuX2lzU3RyaW5nKHRoaXMuUFJJVkFURUtFWSkgPyB0aGlzLl9pc1N0cmluZyhlKSA/IHRoaXMuX2lzTnVtYmVyKHRoaXMuRVhQSVJFVElNRSkgPyAoY29uc29sZS5sb2coXCJzZGtBcHBJRD1cIiArIHRoaXMuU0RLQVBQSUQgKyBcIiBrZXk9XCIgKyB0aGlzLlBSSVZBVEVLRVkgKyBcIiB1c2VySUQ9XCIgKyBlICsgXCIgZXhwaXJlPVwiICsgdGhpcy5FWFBJUkVUSU1FKSwgdGhpcy5nZW5TaWdXaXRoVXNlcmJ1ZihlLCB0aGlzLkVYUElSRVRJTUUsIG51bGwpKSA6IChjb25zb2xlLmVycm9yKFwiZXhwaXJlVGltZSBtdXN0IGJlIGEgbnVtYmVyXCIpLCBcIlwiKSA6IChjb25zb2xlLmVycm9yKFwidXNlcklEIG11c3QgYmUgYSBzdHJpbmdcIiksIFwiXCIpIDogKGNvbnNvbGUuZXJyb3IoXCJwcml2YXRlS2V5IG11c3QgYmUgYSBzdHJpbmdcIiksIFwiXCIpIDogKGNvbnNvbGUuZXJyb3IoXCJzZGtBcHBJRCBtdXN0IGJlIGEgbnVtYmVyXCIpLCBcIlwiKTtcbiAgfVxuXG4gIG5ld0J1ZmZlcihlLCB0KSB7XG4gICAgcmV0dXJuIHAuZnJvbSA/IHAuZnJvbShlLCB0KSA6IG5ldyBwKGUsIHQpO1xuICB9XG5cbiAgdW5lc2NhcGUoZSkge1xuICAgIHJldHVybiBlLnJlcGxhY2UoL18vZywgXCI9XCIpLnJlcGxhY2UoL1xcLS9nLCBcIi9cIikucmVwbGFjZSgvXFwqL2csIFwiK1wiKTtcbiAgfVxuXG4gIGVzY2FwZShlKSB7XG4gICAgcmV0dXJuIGUucmVwbGFjZSgvXFwrL2csIFwiKlwiKS5yZXBsYWNlKC9cXC8vZywgXCItXCIpLnJlcGxhY2UoLz0vZywgXCJfXCIpO1xuICB9XG5cbiAgZW5jb2RlKGUpIHtcbiAgICByZXR1cm4gdGhpcy5lc2NhcGUodGhpcy5uZXdCdWZmZXIoZSkudG9TdHJpbmcoXCJiYXNlNjRcIikpO1xuICB9XG5cbiAgZGVjb2RlKGUpIHtcbiAgICByZXR1cm4gdGhpcy5uZXdCdWZmZXIodGhpcy51bmVzY2FwZShlKSwgXCJiYXNlNjRcIik7XG4gIH1cblxuICBiYXNlNjRlbmNvZGUoZSkge1xuICAgIHJldHVybiB0aGlzLm5ld0J1ZmZlcihlKS50b1N0cmluZyhcImJhc2U2NFwiKTtcbiAgfVxuXG4gIGJhc2U2NGRlY29kZShlKSB7XG4gICAgcmV0dXJuIHRoaXMubmV3QnVmZmVyKGUsIFwiYmFzZTY0XCIpLnRvU3RyaW5nKCk7XG4gIH1cblxuICBfaG1hY3NoYTI1NihlLCB0LCByLCBuKSB7XG4gICAgbGV0IGkgPSBcIlRMUy5pZGVudGlmaWVyOlwiICsgZSArIFwiXFxuXCI7XG4gICAgaSArPSBcIlRMUy5zZGthcHBpZDpcIiArIHRoaXMuU0RLQVBQSUQgKyBcIlxcblwiLCBpICs9IFwiVExTLnRpbWU6XCIgKyB0ICsgXCJcXG5cIiwgaSArPSBcIlRMUy5leHBpcmU6XCIgKyByICsgXCJcXG5cIiwgbnVsbCAhPSBuICYmIChpICs9IFwiVExTLnVzZXJidWY6XCIgKyBuICsgXCJcXG5cIik7XG4gICAgbGV0IG8gPSB0ZS5IbWFjU0hBMjU2KGksIHRoaXMuUFJJVkFURUtFWSk7XG4gICAgcmV0dXJuIHRlLmVuYy5CYXNlNjQuc3RyaW5naWZ5KG8pO1xuICB9XG5cbiAgX3V0YygpIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChEYXRlLm5vdygpIC8gMWUzKTtcbiAgfVxuXG4gIF9pc051bWJlcihlKSB7XG4gICAgcmV0dXJuIG51bGwgIT09IGUgJiYgKFwibnVtYmVyXCIgPT0gdHlwZW9mIGUgJiYgIWlzTmFOKGUgLSAwKSB8fCBcIm9iamVjdFwiID09IHR5cGVvZiBlICYmIGUuY29uc3RydWN0b3IgPT09IE51bWJlcik7XG4gIH1cblxuICBfaXNTdHJpbmcoZSkge1xuICAgIHJldHVybiBcInN0cmluZ1wiID09IHR5cGVvZiBlO1xuICB9XG5cbiAgZ2VuU2lnV2l0aFVzZXJidWYoZSwgdCwgcikge1xuICAgIGxldCBuID0gdGhpcy5fdXRjKCksXG4gICAgICAgIGkgPSB7XG4gICAgICBcIlRMUy52ZXJcIjogXCIyLjBcIixcbiAgICAgIFwiVExTLmlkZW50aWZpZXJcIjogZSxcbiAgICAgIFwiVExTLnNka2FwcGlkXCI6IHRoaXMuU0RLQVBQSUQsXG4gICAgICBcIlRMUy50aW1lXCI6IG4sXG4gICAgICBcIlRMUy5leHBpcmVcIjogdFxuICAgIH0sXG4gICAgICAgIG8gPSBcIlwiO1xuXG4gICAgaWYgKG51bGwgIT0gcikge1xuICAgICAgbGV0IGEgPSB0aGlzLmJhc2U2NGVuY29kZShyKTtcbiAgICAgIGlbXCJUTFMudXNlcmJ1ZlwiXSA9IGEsIG8gPSB0aGlzLl9obWFjc2hhMjU2KGUsIG4sIHQsIGEpO1xuICAgIH0gZWxzZSBvID0gdGhpcy5faG1hY3NoYTI1NihlLCBuLCB0LCBudWxsKTtcblxuICAgIGlbXCJUTFMuc2lnXCJdID0gbztcbiAgICBsZXQgYSA9IEpTT04uc3RyaW5naWZ5KGkpLFxuICAgICAgICBzID0gUG8uZGVmbGF0ZVN5bmModGhpcy5uZXdCdWZmZXIoYSkpLnRvU3RyaW5nKFwiYmFzZTY0XCIpLFxuICAgICAgICBoID0gdGhpcy5lc2NhcGUocyk7XG4gICAgcmV0dXJuIGNvbnNvbGUubG9nKFwicmV0PVwiICsgaCksIGg7XG4gIH1cblxuICB2YWxpZGF0ZShlKSB7XG4gICAgbGV0IHQgPSB0aGlzLmRlY29kZShlKSxcbiAgICAgICAgciA9IFBvLmluZmxhdGVTeW5jKHQpO1xuICAgIGNvbnNvbGUubG9nKFwidmFsaWRhdGUgcmV0PVwiICsgcik7XG4gIH1cblxufSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///73\n");
- /***/ }),
- /* 74 */
- /*!********************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/TrtcCloud/view/TrtcLocalView.nvue ***!
- \********************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _TrtcLocalView_nvue_vue_type_template_id_b3459c60___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./TrtcLocalView.nvue?vue&type=template&id=b3459c60& */ 75);\n/* harmony import */ var _TrtcLocalView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TrtcLocalView.nvue?vue&type=script&lang=js& */ 77);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _TrtcLocalView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _TrtcLocalView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 12);\n\nvar renderjs\n\n\nfunction injectStyles (context) {\n \n if(!this.options.style){\n this.options.style = {}\n }\n if(Vue.prototype.__merge_style && Vue.prototype.__$appStyle__){\n Vue.prototype.__merge_style(Vue.prototype.__$appStyle__, this.options.style)\n }\n \n}\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _TrtcLocalView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _TrtcLocalView_nvue_vue_type_template_id_b3459c60___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _TrtcLocalView_nvue_vue_type_template_id_b3459c60___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n \"e648b240\",\n false,\n _TrtcLocalView_nvue_vue_type_template_id_b3459c60___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ninjectStyles.call(component)\ncomponent.options.__file = \"TrtcCloud/view/TrtcLocalView.nvue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBMkg7QUFDM0g7QUFDa0U7QUFDTDtBQUM3RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDbU07QUFDbk0sZ0JBQWdCLHVNQUFVO0FBQzFCLEVBQUUsb0ZBQU07QUFDUixFQUFFLHlGQUFNO0FBQ1IsRUFBRSxrR0FBZTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSw2RkFBVTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNlLGdGIiwiZmlsZSI6Ijc0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9UcnRjTG9jYWxWaWV3Lm52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9YjM0NTljNjAmXCJcbnZhciByZW5kZXJqc1xuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9UcnRjTG9jYWxWaWV3Lm52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL1RydGNMb2NhbFZpZXcubnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZnVuY3Rpb24gaW5qZWN0U3R5bGVzIChjb250ZXh0KSB7XG4gIFxuICBpZighdGhpcy5vcHRpb25zLnN0eWxlKXtcbiAgICAgICAgICB0aGlzLm9wdGlvbnMuc3R5bGUgPSB7fVxuICAgICAgfVxuICAgICAgaWYoVnVlLnByb3RvdHlwZS5fX21lcmdlX3N0eWxlICYmIFZ1ZS5wcm90b3R5cGUuX18kYXBwU3R5bGVfXyl7XG4gICAgICAgIFZ1ZS5wcm90b3R5cGUuX19tZXJnZV9zdHlsZShWdWUucHJvdG90eXBlLl9fJGFwcFN0eWxlX18sIHRoaXMub3B0aW9ucy5zdHlsZSlcbiAgICAgIH1cbiAgICAgIFxufVxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uL+W3peWFty9IQnVpbGRlclguNC44Ny4yMDI1MTIxMDA0L0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgXCJlNjQ4YjI0MFwiLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuaW5qZWN0U3R5bGVzLmNhbGwoY29tcG9uZW50KVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJUcnRjQ2xvdWQvdmlldy9UcnRjTG9jYWxWaWV3Lm52dWVcIlxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///74\n");
- /***/ }),
- /* 75 */
- /*!***************************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/TrtcCloud/view/TrtcLocalView.nvue?vue&type=template&id=b3459c60& ***!
- \***************************************************************************************************/
- /*! exports provided: render, staticRenderFns, recyclableRender, components */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcLocalView_nvue_vue_type_template_id_b3459c60___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/template.recycle.js!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-0!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./TrtcLocalView.nvue?vue&type=template&id=b3459c60& */ 76);
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcLocalView_nvue_vue_type_template_id_b3459c60___WEBPACK_IMPORTED_MODULE_0__["render"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcLocalView_nvue_vue_type_template_id_b3459c60___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcLocalView_nvue_vue_type_template_id_b3459c60___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcLocalView_nvue_vue_type_template_id_b3459c60___WEBPACK_IMPORTED_MODULE_0__["components"]; });
- /***/ }),
- /* 76 */
- /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/template.recycle.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/TrtcCloud/view/TrtcLocalView.nvue?vue&type=template&id=b3459c60& ***!
- \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! exports provided: render, staticRenderFns, recyclableRender, components */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
- var components
- var render = function () {
- var _vm = this
- var _h = _vm.$createElement
- var _c = _vm._self._c || _h
- return _c("TRTCCloudUniPlugin-TXLocalViewComponent", {
- attrs: { viewId: _vm.viewId },
- })
- }
- var recyclableRender = false
- var staticRenderFns = []
- render._withStripped = true
- /***/ }),
- /* 77 */
- /*!*********************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/TrtcCloud/view/TrtcLocalView.nvue?vue&type=script&lang=js& ***!
- \*********************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcLocalView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib??ref--5-0!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--5-1!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./TrtcLocalView.nvue?vue&type=script&lang=js& */ 78);\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcLocalView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcLocalView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcLocalView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcLocalView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcLocalView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTZnQixDQUFnQixnaUJBQUcsRUFBQyIsImZpbGUiOiI3Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS01LTAhLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTUtMSEuLi8uLi8uLi8uLi8uLi/lt6XlhbcvSEJ1aWxkZXJYLjQuODcuMjAyNTEyMTAwNC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UcnRjTG9jYWxWaWV3Lm52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS01LTAhLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTUtMSEuLi8uLi8uLi8uLi8uLi/lt6XlhbcvSEJ1aWxkZXJYLjQuODcuMjAyNTEyMTAwNC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UcnRjTG9jYWxWaWV3Lm52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///77\n");
- /***/ }),
- /* 78 */
- /*!************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/babel-loader/lib??ref--5-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--5-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/TrtcCloud/view/TrtcLocalView.nvue?vue&type=script&lang=js& ***!
- \************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\nvar _default = {\n name: 'TrtcLocalView',\n props: {\n viewId: {\n type: String,\n default: ''\n }\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vVHJ0Y0Nsb3VkL3ZpZXcvVHJ0Y0xvY2FsVmlldy5udnVlIl0sIm5hbWVzIjpbIm5hbWUiLCJwcm9wcyIsInZpZXdJZCIsInR5cGUiLCJkZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O2VBS0E7RUFDQUE7RUFDQUM7SUFDQUM7TUFDQUM7TUFDQUM7SUFDQTtFQUNBO0FBQ0E7QUFBQSIsImZpbGUiOiI3OC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cblx0PFRSVENDbG91ZFVuaVBsdWdpbi1UWExvY2FsVmlld0NvbXBvbmVudCA6dmlld0lkPVwidmlld0lkXCI+PC9UUlRDQ2xvdWRVbmlQbHVnaW4tVFhMb2NhbFZpZXdDb21wb25lbnQ+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0bmFtZTogJ1RydGNMb2NhbFZpZXcnLFxuXHRcdHByb3BzOiB7XG5cdFx0XHR2aWV3SWQ6IHtcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0XHRkZWZhdWx0OiAnJ1xuXHRcdFx0fVxuXHRcdH0sXG5cdH1cbjwvc2NyaXB0PlxuXG48c3R5bGU+XG5cbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///78\n");
- /***/ }),
- /* 79 */
- /*!*********************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/TrtcCloud/view/TrtcRemoteView.nvue ***!
- \*********************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _TrtcRemoteView_nvue_vue_type_template_id_fd5686be___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./TrtcRemoteView.nvue?vue&type=template&id=fd5686be& */ 80);\n/* harmony import */ var _TrtcRemoteView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TrtcRemoteView.nvue?vue&type=script&lang=js& */ 82);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _TrtcRemoteView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _TrtcRemoteView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 12);\n\nvar renderjs\n\n\nfunction injectStyles (context) {\n \n if(!this.options.style){\n this.options.style = {}\n }\n if(Vue.prototype.__merge_style && Vue.prototype.__$appStyle__){\n Vue.prototype.__merge_style(Vue.prototype.__$appStyle__, this.options.style)\n }\n \n}\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _TrtcRemoteView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _TrtcRemoteView_nvue_vue_type_template_id_fd5686be___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _TrtcRemoteView_nvue_vue_type_template_id_fd5686be___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n \"6aa4e991\",\n false,\n _TrtcRemoteView_nvue_vue_type_template_id_fd5686be___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ninjectStyles.call(component)\ncomponent.options.__file = \"TrtcCloud/view/TrtcRemoteView.nvue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNEg7QUFDNUg7QUFDbUU7QUFDTDtBQUM5RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDbU07QUFDbk0sZ0JBQWdCLHVNQUFVO0FBQzFCLEVBQUUscUZBQU07QUFDUixFQUFFLDBGQUFNO0FBQ1IsRUFBRSxtR0FBZTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSw4RkFBVTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNlLGdGIiwiZmlsZSI6Ijc5LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9UcnRjUmVtb3RlVmlldy5udnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWZkNTY4NmJlJlwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vVHJ0Y1JlbW90ZVZpZXcubnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vVHJ0Y1JlbW90ZVZpZXcubnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZnVuY3Rpb24gaW5qZWN0U3R5bGVzIChjb250ZXh0KSB7XG4gIFxuICBpZighdGhpcy5vcHRpb25zLnN0eWxlKXtcbiAgICAgICAgICB0aGlzLm9wdGlvbnMuc3R5bGUgPSB7fVxuICAgICAgfVxuICAgICAgaWYoVnVlLnByb3RvdHlwZS5fX21lcmdlX3N0eWxlICYmIFZ1ZS5wcm90b3R5cGUuX18kYXBwU3R5bGVfXyl7XG4gICAgICAgIFZ1ZS5wcm90b3R5cGUuX19tZXJnZV9zdHlsZShWdWUucHJvdG90eXBlLl9fJGFwcFN0eWxlX18sIHRoaXMub3B0aW9ucy5zdHlsZSlcbiAgICAgIH1cbiAgICAgIFxufVxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uL+W3peWFty9IQnVpbGRlclguNC44Ny4yMDI1MTIxMDA0L0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgbnVsbCxcbiAgXCI2YWE0ZTk5MVwiLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuaW5qZWN0U3R5bGVzLmNhbGwoY29tcG9uZW50KVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJUcnRjQ2xvdWQvdmlldy9UcnRjUmVtb3RlVmlldy5udnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///79\n");
- /***/ }),
- /* 80 */
- /*!****************************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/TrtcCloud/view/TrtcRemoteView.nvue?vue&type=template&id=fd5686be& ***!
- \****************************************************************************************************/
- /*! exports provided: render, staticRenderFns, recyclableRender, components */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcRemoteView_nvue_vue_type_template_id_fd5686be___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/template.recycle.js!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-0!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./TrtcRemoteView.nvue?vue&type=template&id=fd5686be& */ 81);
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcRemoteView_nvue_vue_type_template_id_fd5686be___WEBPACK_IMPORTED_MODULE_0__["render"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcRemoteView_nvue_vue_type_template_id_fd5686be___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcRemoteView_nvue_vue_type_template_id_fd5686be___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_template_recycle_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_8_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcRemoteView_nvue_vue_type_template_id_fd5686be___WEBPACK_IMPORTED_MODULE_0__["components"]; });
- /***/ }),
- /* 81 */
- /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/template.recycle.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--8-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/TrtcCloud/view/TrtcRemoteView.nvue?vue&type=template&id=fd5686be& ***!
- \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! exports provided: render, staticRenderFns, recyclableRender, components */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
- var components
- var render = function () {
- var _vm = this
- var _h = _vm.$createElement
- var _c = _vm._self._c || _h
- return _c("TRTCCloudUniPlugin-TXRemoteViewComponent", {
- attrs: { userId: _vm.userId, viewId: _vm.viewId },
- })
- }
- var recyclableRender = false
- var staticRenderFns = []
- render._withStripped = true
- /***/ }),
- /* 82 */
- /*!**********************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/TrtcCloud/view/TrtcRemoteView.nvue?vue&type=script&lang=js& ***!
- \**********************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcRemoteView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib??ref--5-0!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--5-1!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./TrtcRemoteView.nvue?vue&type=script&lang=js& */ 83);\n/* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcRemoteView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcRemoteView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcRemoteView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcRemoteView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_ref_5_0_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_5_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_TrtcRemoteView_nvue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQThnQixDQUFnQixpaUJBQUcsRUFBQyIsImZpbGUiOiI4Mi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS01LTAhLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTUtMSEuLi8uLi8uLi8uLi8uLi/lt6XlhbcvSEJ1aWxkZXJYLjQuODcuMjAyNTEyMTAwNC9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UcnRjUmVtb3RlVmlldy5udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL+W3peWFty9IQnVpbGRlclguNC44Ny4yMDI1MTIxMDA0L0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNS0wIS4uLy4uLy4uLy4uLy4uL+W3peWFty9IQnVpbGRlclguNC44Ny4yMDI1MTIxMDA0L0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL0BkY2xvdWRpby92dWUtY2xpLXBsdWdpbi11bmkvcGFja2FnZXMvd2VicGFjay1wcmVwcm9jZXNzLWxvYWRlci9pbmRleC5qcz8/cmVmLS01LTEhLi4vLi4vLi4vLi4vLi4v5bel5YW3L0hCdWlsZGVyWC40Ljg3LjIwMjUxMjEwMDQvSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVHJ0Y1JlbW90ZVZpZXcubnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///82\n");
- /***/ }),
- /* 83 */
- /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/babel-loader/lib??ref--5-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--5-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/TrtcCloud/view/TrtcRemoteView.nvue?vue&type=script&lang=js& ***!
- \*************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n//\n//\n//\n//\nvar _default = {\n name: 'TrtcRemoteView',\n props: {\n userId: {\n type: String,\n default: ''\n },\n viewId: {\n type: String,\n default: ''\n }\n }\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vVHJ0Y0Nsb3VkL3ZpZXcvVHJ0Y1JlbW90ZVZpZXcubnZ1ZSJdLCJuYW1lcyI6WyJuYW1lIiwicHJvcHMiLCJ1c2VySWQiLCJ0eXBlIiwiZGVmYXVsdCIsInZpZXdJZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztlQUtBO0VBQ0FBO0VBQ0FDO0lBQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7SUFDQUM7TUFDQUY7TUFDQUM7SUFDQTtFQUNBO0FBQ0E7QUFBQSIsImZpbGUiOiI4My5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cblx0PFRSVENDbG91ZFVuaVBsdWdpbi1UWFJlbW90ZVZpZXdDb21wb25lbnQgOnVzZXJJZD1cInVzZXJJZFwiIDp2aWV3SWQ9XCJ2aWV3SWRcIj48L1RSVENDbG91ZFVuaVBsdWdpbi1UWFJlbW90ZVZpZXdDb21wb25lbnQ+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0bmFtZTogJ1RydGNSZW1vdGVWaWV3Jyxcblx0XHRwcm9wczoge1xuXHRcdFx0dXNlcklkOiB7XG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcblx0XHRcdFx0ZGVmYXVsdDogJydcblx0XHRcdH0sXG5cdFx0XHR2aWV3SWQ6IHtcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxuXHRcdFx0XHRkZWZhdWx0OiAnJ1xuXHRcdFx0fVxuXHRcdH0sXG5cdH1cbjwvc2NyaXB0PlxuXG48c3R5bGU+XG5cbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///83\n");
- /***/ }),
- /* 84 */
- /*!**********************************************************************************************************!*\
- !*** D:/taiwangit/美食达/msdQiShou/pages/imcall/audioCall.nvue?vue&type=style&index=0&lang=css&mpType=page ***!
- \**********************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_style_index_0_lang_css_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/style.js!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-oneOf-0-1!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--10-oneOf-0-2!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-oneOf-0-3!../../../../../工具/HBuilderX.4.87.2025121004/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./audioCall.nvue?vue&type=style&index=0&lang=css&mpType=page */ 85);
- /* harmony import */ var _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_style_index_0_lang_css_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_style_index_0_lang_css_mpType_page__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_style_index_0_lang_css_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_style_index_0_lang_css_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /* harmony default export */ __webpack_exports__["default"] = (_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_hbuilderx_packages_webpack_uni_nvue_loader_lib_style_js_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_1_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_10_oneOf_0_2_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_10_oneOf_0_3_HBuilderX_4_87_2025121004_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_audioCall_nvue_vue_type_style_index_0_lang_css_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a);
- /***/ }),
- /* 85 */
- /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/@dcloudio/vue-cli-plugin-hbuilderx/packages/webpack-uni-nvue-loader/lib/style.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-oneOf-0-1!./node_modules/postcss-loader/src??ref--10-oneOf-0-2!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--10-oneOf-0-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/taiwangit/美食达/msdQiShou/pages/imcall/audioCall.nvue?vue&type=style&index=0&lang=css&mpType=page ***!
- \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports) {
- module.exports = {
- ".iconImg": {
- "": {
- "marginTop": [
- "30rpx",
- 0,
- 0,
- 0
- ],
- "width": [
- "200rpx",
- 0,
- 0,
- 0
- ],
- "height": [
- "200rpx",
- 0,
- 0,
- 0
- ],
- "borderRadius": [
- "10rpx",
- 0,
- 0,
- 0
- ],
- "backgroundColor": [
- "#1A1A1A",
- 0,
- 0,
- 0
- ]
- }
- },
- ".spIcon": {
- "": {
- "marginTop": [
- "20rpx",
- 0,
- 0,
- 1
- ],
- "marginRight": [
- "20rpx",
- 0,
- 0,
- 1
- ],
- "marginBottom": [
- "20rpx",
- 0,
- 0,
- 1
- ],
- "marginLeft": [
- "20rpx",
- 0,
- 0,
- 1
- ],
- "width": [
- "150rpx",
- 0,
- 0,
- 1
- ],
- "height": [
- "150rpx",
- 0,
- 0,
- 1
- ]
- }
- },
- "@VERSION": 2
- }
- /***/ })
- /******/ ]);
|