Socket
Socket
Sign inDemoInstall

@filestack/loader

Package Overview
Dependencies
0
Maintainers
3
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.7 to 1.0.8

2

CHANGELOG.md

@@ -5,2 +5,4 @@ # Changelog

### [1.0.8](https://github.com/filestack/filestack-loader-js/compare/v1.0.7...v1.0.8) (2020-10-05)
### [1.0.7](https://github.com/filestack/filestack-loader-js/compare/v1.0.6...v1.0.7) (2020-03-25)

@@ -7,0 +9,0 @@

4

dist/index.esm.js

@@ -1,2 +0,2 @@

var FilestackLoader=function(e){var t={};function r(o){if(t[o])return t[o].exports;var n=t[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,o){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(o,n,function(t){return e[t]}.bind(null,n));return o},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";r.r(t),r.d(t,"loadModules",(function(){return i})),r.d(t,"loadModule",(function(){return s})),r.d(t,"registerModule",(function(){return l})),r.d(t,"loadCss",(function(){return u})),r.d(t,"FILESTACK_MODULES",(function(){return c}));const o={},n=(()=>{let e;e="undefined"==typeof window?o:window;let t=e.filestackInternals;return t||(t={modules:{}},e.filestackInternals=t),t.modules||(t.modules={}),t})(),a=n&&n.modules,d=(e,t,r)=>{e.detachEvent?e.detachEvent("onreadystatechange",t):e.removeEventListener(r,t,!1)},i=e=>Promise.all(e.map(({id:e,url:t})=>s(e,t))).then(t=>{const r={};return t.forEach((t,o)=>{const n=e[o];r[n.id]=t}),r}),s=(e,t)=>{if("undefined"==typeof window)return Promise.reject(new Error("Load module is working only on browser env"));if(!e)throw new Error("Module id is required");let r=a[e];return e="fs-loader-"+e,r||(a[e]={},r=a[e]),r.instance?Promise.resolve(r.instance):r.promise?r.promise:r.promise=new Promise((r,o)=>{const n=t=>{if("load"===t.type||/^(complete|loaded)$/.test((t.currentTarget||t.srcElement).readyState)){const i=t.currentTarget||t.srcElement;d(i,n,"load"),d(i,o,"error"),setTimeout(()=>r(a[e]?a[e].instance:void 0),10)}},i=document.createElement("script");i.id=e,!i.attachEvent||i.attachEvent.toString&&i.attachEvent.toString().indexOf("[native code")<0?(i.addEventListener("load",n,!1),i.addEventListener("onerror",o,!1)):i.attachEvent("onreadystatechange",n),i.setAttribute("crossorigin","anonymous"),i.setAttribute("charset","utf-8"),i.setAttribute("async","true"),i.src=t,document.body.appendChild(i)})},l=(e,t,r)=>{if("undefined"!=typeof window){if(!e)throw new Error("Module id is required");if(!a)throw new Error("Loader is not initialized");a[e="fs-loader-"+e]&&(a[e]={instance:t,metadata:r})}},u=e=>null!==document.querySelector(`link[href="${e}"]`)?Promise.resolve():new Promise(t=>{const r=document.getElementsByTagName("head")[0],o=document.createElement("link"),n=()=>{t(),o.removeEventListener("load",n)};o.rel="stylesheet",o.href=e,o.addEventListener("load",n),r.appendChild(o)});var c;!function(e){e.FILESTACK_SDK="filestack-sdk",e.TRANSFORMS_UI="transforms-ui",e.PICKER="picker"}(c||(c={}))}]);const _FilestackLoader$loadModules=FilestackLoader.loadModules,_FilestackLoader$loadModule=FilestackLoader.loadModule,_FilestackLoader$registerModule=FilestackLoader.registerModule,_FilestackLoader$loadCss=FilestackLoader.loadCss,_FilestackLoader$FILESTACK_MODULES=FilestackLoader.FILESTACK_MODULES;export{_FilestackLoader$loadModules as loadModules,_FilestackLoader$loadModule as loadModule,_FilestackLoader$registerModule as registerModule,_FilestackLoader$loadCss as loadCss,_FilestackLoader$FILESTACK_MODULES as FILESTACK_MODULES};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9GaWxlc3RhY2tMb2FkZXIvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vRmlsZXN0YWNrTG9hZGVyLy4vZGlzdC9tb2R1bGUvaW5kZXguanMiXSwibmFtZXMiOlsiaW5zdGFsbGVkTW9kdWxlcyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtb2R1bGVJZCIsImV4cG9ydHMiLCJtb2R1bGUiLCJpIiwibCIsIm1vZHVsZXMiLCJjYWxsIiwibSIsImMiLCJkIiwibmFtZSIsImdldHRlciIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJyIiwiU3ltYm9sIiwidG9TdHJpbmdUYWciLCJ2YWx1ZSIsInQiLCJtb2RlIiwiX19lc01vZHVsZSIsIm5zIiwiY3JlYXRlIiwia2V5IiwiYmluZCIsIm4iLCJvYmplY3QiLCJwcm9wZXJ0eSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwicCIsInMiLCJnbG9iYWxIb2xkZXIiLCJmaWxlc3RhY2tJbnRlcm5hbHMiLCJob2xkZXIiLCJ3aW5kb3ciLCJuYW1lc3BhY2UiLCJpbml0aWFsaXplR2xvYmFsTmFtZXNwYWNlIiwicmVtb3ZlTGlzdGVuZXIiLCJub2RlIiwiZnVuYyIsImRldGFjaEV2ZW50IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImxvYWRNb2R1bGVzIiwibW9kdWxlc0xpc3QiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwiaWQiLCJ1cmwiLCJsb2FkTW9kdWxlIiwidGhlbiIsInJlcyIsInRvUmV0dXJuIiwiZm9yRWFjaCIsIm1vZCIsImlkeCIsImVsIiwicmVqZWN0IiwiRXJyb3IiLCJtb2R1bGVEZWZpbml0aW9uIiwiaW5zdGFuY2UiLCJyZXNvbHZlIiwicHJvbWlzZSIsInJlYWR5U3RhdGVDaGFuZ2UiLCJldnQiLCJ0eXBlIiwidGVzdCIsImN1cnJlbnRUYXJnZXQiLCJzcmNFbGVtZW50IiwicmVhZHlTdGF0ZSIsInNldFRpbWVvdXQiLCJ1bmRlZmluZWQiLCJzY3JpcHQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJhdHRhY2hFdmVudCIsInRvU3RyaW5nIiwiaW5kZXhPZiIsImFkZEV2ZW50TGlzdGVuZXIiLCJzZXRBdHRyaWJ1dGUiLCJzcmMiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJyZWdpc3Rlck1vZHVsZSIsIm1ldGFkYXRhIiwibG9hZENzcyIsInF1ZXJ5U2VsZWN0b3IiLCJoZWFkIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJsaW5rIiwibG9hZGVkIiwicmVsIiwiaHJlZiIsIkZJTEVTVEFDS19NT0RVTEVTIl0sIm1hcHBpbmdzIjoiZ0NBQ0UsSUFBSUEsRUFBbUIsR0FHdkIsU0FBU0MsRUFBb0JDLEdBRzVCLEdBQUdGLEVBQWlCRSxHQUNuQixPQUFPRixFQUFpQkUsR0FBVUMsUUFHbkMsSUFBSUMsRUFBU0osRUFBaUJFLEdBQVksQ0FDekNHLEVBQUdILEVBQ0hJLEdBQUcsRUFDSEgsUUFBUyxJQVVWLE9BTkFJLEVBQVFMLEdBQVVNLEtBQUtKLEVBQU9ELFFBQVNDLEVBQVFBLEVBQU9ELFFBQVNGLEdBRy9ERyxFQUFPRSxHQUFJLEVBR0pGLEVBQU9ELFFBMERmLE9BckRBRixFQUFvQlEsRUFBSUYsRUFHeEJOLEVBQW9CUyxFQUFJVixFQUd4QkMsRUFBb0JVLEVBQUksU0FBU1IsRUFBU1MsRUFBTUMsR0FDM0NaLEVBQW9CYSxFQUFFWCxFQUFTUyxJQUNsQ0csT0FBT0MsZUFBZWIsRUFBU1MsRUFBTSxDQUFFSyxZQUFZLEVBQU1DLElBQUtMLEtBS2hFWixFQUFvQmtCLEVBQUksU0FBU2hCLEdBQ1gsb0JBQVhpQixRQUEwQkEsT0FBT0MsYUFDMUNOLE9BQU9DLGVBQWViLEVBQVNpQixPQUFPQyxZQUFhLENBQUVDLE1BQU8sV0FFN0RQLE9BQU9DLGVBQWViLEVBQVMsYUFBYyxDQUFFbUIsT0FBTyxLQVF2RHJCLEVBQW9Cc0IsRUFBSSxTQUFTRCxFQUFPRSxHQUV2QyxHQURVLEVBQVBBLElBQVVGLEVBQVFyQixFQUFvQnFCLElB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QUFrQixHQUsvR0wsRUFBT00saUJBQWlCLE9BQVFmLEdBQWtCLEdBQ2xEUyxFQUFPTSxpQkFBaUIsVUFBV3JCLEdBQVEsSUFKM0NlLEVBQU9HLFlBQVkscUJBQXNCWixHQU03Q1MsRUFBT08sYUFBYSxjQUFlLGFBQ25DUCxFQUFPTyxhQUFhLFVBQVcsU0FDL0JQLEVBQU9PLGFBQWEsUUFBUyxRQUM3QlAsRUFBT1EsSUFBTWhDLEVBQ2J5QixTQUFTUSxLQUFLQyxZQUFZVixNQVVyQlcsRUFBaUIsQ0FBQ3BDLEVBQUlhLEVBQVV3QixLQUV6QyxHQUFzQixvQkFBWGxELE9BQVgsQ0FHQSxJQUFLYSxFQUNELE1BQU0sSUFBSVcsTUFBTSx5QkFFcEIsSUFBS3pELEVBQ0QsTUFBTSxJQUFJeUQsTUFBTSw2QkFHaEJ6RCxFQURKOEMsRUE3SGtCLGFBNkhHQSxLQUVqQjlDLEVBQVE4QyxHQUFNLENBQUVhLFdBQVV3QixlQVFyQkMsRUFBV3JDLEdBRVEsT0FEQXlCLFNBQVNhLGNBQWMsY0FBY3RDLE9BRXRESixRQUFRaUIsVUFFWixJQUFJakIsUUFBU2lCLElBQ2hCLE1BQU0wQixFQUFPZCxTQUFTZSxxQkFBcUIsUUFBUSxHQUM3Q0MsRUFBT2hCLFNBQVNDLGNBQWMsUUFDOUJnQixFQUFTLEtBQ1g3QixJQUNBNEIsRUFBS2hELG9CQUFvQixPQUFRaUQsSUFFckNELEVBQUtFLElBQU0sYUFDWEYsRUFBS0csS0FBTzVDLEVBQ1p5QyxFQUFLWCxpQkFBaUIsT0FBUVksR0FDOUJILEVBQUtMLFlBQVlPLEtBTWxCLElBQUlJLEdBQ1gsU0FBV0EsR0FDUEEsRUFBaUMsY0FBSSxnQkFDckNBLEVBQWlDLGNBQUksZ0JBQ3JDQSxFQUEwQixPQUFJLFNBSGxDLENBSUdBLElBQXNCQSxFQUFvQixRIiwiZmlsZSI6ImluZGV4LmVzbS5qcyIsInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbiBcdFx0fVxuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuIFx0fTtcblxuIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4gXHQvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbiBcdC8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4gXHQvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbiBcdFx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcbiBcdFx0aWYoKG1vZGUgJiA0KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcbiBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG5zLCAnZGVmYXVsdCcsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHZhbHVlIH0pO1xuIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4gXHRcdHJldHVybiBucztcbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAwKTtcbiIsImNvbnN0IE1PRFVMRV9QUkVGSVggPSAnZnMtbG9hZGVyLSc7XG5jb25zdCBnbG9iYWxIb2xkZXIgPSB7fTtcbmNvbnN0IGluaXRpYWxpemVHbG9iYWxOYW1lc3BhY2UgPSAoKSA9PiB7XG4gICAgbGV0IGhvbGRlcjtcbiAgICAvLyBpZiB0aGVyZSBpcyBubyB3aW5kb3cgb2JqIHVzZSBub2RlanMgZ2xvYmFsIGxpYiB2YXJpYWJsZVxuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICBob2xkZXIgPSBnbG9iYWxIb2xkZXI7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBob2xkZXIgPSB3aW5kb3c7XG4gICAgfVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBsZXQgbmFtZXNwYWNlID0gaG9sZGVyLmZpbGVzdGFja0ludGVybmFscztcbiAgICBpZiAoIW5hbWVzcGFjZSkge1xuICAgICAgICBuYW1lc3BhY2UgPSB7XG4gICAgICAgICAgICBtb2R1bGVzOiB7fSxcbiAgICAgICAgfTtcbiAgICAgICAgaG9sZGVyLmZpbGVzdGFja0ludGVybmFscyA9IG5hbWVzcGFjZTtcbiAgICB9XG4gICAgaWYgKCFuYW1lc3BhY2UubW9kdWxlcykge1xuICAgICAgICBuYW1lc3BhY2UubW9kdWxlcyA9IHt9O1xuICAgIH1cbiAgICByZXR1cm4gbmFtZXNwYWNlO1xufTtcbmNvbnN0IGZpbGVzdGFja0ludGVybmFscyA9IGluaXRpYWxpemVHbG9iYWxOYW1lc3BhY2UoKTtcbmNvbnN0IG1vZHVsZXMgPSBmaWxlc3RhY2tJbnRlcm5hbHMgJiYgZmlsZXN0YWNrSW50ZXJuYWxzLm1vZHVsZXM7XG4vKipcbiAqIFJlbW92ZSBsaXN0ZW5lcnMgKGJyb3dzZXIgY29tcGF0aWJsZSlcbiAqXG4gKiBAcGFyYW0gbm9kZVxuICogQHBhcmFtIGZ1bmNcbiAqIEBwYXJhbSBuYW1lXG4gKi9cbmNvbnN0IHJlbW92ZUxpc3RlbmVyID0gKG5vZGUsIGZ1bmMsIG5hbWUpID0+IHtcbiAgICBpZiAobm9kZS5kZXRhY2hFdmVudCkge1xuICAgICAgICBub2RlLmRldGFjaEV2ZW50KCdvbnJlYWR5c3RhdGVjaGFuZ2UnLCBmdW5jKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIG5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihuYW1lLCBmdW5jLCBmYWxzZSk7XG4gICAgfVxufTtcbi8qKlxuICogTG9hZCBtdWx0aXBsZSBtb2R1bGVzXG4gKlxuICogQHBhcmFtIHsqfSBtb2R1bGVzXG4gKi9cbmV4cG9ydCBjb25zdCBsb2FkTW9kdWxlcyA9IChtb2R1bGVzTGlzdCkgPT4gUHJvbWlzZS5hbGwobW9kdWxlc0xpc3QubWFwKCh7IGlkLCB1cmwgfSkgPT4gbG9hZE1vZHVsZShpZCwgdXJsKSkpLnRoZW4oKHJlcykgPT4ge1xuICAgIGNvbnN0IHRvUmV0dXJuID0ge307XG4gICAgcmVzLmZvckVhY2goKG1vZCwgaWR4KSA9PiB7XG4gICAgICAgIGNvbnN0IGVsID0gbW9kdWxlc0xpc3RbaWR4XTtcbiAgICAgICAgdG9SZXR1cm5bZWwuaWRdID0gbW9kO1xuICAgIH0pO1xuICAgIHJldHVybiB0b1JldHVybjtcbn0pO1xuLyoqXG4gKiBMb2FkIHNpbmdsZSBtb2R1bGUgZnJvbSB1cmwgd2l0aCBnaXZlbiBpZFxuICpcbiAqIEBwYXJhbSB7Kn0gaWQgLSBtb2R1bGUgaWRcbiAqIEBwYXJhbSB7Kn0gdXJsXG4gKi9cbmV4cG9ydCBjb25zdCBsb2FkTW9kdWxlID0gKGlkLCB1cmwpID0+IHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignTG9hZCBtb2R1bGUgaXMgd29ya2luZyBvbmx5IG9uIGJyb3dzZXIgZW52JykpO1xuICAgIH1cbiAgICBpZiAoIWlkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTW9kdWxlIGlkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGxldCBtb2R1bGVEZWZpbml0aW9uID0gbW9kdWxlc1tpZF07XG4gICAgaWQgPSBNT0RVTEVfUFJFRklYICsgaWQ7XG4gICAgaWYgKCFtb2R1bGVEZWZpbml0aW9uKSB7XG4gICAgICAgIG1vZHVsZXNbaWRdID0ge307XG4gICAgICAgIG1vZHVsZURlZmluaXRpb24gPSBtb2R1bGVzW2lkXTtcbiAgICB9XG4gICAgaWYgKG1vZHVsZURlZmluaXRpb24uaW5zdGFuY2UpIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShtb2R1bGVEZWZpbml0aW9uLmluc3RhbmNlKTtcbiAgICB9XG4gICAgaWYgKG1vZHVsZURlZmluaXRpb24ucHJvbWlzZSkge1xuICAgICAgICByZXR1cm4gbW9kdWxlRGVmaW5pdGlvbi5wcm9taXNlO1xuICAgIH1cbiAgICByZXR1cm4gbW9kdWxlRGVmaW5pdGlvbi5wcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCByZWFkeVN0YXRlQ2hhbmdlID0gKGV2dCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2dC50eXBlID09PSAnbG9hZCcgfHwgKC9eKGNvbXBsZXRlfGxvYWRlZCkkLy50ZXN0KChldnQuY3VycmVudFRhcmdldCB8fCBldnQuc3JjRWxlbWVudCkucmVhZHlTdGF0ZSkpKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgbm9kZSA9IGV2dC5jdXJyZW50VGFyZ2V0IHx8IGV2dC5zcmNFbGVtZW50O1xuICAgICAgICAgICAgICAgIHJlbW92ZUxpc3RlbmVyKG5vZGUsIHJlYWR5U3RhdGVDaGFuZ2UsICdsb2FkJyk7XG4gICAgICAgICAgICAgICAgcmVtb3ZlTGlzdGVuZXIobm9kZSwgcmVqZWN0LCAnZXJyb3InKTtcbiAgICAgICAgICAgICAgICAvLyBzbG93IGRvdyBjaGVja2luZyBpZiBtb2R1bGUgaXMgbG9hZGVkIHRvIGVuc3VyZSB0aGF0IHNjcmlwdCB0aGF0ICByZWdpc3RlciBtb2R1bGUgaXMgY2FsbGVkXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKG1vZHVsZXNbaWRdID8gbW9kdWxlc1tpZF0uaW5zdGFuY2UgOiB1bmRlZmluZWQpLCAxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgICBzY3JpcHQuaWQgPSBpZDtcbiAgICAgICAgLy8gQHRzLWlnbm9yZSBmaXggZm9yIElFXG4gICAgICAgIGlmIChzY3JpcHQuYXR0YWNoRXZlbnQgJiYgIShzY3JpcHQuYXR0YWNoRXZlbnQudG9TdHJpbmcgJiYgc2NyaXB0LmF0dGFjaEV2ZW50LnRvU3RyaW5nKCkuaW5kZXhPZignW25hdGl2ZSBjb2RlJykgPCAwKSkge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgc2NyaXB0LmF0dGFjaEV2ZW50KCdvbnJlYWR5c3RhdGVjaGFuZ2UnLCByZWFkeVN0YXRlQ2hhbmdlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHNjcmlwdC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVhZHlTdGF0ZUNoYW5nZSwgZmFsc2UpO1xuICAgICAgICAgICAgc2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ29uZXJyb3InLCByZWplY3QsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICBzY3JpcHQuc2V0QXR0cmlidXRlKCdjcm9zc29yaWdpbicsICdhbm9ueW1vdXMnKTtcbiAgICAgICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgnY2hhcnNldCcsICd1dGYtOCcpO1xuICAgICAgICBzY3JpcHQuc2V0QXR0cmlidXRlKCdhc3luYycsICd0cnVlJyk7XG4gICAgICAgIHNjcmlwdC5zcmMgPSB1cmw7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgICB9KTtcbn07XG4vKipcbiAqIFJlZ2lzdGVyIHRoYXQgbW9kdWxlIGlzIHJlYWR5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGlkXG4gKiBAcGFyYW0ge2FueX0gaW5zdGFuY2VcbiAqIEBwYXJhbSB7YW55fSBtZXRhZGF0YSAtIGFkZGl0aW9uYWwgbW9kdWxlIG1ldGFkYXRhIGxpa2UgdmVyc2lvblxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJNb2R1bGUgPSAoaWQsIGluc3RhbmNlLCBtZXRhZGF0YSkgPT4ge1xuICAgIC8vIGxvYWRlciBub3Qgd29ya2luZyBvbiBub2RlanMgZW52c1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghaWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNb2R1bGUgaWQgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgaWYgKCFtb2R1bGVzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTG9hZGVyIGlzIG5vdCBpbml0aWFsaXplZCcpO1xuICAgIH1cbiAgICBpZCA9IE1PRFVMRV9QUkVGSVggKyBpZDtcbiAgICBpZiAobW9kdWxlc1tpZF0pIHtcbiAgICAgICAgbW9kdWxlc1tpZF0gPSB7IGluc3RhbmNlLCBtZXRhZGF0YSB9O1xuICAgIH1cbn07XG4vKipcbiAqIExvYWQgZXh0ZXJuYWwgY3NzIGZyb20gZ2l2ZW4gdXJsXG4gKlxuICogQHBhcmFtIHsqfSB1cmxcbiAqL1xuZXhwb3J0IGNvbnN0IGxvYWRDc3MgPSAodXJsKSA9PiB7XG4gICAgY29uc3QgYWxyZWFkeUFkZGVkVGhpc1RhZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGxpbmtbaHJlZj1cIiR7dXJsfVwiXWApO1xuICAgIGlmIChhbHJlYWR5QWRkZWRUaGlzVGFnICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgIGNvbnN0IGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuICAgICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgICAgICBjb25zdCBsb2FkZWQgPSAoKSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICBsaW5rLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBsb2FkZWQpO1xuICAgICAgICB9O1xuICAgICAgICBsaW5rLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICAgICAgbGluay5ocmVmID0gdXJsO1xuICAgICAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBsb2FkZWQpO1xuICAgICAgICBoZWFkLmFwcGVuZENoaWxkKGxpbmspO1xuICAgIH0pO1xufTtcbi8qKlxuICogRW51bSBqdXN0IGZvciB1bmlmeSBmaWxlc3RhY2sgbW9kdWxlIG5hbWVzXG4gKi9cbmV4cG9ydCB2YXIgRklMRVNUQUNLX01PRFVMRVM7XG4oZnVuY3Rpb24gKEZJTEVTVEFDS19NT0RVTEVTKSB7XG4gICAgRklMRVNUQUNLX01PRFVMRVNbXCJGSUxFU1RBQ0tfU0RLXCJdID0gXCJmaWxlc3RhY2stc2RrXCI7XG4gICAgRklMRVNUQUNLX01PRFVMRVNbXCJUUkFOU0ZPUk1TX1VJXCJdID0gXCJ0cmFuc2Zvcm1zLXVpXCI7XG4gICAgRklMRVNUQUNLX01PRFVMRVNbXCJQSUNLRVJcIl0gPSBcInBpY2tlclwiO1xufSkoRklMRVNUQUNLX01PRFVMRVMgfHwgKEZJTEVTVEFDS19NT0RVTEVTID0ge30pKTtcbjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk5c2FXSXZhVzVrWlhndWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVFVGQlRTeGhRVUZoTEVkQlFVY3NXVUZCV1N4RFFVRkRPMEZCUTI1RExFMUJRVTBzV1VGQldTeEhRVUZSTEVWQlFVVXNRMEZCUXp0QlFXVTNRaXhOUVVGTkxIbENRVUY1UWl4SFFVRkhMRWRCUVVjc1JVRkJSVHRKUVVOeVF5eEpRVUZKTEUxQlFWVXNRMEZCUXp0SlFVVm1MREpFUVVFeVJEdEpRVU16UkN4SlFVRkpMRTlCUVU4c1RVRkJUU3hMUVVGTExGZEJRVmNzUlVGQlJUdFJRVU5xUXl4TlFVRk5MRWRCUVVjc1dVRkJXU3hEUVVGRE8wdEJRM1pDTzFOQlFVMDdVVUZEVEN4TlFVRk5MRWRCUVVjc1RVRkJUU3hEUVVGQk8wdEJRMmhDTzBsQlJVUXNZVUZCWVR0SlFVTmlMRWxCUVVrc1UwRkJVeXhIUVVGakxFMUJRVTBzUTBGQlF5eHJRa0ZCYTBJc1EwRkJRenRKUVVWeVJDeEpRVUZKTEVOQlFVTXNVMEZCVXl4RlFVRkZPMUZCUTJRc1UwRkJVeXhIUVVGSE8xbEJRMVlzVDBGQlR5eEZRVUZGTEVWQlFVVTdVMEZEV2l4RFFVRkRPMUZCUlVZc1RVRkJUU3hEUVVGRExHdENRVUZyUWl4SFFVRkhMRk5CUVZNc1EwRkJRenRMUVVOMlF6dEpRVVZFTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJUeXhGUVVGRk8xRkJRM1JDTEZOQlFWTXNRMEZCUXl4UFFVRlBMRWRCUVVjc1JVRkJSU3hEUVVGRE8wdEJRM2hDTzBsQlJVUXNUMEZCVHl4VFFVRlRMRU5CUVVNN1FVRkRia0lzUTBGQlF5eERRVUZETzBGQlJVWXNUVUZCVFN4clFrRkJhMElzUjBGQlJ5eDVRa0ZCZVVJc1JVRkJSU3hEUVVGRE8wRkJRM1pFTEUxQlFVMHNUMEZCVHl4SFFVRkhMR3RDUVVGclFpeEpRVUZKTEd0Q1FVRnJRaXhEUVVGRExFOUJRVThzUTBGQlF6dEJRVVZxUlRzN096czdPMGRCVFVjN1FVRkRTQ3hOUVVGTkxHTkJRV01zUjBGQlJ5eERRVUZETEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hGUVVGSkxFVkJRVVU3U1VGRE5VTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1YwRkJWeXhGUVVGRk8xRkJRM0JDTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc2IwSkJRVzlDTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1MwRkRPVU03VTBGQlRUdFJRVU5NTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8wdEJRemRETzBGQlEwZ3NRMEZCUXl4RFFVRkJPMEZCUlVRN096czdSMEZKUnp0QlFVTklMRTFCUVUwc1EwRkJReXhOUVVGTkxGZEJRVmNzUjBGQlJ5eERRVUZETEZkQlFWY3NSVUZCUlN4RlFVRkZMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eFhRVUZYTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVWQlFVVXNSVUZCUlN4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzUlVGQlJTeEZRVUZGTzBsQlF6RklMRTFCUVUwc1VVRkJVU3hIUVVGSExFVkJRVVVzUTBGQlF6dEpRVVZ3UWl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZPMUZCUTNaQ0xFMUJRVTBzUlVGQlJTeEhRVUZITEZkQlFWY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVNMVFpeFJRVUZSTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF6dEpRVU40UWl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVWSUxFOUJRVThzVVVGQlVTeERRVUZETzBGQlEyeENMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJSVWc3T3pzN08wZEJTMGM3UVVGRFNDeE5RVUZOTEVOQlFVTXNUVUZCVFN4VlFVRlZMRWRCUVVjc1EwRkJReXhGUVVGVkxFVkJRVVVzUjBGQlZ5eEZRVUZGTEVWQlFVVTdTVUZEY0VRc1NVRkJTU3hQUVVGUExFMUJRVTBzUzBGQlN5eFhRVUZYTEVWQlFVVTdVVUZEYWtNc1QwRkJUeXhQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NTMEZCU3l4RFFVRkRMRFJEUVVFMFF5eERRVUZETEVOQlFVTXNRMEZCUXp0TFFVTm9SanRKUVVWRUxFbEJRVWtzUTBGQlF5eEZRVUZGTEVWQlFVVTdVVUZEVUN4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExIVkNRVUYxUWl4RFFVRkRMRU5CUVVFN1MwRkRla003U1VGRlJDeEpRVUZKTEdkQ1FVRm5RaXhIUVVGSExFOUJRVThzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVVnVReXhGUVVGRkxFZEJRVWtzWVVGQllTeEhRVUZITEVWQlFVVXNRMEZCUXp0SlFVVjZRaXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRVZCUVVVN1VVRkRja0lzVDBGQlR5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJRenRSUVVOcVFpeG5Ra0ZCWjBJc1IwRkJSeXhQUVVGUExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTTdTMEZEYUVNN1NVRkZSQ3hKUVVGSkxHZENRVUZuUWl4RFFVRkRMRkZCUVZFc1JVRkJSVHRSUVVNM1FpeFBRVUZQTEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1MwRkRia1E3U1VGRlJDeEpRVUZKTEdkQ1FVRm5RaXhEUVVGRExFOUJRVThzUlVGQlJUdFJRVU0xUWl4UFFVRlBMR2RDUVVGblFpeERRVUZETEU5QlFVOHNRMEZCUXp0TFFVTnFRenRKUVVWRUxFOUJRVThzWjBKQlFXZENMRU5CUVVNc1QwRkJUeXhIUVVGSExFbEJRVWtzVDBGQlR5eERRVUZETEVOQlFVTXNUMEZCVHl4RlFVRkZMRTFCUVUwc1JVRkJSU3hGUVVGRk8xRkJRMmhGTEUxQlFVMHNaMEpCUVdkQ0xFZEJRVWNzUTBGQlF5eEhRVUZSTEVWQlFVVXNSVUZCUlR0WlFVTndReXhKUVVGSkxFZEJRVWNzUTBGQlF5eEpRVUZKTEV0QlFVc3NUVUZCVFN4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExHRkJRV0VzU1VGQlNTeEhRVUZITEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zUlVGQlJUdG5Ra0ZEZWtjc1RVRkJUU3hKUVVGSkxFZEJRVWtzUjBGQlJ5eERRVUZETEdGQlFXRXNTVUZCU1N4SFFVRkhMRU5CUVVNc1ZVRkJWU3hEUVVGRE8yZENRVVZzUkN4alFVRmpMRU5CUVVNc1NVRkJTU3hGUVVGRkxHZENRVUZuUWl4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8yZENRVU12UXl4alFVRmpMRU5CUVVNc1NVRkJTU3hGUVVGRkxFMUJRVTBzUlVGQlJTeFBRVUZQTEVOQlFVTXNRMEZCUXp0blFrRkZkRU1zT0VaQlFUaEdPMmRDUVVNNVJpeFZRVUZWTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1UwRkJVeXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTTdZVUZETDBVN1VVRkRTQ3hEUVVGRExFTkJRVUU3VVVGRlJDeE5RVUZOTEUxQlFVMHNSMEZCUnl4UlFVRlJMRU5CUVVNc1lVRkJZU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzFGQlJXaEVMRTFCUVUwc1EwRkJReXhGUVVGRkxFZEJRVWNzUlVGQlJTeERRVUZETzFGQlJXWXNkMEpCUVhkQ08xRkJRM2hDTEVsQlFVa3NUVUZCVFN4RFFVRkRMRmRCUVZjc1NVRkJTU3hEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEZkQlFWY3NRMEZCUXl4UlFVRlJMRWxCUVVrc1RVRkJUU3hEUVVGRExGZEJRVmNzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXl4UFFVRlBMRU5CUVVNc1kwRkJZeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVWQlFVVTdXVUZEY2tnc1lVRkJZVHRaUVVOaUxFMUJRVTBzUTBGQlF5eFhRVUZYTEVOQlFVTXNiMEpCUVc5Q0xFVkJRVVVzWjBKQlFXZENMRU5CUVVNc1EwRkJRenRUUVVNMVJEdGhRVUZOTzFsQlEwd3NUVUZCVFN4RFFVRkRMR2RDUVVGblFpeERRVUZETEUxQlFVMHNSVUZCUlN4blFrRkJaMElzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0WlFVTjZSQ3hOUVVGTkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1UwRkJVeXhGUVVGRkxFMUJRVTBzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0VFFVTnVSRHRSUVVWRUxFMUJRVTBzUTBGQlF5eFpRVUZaTEVOQlFVTXNZVUZCWVN4RlFVRkZMRmRCUVZjc1EwRkJReXhEUVVGRE8xRkJRMmhFTEUxQlFVMHNRMEZCUXl4WlFVRlpMRU5CUVVNc1UwRkJVeXhGUVVGRkxFOUJRVThzUTBGQlF5eERRVUZETzFGQlEzaERMRTFCUVUwc1EwRkJReXhaUVVGWkxFTkJRVU1zVDBGQlR5eEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUlhKRExFMUJRVTBzUTBGQlF5eEhRVUZITEVkQlFVY3NSMEZCUnl4RFFVRkRPMUZCUldwQ0xGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wbEJRM0JETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTB3c1EwRkJReXhEUVVGRE8wRkJSVVk3T3pzN096dEhRVTFITzBGQlEwZ3NUVUZCVFN4RFFVRkRMRTFCUVUwc1kwRkJZeXhIUVVGSExFTkJRVU1zUlVGQlZTeEZRVUZGTEZGQlFXRXNSVUZCUlN4UlFVRmpMRVZCUVVVc1JVRkJSVHRKUVVNeFJTeHZRMEZCYjBNN1NVRkRjRU1zU1VGQlNTeFBRVUZQTEUxQlFVMHNTMEZCU3l4WFFVRlhMRVZCUVVVN1VVRkRha01zVDBGQlR6dExRVU5TTzBsQlJVUXNTVUZCU1N4RFFVRkRMRVZCUVVVc1JVRkJSVHRSUVVOUUxFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlFUdExRVU42UXp0SlFVVkVMRWxCUVVrc1EwRkJReXhQUVVGUExFVkJRVVU3VVVGRFdpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMREpDUVVFeVFpeERRVUZETEVOQlFVRTdTMEZETjBNN1NVRkZSQ3hGUVVGRkxFZEJRVWNzWVVGQllTeEhRVUZITEVWQlFVVXNRMEZCUXp0SlFVVjRRaXhKUVVGSkxFOUJRVThzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlR0UlFVTm1MRTlCUVU4c1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEZGQlFWRXNSVUZCUlN4UlFVRlJMRVZCUVVVc1EwRkJRVHRMUVVOeVF6dEJRVU5JTEVOQlFVTXNRMEZCUXp0QlFVVkdPenM3TzBkQlNVYzdRVUZEU0N4TlFVRk5MRU5CUVVNc1RVRkJUU3hQUVVGUExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUlR0SlFVTTNRaXhOUVVGTkxHMUNRVUZ0UWl4SFFVRkhMRkZCUVZFc1EwRkJReXhoUVVGaExFTkJRVU1zWTBGQll5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpGRkxFbEJRVWtzYlVKQlFXMUNMRXRCUVVzc1NVRkJTU3hGUVVGRk8xRkJRMmhETEU5QlFVOHNUMEZCVHl4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRE8wdEJRekZDTzBsQlJVUXNUMEZCVHl4SlFVRkpMRTlCUVU4c1EwRkJReXhEUVVGRExFOUJRVThzUlVGQlJTeEZRVUZGTzFGQlF6ZENMRTFCUVUwc1NVRkJTU3hIUVVGSExGRkJRVkVzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTjBSQ3hOUVVGTkxFbEJRVWtzUjBGQlJ5eFJRVUZSTEVOQlFVTXNZVUZCWVN4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJSVFZETEUxQlFVMHNUVUZCVFN4SFFVRkhMRWRCUVVjc1JVRkJSVHRaUVVOc1FpeFBRVUZQTEVWQlFVVXNRMEZCUXp0WlFVTldMRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRE0wTXNRMEZCUXl4RFFVRkRPMUZCUlVZc1NVRkJTU3hEUVVGRExFZEJRVWNzUjBGQlJ5eFpRVUZaTEVOQlFVTTdVVUZEZUVJc1NVRkJTU3hEUVVGRExFbEJRVWtzUjBGQlJ5eEhRVUZITEVOQlFVTTdVVUZEYUVJc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRTFCUVUwc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVU4wUXl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlEzcENMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRMHdzUTBGQlF5eERRVUZETzBGQlJVWTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxFTkJRVTRzU1VGQldTeHBRa0ZKV0R0QlFVcEVMRmRCUVZrc2FVSkJRV2xDTzBsQlF6TkNMRzlFUVVFclFpeERRVUZCTzBsQlF5OUNMRzlFUVVFclFpeERRVUZCTzBsQlF5OUNMSE5EUVVGcFFpeERRVUZCTzBGQlEyNUNMRU5CUVVNc1JVRktWeXhwUWtGQmFVSXNTMEZCYWtJc2FVSkJRV2xDTEZGQlNUVkNPMEZCUVVFc1EwRkJReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1OdmJuTjBJRTFQUkZWTVJWOVFVa1ZHU1ZnZ1BTQW5abk10Ykc5aFpHVnlMU2M3WEc1amIyNXpkQ0JuYkc5aVlXeEliMnhrWlhJNklHRnVlU0E5SUh0OU8xeHVYRzVsZUhCdmNuUWdkSGx3WlNCTmIyUjFiR1ZFWldZZ1BTQjdYRzRnSUhCeWIyMXBjMlUvT2lCUWNtOXRhWE5sUEdGdWVUNWNiaUFnY21WemIyeDJaVkJ5YjIxcGMyVS9PaUJoYm5rN1hHNGdJR2x1YzNSaGJtTmxQem9nWVc1NU8xeHVJQ0J0WlhSaFpHRjBZVDg2SUdGdWVUdGNibjFjYmx4dVpYaHdiM0owSUhSNWNHVWdUbUZ0WlhOd1lXTmxJRDBnZTF4dUlDQWdJRzF2WkhWc1pYTTZJSHRjYmlBZ0lDQWdXMnRsZVRvZ2MzUnlhVzVuWFRvZ1RXOWtkV3hsUkdWbVhHNGdJQ0FnZlZ4dWZUdGNibHh1WTI5dWMzUWdhVzVwZEdsaGJHbDZaVWRzYjJKaGJFNWhiV1Z6Y0dGalpTQTlJQ2dwSUQwK0lIdGNiaUFnYkdWMElHaHZiR1JsY2pwaGJuazdYRzVjYmlBZ0x5OGdhV1lnZEdobGNtVWdhWE1nYm04Z2QybHVaRzkzSUc5aWFpQjFjMlVnYm05a1pXcHpJR2RzYjJKaGJDQnNhV0lnZG1GeWFXRmliR1ZjYmlBZ2FXWWdLSFI1Y0dWdlppQjNhVzVrYjNjZ1BUMDlJQ2QxYm1SbFptbHVaV1FuS1NCN1hHNGdJQ0FnYUc5c1pHVnlJRDBnWjJ4dlltRnNTRzlzWkdWeU8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHaHZiR1JsY2lBOUlIZHBibVJ2ZDF4dUlDQjlYRzVjYmlBZ0x5OGdRSFJ6TFdsbmJtOXlaVnh1SUNCc1pYUWdibUZ0WlhOd1lXTmxPaUJPWVcxbGMzQmhZMlVnUFNCb2IyeGtaWEl1Wm1sc1pYTjBZV05yU1c1MFpYSnVZV3h6TzF4dVhHNGdJR2xtSUNnaGJtRnRaWE53WVdObEtTQjdYRzRnSUNBZ2JtRnRaWE53WVdObElEMGdlMXh1SUNBZ0lDQWdiVzlrZFd4bGN6b2dlMzBzWEc0Z0lDQWdmVHRjYmx4dUlDQWdJR2h2YkdSbGNpNW1hV3hsYzNSaFkydEpiblJsY201aGJITWdQU0J1WVcxbGMzQmhZMlU3WEc0Z0lIMWNibHh1SUNCcFppQW9JVzVoYldWemNHRmpaUzV0YjJSMWJHVnpLU0I3WEc0Z0lDQWdibUZ0WlhOd1lXTmxMbTF2WkhWc1pYTWdQU0I3ZlR0Y2JpQWdmVnh1SUNCY2JpQWdjbVYwZFhKdUlHNWhiV1Z6Y0dGalpUdGNibjA3WEc1Y2JtTnZibk4wSUdacGJHVnpkR0ZqYTBsdWRHVnlibUZzY3lBOUlHbHVhWFJwWVd4cGVtVkhiRzlpWVd4T1lXMWxjM0JoWTJVb0tUdGNibU52Ym5OMElHMXZaSFZzWlhNZ1BTQm1hV3hsYzNSaFkydEpiblJsY201aGJITWdKaVlnWm1sc1pYTjBZV05yU1c1MFpYSnVZV3h6TG0xdlpIVnNaWE03WEc1Y2JpOHFLbHh1SUNvZ1VtVnRiM1psSUd4cGMzUmxibVZ5Y3lBb1luSnZkM05sY2lCamIyMXdZWFJwWW14bEtWeHVJQ29nWEc0Z0tpQkFjR0Z5WVcwZ2JtOWtaU0JjYmlBcUlFQndZWEpoYlNCbWRXNWpJRnh1SUNvZ1FIQmhjbUZ0SUc1aGJXVWdYRzRnS2k5Y2JtTnZibk4wSUhKbGJXOTJaVXhwYzNSbGJtVnlJRDBnS0c1dlpHVXNJR1oxYm1Nc0lHNWhiV1VzSUNrZ1BUNGdlMXh1SUNCcFppQW9ibTlrWlM1a1pYUmhZMmhGZG1WdWRDa2dlMXh1SUNBZ0lHNXZaR1V1WkdWMFlXTm9SWFpsYm5Rb0oyOXVjbVZoWkhsemRHRjBaV05vWVc1blpTY3NJR1oxYm1NcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHNXZaR1V1Y21WdGIzWmxSWFpsYm5STWFYTjBaVzVsY2lodVlXMWxMQ0JtZFc1akxDQm1ZV3h6WlNrN1hHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQk1iMkZrSUcxMWJIUnBjR3hsSUcxdlpIVnNaWE5jYmlBcUlGeHVJQ29nUUhCaGNtRnRJSHNxZlNCdGIyUjFiR1Z6SUZ4dUlDb3ZYRzVsZUhCdmNuUWdZMjl1YzNRZ2JHOWhaRTF2WkhWc1pYTWdQU0FvYlc5a2RXeGxjMHhwYzNRcElEMCtJRkJ5YjIxcGMyVXVZV3hzS0cxdlpIVnNaWE5NYVhOMExtMWhjQ2dvZXlCcFpDd2dkWEpzSUgwcElEMCtJR3h2WVdSTmIyUjFiR1VvYVdRc0lIVnliQ2twS1M1MGFHVnVLQ2h5WlhNcElEMCtJSHRjYmlBZ1kyOXVjM1FnZEc5U1pYUjFjbTRnUFNCN2ZUdGNibHh1SUNCeVpYTXVabTl5UldGamFDZ29iVzlrTENCcFpIZ3BJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQmxiQ0E5SUcxdlpIVnNaWE5NYVhOMFcybGtlRjA3WEc0Z0lDQWdkRzlTWlhSMWNtNWJaV3d1YVdSZElEMGdiVzlrTzF4dUlDQjlLVHRjYmx4dUlDQnlaWFIxY200Z2RHOVNaWFIxY200N1hHNTlLVHRjYmx4dUx5b3FYRzRnS2lCTWIyRmtJSE5wYm1kc1pTQnRiMlIxYkdVZ1puSnZiU0IxY213Z2QybDBhQ0JuYVhabGJpQnBaRnh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdLbjBnYVdRZ0xTQnRiMlIxYkdVZ2FXUWdYRzRnS2lCQWNHRnlZVzBnZXlwOUlIVnliRnh1SUNvdlhHNWxlSEJ2Y25RZ1kyOXVjM1FnYkc5aFpFMXZaSFZzWlNBOUlDaHBaRG9nYzNSeWFXNW5MQ0IxY213NklITjBjbWx1WnlrZ1BUNGdlMXh1SUNCcFppQW9kSGx3Wlc5bUlIZHBibVJ2ZHlBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdVSEp2YldselpTNXlaV3BsWTNRb2JtVjNJRVZ5Y205eUtDZE1iMkZrSUcxdlpIVnNaU0JwY3lCM2IzSnJhVzVuSUc5dWJIa2diMjRnWW5KdmQzTmxjaUJsYm5ZbktTazdYRzRnSUgxY2JseHVJQ0JwWmlBb0lXbGtLU0I3WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZE5iMlIxYkdVZ2FXUWdhWE1nY21WeGRXbHlaV1FuS1Z4dUlDQjlYRzVjYmlBZ2JHVjBJRzF2WkhWc1pVUmxabWx1YVhScGIyNGdQU0J0YjJSMWJHVnpXMmxrWFR0Y2JseHVJQ0JwWkNBOUlDQk5UMFJWVEVWZlVGSkZSa2xZSUNzZ2FXUTdYRzVjYmlBZ2FXWWdLQ0Z0YjJSMWJHVkVaV1pwYm1sMGFXOXVLU0I3WEc0Z0lDQWdiVzlrZFd4bGMxdHBaRjBnUFNCN2ZUdGNiaUFnSUNCdGIyUjFiR1ZFWldacGJtbDBhVzl1SUQwZ2JXOWtkV3hsYzF0cFpGMDdYRzRnSUgxY2JseHVJQ0JwWmlBb2JXOWtkV3hsUkdWbWFXNXBkR2x2Ymk1cGJuTjBZVzVqWlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJRY205dGFYTmxMbkpsYzI5c2RtVW9iVzlrZFd4bFJHVm1hVzVwZEdsdmJpNXBibk4wWVc1alpTazdYRzRnSUgxY2JseHVJQ0JwWmlBb2JXOWtkV3hsUkdWbWFXNXBkR2x2Ymk1d2NtOXRhWE5sS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzF2WkhWc1pVUmxabWx1YVhScGIyNHVjSEp2YldselpUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQnRiMlIxYkdWRVpXWnBibWwwYVc5dUxuQnliMjFwYzJVZ1BTQnVaWGNnVUhKdmJXbHpaU2dvY21WemIyeDJaU3dnY21WcVpXTjBLU0E5UGlCN1hHNGdJQ0FnWTI5dWMzUWdjbVZoWkhsVGRHRjBaVU5vWVc1blpTQTlJQ2hsZG5RNklHRnVlU2tnUFQ0Z2UxeHVJQ0FnSUNBZ2FXWWdLR1YyZEM1MGVYQmxJRDA5UFNBbmJHOWhaQ2NnZkh3Z0tDOWVLR052YlhCc1pYUmxmR3h2WVdSbFpDa2tMeTUwWlhOMEtDaGxkblF1WTNWeWNtVnVkRlJoY21kbGRDQjhmQ0JsZG5RdWMzSmpSV3hsYldWdWRDa3VjbVZoWkhsVGRHRjBaU2twS1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUc1dlpHVWdQU0FnWlhaMExtTjFjbkpsYm5SVVlYSm5aWFFnZkh3Z1pYWjBMbk55WTBWc1pXMWxiblE3WEc1Y2JpQWdJQ0FnSUNBZ2NtVnRiM1psVEdsemRHVnVaWElvYm05a1pTd2djbVZoWkhsVGRHRjBaVU5vWVc1blpTd2dKMnh2WVdRbktUdGNiaUFnSUNBZ0lDQWdjbVZ0YjNabFRHbHpkR1Z1WlhJb2JtOWtaU3dnY21WcVpXTjBMQ0FuWlhKeWIzSW5LVHRjYmx4dUlDQWdJQ0FnSUNBdkx5QnpiRzkzSUdSdmR5QmphR1ZqYTJsdVp5QnBaaUJ0YjJSMWJHVWdhWE1nYkc5aFpHVmtJSFJ2SUdWdWMzVnlaU0IwYUdGMElITmpjbWx3ZENCMGFHRjBJQ0J5WldkcGMzUmxjaUJ0YjJSMWJHVWdhWE1nWTJGc2JHVmtYRzRnSUNBZ0lDQWdJSE5sZEZScGJXVnZkWFFvS0NrZ1BUNGdjbVZ6YjJ4MlpTaHRiMlIxYkdWelcybGtYU0EvSUcxdlpIVnNaWE5iYVdSZExtbHVjM1JoYm1ObElEb2dkVzVrWldacGJtVmtLU3dnTVRBcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJSE5qY21sd2RDQTlJR1J2WTNWdFpXNTBMbU55WldGMFpVVnNaVzFsYm5Rb0ozTmpjbWx3ZENjcE8xeHVJQ0FnSUZ4dUlDQWdJSE5qY21sd2RDNXBaQ0E5SUdsa08xeHVYRzRnSUNBZ0x5OGdRSFJ6TFdsbmJtOXlaU0JtYVhnZ1ptOXlJRWxGWEc0Z0lDQWdhV1lnS0hOamNtbHdkQzVoZEhSaFkyaEZkbVZ1ZENBbUppQWhLSE5qY21sd2RDNWhkSFJoWTJoRmRtVnVkQzUwYjFOMGNtbHVaeUFtSmlCelkzSnBjSFF1WVhSMFlXTm9SWFpsYm5RdWRHOVRkSEpwYm1jb0tTNXBibVJsZUU5bUtDZGJibUYwYVhabElHTnZaR1VuS1NBOElEQXBLU0I3WEc0Z0lDQWdJQ0F2THlCQWRITXRhV2R1YjNKbFhHNGdJQ0FnSUNCelkzSnBjSFF1WVhSMFlXTm9SWFpsYm5Rb0oyOXVjbVZoWkhsemRHRjBaV05vWVc1blpTY3NJSEpsWVdSNVUzUmhkR1ZEYUdGdVoyVXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCelkzSnBjSFF1WVdSa1JYWmxiblJNYVhOMFpXNWxjaWduYkc5aFpDY3NJSEpsWVdSNVUzUmhkR1ZEYUdGdVoyVXNJR1poYkhObEtUdGNiaUFnSUNBZ0lITmpjbWx3ZEM1aFpHUkZkbVZ1ZEV4cGMzUmxibVZ5S0NkdmJtVnljbTl5Snl3Z2NtVnFaV04wTENCbVlXeHpaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjMk55YVhCMExuTmxkRUYwZEhKcFluVjBaU2duWTNKdmMzTnZjbWxuYVc0bkxDQW5ZVzV2Ym5sdGIzVnpKeWs3WEc0Z0lDQWdjMk55YVhCMExuTmxkRUYwZEhKcFluVjBaU2duWTJoaGNuTmxkQ2NzSUNkMWRHWXRPQ2NwTzF4dUlDQWdJSE5qY21sd2RDNXpaWFJCZEhSeWFXSjFkR1VvSjJGemVXNWpKeXdnSjNSeWRXVW5LVHRjYmx4dUlDQWdJSE5qY21sd2RDNXpjbU1nUFNCMWNtdzdYRzVjYmlBZ0lDQmtiMk4xYldWdWRDNWliMlI1TG1Gd2NHVnVaRU5vYVd4a0tITmpjbWx3ZENrN1hHNGdJSDBwTzF4dWZUdGNibHh1THlvcVhHNGdLaUJTWldkcGMzUmxjaUIwYUdGMElHMXZaSFZzWlNCcGN5QnlaV0ZrZVZ4dUlDb2dYRzRnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnYVdRZ1hHNGdLaUJBY0dGeVlXMGdlMkZ1ZVgwZ2FXNXpkR0Z1WTJVZ1hHNGdLaUJBY0dGeVlXMGdlMkZ1ZVgwZ2JXVjBZV1JoZEdFZ0xTQmhaR1JwZEdsdmJtRnNJRzF2WkhWc1pTQnRaWFJoWkdGMFlTQnNhV3RsSUhabGNuTnBiMjVjYmlBcUwxeHVaWGh3YjNKMElHTnZibk4wSUhKbFoybHpkR1Z5VFc5a2RXeGxJRDBnS0dsa09pQnpkSEpwYm1jc0lHbHVjM1JoYm1ObE9pQmhibmtzSUcxbGRHRmtZWFJoUHpvZ1lXNTVLU0E5UGlCN1hHNGdJQzh2SUd4dllXUmxjaUJ1YjNRZ2QyOXlhMmx1WnlCdmJpQnViMlJsYW5NZ1pXNTJjMXh1SUNCcFppQW9kSGx3Wlc5bUlIZHBibVJ2ZHlBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NwSUh0Y2JpQWdJQ0J5WlhSMWNtNDdYRzRnSUgxY2JseHVJQ0JwWmlBb0lXbGtLU0I3WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZE5iMlIxYkdVZ2FXUWdhWE1nY21WeGRXbHlaV1FuS1Z4dUlDQjlYRzVjYmlBZ2FXWWdLQ0Z0YjJSMWJHVnpLU0I3WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZE1iMkZrWlhJZ2FYTWdibTkwSUdsdWFYUnBZV3hwZW1Wa0p5bGNiaUFnZlZ4dVhHNGdJR2xrSUQwZ1RVOUVWVXhGWDFCU1JVWkpXQ0FySUdsa08xeHVYRzRnSUdsbUlDaHRiMlIxYkdWelcybGtYU2tnZTF4dUlDQWdJRzF2WkhWc1pYTmJhV1JkSUQwZ2V5QnBibk4wWVc1alpTd2diV1YwWVdSaGRHRWdmVnh1SUNCOVhHNTlPMXh1WEc0dktpcGNiaUFxSUV4dllXUWdaWGgwWlhKdVlXd2dZM056SUdaeWIyMGdaMmwyWlc0Z2RYSnNYRzRnS2lCY2JpQXFJRUJ3WVhKaGJTQjdLbjBnZFhKc0lGeHVJQ292WEc1bGVIQnZjblFnWTI5dWMzUWdiRzloWkVOemN5QTlJQ2gxY213cElEMCtJSHRjYmlBZ1kyOXVjM1FnWVd4eVpXRmtlVUZrWkdWa1ZHaHBjMVJoWnlBOUlHUnZZM1Z0Wlc1MExuRjFaWEo1VTJWc1pXTjBiM0lvWUd4cGJtdGJhSEpsWmoxY0lpUjdkWEpzZlZ3aVhXQXBPMXh1SUNCcFppQW9ZV3h5WldGa2VVRmtaR1ZrVkdocGMxUmhaeUFoUFQwZ2JuVnNiQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQlFjbTl0YVhObExuSmxjMjlzZG1Vb0tUdGNiaUFnZlZ4dVhHNGdJSEpsZEhWeWJpQnVaWGNnVUhKdmJXbHpaU2dvY21WemIyeDJaU2tnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJR2hsWVdRZ1BTQmtiMk4xYldWdWRDNW5aWFJGYkdWdFpXNTBjMEo1VkdGblRtRnRaU2duYUdWaFpDY3BXekJkTzF4dUlDQWdJR052Ym5OMElHeHBibXNnUFNCa2IyTjFiV1Z1ZEM1amNtVmhkR1ZGYkdWdFpXNTBLQ2RzYVc1ckp5azdYRzVjYmlBZ0lDQmpiMjV6ZENCc2IyRmtaV1FnUFNBb0tTQTlQaUI3WEc0Z0lDQWdJQ0J5WlhOdmJIWmxLQ2s3WEc0Z0lDQWdJQ0JzYVc1ckxuSmxiVzkyWlVWMlpXNTBUR2x6ZEdWdVpYSW9KMnh2WVdRbkxDQnNiMkZrWldRcE8xeHVJQ0FnSUgwN1hHNWNiaUFnSUNCc2FXNXJMbkpsYkNBOUlDZHpkSGxzWlhOb1pXVjBKenRjYmlBZ0lDQnNhVzVyTG1oeVpXWWdQU0IxY213N1hHNGdJQ0FnYkdsdWF5NWhaR1JGZG1WdWRFeHBjM1JsYm1WeUtDZHNiMkZrSnl3Z2JHOWhaR1ZrS1R0Y2JpQWdJQ0JvWldGa0xtRndjR1Z1WkVOb2FXeGtLR3hwYm1zcE8xeHVJQ0I5S1R0Y2JuMDdYRzVjYmk4cUtseHVJQ29nUlc1MWJTQnFkWE4wSUdadmNpQjFibWxtZVNCbWFXeGxjM1JoWTJzZ2JXOWtkV3hsSUc1aGJXVnpYRzRnS2k5Y2JtVjRjRzl5ZENCbGJuVnRJRVpKVEVWVFZFRkRTMTlOVDBSVlRFVlRJSHRjYmlBZ1JrbE1SVk5VUVVOTFgxTkVTeUE5SUNkbWFXeGxjM1JoWTJzdGMyUnJKeXhjYmlBZ1ZGSkJUbE5HVDFKTlUxOVZTU0E5SUNkMGNtRnVjMlp2Y20xekxYVnBKeXhjYmlBZ1VFbERTMFZTSUQwZ0ozQnBZMnRsY2ljc1hHNTlPMXh1SWwxOSJdLCJzb3VyY2VSb290IjoiIn0=
var FilestackLoader=function(e){var t={};function r(o){if(t[o])return t[o].exports;var n=t[o]={i:o,l:!1,exports:{}};return e[o].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,o){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(o,n,function(t){return e[t]}.bind(null,n));return o},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";r.r(t),r.d(t,"loadModules",(function(){return i})),r.d(t,"loadModule",(function(){return s})),r.d(t,"registerModule",(function(){return l})),r.d(t,"loadCss",(function(){return u})),r.d(t,"FILESTACK_MODULES",(function(){return c}));const o={},n=(()=>{let e;e="undefined"==typeof window?o:window;let t=e.filestackInternals;return t||(t={modules:{}},e.filestackInternals=t),t.modules||(t.modules={}),t})(),a=n&&n.modules,d=(e,t,r)=>{e.detachEvent?e.detachEvent("onreadystatechange",t):e.removeEventListener(r,t,!1)},i=e=>Promise.all(e.map(({id:e,url:t})=>s(e,t))).then(t=>{const r={};return t.forEach((t,o)=>{const n=e[o];r[n.id]=t}),r}),s=(e,t)=>{if("undefined"==typeof window)return Promise.reject(new Error("Load module is working only on browser env"));if(!e)throw new Error("Module id is required");let r=a[e="fs-loader-"+e];return r||(a[e]={},r=a[e]),r.instance?Promise.resolve(r.instance):r.promise?r.promise:r.promise=new Promise((r,o)=>{const n=t=>{if("load"===t.type||/^(complete|loaded)$/.test((t.currentTarget||t.srcElement).readyState)){const i=t.currentTarget||t.srcElement;d(i,n,"load"),d(i,o,"error"),setTimeout(()=>r(a[e]?a[e].instance:void 0),10)}},i=document.createElement("script");i.id=e,!i.attachEvent||i.attachEvent.toString&&i.attachEvent.toString().indexOf("[native code")<0?(i.addEventListener("load",n,!1),i.addEventListener("onerror",o,!1)):i.attachEvent("onreadystatechange",n),i.setAttribute("crossorigin","anonymous"),i.setAttribute("charset","utf-8"),i.setAttribute("async","true"),i.src=t,document.body.appendChild(i)})},l=(e,t,r)=>{if("undefined"!=typeof window){if(!e)throw new Error("Module id is required");if(!a)throw new Error("Loader is not initialized");a[e="fs-loader-"+e]&&(a[e]={instance:t,metadata:r})}},u=e=>null!==document.querySelector(`link[href="${e}"]`)?Promise.resolve():new Promise(t=>{const r=document.getElementsByTagName("head")[0],o=document.createElement("link"),n=()=>{t(),o.removeEventListener("load",n)};o.rel="stylesheet",o.href=e,o.addEventListener("load",n),r.appendChild(o)});var c;!function(e){e.FILESTACK_SDK="filestack-sdk",e.TRANSFORMS_UI="transforms-ui",e.PICKER="picker"}(c||(c={}))}]);const _FilestackLoader$loadModules=FilestackLoader.loadModules,_FilestackLoader$loadModule=FilestackLoader.loadModule,_FilestackLoader$registerModule=FilestackLoader.registerModule,_FilestackLoader$loadCss=FilestackLoader.loadCss,_FilestackLoader$FILESTACK_MODULES=FilestackLoader.FILESTACK_MODULES;export{_FilestackLoader$loadModules as loadModules,_FilestackLoader$loadModule as loadModule,_FilestackLoader$registerModule as registerModule,_FilestackLoader$loadCss as loadCss,_FilestackLoader$FILESTACK_MODULES as FILESTACK_MODULES};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9GaWxlc3RhY2tMb2FkZXIvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vRmlsZXN0YWNrTG9hZGVyLy4vZGlzdC9tb2R1bGUvaW5kZXguanMiXSwibmFtZXMiOlsiaW5zdGFsbGVkTW9kdWxlcyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtb2R1bGVJZCIsImV4cG9ydHMiLCJtb2R1bGUiLCJpIiwibCIsIm1vZHVsZXMiLCJjYWxsIiwibSIsImMiLCJkIiwibmFtZSIsImdldHRlciIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJyIiwiU3ltYm9sIiwidG9TdHJpbmdUYWciLCJ2YWx1ZSIsInQiLCJtb2RlIiwiX19lc01vZHVsZSIsIm5zIiwiY3JlYXRlIiwia2V5IiwiYmluZCIsIm4iLCJvYmplY3QiLCJwcm9wZXJ0eSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwicCIsInMiLCJnbG9iYWxIb2xkZXIiLCJmaWxlc3RhY2tJbnRlcm5hbHMiLCJob2xkZXIiLCJ3aW5kb3ciLCJuYW1lc3BhY2UiLCJpbml0aWFsaXplR2xvYmFsTmFtZXNwYWNlIiwicmVtb3ZlTGlzdGVuZXIiLCJub2RlIiwiZnVuYyIsImRldGFjaEV2ZW50IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImxvYWRNb2R1bGVzIiwibW9kdWxlc0xpc3QiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwiaWQiLCJ1cmwiLCJsb2FkTW9kdWxlIiwidGhlbiIsInJlcyIsInRvUmV0dXJuIiwiZm9yRWFjaCIsIm1vZCIsImlkeCIsImVsIiwicmVqZWN0IiwiRXJyb3IiLCJtb2R1bGVEZWZpbml0aW9uIiwiaW5zdGFuY2UiLCJyZXNvbHZlIiwicHJvbWlzZSIsInJlYWR5U3RhdGVDaGFuZ2UiLCJldnQiLCJ0eXBlIiwidGVzdCIsImN1cnJlbnRUYXJnZXQiLCJzcmNFbGVtZW50IiwicmVhZHlTdGF0ZSIsInNldFRpbWVvdXQiLCJ1bmRlZmluZWQiLCJzY3JpcHQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJhdHRhY2hFdmVudCIsInRvU3RyaW5nIiwiaW5kZXhPZiIsImFkZEV2ZW50TGlzdGVuZXIiLCJzZXRBdHRyaWJ1dGUiLCJzcmMiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJyZWdpc3Rlck1vZHVsZSIsIm1ldGFkYXRhIiwibG9hZENzcyIsInF1ZXJ5U2VsZWN0b3IiLCJoZWFkIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJsaW5rIiwibG9hZGVkIiwicmVsIiwiaHJlZiIsIkZJTEVTVEFDS19NT0RVTEVTIl0sIm1hcHBpbmdzIjoiZ0NBQ0UsSUFBSUEsRUFBbUIsR0FHdkIsU0FBU0MsRUFBb0JDLEdBRzVCLEdBQUdGLEVBQWlCRSxHQUNuQixPQUFPRixFQUFpQkUsR0FBVUMsUUFHbkMsSUFBSUMsRUFBU0osRUFBaUJFLEdBQVksQ0FDekNHLEVBQUdILEVBQ0hJLEdBQUcsRUFDSEgsUUFBUyxJQVVWLE9BTkFJLEVBQVFMLEdBQVVNLEtBQUtKLEVBQU9ELFFBQVNDLEVBQVFBLEVBQU9ELFFBQVNGLEdBRy9ERyxFQUFPRSxHQUFJLEVBR0pGLEVBQU9ELFFBMERmLE9BckRBRixFQUFvQlEsRUFBSUYsRUFHeEJOLEVBQW9CUyxFQUFJVixFQUd4QkMsRUFBb0JVLEVBQUksU0FBU1IsRUFBU1MsRUFBTUMsR0FDM0NaLEVBQW9CYSxFQUFFWCxFQUFTUyxJQUNsQ0csT0FBT0MsZUFBZWIsRUFBU1MsRUFBTSxDQUFFSyxZQUFZLEVBQU1DLElBQUtMLEtBS2hFWixFQUFvQmtCLEVBQUksU0FBU2hCLEdBQ1gsb0JBQVhpQixRQUEwQkEsT0FBT0MsYUFDMUNOLE9BQU9DLGVBQWViLEVBQVNpQixPQUFPQyxZQUFhLENBQUVDLE1BQU8sV0FFN0RQLE9BQU9DLGVBQWViLEVBQVMsYUFBYyxDQUFFbUIsT0FBTyxLQVF2RHJCLEVBQW9Cc0IsRUFBSSxTQUFTRCxFQUFPRSxHQUV2QyxHQURVLEVBQVBBLElBQVVGLEVBQVFyQixFQUFvQnFCLElB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QUsvR0wsRUFBT00saUJBQWlCLE9BQVFmLEdBQWtCLEdBQ2xEUyxFQUFPTSxpQkFBaUIsVUFBV3JCLEdBQVEsSUFKM0NlLEVBQU9HLFlBQVkscUJBQXNCWixHQU03Q1MsRUFBT08sYUFBYSxjQUFlLGFBQ25DUCxFQUFPTyxhQUFhLFVBQVcsU0FDL0JQLEVBQU9PLGFBQWEsUUFBUyxRQUM3QlAsRUFBT1EsSUFBTWhDLEVBQ2J5QixTQUFTUSxLQUFLQyxZQUFZVixNQVVyQlcsRUFBaUIsQ0FBQ3BDLEVBQUlhLEVBQVV3QixLQUV6QyxHQUFzQixvQkFBWGxELE9BQVgsQ0FHQSxJQUFLYSxFQUNELE1BQU0sSUFBSVcsTUFBTSx5QkFFcEIsSUFBS3pELEVBQ0QsTUFBTSxJQUFJeUQsTUFBTSw2QkFHaEJ6RCxFQURKOEMsRUE3SGtCLGFBNkhHQSxLQUVqQjlDLEVBQVE4QyxHQUFNLENBQUVhLFdBQVV3QixlQVFyQkMsRUFBV3JDLEdBRVEsT0FEQXlCLFNBQVNhLGNBQWMsY0FBY3RDLE9BRXRESixRQUFRaUIsVUFFWixJQUFJakIsUUFBU2lCLElBQ2hCLE1BQU0wQixFQUFPZCxTQUFTZSxxQkFBcUIsUUFBUSxHQUM3Q0MsRUFBT2hCLFNBQVNDLGNBQWMsUUFDOUJnQixFQUFTLEtBQ1g3QixJQUNBNEIsRUFBS2hELG9CQUFvQixPQUFRaUQsSUFFckNELEVBQUtFLElBQU0sYUFDWEYsRUFBS0csS0FBTzVDLEVBQ1p5QyxFQUFLWCxpQkFBaUIsT0FBUVksR0FDOUJILEVBQUtMLFlBQVlPLEtBTWxCLElBQUlJLEdBQ1gsU0FBV0EsR0FDUEEsRUFBaUMsY0FBSSxnQkFDckNBLEVBQWlDLGNBQUksZ0JBQ3JDQSxFQUEwQixPQUFJLFNBSGxDLENBSUdBLElBQXNCQSxFQUFvQixRIiwiZmlsZSI6ImluZGV4LmVzbS5qcyIsInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGdldHRlciB9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuIFx0XHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbiBcdFx0fVxuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuIFx0fTtcblxuIFx0Ly8gY3JlYXRlIGEgZmFrZSBuYW1lc3BhY2Ugb2JqZWN0XG4gXHQvLyBtb2RlICYgMTogdmFsdWUgaXMgYSBtb2R1bGUgaWQsIHJlcXVpcmUgaXRcbiBcdC8vIG1vZGUgJiAyOiBtZXJnZSBhbGwgcHJvcGVydGllcyBvZiB2YWx1ZSBpbnRvIHRoZSBuc1xuIFx0Ly8gbW9kZSAmIDQ6IHJldHVybiB2YWx1ZSB3aGVuIGFscmVhZHkgbnMgb2JqZWN0XG4gXHQvLyBtb2RlICYgOHwxOiBiZWhhdmUgbGlrZSByZXF1aXJlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnQgPSBmdW5jdGlvbih2YWx1ZSwgbW9kZSkge1xuIFx0XHRpZihtb2RlICYgMSkgdmFsdWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKHZhbHVlKTtcbiBcdFx0aWYobW9kZSAmIDgpIHJldHVybiB2YWx1ZTtcbiBcdFx0aWYoKG1vZGUgJiA0KSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICYmIHZhbHVlLl9fZXNNb2R1bGUpIHJldHVybiB2YWx1ZTtcbiBcdFx0dmFyIG5zID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yKG5zKTtcbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG5zLCAnZGVmYXVsdCcsIHsgZW51bWVyYWJsZTogdHJ1ZSwgdmFsdWU6IHZhbHVlIH0pO1xuIFx0XHRpZihtb2RlICYgMiAmJiB0eXBlb2YgdmFsdWUgIT0gJ3N0cmluZycpIGZvcih2YXIga2V5IGluIHZhbHVlKSBfX3dlYnBhY2tfcmVxdWlyZV9fLmQobnMsIGtleSwgZnVuY3Rpb24oa2V5KSB7IHJldHVybiB2YWx1ZVtrZXldOyB9LmJpbmQobnVsbCwga2V5KSk7XG4gXHRcdHJldHVybiBucztcbiBcdH07XG5cbiBcdC8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSBmdW5jdGlvbihtb2R1bGUpIHtcbiBcdFx0dmFyIGdldHRlciA9IG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSA/XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0RGVmYXVsdCgpIHsgcmV0dXJuIG1vZHVsZVsnZGVmYXVsdCddOyB9IDpcbiBcdFx0XHRmdW5jdGlvbiBnZXRNb2R1bGVFeHBvcnRzKCkgeyByZXR1cm4gbW9kdWxlOyB9O1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCAnYScsIGdldHRlcik7XG4gXHRcdHJldHVybiBnZXR0ZXI7XG4gXHR9O1xuXG4gXHQvLyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGxcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubyA9IGZ1bmN0aW9uKG9iamVjdCwgcHJvcGVydHkpIHsgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIHByb3BlcnR5KTsgfTtcblxuIFx0Ly8gX193ZWJwYWNrX3B1YmxpY19wYXRoX19cbiBcdF9fd2VicGFja19yZXF1aXJlX18ucCA9IFwiXCI7XG5cblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAwKTtcbiIsImNvbnN0IE1PRFVMRV9QUkVGSVggPSAnZnMtbG9hZGVyLSc7XG5jb25zdCBnbG9iYWxIb2xkZXIgPSB7fTtcbmNvbnN0IGluaXRpYWxpemVHbG9iYWxOYW1lc3BhY2UgPSAoKSA9PiB7XG4gICAgbGV0IGhvbGRlcjtcbiAgICAvLyBpZiB0aGVyZSBpcyBubyB3aW5kb3cgb2JqIHVzZSBub2RlanMgZ2xvYmFsIGxpYiB2YXJpYWJsZVxuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICBob2xkZXIgPSBnbG9iYWxIb2xkZXI7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBob2xkZXIgPSB3aW5kb3c7XG4gICAgfVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBsZXQgbmFtZXNwYWNlID0gaG9sZGVyLmZpbGVzdGFja0ludGVybmFscztcbiAgICBpZiAoIW5hbWVzcGFjZSkge1xuICAgICAgICBuYW1lc3BhY2UgPSB7XG4gICAgICAgICAgICBtb2R1bGVzOiB7fSxcbiAgICAgICAgfTtcbiAgICAgICAgaG9sZGVyLmZpbGVzdGFja0ludGVybmFscyA9IG5hbWVzcGFjZTtcbiAgICB9XG4gICAgaWYgKCFuYW1lc3BhY2UubW9kdWxlcykge1xuICAgICAgICBuYW1lc3BhY2UubW9kdWxlcyA9IHt9O1xuICAgIH1cbiAgICByZXR1cm4gbmFtZXNwYWNlO1xufTtcbmNvbnN0IGZpbGVzdGFja0ludGVybmFscyA9IGluaXRpYWxpemVHbG9iYWxOYW1lc3BhY2UoKTtcbmNvbnN0IG1vZHVsZXMgPSBmaWxlc3RhY2tJbnRlcm5hbHMgJiYgZmlsZXN0YWNrSW50ZXJuYWxzLm1vZHVsZXM7XG4vKipcbiAqIFJlbW92ZSBsaXN0ZW5lcnMgKGJyb3dzZXIgY29tcGF0aWJsZSlcbiAqXG4gKiBAcGFyYW0gbm9kZVxuICogQHBhcmFtIGZ1bmNcbiAqIEBwYXJhbSBuYW1lXG4gKi9cbmNvbnN0IHJlbW92ZUxpc3RlbmVyID0gKG5vZGUsIGZ1bmMsIG5hbWUpID0+IHtcbiAgICBpZiAobm9kZS5kZXRhY2hFdmVudCkge1xuICAgICAgICBub2RlLmRldGFjaEV2ZW50KCdvbnJlYWR5c3RhdGVjaGFuZ2UnLCBmdW5jKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIG5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihuYW1lLCBmdW5jLCBmYWxzZSk7XG4gICAgfVxufTtcbi8qKlxuICogTG9hZCBtdWx0aXBsZSBtb2R1bGVzXG4gKlxuICogQHBhcmFtIHsqfSBtb2R1bGVzXG4gKi9cbmV4cG9ydCBjb25zdCBsb2FkTW9kdWxlcyA9IChtb2R1bGVzTGlzdCkgPT4gUHJvbWlzZS5hbGwobW9kdWxlc0xpc3QubWFwKCh7IGlkLCB1cmwgfSkgPT4gbG9hZE1vZHVsZShpZCwgdXJsKSkpLnRoZW4oKHJlcykgPT4ge1xuICAgIGNvbnN0IHRvUmV0dXJuID0ge307XG4gICAgcmVzLmZvckVhY2goKG1vZCwgaWR4KSA9PiB7XG4gICAgICAgIGNvbnN0IGVsID0gbW9kdWxlc0xpc3RbaWR4XTtcbiAgICAgICAgdG9SZXR1cm5bZWwuaWRdID0gbW9kO1xuICAgIH0pO1xuICAgIHJldHVybiB0b1JldHVybjtcbn0pO1xuLyoqXG4gKiBMb2FkIHNpbmdsZSBtb2R1bGUgZnJvbSB1cmwgd2l0aCBnaXZlbiBpZFxuICpcbiAqIEBwYXJhbSB7Kn0gaWQgLSBtb2R1bGUgaWRcbiAqIEBwYXJhbSB7Kn0gdXJsXG4gKi9cbmV4cG9ydCBjb25zdCBsb2FkTW9kdWxlID0gKGlkLCB1cmwpID0+IHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignTG9hZCBtb2R1bGUgaXMgd29ya2luZyBvbmx5IG9uIGJyb3dzZXIgZW52JykpO1xuICAgIH1cbiAgICBpZiAoIWlkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTW9kdWxlIGlkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlkID0gTU9EVUxFX1BSRUZJWCArIGlkO1xuICAgIGxldCBtb2R1bGVEZWZpbml0aW9uID0gbW9kdWxlc1tpZF07XG4gICAgaWYgKCFtb2R1bGVEZWZpbml0aW9uKSB7XG4gICAgICAgIG1vZHVsZXNbaWRdID0ge307XG4gICAgICAgIG1vZHVsZURlZmluaXRpb24gPSBtb2R1bGVzW2lkXTtcbiAgICB9XG4gICAgaWYgKG1vZHVsZURlZmluaXRpb24uaW5zdGFuY2UpIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShtb2R1bGVEZWZpbml0aW9uLmluc3RhbmNlKTtcbiAgICB9XG4gICAgaWYgKG1vZHVsZURlZmluaXRpb24ucHJvbWlzZSkge1xuICAgICAgICByZXR1cm4gbW9kdWxlRGVmaW5pdGlvbi5wcm9taXNlO1xuICAgIH1cbiAgICByZXR1cm4gbW9kdWxlRGVmaW5pdGlvbi5wcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCByZWFkeVN0YXRlQ2hhbmdlID0gKGV2dCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2dC50eXBlID09PSAnbG9hZCcgfHwgKC9eKGNvbXBsZXRlfGxvYWRlZCkkLy50ZXN0KChldnQuY3VycmVudFRhcmdldCB8fCBldnQuc3JjRWxlbWVudCkucmVhZHlTdGF0ZSkpKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgbm9kZSA9IGV2dC5jdXJyZW50VGFyZ2V0IHx8IGV2dC5zcmNFbGVtZW50O1xuICAgICAgICAgICAgICAgIHJlbW92ZUxpc3RlbmVyKG5vZGUsIHJlYWR5U3RhdGVDaGFuZ2UsICdsb2FkJyk7XG4gICAgICAgICAgICAgICAgcmVtb3ZlTGlzdGVuZXIobm9kZSwgcmVqZWN0LCAnZXJyb3InKTtcbiAgICAgICAgICAgICAgICAvLyBzbG93IGRvdyBjaGVja2luZyBpZiBtb2R1bGUgaXMgbG9hZGVkIHRvIGVuc3VyZSB0aGF0IHNjcmlwdCB0aGF0ICByZWdpc3RlciBtb2R1bGUgaXMgY2FsbGVkXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKG1vZHVsZXNbaWRdID8gbW9kdWxlc1tpZF0uaW5zdGFuY2UgOiB1bmRlZmluZWQpLCAxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgICBzY3JpcHQuaWQgPSBpZDtcbiAgICAgICAgLy8gQHRzLWlnbm9yZSBmaXggZm9yIElFXG4gICAgICAgIGlmIChzY3JpcHQuYXR0YWNoRXZlbnQgJiYgIShzY3JpcHQuYXR0YWNoRXZlbnQudG9TdHJpbmcgJiYgc2NyaXB0LmF0dGFjaEV2ZW50LnRvU3RyaW5nKCkuaW5kZXhPZignW25hdGl2ZSBjb2RlJykgPCAwKSkge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgc2NyaXB0LmF0dGFjaEV2ZW50KCdvbnJlYWR5c3RhdGVjaGFuZ2UnLCByZWFkeVN0YXRlQ2hhbmdlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHNjcmlwdC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVhZHlTdGF0ZUNoYW5nZSwgZmFsc2UpO1xuICAgICAgICAgICAgc2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ29uZXJyb3InLCByZWplY3QsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICBzY3JpcHQuc2V0QXR0cmlidXRlKCdjcm9zc29yaWdpbicsICdhbm9ueW1vdXMnKTtcbiAgICAgICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgnY2hhcnNldCcsICd1dGYtOCcpO1xuICAgICAgICBzY3JpcHQuc2V0QXR0cmlidXRlKCdhc3luYycsICd0cnVlJyk7XG4gICAgICAgIHNjcmlwdC5zcmMgPSB1cmw7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgICB9KTtcbn07XG4vKipcbiAqIFJlZ2lzdGVyIHRoYXQgbW9kdWxlIGlzIHJlYWR5XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGlkXG4gKiBAcGFyYW0ge2FueX0gaW5zdGFuY2VcbiAqIEBwYXJhbSB7YW55fSBtZXRhZGF0YSAtIGFkZGl0aW9uYWwgbW9kdWxlIG1ldGFkYXRhIGxpa2UgdmVyc2lvblxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJNb2R1bGUgPSAoaWQsIGluc3RhbmNlLCBtZXRhZGF0YSkgPT4ge1xuICAgIC8vIGxvYWRlciBub3Qgd29ya2luZyBvbiBub2RlanMgZW52c1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghaWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdNb2R1bGUgaWQgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgaWYgKCFtb2R1bGVzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTG9hZGVyIGlzIG5vdCBpbml0aWFsaXplZCcpO1xuICAgIH1cbiAgICBpZCA9IE1PRFVMRV9QUkVGSVggKyBpZDtcbiAgICBpZiAobW9kdWxlc1tpZF0pIHtcbiAgICAgICAgbW9kdWxlc1tpZF0gPSB7IGluc3RhbmNlLCBtZXRhZGF0YSB9O1xuICAgIH1cbn07XG4vKipcbiAqIExvYWQgZXh0ZXJuYWwgY3NzIGZyb20gZ2l2ZW4gdXJsXG4gKlxuICogQHBhcmFtIHsqfSB1cmxcbiAqL1xuZXhwb3J0IGNvbnN0IGxvYWRDc3MgPSAodXJsKSA9PiB7XG4gICAgY29uc3QgYWxyZWFkeUFkZGVkVGhpc1RhZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGxpbmtbaHJlZj1cIiR7dXJsfVwiXWApO1xuICAgIGlmIChhbHJlYWR5QWRkZWRUaGlzVGFnICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgIGNvbnN0IGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuICAgICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgICAgICBjb25zdCBsb2FkZWQgPSAoKSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICBsaW5rLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBsb2FkZWQpO1xuICAgICAgICB9O1xuICAgICAgICBsaW5rLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICAgICAgbGluay5ocmVmID0gdXJsO1xuICAgICAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBsb2FkZWQpO1xuICAgICAgICBoZWFkLmFwcGVuZENoaWxkKGxpbmspO1xuICAgIH0pO1xufTtcbi8qKlxuICogRW51bSBqdXN0IGZvciB1bmlmeSBmaWxlc3RhY2sgbW9kdWxlIG5hbWVzXG4gKi9cbmV4cG9ydCB2YXIgRklMRVNUQUNLX01PRFVMRVM7XG4oZnVuY3Rpb24gKEZJTEVTVEFDS19NT0RVTEVTKSB7XG4gICAgRklMRVNUQUNLX01PRFVMRVNbXCJGSUxFU1RBQ0tfU0RLXCJdID0gXCJmaWxlc3RhY2stc2RrXCI7XG4gICAgRklMRVNUQUNLX01PRFVMRVNbXCJUUkFOU0ZPUk1TX1VJXCJdID0gXCJ0cmFuc2Zvcm1zLXVpXCI7XG4gICAgRklMRVNUQUNLX01PRFVMRVNbXCJQSUNLRVJcIl0gPSBcInBpY2tlclwiO1xufSkoRklMRVNUQUNLX01PRFVMRVMgfHwgKEZJTEVTVEFDS19NT0RVTEVTID0ge30pKTtcbjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk5c2FXSXZhVzVrWlhndWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVFVGQlRTeGhRVUZoTEVkQlFVY3NXVUZCV1N4RFFVRkRPMEZCUTI1RExFMUJRVTBzV1VGQldTeEhRVUZSTEVWQlFVVXNRMEZCUXp0QlFXVTNRaXhOUVVGTkxIbENRVUY1UWl4SFFVRkhMRWRCUVVjc1JVRkJSVHRKUVVOeVF5eEpRVUZKTEUxQlFWVXNRMEZCUXp0SlFVVm1MREpFUVVFeVJEdEpRVU16UkN4SlFVRkpMRTlCUVU4c1RVRkJUU3hMUVVGTExGZEJRVmNzUlVGQlJUdFJRVU5xUXl4TlFVRk5MRWRCUVVjc1dVRkJXU3hEUVVGRE8wdEJRM1pDTzFOQlFVMDdVVUZEVEN4TlFVRk5MRWRCUVVjc1RVRkJUU3hEUVVGQk8wdEJRMmhDTzBsQlJVUXNZVUZCWVR0SlFVTmlMRWxCUVVrc1UwRkJVeXhIUVVGakxFMUJRVTBzUTBGQlF5eHJRa0ZCYTBJc1EwRkJRenRKUVVWeVJDeEpRVUZKTEVOQlFVTXNVMEZCVXl4RlFVRkZPMUZCUTJRc1UwRkJVeXhIUVVGSE8xbEJRMVlzVDBGQlR5eEZRVUZGTEVWQlFVVTdVMEZEV2l4RFFVRkRPMUZCUlVZc1RVRkJUU3hEUVVGRExHdENRVUZyUWl4SFFVRkhMRk5CUVZNc1EwRkJRenRMUVVOMlF6dEpRVVZFTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJUeXhGUVVGRk8xRkJRM1JDTEZOQlFWTXNRMEZCUXl4UFFVRlBMRWRCUVVjc1JVRkJSU3hEUVVGRE8wdEJRM2hDTzBsQlJVUXNUMEZCVHl4VFFVRlRMRU5CUVVNN1FVRkRia0lzUTBGQlF5eERRVUZETzBGQlJVWXNUVUZCVFN4clFrRkJhMElzUjBGQlJ5eDVRa0ZCZVVJc1JVRkJSU3hEUVVGRE8wRkJRM1pFTEUxQlFVMHNUMEZCVHl4SFFVRkhMR3RDUVVGclFpeEpRVUZKTEd0Q1FVRnJRaXhEUVVGRExFOUJRVThzUTBGQlF6dEJRVVZxUlRzN096czdPMGRCVFVjN1FVRkRTQ3hOUVVGTkxHTkJRV01zUjBGQlJ5eERRVUZETEVsQlFVa3NSVUZCUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hGUVVGSkxFVkJRVVU3U1VGRE5VTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1YwRkJWeXhGUVVGRk8xRkJRM0JDTEVsQlFVa3NRMEZCUXl4WFFVRlhMRU5CUVVNc2IwSkJRVzlDTEVWQlFVVXNTVUZCU1N4RFFVRkRMRU5CUVVNN1MwRkRPVU03VTBGQlRUdFJRVU5NTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8wdEJRemRETzBGQlEwZ3NRMEZCUXl4RFFVRkJPMEZCUlVRN096czdSMEZKUnp0QlFVTklMRTFCUVUwc1EwRkJReXhOUVVGTkxGZEJRVmNzUjBGQlJ5eERRVUZETEZkQlFWY3NSVUZCUlN4RlFVRkZMRU5CUVVNc1QwRkJUeXhEUVVGRExFZEJRVWNzUTBGQlF5eFhRVUZYTEVOQlFVTXNSMEZCUnl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVWQlFVVXNSVUZCUlN4RFFVRkRMRlZCUVZVc1EwRkJReXhGUVVGRkxFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzUlVGQlJTeEZRVUZGTzBsQlF6RklMRTFCUVUwc1VVRkJVU3hIUVVGSExFVkJRVVVzUTBGQlF6dEpRVVZ3UWl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUjBGQlJ5eEZRVUZGTEVkQlFVY3NSVUZCUlN4RlFVRkZPMUZCUTNaQ0xFMUJRVTBzUlVGQlJTeEhRVUZITEZkQlFWY3NRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVNMVFpeFJRVUZSTEVOQlFVTXNSVUZCUlN4RFFVRkRMRVZCUVVVc1EwRkJReXhIUVVGSExFZEJRVWNzUTBGQlF6dEpRVU40UWl4RFFVRkRMRU5CUVVNc1EwRkJRenRKUVVWSUxFOUJRVThzVVVGQlVTeERRVUZETzBGQlEyeENMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJSVWc3T3pzN08wZEJTMGM3UVVGRFNDeE5RVUZOTEVOQlFVTXNUVUZCVFN4VlFVRlZMRWRCUVVjc1EwRkJReXhGUVVGVkxFVkJRVVVzUjBGQlZ5eEZRVUZGTEVWQlFVVTdTVUZEY0VRc1NVRkJTU3hQUVVGUExFMUJRVTBzUzBGQlN5eFhRVUZYTEVWQlFVVTdVVUZEYWtNc1QwRkJUeXhQUVVGUExFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NTMEZCU3l4RFFVRkRMRFJEUVVFMFF5eERRVUZETEVOQlFVTXNRMEZCUXp0TFFVTm9SanRKUVVWRUxFbEJRVWtzUTBGQlF5eEZRVUZGTEVWQlFVVTdVVUZEVUN4TlFVRk5MRWxCUVVrc1MwRkJTeXhEUVVGRExIVkNRVUYxUWl4RFFVRkRMRU5CUVVFN1MwRkRla003U1VGRlJDeEZRVUZGTEVkQlFVa3NZVUZCWVN4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVONlFpeEpRVUZKTEdkQ1FVRm5RaXhIUVVGSExFOUJRVThzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVVnVReXhKUVVGSkxFTkJRVU1zWjBKQlFXZENMRVZCUVVVN1VVRkRja0lzVDBGQlR5eERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRVZCUVVVc1EwRkJRenRSUVVOcVFpeG5Ra0ZCWjBJc1IwRkJSeXhQUVVGUExFTkJRVU1zUlVGQlJTeERRVUZETEVOQlFVTTdTMEZEYUVNN1NVRkZSQ3hKUVVGSkxHZENRVUZuUWl4RFFVRkRMRkZCUVZFc1JVRkJSVHRSUVVNM1FpeFBRVUZQTEU5QlFVOHNRMEZCUXl4UFFVRlBMRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNN1MwRkRia1E3U1VGRlJDeEpRVUZKTEdkQ1FVRm5RaXhEUVVGRExFOUJRVThzUlVGQlJUdFJRVU0xUWl4UFFVRlBMR2RDUVVGblFpeERRVUZETEU5QlFVOHNRMEZCUXp0TFFVTnFRenRKUVVWRUxFOUJRVThzWjBKQlFXZENMRU5CUVVNc1QwRkJUeXhIUVVGSExFbEJRVWtzVDBGQlR5eERRVUZETEVOQlFVTXNUMEZCVHl4RlFVRkZMRTFCUVUwc1JVRkJSU3hGUVVGRk8xRkJRMmhGTEUxQlFVMHNaMEpCUVdkQ0xFZEJRVWNzUTBGQlF5eEhRVUZSTEVWQlFVVXNSVUZCUlR0WlFVTndReXhKUVVGSkxFZEJRVWNzUTBGQlF5eEpRVUZKTEV0QlFVc3NUVUZCVFN4SlFVRkpMRU5CUVVNc2NVSkJRWEZDTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExHRkJRV0VzU1VGQlNTeEhRVUZITEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU1zUlVGQlJUdG5Ra0ZEZWtjc1RVRkJUU3hKUVVGSkxFZEJRVWtzUjBGQlJ5eERRVUZETEdGQlFXRXNTVUZCU1N4SFFVRkhMRU5CUVVNc1ZVRkJWU3hEUVVGRE8yZENRVVZzUkN4alFVRmpMRU5CUVVNc1NVRkJTU3hGUVVGRkxHZENRVUZuUWl4RlFVRkZMRTFCUVUwc1EwRkJReXhEUVVGRE8yZENRVU12UXl4alFVRmpMRU5CUVVNc1NVRkJTU3hGUVVGRkxFMUJRVTBzUlVGQlJTeFBRVUZQTEVOQlFVTXNRMEZCUXp0blFrRkZkRU1zT0VaQlFUaEdPMmRDUVVNNVJpeFZRVUZWTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1QwRkJUeXhEUVVGRExFOUJRVThzUTBGQlF5eEZRVUZGTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1QwRkJUeXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1UwRkJVeXhEUVVGRExFVkJRVVVzUlVGQlJTeERRVUZETEVOQlFVTTdZVUZETDBVN1VVRkRTQ3hEUVVGRExFTkJRVUU3VVVGRlJDeE5RVUZOTEUxQlFVMHNSMEZCUnl4UlFVRlJMRU5CUVVNc1lVRkJZU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzFGQlJXaEVMRTFCUVUwc1EwRkJReXhGUVVGRkxFZEJRVWNzUlVGQlJTeERRVUZETzFGQlJXWXNkMEpCUVhkQ08xRkJRM2hDTEVsQlFVa3NUVUZCVFN4RFFVRkRMRmRCUVZjc1NVRkJTU3hEUVVGRExFTkJRVU1zVFVGQlRTeERRVUZETEZkQlFWY3NRMEZCUXl4UlFVRlJMRWxCUVVrc1RVRkJUU3hEUVVGRExGZEJRVmNzUTBGQlF5eFJRVUZSTEVWQlFVVXNRMEZCUXl4UFFVRlBMRU5CUVVNc1kwRkJZeXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETEVWQlFVVTdXVUZEY2tnc1lVRkJZVHRaUVVOaUxFMUJRVTBzUTBGQlF5eFhRVUZYTEVOQlFVTXNiMEpCUVc5Q0xFVkJRVVVzWjBKQlFXZENMRU5CUVVNc1EwRkJRenRUUVVNMVJEdGhRVUZOTzFsQlEwd3NUVUZCVFN4RFFVRkRMR2RDUVVGblFpeERRVUZETEUxQlFVMHNSVUZCUlN4blFrRkJaMElzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0WlFVTjZSQ3hOUVVGTkxFTkJRVU1zWjBKQlFXZENMRU5CUVVNc1UwRkJVeXhGUVVGRkxFMUJRVTBzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0VFFVTnVSRHRSUVVWRUxFMUJRVTBzUTBGQlF5eFpRVUZaTEVOQlFVTXNZVUZCWVN4RlFVRkZMRmRCUVZjc1EwRkJReXhEUVVGRE8xRkJRMmhFTEUxQlFVMHNRMEZCUXl4WlFVRlpMRU5CUVVNc1UwRkJVeXhGUVVGRkxFOUJRVThzUTBGQlF5eERRVUZETzFGQlEzaERMRTFCUVUwc1EwRkJReXhaUVVGWkxFTkJRVU1zVDBGQlR5eEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUlhKRExFMUJRVTBzUTBGQlF5eEhRVUZITEVkQlFVY3NSMEZCUnl4RFFVRkRPMUZCUldwQ0xGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8wbEJRM0JETEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTB3c1EwRkJReXhEUVVGRE8wRkJSVVk3T3pzN096dEhRVTFITzBGQlEwZ3NUVUZCVFN4RFFVRkRMRTFCUVUwc1kwRkJZeXhIUVVGSExFTkJRVU1zUlVGQlZTeEZRVUZGTEZGQlFXRXNSVUZCUlN4UlFVRmpMRVZCUVVVc1JVRkJSVHRKUVVNeFJTeHZRMEZCYjBNN1NVRkRjRU1zU1VGQlNTeFBRVUZQTEUxQlFVMHNTMEZCU3l4WFFVRlhMRVZCUVVVN1VVRkRha01zVDBGQlR6dExRVU5TTzBsQlJVUXNTVUZCU1N4RFFVRkRMRVZCUVVVc1JVRkJSVHRSUVVOUUxFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNkVUpCUVhWQ0xFTkJRVU1zUTBGQlFUdExRVU42UXp0SlFVVkVMRWxCUVVrc1EwRkJReXhQUVVGUExFVkJRVVU3VVVGRFdpeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMREpDUVVFeVFpeERRVUZETEVOQlFVRTdTMEZETjBNN1NVRkZSQ3hGUVVGRkxFZEJRVWNzWVVGQllTeEhRVUZITEVWQlFVVXNRMEZCUXp0SlFVVjRRaXhKUVVGSkxFOUJRVThzUTBGQlF5eEZRVUZGTEVOQlFVTXNSVUZCUlR0UlFVTm1MRTlCUVU4c1EwRkJReXhGUVVGRkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEZGQlFWRXNSVUZCUlN4UlFVRlJMRVZCUVVVc1EwRkJRVHRMUVVOeVF6dEJRVU5JTEVOQlFVTXNRMEZCUXp0QlFVVkdPenM3TzBkQlNVYzdRVUZEU0N4TlFVRk5MRU5CUVVNc1RVRkJUU3hQUVVGUExFZEJRVWNzUTBGQlF5eEhRVUZITEVWQlFVVXNSVUZCUlR0SlFVTTNRaXhOUVVGTkxHMUNRVUZ0UWl4SFFVRkhMRkZCUVZFc1EwRkJReXhoUVVGaExFTkJRVU1zWTBGQll5eEhRVUZITEVsQlFVa3NRMEZCUXl4RFFVRkRPMGxCUXpGRkxFbEJRVWtzYlVKQlFXMUNMRXRCUVVzc1NVRkJTU3hGUVVGRk8xRkJRMmhETEU5QlFVOHNUMEZCVHl4RFFVRkRMRTlCUVU4c1JVRkJSU3hEUVVGRE8wdEJRekZDTzBsQlJVUXNUMEZCVHl4SlFVRkpMRTlCUVU4c1EwRkJReXhEUVVGRExFOUJRVThzUlVGQlJTeEZRVUZGTzFGQlF6ZENMRTFCUVUwc1NVRkJTU3hIUVVGSExGRkJRVkVzUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXhOUVVGTkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXp0UlFVTjBSQ3hOUVVGTkxFbEJRVWtzUjBGQlJ5eFJRVUZSTEVOQlFVTXNZVUZCWVN4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJSVFZETEUxQlFVMHNUVUZCVFN4SFFVRkhMRWRCUVVjc1JVRkJSVHRaUVVOc1FpeFBRVUZQTEVWQlFVVXNRMEZCUXp0WlFVTldMRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1RVRkJUU3hEUVVGRExFTkJRVU03VVVGRE0wTXNRMEZCUXl4RFFVRkRPMUZCUlVZc1NVRkJTU3hEUVVGRExFZEJRVWNzUjBGQlJ5eFpRVUZaTEVOQlFVTTdVVUZEZUVJc1NVRkJTU3hEUVVGRExFbEJRVWtzUjBGQlJ5eEhRVUZITEVOQlFVTTdVVUZEYUVJc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRTFCUVUwc1JVRkJSU3hOUVVGTkxFTkJRVU1zUTBGQlF6dFJRVU4wUXl4SlFVRkpMRU5CUVVNc1YwRkJWeXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlEzcENMRU5CUVVNc1EwRkJReXhEUVVGRE8wRkJRMHdzUTBGQlF5eERRVUZETzBGQlJVWTdPMGRCUlVjN1FVRkRTQ3hOUVVGTkxFTkJRVTRzU1VGQldTeHBRa0ZKV0R0QlFVcEVMRmRCUVZrc2FVSkJRV2xDTzBsQlF6TkNMRzlFUVVFclFpeERRVUZCTzBsQlF5OUNMRzlFUVVFclFpeERRVUZCTzBsQlF5OUNMSE5EUVVGcFFpeERRVUZCTzBGQlEyNUNMRU5CUVVNc1JVRktWeXhwUWtGQmFVSXNTMEZCYWtJc2FVSkJRV2xDTEZGQlNUVkNPMEZCUVVFc1EwRkJReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1OdmJuTjBJRTFQUkZWTVJWOVFVa1ZHU1ZnZ1BTQW5abk10Ykc5aFpHVnlMU2M3WEc1amIyNXpkQ0JuYkc5aVlXeEliMnhrWlhJNklHRnVlU0E5SUh0OU8xeHVYRzVsZUhCdmNuUWdkSGx3WlNCTmIyUjFiR1ZFWldZZ1BTQjdYRzRnSUhCeWIyMXBjMlUvT2lCUWNtOXRhWE5sUEdGdWVUNWNiaUFnY21WemIyeDJaVkJ5YjIxcGMyVS9PaUJoYm5rN1hHNGdJR2x1YzNSaGJtTmxQem9nWVc1NU8xeHVJQ0J0WlhSaFpHRjBZVDg2SUdGdWVUdGNibjFjYmx4dVpYaHdiM0owSUhSNWNHVWdUbUZ0WlhOd1lXTmxJRDBnZTF4dUlDQWdJRzF2WkhWc1pYTTZJSHRjYmlBZ0lDQWdXMnRsZVRvZ2MzUnlhVzVuWFRvZ1RXOWtkV3hsUkdWbVhHNGdJQ0FnZlZ4dWZUdGNibHh1WTI5dWMzUWdhVzVwZEdsaGJHbDZaVWRzYjJKaGJFNWhiV1Z6Y0dGalpTQTlJQ2dwSUQwK0lIdGNiaUFnYkdWMElHaHZiR1JsY2pwaGJuazdYRzVjYmlBZ0x5OGdhV1lnZEdobGNtVWdhWE1nYm04Z2QybHVaRzkzSUc5aWFpQjFjMlVnYm05a1pXcHpJR2RzYjJKaGJDQnNhV0lnZG1GeWFXRmliR1ZjYmlBZ2FXWWdLSFI1Y0dWdlppQjNhVzVrYjNjZ1BUMDlJQ2QxYm1SbFptbHVaV1FuS1NCN1hHNGdJQ0FnYUc5c1pHVnlJRDBnWjJ4dlltRnNTRzlzWkdWeU8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHaHZiR1JsY2lBOUlIZHBibVJ2ZDF4dUlDQjlYRzVjYmlBZ0x5OGdRSFJ6TFdsbmJtOXlaVnh1SUNCc1pYUWdibUZ0WlhOd1lXTmxPaUJPWVcxbGMzQmhZMlVnUFNCb2IyeGtaWEl1Wm1sc1pYTjBZV05yU1c1MFpYSnVZV3h6TzF4dVhHNGdJR2xtSUNnaGJtRnRaWE53WVdObEtTQjdYRzRnSUNBZ2JtRnRaWE53WVdObElEMGdlMXh1SUNBZ0lDQWdiVzlrZFd4bGN6b2dlMzBzWEc0Z0lDQWdmVHRjYmx4dUlDQWdJR2h2YkdSbGNpNW1hV3hsYzNSaFkydEpiblJsY201aGJITWdQU0J1WVcxbGMzQmhZMlU3WEc0Z0lIMWNibHh1SUNCcFppQW9JVzVoYldWemNHRmpaUzV0YjJSMWJHVnpLU0I3WEc0Z0lDQWdibUZ0WlhOd1lXTmxMbTF2WkhWc1pYTWdQU0I3ZlR0Y2JpQWdmVnh1SUNCY2JpQWdjbVYwZFhKdUlHNWhiV1Z6Y0dGalpUdGNibjA3WEc1Y2JtTnZibk4wSUdacGJHVnpkR0ZqYTBsdWRHVnlibUZzY3lBOUlHbHVhWFJwWVd4cGVtVkhiRzlpWVd4T1lXMWxjM0JoWTJVb0tUdGNibU52Ym5OMElHMXZaSFZzWlhNZ1BTQm1hV3hsYzNSaFkydEpiblJsY201aGJITWdKaVlnWm1sc1pYTjBZV05yU1c1MFpYSnVZV3h6TG0xdlpIVnNaWE03WEc1Y2JpOHFLbHh1SUNvZ1VtVnRiM1psSUd4cGMzUmxibVZ5Y3lBb1luSnZkM05sY2lCamIyMXdZWFJwWW14bEtWeHVJQ29nWEc0Z0tpQkFjR0Z5WVcwZ2JtOWtaU0JjYmlBcUlFQndZWEpoYlNCbWRXNWpJRnh1SUNvZ1FIQmhjbUZ0SUc1aGJXVWdYRzRnS2k5Y2JtTnZibk4wSUhKbGJXOTJaVXhwYzNSbGJtVnlJRDBnS0c1dlpHVXNJR1oxYm1Nc0lHNWhiV1VzSUNrZ1BUNGdlMXh1SUNCcFppQW9ibTlrWlM1a1pYUmhZMmhGZG1WdWRDa2dlMXh1SUNBZ0lHNXZaR1V1WkdWMFlXTm9SWFpsYm5Rb0oyOXVjbVZoWkhsemRHRjBaV05vWVc1blpTY3NJR1oxYm1NcE8xeHVJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lHNXZaR1V1Y21WdGIzWmxSWFpsYm5STWFYTjBaVzVsY2lodVlXMWxMQ0JtZFc1akxDQm1ZV3h6WlNrN1hHNGdJSDFjYm4xY2JseHVMeW9xWEc0Z0tpQk1iMkZrSUcxMWJIUnBjR3hsSUcxdlpIVnNaWE5jYmlBcUlGeHVJQ29nUUhCaGNtRnRJSHNxZlNCdGIyUjFiR1Z6SUZ4dUlDb3ZYRzVsZUhCdmNuUWdZMjl1YzNRZ2JHOWhaRTF2WkhWc1pYTWdQU0FvYlc5a2RXeGxjMHhwYzNRcElEMCtJRkJ5YjIxcGMyVXVZV3hzS0cxdlpIVnNaWE5NYVhOMExtMWhjQ2dvZXlCcFpDd2dkWEpzSUgwcElEMCtJR3h2WVdSTmIyUjFiR1VvYVdRc0lIVnliQ2twS1M1MGFHVnVLQ2h5WlhNcElEMCtJSHRjYmlBZ1kyOXVjM1FnZEc5U1pYUjFjbTRnUFNCN2ZUdGNibHh1SUNCeVpYTXVabTl5UldGamFDZ29iVzlrTENCcFpIZ3BJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQmxiQ0E5SUcxdlpIVnNaWE5NYVhOMFcybGtlRjA3WEc0Z0lDQWdkRzlTWlhSMWNtNWJaV3d1YVdSZElEMGdiVzlrTzF4dUlDQjlLVHRjYmx4dUlDQnlaWFIxY200Z2RHOVNaWFIxY200N1hHNTlLVHRjYmx4dUx5b3FYRzRnS2lCTWIyRmtJSE5wYm1kc1pTQnRiMlIxYkdVZ1puSnZiU0IxY213Z2QybDBhQ0JuYVhabGJpQnBaRnh1SUNwY2JpQXFJRUJ3WVhKaGJTQjdLbjBnYVdRZ0xTQnRiMlIxYkdVZ2FXUWdYRzRnS2lCQWNHRnlZVzBnZXlwOUlIVnliRnh1SUNvdlhHNWxlSEJ2Y25RZ1kyOXVjM1FnYkc5aFpFMXZaSFZzWlNBOUlDaHBaRG9nYzNSeWFXNW5MQ0IxY213NklITjBjbWx1WnlrZ1BUNGdlMXh1SUNCcFppQW9kSGx3Wlc5bUlIZHBibVJ2ZHlBOVBUMGdKM1Z1WkdWbWFXNWxaQ2NwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdVSEp2YldselpTNXlaV3BsWTNRb2JtVjNJRVZ5Y205eUtDZE1iMkZrSUcxdlpIVnNaU0JwY3lCM2IzSnJhVzVuSUc5dWJIa2diMjRnWW5KdmQzTmxjaUJsYm5ZbktTazdYRzRnSUgxY2JseHVJQ0JwWmlBb0lXbGtLU0I3WEc0Z0lDQWdkR2h5YjNjZ2JtVjNJRVZ5Y205eUtDZE5iMlIxYkdVZ2FXUWdhWE1nY21WeGRXbHlaV1FuS1Z4dUlDQjlYRzVjYmlBZ2FXUWdQU0FnVFU5RVZVeEZYMUJTUlVaSldDQXJJR2xrTzF4dUlDQnNaWFFnYlc5a2RXeGxSR1ZtYVc1cGRHbHZiaUE5SUcxdlpIVnNaWE5iYVdSZE8xeHVYRzRnSUdsbUlDZ2hiVzlrZFd4bFJHVm1hVzVwZEdsdmJpa2dlMXh1SUNBZ0lHMXZaSFZzWlhOYmFXUmRJRDBnZTMwN1hHNGdJQ0FnYlc5a2RXeGxSR1ZtYVc1cGRHbHZiaUE5SUcxdlpIVnNaWE5iYVdSZE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0cxdlpIVnNaVVJsWm1sdWFYUnBiMjR1YVc1emRHRnVZMlVwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdVSEp2YldselpTNXlaWE52YkhabEtHMXZaSFZzWlVSbFptbHVhWFJwYjI0dWFXNXpkR0Z1WTJVcE8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0cxdlpIVnNaVVJsWm1sdWFYUnBiMjR1Y0hKdmJXbHpaU2tnZTF4dUlDQWdJSEpsZEhWeWJpQnRiMlIxYkdWRVpXWnBibWwwYVc5dUxuQnliMjFwYzJVN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JXOWtkV3hsUkdWbWFXNXBkR2x2Ymk1d2NtOXRhWE5sSUQwZ2JtVjNJRkJ5YjIxcGMyVW9LSEpsYzI5c2RtVXNJSEpsYW1WamRDa2dQVDRnZTF4dUlDQWdJR052Ym5OMElISmxZV1I1VTNSaGRHVkRhR0Z1WjJVZ1BTQW9aWFowT2lCaGJua3BJRDArSUh0Y2JpQWdJQ0FnSUdsbUlDaGxkblF1ZEhsd1pTQTlQVDBnSjJ4dllXUW5JSHg4SUNndlhpaGpiMjF3YkdWMFpYeHNiMkZrWldRcEpDOHVkR1Z6ZENnb1pYWjBMbU4xY25KbGJuUlVZWEpuWlhRZ2ZId2daWFowTG5OeVkwVnNaVzFsYm5RcExuSmxZV1I1VTNSaGRHVXBLU2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0J1YjJSbElEMGdJR1YyZEM1amRYSnlaVzUwVkdGeVoyVjBJSHg4SUdWMmRDNXpjbU5GYkdWdFpXNTBPMXh1WEc0Z0lDQWdJQ0FnSUhKbGJXOTJaVXhwYzNSbGJtVnlLRzV2WkdVc0lISmxZV1I1VTNSaGRHVkRhR0Z1WjJVc0lDZHNiMkZrSnlrN1hHNGdJQ0FnSUNBZ0lISmxiVzkyWlV4cGMzUmxibVZ5S0c1dlpHVXNJSEpsYW1WamRDd2dKMlZ5Y205eUp5azdYRzVjYmlBZ0lDQWdJQ0FnTHk4Z2MyeHZkeUJrYjNjZ1kyaGxZMnRwYm1jZ2FXWWdiVzlrZFd4bElHbHpJR3h2WVdSbFpDQjBieUJsYm5OMWNtVWdkR2hoZENCelkzSnBjSFFnZEdoaGRDQWdjbVZuYVhOMFpYSWdiVzlrZFd4bElHbHpJR05oYkd4bFpGeHVJQ0FnSUNBZ0lDQnpaWFJVYVcxbGIzVjBLQ2dwSUQwK0lISmxjMjlzZG1Vb2JXOWtkV3hsYzF0cFpGMGdQeUJ0YjJSMWJHVnpXMmxrWFM1cGJuTjBZVzVqWlNBNklIVnVaR1ZtYVc1bFpDa3NJREV3S1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnpZM0pwY0hRZ1BTQmtiMk4xYldWdWRDNWpjbVZoZEdWRmJHVnRaVzUwS0NkelkzSnBjSFFuS1R0Y2JpQWdJQ0JjYmlBZ0lDQnpZM0pwY0hRdWFXUWdQU0JwWkR0Y2JseHVJQ0FnSUM4dklFQjBjeTFwWjI1dmNtVWdabWw0SUdadmNpQkpSVnh1SUNBZ0lHbG1JQ2h6WTNKcGNIUXVZWFIwWVdOb1JYWmxiblFnSmlZZ0lTaHpZM0pwY0hRdVlYUjBZV05vUlhabGJuUXVkRzlUZEhKcGJtY2dKaVlnYzJOeWFYQjBMbUYwZEdGamFFVjJaVzUwTG5SdlUzUnlhVzVuS0NrdWFXNWtaWGhQWmlnblcyNWhkR2wyWlNCamIyUmxKeWtnUENBd0tTa2dlMXh1SUNBZ0lDQWdMeThnUUhSekxXbG5ibTl5WlZ4dUlDQWdJQ0FnYzJOeWFYQjBMbUYwZEdGamFFVjJaVzUwS0NkdmJuSmxZV1I1YzNSaGRHVmphR0Z1WjJVbkxDQnlaV0ZrZVZOMFlYUmxRMmhoYm1kbEtUdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYzJOeWFYQjBMbUZrWkVWMlpXNTBUR2x6ZEdWdVpYSW9KMnh2WVdRbkxDQnlaV0ZrZVZOMFlYUmxRMmhoYm1kbExDQm1ZV3h6WlNrN1hHNGdJQ0FnSUNCelkzSnBjSFF1WVdSa1JYWmxiblJNYVhOMFpXNWxjaWduYjI1bGNuSnZjaWNzSUhKbGFtVmpkQ3dnWm1Gc2MyVXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lITmpjbWx3ZEM1elpYUkJkSFJ5YVdKMWRHVW9KMk55YjNOemIzSnBaMmx1Snl3Z0oyRnViMjU1Ylc5MWN5Y3BPMXh1SUNBZ0lITmpjbWx3ZEM1elpYUkJkSFJ5YVdKMWRHVW9KMk5vWVhKelpYUW5MQ0FuZFhSbUxUZ25LVHRjYmlBZ0lDQnpZM0pwY0hRdWMyVjBRWFIwY21saWRYUmxLQ2RoYzNsdVl5Y3NJQ2QwY25WbEp5azdYRzVjYmlBZ0lDQnpZM0pwY0hRdWMzSmpJRDBnZFhKc08xeHVYRzRnSUNBZ1pHOWpkVzFsYm5RdVltOWtlUzVoY0hCbGJtUkRhR2xzWkNoelkzSnBjSFFwTzF4dUlDQjlLVHRjYm4wN1hHNWNiaThxS2x4dUlDb2dVbVZuYVhOMFpYSWdkR2hoZENCdGIyUjFiR1VnYVhNZ2NtVmhaSGxjYmlBcUlGeHVJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJR2xrSUZ4dUlDb2dRSEJoY21GdElIdGhibmw5SUdsdWMzUmhibU5sSUZ4dUlDb2dRSEJoY21GdElIdGhibmw5SUcxbGRHRmtZWFJoSUMwZ1lXUmthWFJwYjI1aGJDQnRiMlIxYkdVZ2JXVjBZV1JoZEdFZ2JHbHJaU0IyWlhKemFXOXVYRzRnS2k5Y2JtVjRjRzl5ZENCamIyNXpkQ0J5WldkcGMzUmxjazF2WkhWc1pTQTlJQ2hwWkRvZ2MzUnlhVzVuTENCcGJuTjBZVzVqWlRvZ1lXNTVMQ0J0WlhSaFpHRjBZVDg2SUdGdWVTa2dQVDRnZTF4dUlDQXZMeUJzYjJGa1pYSWdibTkwSUhkdmNtdHBibWNnYjI0Z2JtOWtaV3B6SUdWdWRuTmNiaUFnYVdZZ0tIUjVjR1Z2WmlCM2FXNWtiM2NnUFQwOUlDZDFibVJsWm1sdVpXUW5LU0I3WEc0Z0lDQWdjbVYwZFhKdU8xeHVJQ0I5WEc1Y2JpQWdhV1lnS0NGcFpDa2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblRXOWtkV3hsSUdsa0lHbHpJSEpsY1hWcGNtVmtKeWxjYmlBZ2ZWeHVYRzRnSUdsbUlDZ2hiVzlrZFd4bGN5a2dlMXh1SUNBZ0lIUm9jbTkzSUc1bGR5QkZjbkp2Y2lnblRHOWhaR1Z5SUdseklHNXZkQ0JwYm1sMGFXRnNhWHBsWkNjcFhHNGdJSDFjYmx4dUlDQnBaQ0E5SUUxUFJGVk1SVjlRVWtWR1NWZ2dLeUJwWkR0Y2JseHVJQ0JwWmlBb2JXOWtkV3hsYzF0cFpGMHBJSHRjYmlBZ0lDQnRiMlIxYkdWelcybGtYU0E5SUhzZ2FXNXpkR0Z1WTJVc0lHMWxkR0ZrWVhSaElIMWNiaUFnZlZ4dWZUdGNibHh1THlvcVhHNGdLaUJNYjJGa0lHVjRkR1Z5Ym1Gc0lHTnpjeUJtY205dElHZHBkbVZ1SUhWeWJGeHVJQ29nWEc0Z0tpQkFjR0Z5WVcwZ2V5cDlJSFZ5YkNCY2JpQXFMMXh1Wlhod2IzSjBJR052Ym5OMElHeHZZV1JEYzNNZ1BTQW9kWEpzS1NBOVBpQjdYRzRnSUdOdmJuTjBJR0ZzY21WaFpIbEJaR1JsWkZSb2FYTlVZV2NnUFNCa2IyTjFiV1Z1ZEM1eGRXVnllVk5sYkdWamRHOXlLR0JzYVc1clcyaHlaV1k5WENJa2UzVnliSDFjSWwxZ0tUdGNiaUFnYVdZZ0tHRnNjbVZoWkhsQlpHUmxaRlJvYVhOVVlXY2dJVDA5SUc1MWJHd3BJSHRjYmlBZ0lDQnlaWFIxY200Z1VISnZiV2x6WlM1eVpYTnZiSFpsS0NrN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2JtVjNJRkJ5YjIxcGMyVW9LSEpsYzI5c2RtVXBJRDArSUh0Y2JpQWdJQ0JqYjI1emRDQm9aV0ZrSUQwZ1pHOWpkVzFsYm5RdVoyVjBSV3hsYldWdWRITkNlVlJoWjA1aGJXVW9KMmhsWVdRbktWc3dYVHRjYmlBZ0lDQmpiMjV6ZENCc2FXNXJJRDBnWkc5amRXMWxiblF1WTNKbFlYUmxSV3hsYldWdWRDZ25iR2x1YXljcE8xeHVYRzRnSUNBZ1kyOXVjM1FnYkc5aFpHVmtJRDBnS0NrZ1BUNGdlMXh1SUNBZ0lDQWdjbVZ6YjJ4MlpTZ3BPMXh1SUNBZ0lDQWdiR2x1YXk1eVpXMXZkbVZGZG1WdWRFeHBjM1JsYm1WeUtDZHNiMkZrSnl3Z2JHOWhaR1ZrS1R0Y2JpQWdJQ0I5TzF4dVhHNGdJQ0FnYkdsdWF5NXlaV3dnUFNBbmMzUjViR1Z6YUdWbGRDYzdYRzRnSUNBZ2JHbHVheTVvY21WbUlEMGdkWEpzTzF4dUlDQWdJR3hwYm1zdVlXUmtSWFpsYm5STWFYTjBaVzVsY2lnbmJHOWhaQ2NzSUd4dllXUmxaQ2s3WEc0Z0lDQWdhR1ZoWkM1aGNIQmxibVJEYUdsc1pDaHNhVzVyS1R0Y2JpQWdmU2s3WEc1OU8xeHVYRzR2S2lwY2JpQXFJRVZ1ZFcwZ2FuVnpkQ0JtYjNJZ2RXNXBabmtnWm1sc1pYTjBZV05ySUcxdlpIVnNaU0J1WVcxbGMxeHVJQ292WEc1bGVIQnZjblFnWlc1MWJTQkdTVXhGVTFSQlEwdGZUVTlFVlV4RlV5QjdYRzRnSUVaSlRFVlRWRUZEUzE5VFJFc2dQU0FuWm1sc1pYTjBZV05yTFhOa2F5Y3NYRzRnSUZSU1FVNVRSazlTVFZOZlZVa2dQU0FuZEhKaGJuTm1iM0p0Y3kxMWFTY3NYRzRnSUZCSlEwdEZVaUE5SUNkd2FXTnJaWEluTEZ4dWZUdGNiaUpkZlE9PSJdLCJzb3VyY2VSb290IjoiIn0=

@@ -73,4 +73,4 @@ "use strict";

}
id = MODULE_PREFIX + id;
var moduleDefinition = modules[id];
id = MODULE_PREFIX + id;
if (!moduleDefinition) {

@@ -170,2 +170,2 @@ modules[id] = {};

;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFNLGFBQWEsR0FBRyxZQUFZLENBQUM7QUFDbkMsSUFBTSxZQUFZLEdBQVEsRUFBRSxDQUFDO0FBZTdCLElBQU0seUJBQXlCLEdBQUc7SUFDaEMsSUFBSSxNQUFVLENBQUM7SUFFZiwyREFBMkQ7SUFDM0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7UUFDakMsTUFBTSxHQUFHLFlBQVksQ0FBQztLQUN2QjtTQUFNO1FBQ0wsTUFBTSxHQUFHLE1BQU0sQ0FBQTtLQUNoQjtJQUVELGFBQWE7SUFDYixJQUFJLFNBQVMsR0FBYyxNQUFNLENBQUMsa0JBQWtCLENBQUM7SUFFckQsSUFBSSxDQUFDLFNBQVMsRUFBRTtRQUNkLFNBQVMsR0FBRztZQUNWLE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztRQUVGLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUM7S0FDdkM7SUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRTtRQUN0QixTQUFTLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztLQUN4QjtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLElBQU0sa0JBQWtCLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztBQUN2RCxJQUFNLE9BQU8sR0FBRyxrQkFBa0IsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7QUFFakU7Ozs7OztHQU1HO0FBQ0gsSUFBTSxjQUFjLEdBQUcsVUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUk7SUFDdEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDOUM7U0FBTTtRQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBQzdDO0FBQ0gsQ0FBQyxDQUFBO0FBRUQ7Ozs7R0FJRztBQUNVLFFBQUEsV0FBVyxHQUFHLFVBQUMsV0FBVyxJQUFLLE9BQUEsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQUMsRUFBVztRQUFULFVBQUUsRUFBRSxZQUFHO0lBQU8sT0FBQSxrQkFBVSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUM7QUFBbkIsQ0FBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsR0FBRztJQUN0SCxJQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFFcEIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxVQUFDLEdBQUcsRUFBRSxHQUFHO1FBQ25CLElBQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUN4QixDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMsQ0FBQyxFQVQwQyxDQVMxQyxDQUFDO0FBRUg7Ozs7O0dBS0c7QUFDVSxRQUFBLFVBQVUsR0FBRyxVQUFDLEVBQVUsRUFBRSxHQUFXO0lBQ2hELElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1FBQ2pDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDLENBQUM7S0FDaEY7SUFFRCxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ1AsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO0tBQ3pDO0lBRUQsSUFBSSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFbkMsRUFBRSxHQUFJLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFFekIsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1FBQ3JCLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDakIsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQ2hDO0lBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ25EO0lBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7UUFDNUIsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7S0FDakM7SUFFRCxPQUFPLGdCQUFnQixDQUFDLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1FBQzVELElBQU0sZ0JBQWdCLEdBQUcsVUFBQyxHQUFRO1lBQ2hDLElBQUksR0FBRyxDQUFDLElBQUksS0FBSyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFO2dCQUN6RyxJQUFNLElBQUksR0FBSSxHQUFHLENBQUMsYUFBYSxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUM7Z0JBRWxELGNBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQy9DLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUV0Qyw4RkFBOEY7Z0JBQzlGLFVBQVUsQ0FBQyxjQUFNLE9BQUEsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQXZELENBQXVELEVBQUUsRUFBRSxDQUFDLENBQUM7YUFDL0U7UUFDSCxDQUFDLENBQUE7UUFFRCxJQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWhELE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBRWYsd0JBQXdCO1FBQ3hCLElBQUksTUFBTSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDckgsYUFBYTtZQUNiLE1BQU0sQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztTQUM1RDthQUFNO1lBQ0wsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN6RCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNuRDtRQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXJDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBRWpCLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ1UsUUFBQSxjQUFjLEdBQUcsVUFBQyxFQUFVLEVBQUUsUUFBYSxFQUFFLFFBQWM7SUFDdEUsb0NBQW9DO0lBQ3BDLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1FBQ2pDLE9BQU87S0FDUjtJQUVELElBQUksQ0FBQyxFQUFFLEVBQUU7UUFDUCxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUE7S0FDekM7SUFFRCxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFBO0tBQzdDO0lBRUQsRUFBRSxHQUFHLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFFeEIsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7UUFDZixPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxRQUFRLFVBQUEsRUFBRSxRQUFRLFVBQUEsRUFBRSxDQUFBO0tBQ3JDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNVLFFBQUEsT0FBTyxHQUFHLFVBQUMsR0FBRztJQUN6QixJQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsaUJBQWMsR0FBRyxRQUFJLENBQUMsQ0FBQztJQUMxRSxJQUFJLG1CQUFtQixLQUFLLElBQUksRUFBRTtRQUNoQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUMxQjtJQUVELE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPO1FBQ3pCLElBQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RCxJQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVDLElBQU0sTUFBTSxHQUFHO1lBQ2IsT0FBTyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxHQUFHLEdBQUcsWUFBWSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsSUFBWSxpQkFJWDtBQUpELFdBQVksaUJBQWlCO0lBQzNCLG9EQUErQixDQUFBO0lBQy9CLG9EQUErQixDQUFBO0lBQy9CLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxpQkFBaUIsR0FBakIseUJBQWlCLEtBQWpCLHlCQUFpQixRQUk1QjtBQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBNT0RVTEVfUFJFRklYID0gJ2ZzLWxvYWRlci0nO1xuY29uc3QgZ2xvYmFsSG9sZGVyOiBhbnkgPSB7fTtcblxuZXhwb3J0IHR5cGUgTW9kdWxlRGVmID0ge1xuICBwcm9taXNlPzogUHJvbWlzZTxhbnk+XG4gIHJlc29sdmVQcm9taXNlPzogYW55O1xuICBpbnN0YW5jZT86IGFueTtcbiAgbWV0YWRhdGE/OiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIE5hbWVzcGFjZSA9IHtcbiAgICBtb2R1bGVzOiB7XG4gICAgIFtrZXk6IHN0cmluZ106IE1vZHVsZURlZlxuICAgIH1cbn07XG5cbmNvbnN0IGluaXRpYWxpemVHbG9iYWxOYW1lc3BhY2UgPSAoKSA9PiB7XG4gIGxldCBob2xkZXI6YW55O1xuXG4gIC8vIGlmIHRoZXJlIGlzIG5vIHdpbmRvdyBvYmogdXNlIG5vZGVqcyBnbG9iYWwgbGliIHZhcmlhYmxlXG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIGhvbGRlciA9IGdsb2JhbEhvbGRlcjtcbiAgfSBlbHNlIHtcbiAgICBob2xkZXIgPSB3aW5kb3dcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgbGV0IG5hbWVzcGFjZTogTmFtZXNwYWNlID0gaG9sZGVyLmZpbGVzdGFja0ludGVybmFscztcblxuICBpZiAoIW5hbWVzcGFjZSkge1xuICAgIG5hbWVzcGFjZSA9IHtcbiAgICAgIG1vZHVsZXM6IHt9LFxuICAgIH07XG5cbiAgICBob2xkZXIuZmlsZXN0YWNrSW50ZXJuYWxzID0gbmFtZXNwYWNlO1xuICB9XG5cbiAgaWYgKCFuYW1lc3BhY2UubW9kdWxlcykge1xuICAgIG5hbWVzcGFjZS5tb2R1bGVzID0ge307XG4gIH1cbiAgXG4gIHJldHVybiBuYW1lc3BhY2U7XG59O1xuXG5jb25zdCBmaWxlc3RhY2tJbnRlcm5hbHMgPSBpbml0aWFsaXplR2xvYmFsTmFtZXNwYWNlKCk7XG5jb25zdCBtb2R1bGVzID0gZmlsZXN0YWNrSW50ZXJuYWxzICYmIGZpbGVzdGFja0ludGVybmFscy5tb2R1bGVzO1xuXG4vKipcbiAqIFJlbW92ZSBsaXN0ZW5lcnMgKGJyb3dzZXIgY29tcGF0aWJsZSlcbiAqIFxuICogQHBhcmFtIG5vZGUgXG4gKiBAcGFyYW0gZnVuYyBcbiAqIEBwYXJhbSBuYW1lIFxuICovXG5jb25zdCByZW1vdmVMaXN0ZW5lciA9IChub2RlLCBmdW5jLCBuYW1lLCApID0+IHtcbiAgaWYgKG5vZGUuZGV0YWNoRXZlbnQpIHtcbiAgICBub2RlLmRldGFjaEV2ZW50KCdvbnJlYWR5c3RhdGVjaGFuZ2UnLCBmdW5jKTtcbiAgfSBlbHNlIHtcbiAgICBub2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIobmFtZSwgZnVuYywgZmFsc2UpO1xuICB9XG59XG5cbi8qKlxuICogTG9hZCBtdWx0aXBsZSBtb2R1bGVzXG4gKiBcbiAqIEBwYXJhbSB7Kn0gbW9kdWxlcyBcbiAqL1xuZXhwb3J0IGNvbnN0IGxvYWRNb2R1bGVzID0gKG1vZHVsZXNMaXN0KSA9PiBQcm9taXNlLmFsbChtb2R1bGVzTGlzdC5tYXAoKHsgaWQsIHVybCB9KSA9PiBsb2FkTW9kdWxlKGlkLCB1cmwpKSkudGhlbigocmVzKSA9PiB7XG4gIGNvbnN0IHRvUmV0dXJuID0ge307XG5cbiAgcmVzLmZvckVhY2goKG1vZCwgaWR4KSA9PiB7XG4gICAgY29uc3QgZWwgPSBtb2R1bGVzTGlzdFtpZHhdO1xuICAgIHRvUmV0dXJuW2VsLmlkXSA9IG1vZDtcbiAgfSk7XG5cbiAgcmV0dXJuIHRvUmV0dXJuO1xufSk7XG5cbi8qKlxuICogTG9hZCBzaW5nbGUgbW9kdWxlIGZyb20gdXJsIHdpdGggZ2l2ZW4gaWRcbiAqXG4gKiBAcGFyYW0geyp9IGlkIC0gbW9kdWxlIGlkIFxuICogQHBhcmFtIHsqfSB1cmxcbiAqL1xuZXhwb3J0IGNvbnN0IGxvYWRNb2R1bGUgPSAoaWQ6IHN0cmluZywgdXJsOiBzdHJpbmcpID0+IHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignTG9hZCBtb2R1bGUgaXMgd29ya2luZyBvbmx5IG9uIGJyb3dzZXIgZW52JykpO1xuICB9XG5cbiAgaWYgKCFpZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignTW9kdWxlIGlkIGlzIHJlcXVpcmVkJylcbiAgfVxuXG4gIGxldCBtb2R1bGVEZWZpbml0aW9uID0gbW9kdWxlc1tpZF07XG5cbiAgaWQgPSAgTU9EVUxFX1BSRUZJWCArIGlkO1xuXG4gIGlmICghbW9kdWxlRGVmaW5pdGlvbikge1xuICAgIG1vZHVsZXNbaWRdID0ge307XG4gICAgbW9kdWxlRGVmaW5pdGlvbiA9IG1vZHVsZXNbaWRdO1xuICB9XG5cbiAgaWYgKG1vZHVsZURlZmluaXRpb24uaW5zdGFuY2UpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG1vZHVsZURlZmluaXRpb24uaW5zdGFuY2UpO1xuICB9XG5cbiAgaWYgKG1vZHVsZURlZmluaXRpb24ucHJvbWlzZSkge1xuICAgIHJldHVybiBtb2R1bGVEZWZpbml0aW9uLnByb21pc2U7XG4gIH1cblxuICByZXR1cm4gbW9kdWxlRGVmaW5pdGlvbi5wcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHJlYWR5U3RhdGVDaGFuZ2UgPSAoZXZ0OiBhbnkpID0+IHtcbiAgICAgIGlmIChldnQudHlwZSA9PT0gJ2xvYWQnIHx8ICgvXihjb21wbGV0ZXxsb2FkZWQpJC8udGVzdCgoZXZ0LmN1cnJlbnRUYXJnZXQgfHwgZXZ0LnNyY0VsZW1lbnQpLnJlYWR5U3RhdGUpKSkge1xuICAgICAgICBjb25zdCBub2RlID0gIGV2dC5jdXJyZW50VGFyZ2V0IHx8IGV2dC5zcmNFbGVtZW50O1xuXG4gICAgICAgIHJlbW92ZUxpc3RlbmVyKG5vZGUsIHJlYWR5U3RhdGVDaGFuZ2UsICdsb2FkJyk7XG4gICAgICAgIHJlbW92ZUxpc3RlbmVyKG5vZGUsIHJlamVjdCwgJ2Vycm9yJyk7XG5cbiAgICAgICAgLy8gc2xvdyBkb3cgY2hlY2tpbmcgaWYgbW9kdWxlIGlzIGxvYWRlZCB0byBlbnN1cmUgdGhhdCBzY3JpcHQgdGhhdCAgcmVnaXN0ZXIgbW9kdWxlIGlzIGNhbGxlZFxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlc29sdmUobW9kdWxlc1tpZF0gPyBtb2R1bGVzW2lkXS5pbnN0YW5jZSA6IHVuZGVmaW5lZCksIDEwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICBcbiAgICBzY3JpcHQuaWQgPSBpZDtcblxuICAgIC8vIEB0cy1pZ25vcmUgZml4IGZvciBJRVxuICAgIGlmIChzY3JpcHQuYXR0YWNoRXZlbnQgJiYgIShzY3JpcHQuYXR0YWNoRXZlbnQudG9TdHJpbmcgJiYgc2NyaXB0LmF0dGFjaEV2ZW50LnRvU3RyaW5nKCkuaW5kZXhPZignW25hdGl2ZSBjb2RlJykgPCAwKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgc2NyaXB0LmF0dGFjaEV2ZW50KCdvbnJlYWR5c3RhdGVjaGFuZ2UnLCByZWFkeVN0YXRlQ2hhbmdlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZWFkeVN0YXRlQ2hhbmdlLCBmYWxzZSk7XG4gICAgICBzY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignb25lcnJvcicsIHJlamVjdCwgZmFsc2UpO1xuICAgIH1cblxuICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoJ2Nyb3Nzb3JpZ2luJywgJ2Fub255bW91cycpO1xuICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoJ2NoYXJzZXQnLCAndXRmLTgnKTtcbiAgICBzY3JpcHQuc2V0QXR0cmlidXRlKCdhc3luYycsICd0cnVlJyk7XG5cbiAgICBzY3JpcHQuc3JjID0gdXJsO1xuXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICB9KTtcbn07XG5cbi8qKlxuICogUmVnaXN0ZXIgdGhhdCBtb2R1bGUgaXMgcmVhZHlcbiAqIFxuICogQHBhcmFtIHtzdHJpbmd9IGlkIFxuICogQHBhcmFtIHthbnl9IGluc3RhbmNlIFxuICogQHBhcmFtIHthbnl9IG1ldGFkYXRhIC0gYWRkaXRpb25hbCBtb2R1bGUgbWV0YWRhdGEgbGlrZSB2ZXJzaW9uXG4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3Rlck1vZHVsZSA9IChpZDogc3RyaW5nLCBpbnN0YW5jZTogYW55LCBtZXRhZGF0YT86IGFueSkgPT4ge1xuICAvLyBsb2FkZXIgbm90IHdvcmtpbmcgb24gbm9kZWpzIGVudnNcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKCFpZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignTW9kdWxlIGlkIGlzIHJlcXVpcmVkJylcbiAgfVxuXG4gIGlmICghbW9kdWxlcykge1xuICAgIHRocm93IG5ldyBFcnJvcignTG9hZGVyIGlzIG5vdCBpbml0aWFsaXplZCcpXG4gIH1cblxuICBpZCA9IE1PRFVMRV9QUkVGSVggKyBpZDtcblxuICBpZiAobW9kdWxlc1tpZF0pIHtcbiAgICBtb2R1bGVzW2lkXSA9IHsgaW5zdGFuY2UsIG1ldGFkYXRhIH1cbiAgfVxufTtcblxuLyoqXG4gKiBMb2FkIGV4dGVybmFsIGNzcyBmcm9tIGdpdmVuIHVybFxuICogXG4gKiBAcGFyYW0geyp9IHVybCBcbiAqL1xuZXhwb3J0IGNvbnN0IGxvYWRDc3MgPSAodXJsKSA9PiB7XG4gIGNvbnN0IGFscmVhZHlBZGRlZFRoaXNUYWcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBsaW5rW2hyZWY9XCIke3VybH1cIl1gKTtcbiAgaWYgKGFscmVhZHlBZGRlZFRoaXNUYWcgIT09IG51bGwpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cblxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBoZWFkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuXG4gICAgY29uc3QgbG9hZGVkID0gKCkgPT4ge1xuICAgICAgcmVzb2x2ZSgpO1xuICAgICAgbGluay5yZW1vdmVFdmVudExpc3RlbmVyKCdsb2FkJywgbG9hZGVkKTtcbiAgICB9O1xuXG4gICAgbGluay5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgbGluay5ocmVmID0gdXJsO1xuICAgIGxpbmsuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGxvYWRlZCk7XG4gICAgaGVhZC5hcHBlbmRDaGlsZChsaW5rKTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIEVudW0ganVzdCBmb3IgdW5pZnkgZmlsZXN0YWNrIG1vZHVsZSBuYW1lc1xuICovXG5leHBvcnQgZW51bSBGSUxFU1RBQ0tfTU9EVUxFUyB7XG4gIEZJTEVTVEFDS19TREsgPSAnZmlsZXN0YWNrLXNkaycsXG4gIFRSQU5TRk9STVNfVUkgPSAndHJhbnNmb3Jtcy11aScsXG4gIFBJQ0tFUiA9ICdwaWNrZXInLFxufTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFNLGFBQWEsR0FBRyxZQUFZLENBQUM7QUFDbkMsSUFBTSxZQUFZLEdBQVEsRUFBRSxDQUFDO0FBZTdCLElBQU0seUJBQXlCLEdBQUc7SUFDaEMsSUFBSSxNQUFVLENBQUM7SUFFZiwyREFBMkQ7SUFDM0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7UUFDakMsTUFBTSxHQUFHLFlBQVksQ0FBQztLQUN2QjtTQUFNO1FBQ0wsTUFBTSxHQUFHLE1BQU0sQ0FBQTtLQUNoQjtJQUVELGFBQWE7SUFDYixJQUFJLFNBQVMsR0FBYyxNQUFNLENBQUMsa0JBQWtCLENBQUM7SUFFckQsSUFBSSxDQUFDLFNBQVMsRUFBRTtRQUNkLFNBQVMsR0FBRztZQUNWLE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztRQUVGLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUM7S0FDdkM7SUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRTtRQUN0QixTQUFTLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztLQUN4QjtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLElBQU0sa0JBQWtCLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztBQUN2RCxJQUFNLE9BQU8sR0FBRyxrQkFBa0IsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7QUFFakU7Ozs7OztHQU1HO0FBQ0gsSUFBTSxjQUFjLEdBQUcsVUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUk7SUFDdEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDOUM7U0FBTTtRQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxF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Qy9CLG9EQUErQixDQUFBO0lBQy9CLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxpQkFBaUIsR0FBakIseUJBQWlCLEtBQWpCLHlCQUFpQixRQUk1QjtBQUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBNT0RVTEVfUFJFRklYID0gJ2ZzLWxvYWRlci0nO1xuY29uc3QgZ2xvYmFsSG9sZGVyOiBhbnkgPSB7fTtcblxuZXhwb3J0IHR5cGUgTW9kdWxlRGVmID0ge1xuICBwcm9taXNlPzogUHJvbWlzZTxhbnk+XG4gIHJlc29sdmVQcm9taXNlPzogYW55O1xuICBpbnN0YW5jZT86IGFueTtcbiAgbWV0YWRhdGE/OiBhbnk7XG59XG5cbmV4cG9ydCB0eXBlIE5hbWVzcGFjZSA9IHtcbiAgICBtb2R1bGVzOiB7XG4gICAgIFtrZXk6IHN0cmluZ106IE1vZHVsZURlZlxuICAgIH1cbn07XG5cbmNvbnN0IGluaXRpYWxpemVHbG9iYWxOYW1lc3BhY2UgPSAoKSA9PiB7XG4gIGxldCBob2xkZXI6YW55O1xuXG4gIC8vIGlmIHRoZXJlIGlzIG5vIHdpbmRvdyBvYmogdXNlIG5vZGVqcyBnbG9iYWwgbGliIHZhcmlhYmxlXG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIGhvbGRlciA9IGdsb2JhbEhvbGRlcjtcbiAgfSBlbHNlIHtcbiAgICBob2xkZXIgPSB3aW5kb3dcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgbGV0IG5hbWVzcGFjZTogTmFtZXNwYWNlID0gaG9sZGVyLmZpbGVzdGFja0ludGVybmFscztcblxuICBpZiAoIW5hbWVzcGFjZSkge1xuICAgIG5hbWVzcGFjZSA9IHtcbiAgICAgIG1vZHVsZXM6IHt9LFxuICAgIH07XG5cbiAgICBob2xkZXIuZmlsZXN0YWNrSW50ZXJuYWxzID0gbmFtZXNwYWNlO1xuICB9XG5cbiAgaWYgKCFuYW1lc3BhY2UubW9kdWxlcykge1xuICAgIG5hbWVzcGFjZS5tb2R1bGVzID0ge307XG4gIH1cbiAgXG4gIHJldHVybiBuYW1lc3BhY2U7XG59O1xuXG5jb25zdCBmaWxlc3RhY2tJbnRlcm5hbHMgPSBpbml0aWFsaXplR2xvYmFsTmFtZXNwYWNlKCk7XG5jb25zdCBtb2R1bGVzID0gZmlsZXN0YWNrSW50ZXJuYWxzICYmIGZpbGVzdGFja0ludGVybmFscy5tb2R1bGVzO1xuXG4vKipcbiAqIFJlbW92ZSBsaXN0ZW5lcnMgKGJyb3dzZXIgY29tcGF0aWJsZSlcbiAqIFxuICogQHBhcmFtIG5vZGUgXG4gKiBAcGFyYW0gZnVuYyBcbiAqIEBwYXJhbSBuYW1lIFxuICovXG5jb25zdCByZW1vdmVMaXN0ZW5lciA9IChub2RlLCBmdW5jLCBuYW1lLCApID0+IHtcbiAgaWYgKG5vZGUuZGV0YWNoRXZlbnQpIHtcbiAgICBub2RlLmRldGFjaEV2ZW50KCdvbnJlYWR5c3RhdGVjaGFuZ2UnLCBmdW5jKTtcbiAgfSBlbHNlIHtcbiAgICBub2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIobmFtZSwgZnVuYywgZmFsc2UpO1xuICB9XG59XG5cbi8qKlxuICogTG9hZCBtdWx0aXBsZSBtb2R1bGVzXG4gKiBcbiAqIEBwYXJhbSB7Kn0gbW9kdWxlcyBcbiAqL1xuZXhwb3J0IGNvbnN0IGxvYWRNb2R1bGVzID0gKG1vZHVsZXNMaXN0KSA9PiBQcm9taXNlLmFsbChtb2R1bGVzTGlzdC5tYXAoKHsgaWQsIHVybCB9KSA9PiBsb2FkTW9kdWxlKGlkLCB1cmwpKSkudGhlbigocmVzKSA9PiB7XG4gIGNvbnN0IHRvUmV0dXJuID0ge307XG5cbiAgcmVzLmZvckVhY2goKG1vZCwgaWR4KSA9PiB7XG4gICAgY29uc3QgZWwgPSBtb2R1bGVzTGlzdFtpZHhdO1xuICAgIHRvUmV0dXJuW2VsLmlkXSA9IG1vZDtcbiAgfSk7XG5cbiAgcmV0dXJuIHRvUmV0dXJuO1xufSk7XG5cbi8qKlxuICogTG9hZCBzaW5nbGUgbW9kdWxlIGZyb20gdXJsIHdpdGggZ2l2ZW4gaWRcbiAqXG4gKiBAcGFyYW0geyp9IGlkIC0gbW9kdWxlIGlkIFxuICogQHBhcmFtIHsqfSB1cmxcbiAqL1xuZXhwb3J0IGNvbnN0IGxvYWRNb2R1bGUgPSAoaWQ6IHN0cmluZywgdXJsOiBzdHJpbmcpID0+IHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignTG9hZCBtb2R1bGUgaXMgd29ya2luZyBvbmx5IG9uIGJyb3dzZXIgZW52JykpO1xuICB9XG5cbiAgaWYgKCFpZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignTW9kdWxlIGlkIGlzIHJlcXVpcmVkJylcbiAgfVxuXG4gIGlkID0gIE1PRFVMRV9QUkVGSVggKyBpZDtcbiAgbGV0IG1vZHVsZURlZmluaXRpb24gPSBtb2R1bGVzW2lkXTtcblxuICBpZiAoIW1vZHVsZURlZmluaXRpb24pIHtcbiAgICBtb2R1bGVzW2lkXSA9IHt9O1xuICAgIG1vZHVsZURlZmluaXRpb24gPSBtb2R1bGVzW2lkXTtcbiAgfVxuXG4gIGlmIChtb2R1bGVEZWZpbml0aW9uLmluc3RhbmNlKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShtb2R1bGVEZWZpbml0aW9uLmluc3RhbmNlKTtcbiAgfVxuXG4gIGlmIChtb2R1bGVEZWZpbml0aW9uLnByb21pc2UpIHtcbiAgICByZXR1cm4gbW9kdWxlRGVmaW5pdGlvbi5wcm9taXNlO1xuICB9XG5cbiAgcmV0dXJuIG1vZHVsZURlZmluaXRpb24ucHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCByZWFkeVN0YXRlQ2hhbmdlID0gKGV2dDogYW55KSA9PiB7XG4gICAgICBpZiAoZXZ0LnR5cGUgPT09ICdsb2FkJyB8fCAoL14oY29tcGxldGV8bG9hZGVkKSQvLnRlc3QoKGV2dC5jdXJyZW50VGFyZ2V0IHx8IGV2dC5zcmNFbGVtZW50KS5yZWFkeVN0YXRlKSkpIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9ICBldnQuY3VycmVudFRhcmdldCB8fCBldnQuc3JjRWxlbWVudDtcblxuICAgICAgICByZW1vdmVMaXN0ZW5lcihub2RlLCByZWFkeVN0YXRlQ2hhbmdlLCAnbG9hZCcpO1xuICAgICAgICByZW1vdmVMaXN0ZW5lcihub2RlLCByZWplY3QsICdlcnJvcicpO1xuXG4gICAgICAgIC8vIHNsb3cgZG93IGNoZWNraW5nIGlmIG1vZHVsZSBpcyBsb2FkZWQgdG8gZW5zdXJlIHRoYXQgc2NyaXB0IHRoYXQgIHJlZ2lzdGVyIG1vZHVsZSBpcyBjYWxsZWRcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKG1vZHVsZXNbaWRdID8gbW9kdWxlc1tpZF0uaW5zdGFuY2UgOiB1bmRlZmluZWQpLCAxMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgXG4gICAgc2NyaXB0LmlkID0gaWQ7XG5cbiAgICAvLyBAdHMtaWdub3JlIGZpeCBmb3IgSUVcbiAgICBpZiAoc2NyaXB0LmF0dGFjaEV2ZW50ICYmICEoc2NyaXB0LmF0dGFjaEV2ZW50LnRvU3RyaW5nICYmIHNjcmlwdC5hdHRhY2hFdmVudC50b1N0cmluZygpLmluZGV4T2YoJ1tuYXRpdmUgY29kZScpIDwgMCkpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNjcmlwdC5hdHRhY2hFdmVudCgnb25yZWFkeXN0YXRlY2hhbmdlJywgcmVhZHlTdGF0ZUNoYW5nZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNjcmlwdC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVhZHlTdGF0ZUNoYW5nZSwgZmFsc2UpO1xuICAgICAgc2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ29uZXJyb3InLCByZWplY3QsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBzY3JpcHQuc2V0QXR0cmlidXRlKCdjcm9zc29yaWdpbicsICdhbm9ueW1vdXMnKTtcbiAgICBzY3JpcHQuc2V0QXR0cmlidXRlKCdjaGFyc2V0JywgJ3V0Zi04Jyk7XG4gICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgnYXN5bmMnLCAndHJ1ZScpO1xuXG4gICAgc2NyaXB0LnNyYyA9IHVybDtcblxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIFJlZ2lzdGVyIHRoYXQgbW9kdWxlIGlzIHJlYWR5XG4gKiBcbiAqIEBwYXJhbSB7c3RyaW5nfSBpZCBcbiAqIEBwYXJhbSB7YW55fSBpbnN0YW5jZSBcbiAqIEBwYXJhbSB7YW55fSBtZXRhZGF0YSAtIGFkZGl0aW9uYWwgbW9kdWxlIG1ldGFkYXRhIGxpa2UgdmVyc2lvblxuICovXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJNb2R1bGUgPSAoaWQ6IHN0cmluZywgaW5zdGFuY2U6IGFueSwgbWV0YWRhdGE/OiBhbnkpID0+IHtcbiAgLy8gbG9hZGVyIG5vdCB3b3JraW5nIG9uIG5vZGVqcyBlbnZzXG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghaWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01vZHVsZSBpZCBpcyByZXF1aXJlZCcpXG4gIH1cblxuICBpZiAoIW1vZHVsZXMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0xvYWRlciBpcyBub3QgaW5pdGlhbGl6ZWQnKVxuICB9XG5cbiAgaWQgPSBNT0RVTEVfUFJFRklYICsgaWQ7XG5cbiAgaWYgKG1vZHVsZXNbaWRdKSB7XG4gICAgbW9kdWxlc1tpZF0gPSB7IGluc3RhbmNlLCBtZXRhZGF0YSB9XG4gIH1cbn07XG5cbi8qKlxuICogTG9hZCBleHRlcm5hbCBjc3MgZnJvbSBnaXZlbiB1cmxcbiAqIFxuICogQHBhcmFtIHsqfSB1cmwgXG4gKi9cbmV4cG9ydCBjb25zdCBsb2FkQ3NzID0gKHVybCkgPT4ge1xuICBjb25zdCBhbHJlYWR5QWRkZWRUaGlzVGFnID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbGlua1tocmVmPVwiJHt1cmx9XCJdYCk7XG4gIGlmIChhbHJlYWR5QWRkZWRUaGlzVGFnICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcblxuICAgIGNvbnN0IGxvYWRlZCA9ICgpID0+IHtcbiAgICAgIHJlc29sdmUoKTtcbiAgICAgIGxpbmsucmVtb3ZlRXZlbnRMaXN0ZW5lcignbG9hZCcsIGxvYWRlZCk7XG4gICAgfTtcblxuICAgIGxpbmsucmVsID0gJ3N0eWxlc2hlZXQnO1xuICAgIGxpbmsuaHJlZiA9IHVybDtcbiAgICBsaW5rLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBsb2FkZWQpO1xuICAgIGhlYWQuYXBwZW5kQ2hpbGQobGluayk7XG4gIH0pO1xufTtcblxuLyoqXG4gKiBFbnVtIGp1c3QgZm9yIHVuaWZ5IGZpbGVzdGFjayBtb2R1bGUgbmFtZXNcbiAqL1xuZXhwb3J0IGVudW0gRklMRVNUQUNLX01PRFVMRVMge1xuICBGSUxFU1RBQ0tfU0RLID0gJ2ZpbGVzdGFjay1zZGsnLFxuICBUUkFOU0ZPUk1TX1VJID0gJ3RyYW5zZm9ybXMtdWknLFxuICBQSUNLRVIgPSAncGlja2VyJyxcbn07XG4iXX0=

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.FilestackLoader=t():e.FilestackLoader=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t),n.d(t,"loadModules",(function(){return u})),n.d(t,"loadModule",(function(){return a})),n.d(t,"registerModule",(function(){return s})),n.d(t,"loadCss",(function(){return c})),n.d(t,"FILESTACK_MODULES",(function(){return l}));const r={},o=(()=>{let e;e="undefined"==typeof window?r:window;let t=e.filestackInternals;return t||(t={modules:{}},e.filestackInternals=t),t.modules||(t.modules={}),t})(),i=o&&o.modules,d=(e,t,n)=>{e.detachEvent?e.detachEvent("onreadystatechange",t):e.removeEventListener(n,t,!1)},u=e=>Promise.all(e.map(({id:e,url:t})=>a(e,t))).then(t=>{const n={};return t.forEach((t,r)=>{const o=e[r];n[o.id]=t}),n}),a=(e,t)=>{if("undefined"==typeof window)return Promise.reject(new Error("Load module is working only on browser env"));if(!e)throw new Error("Module id is required");let n=i[e];return e="fs-loader-"+e,n||(i[e]={},n=i[e]),n.instance?Promise.resolve(n.instance):n.promise?n.promise:n.promise=new Promise((n,r)=>{const o=t=>{if("load"===t.type||/^(complete|loaded)$/.test((t.currentTarget||t.srcElement).readyState)){const u=t.currentTarget||t.srcElement;d(u,o,"load"),d(u,r,"error"),setTimeout(()=>n(i[e]?i[e].instance:void 0),10)}},u=document.createElement("script");u.id=e,!u.attachEvent||u.attachEvent.toString&&u.attachEvent.toString().indexOf("[native code")<0?(u.addEventListener("load",o,!1),u.addEventListener("onerror",r,!1)):u.attachEvent("onreadystatechange",o),u.setAttribute("crossorigin","anonymous"),u.setAttribute("charset","utf-8"),u.setAttribute("async","true"),u.src=t,document.body.appendChild(u)})},s=(e,t,n)=>{if("undefined"!=typeof window){if(!e)throw new Error("Module id is required");if(!i)throw new Error("Loader is not initialized");i[e="fs-loader-"+e]&&(i[e]={instance:t,metadata:n})}},c=e=>null!==document.querySelector(`link[href="${e}"]`)?Promise.resolve():new Promise(t=>{const n=document.getElementsByTagName("head")[0],r=document.createElement("link"),o=()=>{t(),r.removeEventListener("load",o)};r.rel="stylesheet",r.href=e,r.addEventListener("load",o),n.appendChild(r)});var l;!function(e){e.FILESTACK_SDK="filestack-sdk",e.TRANSFORMS_UI="transforms-ui",e.PICKER="picker"}(l||(l={}))}])}));
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9GaWxlc3RhY2tMb2FkZXIvd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovL0ZpbGVzdGFja0xvYWRlci93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9GaWxlc3RhY2tMb2FkZXIvLi9kaXN0L21vZHVsZS9pbmRleC5qcyJdLCJuYW1lcyI6WyJyb290IiwiZmFjdG9yeSIsImV4cG9ydHMiLCJtb2R1bGUiLCJkZWZpbmUiLCJhbWQiLCJ3aW5kb3ciLCJpbnN0YWxsZWRNb2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiaSIsImwiLCJtb2R1bGVzIiwiY2FsbCIsIm0iLCJjIiwiZCIsIm5hbWUiLCJnZXR0ZXIiLCJvIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiciIsIlN5bWJvbCIsInRvU3RyaW5nVGFnIiwidmFsdWUiLCJ0IiwibW9kZSIsIl9fZXNNb2R1bGUiLCJucyIsImNyZWF0ZSIsImtleSIsImJpbmQiLCJuIiwib2JqZWN0IiwicHJvcGVydHkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsInAiLCJzIiwiZ2xvYmFsSG9sZGVyIiwiZmlsZXN0YWNrSW50ZXJuYWxzIiwiaG9sZGVyIiwibmFtZXNwYWNlIiwiaW5pdGlhbGl6ZUdsb2JhbE5hbWVzcGFjZSIsInJlbW92ZUxpc3RlbmVyIiwibm9kZSIsImZ1bmMiLCJkZXRhY2hFdmVudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2FkTW9kdWxlcyIsIm1vZHVsZXNMaXN0IiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImlkIiwidXJsIiwibG9hZE1vZHVsZSIsInRoZW4iLCJyZXMiLCJ0b1JldHVybiIsImZvckVhY2giLCJtb2QiLCJpZHgiLCJlbCIsInJlamVjdCIsIkVycm9yIiwibW9kdWxlRGVmaW5pdGlvbiIsImluc3RhbmNlIiwicmVzb2x2ZSIsInByb21pc2UiLCJyZWFkeVN0YXRlQ2hhbmdlIiwiZXZ0IiwidHlwZSIsInRlc3QiLCJjdXJyZW50VGFyZ2V0Iiwic3JjRWxlbWVudCIsInJlYWR5U3RhdGUiLCJzZXRUaW1lb3V0IiwidW5kZWZpbmVkIiwic2NyaXB0IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiYXR0YWNoRXZlbnQiLCJ0b1N0cmluZyIsImluZGV4T2YiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0QXR0cmlidXRlIiwic3JjIiwiYm9keSIsImFwcGVuZENoaWxkIiwicmVnaXN0ZXJNb2R1bGUiLCJtZXRhZGF0YSIsImxvYWRDc3MiLCJxdWVyeVNlbGVjdG9yIiwiaGVhZCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwibGluayIsImxvYWRlZCIsInJlbCIsImhyZWYiLCJGSUxFU1RBQ0tfTU9EVUxFUyJdLCJtYXBwaW5ncyI6IkNBQUEsU0FBMkNBLEVBQU1DLEdBQzFCLGlCQUFaQyxTQUEwQyxpQkFBWEMsT0FDeENBLE9BQU9ELFFBQVVELElBQ1EsbUJBQVhHLFFBQXlCQSxPQUFPQyxJQUM5Q0QsT0FBTyxHQUFJSCxHQUNlLGlCQUFaQyxRQUNkQSxRQUF5QixnQkFBSUQsSUFFN0JELEVBQXNCLGdCQUFJQyxJQVI1QixDQVNHSyxRQUFRLFdBQ1gsTyxZQ1RFLElBQUlDLEVBQW1CLEdBR3ZCLFNBQVNDLEVBQW9CQyxHQUc1QixHQUFHRixFQUFpQkUsR0FDbkIsT0FBT0YsRUFBaUJFLEdBQVVQLFFBR25DLElBQUlDLEVBQVNJLEVBQWlCRSxHQUFZLENBQ3pDQyxFQUFHRCxFQUNIRSxHQUFHLEVBQ0hULFFBQVMsSUFVVixPQU5BVSxFQUFRSCxHQUFVSSxLQUFLVixFQUFPRCxRQUFTQyxFQUFRQSxFQUFPRCxRQUFTTSxHQUcvREwsRUFBT1EsR0FBSSxFQUdKUixFQUFPRCxRQTBEZixPQXJEQU0sRUFBb0JNLEVBQUlGLEVBR3hCSixFQUFvQk8sRUFBSVIsRUFHeEJDLEVBQW9CUSxFQUFJLFNBQVNkLEVBQVNlLEVBQU1DLEdBQzNDVixFQUFvQlcsRUFBRWpC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S0FBTzVDLEVBQ1p5QyxFQUFLWCxpQkFBaUIsT0FBUVksR0FDOUJILEVBQUtMLFlBQVlPLEtBTWxCLElBQUlJLEdBQ1gsU0FBV0EsR0FDUEEsRUFBaUMsY0FBSSxnQkFDckNBLEVBQWlDLGNBQUksZ0JBQ3JDQSxFQUEwQixPQUFJLFNBSGxDLENBSUdBLElBQXNCQSxFQUFvQiIsImZpbGUiOiJpbmRleC51bWQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJGaWxlc3RhY2tMb2FkZXJcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiRmlsZXN0YWNrTG9hZGVyXCJdID0gZmFjdG9yeSgpO1xufSkod2luZG93LCBmdW5jdGlvbigpIHtcbnJldHVybiAiLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG4iLCJjb25zdCBNT0RVTEVfUFJFRklYID0gJ2ZzLWxvYWRlci0nO1xuY29uc3QgZ2xvYmFsSG9sZGVyID0ge307XG5jb25zdCBpbml0aWFsaXplR2xvYmFsTmFtZXNwYWNlID0gKCkgPT4ge1xuICAgIGxldCBob2xkZXI7XG4gICAgLy8gaWYgdGhlcmUgaXMgbm8gd2luZG93IG9iaiB1c2Ugbm9kZWpzIGdsb2JhbCBsaWIgdmFyaWFibGVcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgaG9sZGVyID0gZ2xvYmFsSG9sZGVyO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgaG9sZGVyID0gd2luZG93O1xuICAgIH1cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgbGV0IG5hbWVzcGFjZSA9IGhvbGRlci5maWxlc3RhY2tJbnRlcm5hbHM7XG4gICAgaWYgKCFuYW1lc3BhY2UpIHtcbiAgICAgICAgbmFtZXNwYWNlID0ge1xuICAgICAgICAgICAgbW9kdWxlczoge30sXG4gICAgICAgIH07XG4gICAgICAgIGhvbGRlci5maWxlc3RhY2tJbnRlcm5hbHMgPSBuYW1lc3BhY2U7XG4gICAgfVxuICAgIGlmICghbmFtZXNwYWNlLm1vZHVsZXMpIHtcbiAgICAgICAgbmFtZXNwYWNlLm1vZHVsZXMgPSB7fTtcbiAgICB9XG4gICAgcmV0dXJuIG5hbWVzcGFjZTtcbn07XG5jb25zdCBmaWxlc3RhY2tJbnRlcm5hbHMgPSBpbml0aWFsaXplR2xvYmFsTmFtZXNwYWNlKCk7XG5jb25zdCBtb2R1bGVzID0gZmlsZXN0YWNrSW50ZXJuYWxzICYmIGZpbGVzdGFja0ludGVybmFscy5tb2R1bGVzO1xuLyoqXG4gKiBSZW1vdmUgbGlzdGVuZXJzIChicm93c2VyIGNvbXBhdGlibGUpXG4gKlxuICogQHBhcmFtIG5vZGVcbiAqIEBwYXJhbSBmdW5jXG4gKiBAcGFyYW0gbmFtZVxuICovXG5jb25zdCByZW1vdmVMaXN0ZW5lciA9IChub2RlLCBmdW5jLCBuYW1lKSA9PiB7XG4gICAgaWYgKG5vZGUuZGV0YWNoRXZlbnQpIHtcbiAgICAgICAgbm9kZS5kZXRhY2hFdmVudCgnb25yZWFkeXN0YXRlY2hhbmdlJywgZnVuYyk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBub2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIobmFtZSwgZnVuYywgZmFsc2UpO1xuICAgIH1cbn07XG4vKipcbiAqIExvYWQgbXVsdGlwbGUgbW9kdWxlc1xuICpcbiAqIEBwYXJhbSB7Kn0gbW9kdWxlc1xuICovXG5leHBvcnQgY29uc3QgbG9hZE1vZHVsZXMgPSAobW9kdWxlc0xpc3QpID0+IFByb21pc2UuYWxsKG1vZHVsZXNMaXN0Lm1hcCgoeyBpZCwgdXJsIH0pID0+IGxvYWRNb2R1bGUoaWQsIHVybCkpKS50aGVuKChyZXMpID0+IHtcbiAgICBjb25zdCB0b1JldHVybiA9IHt9O1xuICAgIHJlcy5mb3JFYWNoKChtb2QsIGlkeCkgPT4ge1xuICAgICAgICBjb25zdCBlbCA9IG1vZHVsZXNMaXN0W2lkeF07XG4gICAgICAgIHRvUmV0dXJuW2VsLmlkXSA9IG1vZDtcbiAgICB9KTtcbiAgICByZXR1cm4gdG9SZXR1cm47XG59KTtcbi8qKlxuICogTG9hZCBzaW5nbGUgbW9kdWxlIGZyb20gdXJsIHdpdGggZ2l2ZW4gaWRcbiAqXG4gKiBAcGFyYW0geyp9IGlkIC0gbW9kdWxlIGlkXG4gKiBAcGFyYW0geyp9IHVybFxuICovXG5leHBvcnQgY29uc3QgbG9hZE1vZHVsZSA9IChpZCwgdXJsKSA9PiB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ0xvYWQgbW9kdWxlIGlzIHdvcmtpbmcgb25seSBvbiBicm93c2VyIGVudicpKTtcbiAgICB9XG4gICAgaWYgKCFpZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01vZHVsZSBpZCBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICBsZXQgbW9kdWxlRGVmaW5pdGlvbiA9IG1vZHVsZXNbaWRdO1xuICAgIGlkID0gTU9EVUxFX1BSRUZJWCArIGlkO1xuICAgIGlmICghbW9kdWxlRGVmaW5pdGlvbikge1xuICAgICAgICBtb2R1bGVzW2lkXSA9IHt9O1xuICAgICAgICBtb2R1bGVEZWZpbml0aW9uID0gbW9kdWxlc1tpZF07XG4gICAgfVxuICAgIGlmIChtb2R1bGVEZWZpbml0aW9uLmluc3RhbmNlKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobW9kdWxlRGVmaW5pdGlvbi5pbnN0YW5jZSk7XG4gICAgfVxuICAgIGlmIChtb2R1bGVEZWZpbml0aW9uLnByb21pc2UpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZURlZmluaXRpb24ucHJvbWlzZTtcbiAgICB9XG4gICAgcmV0dXJuIG1vZHVsZURlZmluaXRpb24ucHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcmVhZHlTdGF0ZUNoYW5nZSA9IChldnQpID0+IHtcbiAgICAgICAgICAgIGlmIChldnQudHlwZSA9PT0gJ2xvYWQnIHx8ICgvXihjb21wbGV0ZXxsb2FkZWQpJC8udGVzdCgoZXZ0LmN1cnJlbnRUYXJnZXQgfHwgZXZ0LnNyY0VsZW1lbnQpLnJlYWR5U3RhdGUpKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBldnQuY3VycmVudFRhcmdldCB8fCBldnQuc3JjRWxlbWVudDtcbiAgICAgICAgICAgICAgICByZW1vdmVMaXN0ZW5lcihub2RlLCByZWFkeVN0YXRlQ2hhbmdlLCAnbG9hZCcpO1xuICAgICAgICAgICAgICAgIHJlbW92ZUxpc3RlbmVyKG5vZGUsIHJlamVjdCwgJ2Vycm9yJyk7XG4gICAgICAgICAgICAgICAgLy8gc2xvdyBkb3cgY2hlY2tpbmcgaWYgbW9kdWxlIGlzIGxvYWRlZCB0byBlbnN1cmUgdGhhdCBzY3JpcHQgdGhhdCAgcmVnaXN0ZXIgbW9kdWxlIGlzIGNhbGxlZFxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZShtb2R1bGVzW2lkXSA/IG1vZHVsZXNbaWRdLmluc3RhbmNlIDogdW5kZWZpbmVkKSwgMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgc2NyaXB0LmlkID0gaWQ7XG4gICAgICAgIC8vIEB0cy1pZ25vcmUgZml4IGZvciBJRVxuICAgICAgICBpZiAoc2NyaXB0LmF0dGFjaEV2ZW50ICYmICEoc2NyaXB0LmF0dGFjaEV2ZW50LnRvU3RyaW5nICYmIHNjcmlwdC5hdHRhY2hFdmVudC50b1N0cmluZygpLmluZGV4T2YoJ1tuYXRpdmUgY29kZScpIDwgMCkpIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHNjcmlwdC5hdHRhY2hFdmVudCgnb25yZWFkeXN0YXRlY2hhbmdlJywgcmVhZHlTdGF0ZUNoYW5nZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlYWR5U3RhdGVDaGFuZ2UsIGZhbHNlKTtcbiAgICAgICAgICAgIHNjcmlwdC5hZGRFdmVudExpc3RlbmVyKCdvbmVycm9yJywgcmVqZWN0LCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgnY3Jvc3NvcmlnaW4nLCAnYW5vbnltb3VzJyk7XG4gICAgICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoJ2NoYXJzZXQnLCAndXRmLTgnKTtcbiAgICAgICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgnYXN5bmMnLCAndHJ1ZScpO1xuICAgICAgICBzY3JpcHQuc3JjID0gdXJsO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgfSk7XG59O1xuLyoqXG4gKiBSZWdpc3RlciB0aGF0IG1vZHVsZSBpcyByZWFkeVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBpZFxuICogQHBhcmFtIHthbnl9IGluc3RhbmNlXG4gKiBAcGFyYW0ge2FueX0gbWV0YWRhdGEgLSBhZGRpdGlvbmFsIG1vZHVsZSBtZXRhZGF0YSBsaWtlIHZlcnNpb25cbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyTW9kdWxlID0gKGlkLCBpbnN0YW5jZSwgbWV0YWRhdGEpID0+IHtcbiAgICAvLyBsb2FkZXIgbm90IHdvcmtpbmcgb24gbm9kZWpzIGVudnNcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWlkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTW9kdWxlIGlkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICghbW9kdWxlcykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0xvYWRlciBpcyBub3QgaW5pdGlhbGl6ZWQnKTtcbiAgICB9XG4gICAgaWQgPSBNT0RVTEVfUFJFRklYICsgaWQ7XG4gICAgaWYgKG1vZHVsZXNbaWRdKSB7XG4gICAgICAgIG1vZHVsZXNbaWRdID0geyBpbnN0YW5jZSwgbWV0YWRhdGEgfTtcbiAgICB9XG59O1xuLyoqXG4gKiBMb2FkIGV4dGVybmFsIGNzcyBmcm9tIGdpdmVuIHVybFxuICpcbiAqIEBwYXJhbSB7Kn0gdXJsXG4gKi9cbmV4cG9ydCBjb25zdCBsb2FkQ3NzID0gKHVybCkgPT4ge1xuICAgIGNvbnN0IGFscmVhZHlBZGRlZFRoaXNUYWcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBsaW5rW2hyZWY9XCIke3VybH1cIl1gKTtcbiAgICBpZiAoYWxyZWFkeUFkZGVkVGhpc1RhZyAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICBjb25zdCBoZWFkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcbiAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgY29uc3QgbG9hZGVkID0gKCkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgbGluay5yZW1vdmVFdmVudExpc3RlbmVyKCdsb2FkJywgbG9hZGVkKTtcbiAgICAgICAgfTtcbiAgICAgICAgbGluay5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgICAgIGxpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgbGluay5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgbG9hZGVkKTtcbiAgICAgICAgaGVhZC5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICB9KTtcbn07XG4vKipcbiAqIEVudW0ganVzdCBmb3IgdW5pZnkgZmlsZXN0YWNrIG1vZHVsZSBuYW1lc1xuICovXG5leHBvcnQgdmFyIEZJTEVTVEFDS19NT0RVTEVTO1xuKGZ1bmN0aW9uIChGSUxFU1RBQ0tfTU9EVUxFUykge1xuICAgIEZJTEVTVEFDS19NT0RVTEVTW1wiRklMRVNUQUNLX1NES1wiXSA9IFwiZmlsZXN0YWNrLXNka1wiO1xuICAgIEZJTEVTVEFDS19NT0RVTEVTW1wiVFJBTlNGT1JNU19VSVwiXSA9IFwidHJhbnNmb3Jtcy11aVwiO1xuICAgIEZJTEVTVEFDS19NT0RVTEVTW1wiUElDS0VSXCJdID0gXCJwaWNrZXJcIjtcbn0pKEZJTEVTVEFDS19NT0RVTEVTIHx8IChGSUxFU1RBQ0tfTU9EVUxFUyA9IHt9KSk7XG47XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhVzVrWlhndWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOXNhV0l2YVc1a1pYZ3VkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1RVRkJUU3hoUVVGaExFZEJRVWNzV1VGQldTeERRVUZETzBGQlEyNURMRTFCUVUwc1dVRkJXU3hIUVVGUkxFVkJRVVVzUTBGQlF6dEJRV1UzUWl4TlFVRk5MSGxDUVVGNVFpeEhRVUZITEVkQlFVY3NSVUZCUlR0SlFVTnlReXhKUVVGSkxFMUJRVlVzUTBGQlF6dEpRVVZtTERKRVFVRXlSRHRKUVVNelJDeEpRVUZKTEU5QlFVOHNUVUZCVFN4TFFVRkxMRmRCUVZjc1JVRkJSVHRSUVVOcVF5eE5RVUZOTEVkQlFVY3NXVUZCV1N4RFFVRkRPMHRCUTNaQ08xTkJRVTA3VVVGRFRDeE5RVUZOTEVkQlFVY3NUVUZCVFN4RFFVRkJPMHRCUTJoQ08wbEJSVVFzWVVGQllUdEpRVU5pTEVsQlFVa3NVMEZCVXl4SFFVRmpMRTFCUVUwc1EwRkJReXhyUWtGQmEwSXNRMEZCUXp0SlFVVnlSQ3hKUVVGSkxFTkJRVU1zVTBGQlV5eEZRVUZGTzFGQlEyUXNVMEZCVXl4SFFVRkhPMWxCUTFZc1QwRkJUeXhGUVVGRkxFVkJRVVU3VTBGRFdpeERRVUZETzFGQlJVWXNUVUZCVFN4RFFVRkRMR3RDUVVGclFpeEhRVUZITEZOQlFWTXNRMEZCUXp0TFFVTjJRenRKUVVWRUxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNUMEZCVHl4RlFVRkZPMUZCUTNSQ0xGTkJRVk1zUTBGQlF5eFBRVUZQTEVkQlFVY3NSVUZCUlN4RFFVRkRPMHRCUTNoQ08wbEJSVVFzVDBGQlR5eFRRVUZUTEVOQlFVTTdRVUZEYmtJc1EwRkJReXhEUVVGRE8wRkJSVVlzVFVGQlRTeHJRa0ZCYTBJc1IwRkJSeXg1UWtGQmVVSXNSVUZCUlN4RFFVRkRPMEZCUTNaRUxFMUJRVTBzVDBGQlR5eEhRVUZITEd0Q1FVRnJRaXhKUVVGSkxHdENRVUZyUWl4RFFVRkRMRTlCUVU4c1EwRkJRenRCUVVWcVJUczdPenM3TzBkQlRVYzdRVUZEU0N4TlFVRk5MR05CUVdNc1IwRkJSeXhEUVVGRExFbEJRVWtzUlVGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkpMRVZCUVVVN1NVRkROVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RlFVRkZPMUZCUTNCQ0xFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNiMEpCUVc5Q0xFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdTMEZET1VNN1UwRkJUVHRSUVVOTUxFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMHRCUXpkRE8wRkJRMGdzUTBGQlF5eERRVUZCTzBGQlJVUTdPenM3UjBGSlJ6dEJRVU5JTEUxQlFVMHNRMEZCUXl4TlFVRk5MRmRCUVZjc1IwRkJSeXhEUVVGRExGZEJRVmNzUlVGQlJTeEZRVUZGTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhYUVVGWExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRVZCUVVVc1IwRkJSeXhGUVVGRkxFVkJRVVVzUlVGQlJTeERRVUZETEZWQlFWVXNRMEZCUXl4RlFVRkZMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRk8wbEJRekZJTEUxQlFVMHNVVUZCVVN4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVWd1FpeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEZRVUZGTzFGQlEzWkNMRTFCUVUwc1JVRkJSU3hIUVVGSExGZEJRVmNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTTFRaXhSUVVGUkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJRenRKUVVONFFpeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVVklMRTlCUVU4c1VVRkJVU3hEUVVGRE8wRkJRMnhDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlVnN096czdPMGRCUzBjN1FVRkRTQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeFZRVUZWTEVkQlFVY3NRMEZCUXl4RlFVRlZMRVZCUVVVc1IwRkJWeXhGUVVGRkxFVkJRVVU3U1VGRGNFUXNTVUZCU1N4UFFVRlBMRTFCUVUwc1MwRkJTeXhYUVVGWExFVkJRVVU3VVVGRGFrTXNUMEZCVHl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUzBGQlN5eERRVUZETERSRFFVRTBReXhEUVVGRExFTkJRVU1zUTBGQlF6dExRVU5vUmp0SlFVVkVMRWxCUVVrc1EwRkJReXhGUVVGRkxFVkJRVVU3VVVGRFVDeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMSFZDUVVGMVFpeERRVUZETEVOQlFVRTdTMEZEZWtNN1NVRkZSQ3hKUVVGSkxHZENRVUZuUWl4SFFVRkhMRTlCUVU4c1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF6dEpRVVZ1UXl4RlFVRkZMRWRCUVVrc1lVRkJZU3hIUVVGSExFVkJRVVVzUTBGQlF6dEpRVVY2UWl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVWQlFVVTdVVUZEY2tJc1QwRkJUeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXp0UlFVTnFRaXhuUWtGQlowSXNSMEZCUnl4UFFVRlBMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU03UzBGRGFFTTdTVUZGUkN4SlFVRkpMR2RDUVVGblFpeERRVUZETEZGQlFWRXNSVUZCUlR0UlFVTTNRaXhQUVVGUExFOUJRVThzUTBGQlF5eFBRVUZQTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdTMEZEYmtRN1NVRkZSQ3hKUVVGSkxHZENRVUZuUWl4RFFVRkRMRTlCUVU4c1JVRkJSVHRSUVVNMVFpeFBRVUZQTEdkQ1FVRm5RaXhEUVVGRExFOUJRVThzUTBGQlF6dExRVU5xUXp0SlFVVkVMRTlCUVU4c1owSkJRV2RDTEVOQlFVTXNUMEZCVHl4SFFVRkhMRWxCUVVrc1QwRkJUeXhEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUlN4RlFVRkZPMUZCUTJoRkxFMUJRVTBzWjBKQlFXZENMRWRCUVVjc1EwRkJReXhIUVVGUkxFVkJRVVVzUlVGQlJUdFpRVU53UXl4SlFVRkpMRWRCUVVjc1EwRkJReXhKUVVGSkxFdEJRVXNzVFVGQlRTeEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMR0ZCUVdFc1NVRkJTU3hIUVVGSExFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1JVRkJSVHRuUWtGRGVrY3NUVUZCVFN4SlFVRkpMRWRCUVVrc1IwRkJSeXhEUVVGRExHRkJRV0VzU1VGQlNTeEhRVUZITEVOQlFVTXNWVUZCVlN4RFFVRkRPMmRDUVVWc1JDeGpRVUZqTEVOQlFVTXNTVUZCU1N4RlFVRkZMR2RDUVVGblFpeEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMmRDUVVNdlF5eGpRVUZqTEVOQlFVTXNTVUZCU1N4RlFVRkZMRTFCUVUwc1JVRkJSU3hQUVVGUExFTkJRVU1zUTBGQlF6dG5Ra0ZGZEVNc09FWkJRVGhHTzJkQ1FVTTVSaXhWUVVGVkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU03WVVGREwwVTdVVUZEU0N4RFFVRkRMRU5CUVVFN1VVRkZSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eFJRVUZSTEVOQlFVTXNZVUZCWVN4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8xRkJSV2hFTEUxQlFVMHNRMEZCUXl4RlFVRkZMRWRCUVVjc1JVRkJSU3hEUVVGRE8xRkJSV1lzZDBKQlFYZENPMUZCUTNoQ0xFbEJRVWtzVFVGQlRTeERRVUZETEZkQlFWY3NTVUZCU1N4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExGZEJRVmNzUTBGQlF5eFJRVUZSTEVsQlFVa3NUVUZCVFN4RFFVRkRMRmRCUVZjc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eFBRVUZQTEVOQlFVTXNZMEZCWXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFVkJRVVU3V1VGRGNrZ3NZVUZCWVR0WlFVTmlMRTFCUVUwc1EwRkJReXhYUVVGWExFTkJRVU1zYjBKQlFXOUNMRVZCUVVVc1owSkJRV2RDTEVOQlFVTXNRMEZCUXp0VFFVTTFSRHRoUVVGTk8xbEJRMHdzVFVGQlRTeERRVUZETEdkQ1FVRm5RaXhEUVVGRExFMUJRVTBzUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFpRVU42UkN4TlFVRk5MRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNVMEZCVXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFRRVU51UkR0UlFVVkVMRTFCUVUwc1EwRkJReXhaUVVGWkxFTkJRVU1zWVVGQllTeEZRVUZGTEZkQlFWY3NRMEZCUXl4RFFVRkRPMUZCUTJoRUxFMUJRVTBzUTBGQlF5eFpRVUZaTEVOQlFVTXNVMEZCVXl4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJRM2hETEUxQlFVMHNRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzFGQlJYSkRMRTFCUVUwc1EwRkJReXhIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETzFGQlJXcENMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMGxCUTNCRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEwd3NRMEZCUXl4RFFVRkRPMEZCUlVZN096czdPenRIUVUxSE8wRkJRMGdzVFVGQlRTeERRVUZETEUxQlFVMHNZMEZCWXl4SFFVRkhMRU5CUVVNc1JVRkJWU3hGUVVGRkxGRkJRV0VzUlVGQlJTeFJRVUZqTEVWQlFVVXNSVUZCUlR0SlFVTXhSU3h2UTBGQmIwTTdTVUZEY0VNc1NVRkJTU3hQUVVGUExFMUJRVTBzUzBGQlN5eFhRVUZYTEVWQlFVVTdVVUZEYWtNc1QwRkJUenRMUVVOU08wbEJSVVFzU1VGQlNTeERRVUZETEVWQlFVVXNSVUZCUlR0UlFVTlFMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zZFVKQlFYVkNMRU5CUVVNc1EwRkJRVHRMUVVONlF6dEpRVVZFTEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUVVVN1VVRkRXaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETERKQ1FVRXlRaXhEUVVGRExFTkJRVUU3UzBGRE4wTTdTVUZGUkN4RlFVRkZMRWRCUVVjc1lVRkJZU3hIUVVGSExFVkJRVVVzUTBGQlF6dEpRVVY0UWl4SlFVRkpMRTlCUVU4c1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJUdFJRVU5tTEU5QlFVOHNRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhGUVVGRkxGRkJRVkVzUlVGQlJTeFJRVUZSTEVWQlFVVXNRMEZCUVR0TFFVTnlRenRCUVVOSUxFTkJRVU1zUTBGQlF6dEJRVVZHT3pzN08wZEJTVWM3UVVGRFNDeE5RVUZOTEVOQlFVTXNUVUZCVFN4UFFVRlBMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJUdEpRVU0zUWl4TlFVRk5MRzFDUVVGdFFpeEhRVUZITEZGQlFWRXNRMEZCUXl4aFFVRmhMRU5CUVVNc1kwRkJZeXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6RkZMRWxCUVVrc2JVSkJRVzFDTEV0QlFVc3NTVUZCU1N4RlFVRkZPMUZCUTJoRExFOUJRVThzVDBGQlR5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMHRCUXpGQ08wbEJSVVFzVDBGQlR5eEpRVUZKTEU5QlFVOHNRMEZCUXl4RFFVRkRMRTlCUVU4c1JVRkJSU3hGUVVGRk8xRkJRemRDTEUxQlFVMHNTVUZCU1N4SFFVRkhMRkZCUVZFc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU4wUkN4TlFVRk5MRWxCUVVrc1IwRkJSeXhSUVVGUkxFTkJRVU1zWVVGQllTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUlRWRExFMUJRVTBzVFVGQlRTeEhRVUZITEVkQlFVY3NSVUZCUlR0WlFVTnNRaXhQUVVGUExFVkJRVVVzUTBGQlF6dFpRVU5XTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eE5RVUZOTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRNME1zUTBGQlF5eERRVUZETzFGQlJVWXNTVUZCU1N4RFFVRkRMRWRCUVVjc1IwRkJSeXhaUVVGWkxFTkJRVU03VVVGRGVFSXNTVUZCU1N4RFFVRkRMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU03VVVGRGFFSXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETEUxQlFVMHNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVOMFF5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRM3BDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTB3c1EwRkJReXhEUVVGRE8wRkJSVVk3TzBkQlJVYzdRVUZEU0N4TlFVRk5MRU5CUVU0c1NVRkJXU3hwUWtGSldEdEJRVXBFTEZkQlFWa3NhVUpCUVdsQ08wbEJRek5DTEc5RVFVRXJRaXhEUVVGQk8wbEJReTlDTEc5RVFVRXJRaXhEUVVGQk8wbEJReTlDTEhORFFVRnBRaXhEUVVGQk8wRkJRMjVDTEVOQlFVTXNSVUZLVnl4cFFrRkJhVUlzUzBGQmFrSXNhVUpCUVdsQ0xGRkJTVFZDTzBGQlFVRXNRMEZCUXlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltTnZibk4wSUUxUFJGVk1SVjlRVWtWR1NWZ2dQU0FuWm5NdGJHOWhaR1Z5TFNjN1hHNWpiMjV6ZENCbmJHOWlZV3hJYjJ4a1pYSTZJR0Z1ZVNBOUlIdDlPMXh1WEc1bGVIQnZjblFnZEhsd1pTQk5iMlIxYkdWRVpXWWdQU0I3WEc0Z0lIQnliMjFwYzJVL09pQlFjbTl0YVhObFBHRnVlVDVjYmlBZ2NtVnpiMngyWlZCeWIyMXBjMlUvT2lCaGJuazdYRzRnSUdsdWMzUmhibU5sUHpvZ1lXNTVPMXh1SUNCdFpYUmhaR0YwWVQ4NklHRnVlVHRjYm4xY2JseHVaWGh3YjNKMElIUjVjR1VnVG1GdFpYTndZV05sSUQwZ2UxeHVJQ0FnSUcxdlpIVnNaWE02SUh0Y2JpQWdJQ0FnVzJ0bGVUb2djM1J5YVc1blhUb2dUVzlrZFd4bFJHVm1YRzRnSUNBZ2ZWeHVmVHRjYmx4dVkyOXVjM1FnYVc1cGRHbGhiR2w2WlVkc2IySmhiRTVoYldWemNHRmpaU0E5SUNncElEMCtJSHRjYmlBZ2JHVjBJR2h2YkdSbGNqcGhibms3WEc1Y2JpQWdMeThnYVdZZ2RHaGxjbVVnYVhNZ2JtOGdkMmx1Wkc5M0lHOWlhaUIxYzJVZ2JtOWtaV3B6SUdkc2IySmhiQ0JzYVdJZ2RtRnlhV0ZpYkdWY2JpQWdhV1lnS0hSNWNHVnZaaUIzYVc1a2IzY2dQVDA5SUNkMWJtUmxabWx1WldRbktTQjdYRzRnSUNBZ2FHOXNaR1Z5SUQwZ1oyeHZZbUZzU0c5c1pHVnlPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR2h2YkdSbGNpQTlJSGRwYm1SdmQxeHVJQ0I5WEc1Y2JpQWdMeThnUUhSekxXbG5ibTl5WlZ4dUlDQnNaWFFnYm1GdFpYTndZV05sT2lCT1lXMWxjM0JoWTJVZ1BTQm9iMnhrWlhJdVptbHNaWE4wWVdOclNXNTBaWEp1WVd4ek8xeHVYRzRnSUdsbUlDZ2hibUZ0WlhOd1lXTmxLU0I3WEc0Z0lDQWdibUZ0WlhOd1lXTmxJRDBnZTF4dUlDQWdJQ0FnYlc5a2RXeGxjem9nZTMwc1hHNGdJQ0FnZlR0Y2JseHVJQ0FnSUdodmJHUmxjaTVtYVd4bGMzUmhZMnRKYm5SbGNtNWhiSE1nUFNCdVlXMWxjM0JoWTJVN1hHNGdJSDFjYmx4dUlDQnBaaUFvSVc1aGJXVnpjR0ZqWlM1dGIyUjFiR1Z6S1NCN1hHNGdJQ0FnYm1GdFpYTndZV05sTG0xdlpIVnNaWE1nUFNCN2ZUdGNiaUFnZlZ4dUlDQmNiaUFnY21WMGRYSnVJRzVoYldWemNHRmpaVHRjYm4wN1hHNWNibU52Ym5OMElHWnBiR1Z6ZEdGamEwbHVkR1Z5Ym1Gc2N5QTlJR2x1YVhScFlXeHBlbVZIYkc5aVlXeE9ZVzFsYzNCaFkyVW9LVHRjYm1OdmJuTjBJRzF2WkhWc1pYTWdQU0JtYVd4bGMzUmhZMnRKYm5SbGNtNWhiSE1nSmlZZ1ptbHNaWE4wWVdOclNXNTBaWEp1WVd4ekxtMXZaSFZzWlhNN1hHNWNiaThxS2x4dUlDb2dVbVZ0YjNabElHeHBjM1JsYm1WeWN5QW9Zbkp2ZDNObGNpQmpiMjF3WVhScFlteGxLVnh1SUNvZ1hHNGdLaUJBY0dGeVlXMGdibTlrWlNCY2JpQXFJRUJ3WVhKaGJTQm1kVzVqSUZ4dUlDb2dRSEJoY21GdElHNWhiV1VnWEc0Z0tpOWNibU52Ym5OMElISmxiVzkyWlV4cGMzUmxibVZ5SUQwZ0tHNXZaR1VzSUdaMWJtTXNJRzVoYldVc0lDa2dQVDRnZTF4dUlDQnBaaUFvYm05a1pTNWtaWFJoWTJoRmRtVnVkQ2tnZTF4dUlDQWdJRzV2WkdVdVpHVjBZV05vUlhabGJuUW9KMjl1Y21WaFpIbHpkR0YwWldOb1lXNW5aU2NzSUdaMWJtTXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJRzV2WkdVdWNtVnRiM1psUlhabGJuUk1hWE4wWlc1bGNpaHVZVzFsTENCbWRXNWpMQ0JtWVd4elpTazdYRzRnSUgxY2JuMWNibHh1THlvcVhHNGdLaUJNYjJGa0lHMTFiSFJwY0d4bElHMXZaSFZzWlhOY2JpQXFJRnh1SUNvZ1FIQmhjbUZ0SUhzcWZTQnRiMlIxYkdWeklGeHVJQ292WEc1bGVIQnZjblFnWTI5dWMzUWdiRzloWkUxdlpIVnNaWE1nUFNBb2JXOWtkV3hsYzB4cGMzUXBJRDArSUZCeWIyMXBjMlV1WVd4c0tHMXZaSFZzWlhOTWFYTjBMbTFoY0Nnb2V5QnBaQ3dnZFhKc0lIMHBJRDArSUd4dllXUk5iMlIxYkdVb2FXUXNJSFZ5YkNrcEtTNTBhR1Z1S0NoeVpYTXBJRDArSUh0Y2JpQWdZMjl1YzNRZ2RHOVNaWFIxY200Z1BTQjdmVHRjYmx4dUlDQnlaWE11Wm05eVJXRmphQ2dvYlc5a0xDQnBaSGdwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0JsYkNBOUlHMXZaSFZzWlhOTWFYTjBXMmxrZUYwN1hHNGdJQ0FnZEc5U1pYUjFjbTViWld3dWFXUmRJRDBnYlc5a08xeHVJQ0I5S1R0Y2JseHVJQ0J5WlhSMWNtNGdkRzlTWlhSMWNtNDdYRzU5S1R0Y2JseHVMeW9xWEc0Z0tpQk1iMkZrSUhOcGJtZHNaU0J0YjJSMWJHVWdabkp2YlNCMWNtd2dkMmwwYUNCbmFYWmxiaUJwWkZ4dUlDcGNiaUFxSUVCd1lYSmhiU0I3S24wZ2FXUWdMU0J0YjJSMWJHVWdhV1FnWEc0Z0tpQkFjR0Z5WVcwZ2V5cDlJSFZ5YkZ4dUlDb3ZYRzVsZUhCdmNuUWdZMjl1YzNRZ2JHOWhaRTF2WkhWc1pTQTlJQ2hwWkRvZ2MzUnlhVzVuTENCMWNtdzZJSE4wY21sdVp5a2dQVDRnZTF4dUlDQnBaaUFvZEhsd1pXOW1JSGRwYm1SdmR5QTlQVDBnSjNWdVpHVm1hVzVsWkNjcElIdGNiaUFnSUNCeVpYUjFjbTRnVUhKdmJXbHpaUzV5WldwbFkzUW9ibVYzSUVWeWNtOXlLQ2RNYjJGa0lHMXZaSFZzWlNCcGN5QjNiM0pyYVc1bklHOXViSGtnYjI0Z1luSnZkM05sY2lCbGJuWW5LU2s3WEc0Z0lIMWNibHh1SUNCcFppQW9JV2xrS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2ROYjJSMWJHVWdhV1FnYVhNZ2NtVnhkV2x5WldRbktWeHVJQ0I5WEc1Y2JpQWdiR1YwSUcxdlpIVnNaVVJsWm1sdWFYUnBiMjRnUFNCdGIyUjFiR1Z6VzJsa1hUdGNibHh1SUNCcFpDQTlJQ0JOVDBSVlRFVmZVRkpGUmtsWUlDc2dhV1E3WEc1Y2JpQWdhV1lnS0NGdGIyUjFiR1ZFWldacGJtbDBhVzl1S1NCN1hHNGdJQ0FnYlc5a2RXeGxjMXRwWkYwZ1BTQjdmVHRjYmlBZ0lDQnRiMlIxYkdWRVpXWnBibWwwYVc5dUlEMGdiVzlrZFd4bGMxdHBaRjA3WEc0Z0lIMWNibHh1SUNCcFppQW9iVzlrZFd4bFJHVm1hVzVwZEdsdmJpNXBibk4wWVc1alpTa2dlMXh1SUNBZ0lISmxkSFZ5YmlCUWNtOXRhWE5sTG5KbGMyOXNkbVVvYlc5a2RXeGxSR1ZtYVc1cGRHbHZiaTVwYm5OMFlXNWpaU2s3WEc0Z0lIMWNibHh1SUNCcFppQW9iVzlrZFd4bFJHVm1hVzVwZEdsdmJpNXdjbTl0YVhObEtTQjdYRzRnSUNBZ2NtVjBkWEp1SUcxdlpIVnNaVVJsWm1sdWFYUnBiMjR1Y0hKdmJXbHpaVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ0YjJSMWJHVkVaV1pwYm1sMGFXOXVMbkJ5YjIxcGMyVWdQU0J1WlhjZ1VISnZiV2x6WlNnb2NtVnpiMngyWlN3Z2NtVnFaV04wS1NBOVBpQjdYRzRnSUNBZ1kyOXVjM1FnY21WaFpIbFRkR0YwWlVOb1lXNW5aU0E5SUNobGRuUTZJR0Z1ZVNrZ1BUNGdlMXh1SUNBZ0lDQWdhV1lnS0dWMmRDNTBlWEJsSUQwOVBTQW5iRzloWkNjZ2ZId2dLQzllS0dOdmJYQnNaWFJsZkd4dllXUmxaQ2trTHk1MFpYTjBLQ2hsZG5RdVkzVnljbVZ1ZEZSaGNtZGxkQ0I4ZkNCbGRuUXVjM0pqUld4bGJXVnVkQ2t1Y21WaFpIbFRkR0YwWlNrcEtTQjdYRzRnSUNBZ0lDQWdJR052Ym5OMElHNXZaR1VnUFNBZ1pYWjBMbU4xY25KbGJuUlVZWEpuWlhRZ2ZId2daWFowTG5OeVkwVnNaVzFsYm5RN1hHNWNiaUFnSUNBZ0lDQWdjbVZ0YjNabFRHbHpkR1Z1WlhJb2JtOWtaU3dnY21WaFpIbFRkR0YwWlVOb1lXNW5aU3dnSjJ4dllXUW5LVHRjYmlBZ0lDQWdJQ0FnY21WdGIzWmxUR2x6ZEdWdVpYSW9ibTlrWlN3Z2NtVnFaV04wTENBblpYSnliM0luS1R0Y2JseHVJQ0FnSUNBZ0lDQXZMeUJ6Ykc5M0lHUnZkeUJqYUdWamEybHVaeUJwWmlCdGIyUjFiR1VnYVhNZ2JHOWhaR1ZrSUhSdklHVnVjM1Z5WlNCMGFHRjBJSE5qY21sd2RDQjBhR0YwSUNCeVpXZHBjM1JsY2lCdGIyUjFiR1VnYVhNZ1kyRnNiR1ZrWEc0Z0lDQWdJQ0FnSUhObGRGUnBiV1Z2ZFhRb0tDa2dQVDRnY21WemIyeDJaU2h0YjJSMWJHVnpXMmxrWFNBL0lHMXZaSFZzWlhOYmFXUmRMbWx1YzNSaGJtTmxJRG9nZFc1a1pXWnBibVZrS1N3Z01UQXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhOamNtbHdkQ0E5SUdSdlkzVnRaVzUwTG1OeVpXRjBaVVZzWlcxbGJuUW9KM05qY21sd2RDY3BPMXh1SUNBZ0lGeHVJQ0FnSUhOamNtbHdkQzVwWkNBOUlHbGtPMXh1WEc0Z0lDQWdMeThnUUhSekxXbG5ibTl5WlNCbWFYZ2dabTl5SUVsRlhHNGdJQ0FnYVdZZ0tITmpjbWx3ZEM1aGRIUmhZMmhGZG1WdWRDQW1KaUFoS0hOamNtbHdkQzVoZEhSaFkyaEZkbVZ1ZEM1MGIxTjBjbWx1WnlBbUppQnpZM0pwY0hRdVlYUjBZV05vUlhabGJuUXVkRzlUZEhKcGJtY29LUzVwYm1SbGVFOW1LQ2RiYm1GMGFYWmxJR052WkdVbktTQThJREFwS1NCN1hHNGdJQ0FnSUNBdkx5QkFkSE10YVdkdWIzSmxYRzRnSUNBZ0lDQnpZM0pwY0hRdVlYUjBZV05vUlhabGJuUW9KMjl1Y21WaFpIbHpkR0YwWldOb1lXNW5aU2NzSUhKbFlXUjVVM1JoZEdWRGFHRnVaMlVwTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnpZM0pwY0hRdVlXUmtSWFpsYm5STWFYTjBaVzVsY2lnbmJHOWhaQ2NzSUhKbFlXUjVVM1JoZEdWRGFHRnVaMlVzSUdaaGJITmxLVHRjYmlBZ0lDQWdJSE5qY21sd2RDNWhaR1JGZG1WdWRFeHBjM1JsYm1WeUtDZHZibVZ5Y205eUp5d2djbVZxWldOMExDQm1ZV3h6WlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYzJOeWFYQjBMbk5sZEVGMGRISnBZblYwWlNnblkzSnZjM052Y21sbmFXNG5MQ0FuWVc1dmJubHRiM1Z6SnlrN1hHNGdJQ0FnYzJOeWFYQjBMbk5sZEVGMGRISnBZblYwWlNnblkyaGhjbk5sZENjc0lDZDFkR1l0T0NjcE8xeHVJQ0FnSUhOamNtbHdkQzV6WlhSQmRIUnlhV0oxZEdVb0oyRnplVzVqSnl3Z0ozUnlkV1VuS1R0Y2JseHVJQ0FnSUhOamNtbHdkQzV6Y21NZ1BTQjFjbXc3WEc1Y2JpQWdJQ0JrYjJOMWJXVnVkQzVpYjJSNUxtRndjR1Z1WkVOb2FXeGtLSE5qY21sd2RDazdYRzRnSUgwcE8xeHVmVHRjYmx4dUx5b3FYRzRnS2lCU1pXZHBjM1JsY2lCMGFHRjBJRzF2WkhWc1pTQnBjeUJ5WldGa2VWeHVJQ29nWEc0Z0tpQkFjR0Z5WVcwZ2UzTjBjbWx1WjMwZ2FXUWdYRzRnS2lCQWNHRnlZVzBnZTJGdWVYMGdhVzV6ZEdGdVkyVWdYRzRnS2lCQWNHRnlZVzBnZTJGdWVYMGdiV1YwWVdSaGRHRWdMU0JoWkdScGRHbHZibUZzSUcxdlpIVnNaU0J0WlhSaFpHRjBZU0JzYVd0bElIWmxjbk5wYjI1Y2JpQXFMMXh1Wlhod2IzSjBJR052Ym5OMElISmxaMmx6ZEdWeVRXOWtkV3hsSUQwZ0tHbGtPaUJ6ZEhKcGJtY3NJR2x1YzNSaGJtTmxPaUJoYm5rc0lHMWxkR0ZrWVhSaFB6b2dZVzU1S1NBOVBpQjdYRzRnSUM4dklHeHZZV1JsY2lCdWIzUWdkMjl5YTJsdVp5QnZiaUJ1YjJSbGFuTWdaVzUyYzF4dUlDQnBaaUFvZEhsd1pXOW1JSGRwYm1SdmR5QTlQVDBnSjNWdVpHVm1hVzVsWkNjcElIdGNiaUFnSUNCeVpYUjFjbTQ3WEc0Z0lIMWNibHh1SUNCcFppQW9JV2xrS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2ROYjJSMWJHVWdhV1FnYVhNZ2NtVnhkV2x5WldRbktWeHVJQ0I5WEc1Y2JpQWdhV1lnS0NGdGIyUjFiR1Z6S1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RNYjJGa1pYSWdhWE1nYm05MElHbHVhWFJwWVd4cGVtVmtKeWxjYmlBZ2ZWeHVYRzRnSUdsa0lEMGdUVTlFVlV4RlgxQlNSVVpKV0NBcklHbGtPMXh1WEc0Z0lHbG1JQ2h0YjJSMWJHVnpXMmxrWFNrZ2UxeHVJQ0FnSUcxdlpIVnNaWE5iYVdSZElEMGdleUJwYm5OMFlXNWpaU3dnYldWMFlXUmhkR0VnZlZ4dUlDQjlYRzU5TzF4dVhHNHZLaXBjYmlBcUlFeHZZV1FnWlhoMFpYSnVZV3dnWTNOeklHWnliMjBnWjJsMlpXNGdkWEpzWEc0Z0tpQmNiaUFxSUVCd1lYSmhiU0I3S24wZ2RYSnNJRnh1SUNvdlhHNWxlSEJ2Y25RZ1kyOXVjM1FnYkc5aFpFTnpjeUE5SUNoMWNtd3BJRDArSUh0Y2JpQWdZMjl1YzNRZ1lXeHlaV0ZrZVVGa1pHVmtWR2hwYzFSaFp5QTlJR1J2WTNWdFpXNTBMbkYxWlhKNVUyVnNaV04wYjNJb1lHeHBibXRiYUhKbFpqMWNJaVI3ZFhKc2ZWd2lYV0FwTzF4dUlDQnBaaUFvWVd4eVpXRmtlVUZrWkdWa1ZHaHBjMVJoWnlBaFBUMGdiblZzYkNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJRY205dGFYTmxMbkpsYzI5c2RtVW9LVHRjYmlBZ2ZWeHVYRzRnSUhKbGRIVnliaUJ1WlhjZ1VISnZiV2x6WlNnb2NtVnpiMngyWlNrZ1BUNGdlMXh1SUNBZ0lHTnZibk4wSUdobFlXUWdQU0JrYjJOMWJXVnVkQzVuWlhSRmJHVnRaVzUwYzBKNVZHRm5UbUZ0WlNnbmFHVmhaQ2NwV3pCZE8xeHVJQ0FnSUdOdmJuTjBJR3hwYm1zZ1BTQmtiMk4xYldWdWRDNWpjbVZoZEdWRmJHVnRaVzUwS0Nkc2FXNXJKeWs3WEc1Y2JpQWdJQ0JqYjI1emRDQnNiMkZrWldRZ1BTQW9LU0E5UGlCN1hHNGdJQ0FnSUNCeVpYTnZiSFpsS0NrN1hHNGdJQ0FnSUNCc2FXNXJMbkpsYlc5MlpVVjJaVzUwVEdsemRHVnVaWElvSjJ4dllXUW5MQ0JzYjJGa1pXUXBPMXh1SUNBZ0lIMDdYRzVjYmlBZ0lDQnNhVzVyTG5KbGJDQTlJQ2R6ZEhsc1pYTm9aV1YwSnp0Y2JpQWdJQ0JzYVc1ckxtaHlaV1lnUFNCMWNtdzdYRzRnSUNBZ2JHbHVheTVoWkdSRmRtVnVkRXhwYzNSbGJtVnlLQ2RzYjJGa0p5d2diRzloWkdWa0tUdGNiaUFnSUNCb1pXRmtMbUZ3Y0dWdVpFTm9hV3hrS0d4cGJtc3BPMXh1SUNCOUtUdGNibjA3WEc1Y2JpOHFLbHh1SUNvZ1JXNTFiU0JxZFhOMElHWnZjaUIxYm1sbWVTQm1hV3hsYzNSaFkyc2diVzlrZFd4bElHNWhiV1Z6WEc0Z0tpOWNibVY0Y0c5eWRDQmxiblZ0SUVaSlRFVlRWRUZEUzE5TlQwUlZURVZUSUh0Y2JpQWdSa2xNUlZOVVFVTkxYMU5FU3lBOUlDZG1hV3hsYzNSaFkyc3RjMlJySnl4Y2JpQWdWRkpCVGxOR1QxSk5VMTlWU1NBOUlDZDBjbUZ1YzJadmNtMXpMWFZwSnl4Y2JpQWdVRWxEUzBWU0lEMGdKM0JwWTJ0bGNpY3NYRzU5TzF4dUlsMTkiXSwic291cmNlUm9vdCI6IiJ9
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.FilestackLoader=t():e.FilestackLoader=t()}(window,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t),n.d(t,"loadModules",(function(){return u})),n.d(t,"loadModule",(function(){return a})),n.d(t,"registerModule",(function(){return s})),n.d(t,"loadCss",(function(){return c})),n.d(t,"FILESTACK_MODULES",(function(){return l}));const r={},o=(()=>{let e;e="undefined"==typeof window?r:window;let t=e.filestackInternals;return t||(t={modules:{}},e.filestackInternals=t),t.modules||(t.modules={}),t})(),i=o&&o.modules,d=(e,t,n)=>{e.detachEvent?e.detachEvent("onreadystatechange",t):e.removeEventListener(n,t,!1)},u=e=>Promise.all(e.map(({id:e,url:t})=>a(e,t))).then(t=>{const n={};return t.forEach((t,r)=>{const o=e[r];n[o.id]=t}),n}),a=(e,t)=>{if("undefined"==typeof window)return Promise.reject(new Error("Load module is working only on browser env"));if(!e)throw new Error("Module id is required");let n=i[e="fs-loader-"+e];return n||(i[e]={},n=i[e]),n.instance?Promise.resolve(n.instance):n.promise?n.promise:n.promise=new Promise((n,r)=>{const o=t=>{if("load"===t.type||/^(complete|loaded)$/.test((t.currentTarget||t.srcElement).readyState)){const u=t.currentTarget||t.srcElement;d(u,o,"load"),d(u,r,"error"),setTimeout(()=>n(i[e]?i[e].instance:void 0),10)}},u=document.createElement("script");u.id=e,!u.attachEvent||u.attachEvent.toString&&u.attachEvent.toString().indexOf("[native code")<0?(u.addEventListener("load",o,!1),u.addEventListener("onerror",r,!1)):u.attachEvent("onreadystatechange",o),u.setAttribute("crossorigin","anonymous"),u.setAttribute("charset","utf-8"),u.setAttribute("async","true"),u.src=t,document.body.appendChild(u)})},s=(e,t,n)=>{if("undefined"!=typeof window){if(!e)throw new Error("Module id is required");if(!i)throw new Error("Loader is not initialized");i[e="fs-loader-"+e]&&(i[e]={instance:t,metadata:n})}},c=e=>null!==document.querySelector(`link[href="${e}"]`)?Promise.resolve():new Promise(t=>{const n=document.getElementsByTagName("head")[0],r=document.createElement("link"),o=()=>{t(),r.removeEventListener("load",o)};r.rel="stylesheet",r.href=e,r.addEventListener("load",o),n.appendChild(r)});var l;!function(e){e.FILESTACK_SDK="filestack-sdk",e.TRANSFORMS_UI="transforms-ui",e.PICKER="picker"}(l||(l={}))}])}));
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9GaWxlc3RhY2tMb2FkZXIvd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovL0ZpbGVzdGFja0xvYWRlci93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9GaWxlc3RhY2tMb2FkZXIvLi9kaXN0L21vZHVsZS9pbmRleC5qcyJdLCJuYW1lcyI6WyJyb290IiwiZmFjdG9yeSIsImV4cG9ydHMiLCJtb2R1bGUiLCJkZWZpbmUiLCJhbWQiLCJ3aW5kb3ciLCJpbnN0YWxsZWRNb2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiaSIsImwiLCJtb2R1bGVzIiwiY2FsbCIsIm0iLCJjIiwiZCIsIm5hbWUiLCJnZXR0ZXIiLCJvIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiciIsIlN5bWJvbCIsInRvU3RyaW5nVGFnIiwidmFsdWUiLCJ0IiwibW9kZSIsIl9fZXNNb2R1bGUiLCJucyIsImNyZWF0ZSIsImtleSIsImJpbmQiLCJuIiwib2JqZWN0IiwicHJvcGVydHkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsInAiLCJzIiwiZ2xvYmFsSG9sZGVyIiwiZmlsZXN0YWNrSW50ZXJuYWxzIiwiaG9sZGVyIiwibmFtZXNwYWNlIiwiaW5pdGlhbGl6ZUdsb2JhbE5hbWVzcGFjZSIsInJlbW92ZUxpc3RlbmVyIiwibm9kZSIsImZ1bmMiLCJkZXRhY2hFdmVudCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2FkTW9kdWxlcyIsIm1vZHVsZXNMaXN0IiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImlkIiwidXJsIiwibG9hZE1vZHVsZSIsInRoZW4iLCJyZXMiLCJ0b1JldHVybiIsImZvckVhY2giLCJtb2QiLCJpZHgiLCJlbCIsInJlamVjdCIsIkVycm9yIiwibW9kdWxlRGVmaW5pdGlvbiIsImluc3RhbmNlIiwicmVzb2x2ZSIsInByb21pc2UiLCJyZWFkeVN0YXRlQ2hhbmdlIiwiZXZ0IiwidHlwZSIsInRlc3QiLCJjdXJyZW50VGFyZ2V0Iiwic3JjRWxlbWVudCIsInJlYWR5U3RhdGUiLCJzZXRUaW1lb3V0IiwidW5kZWZpbmVkIiwic2NyaXB0IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiYXR0YWNoRXZlbnQiLCJ0b1N0cmluZyIsImluZGV4T2YiLCJhZGRFdmVudExpc3RlbmVyIiwic2V0QXR0cmlidXRlIiwic3JjIiwiYm9keSIsImFwcGVuZENoaWxkIiwicmVnaXN0ZXJNb2R1bGUiLCJtZXRhZGF0YSIsImxvYWRDc3MiLCJxdWVyeVNlbGVjdG9yIiwiaGVhZCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwibGluayIsImxvYWRlZCIsInJlbCIsImhyZWYiLCJGSUxFU1RBQ0tfTU9EVUxFUyJdLCJtYXBwaW5ncyI6IkNBQUEsU0FBMkNBLEVBQU1DLEdBQzFCLGlCQUFaQyxTQUEwQyxpQkFBWEMsT0FDeENBLE9BQU9ELFFBQVVELElBQ1EsbUJBQVhHLFFBQXlCQSxPQUFPQyxJQUM5Q0QsT0FBTyxHQUFJSCxHQUNlLGlCQUFaQyxRQUNkQSxRQUF5QixnQkFBSUQsSUFFN0JELEVBQXNCLGdCQUFJQyxJQVI1QixDQVNHSyxRQUFRLFdBQ1gsTyxZQ1RFLElBQUlDLEVBQW1CLEdBR3ZCLFNBQVNDLEVBQW9CQyxHQUc1QixHQUFHRixFQUFpQkUsR0FDbkIsT0FBT0YsRUFBaUJFLEdBQVVQLFFBR25DLElBQUlDLEVBQVNJLEVBQWlCRSxHQUFZLENBQ3pDQyxFQUFHRCxFQUNIRSxHQUFHLEVBQ0hULFFBQVMsSUFVVixPQU5BVSxFQUFRSCxHQUFVSSxLQUFLVixFQUFPRCxRQUFTQyxFQUFRQSxFQUFPRCxRQUFTTSxHQUcvREwsRUFBT1EsR0FBSSxFQUdKUixFQUFPRCxRQTBEZixPQXJEQU0sRUFBb0JNLEVBQUlGLEVBR3hCSixFQUFvQk8sRUFBSVIsRUFHeEJDLEVBQW9CUSxFQUFJLFNBQVNkLEVBQVNlLEVBQU1DLEdBQzNDVixFQUFvQlcsRUFBRWpC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LEVBQ1p5QyxFQUFLWCxpQkFBaUIsT0FBUVksR0FDOUJILEVBQUtMLFlBQVlPLEtBTWxCLElBQUlJLEdBQ1gsU0FBV0EsR0FDUEEsRUFBaUMsY0FBSSxnQkFDckNBLEVBQWlDLGNBQUksZ0JBQ3JDQSxFQUEwQixPQUFJLFNBSGxDLENBSUdBLElBQXNCQSxFQUFvQiIsImZpbGUiOiJpbmRleC51bWQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuXHRpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcpXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5KCk7XG5cdGVsc2UgaWYodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKVxuXHRcdGRlZmluZShbXSwgZmFjdG9yeSk7XG5cdGVsc2UgaWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnKVxuXHRcdGV4cG9ydHNbXCJGaWxlc3RhY2tMb2FkZXJcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiRmlsZXN0YWNrTG9hZGVyXCJdID0gZmFjdG9yeSgpO1xufSkod2luZG93LCBmdW5jdGlvbigpIHtcbnJldHVybiAiLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG4iLCJjb25zdCBNT0RVTEVfUFJFRklYID0gJ2ZzLWxvYWRlci0nO1xuY29uc3QgZ2xvYmFsSG9sZGVyID0ge307XG5jb25zdCBpbml0aWFsaXplR2xvYmFsTmFtZXNwYWNlID0gKCkgPT4ge1xuICAgIGxldCBob2xkZXI7XG4gICAgLy8gaWYgdGhlcmUgaXMgbm8gd2luZG93IG9iaiB1c2Ugbm9kZWpzIGdsb2JhbCBsaWIgdmFyaWFibGVcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgaG9sZGVyID0gZ2xvYmFsSG9sZGVyO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgaG9sZGVyID0gd2luZG93O1xuICAgIH1cbiAgICAvLyBAdHMtaWdub3JlXG4gICAgbGV0IG5hbWVzcGFjZSA9IGhvbGRlci5maWxlc3RhY2tJbnRlcm5hbHM7XG4gICAgaWYgKCFuYW1lc3BhY2UpIHtcbiAgICAgICAgbmFtZXNwYWNlID0ge1xuICAgICAgICAgICAgbW9kdWxlczoge30sXG4gICAgICAgIH07XG4gICAgICAgIGhvbGRlci5maWxlc3RhY2tJbnRlcm5hbHMgPSBuYW1lc3BhY2U7XG4gICAgfVxuICAgIGlmICghbmFtZXNwYWNlLm1vZHVsZXMpIHtcbiAgICAgICAgbmFtZXNwYWNlLm1vZHVsZXMgPSB7fTtcbiAgICB9XG4gICAgcmV0dXJuIG5hbWVzcGFjZTtcbn07XG5jb25zdCBmaWxlc3RhY2tJbnRlcm5hbHMgPSBpbml0aWFsaXplR2xvYmFsTmFtZXNwYWNlKCk7XG5jb25zdCBtb2R1bGVzID0gZmlsZXN0YWNrSW50ZXJuYWxzICYmIGZpbGVzdGFja0ludGVybmFscy5tb2R1bGVzO1xuLyoqXG4gKiBSZW1vdmUgbGlzdGVuZXJzIChicm93c2VyIGNvbXBhdGlibGUpXG4gKlxuICogQHBhcmFtIG5vZGVcbiAqIEBwYXJhbSBmdW5jXG4gKiBAcGFyYW0gbmFtZVxuICovXG5jb25zdCByZW1vdmVMaXN0ZW5lciA9IChub2RlLCBmdW5jLCBuYW1lKSA9PiB7XG4gICAgaWYgKG5vZGUuZGV0YWNoRXZlbnQpIHtcbiAgICAgICAgbm9kZS5kZXRhY2hFdmVudCgnb25yZWFkeXN0YXRlY2hhbmdlJywgZnVuYyk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBub2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIobmFtZSwgZnVuYywgZmFsc2UpO1xuICAgIH1cbn07XG4vKipcbiAqIExvYWQgbXVsdGlwbGUgbW9kdWxlc1xuICpcbiAqIEBwYXJhbSB7Kn0gbW9kdWxlc1xuICovXG5leHBvcnQgY29uc3QgbG9hZE1vZHVsZXMgPSAobW9kdWxlc0xpc3QpID0+IFByb21pc2UuYWxsKG1vZHVsZXNMaXN0Lm1hcCgoeyBpZCwgdXJsIH0pID0+IGxvYWRNb2R1bGUoaWQsIHVybCkpKS50aGVuKChyZXMpID0+IHtcbiAgICBjb25zdCB0b1JldHVybiA9IHt9O1xuICAgIHJlcy5mb3JFYWNoKChtb2QsIGlkeCkgPT4ge1xuICAgICAgICBjb25zdCBlbCA9IG1vZHVsZXNMaXN0W2lkeF07XG4gICAgICAgIHRvUmV0dXJuW2VsLmlkXSA9IG1vZDtcbiAgICB9KTtcbiAgICByZXR1cm4gdG9SZXR1cm47XG59KTtcbi8qKlxuICogTG9hZCBzaW5nbGUgbW9kdWxlIGZyb20gdXJsIHdpdGggZ2l2ZW4gaWRcbiAqXG4gKiBAcGFyYW0geyp9IGlkIC0gbW9kdWxlIGlkXG4gKiBAcGFyYW0geyp9IHVybFxuICovXG5leHBvcnQgY29uc3QgbG9hZE1vZHVsZSA9IChpZCwgdXJsKSA9PiB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ0xvYWQgbW9kdWxlIGlzIHdvcmtpbmcgb25seSBvbiBicm93c2VyIGVudicpKTtcbiAgICB9XG4gICAgaWYgKCFpZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ01vZHVsZSBpZCBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICBpZCA9IE1PRFVMRV9QUkVGSVggKyBpZDtcbiAgICBsZXQgbW9kdWxlRGVmaW5pdGlvbiA9IG1vZHVsZXNbaWRdO1xuICAgIGlmICghbW9kdWxlRGVmaW5pdGlvbikge1xuICAgICAgICBtb2R1bGVzW2lkXSA9IHt9O1xuICAgICAgICBtb2R1bGVEZWZpbml0aW9uID0gbW9kdWxlc1tpZF07XG4gICAgfVxuICAgIGlmIChtb2R1bGVEZWZpbml0aW9uLmluc3RhbmNlKSB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobW9kdWxlRGVmaW5pdGlvbi5pbnN0YW5jZSk7XG4gICAgfVxuICAgIGlmIChtb2R1bGVEZWZpbml0aW9uLnByb21pc2UpIHtcbiAgICAgICAgcmV0dXJuIG1vZHVsZURlZmluaXRpb24ucHJvbWlzZTtcbiAgICB9XG4gICAgcmV0dXJuIG1vZHVsZURlZmluaXRpb24ucHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcmVhZHlTdGF0ZUNoYW5nZSA9IChldnQpID0+IHtcbiAgICAgICAgICAgIGlmIChldnQudHlwZSA9PT0gJ2xvYWQnIHx8ICgvXihjb21wbGV0ZXxsb2FkZWQpJC8udGVzdCgoZXZ0LmN1cnJlbnRUYXJnZXQgfHwgZXZ0LnNyY0VsZW1lbnQpLnJlYWR5U3RhdGUpKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBldnQuY3VycmVudFRhcmdldCB8fCBldnQuc3JjRWxlbWVudDtcbiAgICAgICAgICAgICAgICByZW1vdmVMaXN0ZW5lcihub2RlLCByZWFkeVN0YXRlQ2hhbmdlLCAnbG9hZCcpO1xuICAgICAgICAgICAgICAgIHJlbW92ZUxpc3RlbmVyKG5vZGUsIHJlamVjdCwgJ2Vycm9yJyk7XG4gICAgICAgICAgICAgICAgLy8gc2xvdyBkb3cgY2hlY2tpbmcgaWYgbW9kdWxlIGlzIGxvYWRlZCB0byBlbnN1cmUgdGhhdCBzY3JpcHQgdGhhdCAgcmVnaXN0ZXIgbW9kdWxlIGlzIGNhbGxlZFxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZShtb2R1bGVzW2lkXSA/IG1vZHVsZXNbaWRdLmluc3RhbmNlIDogdW5kZWZpbmVkKSwgMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgc2NyaXB0LmlkID0gaWQ7XG4gICAgICAgIC8vIEB0cy1pZ25vcmUgZml4IGZvciBJRVxuICAgICAgICBpZiAoc2NyaXB0LmF0dGFjaEV2ZW50ICYmICEoc2NyaXB0LmF0dGFjaEV2ZW50LnRvU3RyaW5nICYmIHNjcmlwdC5hdHRhY2hFdmVudC50b1N0cmluZygpLmluZGV4T2YoJ1tuYXRpdmUgY29kZScpIDwgMCkpIHtcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgIHNjcmlwdC5hdHRhY2hFdmVudCgnb25yZWFkeXN0YXRlY2hhbmdlJywgcmVhZHlTdGF0ZUNoYW5nZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlYWR5U3RhdGVDaGFuZ2UsIGZhbHNlKTtcbiAgICAgICAgICAgIHNjcmlwdC5hZGRFdmVudExpc3RlbmVyKCdvbmVycm9yJywgcmVqZWN0LCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgnY3Jvc3NvcmlnaW4nLCAnYW5vbnltb3VzJyk7XG4gICAgICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoJ2NoYXJzZXQnLCAndXRmLTgnKTtcbiAgICAgICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgnYXN5bmMnLCAndHJ1ZScpO1xuICAgICAgICBzY3JpcHQuc3JjID0gdXJsO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gICAgfSk7XG59O1xuLyoqXG4gKiBSZWdpc3RlciB0aGF0IG1vZHVsZSBpcyByZWFkeVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBpZFxuICogQHBhcmFtIHthbnl9IGluc3RhbmNlXG4gKiBAcGFyYW0ge2FueX0gbWV0YWRhdGEgLSBhZGRpdGlvbmFsIG1vZHVsZSBtZXRhZGF0YSBsaWtlIHZlcnNpb25cbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyTW9kdWxlID0gKGlkLCBpbnN0YW5jZSwgbWV0YWRhdGEpID0+IHtcbiAgICAvLyBsb2FkZXIgbm90IHdvcmtpbmcgb24gbm9kZWpzIGVudnNcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWlkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTW9kdWxlIGlkIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIGlmICghbW9kdWxlcykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0xvYWRlciBpcyBub3QgaW5pdGlhbGl6ZWQnKTtcbiAgICB9XG4gICAgaWQgPSBNT0RVTEVfUFJFRklYICsgaWQ7XG4gICAgaWYgKG1vZHVsZXNbaWRdKSB7XG4gICAgICAgIG1vZHVsZXNbaWRdID0geyBpbnN0YW5jZSwgbWV0YWRhdGEgfTtcbiAgICB9XG59O1xuLyoqXG4gKiBMb2FkIGV4dGVybmFsIGNzcyBmcm9tIGdpdmVuIHVybFxuICpcbiAqIEBwYXJhbSB7Kn0gdXJsXG4gKi9cbmV4cG9ydCBjb25zdCBsb2FkQ3NzID0gKHVybCkgPT4ge1xuICAgIGNvbnN0IGFscmVhZHlBZGRlZFRoaXNUYWcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBsaW5rW2hyZWY9XCIke3VybH1cIl1gKTtcbiAgICBpZiAoYWxyZWFkeUFkZGVkVGhpc1RhZyAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICBjb25zdCBoZWFkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcbiAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcbiAgICAgICAgY29uc3QgbG9hZGVkID0gKCkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgbGluay5yZW1vdmVFdmVudExpc3RlbmVyKCdsb2FkJywgbG9hZGVkKTtcbiAgICAgICAgfTtcbiAgICAgICAgbGluay5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgICAgIGxpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgbGluay5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgbG9hZGVkKTtcbiAgICAgICAgaGVhZC5hcHBlbmRDaGlsZChsaW5rKTtcbiAgICB9KTtcbn07XG4vKipcbiAqIEVudW0ganVzdCBmb3IgdW5pZnkgZmlsZXN0YWNrIG1vZHVsZSBuYW1lc1xuICovXG5leHBvcnQgdmFyIEZJTEVTVEFDS19NT0RVTEVTO1xuKGZ1bmN0aW9uIChGSUxFU1RBQ0tfTU9EVUxFUykge1xuICAgIEZJTEVTVEFDS19NT0RVTEVTW1wiRklMRVNUQUNLX1NES1wiXSA9IFwiZmlsZXN0YWNrLXNka1wiO1xuICAgIEZJTEVTVEFDS19NT0RVTEVTW1wiVFJBTlNGT1JNU19VSVwiXSA9IFwidHJhbnNmb3Jtcy11aVwiO1xuICAgIEZJTEVTVEFDS19NT0RVTEVTW1wiUElDS0VSXCJdID0gXCJwaWNrZXJcIjtcbn0pKEZJTEVTVEFDS19NT0RVTEVTIHx8IChGSUxFU1RBQ0tfTU9EVUxFUyA9IHt9KSk7XG47XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhVzVrWlhndWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOXNhV0l2YVc1a1pYZ3VkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFc1RVRkJUU3hoUVVGaExFZEJRVWNzV1VGQldTeERRVUZETzBGQlEyNURMRTFCUVUwc1dVRkJXU3hIUVVGUkxFVkJRVVVzUTBGQlF6dEJRV1UzUWl4TlFVRk5MSGxDUVVGNVFpeEhRVUZITEVkQlFVY3NSVUZCUlR0SlFVTnlReXhKUVVGSkxFMUJRVlVzUTBGQlF6dEpRVVZtTERKRVFVRXlSRHRKUVVNelJDeEpRVUZKTEU5QlFVOHNUVUZCVFN4TFFVRkxMRmRCUVZjc1JVRkJSVHRSUVVOcVF5eE5RVUZOTEVkQlFVY3NXVUZCV1N4RFFVRkRPMHRCUTNaQ08xTkJRVTA3VVVGRFRDeE5RVUZOTEVkQlFVY3NUVUZCVFN4RFFVRkJPMHRCUTJoQ08wbEJSVVFzWVVGQllUdEpRVU5pTEVsQlFVa3NVMEZCVXl4SFFVRmpMRTFCUVUwc1EwRkJReXhyUWtGQmEwSXNRMEZCUXp0SlFVVnlSQ3hKUVVGSkxFTkJRVU1zVTBGQlV5eEZRVUZGTzFGQlEyUXNVMEZCVXl4SFFVRkhPMWxCUTFZc1QwRkJUeXhGUVVGRkxFVkJRVVU3VTBGRFdpeERRVUZETzFGQlJVWXNUVUZCVFN4RFFVRkRMR3RDUVVGclFpeEhRVUZITEZOQlFWTXNRMEZCUXp0TFFVTjJRenRKUVVWRUxFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNUMEZCVHl4RlFVRkZPMUZCUTNSQ0xGTkJRVk1zUTBGQlF5eFBRVUZQTEVkQlFVY3NSVUZCUlN4RFFVRkRPMHRCUTNoQ08wbEJSVVFzVDBGQlR5eFRRVUZUTEVOQlFVTTdRVUZEYmtJc1EwRkJReXhEUVVGRE8wRkJSVVlzVFVGQlRTeHJRa0ZCYTBJc1IwRkJSeXg1UWtGQmVVSXNSVUZCUlN4RFFVRkRPMEZCUTNaRUxFMUJRVTBzVDBGQlR5eEhRVUZITEd0Q1FVRnJRaXhKUVVGSkxHdENRVUZyUWl4RFFVRkRMRTlCUVU4c1EwRkJRenRCUVVWcVJUczdPenM3TzBkQlRVYzdRVUZEU0N4TlFVRk5MR05CUVdNc1IwRkJSeXhEUVVGRExFbEJRVWtzUlVGQlJTeEpRVUZKTEVWQlFVVXNTVUZCU1N4RlFVRkpMRVZCUVVVN1NVRkROVU1zU1VGQlNTeEpRVUZKTEVOQlFVTXNWMEZCVnl4RlFVRkZPMUZCUTNCQ0xFbEJRVWtzUTBGQlF5eFhRVUZYTEVOQlFVTXNiMEpCUVc5Q0xFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTTdTMEZET1VNN1UwRkJUVHRSUVVOTUxFbEJRVWtzUTBGQlF5eHRRa0ZCYlVJc1EwRkJReXhKUVVGSkxFVkJRVVVzU1VGQlNTeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMHRCUXpkRE8wRkJRMGdzUTBGQlF5eERRVUZCTzBGQlJVUTdPenM3UjBGSlJ6dEJRVU5JTEUxQlFVMHNRMEZCUXl4TlFVRk5MRmRCUVZjc1IwRkJSeXhEUVVGRExGZEJRVmNzUlVGQlJTeEZRVUZGTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWRCUVVjc1EwRkJReXhYUVVGWExFTkJRVU1zUjBGQlJ5eERRVUZETEVOQlFVTXNSVUZCUlN4RlFVRkZMRVZCUVVVc1IwRkJSeXhGUVVGRkxFVkJRVVVzUlVGQlJTeERRVUZETEZWQlFWVXNRMEZCUXl4RlFVRkZMRVZCUVVVc1IwRkJSeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hGUVVGRk8wbEJRekZJTEUxQlFVMHNVVUZCVVN4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVWd1FpeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMRU5CUVVNc1IwRkJSeXhGUVVGRkxFZEJRVWNzUlVGQlJTeEZRVUZGTzFGQlEzWkNMRTFCUVUwc1JVRkJSU3hIUVVGSExGZEJRVmNzUTBGQlF5eEhRVUZITEVOQlFVTXNRMEZCUXp0UlFVTTFRaXhSUVVGUkxFTkJRVU1zUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4SFFVRkhMRWRCUVVjc1EwRkJRenRKUVVONFFpeERRVUZETEVOQlFVTXNRMEZCUXp0SlFVVklMRTlCUVU4c1VVRkJVU3hEUVVGRE8wRkJRMnhDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUlVnN096czdPMGRCUzBjN1FVRkRTQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeFZRVUZWTEVkQlFVY3NRMEZCUXl4RlFVRlZMRVZCUVVVc1IwRkJWeXhGUVVGRkxFVkJRVVU3U1VGRGNFUXNTVUZCU1N4UFFVRlBMRTFCUVUwc1MwRkJTeXhYUVVGWExFVkJRVVU3VVVGRGFrTXNUMEZCVHl4UFFVRlBMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUzBGQlN5eERRVUZETERSRFFVRTBReXhEUVVGRExFTkJRVU1zUTBGQlF6dExRVU5vUmp0SlFVVkVMRWxCUVVrc1EwRkJReXhGUVVGRkxFVkJRVVU3VVVGRFVDeE5RVUZOTEVsQlFVa3NTMEZCU3l4RFFVRkRMSFZDUVVGMVFpeERRVUZETEVOQlFVRTdTMEZEZWtNN1NVRkZSQ3hGUVVGRkxFZEJRVWtzWVVGQllTeEhRVUZITEVWQlFVVXNRMEZCUXp0SlFVTjZRaXhKUVVGSkxHZENRVUZuUWl4SFFVRkhMRTlCUVU4c1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF6dEpRVVZ1UXl4SlFVRkpMRU5CUVVNc1owSkJRV2RDTEVWQlFVVTdVVUZEY2tJc1QwRkJUeXhEUVVGRExFVkJRVVVzUTBGQlF5eEhRVUZITEVWQlFVVXNRMEZCUXp0UlFVTnFRaXhuUWtGQlowSXNSMEZCUnl4UFFVRlBMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU03UzBGRGFFTTdTVUZGUkN4SlFVRkpMR2RDUVVGblFpeERRVUZETEZGQlFWRXNSVUZCUlR0UlFVTTNRaXhQUVVGUExFOUJRVThzUTBGQlF5eFBRVUZQTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdTMEZEYmtRN1NVRkZSQ3hKUVVGSkxHZENRVUZuUWl4RFFVRkRMRTlCUVU4c1JVRkJSVHRSUVVNMVFpeFBRVUZQTEdkQ1FVRm5RaXhEUVVGRExFOUJRVThzUTBGQlF6dExRVU5xUXp0SlFVVkVMRTlCUVU4c1owSkJRV2RDTEVOQlFVTXNUMEZCVHl4SFFVRkhMRWxCUVVrc1QwRkJUeXhEUVVGRExFTkJRVU1zVDBGQlR5eEZRVUZGTEUxQlFVMHNSVUZCUlN4RlFVRkZPMUZCUTJoRkxFMUJRVTBzWjBKQlFXZENMRWRCUVVjc1EwRkJReXhIUVVGUkxFVkJRVVVzUlVGQlJUdFpRVU53UXl4SlFVRkpMRWRCUVVjc1EwRkJReXhKUVVGSkxFdEJRVXNzVFVGQlRTeEpRVUZKTEVOQlFVTXNjVUpCUVhGQ0xFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMR0ZCUVdFc1NVRkJTU3hIUVVGSExFTkJRVU1zVlVGQlZTeERRVUZETEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1JVRkJSVHRuUWtGRGVrY3NUVUZCVFN4SlFVRkpMRWRCUVVrc1IwRkJSeXhEUVVGRExHRkJRV0VzU1VGQlNTeEhRVUZITEVOQlFVTXNWVUZCVlN4RFFVRkRPMmRDUVVWc1JDeGpRVUZqTEVOQlFVTXNTVUZCU1N4RlFVRkZMR2RDUVVGblFpeEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMmRDUVVNdlF5eGpRVUZqTEVOQlFVTXNTVUZCU1N4RlFVRkZMRTFCUVUwc1JVRkJSU3hQUVVGUExFTkJRVU1zUTBGQlF6dG5Ra0ZGZEVNc09FWkJRVGhHTzJkQ1FVTTVSaXhWUVVGVkxFTkJRVU1zUjBGQlJ5eEZRVUZGTEVOQlFVTXNUMEZCVHl4RFFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNUMEZCVHl4RFFVRkRMRVZCUVVVc1EwRkJReXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXl4RFFVRkRMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU03WVVGREwwVTdVVUZEU0N4RFFVRkRMRU5CUVVFN1VVRkZSQ3hOUVVGTkxFMUJRVTBzUjBGQlJ5eFJRVUZSTEVOQlFVTXNZVUZCWVN4RFFVRkRMRkZCUVZFc1EwRkJReXhEUVVGRE8xRkJSV2hFTEUxQlFVMHNRMEZCUXl4RlFVRkZMRWRCUVVjc1JVRkJSU3hEUVVGRE8xRkJSV1lzZDBKQlFYZENPMUZCUTNoQ0xFbEJRVWtzVFVGQlRTeERRVUZETEZkQlFWY3NTVUZCU1N4RFFVRkRMRU5CUVVNc1RVRkJUU3hEUVVGRExGZEJRVmNzUTBGQlF5eFJRVUZSTEVsQlFVa3NUVUZCVFN4RFFVRkRMRmRCUVZjc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eFBRVUZQTEVOQlFVTXNZMEZCWXl4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRExFVkJRVVU3V1VGRGNrZ3NZVUZCWVR0WlFVTmlMRTFCUVUwc1EwRkJReXhYUVVGWExFTkJRVU1zYjBKQlFXOUNMRVZCUVVVc1owSkJRV2RDTEVOQlFVTXNRMEZCUXp0VFFVTTFSRHRoUVVGTk8xbEJRMHdzVFVGQlRTeERRVUZETEdkQ1FVRm5RaXhEUVVGRExFMUJRVTBzUlVGQlJTeG5Ra0ZCWjBJc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFpRVU42UkN4TlFVRk5MRU5CUVVNc1owSkJRV2RDTEVOQlFVTXNVMEZCVXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFRRVU51UkR0UlFVVkVMRTFCUVUwc1EwRkJReXhaUVVGWkxFTkJRVU1zWVVGQllTeEZRVUZGTEZkQlFWY3NRMEZCUXl4RFFVRkRPMUZCUTJoRUxFMUJRVTBzUTBGQlF5eFpRVUZaTEVOQlFVTXNVMEZCVXl4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRE8xRkJRM2hETEUxQlFVMHNRMEZCUXl4WlFVRlpMRU5CUVVNc1QwRkJUeXhGUVVGRkxFMUJRVTBzUTBGQlF5eERRVUZETzFGQlJYSkRMRTFCUVUwc1EwRkJReXhIUVVGSExFZEJRVWNzUjBGQlJ5eERRVUZETzFGQlJXcENMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMGxCUTNCRExFTkJRVU1zUTBGQlF5eERRVUZETzBGQlEwd3NRMEZCUXl4RFFVRkRPMEZCUlVZN096czdPenRIUVUxSE8wRkJRMGdzVFVGQlRTeERRVUZETEUxQlFVMHNZMEZCWXl4SFFVRkhMRU5CUVVNc1JVRkJWU3hGUVVGRkxGRkJRV0VzUlVGQlJTeFJRVUZqTEVWQlFVVXNSVUZCUlR0SlFVTXhSU3h2UTBGQmIwTTdTVUZEY0VNc1NVRkJTU3hQUVVGUExFMUJRVTBzUzBGQlN5eFhRVUZYTEVWQlFVVTdVVUZEYWtNc1QwRkJUenRMUVVOU08wbEJSVVFzU1VGQlNTeERRVUZETEVWQlFVVXNSVUZCUlR0UlFVTlFMRTFCUVUwc1NVRkJTU3hMUVVGTExFTkJRVU1zZFVKQlFYVkNMRU5CUVVNc1EwRkJRVHRMUVVONlF6dEpRVVZFTEVsQlFVa3NRMEZCUXl4UFFVRlBMRVZCUVVVN1VVRkRXaXhOUVVGTkxFbEJRVWtzUzBGQlN5eERRVUZETERKQ1FVRXlRaXhEUVVGRExFTkJRVUU3UzBGRE4wTTdTVUZGUkN4RlFVRkZMRWRCUVVjc1lVRkJZU3hIUVVGSExFVkJRVVVzUTBGQlF6dEpRVVY0UWl4SlFVRkpMRTlCUVU4c1EwRkJReXhGUVVGRkxFTkJRVU1zUlVGQlJUdFJRVU5tTEU5QlFVOHNRMEZCUXl4RlFVRkZMRU5CUVVNc1IwRkJSeXhGUVVGRkxGRkJRVkVzUlVGQlJTeFJRVUZSTEVWQlFVVXNRMEZCUVR0TFFVTnlRenRCUVVOSUxFTkJRVU1zUTBGQlF6dEJRVVZHT3pzN08wZEJTVWM3UVVGRFNDeE5RVUZOTEVOQlFVTXNUVUZCVFN4UFFVRlBMRWRCUVVjc1EwRkJReXhIUVVGSExFVkJRVVVzUlVGQlJUdEpRVU0zUWl4TlFVRk5MRzFDUVVGdFFpeEhRVUZITEZGQlFWRXNRMEZCUXl4aFFVRmhMRU5CUVVNc1kwRkJZeXhIUVVGSExFbEJRVWtzUTBGQlF5eERRVUZETzBsQlF6RkZMRWxCUVVrc2JVSkJRVzFDTEV0QlFVc3NTVUZCU1N4RlFVRkZPMUZCUTJoRExFOUJRVThzVDBGQlR5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMHRCUXpGQ08wbEJSVVFzVDBGQlR5eEpRVUZKTEU5QlFVOHNRMEZCUXl4RFFVRkRMRTlCUVU4c1JVRkJSU3hGUVVGRk8xRkJRemRDTEUxQlFVMHNTVUZCU1N4SFFVRkhMRkZCUVZFc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4TlFVRk5MRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF6dFJRVU4wUkN4TlFVRk5MRWxCUVVrc1IwRkJSeXhSUVVGUkxFTkJRVU1zWVVGQllTeERRVUZETEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUlRWRExFMUJRVTBzVFVGQlRTeEhRVUZITEVkQlFVY3NSVUZCUlR0WlFVTnNRaXhQUVVGUExFVkJRVVVzUTBGQlF6dFpRVU5XTEVsQlFVa3NRMEZCUXl4dFFrRkJiVUlzUTBGQlF5eE5RVUZOTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1VVRkRNME1zUTBGQlF5eERRVUZETzFGQlJVWXNTVUZCU1N4RFFVRkRMRWRCUVVjc1IwRkJSeXhaUVVGWkxFTkJRVU03VVVGRGVFSXNTVUZCU1N4RFFVRkRMRWxCUVVrc1IwRkJSeXhIUVVGSExFTkJRVU03VVVGRGFFSXNTVUZCU1N4RFFVRkRMR2RDUVVGblFpeERRVUZETEUxQlFVMHNSVUZCUlN4TlFVRk5MRU5CUVVNc1EwRkJRenRSUVVOMFF5eEpRVUZKTEVOQlFVTXNWMEZCVnl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8wbEJRM3BDTEVOQlFVTXNRMEZCUXl4RFFVRkRPMEZCUTB3c1EwRkJReXhEUVVGRE8wRkJSVVk3TzBkQlJVYzdRVUZEU0N4TlFVRk5MRU5CUVU0c1NVRkJXU3hwUWtGSldEdEJRVXBFTEZkQlFWa3NhVUpCUVdsQ08wbEJRek5DTEc5RVFVRXJRaXhEUVVGQk8wbEJReTlDTEc5RVFVRXJRaXhEUVVGQk8wbEJReTlDTEhORFFVRnBRaXhEUVVGQk8wRkJRMjVDTEVOQlFVTXNSVUZLVnl4cFFrRkJhVUlzUzBGQmFrSXNhVUpCUVdsQ0xGRkJTVFZDTzBGQlFVRXNRMEZCUXlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltTnZibk4wSUUxUFJGVk1SVjlRVWtWR1NWZ2dQU0FuWm5NdGJHOWhaR1Z5TFNjN1hHNWpiMjV6ZENCbmJHOWlZV3hJYjJ4a1pYSTZJR0Z1ZVNBOUlIdDlPMXh1WEc1bGVIQnZjblFnZEhsd1pTQk5iMlIxYkdWRVpXWWdQU0I3WEc0Z0lIQnliMjFwYzJVL09pQlFjbTl0YVhObFBHRnVlVDVjYmlBZ2NtVnpiMngyWlZCeWIyMXBjMlUvT2lCaGJuazdYRzRnSUdsdWMzUmhibU5sUHpvZ1lXNTVPMXh1SUNCdFpYUmhaR0YwWVQ4NklHRnVlVHRjYm4xY2JseHVaWGh3YjNKMElIUjVjR1VnVG1GdFpYTndZV05sSUQwZ2UxeHVJQ0FnSUcxdlpIVnNaWE02SUh0Y2JpQWdJQ0FnVzJ0bGVUb2djM1J5YVc1blhUb2dUVzlrZFd4bFJHVm1YRzRnSUNBZ2ZWeHVmVHRjYmx4dVkyOXVjM1FnYVc1cGRHbGhiR2w2WlVkc2IySmhiRTVoYldWemNHRmpaU0E5SUNncElEMCtJSHRjYmlBZ2JHVjBJR2h2YkdSbGNqcGhibms3WEc1Y2JpQWdMeThnYVdZZ2RHaGxjbVVnYVhNZ2JtOGdkMmx1Wkc5M0lHOWlhaUIxYzJVZ2JtOWtaV3B6SUdkc2IySmhiQ0JzYVdJZ2RtRnlhV0ZpYkdWY2JpQWdhV1lnS0hSNWNHVnZaaUIzYVc1a2IzY2dQVDA5SUNkMWJtUmxabWx1WldRbktTQjdYRzRnSUNBZ2FHOXNaR1Z5SUQwZ1oyeHZZbUZzU0c5c1pHVnlPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJR2h2YkdSbGNpQTlJSGRwYm1SdmQxeHVJQ0I5WEc1Y2JpQWdMeThnUUhSekxXbG5ibTl5WlZ4dUlDQnNaWFFnYm1GdFpYTndZV05sT2lCT1lXMWxjM0JoWTJVZ1BTQm9iMnhrWlhJdVptbHNaWE4wWVdOclNXNTBaWEp1WVd4ek8xeHVYRzRnSUdsbUlDZ2hibUZ0WlhOd1lXTmxLU0I3WEc0Z0lDQWdibUZ0WlhOd1lXTmxJRDBnZTF4dUlDQWdJQ0FnYlc5a2RXeGxjem9nZTMwc1hHNGdJQ0FnZlR0Y2JseHVJQ0FnSUdodmJHUmxjaTVtYVd4bGMzUmhZMnRKYm5SbGNtNWhiSE1nUFNCdVlXMWxjM0JoWTJVN1hHNGdJSDFjYmx4dUlDQnBaaUFvSVc1aGJXVnpjR0ZqWlM1dGIyUjFiR1Z6S1NCN1hHNGdJQ0FnYm1GdFpYTndZV05sTG0xdlpIVnNaWE1nUFNCN2ZUdGNiaUFnZlZ4dUlDQmNiaUFnY21WMGRYSnVJRzVoYldWemNHRmpaVHRjYm4wN1hHNWNibU52Ym5OMElHWnBiR1Z6ZEdGamEwbHVkR1Z5Ym1Gc2N5QTlJR2x1YVhScFlXeHBlbVZIYkc5aVlXeE9ZVzFsYzNCaFkyVW9LVHRjYm1OdmJuTjBJRzF2WkhWc1pYTWdQU0JtYVd4bGMzUmhZMnRKYm5SbGNtNWhiSE1nSmlZZ1ptbHNaWE4wWVdOclNXNTBaWEp1WVd4ekxtMXZaSFZzWlhNN1hHNWNiaThxS2x4dUlDb2dVbVZ0YjNabElHeHBjM1JsYm1WeWN5QW9Zbkp2ZDNObGNpQmpiMjF3WVhScFlteGxLVnh1SUNvZ1hHNGdLaUJBY0dGeVlXMGdibTlrWlNCY2JpQXFJRUJ3WVhKaGJTQm1kVzVqSUZ4dUlDb2dRSEJoY21GdElHNWhiV1VnWEc0Z0tpOWNibU52Ym5OMElISmxiVzkyWlV4cGMzUmxibVZ5SUQwZ0tHNXZaR1VzSUdaMWJtTXNJRzVoYldVc0lDa2dQVDRnZTF4dUlDQnBaaUFvYm05a1pTNWtaWFJoWTJoRmRtVnVkQ2tnZTF4dUlDQWdJRzV2WkdVdVpHVjBZV05vUlhabGJuUW9KMjl1Y21WaFpIbHpkR0YwWldOb1lXNW5aU2NzSUdaMWJtTXBPMXh1SUNCOUlHVnNjMlVnZTF4dUlDQWdJRzV2WkdVdWNtVnRiM1psUlhabGJuUk1hWE4wWlc1bGNpaHVZVzFsTENCbWRXNWpMQ0JtWVd4elpTazdYRzRnSUgxY2JuMWNibHh1THlvcVhHNGdLaUJNYjJGa0lHMTFiSFJwY0d4bElHMXZaSFZzWlhOY2JpQXFJRnh1SUNvZ1FIQmhjbUZ0SUhzcWZTQnRiMlIxYkdWeklGeHVJQ292WEc1bGVIQnZjblFnWTI5dWMzUWdiRzloWkUxdlpIVnNaWE1nUFNBb2JXOWtkV3hsYzB4cGMzUXBJRDArSUZCeWIyMXBjMlV1WVd4c0tHMXZaSFZzWlhOTWFYTjBMbTFoY0Nnb2V5QnBaQ3dnZFhKc0lIMHBJRDArSUd4dllXUk5iMlIxYkdVb2FXUXNJSFZ5YkNrcEtTNTBhR1Z1S0NoeVpYTXBJRDArSUh0Y2JpQWdZMjl1YzNRZ2RHOVNaWFIxY200Z1BTQjdmVHRjYmx4dUlDQnlaWE11Wm05eVJXRmphQ2dvYlc5a0xDQnBaSGdwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0JsYkNBOUlHMXZaSFZzWlhOTWFYTjBXMmxrZUYwN1hHNGdJQ0FnZEc5U1pYUjFjbTViWld3dWFXUmRJRDBnYlc5a08xeHVJQ0I5S1R0Y2JseHVJQ0J5WlhSMWNtNGdkRzlTWlhSMWNtNDdYRzU5S1R0Y2JseHVMeW9xWEc0Z0tpQk1iMkZrSUhOcGJtZHNaU0J0YjJSMWJHVWdabkp2YlNCMWNtd2dkMmwwYUNCbmFYWmxiaUJwWkZ4dUlDcGNiaUFxSUVCd1lYSmhiU0I3S24wZ2FXUWdMU0J0YjJSMWJHVWdhV1FnWEc0Z0tpQkFjR0Z5WVcwZ2V5cDlJSFZ5YkZ4dUlDb3ZYRzVsZUhCdmNuUWdZMjl1YzNRZ2JHOWhaRTF2WkhWc1pTQTlJQ2hwWkRvZ2MzUnlhVzVuTENCMWNtdzZJSE4wY21sdVp5a2dQVDRnZTF4dUlDQnBaaUFvZEhsd1pXOW1JSGRwYm1SdmR5QTlQVDBnSjNWdVpHVm1hVzVsWkNjcElIdGNiaUFnSUNCeVpYUjFjbTRnVUhKdmJXbHpaUzV5WldwbFkzUW9ibVYzSUVWeWNtOXlLQ2RNYjJGa0lHMXZaSFZzWlNCcGN5QjNiM0pyYVc1bklHOXViSGtnYjI0Z1luSnZkM05sY2lCbGJuWW5LU2s3WEc0Z0lIMWNibHh1SUNCcFppQW9JV2xrS1NCN1hHNGdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2ROYjJSMWJHVWdhV1FnYVhNZ2NtVnhkV2x5WldRbktWeHVJQ0I5WEc1Y2JpQWdhV1FnUFNBZ1RVOUVWVXhGWDFCU1JVWkpXQ0FySUdsa08xeHVJQ0JzWlhRZ2JXOWtkV3hsUkdWbWFXNXBkR2x2YmlBOUlHMXZaSFZzWlhOYmFXUmRPMXh1WEc0Z0lHbG1JQ2doYlc5a2RXeGxSR1ZtYVc1cGRHbHZiaWtnZTF4dUlDQWdJRzF2WkhWc1pYTmJhV1JkSUQwZ2UzMDdYRzRnSUNBZ2JXOWtkV3hsUkdWbWFXNXBkR2x2YmlBOUlHMXZaSFZzWlhOYmFXUmRPMXh1SUNCOVhHNWNiaUFnYVdZZ0tHMXZaSFZzWlVSbFptbHVhWFJwYjI0dWFXNXpkR0Z1WTJVcElIdGNiaUFnSUNCeVpYUjFjbTRnVUhKdmJXbHpaUzV5WlhOdmJIWmxLRzF2WkhWc1pVUmxabWx1YVhScGIyNHVhVzV6ZEdGdVkyVXBPMXh1SUNCOVhHNWNiaUFnYVdZZ0tHMXZaSFZzWlVSbFptbHVhWFJwYjI0dWNISnZiV2x6WlNrZ2UxeHVJQ0FnSUhKbGRIVnliaUJ0YjJSMWJHVkVaV1pwYm1sMGFXOXVMbkJ5YjIxcGMyVTdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdiVzlrZFd4bFJHVm1hVzVwZEdsdmJpNXdjbTl0YVhObElEMGdibVYzSUZCeWIyMXBjMlVvS0hKbGMyOXNkbVVzSUhKbGFtVmpkQ2tnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJSEpsWVdSNVUzUmhkR1ZEYUdGdVoyVWdQU0FvWlhaME9pQmhibmtwSUQwK0lIdGNiaUFnSUNBZ0lHbG1JQ2hsZG5RdWRIbHdaU0E5UFQwZ0oyeHZZV1FuSUh4OElDZ3ZYaWhqYjIxd2JHVjBaWHhzYjJGa1pXUXBKQzh1ZEdWemRDZ29aWFowTG1OMWNuSmxiblJVWVhKblpYUWdmSHdnWlhaMExuTnlZMFZzWlcxbGJuUXBMbkpsWVdSNVUzUmhkR1VwS1NrZ2UxeHVJQ0FnSUNBZ0lDQmpiMjV6ZENCdWIyUmxJRDBnSUdWMmRDNWpkWEp5Wlc1MFZHRnlaMlYwSUh4OElHVjJkQzV6Y21ORmJHVnRaVzUwTzF4dVhHNGdJQ0FnSUNBZ0lISmxiVzkyWlV4cGMzUmxibVZ5S0c1dlpHVXNJSEpsWVdSNVUzUmhkR1ZEYUdGdVoyVXNJQ2RzYjJGa0p5azdYRzRnSUNBZ0lDQWdJSEpsYlc5MlpVeHBjM1JsYm1WeUtHNXZaR1VzSUhKbGFtVmpkQ3dnSjJWeWNtOXlKeWs3WEc1Y2JpQWdJQ0FnSUNBZ0x5OGdjMnh2ZHlCa2IzY2dZMmhsWTJ0cGJtY2dhV1lnYlc5a2RXeGxJR2x6SUd4dllXUmxaQ0IwYnlCbGJuTjFjbVVnZEdoaGRDQnpZM0pwY0hRZ2RHaGhkQ0FnY21WbmFYTjBaWElnYlc5a2RXeGxJR2x6SUdOaGJHeGxaRnh1SUNBZ0lDQWdJQ0J6WlhSVWFXMWxiM1YwS0NncElEMCtJSEpsYzI5c2RtVW9iVzlrZFd4bGMxdHBaRjBnUHlCdGIyUjFiR1Z6VzJsa1hTNXBibk4wWVc1alpTQTZJSFZ1WkdWbWFXNWxaQ2tzSURFd0tUdGNiaUFnSUNBZ0lIMWNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0J6WTNKcGNIUWdQU0JrYjJOMWJXVnVkQzVqY21WaGRHVkZiR1Z0Wlc1MEtDZHpZM0pwY0hRbktUdGNiaUFnSUNCY2JpQWdJQ0J6WTNKcGNIUXVhV1FnUFNCcFpEdGNibHh1SUNBZ0lDOHZJRUIwY3kxcFoyNXZjbVVnWm1sNElHWnZjaUJKUlZ4dUlDQWdJR2xtSUNoelkzSnBjSFF1WVhSMFlXTm9SWFpsYm5RZ0ppWWdJU2h6WTNKcGNIUXVZWFIwWVdOb1JYWmxiblF1ZEc5VGRISnBibWNnSmlZZ2MyTnlhWEIwTG1GMGRHRmphRVYyWlc1MExuUnZVM1J5YVc1bktDa3VhVzVrWlhoUFppZ25XMjVoZEdsMlpTQmpiMlJsSnlrZ1BDQXdLU2tnZTF4dUlDQWdJQ0FnTHk4Z1FIUnpMV2xuYm05eVpWeHVJQ0FnSUNBZ2MyTnlhWEIwTG1GMGRHRmphRVYyWlc1MEtDZHZibkpsWVdSNWMzUmhkR1ZqYUdGdVoyVW5MQ0J5WldGa2VWTjBZWFJsUTJoaGJtZGxLVHRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2MyTnlhWEIwTG1Ga1pFVjJaVzUwVEdsemRHVnVaWElvSjJ4dllXUW5MQ0J5WldGa2VWTjBZWFJsUTJoaGJtZGxMQ0JtWVd4elpTazdYRzRnSUNBZ0lDQnpZM0pwY0hRdVlXUmtSWFpsYm5STWFYTjBaVzVsY2lnbmIyNWxjbkp2Y2ljc0lISmxhbVZqZEN3Z1ptRnNjMlVwTzF4dUlDQWdJSDFjYmx4dUlDQWdJSE5qY21sd2RDNXpaWFJCZEhSeWFXSjFkR1VvSjJOeWIzTnpiM0pwWjJsdUp5d2dKMkZ1YjI1NWJXOTFjeWNwTzF4dUlDQWdJSE5qY21sd2RDNXpaWFJCZEhSeWFXSjFkR1VvSjJOb1lYSnpaWFFuTENBbmRYUm1MVGduS1R0Y2JpQWdJQ0J6WTNKcGNIUXVjMlYwUVhSMGNtbGlkWFJsS0NkaGMzbHVZeWNzSUNkMGNuVmxKeWs3WEc1Y2JpQWdJQ0J6WTNKcGNIUXVjM0pqSUQwZ2RYSnNPMXh1WEc0Z0lDQWdaRzlqZFcxbGJuUXVZbTlrZVM1aGNIQmxibVJEYUdsc1pDaHpZM0pwY0hRcE8xeHVJQ0I5S1R0Y2JuMDdYRzVjYmk4cUtseHVJQ29nVW1WbmFYTjBaWElnZEdoaGRDQnRiMlIxYkdVZ2FYTWdjbVZoWkhsY2JpQXFJRnh1SUNvZ1FIQmhjbUZ0SUh0emRISnBibWQ5SUdsa0lGeHVJQ29nUUhCaGNtRnRJSHRoYm5sOUlHbHVjM1JoYm1ObElGeHVJQ29nUUhCaGNtRnRJSHRoYm5sOUlHMWxkR0ZrWVhSaElDMGdZV1JrYVhScGIyNWhiQ0J0YjJSMWJHVWdiV1YwWVdSaGRHRWdiR2xyWlNCMlpYSnphVzl1WEc0Z0tpOWNibVY0Y0c5eWRDQmpiMjV6ZENCeVpXZHBjM1JsY2sxdlpIVnNaU0E5SUNocFpEb2djM1J5YVc1bkxDQnBibk4wWVc1alpUb2dZVzU1TENCdFpYUmhaR0YwWVQ4NklHRnVlU2tnUFQ0Z2UxeHVJQ0F2THlCc2IyRmtaWElnYm05MElIZHZjbXRwYm1jZ2IyNGdibTlrWldweklHVnVkbk5jYmlBZ2FXWWdLSFI1Y0dWdlppQjNhVzVrYjNjZ1BUMDlJQ2QxYm1SbFptbHVaV1FuS1NCN1hHNGdJQ0FnY21WMGRYSnVPMXh1SUNCOVhHNWNiaUFnYVdZZ0tDRnBaQ2tnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25UVzlrZFd4bElHbGtJR2x6SUhKbGNYVnBjbVZrSnlsY2JpQWdmVnh1WEc0Z0lHbG1JQ2doYlc5a2RXeGxjeWtnZTF4dUlDQWdJSFJvY205M0lHNWxkeUJGY25KdmNpZ25URzloWkdWeUlHbHpJRzV2ZENCcGJtbDBhV0ZzYVhwbFpDY3BYRzRnSUgxY2JseHVJQ0JwWkNBOUlFMVBSRlZNUlY5UVVrVkdTVmdnS3lCcFpEdGNibHh1SUNCcFppQW9iVzlrZFd4bGMxdHBaRjBwSUh0Y2JpQWdJQ0J0YjJSMWJHVnpXMmxrWFNBOUlIc2dhVzV6ZEdGdVkyVXNJRzFsZEdGa1lYUmhJSDFjYmlBZ2ZWeHVmVHRjYmx4dUx5b3FYRzRnS2lCTWIyRmtJR1Y0ZEdWeWJtRnNJR056Y3lCbWNtOXRJR2RwZG1WdUlIVnliRnh1SUNvZ1hHNGdLaUJBY0dGeVlXMGdleXA5SUhWeWJDQmNiaUFxTDF4dVpYaHdiM0owSUdOdmJuTjBJR3h2WVdSRGMzTWdQU0FvZFhKc0tTQTlQaUI3WEc0Z0lHTnZibk4wSUdGc2NtVmhaSGxCWkdSbFpGUm9hWE5VWVdjZ1BTQmtiMk4xYldWdWRDNXhkV1Z5ZVZObGJHVmpkRzl5S0dCc2FXNXJXMmh5WldZOVhDSWtlM1Z5YkgxY0lsMWdLVHRjYmlBZ2FXWWdLR0ZzY21WaFpIbEJaR1JsWkZSb2FYTlVZV2NnSVQwOUlHNTFiR3dwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdVSEp2YldselpTNXlaWE52YkhabEtDazdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdibVYzSUZCeWIyMXBjMlVvS0hKbGMyOXNkbVVwSUQwK0lIdGNiaUFnSUNCamIyNXpkQ0JvWldGa0lEMGdaRzlqZFcxbGJuUXVaMlYwUld4bGJXVnVkSE5DZVZSaFowNWhiV1VvSjJobFlXUW5LVnN3WFR0Y2JpQWdJQ0JqYjI1emRDQnNhVzVySUQwZ1pHOWpkVzFsYm5RdVkzSmxZWFJsUld4bGJXVnVkQ2duYkdsdWF5Y3BPMXh1WEc0Z0lDQWdZMjl1YzNRZ2JHOWhaR1ZrSUQwZ0tDa2dQVDRnZTF4dUlDQWdJQ0FnY21WemIyeDJaU2dwTzF4dUlDQWdJQ0FnYkdsdWF5NXlaVzF2ZG1WRmRtVnVkRXhwYzNSbGJtVnlLQ2RzYjJGa0p5d2diRzloWkdWa0tUdGNiaUFnSUNCOU8xeHVYRzRnSUNBZ2JHbHVheTV5Wld3Z1BTQW5jM1I1YkdWemFHVmxkQ2M3WEc0Z0lDQWdiR2x1YXk1b2NtVm1JRDBnZFhKc08xeHVJQ0FnSUd4cGJtc3VZV1JrUlhabGJuUk1hWE4wWlc1bGNpZ25iRzloWkNjc0lHeHZZV1JsWkNrN1hHNGdJQ0FnYUdWaFpDNWhjSEJsYm1SRGFHbHNaQ2hzYVc1cktUdGNiaUFnZlNrN1hHNTlPMXh1WEc0dktpcGNiaUFxSUVWdWRXMGdhblZ6ZENCbWIzSWdkVzVwWm5rZ1ptbHNaWE4wWVdOcklHMXZaSFZzWlNCdVlXMWxjMXh1SUNvdlhHNWxlSEJ2Y25RZ1pXNTFiU0JHU1V4RlUxUkJRMHRmVFU5RVZVeEZVeUI3WEc0Z0lFWkpURVZUVkVGRFMxOVRSRXNnUFNBblptbHNaWE4wWVdOckxYTmtheWNzWEc0Z0lGUlNRVTVUUms5U1RWTmZWVWtnUFNBbmRISmhibk5tYjNKdGN5MTFhU2NzWEc0Z0lGQkpRMHRGVWlBOUlDZHdhV05yWlhJbkxGeHVmVHRjYmlKZGZRPT0iXSwic291cmNlUm9vdCI6IiJ9

@@ -68,4 +68,4 @@ const MODULE_PREFIX = 'fs-loader-';

}
id = MODULE_PREFIX + id;
let moduleDefinition = modules[id];
id = MODULE_PREFIX + id;
if (!moduleDefinition) {

@@ -165,2 +165,2 @@ modules[id] = {};

;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDO0FBQ25DLE1BQU0sWUFBWSxHQUFRLEVBQUUsQ0FBQztBQWU3QixNQUFNLHlCQUF5QixHQUFHLEdBQUcsRUFBRTtJQUNyQyxJQUFJLE1BQVUsQ0FBQztJQUVmLDJEQUEyRDtJQUMzRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtRQUNqQyxNQUFNLEdBQUcsWUFBWSxDQUFDO0tBQ3ZCO1NBQU07UUFDTCxNQUFNLEdBQUcsTUFBTSxDQUFBO0tBQ2hCO0lBRUQsYUFBYTtJQUNiLElBQUksU0FBUyxHQUFjLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztJQUVyRCxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ2QsU0FBUyxHQUFHO1lBQ1YsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBRUYsTUFBTSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztLQUN2QztJQUVELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFO1FBQ3RCLFNBQVMsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0tBQ3hCO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBRyx5QkFBeUIsRUFBRSxDQUFDO0FBQ3ZELE1BQU0sT0FBTyxHQUFHLGtCQUFrQixJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztBQUVqRTs7Ozs7O0dBTUc7QUFDSCxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFJLEVBQUU7SUFDNUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDOUM7U0FBTTtRQUNMLElBQUksQ0FBQyxtQkFBbUIs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QUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxpQkFJWDtBQUpELFdBQVksaUJBQWlCO0lBQzNCLG9EQUErQixDQUFBO0lBQy9CLG9EQUErQixDQUFBO0lBQy9CLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBSTVCO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IE1PRFVMRV9QUkVGSVggPSAnZnMtbG9hZGVyLSc7XG5jb25zdCBnbG9iYWxIb2xkZXI6IGFueSA9IHt9O1xuXG5leHBvcnQgdHlwZSBNb2R1bGVEZWYgPSB7XG4gIHByb21pc2U/OiBQcm9taXNlPGFueT5cbiAgcmVzb2x2ZVByb21pc2U/OiBhbnk7XG4gIGluc3RhbmNlPzogYW55O1xuICBtZXRhZGF0YT86IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgTmFtZXNwYWNlID0ge1xuICAgIG1vZHVsZXM6IHtcbiAgICAgW2tleTogc3RyaW5nXTogTW9kdWxlRGVmXG4gICAgfVxufTtcblxuY29uc3QgaW5pdGlhbGl6ZUdsb2JhbE5hbWVzcGFjZSA9ICgpID0+IHtcbiAgbGV0IGhvbGRlcjphbnk7XG5cbiAgLy8gaWYgdGhlcmUgaXMgbm8gd2luZG93IG9iaiB1c2Ugbm9kZWpzIGdsb2JhbCBsaWIgdmFyaWFibGVcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgaG9sZGVyID0gZ2xvYmFsSG9sZGVyO1xuICB9IGVsc2Uge1xuICAgIGhvbGRlciA9IHdpbmRvd1xuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBsZXQgbmFtZXNwYWNlOiBOYW1lc3BhY2UgPSBob2xkZXIuZmlsZXN0YWNrSW50ZXJuYWxzO1xuXG4gIGlmICghbmFtZXNwYWNlKSB7XG4gICAgbmFtZXNwYWNlID0ge1xuICAgICAgbW9kdWxlczoge30sXG4gICAgfTtcblxuICAgIGhvbGRlci5maWxlc3RhY2tJbnRlcm5hbHMgPSBuYW1lc3BhY2U7XG4gIH1cblxuICBpZiAoIW5hbWVzcGFjZS5tb2R1bGVzKSB7XG4gICAgbmFtZXNwYWNlLm1vZHVsZXMgPSB7fTtcbiAgfVxuICBcbiAgcmV0dXJuIG5hbWVzcGFjZTtcbn07XG5cbmNvbnN0IGZpbGVzdGFja0ludGVybmFscyA9IGluaXRpYWxpemVHbG9iYWxOYW1lc3BhY2UoKTtcbmNvbnN0IG1vZHVsZXMgPSBmaWxlc3RhY2tJbnRlcm5hbHMgJiYgZmlsZXN0YWNrSW50ZXJuYWxzLm1vZHVsZXM7XG5cbi8qKlxuICogUmVtb3ZlIGxpc3RlbmVycyAoYnJvd3NlciBjb21wYXRpYmxlKVxuICogXG4gKiBAcGFyYW0gbm9kZSBcbiAqIEBwYXJhbSBmdW5jIFxuICogQHBhcmFtIG5hbWUgXG4gKi9cbmNvbnN0IHJlbW92ZUxpc3RlbmVyID0gKG5vZGUsIGZ1bmMsIG5hbWUsICkgPT4ge1xuICBpZiAobm9kZS5kZXRhY2hFdmVudCkge1xuICAgIG5vZGUuZGV0YWNoRXZlbnQoJ29ucmVhZHlzdGF0ZWNoYW5nZScsIGZ1bmMpO1xuICB9IGVsc2Uge1xuICAgIG5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihuYW1lLCBmdW5jLCBmYWxzZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBMb2FkIG11bHRpcGxlIG1vZHVsZXNcbiAqIFxuICogQHBhcmFtIHsqfSBtb2R1bGVzIFxuICovXG5leHBvcnQgY29uc3QgbG9hZE1vZHVsZXMgPSAobW9kdWxlc0xpc3QpID0+IFByb21pc2UuYWxsKG1vZHVsZXNMaXN0Lm1hcCgoeyBpZCwgdXJsIH0pID0+IGxvYWRNb2R1bGUoaWQsIHVybCkpKS50aGVuKChyZXMpID0+IHtcbiAgY29uc3QgdG9SZXR1cm4gPSB7fTtcblxuICByZXMuZm9yRWFjaCgobW9kLCBpZHgpID0+IHtcbiAgICBjb25zdCBlbCA9IG1vZHVsZXNMaXN0W2lkeF07XG4gICAgdG9SZXR1cm5bZWwuaWRdID0gbW9kO1xuICB9KTtcblxuICByZXR1cm4gdG9SZXR1cm47XG59KTtcblxuLyoqXG4gKiBMb2FkIHNpbmdsZSBtb2R1bGUgZnJvbSB1cmwgd2l0aCBnaXZlbiBpZFxuICpcbiAqIEBwYXJhbSB7Kn0gaWQgLSBtb2R1bGUgaWQgXG4gKiBAcGFyYW0geyp9IHVybFxuICovXG5leHBvcnQgY29uc3QgbG9hZE1vZHVsZSA9IChpZDogc3RyaW5nLCB1cmw6IHN0cmluZykgPT4ge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCdMb2FkIG1vZHVsZSBpcyB3b3JraW5nIG9ubHkgb24gYnJvd3NlciBlbnYnKSk7XG4gIH1cblxuICBpZiAoIWlkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNb2R1bGUgaWQgaXMgcmVxdWlyZWQnKVxuICB9XG5cbiAgbGV0IG1vZHVsZURlZmluaXRpb24gPSBtb2R1bGVzW2lkXTtcblxuICBpZCA9ICBNT0RVTEVfUFJFRklYICsgaWQ7XG5cbiAgaWYgKCFtb2R1bGVEZWZpbml0aW9uKSB7XG4gICAgbW9kdWxlc1tpZF0gPSB7fTtcbiAgICBtb2R1bGVEZWZpbml0aW9uID0gbW9kdWxlc1tpZF07XG4gIH1cblxuICBpZiAobW9kdWxlRGVmaW5pdGlvbi5pbnN0YW5jZSkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobW9kdWxlRGVmaW5pdGlvbi5pbnN0YW5jZSk7XG4gIH1cblxuICBpZiAobW9kdWxlRGVmaW5pdGlvbi5wcm9taXNlKSB7XG4gICAgcmV0dXJuIG1vZHVsZURlZmluaXRpb24ucHJvbWlzZTtcbiAgfVxuXG4gIHJldHVybiBtb2R1bGVEZWZpbml0aW9uLnByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgcmVhZHlTdGF0ZUNoYW5nZSA9IChldnQ6IGFueSkgPT4ge1xuICAgICAgaWYgKGV2dC50eXBlID09PSAnbG9hZCcgfHwgKC9eKGNvbXBsZXRlfGxvYWRlZCkkLy50ZXN0KChldnQuY3VycmVudFRhcmdldCB8fCBldnQuc3JjRWxlbWVudCkucmVhZHlTdGF0ZSkpKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSAgZXZ0LmN1cnJlbnRUYXJnZXQgfHwgZXZ0LnNyY0VsZW1lbnQ7XG5cbiAgICAgICAgcmVtb3ZlTGlzdGVuZXIobm9kZSwgcmVhZHlTdGF0ZUNoYW5nZSwgJ2xvYWQnKTtcbiAgICAgICAgcmVtb3ZlTGlzdGVuZXIobm9kZSwgcmVqZWN0LCAnZXJyb3InKTtcblxuICAgICAgICAvLyBzbG93IGRvdyBjaGVja2luZyBpZiBtb2R1bGUgaXMgbG9hZGVkIHRvIGVuc3VyZSB0aGF0IHNjcmlwdCB0aGF0ICByZWdpc3RlciBtb2R1bGUgaXMgY2FsbGVkXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZShtb2R1bGVzW2lkXSA/IG1vZHVsZXNbaWRdLmluc3RhbmNlIDogdW5kZWZpbmVkKSwgMTApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIFxuICAgIHNjcmlwdC5pZCA9IGlkO1xuXG4gICAgLy8gQHRzLWlnbm9yZSBmaXggZm9yIElFXG4gICAgaWYgKHNjcmlwdC5hdHRhY2hFdmVudCAmJiAhKHNjcmlwdC5hdHRhY2hFdmVudC50b1N0cmluZyAmJiBzY3JpcHQuYXR0YWNoRXZlbnQudG9TdHJpbmcoKS5pbmRleE9mKCdbbmF0aXZlIGNvZGUnKSA8IDApKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBzY3JpcHQuYXR0YWNoRXZlbnQoJ29ucmVhZHlzdGF0ZWNoYW5nZScsIHJlYWR5U3RhdGVDaGFuZ2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlYWR5U3RhdGVDaGFuZ2UsIGZhbHNlKTtcbiAgICAgIHNjcmlwdC5hZGRFdmVudExpc3RlbmVyKCdvbmVycm9yJywgcmVqZWN0LCBmYWxzZSk7XG4gICAgfVxuXG4gICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgnY3Jvc3NvcmlnaW4nLCAnYW5vbnltb3VzJyk7XG4gICAgc2NyaXB0LnNldEF0dHJpYnV0ZSgnY2hhcnNldCcsICd1dGYtOCcpO1xuICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoJ2FzeW5jJywgJ3RydWUnKTtcblxuICAgIHNjcmlwdC5zcmMgPSB1cmw7XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG4gIH0pO1xufTtcblxuLyoqXG4gKiBSZWdpc3RlciB0aGF0IG1vZHVsZSBpcyByZWFkeVxuICogXG4gKiBAcGFyYW0ge3N0cmluZ30gaWQgXG4gKiBAcGFyYW0ge2FueX0gaW5zdGFuY2UgXG4gKiBAcGFyYW0ge2FueX0gbWV0YWRhdGEgLSBhZGRpdGlvbmFsIG1vZHVsZSBtZXRhZGF0YSBsaWtlIHZlcnNpb25cbiAqL1xuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyTW9kdWxlID0gKGlkOiBzdHJpbmcsIGluc3RhbmNlOiBhbnksIG1ldGFkYXRhPzogYW55KSA9PiB7XG4gIC8vIGxvYWRlciBub3Qgd29ya2luZyBvbiBub2RlanMgZW52c1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIWlkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNb2R1bGUgaWQgaXMgcmVxdWlyZWQnKVxuICB9XG5cbiAgaWYgKCFtb2R1bGVzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdMb2FkZXIgaXMgbm90IGluaXRpYWxpemVkJylcbiAgfVxuXG4gIGlkID0gTU9EVUxFX1BSRUZJWCArIGlkO1xuXG4gIGlmIChtb2R1bGVzW2lkXSkge1xuICAgIG1vZHVsZXNbaWRdID0geyBpbnN0YW5jZSwgbWV0YWRhdGEgfVxuICB9XG59O1xuXG4vKipcbiAqIExvYWQgZXh0ZXJuYWwgY3NzIGZyb20gZ2l2ZW4gdXJsXG4gKiBcbiAqIEBwYXJhbSB7Kn0gdXJsIFxuICovXG5leHBvcnQgY29uc3QgbG9hZENzcyA9ICh1cmwpID0+IHtcbiAgY29uc3QgYWxyZWFkeUFkZGVkVGhpc1RhZyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGxpbmtbaHJlZj1cIiR7dXJsfVwiXWApO1xuICBpZiAoYWxyZWFkeUFkZGVkVGhpc1RhZyAhPT0gbnVsbCkge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGNvbnN0IGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG5cbiAgICBjb25zdCBsb2FkZWQgPSAoKSA9PiB7XG4gICAgICByZXNvbHZlKCk7XG4gICAgICBsaW5rLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBsb2FkZWQpO1xuICAgIH07XG5cbiAgICBsaW5rLnJlbCA9ICdzdHlsZXNoZWV0JztcbiAgICBsaW5rLmhyZWYgPSB1cmw7XG4gICAgbGluay5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgbG9hZGVkKTtcbiAgICBoZWFkLmFwcGVuZENoaWxkKGxpbmspO1xuICB9KTtcbn07XG5cbi8qKlxuICogRW51bSBqdXN0IGZvciB1bmlmeSBmaWxlc3RhY2sgbW9kdWxlIG5hbWVzXG4gKi9cbmV4cG9ydCBlbnVtIEZJTEVTVEFDS19NT0RVTEVTIHtcbiAgRklMRVNUQUNLX1NESyA9ICdmaWxlc3RhY2stc2RrJyxcbiAgVFJBTlNGT1JNU19VSSA9ICd0cmFuc2Zvcm1zLXVpJyxcbiAgUElDS0VSID0gJ3BpY2tlcicsXG59O1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDO0FBQ25DLE1BQU0sWUFBWSxHQUFRLEVBQUUsQ0FBQztBQWU3QixNQUFNLHlCQUF5QixHQUFHLEdBQUcsRUFBRTtJQUNyQyxJQUFJLE1BQVUsQ0FBQztJQUVmLDJEQUEyRDtJQUMzRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRTtRQUNqQyxNQUFNLEdBQUcsWUFBWSxDQUFDO0tBQ3ZCO1NBQU07UUFDTCxNQUFNLEdBQUcsTUFBTSxDQUFBO0tBQ2hCO0lBRUQsYUFBYTtJQUNiLElBQUksU0FBUyxHQUFjLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQztJQUVyRCxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ2QsU0FBUyxHQUFHO1lBQ1YsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBRUYsTUFBTSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQztLQUN2QztJQUVELElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFO1FBQ3RCLFNBQVMsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0tBQ3hCO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBRyx5QkFBeUIsRUFBRSxDQUFDO0FBQ3ZELE1BQU0sT0FBTyxHQUFHLGtCQUFrQixJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztBQUVqRTs7Ozs7O0dBTUc7QUFDSCxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFJLEVBQUU7SUFDNUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDOUM7U0FBTTtRQUNMLElBQUksQ0FBQyxtQkFBbUIs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QUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxpQkFJWDtBQUpELFdBQVksaUJBQWlCO0lBQzNCLG9EQUErQixDQUFBO0lBQy9CLG9EQUErQixDQUFBO0lBQy9CLHNDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBSTVCO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IE1PRFVMRV9QUkVGSVggPSAnZnMtbG9hZGVyLSc7XG5jb25zdCBnbG9iYWxIb2xkZXI6IGFueSA9IHt9O1xuXG5leHBvcnQgdHlwZSBNb2R1bGVEZWYgPSB7XG4gIHByb21pc2U/OiBQcm9taXNlPGFueT5cbiAgcmVzb2x2ZVByb21pc2U/OiBhbnk7XG4gIGluc3RhbmNlPzogYW55O1xuICBtZXRhZGF0YT86IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgTmFtZXNwYWNlID0ge1xuICAgIG1vZHVsZXM6IHtcbiAgICAgW2tleTogc3RyaW5nXTogTW9kdWxlRGVmXG4gICAgfVxufTtcblxuY29uc3QgaW5pdGlhbGl6ZUdsb2JhbE5hbWVzcGFjZSA9ICgpID0+IHtcbiAgbGV0IGhvbGRlcjphbnk7XG5cbiAgLy8gaWYgdGhlcmUgaXMgbm8gd2luZG93IG9iaiB1c2Ugbm9kZWpzIGdsb2JhbCBsaWIgdmFyaWFibGVcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgaG9sZGVyID0gZ2xvYmFsSG9sZGVyO1xuICB9IGVsc2Uge1xuICAgIGhvbGRlciA9IHdpbmRvd1xuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBsZXQgbmFtZXNwYWNlOiBOYW1lc3BhY2UgPSBob2xkZXIuZmlsZXN0YWNrSW50ZXJuYWxzO1xuXG4gIGlmICghbmFtZXNwYWNlKSB7XG4gICAgbmFtZXNwYWNlID0ge1xuICAgICAgbW9kdWxlczoge30sXG4gICAgfTtcblxuICAgIGhvbGRlci5maWxlc3RhY2tJbnRlcm5hbHMgPSBuYW1lc3BhY2U7XG4gIH1cblxuICBpZiAoIW5hbWVzcGFjZS5tb2R1bGVzKSB7XG4gICAgbmFtZXNwYWNlLm1vZHVsZXMgPSB7fTtcbiAgfVxuICBcbiAgcmV0dXJuIG5hbWVzcGFjZTtcbn07XG5cbmNvbnN0IGZpbGVzdGFja0ludGVybmFscyA9IGluaXRpYWxpemVHbG9iYWxOYW1lc3BhY2UoKTtcbmNvbnN0IG1vZHVsZXMgPSBmaWxlc3RhY2tJbnRlcm5hbHMgJiYgZmlsZXN0YWNrSW50ZXJuYWxzLm1vZHVsZXM7XG5cbi8qKlxuICogUmVtb3ZlIGxpc3RlbmVycyAoYnJvd3NlciBjb21wYXRpYmxlKVxuICogXG4gKiBAcGFyYW0gbm9kZSBcbiAqIEBwYXJhbSBmdW5jIFxuICogQHBhcmFtIG5hbWUgXG4gKi9cbmNvbnN0IHJlbW92ZUxpc3RlbmVyID0gKG5vZGUsIGZ1bmMsIG5hbWUsICkgPT4ge1xuICBpZiAobm9kZS5kZXRhY2hFdmVudCkge1xuICAgIG5vZGUuZGV0YWNoRXZlbnQoJ29ucmVhZHlzdGF0ZWNoYW5nZScsIGZ1bmMpO1xuICB9IGVsc2Uge1xuICAgIG5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihuYW1lLCBmdW5jLCBmYWxzZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBMb2FkIG11bHRpcGxlIG1vZHVsZXNcbiAqIFxuICogQHBhcmFtIHsqfSBtb2R1bGVzIFxuICovXG5leHBvcnQgY29uc3QgbG9hZE1vZHVsZXMgPSAobW9kdWxlc0xpc3QpID0+IFByb21pc2UuYWxsKG1vZHVsZXNMaXN0Lm1hcCgoeyBpZCwgdXJsIH0pID0+IGxvYWRNb2R1bGUoaWQsIHVybCkpKS50aGVuKChyZXMpID0+IHtcbiAgY29uc3QgdG9SZXR1cm4gPSB7fTtcblxuICByZXMuZm9yRWFjaCgobW9kLCBpZHgpID0+IHtcbiAgICBjb25zdCBlbCA9IG1vZHVsZXNMaXN0W2lkeF07XG4gICAgdG9SZXR1cm5bZWwuaWRdID0gbW9kO1xuICB9KTtcblxuICByZXR1cm4gdG9SZXR1cm47XG59KTtcblxuLyoqXG4gKiBMb2FkIHNpbmdsZSBtb2R1bGUgZnJvbSB1cmwgd2l0aCBnaXZlbiBpZFxuICpcbiAqIEBwYXJhbSB7Kn0gaWQgLSBtb2R1bGUgaWQgXG4gKiBAcGFyYW0geyp9IHVybFxuICovXG5leHBvcnQgY29uc3QgbG9hZE1vZHVsZSA9IChpZDogc3RyaW5nLCB1cmw6IHN0cmluZykgPT4ge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCdMb2FkIG1vZHVsZSBpcyB3b3JraW5nIG9ubHkgb24gYnJvd3NlciBlbnYnKSk7XG4gIH1cblxuICBpZiAoIWlkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNb2R1bGUgaWQgaXMgcmVxdWlyZWQnKVxuICB9XG5cbiAgaWQgPSAgTU9EVUxFX1BSRUZJWCArIGlkO1xuICBsZXQgbW9kdWxlRGVmaW5pdGlvbiA9IG1vZHVsZXNbaWRdO1xuXG4gIGlmICghbW9kdWxlRGVmaW5pdGlvbikge1xuICAgIG1vZHVsZXNbaWRdID0ge307XG4gICAgbW9kdWxlRGVmaW5pdGlvbiA9IG1vZHVsZXNbaWRdO1xuICB9XG5cbiAgaWYgKG1vZHVsZURlZmluaXRpb24uaW5zdGFuY2UpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG1vZHVsZURlZmluaXRpb24uaW5zdGFuY2UpO1xuICB9XG5cbiAgaWYgKG1vZHVsZURlZmluaXRpb24ucHJvbWlzZSkge1xuICAgIHJldHVybiBtb2R1bGVEZWZpbml0aW9uLnByb21pc2U7XG4gIH1cblxuICByZXR1cm4gbW9kdWxlRGVmaW5pdGlvbi5wcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHJlYWR5U3RhdGVDaGFuZ2UgPSAoZXZ0OiBhbnkpID0+IHtcbiAgICAgIGlmIChldnQudHlwZSA9PT0gJ2xvYWQnIHx8ICgvXihjb21wbGV0ZXxsb2FkZWQpJC8udGVzdCgoZXZ0LmN1cnJlbnRUYXJnZXQgfHwgZXZ0LnNyY0VsZW1lbnQpLnJlYWR5U3RhdGUpKSkge1xuICAgICAgICBjb25zdCBub2RlID0gIGV2dC5jdXJyZW50VGFyZ2V0IHx8IGV2dC5zcmNFbGVtZW50O1xuXG4gICAgICAgIHJlbW92ZUxpc3RlbmVyKG5vZGUsIHJlYWR5U3RhdGVDaGFuZ2UsICdsb2FkJyk7XG4gICAgICAgIHJlbW92ZUxpc3RlbmVyKG5vZGUsIHJlamVjdCwgJ2Vycm9yJyk7XG5cbiAgICAgICAgLy8gc2xvdyBkb3cgY2hlY2tpbmcgaWYgbW9kdWxlIGlzIGxvYWRlZCB0byBlbnN1cmUgdGhhdCBzY3JpcHQgdGhhdCAgcmVnaXN0ZXIgbW9kdWxlIGlzIGNhbGxlZFxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlc29sdmUobW9kdWxlc1tpZF0gPyBtb2R1bGVzW2lkXS5pbnN0YW5jZSA6IHVuZGVmaW5lZCksIDEwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICBcbiAgICBzY3JpcHQuaWQgPSBpZDtcblxuICAgIC8vIEB0cy1pZ25vcmUgZml4IGZvciBJRVxuICAgIGlmIChzY3JpcHQuYXR0YWNoRXZlbnQgJiYgIShzY3JpcHQuYXR0YWNoRXZlbnQudG9TdHJpbmcgJiYgc2NyaXB0LmF0dGFjaEV2ZW50LnRvU3RyaW5nKCkuaW5kZXhPZignW25hdGl2ZSBjb2RlJykgPCAwKSkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgc2NyaXB0LmF0dGFjaEV2ZW50KCdvbnJlYWR5c3RhdGVjaGFuZ2UnLCByZWFkeVN0YXRlQ2hhbmdlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZWFkeVN0YXRlQ2hhbmdlLCBmYWxzZSk7XG4gICAgICBzY3JpcHQuYWRkRXZlbnRMaXN0ZW5lcignb25lcnJvcicsIHJlamVjdCwgZmFsc2UpO1xuICAgIH1cblxuICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoJ2Nyb3Nzb3JpZ2luJywgJ2Fub255bW91cycpO1xuICAgIHNjcmlwdC5zZXRBdHRyaWJ1dGUoJ2NoYXJzZXQnLCAndXRmLTgnKTtcbiAgICBzY3JpcHQuc2V0QXR0cmlidXRlKCdhc3luYycsICd0cnVlJyk7XG5cbiAgICBzY3JpcHQuc3JjID0gdXJsO1xuXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICB9KTtcbn07XG5cbi8qKlxuICogUmVnaXN0ZXIgdGhhdCBtb2R1bGUgaXMgcmVhZHlcbiAqIFxuICogQHBhcmFtIHtzdHJpbmd9IGlkIFxuICogQHBhcmFtIHthbnl9IGluc3RhbmNlIFxuICogQHBhcmFtIHthbnl9IG1ldGFkYXRhIC0gYWRkaXRpb25hbCBtb2R1bGUgbWV0YWRhdGEgbGlrZSB2ZXJzaW9uXG4gKi9cbmV4cG9ydCBjb25zdCByZWdpc3Rlck1vZHVsZSA9IChpZDogc3RyaW5nLCBpbnN0YW5jZTogYW55LCBtZXRhZGF0YT86IGFueSkgPT4ge1xuICAvLyBsb2FkZXIgbm90IHdvcmtpbmcgb24gbm9kZWpzIGVudnNcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKCFpZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignTW9kdWxlIGlkIGlzIHJlcXVpcmVkJylcbiAgfVxuXG4gIGlmICghbW9kdWxlcykge1xuICAgIHRocm93IG5ldyBFcnJvcignTG9hZGVyIGlzIG5vdCBpbml0aWFsaXplZCcpXG4gIH1cblxuICBpZCA9IE1PRFVMRV9QUkVGSVggKyBpZDtcblxuICBpZiAobW9kdWxlc1tpZF0pIHtcbiAgICBtb2R1bGVzW2lkXSA9IHsgaW5zdGFuY2UsIG1ldGFkYXRhIH1cbiAgfVxufTtcblxuLyoqXG4gKiBMb2FkIGV4dGVybmFsIGNzcyBmcm9tIGdpdmVuIHVybFxuICogXG4gKiBAcGFyYW0geyp9IHVybCBcbiAqL1xuZXhwb3J0IGNvbnN0IGxvYWRDc3MgPSAodXJsKSA9PiB7XG4gIGNvbnN0IGFscmVhZHlBZGRlZFRoaXNUYWcgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBsaW5rW2hyZWY9XCIke3VybH1cIl1gKTtcbiAgaWYgKGFscmVhZHlBZGRlZFRoaXNUYWcgIT09IG51bGwpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cblxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBoZWFkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuXG4gICAgY29uc3QgbG9hZGVkID0gKCkgPT4ge1xuICAgICAgcmVzb2x2ZSgpO1xuICAgICAgbGluay5yZW1vdmVFdmVudExpc3RlbmVyKCdsb2FkJywgbG9hZGVkKTtcbiAgICB9O1xuXG4gICAgbGluay5yZWwgPSAnc3R5bGVzaGVldCc7XG4gICAgbGluay5ocmVmID0gdXJsO1xuICAgIGxpbmsuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGxvYWRlZCk7XG4gICAgaGVhZC5hcHBlbmRDaGlsZChsaW5rKTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIEVudW0ganVzdCBmb3IgdW5pZnkgZmlsZXN0YWNrIG1vZHVsZSBuYW1lc1xuICovXG5leHBvcnQgZW51bSBGSUxFU1RBQ0tfTU9EVUxFUyB7XG4gIEZJTEVTVEFDS19TREsgPSAnZmlsZXN0YWNrLXNkaycsXG4gIFRSQU5TRk9STVNfVUkgPSAndHJhbnNmb3Jtcy11aScsXG4gIFBJQ0tFUiA9ICdwaWNrZXInLFxufTtcbiJdfQ==
{
"name": "@filestack/loader",
"version": "1.0.7",
"version": "1.0.8",
"license": "SEE LICENSE IN LICENSE",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc