@volcengine/veplayer 1.14.1-rc.1 → 1.14.1-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.min.js +2 -2
- package/package.json +1 -1
- package/plugin/hlsEncrypt.js +2 -2
package/plugin/hlsEncrypt.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
// Built @Tue,
|
|
2
|
-
!function(a,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.array.index-of.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.array.sort.js"),require("core-js/modules/es.array.splice.js"),require("core-js/modules/es.object.assign.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.regexp.exec.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/es.string.match.js"),require("core-js/modules/es.string.repeat.js"),require("core-js/modules/es.string.replace.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/web.url.js"),require("core-js/modules/web.url.to-json.js"),require("core-js/modules/web.url-search-params.js"),require("core-js/modules/es.array.copy-within.js"),require("core-js/modules/es.array.includes.js"),require("core-js/modules/es.array.join.js"),require("core-js/modules/es.array.last-index-of.js"),require("core-js/modules/es.array.reduce.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.array-buffer.constructor.js"),require("core-js/modules/es.array-buffer.slice.js"),require("core-js/modules/es.number.constructor.js"),require("core-js/modules/es.parse-int.js"),require("core-js/modules/es.regexp.constructor.js"),require("core-js/modules/es.regexp.to-string.js"),require("core-js/modules/es.string.includes.js"),require("core-js/modules/es.string.starts-with.js"),require("core-js/modules/es.typed-array.float32-array.js"),require("core-js/modules/es.typed-array.float64-array.js"),require("core-js/modules/es.typed-array.int8-array.js"),require("core-js/modules/es.typed-array.int16-array.js"),require("core-js/modules/es.typed-array.int32-array.js"),require("core-js/modules/es.typed-array.uint8-array.js"),require("core-js/modules/es.typed-array.uint8-clamped-array.js"),require("core-js/modules/es.typed-array.uint16-array.js"),require("core-js/modules/es.typed-array.uint32-array.js"),require("core-js/modules/es.typed-array.copy-within.js"),require("core-js/modules/es.typed-array.every.js"),require("core-js/modules/es.typed-array.fill.js"),require("core-js/modules/es.typed-array.filter.js"),require("core-js/modules/es.typed-array.find.js"),require("core-js/modules/es.typed-array.find-index.js"),require("core-js/modules/es.typed-array.for-each.js"),require("core-js/modules/es.typed-array.includes.js"),require("core-js/modules/es.typed-array.index-of.js"),require("core-js/modules/es.typed-array.iterator.js"),require("core-js/modules/es.typed-array.join.js"),require("core-js/modules/es.typed-array.last-index-of.js"),require("core-js/modules/es.typed-array.map.js"),require("core-js/modules/es.typed-array.reduce.js"),require("core-js/modules/es.typed-array.reduce-right.js"),require("core-js/modules/es.typed-array.reverse.js"),require("core-js/modules/es.typed-array.set.js"),require("core-js/modules/es.typed-array.slice.js"),require("core-js/modules/es.typed-array.some.js"),require("core-js/modules/es.typed-array.sort.js"),require("core-js/modules/es.typed-array.subarray.js"),require("core-js/modules/es.typed-array.to-locale-string.js"),require("core-js/modules/es.typed-array.to-string.js"),require("xgplayer"),require("core-js/modules/es.date.to-json.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.map.js"),require("core-js/modules/es.number.to-fixed.js"),require("core-js/modules/es.parse-float.js"),require("core-js/modules/esnext.map.delete-all.js"),require("core-js/modules/esnext.map.every.js"),require("core-js/modules/esnext.map.filter.js"),require("core-js/modules/esnext.map.find.js"),require("core-js/modules/esnext.map.find-key.js"),require("core-js/modules/esnext.map.includes.js"),require("core-js/modules/esnext.map.key-of.js"),require("core-js/modules/esnext.map.map-keys.js"),require("core-js/modules/esnext.map.map-values.js"),require("core-js/modules/esnext.map.merge.js"),require("core-js/modules/esnext.map.reduce.js"),require("core-js/modules/esnext.map.some.js"),require("core-js/modules/esnext.map.update.js")):"function"==typeof define&&define.amd?define(["core-js/modules/es.array.concat.js","core-js/modules/es.array.filter.js","core-js/modules/es.array.index-of.js","core-js/modules/es.array.iterator.js","core-js/modules/es.array.map.js","core-js/modules/es.array.sort.js","core-js/modules/es.array.splice.js","core-js/modules/es.object.assign.js","core-js/modules/es.object.to-string.js","core-js/modules/es.promise.js","core-js/modules/es.regexp.exec.js","core-js/modules/es.string.iterator.js","core-js/modules/es.string.match.js","core-js/modules/es.string.repeat.js","core-js/modules/es.string.replace.js","core-js/modules/web.dom-collections.for-each.js","core-js/modules/web.dom-collections.iterator.js","core-js/modules/web.url.js","core-js/modules/web.url.to-json.js","core-js/modules/web.url-search-params.js","core-js/modules/es.array.copy-within.js","core-js/modules/es.array.includes.js","core-js/modules/es.array.join.js","core-js/modules/es.array.last-index-of.js","core-js/modules/es.array.reduce.js","core-js/modules/es.array.slice.js","core-js/modules/es.array-buffer.constructor.js","core-js/modules/es.array-buffer.slice.js","core-js/modules/es.number.constructor.js","core-js/modules/es.parse-int.js","core-js/modules/es.regexp.constructor.js","core-js/modules/es.regexp.to-string.js","core-js/modules/es.string.includes.js","core-js/modules/es.string.starts-with.js","core-js/modules/es.typed-array.float32-array.js","core-js/modules/es.typed-array.float64-array.js","core-js/modules/es.typed-array.int8-array.js","core-js/modules/es.typed-array.int16-array.js","core-js/modules/es.typed-array.int32-array.js","core-js/modules/es.typed-array.uint8-array.js","core-js/modules/es.typed-array.uint8-clamped-array.js","core-js/modules/es.typed-array.uint16-array.js","core-js/modules/es.typed-array.uint32-array.js","core-js/modules/es.typed-array.copy-within.js","core-js/modules/es.typed-array.every.js","core-js/modules/es.typed-array.fill.js","core-js/modules/es.typed-array.filter.js","core-js/modules/es.typed-array.find.js","core-js/modules/es.typed-array.find-index.js","core-js/modules/es.typed-array.for-each.js","core-js/modules/es.typed-array.includes.js","core-js/modules/es.typed-array.index-of.js","core-js/modules/es.typed-array.iterator.js","core-js/modules/es.typed-array.join.js","core-js/modules/es.typed-array.last-index-of.js","core-js/modules/es.typed-array.map.js","core-js/modules/es.typed-array.reduce.js","core-js/modules/es.typed-array.reduce-right.js","core-js/modules/es.typed-array.reverse.js","core-js/modules/es.typed-array.set.js","core-js/modules/es.typed-array.slice.js","core-js/modules/es.typed-array.some.js","core-js/modules/es.typed-array.sort.js","core-js/modules/es.typed-array.subarray.js","core-js/modules/es.typed-array.to-locale-string.js","core-js/modules/es.typed-array.to-string.js","xgplayer","core-js/modules/es.date.to-json.js","core-js/modules/es.object.keys.js","core-js/modules/es.object.get-own-property-descriptor.js","core-js/modules/es.map.js","core-js/modules/es.number.to-fixed.js","core-js/modules/es.parse-float.js","core-js/modules/esnext.map.delete-all.js","core-js/modules/esnext.map.every.js","core-js/modules/esnext.map.filter.js","core-js/modules/esnext.map.find.js","core-js/modules/esnext.map.find-key.js","core-js/modules/esnext.map.includes.js","core-js/modules/esnext.map.key-of.js","core-js/modules/esnext.map.map-keys.js","core-js/modules/esnext.map.map-values.js","core-js/modules/esnext.map.merge.js","core-js/modules/esnext.map.reduce.js","core-js/modules/esnext.map.some.js","core-js/modules/esnext.map.update.js"],e):(a="undefined"!=typeof globalThis?globalThis:a||self).EncryptHlsPlugin=e(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,a.Player)}(this,(function(a,e,f,d,t,b,r,c,n,i,o,s,u,l,h,p,v,y,m,g,_,E,k,S,w,x,T,A,I,D,O,R,L,C,P,j,M,B,U,N,F,G,V,q,z,K,H,$,W,Y,X,Q,J,Z,aa,ea,fa,da,ta,ba,ra,ca,na,ia,oa,sa,ua){"use strict";function la(a,e){(null==e||e>a.length)&&(e=a.length);for(var f=0,d=Array(e);f<e;f++)d[f]=a[f];return d}function ha(a,e,f,d,t,b,r){try{var c=a[b](r),n=c.value}catch(i){return void f(i)}c.done?e(n):Promise.resolve(n).then(d,t)}function pa(a){return function(){var e=this,f=arguments;return new Promise((function(d,t){var b=a.apply(e,f);function r(a){ha(b,d,t,r,c,"next",a)}function c(a){ha(b,d,t,r,c,"throw",a)}r(void 0)}))}}function va(a,e,f){return e=Sa(e),function(a,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}(a)}(a,xa()?Reflect.construct(e,f||[],Sa(a).constructor):e.apply(a,f))}function ya(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function ma(a,e,f){if(xa())return Reflect.construct.apply(null,arguments);var d=[null];d.push.apply(d,e);var t=new(a.bind.apply(a,d));return f&&Oa(t,f.prototype),t}function ga(a,e){for(var f=0;f<e.length;f++){var d=e[f];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,Ca(d.key),d)}}function _a(a,e,f){return e&&ga(a.prototype,e),f&&ga(a,f),Object.defineProperty(a,"prototype",{writable:!1}),a}function Ea(a,e,f){return(e=Ca(e))in a?Object.defineProperty(a,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):a[e]=f,a}function ka(){return ka="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(a,e,f){var d=function(a,e){for(;!{}.hasOwnProperty.call(a,e)&&null!==(a=Sa(a)););return a}(a,e);if(d){var t=Object.getOwnPropertyDescriptor(d,e);return t.get?t.get.call(arguments.length<3?a:f):t.value}},ka.apply(null,arguments)}function Sa(a){return(Sa=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)})(a)}function wa(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),e&&Oa(a,e)}function xa(){try{var a=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(xa=function(){return!!a})()}function Ta(a,e){var f=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);e&&(d=d.filter((function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable}))),f.push.apply(f,d)}return f}function Aa(a){for(var e=1;e<arguments.length;e++){var f=null!=arguments[e]?arguments[e]:{};e%2?Ta(Object(f),!0).forEach((function(e){Ea(a,e,f[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(f)):Ta(Object(f)).forEach((function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(f,e))}))}return a}function Ia(a,e){if(null==a)return{};var f,d,t=function(a,e){if(null==a)return{};var f={};for(var d in a)if({}.hasOwnProperty.call(a,d)){if(-1!==e.indexOf(d))continue;f[d]=a[d]}return f}(a,e);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(a);for(d=0;d<b.length;d++)f=b[d],-1===e.indexOf(f)&&{}.propertyIsEnumerable.call(a,f)&&(t[f]=a[f])}return t}function Da(){Da=function(){return e};var a,e={},f=Object.prototype,d=f.hasOwnProperty,t=Object.defineProperty||function(a,e,f){a[e]=f.value},b="function"==typeof Symbol?Symbol:{},r=b.iterator||"@@iterator",c=b.asyncIterator||"@@asyncIterator",n=b.toStringTag||"@@toStringTag";function i(a,e,f){return Object.defineProperty(a,e,{value:f,enumerable:!0,configurable:!0,writable:!0}),a[e]}try{i({},"")}catch(L){i=function(a,e,f){return a[e]=f}}function o(a,e,f,d){var b=e&&e.prototype instanceof y?e:y,r=Object.create(b.prototype),c=new O(d||[]);return t(r,"_invoke",{value:T(a,f,c)}),r}function s(a,e,f){try{return{type:"normal",arg:a.call(e,f)}}catch(d){return{type:"throw",arg:d}}}e.wrap=o;var u="suspendedStart",l="suspendedYield",h="executing",p="completed",v={};function y(){}function m(){}function g(){}var _={};i(_,r,(function(){return this}));var E=Object.getPrototypeOf,k=E&&E(E(R([])));k&&k!==f&&d.call(k,r)&&(_=k);var S=g.prototype=y.prototype=Object.create(_);function w(a){["next","throw","return"].forEach((function(e){i(a,e,(function(a){return this._invoke(e,a)}))}))}function x(a,e){function f(t,b,r,c){var n=s(a[t],a,b);if("throw"!==n.type){var i=n.arg,o=i.value;return o&&"object"==typeof o&&d.call(o,"__await")?e.resolve(o.__await).then((function(a){f("next",a,r,c)}),(function(a){f("throw",a,r,c)})):e.resolve(o).then((function(a){i.value=a,r(i)}),(function(a){return f("throw",a,r,c)}))}c(n.arg)}var b;t(this,"_invoke",{value:function(a,d){function t(){return new e((function(e,t){f(a,d,e,t)}))}return b=b?b.then(t,t):t()}})}function T(e,f,d){var t=u;return function(b,r){if(t===h)throw Error("Generator is already running");if(t===p){if("throw"===b)throw r;return{value:a,done:!0}}for(d.method=b,d.arg=r;;){var c=d.delegate;if(c){var n=A(c,d);if(n){if(n===v)continue;return n}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if(t===u)throw t=p,d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);t=h;var i=s(e,f,d);if("normal"===i.type){if(t=d.done?p:l,i.arg===v)continue;return{value:i.arg,done:d.done}}"throw"===i.type&&(t=p,d.method="throw",d.arg=i.arg)}}}function A(e,f){var d=f.method,t=e.iterator[d];if(t===a)return f.delegate=null,"throw"===d&&e.iterator.return&&(f.method="return",f.arg=a,A(e,f),"throw"===f.method)||"return"!==d&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+d+"' method")),v;var b=s(t,e.iterator,f.arg);if("throw"===b.type)return f.method="throw",f.arg=b.arg,f.delegate=null,v;var r=b.arg;return r?r.done?(f[e.resultName]=r.value,f.next=e.nextLoc,"return"!==f.method&&(f.method="next",f.arg=a),f.delegate=null,v):r:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,v)}function I(a){var e={tryLoc:a[0]};1 in a&&(e.catchLoc=a[1]),2 in a&&(e.finallyLoc=a[2],e.afterLoc=a[3]),this.tryEntries.push(e)}function D(a){var e=a.completion||{};e.type="normal",delete e.arg,a.completion=e}function O(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(I,this),this.reset(!0)}function R(e){if(e||""===e){var f=e[r];if(f)return f.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var t=-1,b=function f(){for(;++t<e.length;)if(d.call(e,t))return f.value=e[t],f.done=!1,f;return f.value=a,f.done=!0,f};return b.next=b}}throw new TypeError(typeof e+" is not iterable")}return m.prototype=g,t(S,"constructor",{value:g,configurable:!0}),t(g,"constructor",{value:m,configurable:!0}),m.displayName=i(g,n,"GeneratorFunction"),e.isGeneratorFunction=function(a){var e="function"==typeof a&&a.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(a){return Object.setPrototypeOf?Object.setPrototypeOf(a,g):(a.__proto__=g,i(a,n,"GeneratorFunction")),a.prototype=Object.create(S),a},e.awrap=function(a){return{__await:a}},w(x.prototype),i(x.prototype,c,(function(){return this})),e.AsyncIterator=x,e.async=function(a,f,d,t,b){void 0===b&&(b=Promise);var r=new x(o(a,f,d,t),b);return e.isGeneratorFunction(f)?r:r.next().then((function(a){return a.done?a.value:r.next()}))},w(S),i(S,n,"Generator"),i(S,r,(function(){return this})),i(S,"toString",(function(){return"[object Generator]"})),e.keys=function(a){var e=Object(a),f=[];for(var d in e)f.push(d);return f.reverse(),function a(){for(;f.length;){var d=f.pop();if(d in e)return a.value=d,a.done=!1,a}return a.done=!0,a}},e.values=R,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=a,this.done=!1,this.delegate=null,this.method="next",this.arg=a,this.tryEntries.forEach(D),!e)for(var f in this)"t"===f.charAt(0)&&d.call(this,f)&&!isNaN(+f.slice(1))&&(this[f]=a)},stop:function(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var f=this;function t(d,t){return c.type="throw",c.arg=e,f.next=d,t&&(f.method="next",f.arg=a),!!t}for(var b=this.tryEntries.length-1;b>=0;--b){var r=this.tryEntries[b],c=r.completion;if("root"===r.tryLoc)return t("end");if(r.tryLoc<=this.prev){var n=d.call(r,"catchLoc"),i=d.call(r,"finallyLoc");if(n&&i){if(this.prev<r.catchLoc)return t(r.catchLoc,!0);if(this.prev<r.finallyLoc)return t(r.finallyLoc)}else if(n){if(this.prev<r.catchLoc)return t(r.catchLoc,!0)}else{if(!i)throw Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return t(r.finallyLoc)}}}},abrupt:function(a,e){for(var f=this.tryEntries.length-1;f>=0;--f){var t=this.tryEntries[f];if(t.tryLoc<=this.prev&&d.call(t,"finallyLoc")&&this.prev<t.finallyLoc){var b=t;break}}b&&("break"===a||"continue"===a)&&b.tryLoc<=e&&e<=b.finallyLoc&&(b=null);var r=b?b.completion:{};return r.type=a,r.arg=e,b?(this.method="next",this.next=b.finallyLoc,v):this.complete(r)},complete:function(a,e){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&e&&(this.next=e),v},finish:function(a){for(var e=this.tryEntries.length-1;e>=0;--e){var f=this.tryEntries[e];if(f.finallyLoc===a)return this.complete(f.completion,f.afterLoc),D(f),v}},catch:function(a){for(var e=this.tryEntries.length-1;e>=0;--e){var f=this.tryEntries[e];if(f.tryLoc===a){var d=f.completion;if("throw"===d.type){var t=d.arg;D(f)}return t}}throw Error("illegal catch attempt")},delegateYield:function(e,f,d){return this.delegate={iterator:R(e),resultName:f,nextLoc:d},"next"===this.method&&(this.arg=a),v}},e}function Oa(a,e){return(Oa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,e){return a.__proto__=e,a})(a,e)}function Ra(a,e,f,d){var t=ka(Sa(1&d?a.prototype:a),e,f);return 2&d&&"function"==typeof t?function(a){return t.apply(f,a)}:t}function La(a){return function(a){if(Array.isArray(a))return la(a)}(a)||function(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}(a)||function(a,e){if(a){if("string"==typeof a)return la(a,e);var f={}.toString.call(a).slice(8,-1);return"Object"===f&&a.constructor&&(f=a.constructor.name),"Map"===f||"Set"===f?Array.from(a):"Arguments"===f||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(f)?la(a,e):void 0}}(a)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ca(a){var e=function(a,e){if("object"!=typeof a||!a)return a;var f=a[Symbol.toPrimitive];if(void 0!==f){var d=f.call(a,e||"default");if("object"!=typeof d)return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(a)}(a,"string");return"symbol"==typeof e?e:e+""}function Pa(a){return(Pa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a})(a)}var ja="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Ma(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var Ba={exports:{}};(function(a){var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==ja?ja:"undefined"!=typeof self?self:{};function f(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var d=function(a){return a&&a.Math==Math&&a},t=d("object"==typeof globalThis&&globalThis)||d("object"==typeof window&&window)||d("object"==typeof self&&self)||d("object"==typeof e&&e)||function(){return this}()||Function("return this")(),b={},r=function(a){try{return!!a()}catch(bv){return!0}},c=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),n={},i={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,s=o&&!i.call({1:2},1);n.f=s?function(a){var e=o(this,a);return!!e&&e.enumerable}:i;var u=function(a,e){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:e}},l={}.toString,h=function(a){return l.call(a).slice(8,-1)},p=h,v="".split,y=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(a){return"String"==p(a)?v.call(a,""):Object(a)}:Object,m=function(a){if(null==a)throw TypeError("Can't call method on "+a);return a},g=y,_=m,E=function(a){return g(_(a))},k=function(a){return"object"==typeof a?null!==a:"function"==typeof a},S=k,w=function(a,e){if(!S(a))return a;var f,d;if(e&&"function"==typeof(f=a.toString)&&!S(d=f.call(a)))return d;if("function"==typeof(f=a.valueOf)&&!S(d=f.call(a)))return d;if(!e&&"function"==typeof(f=a.toString)&&!S(d=f.call(a)))return d;throw TypeError("Can't convert object to primitive value")},x=m,T=function(a){return Object(x(a))},A=T,I={}.hasOwnProperty,D=function(a,e){return I.call(A(a),e)},O=k,R=t.document,L=O(R)&&O(R.createElement),C=function(a){return L?R.createElement(a):{}},P=C,j=!c&&!r((function(){return 7!=Object.defineProperty(P("div"),"a",{get:function(){return 7}}).a})),M=c,B=n,U=u,N=E,F=w,G=D,V=j,q=Object.getOwnPropertyDescriptor;b.f=M?q:function(a,e){if(a=N(a),e=F(e,!0),V)try{return q(a,e)}catch(f){}if(G(a,e))return U(!B.f.call(a,e),a[e])};var z={},K=k,H=function(a){if(!K(a))throw TypeError(String(a)+" is not an object");return a},$=c,W=j,Y=H,X=w,Q=Object.defineProperty;z.f=$?Q:function(a,e,f){if(Y(a),e=X(e,!0),Y(f),W)try{return Q(a,e,f)}catch(d){}if("get"in f||"set"in f)throw TypeError("Accessors not supported");return"value"in f&&(a[e]=f.value),a};var J=z,Z=u,aa=c?function(a,e,f){return J.f(a,e,Z(1,f))}:function(a,e,f){return a[e]=f,a},ea={exports:{}},fa=t,da=aa,ta=function(a,e){try{da(fa,a,e)}catch(f){fa[a]=e}return e},ba=ta,ra="__core-js_shared__",ca=t[ra]||ba(ra,{}),na=ca,ia=Function.toString;"function"!=typeof na.inspectSource&&(na.inspectSource=function(a){return ia.call(a)});var oa=na.inspectSource,sa=oa,ua=t.WeakMap,la="function"==typeof ua&&/native code/.test(sa(ua)),ha={exports:{}},pa=ca;(ha.exports=function(a,e){return pa[a]||(pa[a]=void 0!==e?e:{})})("versions",[]).push({version:"3.12.1",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"});var va,ya,ma,ga=ha.exports,_a=0,Ea=Math.random(),ka=function(a){return"Symbol("+String(void 0===a?"":a)+")_"+(++_a+Ea).toString(36)},Sa=ka,wa=ga("keys"),xa=function(a){return wa[a]||(wa[a]=Sa(a))},Ta={},Aa=la,Ia=k,Da=aa,Oa=D,Ra=ca,La=xa,Ca=Ta,Pa="Object already initialized",Ma=t.WeakMap;if(Aa||Ra.state){var Ba=Ra.state||(Ra.state=new Ma),Ua=Ba.get,Na=Ba.has,Fa=Ba.set;va=function(a,e){if(Na.call(Ba,a))throw new TypeError(Pa);return e.facade=a,Fa.call(Ba,a,e),e},ya=function(a){return Ua.call(Ba,a)||{}},ma=function(a){return Na.call(Ba,a)}}else{var Ga=La("state");Ca[Ga]=!0,va=function(a,e){if(Oa(a,Ga))throw new TypeError(Pa);return e.facade=a,Da(a,Ga,e),e},ya=function(a){return Oa(a,Ga)?a[Ga]:{}},ma=function(a){return Oa(a,Ga)}}var Va={set:va,get:ya,has:ma,enforce:function(a){return ma(a)?ya(a):va(a,{})},getterFor:function(a){return function(e){var f;if(!Ia(e)||(f=ya(e)).type!==a)throw TypeError("Incompatible receiver, "+a+" required");return f}}},qa=t,za=aa,Ka=D,Ha=ta,$a=oa,Wa=Va.get,Ya=Va.enforce,Xa=String(String).split("String");(ea.exports=function(a,e,f,d){var t,b=!!d&&!!d.unsafe,r=!!d&&!!d.enumerable,c=!!d&&!!d.noTargetGet;"function"==typeof f&&("string"!=typeof e||Ka(f,"name")||za(f,"name",e),(t=Ya(f)).source||(t.source=Xa.join("string"==typeof e?e:""))),a!==qa?(b?!c&&a[e]&&(r=!0):delete a[e],r?a[e]=f:za(a,e,f)):r?a[e]=f:Ha(e,f)})(Function.prototype,"toString",(function(){return"function"==typeof this&&Wa(this).source||$a(this)}));var Qa=ea.exports,Ja=t,Za=t,ae=function(a){return"function"==typeof a?a:void 0},ee=function(a,e){return arguments.length<2?ae(Ja[a])||ae(Za[a]):Ja[a]&&Ja[a][e]||Za[a]&&Za[a][e]},fe={},de=Math.ceil,te=Math.floor,be=function(a){return isNaN(a=+a)?0:(a>0?te:de)(a)},re=be,ce=Math.min,ne=function(a){return a>0?ce(re(a),9007199254740991):0},ie=be,oe=Math.max,se=Math.min,ue=function(a,e){var f=ie(a);return f<0?oe(f+e,0):se(f,e)},le=E,he=ne,pe=ue,ve=function(a){return function(e,f,d){var t,b=le(e),r=he(b.length),c=pe(d,r);if(a&&f!=f){for(;r>c;)if((t=b[c++])!=t)return!0}else for(;r>c;c++)if((a||c in b)&&b[c]===f)return a||c||0;return!a&&-1}},ye={includes:ve(!0),indexOf:ve(!1)},me=D,ge=E,_e=ye.indexOf,Ee=Ta,ke=function(a,e){var f,d=ge(a),t=0,b=[];for(f in d)!me(Ee,f)&&me(d,f)&&b.push(f);for(;e.length>t;)me(d,f=e[t++])&&(~_e(b,f)||b.push(f));return b},Se=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],we=ke,xe=Se.concat("length","prototype");fe.f=Object.getOwnPropertyNames||function(a){return we(a,xe)};var Te={};Te.f=Object.getOwnPropertySymbols;var Ae=fe,Ie=Te,De=H,Oe=ee("Reflect","ownKeys")||function(a){var e=Ae.f(De(a)),f=Ie.f;return f?e.concat(f(a)):e},Re=D,Le=Oe,Ce=b,Pe=z,je=r,Me=/#|\.prototype\./,Be=function(a,e){var f=Ne[Ue(a)];return f==Ge||f!=Fe&&("function"==typeof e?je(e):!!e)},Ue=Be.normalize=function(a){return String(a).replace(Me,".").toLowerCase()},Ne=Be.data={},Fe=Be.NATIVE="N",Ge=Be.POLYFILL="P",Ve=Be,qe=t,ze=b.f,Ke=aa,He=Qa,$e=ta,We=function(a,e){for(var f=Le(e),d=Pe.f,t=Ce.f,b=0;b<f.length;b++){var r=f[b];Re(a,r)||d(a,r,t(e,r))}},Ye=Ve,Xe=function(a,e){var f,d,t,b,r,c=a.target,n=a.global,i=a.stat;if(f=n?qe:i?qe[c]||$e(c,{}):(qe[c]||{}).prototype)for(d in e){if(b=e[d],t=a.noTargetGet?(r=ze(f,d))&&r.value:f[d],!Ye(n?d:c+(i?".":"#")+d,a.forced)&&void 0!==t){if(typeof b==typeof t)continue;We(b,t)}(a.sham||t&&t.sham)&&Ke(b,"sham",!0),He(f,d,b,a)}};function Qe(a,e,f,d,t,b,r){try{var c=a[b](r),n=c.value}catch(i){return void f(i)}c.done?e(n):Promise.resolve(n).then(d,t)}function Je(a){return function(){var e=this,f=arguments;return new Promise((function(d,t){var b=a.apply(e,f);function r(a){Qe(b,d,t,r,c,"next",a)}function c(a){Qe(b,d,t,r,c,"throw",a)}r(void 0)}))}}function Ze(a,e,f){return e=tf(e),function(a,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}(a)}(a,rf()?Reflect.construct(e,f||[],tf(a).constructor):e.apply(a,f))}function af(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function ef(a,e){for(var f=0;f<e.length;f++){var d=e[f];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,of(d.key),d)}}function ff(a,e,f){return e&&ef(a.prototype,e),f&&ef(a,f),Object.defineProperty(a,"prototype",{writable:!1}),a}function df(a,e,f){return(e=of(e))in a?Object.defineProperty(a,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):a[e]=f,a}function tf(a){return(tf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)})(a)}function bf(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),e&&nf(a,e)}function rf(){try{var a=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(bv){}return(rf=function(){return!!a})()}function cf(){cf=function(){return e};var a,e={},f=Object.prototype,d=f.hasOwnProperty,t=Object.defineProperty||function(a,e,f){a[e]=f.value},b="function"==typeof Symbol?Symbol:{},r=b.iterator||"@@iterator",c=b.asyncIterator||"@@asyncIterator",n=b.toStringTag||"@@toStringTag";function i(a,e,f){return Object.defineProperty(a,e,{value:f,enumerable:!0,configurable:!0,writable:!0}),a[e]}try{i({},"")}catch(L){i=function(a,e,f){return a[e]=f}}function o(a,e,f,d){var b=e&&e.prototype instanceof y?e:y,r=Object.create(b.prototype),c=new O(d||[]);return t(r,"_invoke",{value:T(a,f,c)}),r}function s(a,e,f){try{return{type:"normal",arg:a.call(e,f)}}catch(d){return{type:"throw",arg:d}}}e.wrap=o;var u="suspendedStart",l="suspendedYield",h="executing",p="completed",v={};function y(){}function m(){}function g(){}var _={};i(_,r,(function(){return this}));var E=Object.getPrototypeOf,k=E&&E(E(R([])));k&&k!==f&&d.call(k,r)&&(_=k);var S=g.prototype=y.prototype=Object.create(_);function w(a){["next","throw","return"].forEach((function(e){i(a,e,(function(a){return this._invoke(e,a)}))}))}function x(a,e){function f(t,b,r,c){var n=s(a[t],a,b);if("throw"!==n.type){var i=n.arg,o=i.value;return o&&"object"==typeof o&&d.call(o,"__await")?e.resolve(o.__await).then((function(a){f("next",a,r,c)}),(function(a){f("throw",a,r,c)})):e.resolve(o).then((function(a){i.value=a,r(i)}),(function(a){return f("throw",a,r,c)}))}c(n.arg)}var b;t(this,"_invoke",{value:function(a,d){function t(){return new e((function(e,t){f(a,d,e,t)}))}return b=b?b.then(t,t):t()}})}function T(e,f,d){var t=u;return function(b,r){if(t===h)throw Error("Generator is already running");if(t===p){if("throw"===b)throw r;return{value:a,done:!0}}for(d.method=b,d.arg=r;;){var c=d.delegate;if(c){var n=A(c,d);if(n){if(n===v)continue;return n}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if(t===u)throw t=p,d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);t=h;var i=s(e,f,d);if("normal"===i.type){if(t=d.done?p:l,i.arg===v)continue;return{value:i.arg,done:d.done}}"throw"===i.type&&(t=p,d.method="throw",d.arg=i.arg)}}}function A(e,f){var d=f.method,t=e.iterator[d];if(t===a)return f.delegate=null,"throw"===d&&e.iterator.return&&(f.method="return",f.arg=a,A(e,f),"throw"===f.method)||"return"!==d&&(f.method="throw",f.arg=new TypeError("The iterator does not provide a '"+d+"' method")),v;var b=s(t,e.iterator,f.arg);if("throw"===b.type)return f.method="throw",f.arg=b.arg,f.delegate=null,v;var r=b.arg;return r?r.done?(f[e.resultName]=r.value,f.next=e.nextLoc,"return"!==f.method&&(f.method="next",f.arg=a),f.delegate=null,v):r:(f.method="throw",f.arg=new TypeError("iterator result is not an object"),f.delegate=null,v)}function I(a){var e={tryLoc:a[0]};1 in a&&(e.catchLoc=a[1]),2 in a&&(e.finallyLoc=a[2],e.afterLoc=a[3]),this.tryEntries.push(e)}function D(a){var e=a.completion||{};e.type="normal",delete e.arg,a.completion=e}function O(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(I,this),this.reset(!0)}function R(e){if(e||""===e){var f=e[r];if(f)return f.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var t=-1,b=function f(){for(;++t<e.length;)if(d.call(e,t))return f.value=e[t],f.done=!1,f;return f.value=a,f.done=!0,f};return b.next=b}}throw new TypeError(typeof e+" is not iterable")}return m.prototype=g,t(S,"constructor",{value:g,configurable:!0}),t(g,"constructor",{value:m,configurable:!0}),m.displayName=i(g,n,"GeneratorFunction"),e.isGeneratorFunction=function(a){var e="function"==typeof a&&a.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(a){return Object.setPrototypeOf?Object.setPrototypeOf(a,g):(a.__proto__=g,i(a,n,"GeneratorFunction")),a.prototype=Object.create(S),a},e.awrap=function(a){return{__await:a}},w(x.prototype),i(x.prototype,c,(function(){return this})),e.AsyncIterator=x,e.async=function(a,f,d,t,b){void 0===b&&(b=Promise);var r=new x(o(a,f,d,t),b);return e.isGeneratorFunction(f)?r:r.next().then((function(a){return a.done?a.value:r.next()}))},w(S),i(S,n,"Generator"),i(S,r,(function(){return this})),i(S,"toString",(function(){return"[object Generator]"})),e.keys=function(a){var e=Object(a),f=[];for(var d in e)f.push(d);return f.reverse(),function a(){for(;f.length;){var d=f.pop();if(d in e)return a.value=d,a.done=!1,a}return a.done=!0,a}},e.values=R,O.prototype={constructor:O,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=a,this.done=!1,this.delegate=null,this.method="next",this.arg=a,this.tryEntries.forEach(D),!e)for(var f in this)"t"===f.charAt(0)&&d.call(this,f)&&!isNaN(+f.slice(1))&&(this[f]=a)},stop:function(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var f=this;function t(d,t){return c.type="throw",c.arg=e,f.next=d,t&&(f.method="next",f.arg=a),!!t}for(var b=this.tryEntries.length-1;b>=0;--b){var r=this.tryEntries[b],c=r.completion;if("root"===r.tryLoc)return t("end");if(r.tryLoc<=this.prev){var n=d.call(r,"catchLoc"),i=d.call(r,"finallyLoc");if(n&&i){if(this.prev<r.catchLoc)return t(r.catchLoc,!0);if(this.prev<r.finallyLoc)return t(r.finallyLoc)}else if(n){if(this.prev<r.catchLoc)return t(r.catchLoc,!0)}else{if(!i)throw Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return t(r.finallyLoc)}}}},abrupt:function(a,e){for(var f=this.tryEntries.length-1;f>=0;--f){var t=this.tryEntries[f];if(t.tryLoc<=this.prev&&d.call(t,"finallyLoc")&&this.prev<t.finallyLoc){var b=t;break}}b&&("break"===a||"continue"===a)&&b.tryLoc<=e&&e<=b.finallyLoc&&(b=null);var r=b?b.completion:{};return r.type=a,r.arg=e,b?(this.method="next",this.next=b.finallyLoc,v):this.complete(r)},complete:function(a,e){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&e&&(this.next=e),v},finish:function(a){for(var e=this.tryEntries.length-1;e>=0;--e){var f=this.tryEntries[e];if(f.finallyLoc===a)return this.complete(f.completion,f.afterLoc),D(f),v}},catch:function(a){for(var e=this.tryEntries.length-1;e>=0;--e){var f=this.tryEntries[e];if(f.tryLoc===a){var d=f.completion;if("throw"===d.type){var t=d.arg;D(f)}return t}}throw Error("illegal catch attempt")},delegateYield:function(e,f,d){return this.delegate={iterator:R(e),resultName:f,nextLoc:d},"next"===this.method&&(this.arg=a),v}},e}function nf(a,e){return(nf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,e){return a.__proto__=e,a})(a,e)}function of(a){var e=function(a,e){if("object"!=typeof a||!a)return a;var f=a[Symbol.toPrimitive];if(void 0!==f){var d=f.call(a,e||"default");if("object"!=typeof d)return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(a)}(a,"string");return"symbol"==typeof e?e:e+""}function sf(a){return(sf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a})(a)}function uf(a){var e="function"==typeof Map?new Map:void 0;return uf=function(a){if(null===a||!function(a){try{return-1!==Function.toString.call(a).indexOf("[native code]")}catch(e){return"function"==typeof a}}(a))return a;if("function"!=typeof a)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(a))return e.get(a);e.set(a,f)}function f(){return function(a,e,f){if(rf())return Reflect.construct.apply(null,arguments);var d=[null];d.push.apply(d,e);var t=new(a.bind.apply(a,d));return f&&nf(t,f.prototype),t}(a,arguments,tf(this).constructor)}return f.prototype=Object.create(a.prototype,{constructor:{value:f,enumerable:!1,writable:!0,configurable:!0}}),nf(f,a)},uf(a)}Xe({global:!0},{globalThis:t});var lf,hf,pf=h,vf=Array.isArray||function(a){return"Array"==pf(a)},yf=w,mf=z,gf=u,_f=function(a,e,f){var d=yf(e);d in a?mf.f(a,d,gf(0,f)):a[d]=f},Ef=ee("navigator","userAgent")||"",kf=Ef,Sf=t.process,wf=Sf&&Sf.versions,xf=wf&&wf.v8;xf?hf=(lf=xf.split("."))[0]<4?1:lf[0]+lf[1]:kf&&(!(lf=kf.match(/Edge\/(\d+)/))||lf[1]>=74)&&(lf=kf.match(/Chrome\/(\d+)/))&&(hf=lf[1]);var Tf=hf&&+hf,Af=Tf,If=r,Df=!!Object.getOwnPropertySymbols&&!If((function(){return!String(Symbol())||!Symbol.sham&&Af&&Af<41})),Of=Df&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Rf=t,Lf=D,Cf=ka,Pf=Df,jf=Of,Mf=ga("wks"),Bf=Rf.Symbol,Uf=jf?Bf:Bf&&Bf.withoutSetter||Cf,Nf=function(a){return Lf(Mf,a)&&(Pf||"string"==typeof Mf[a])||(Pf&&Lf(Bf,a)?Mf[a]=Bf[a]:Mf[a]=Uf("Symbol."+a)),Mf[a]},Ff=k,Gf=vf,Vf=Nf("species"),qf=function(a,e){var f;return Gf(a)&&("function"!=typeof(f=a.constructor)||f!==Array&&!Gf(f.prototype)?Ff(f)&&null===(f=f[Vf])&&(f=void 0):f=void 0),new(void 0===f?Array:f)(0===e?0:e)},zf=r,Kf=Tf,Hf=Nf("species"),$f=function(a){return Kf>=51||!zf((function(){var e=[];return(e.constructor={})[Hf]=function(){return{foo:1}},1!==e[a](Boolean).foo}))},Wf=Xe,Yf=r,Xf=vf,Qf=k,Jf=T,Zf=ne,ad=_f,ed=qf,fd=$f,dd=Tf,td=Nf("isConcatSpreadable"),bd=9007199254740991,rd="Maximum allowed index exceeded",cd=dd>=51||!Yf((function(){var a=[];return a[td]=!1,a.concat()[0]!==a})),nd=fd("concat"),id=function(a){if(!Qf(a))return!1;var e=a[td];return void 0!==e?!!e:Xf(a)};Wf({target:"Array",proto:!0,forced:!cd||!nd},{concat:function(a){var e,f,d,t,b,r=Jf(this),c=ed(r,0),n=0;for(e=-1,d=arguments.length;e<d;e++)if(id(b=-1===e?r:arguments[e])){if(n+(t=Zf(b.length))>bd)throw TypeError(rd);for(f=0;f<t;f++,n++)f in b&&ad(c,n,b[f])}else{if(n>=bd)throw TypeError(rd);ad(c,n++,b)}return c.length=n,c}});var od,sd=ke,ud=Se,ld=Object.keys||function(a){return sd(a,ud)},hd=z,pd=H,vd=ld,yd=c?Object.defineProperties:function(a,e){pd(a);for(var f,d=vd(e),t=d.length,b=0;t>b;)hd.f(a,f=d[b++],e[f]);return a},md=ee("document","documentElement"),gd=H,_d=yd,Ed=Se,kd=Ta,Sd=md,wd=C,xd="prototype",Td="script",Ad=xa("IE_PROTO"),Id=function(){},Dd=function(a){return"<"+Td+">"+a+"</"+Td+">"},Od=function(){try{od=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var a,e,f;Od=od?function(a){a.write(Dd("")),a.close();var e=a.parentWindow.Object;return a=null,e}(od):(e=wd("iframe"),f="java"+Td+":",e.style.display="none",Sd.appendChild(e),e.src=String(f),(a=e.contentWindow.document).open(),a.write(Dd("document.F=Object")),a.close(),a.F);for(var d=Ed.length;d--;)delete Od[xd][Ed[d]];return Od()};kd[Ad]=!0;var Rd=Object.create||function(a,e){var f;return null!==a?(Id[xd]=gd(a),f=new Id,Id[xd]=null,f[Ad]=a):f=Od(),void 0===e?f:_d(f,e)},Ld=Rd,Cd=z,Pd=Nf("unscopables"),jd=Array.prototype;null==jd[Pd]&&Cd.f(jd,Pd,{configurable:!0,value:Ld(null)});var Md,Bd,Ud,Nd={},Fd=!r((function(){function a(){}return a.prototype.constructor=null,Object.getPrototypeOf(new a)!==a.prototype})),Gd=D,Vd=T,qd=Fd,zd=xa("IE_PROTO"),Kd=Object.prototype,Hd=qd?Object.getPrototypeOf:function(a){return a=Vd(a),Gd(a,zd)?a[zd]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?Kd:null},$d=r,Wd=Hd,Yd=aa,Xd=D,Qd=Nf("iterator"),Jd=!1;[].keys&&("next"in(Ud=[].keys())?(Bd=Wd(Wd(Ud)))!==Object.prototype&&(Md=Bd):Jd=!0),(null==Md||$d((function(){var a={};return Md[Qd].call(a)!==a})))&&(Md={}),Xd(Md,Qd)||Yd(Md,Qd,(function(){return this}));var Zd={IteratorPrototype:Md,BUGGY_SAFARI_ITERATORS:Jd},at=z.f,et=D,ft=Nf("toStringTag"),dt=function(a,e,f){a&&!et(a=f?a:a.prototype,ft)&&at(a,ft,{configurable:!0,value:e})},tt=Zd.IteratorPrototype,bt=Rd,rt=u,ct=dt,nt=Nd,it=function(){return this},ot=k,st=H,ut=function(a){if(!ot(a)&&null!==a)throw TypeError("Can't set "+String(a)+" as a prototype");return a},lt=Object.setPrototypeOf||("__proto__"in{}?function(){var a,e=!1,f={};try{(a=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(f,[]),e=f instanceof Array}catch(d){}return function(f,d){return st(f),ut(d),e?a.call(f,d):f.__proto__=d,f}}():void 0),ht=Xe,pt=function(a,e,f){var d=e+" Iterator";return a.prototype=bt(tt,{next:rt(1,f)}),ct(a,d,!1),nt[d]=it,a},vt=Hd,yt=lt,mt=dt,gt=aa,_t=Qa,Et=Nd,kt=Zd.IteratorPrototype,St=Zd.BUGGY_SAFARI_ITERATORS,wt=Nf("iterator"),xt="keys",Tt="values",At="entries",It=function(){return this},Dt=function(a,e,f,d,t,b,r){pt(f,e,d);var c,n,i,o=function(a){if(a===t&&p)return p;if(!St&&a in l)return l[a];switch(a){case xt:case Tt:case At:return function(){return new f(this,a)}}return function(){return new f(this)}},s=e+" Iterator",u=!1,l=a.prototype,h=l[wt]||l["@@iterator"]||t&&l[t],p=!St&&h||o(t),v="Array"==e&&l.entries||h;if(v&&(c=vt(v.call(new a)),kt!==Object.prototype&&c.next&&(vt(c)!==kt&&(yt?yt(c,kt):"function"!=typeof c[wt]&>(c,wt,It)),mt(c,s,!0))),t==Tt&&h&&h.name!==Tt&&(u=!0,p=function(){return h.call(this)}),l[wt]!==p&>(l,wt,p),Et[e]=p,t)if(n={values:o(Tt),keys:b?p:o(xt),entries:o(At)},r)for(i in n)(St||u||!(i in l))&&_t(l,i,n[i]);else ht({target:e,proto:!0,forced:St||u},n);return n},Ot=E,Rt=function(a){jd[Pd][a]=!0},Lt=Nd,Ct=Va,Pt=Dt,jt="Array Iterator",Mt=Ct.set,Bt=Ct.getterFor(jt),Ut=Pt(Array,"Array",(function(a,e){Mt(this,{type:jt,target:Ot(a),index:0,kind:e})}),(function(){var a=Bt(this),e=a.target,f=a.kind,d=a.index++;return!e||d>=e.length?(a.target=void 0,{value:void 0,done:!0}):"keys"==f?{value:d,done:!1}:"values"==f?{value:e[d],done:!1}:{value:[d,e[d]],done:!1}}),"values");Lt.Arguments=Lt.Array,Rt("keys"),Rt("values"),Rt("entries");var Nt="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,Ft=Qa,Gt=function(a,e,f){for(var d in e)Ft(a,d,e[d],f);return a},Vt=function(a,e,f){if(!(a instanceof e))throw TypeError("Incorrect "+(f?f+" ":"")+"invocation");return a},qt=be,zt=ne,Kt=function(a){if(void 0===a)return 0;var e=qt(a),f=zt(e);if(e!==f)throw RangeError("Wrong length or index");return f},Ht=Math.abs,$t=Math.pow,Wt=Math.floor,Yt=Math.log,Xt=Math.LN2,Qt=T,Jt=ue,Zt=ne,ab=function(a){for(var e=Qt(this),f=Zt(e.length),d=arguments.length,t=Jt(d>1?arguments[1]:void 0,f),b=d>2?arguments[2]:void 0,r=void 0===b?f:Jt(b,f);r>t;)e[t++]=a;return e},eb=t,fb=c,db=Nt,tb=aa,bb=Gt,rb=r,cb=Vt,nb=be,ib=ne,ob=Kt,sb={pack:function(a,e,f){var d,t,b,r=new Array(f),c=8*f-e-1,n=(1<<c)-1,i=n>>1,o=23===e?$t(2,-24)-$t(2,-77):0,s=a<0||0===a&&1/a<0?1:0,u=0;for((a=Ht(a))!=a||a===1/0?(t=a!=a?1:0,d=n):(d=Wt(Yt(a)/Xt),a*(b=$t(2,-d))<1&&(d--,b*=2),(a+=d+i>=1?o/b:o*$t(2,1-i))*b>=2&&(d++,b/=2),d+i>=n?(t=0,d=n):d+i>=1?(t=(a*b-1)*$t(2,e),d+=i):(t=a*$t(2,i-1)*$t(2,e),d=0));e>=8;r[u++]=255&t,t/=256,e-=8);for(d=d<<e|t,c+=e;c>0;r[u++]=255&d,d/=256,c-=8);return r[--u]|=128*s,r},unpack:function(a,e){var f,d=a.length,t=8*d-e-1,b=(1<<t)-1,r=b>>1,c=t-7,n=d-1,i=a[n--],o=127&i;for(i>>=7;c>0;o=256*o+a[n],n--,c-=8);for(f=o&(1<<-c)-1,o>>=-c,c+=e;c>0;f=256*f+a[n],n--,c-=8);if(0===o)o=1-r;else{if(o===b)return f?NaN:i?-1/0:1/0;f+=$t(2,e),o-=r}return(i?-1:1)*f*$t(2,o-e)}},ub=Hd,lb=lt,hb=fe.f,pb=z.f,vb=ab,yb=dt,mb=Va.get,gb=Va.set,_b="ArrayBuffer",Eb="DataView",kb="prototype",Sb="Wrong index",wb=eb[_b],xb=wb,Tb=eb[Eb],Ab=Tb&&Tb[kb],Ib=Object.prototype,Db=eb.RangeError,Ob=sb.pack,Rb=sb.unpack,Lb=function(a){return[255&a]},Cb=function(a){return[255&a,a>>8&255]},Pb=function(a){return[255&a,a>>8&255,a>>16&255,a>>24&255]},jb=function(a){return a[3]<<24|a[2]<<16|a[1]<<8|a[0]},Mb=function(a){return Ob(a,23,4)},Bb=function(a){return Ob(a,52,8)},Ub=function(a,e){pb(a[kb],e,{get:function(){return mb(this)[e]}})},Nb=function(a,e,f,d){var t=ob(f),b=mb(a);if(t+e>b.byteLength)throw Db(Sb);var r=mb(b.buffer).bytes,c=t+b.byteOffset,n=r.slice(c,c+e);return d?n:n.reverse()},Fb=function(a,e,f,d,t,b){var r=ob(f),c=mb(a);if(r+e>c.byteLength)throw Db(Sb);for(var n=mb(c.buffer).bytes,i=r+c.byteOffset,o=d(+t),s=0;s<e;s++)n[i+s]=o[b?s:e-s-1]};if(db){if(!rb((function(){wb(1)}))||!rb((function(){new wb(-1)}))||rb((function(){return new wb,new wb(1.5),new wb(NaN),wb.name!=_b}))){for(var Gb,Vb=(xb=function(a){return cb(this,xb),new wb(ob(a))})[kb]=wb[kb],qb=hb(wb),zb=0;qb.length>zb;)(Gb=qb[zb++])in xb||tb(xb,Gb,wb[Gb]);Vb.constructor=xb}lb&&ub(Ab)!==Ib&&lb(Ab,Ib);var Kb=new Tb(new xb(2)),Hb=Ab.setInt8;Kb.setInt8(0,2147483648),Kb.setInt8(1,2147483649),!Kb.getInt8(0)&&Kb.getInt8(1)||bb(Ab,{setInt8:function(a,e){Hb.call(this,a,e<<24>>24)},setUint8:function(a,e){Hb.call(this,a,e<<24>>24)}},{unsafe:!0})}else xb=function(a){cb(this,xb,_b);var e=ob(a);gb(this,{bytes:vb.call(new Array(e),0),byteLength:e}),fb||(this.byteLength=e)},Tb=function(a,e,f){cb(this,Tb,Eb),cb(a,xb,Eb);var d=mb(a).byteLength,t=nb(e);if(t<0||t>d)throw Db("Wrong offset");if(t+(f=void 0===f?d-t:ib(f))>d)throw Db("Wrong length");gb(this,{buffer:a,byteLength:f,byteOffset:t}),fb||(this.buffer=a,this.byteLength=f,this.byteOffset=t)},fb&&(Ub(xb,"byteLength"),Ub(Tb,"buffer"),Ub(Tb,"byteLength"),Ub(Tb,"byteOffset")),bb(Tb[kb],{getInt8:function(a){return Nb(this,1,a)[0]<<24>>24},getUint8:function(a){return Nb(this,1,a)[0]},getInt16:function(a){var e=Nb(this,2,a,arguments.length>1?arguments[1]:void 0);return(e[1]<<8|e[0])<<16>>16},getUint16:function(a){var e=Nb(this,2,a,arguments.length>1?arguments[1]:void 0);return e[1]<<8|e[0]},getInt32:function(a){return jb(Nb(this,4,a,arguments.length>1?arguments[1]:void 0))},getUint32:function(a){return jb(Nb(this,4,a,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(a){return Rb(Nb(this,4,a,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(a){return Rb(Nb(this,8,a,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(a,e){Fb(this,1,a,Lb,e)},setUint8:function(a,e){Fb(this,1,a,Lb,e)},setInt16:function(a,e){Fb(this,2,a,Cb,e,arguments.length>2?arguments[2]:void 0)},setUint16:function(a,e){Fb(this,2,a,Cb,e,arguments.length>2?arguments[2]:void 0)},setInt32:function(a,e){Fb(this,4,a,Pb,e,arguments.length>2?arguments[2]:void 0)},setUint32:function(a,e){Fb(this,4,a,Pb,e,arguments.length>2?arguments[2]:void 0)},setFloat32:function(a,e){Fb(this,4,a,Mb,e,arguments.length>2?arguments[2]:void 0)},setFloat64:function(a,e){Fb(this,8,a,Bb,e,arguments.length>2?arguments[2]:void 0)}});yb(xb,_b),yb(Tb,Eb);var $b={ArrayBuffer:xb,DataView:Tb},Wb=ee,Yb=z,Xb=c,Qb=Nf("species"),Jb=function(a){var e=Wb(a),f=Yb.f;Xb&&e&&!e[Qb]&&f(e,Qb,{configurable:!0,get:function(){return this}})},Zb=Jb,ar="ArrayBuffer",er=$b[ar];Xe({global:!0,forced:t[ar]!==er},{ArrayBuffer:er}),Zb(ar);var fr=T,dr=ld;Xe({target:"Object",stat:!0,forced:r((function(){dr(1)}))},{keys:function(a){return dr(fr(a))}});var tr={};tr[Nf("toStringTag")]="z";var br="[object z]"===String(tr),rr=br,cr=h,nr=Nf("toStringTag"),ir="Arguments"==cr(function(){return arguments}()),or=rr?cr:function(a){var e,f,d;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(f=function(a,e){try{return a[e]}catch(f){}}(e=Object(a),nr))?f:ir?cr(e):"Object"==(d=cr(e))&&"function"==typeof e.callee?"Arguments":d},sr=or,ur=br?{}.toString:function(){return"[object "+sr(this)+"]"};br||Qa(Object.prototype,"toString",ur,{unsafe:!0});var lr=t.Promise,hr=function(a){if("function"!=typeof a)throw TypeError(String(a)+" is not a function");return a},pr=Nd,vr=Nf("iterator"),yr=Array.prototype,mr=function(a){return void 0!==a&&(pr.Array===a||yr[vr]===a)},gr=hr,_r=function(a,e,f){if(gr(a),void 0===e)return a;switch(f){case 0:return function(){return a.call(e)};case 1:return function(f){return a.call(e,f)};case 2:return function(f,d){return a.call(e,f,d)};case 3:return function(f,d,t){return a.call(e,f,d,t)}}return function(){return a.apply(e,arguments)}},Er=or,kr=Nd,Sr=Nf("iterator"),wr=function(a){if(null!=a)return a[Sr]||a["@@iterator"]||kr[Er(a)]},xr=H,Tr=H,Ar=mr,Ir=ne,Dr=_r,Or=wr,Rr=function(a){var e=a.return;if(void 0!==e)return xr(e.call(a)).value},Lr=function(a,e){this.stopped=a,this.result=e},Cr=function(a,e,f){var d,t,b,r,c,n,i,o=f&&f.that,s=!(!f||!f.AS_ENTRIES),u=!(!f||!f.IS_ITERATOR),l=!(!f||!f.INTERRUPTED),h=Dr(e,o,1+s+l),p=function(a){return d&&Rr(d),new Lr(!0,a)},v=function(a){return s?(Tr(a),l?h(a[0],a[1],p):h(a[0],a[1])):l?h(a,p):h(a)};if(u)d=a;else{if("function"!=typeof(t=Or(a)))throw TypeError("Target is not iterable");if(Ar(t)){for(b=0,r=Ir(a.length);r>b;b++)if((c=v(a[b]))&&c instanceof Lr)return c;return new Lr(!1)}d=t.call(a)}for(n=d.next;!(i=n.call(d)).done;){try{c=v(i.value)}catch(y){throw Rr(d),y}if("object"==typeof c&&c&&c instanceof Lr)return c}return new Lr(!1)},Pr=Nf("iterator"),jr=!1;try{var Mr=0,Br={next:function(){return{done:!!Mr++}},return:function(){jr=!0}};Br[Pr]=function(){return this},Array.from(Br,(function(){throw 2}))}catch(dg){}var Ur,Nr,Fr,Gr=function(a,e){if(!e&&!jr)return!1;var f=!1;try{var d={};d[Pr]=function(){return{next:function(){return{done:f=!0}}}},a(d)}catch(dg){}return f},Vr=H,qr=hr,zr=Nf("species"),Kr=function(a,e){var f,d=Vr(a).constructor;return void 0===d||null==(f=Vr(d)[zr])?e:qr(f)},Hr=/(?:iphone|ipod|ipad).*applewebkit/i.test(Ef),$r="process"==h(t.process),Wr=t,Yr=r,Xr=_r,Qr=md,Jr=C,Zr=Hr,ac=$r,ec=Wr.location,fc=Wr.setImmediate,dc=Wr.clearImmediate,tc=Wr.process,bc=Wr.MessageChannel,rc=Wr.Dispatch,cc=0,nc={},ic="onreadystatechange",oc=function(a){if(nc.hasOwnProperty(a)){var e=nc[a];delete nc[a],e()}},sc=function(a){return function(){oc(a)}},uc=function(a){oc(a.data)},lc=function(a){Wr.postMessage(a+"",ec.protocol+"//"+ec.host)};fc&&dc||(fc=function(a){for(var e=[],f=1;arguments.length>f;)e.push(arguments[f++]);return nc[++cc]=function(){("function"==typeof a?a:Function(a)).apply(void 0,e)},Ur(cc),cc},dc=function(a){delete nc[a]},ac?Ur=function(a){tc.nextTick(sc(a))}:rc&&rc.now?Ur=function(a){rc.now(sc(a))}:bc&&!Zr?(Fr=(Nr=new bc).port2,Nr.port1.onmessage=uc,Ur=Xr(Fr.postMessage,Fr,1)):Wr.addEventListener&&"function"==typeof postMessage&&!Wr.importScripts&&ec&&"file:"!==ec.protocol&&!Yr(lc)?(Ur=lc,Wr.addEventListener("message",uc,!1)):Ur=ic in Jr("script")?function(a){Qr.appendChild(Jr("script"))[ic]=function(){Qr.removeChild(this),oc(a)}}:function(a){setTimeout(sc(a),0)});var hc,pc,vc,yc,mc,gc,_c,Ec,kc={set:fc,clear:dc},Sc=/web0s(?!.*chrome)/i.test(Ef),wc=t,xc=b.f,Tc=kc.set,Ac=Hr,Ic=Sc,Dc=$r,Oc=wc.MutationObserver||wc.WebKitMutationObserver,Rc=wc.document,Lc=wc.process,Cc=wc.Promise,Pc=xc(wc,"queueMicrotask"),jc=Pc&&Pc.value;jc||(hc=function(){var a,e;for(Dc&&(a=Lc.domain)&&a.exit();pc;){e=pc.fn,pc=pc.next;try{e()}catch(dg){throw pc?yc():vc=void 0,dg}}vc=void 0,a&&a.enter()},Ac||Dc||Ic||!Oc||!Rc?Cc&&Cc.resolve?((_c=Cc.resolve(void 0)).constructor=Cc,Ec=_c.then,yc=function(){Ec.call(_c,hc)}):yc=Dc?function(){Lc.nextTick(hc)}:function(){Tc.call(wc,hc)}:(mc=!0,gc=Rc.createTextNode(""),new Oc(hc).observe(gc,{characterData:!0}),yc=function(){gc.data=mc=!mc}));var Mc=jc||function(a){var e={fn:a,next:void 0};vc&&(vc.next=e),pc||(pc=e,yc()),vc=e},Bc={},Uc=hr,Nc=function(a){var e,f;this.promise=new a((function(a,d){if(void 0!==e||void 0!==f)throw TypeError("Bad Promise constructor");e=a,f=d})),this.resolve=Uc(e),this.reject=Uc(f)};Bc.f=function(a){return new Nc(a)};var Fc,Gc,Vc,qc,zc=H,Kc=k,Hc=Bc,$c=t,Wc="object"==typeof window,Yc=Xe,Xc=t,Qc=ee,Jc=lr,Zc=Qa,an=Gt,en=lt,fn=dt,dn=Jb,tn=k,bn=hr,rn=Vt,cn=oa,nn=Cr,on=Gr,sn=Kr,un=kc.set,ln=Mc,hn=function(a,e){if(zc(a),Kc(e)&&e.constructor===a)return e;var f=Hc.f(a);return(0,f.resolve)(e),f.promise},pn=function(a,e){var f=$c.console;f&&f.error&&(1===arguments.length?f.error(a):f.error(a,e))},vn=Bc,yn=function(a){try{return{error:!1,value:a()}}catch(dg){return{error:!0,value:dg}}},mn=Va,gn=Ve,_n=Wc,En=$r,kn=Tf,Sn=Nf("species"),wn="Promise",xn=mn.get,Tn=mn.set,An=mn.getterFor(wn),In=Jc&&Jc.prototype,Dn=Jc,On=In,Rn=Xc.TypeError,Ln=Xc.document,Cn=Xc.process,Pn=vn.f,jn=Pn,Mn=!!(Ln&&Ln.createEvent&&Xc.dispatchEvent),Bn="function"==typeof PromiseRejectionEvent,Un="unhandledrejection",Nn=!1,Fn=gn(wn,(function(){var a=cn(Dn)!==String(Dn);if(!a&&66===kn)return!0;if(kn>=51&&/native code/.test(Dn))return!1;var e=new Dn((function(a){a(1)})),f=function(a){a((function(){}),(function(){}))};return(e.constructor={})[Sn]=f,!(Nn=e.then((function(){}))instanceof f)||!a&&_n&&!Bn})),Gn=Fn||!on((function(a){Dn.all(a).catch((function(){}))})),Vn=function(a){var e;return!(!tn(a)||"function"!=typeof(e=a.then))&&e},qn=function(a,e){if(!a.notified){a.notified=!0;var f=a.reactions;ln((function(){for(var d=a.value,t=1==a.state,b=0;f.length>b;){var r,c,n,i=f[b++],o=t?i.ok:i.fail,s=i.resolve,u=i.reject,l=i.domain;try{o?(t||(2===a.rejection&&$n(a),a.rejection=1),!0===o?r=d:(l&&l.enter(),r=o(d),l&&(l.exit(),n=!0)),r===i.promise?u(Rn("Promise-chain cycle")):(c=Vn(r))?c.call(r,s,u):s(r)):u(d)}catch(dg){l&&!n&&l.exit(),u(dg)}}a.reactions=[],a.notified=!1,e&&!a.rejection&&Kn(a)}))}},zn=function(a,e,f){var d,t;Mn?((d=Ln.createEvent("Event")).promise=e,d.reason=f,d.initEvent(a,!1,!0),Xc.dispatchEvent(d)):d={promise:e,reason:f},!Bn&&(t=Xc["on"+a])?t(d):a===Un&&pn("Unhandled promise rejection",f)},Kn=function(a){un.call(Xc,(function(){var e,f=a.facade,d=a.value;if(Hn(a)&&(e=yn((function(){En?Cn.emit("unhandledRejection",d,f):zn(Un,f,d)})),a.rejection=En||Hn(a)?2:1,e.error))throw e.value}))},Hn=function(a){return 1!==a.rejection&&!a.parent},$n=function(a){un.call(Xc,(function(){var e=a.facade;En?Cn.emit("rejectionHandled",e):zn("rejectionhandled",e,a.value)}))},Wn=function(a,e,f){return function(d){a(e,d,f)}},Yn=function(a,e,f){a.done||(a.done=!0,f&&(a=f),a.value=e,a.state=2,qn(a,!0))},Xn=function(a,e,f){if(!a.done){a.done=!0,f&&(a=f);try{if(a.facade===e)throw Rn("Promise can't be resolved itself");var d=Vn(e);d?ln((function(){var f={done:!1};try{d.call(e,Wn(Xn,f,a),Wn(Yn,f,a))}catch(dg){Yn(f,dg,a)}})):(a.value=e,a.state=1,qn(a,!1))}catch(dg){Yn({done:!1},dg,a)}}};if(Fn&&(On=(Dn=function(a){rn(this,Dn,wn),bn(a),Fc.call(this);var e=xn(this);try{a(Wn(Xn,e),Wn(Yn,e))}catch(dg){Yn(e,dg)}}).prototype,(Fc=function(a){Tn(this,{type:wn,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=an(On,{then:function(a,e){var f=An(this),d=Pn(sn(this,Dn));return d.ok="function"!=typeof a||a,d.fail="function"==typeof e&&e,d.domain=En?Cn.domain:void 0,f.parent=!0,f.reactions.push(d),0!=f.state&&qn(f,!1),d.promise},catch:function(a){return this.then(void 0,a)}}),Gc=function(){var a=new Fc,e=xn(a);this.promise=a,this.resolve=Wn(Xn,e),this.reject=Wn(Yn,e)},vn.f=Pn=function(a){return a===Dn||a===Vc?new Gc(a):jn(a)},"function"==typeof Jc&&In!==Object.prototype)){qc=In.then,Nn||(Zc(In,"then",(function(a,e){var f=this;return new Dn((function(a,e){qc.call(f,a,e)})).then(a,e)}),{unsafe:!0}),Zc(In,"catch",On.catch,{unsafe:!0}));try{delete In.constructor}catch(dg){}en&&en(In,On)}Yc({global:!0,wrap:!0,forced:Fn},{Promise:Dn}),fn(Dn,wn,!1),dn(wn),Vc=Qc(wn),Yc({target:wn,stat:!0,forced:Fn},{reject:function(a){var e=Pn(this);return e.reject.call(void 0,a),e.promise}}),Yc({target:wn,stat:!0,forced:Fn},{resolve:function(a){return hn(this,a)}}),Yc({target:wn,stat:!0,forced:Gn},{all:function(a){var e=this,f=Pn(e),d=f.resolve,t=f.reject,b=yn((function(){var f=bn(e.resolve),b=[],r=0,c=1;nn(a,(function(a){var n=r++,i=!1;b.push(void 0),c++,f.call(e,a).then((function(a){i||(i=!0,b[n]=a,--c||d(b))}),t)})),--c||d(b)}));return b.error&&t(b.value),f.promise},race:function(a){var e=this,f=Pn(e),d=f.reject,t=yn((function(){var t=bn(e.resolve);nn(a,(function(a){t.call(e,a).then(f.resolve,d)}))}));return t.error&&d(t.value),f.promise}});var Qn=H,Jn=function(){var a=Qn(this),e="";return a.global&&(e+="g"),a.ignoreCase&&(e+="i"),a.multiline&&(e+="m"),a.dotAll&&(e+="s"),a.unicode&&(e+="u"),a.sticky&&(e+="y"),e},Zn=Qa,ai=H,ei=r,fi=Jn,di="toString",ti=RegExp.prototype,bi=ti[di],ri=ei((function(){return"/a/b"!=bi.call({source:"a",flags:"b"})})),ci=bi.name!=di;(ri||ci)&&Zn(RegExp.prototype,di,(function(){var a=ai(this),e=String(a.source),f=a.flags;return"/"+e+"/"+String(void 0===f&&a instanceof RegExp&&!("flags"in ti)?fi.call(a):f)}),{unsafe:!0});var ni,ii={exports:{}},oi=Nt,si=c,ui=t,li=k,hi=D,pi=or,vi=aa,yi=Qa,mi=z.f,gi=Hd,_i=lt,Ei=Nf,ki=ka,Si=ui.Int8Array,wi=Si&&Si.prototype,xi=ui.Uint8ClampedArray,Ti=xi&&xi.prototype,Ai=Si&&gi(Si),Ii=wi&&gi(wi),Di=Object.prototype,Oi=Di.isPrototypeOf,Ri=Ei("toStringTag"),Li=ki("TYPED_ARRAY_TAG"),Ci=oi&&!!_i&&"Opera"!==pi(ui.opera),Pi=!1,ji={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Mi={BigInt64Array:8,BigUint64Array:8},Bi=function(a){if(!li(a))return!1;var e=pi(a);return hi(ji,e)||hi(Mi,e)};for(ni in ji)ui[ni]||(Ci=!1);if((!Ci||"function"!=typeof Ai||Ai===Function.prototype)&&(Ai=function(){throw TypeError("Incorrect invocation")},Ci))for(ni in ji)ui[ni]&&_i(ui[ni],Ai);if((!Ci||!Ii||Ii===Di)&&(Ii=Ai.prototype,Ci))for(ni in ji)ui[ni]&&_i(ui[ni].prototype,Ii);if(Ci&&gi(Ti)!==Ii&&_i(Ti,Ii),si&&!hi(Ii,Ri))for(ni in Pi=!0,mi(Ii,Ri,{get:function(){return li(this)?this[Li]:void 0}}),ji)ui[ni]&&vi(ui[ni],Li,ni);var Ui={NATIVE_ARRAY_BUFFER_VIEWS:Ci,TYPED_ARRAY_TAG:Pi&&Li,aTypedArray:function(a){if(Bi(a))return a;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(a){if(_i){if(Oi.call(Ai,a))return a}else for(var e in ji)if(hi(ji,ni)){var f=ui[e];if(f&&(a===f||Oi.call(f,a)))return a}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(a,e,f){if(si){if(f)for(var d in ji){var t=ui[d];if(t&&hi(t.prototype,a))try{delete t.prototype[a]}catch(dg){}}Ii[a]&&!f||yi(Ii,a,f?e:Ci&&wi[a]||e)}},exportTypedArrayStaticMethod:function(a,e,f){var d,t;if(si){if(_i){if(f)for(d in ji)if((t=ui[d])&&hi(t,a))try{delete t[a]}catch(dg){}if(Ai[a]&&!f)return;try{return yi(Ai,a,f?e:Ci&&Ai[a]||e)}catch(dg){}}for(d in ji)!(t=ui[d])||t[a]&&!f||yi(t,a,e)}},isView:function(a){if(!li(a))return!1;var e=pi(a);return"DataView"===e||hi(ji,e)||hi(Mi,e)},isTypedArray:Bi,TypedArray:Ai,TypedArrayPrototype:Ii},Ni=t,Fi=r,Gi=Gr,Vi=Ui.NATIVE_ARRAY_BUFFER_VIEWS,qi=Ni.ArrayBuffer,zi=Ni.Int8Array,Ki=!Vi||!Fi((function(){zi(1)}))||!Fi((function(){new zi(-1)}))||!Gi((function(a){new zi,new zi(null),new zi(1.5),new zi(a)}),!0)||Fi((function(){return 1!==new zi(new qi(2),1,void 0).length})),Hi=be,$i=function(a){var e=Hi(a);if(e<0)throw RangeError("The argument can't be less than 0");return e},Wi=function(a,e){var f=$i(a);if(f%e)throw RangeError("Wrong offset");return f},Yi=T,Xi=ne,Qi=wr,Ji=mr,Zi=_r,ao=Ui.aTypedArrayConstructor,eo=_r,fo=y,to=T,bo=ne,ro=qf,co=[].push,no=function(a){var e=1==a,f=2==a,d=3==a,t=4==a,b=6==a,r=7==a,c=5==a||b;return function(n,i,o,s){for(var u,l,h=to(n),p=fo(h),v=eo(i,o,3),y=bo(p.length),m=0,g=s||ro,_=e?g(n,y):f||r?g(n,0):void 0;y>m;m++)if((c||m in p)&&(l=v(u=p[m],m,h),a))if(e)_[m]=l;else if(l)switch(a){case 3:return!0;case 5:return u;case 6:return m;case 2:co.call(_,u)}else switch(a){case 4:return!1;case 7:co.call(_,u)}return b?-1:d||t?t:_}},io={forEach:no(0),map:no(1),filter:no(2),some:no(3),every:no(4),find:no(5),findIndex:no(6),filterOut:no(7)},oo=k,so=lt,uo=function(a,e,f){var d,t;return so&&"function"==typeof(d=e.constructor)&&d!==f&&oo(t=d.prototype)&&t!==f.prototype&&so(a,t),a},lo=Xe,ho=t,po=c,vo=Ki,yo=Ui,mo=$b,go=Vt,_o=u,Eo=aa,ko=ne,So=Kt,wo=Wi,xo=w,To=D,Ao=or,Io=k,Do=Rd,Oo=lt,Ro=fe.f,Lo=function(a){var e,f,d,t,b,r,c=Yi(a),n=arguments.length,i=n>1?arguments[1]:void 0,o=void 0!==i,s=Qi(c);if(null!=s&&!Ji(s))for(r=(b=s.call(c)).next,c=[];!(t=r.call(b)).done;)c.push(t.value);for(o&&n>2&&(i=Zi(i,arguments[2],2)),f=Xi(c.length),d=new(ao(this))(f),e=0;f>e;e++)d[e]=o?i(c[e],e):c[e];return d},Co=io.forEach,Po=Jb,jo=z,Mo=b,Bo=uo,Uo=Va.get,No=Va.set,Fo=jo.f,Go=Mo.f,Vo=Math.round,qo=ho.RangeError,zo=mo.ArrayBuffer,Ko=mo.DataView,Ho=yo.NATIVE_ARRAY_BUFFER_VIEWS,$o=yo.TYPED_ARRAY_TAG,Wo=yo.TypedArray,Yo=yo.TypedArrayPrototype,Xo=yo.aTypedArrayConstructor,Qo=yo.isTypedArray,Jo="BYTES_PER_ELEMENT",Zo="Wrong length",as=function(a,e){for(var f=0,d=e.length,t=new(Xo(a))(d);d>f;)t[f]=e[f++];return t},es=function(a,e){Fo(a,e,{get:function(){return Uo(this)[e]}})},fs=function(a){var e;return a instanceof zo||"ArrayBuffer"==(e=Ao(a))||"SharedArrayBuffer"==e},ds=function(a,e){return Qo(a)&&"symbol"!=typeof e&&e in a&&String(+e)==String(e)},ts=function(a,e){return ds(a,e=xo(e,!0))?_o(2,a[e]):Go(a,e)},bs=function(a,e,f){return!(ds(a,e=xo(e,!0))&&Io(f)&&To(f,"value"))||To(f,"get")||To(f,"set")||f.configurable||To(f,"writable")&&!f.writable||To(f,"enumerable")&&!f.enumerable?Fo(a,e,f):(a[e]=f.value,a)};po?(Ho||(Mo.f=ts,jo.f=bs,es(Yo,"buffer"),es(Yo,"byteOffset"),es(Yo,"byteLength"),es(Yo,"length")),lo({target:"Object",stat:!0,forced:!Ho},{getOwnPropertyDescriptor:ts,defineProperty:bs}),ii.exports=function(a,e,f){var d=a.match(/\d+$/)[0]/8,t=a+(f?"Clamped":"")+"Array",b="get"+a,r="set"+a,c=ho[t],n=c,i=n&&n.prototype,o={},s=function(a,e){Fo(a,e,{get:function(){return a=e,(f=Uo(this)).view[b](a*d+f.byteOffset,!0);var a,f},set:function(a){return t=e,b=a,c=Uo(this),f&&(b=(b=Vo(b))<0?0:b>255?255:255&b),void c.view[r](t*d+c.byteOffset,b,!0);var t,b,c},enumerable:!0})};Ho?vo&&(n=e((function(a,e,f,b){return go(a,n,t),Bo(Io(e)?fs(e)?void 0!==b?new c(e,wo(f,d),b):void 0!==f?new c(e,wo(f,d)):new c(e):Qo(e)?as(n,e):Lo.call(n,e):new c(So(e)),a,n)})),Oo&&Oo(n,Wo),Co(Ro(c),(function(a){a in n||Eo(n,a,c[a])})),n.prototype=i):(n=e((function(a,e,f,b){go(a,n,t);var r,c,i,o=0,u=0;if(Io(e)){if(!fs(e))return Qo(e)?as(n,e):Lo.call(n,e);r=e,u=wo(f,d);var l=e.byteLength;if(void 0===b){if(l%d)throw qo(Zo);if((c=l-u)<0)throw qo(Zo)}else if((c=ko(b)*d)+u>l)throw qo(Zo);i=c/d}else i=So(e),r=new zo(c=i*d);for(No(a,{buffer:r,byteOffset:u,byteLength:c,length:i,view:new Ko(r)});o<i;)s(a,o++)})),Oo&&Oo(n,Wo),i=n.prototype=Do(Yo)),i.constructor!==n&&Eo(i,"constructor",n),$o&&Eo(i,$o,t),o[t]=n,lo({global:!0,forced:n!=c,sham:!Ho},o),Jo in n||Eo(n,Jo,d),Jo in i||Eo(i,Jo,d),Po(t)}):ii.exports=function(){};var rs=ii.exports;rs("Uint8",(function(a){return function(e,f,d){return a(this,e,f,d)}})),rs("Uint16",(function(a){return function(e,f,d){return a(this,e,f,d)}}));var cs=T,ns=ue,is=ne,os=Math.min,ss=[].copyWithin||function(a,e){var f=cs(this),d=is(f.length),t=ns(a,d),b=ns(e,d),r=arguments.length>2?arguments[2]:void 0,c=os((void 0===r?d:ns(r,d))-b,d-t),n=1;for(b<t&&t<b+c&&(n=-1,b+=c-1,t+=c-1);c-- >0;)b in f?f[t]=f[b]:delete f[t],t+=n,b+=n;return f},us=ss,ls=Ui.aTypedArray;(0,Ui.exportTypedArrayMethod)("copyWithin",(function(a,e){return us.call(ls(this),a,e,arguments.length>2?arguments[2]:void 0)}));var hs=io.every,ps=Ui.aTypedArray;(0,Ui.exportTypedArrayMethod)("every",(function(a){return hs(ps(this),a,arguments.length>1?arguments[1]:void 0)}));var vs=ab,ys=Ui.aTypedArray;(0,Ui.exportTypedArrayMethod)("fill",(function(a){return vs.apply(ys(this),arguments)}));var ms=Ui.aTypedArrayConstructor,gs=Kr,_s=io.filter,Es=function(a,e){for(var f=gs(a,a.constructor),d=0,t=e.length,b=new(ms(f))(t);t>d;)b[d]=e[d++];return b},ks=Ui.aTypedArray;(0,Ui.exportTypedArrayMethod)("filter",(function(a){var e=_s(ks(this),a,arguments.length>1?arguments[1]:void 0);return Es(this,e)}));var Ss=io.find,ws=Ui.aTypedArray;(0,Ui.exportTypedArrayMethod)("find",(function(a){return Ss(ws(this),a,arguments.length>1?arguments[1]:void 0)}));var xs=io.findIndex,Ts=Ui.aTypedArray;(0,Ui.exportTypedArrayMethod)("findIndex",(function(a){return xs(Ts(this),a,arguments.length>1?arguments[1]:void 0)}));var As=io.forEach,Is=Ui.aTypedArray;(0,Ui.exportTypedArrayMethod)("forEach",(function(a){As(Is(this),a,arguments.length>1?arguments[1]:void 0)}));var Ds=ye.includes,Os=Ui.aTypedArray;(0,Ui.exportTypedArrayMethod)("includes",(function(a){return Ds(Os(this),a,arguments.length>1?arguments[1]:void 0)}));var Rs=ye.indexOf,Ls=Ui.aTypedArray;(0,Ui.exportTypedArrayMethod)("indexOf",(function(a){return Rs(Ls(this),a,arguments.length>1?arguments[1]:void 0)}));var Cs=t,Ps=Ui,js=Ut,Ms=Nf("iterator"),Bs=Cs.Uint8Array,Us=js.values,Ns=js.keys,Fs=js.entries,Gs=Ps.aTypedArray,Vs=Ps.exportTypedArrayMethod,qs=Bs&&Bs.prototype[Ms],zs=!!qs&&("values"==qs.name||null==qs.name),Ks=function(){return Us.call(Gs(this))};Vs("entries",(function(){return Fs.call(Gs(this))})),Vs("keys",(function(){return Ns.call(Gs(this))})),Vs("values",Ks,!zs),Vs(Ms,Ks,!zs);var Hs=Ui.aTypedArray,$s=[].join;(0,Ui.exportTypedArrayMethod)("join",(function(a){return $s.apply(Hs(this),arguments)}));var Ws=r,Ys=function(a,e){var f=[][a];return!!f&&Ws((function(){f.call(null,e||function(){throw 1},1)}))},Xs=E,Qs=be,Js=ne,Zs=Ys,au=Math.min,eu=[].lastIndexOf,fu=!!eu&&1/[1].lastIndexOf(1,-0)<0,du=Zs("lastIndexOf"),tu=fu||!du?function(a){if(fu)return eu.apply(this,arguments)||0;var e=Xs(this),f=Js(e.length),d=f-1;for(arguments.length>1&&(d=au(d,Qs(arguments[1]))),d<0&&(d=f+d);d>=0;d--)if(d in e&&e[d]===a)return d||0;return-1}:eu,bu=tu,ru=Ui.aTypedArray;(0,Ui.exportTypedArrayMethod)("lastIndexOf",(function(a){return bu.apply(ru(this),arguments)}));var cu=io.map,nu=Kr,iu=Ui.aTypedArray,ou=Ui.aTypedArrayConstructor;(0,Ui.exportTypedArrayMethod)("map",(function(a){return cu(iu(this),a,arguments.length>1?arguments[1]:void 0,(function(a,e){return new(ou(nu(a,a.constructor)))(e)}))}));var su=hr,uu=T,lu=y,hu=ne,pu=function(a){return function(e,f,d,t){su(f);var b=uu(e),r=lu(b),c=hu(b.length),n=a?c-1:0,i=a?-1:1;if(d<2)for(;;){if(n in r){t=r[n],n+=i;break}if(n+=i,a?n<0:c<=n)throw TypeError("Reduce of empty array with no initial value")}for(;a?n>=0:c>n;n+=i)n in r&&(t=f(t,r[n],n,b));return t}},vu={left:pu(!1),right:pu(!0)},yu=vu.left,mu=Ui.aTypedArray;(0,Ui.exportTypedArrayMethod)("reduce",(function(a){return yu(mu(this),a,arguments.length,arguments.length>1?arguments[1]:void 0)}));var gu=vu.right,_u=Ui.aTypedArray;(0,Ui.exportTypedArrayMethod)("reduceRight",(function(a){return gu(_u(this),a,arguments.length,arguments.length>1?arguments[1]:void 0)}));var Eu=Ui.aTypedArray,ku=Ui.exportTypedArrayMethod,Su=Math.floor;ku("reverse",(function(){for(var a,e=this,f=Eu(e).length,d=Su(f/2),t=0;t<d;)a=e[t],e[t++]=e[--f],e[f]=a;return e}));var wu=ne,xu=Wi,Tu=T,Au=Ui.aTypedArray;(0,Ui.exportTypedArrayMethod)("set",(function(a){Au(this);var e=xu(arguments.length>1?arguments[1]:void 0,1),f=this.length,d=Tu(a),t=wu(d.length),b=0;if(t+e>f)throw RangeError("Wrong length");for(;b<t;)this[e+b]=d[b++]}),r((function(){new Int8Array(1).set({})})));var Iu=Kr,Du=Ui.aTypedArray,Ou=Ui.aTypedArrayConstructor,Ru=[].slice;(0,Ui.exportTypedArrayMethod)("slice",(function(a,e){for(var f=Ru.call(Du(this),a,e),d=Iu(this,this.constructor),t=0,b=f.length,r=new(Ou(d))(b);b>t;)r[t]=f[t++];return r}),r((function(){new Int8Array(1).slice()})));var Lu=io.some,Cu=Ui.aTypedArray;(0,Ui.exportTypedArrayMethod)("some",(function(a){return Lu(Cu(this),a,arguments.length>1?arguments[1]:void 0)}));var Pu=Ui.aTypedArray,ju=[].sort;(0,Ui.exportTypedArrayMethod)("sort",(function(a){return ju.call(Pu(this),a)}));var Mu=ne,Bu=ue,Uu=Kr,Nu=Ui.aTypedArray;(0,Ui.exportTypedArrayMethod)("subarray",(function(a,e){var f=Nu(this),d=f.length,t=Bu(a,d);return new(Uu(f,f.constructor))(f.buffer,f.byteOffset+t*f.BYTES_PER_ELEMENT,Mu((void 0===e?d:Bu(e,d))-t))}));var Fu=Ui,Gu=r,Vu=t.Int8Array,qu=Fu.aTypedArray,zu=Fu.exportTypedArrayMethod,Ku=[].toLocaleString,Hu=[].slice,$u=!!Vu&&Gu((function(){Ku.call(new Vu(1))}));zu("toLocaleString",(function(){return Ku.apply($u?Hu.call(qu(this)):qu(this),arguments)}),Gu((function(){return[1,2].toLocaleString()!=new Vu([1,2]).toLocaleString()}))||!Gu((function(){Vu.prototype.toLocaleString.call([1,2])})));var Wu=Ui.exportTypedArrayMethod,Yu=r,Xu=t.Uint8Array,Qu=Xu&&Xu.prototype||{},Ju=[].toString,Zu=[].join;Yu((function(){Ju.call({})}))&&(Ju=function(){return Zu.call(this)});var al=Qu.toString!=Ju;Wu("toString",Ju,al);var el={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},fl=io.forEach,dl=Ys("forEach")?[].forEach:function(a){return fl(this,a,arguments.length>1?arguments[1]:void 0)},tl=t,bl=el,rl=dl,cl=aa;for(var nl in bl){var il=tl[nl],ol=il&&il.prototype;if(ol&&ol.forEach!==rl)try{cl(ol,"forEach",rl)}catch(dg){ol.forEach=rl}}var sl=t,ul=el,ll=Ut,hl=aa,pl=Nf,vl=pl("iterator"),yl=pl("toStringTag"),ml=ll.values;for(var gl in ul){var _l=sl[gl],El=_l&&_l.prototype;if(El){if(El[vl]!==ml)try{hl(El,vl,ml)}catch(dg){El[vl]=ml}if(El[yl]||hl(El,yl,gl),ul[gl])for(var kl in ll)if(El[kl]!==ll[kl])try{hl(El,kl,ll[kl])}catch(dg){El[kl]=ll[kl]}}}var Sl={exports:{}};!function(a){var e=Object.prototype.hasOwnProperty,f="~";function d(){}function t(a,e,f){this.fn=a,this.context=e,this.once=f||!1}function b(a,e,d,b,r){if("function"!=typeof d)throw new TypeError("The listener must be a function");var c=new t(d,b||a,r),n=f?f+e:e;return a._events[n]?a._events[n].fn?a._events[n]=[a._events[n],c]:a._events[n].push(c):(a._events[n]=c,a._eventsCount++),a}function r(a,e){0==--a._eventsCount?a._events=new d:delete a._events[e]}function c(){this._events=new d,this._eventsCount=0}Object.create&&(d.prototype=Object.create(null),(new d).__proto__||(f=!1)),c.prototype.eventNames=function(){var a,d,t=[];if(0===this._eventsCount)return t;for(d in a=this._events)e.call(a,d)&&t.push(f?d.slice(1):d);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(a)):t},c.prototype.listeners=function(a){var e=f?f+a:a,d=this._events[e];if(!d)return[];if(d.fn)return[d.fn];for(var t=0,b=d.length,r=new Array(b);t<b;t++)r[t]=d[t].fn;return r},c.prototype.listenerCount=function(a){var e=f?f+a:a,d=this._events[e];return d?d.fn?1:d.length:0},c.prototype.emit=function(a,e,d,t,b,r){var c=f?f+a:a;if(!this._events[c])return!1;var n,i,o=this._events[c],s=arguments.length;if(o.fn){switch(o.once&&this.removeListener(a,o.fn,void 0,!0),s){case 1:return o.fn.call(o.context),!0;case 2:return o.fn.call(o.context,e),!0;case 3:return o.fn.call(o.context,e,d),!0;case 4:return o.fn.call(o.context,e,d,t),!0;case 5:return o.fn.call(o.context,e,d,t,b),!0;case 6:return o.fn.call(o.context,e,d,t,b,r),!0}for(i=1,n=new Array(s-1);i<s;i++)n[i-1]=arguments[i];o.fn.apply(o.context,n)}else{var u,l=o.length;for(i=0;i<l;i++)switch(o[i].once&&this.removeListener(a,o[i].fn,void 0,!0),s){case 1:o[i].fn.call(o[i].context);break;case 2:o[i].fn.call(o[i].context,e);break;case 3:o[i].fn.call(o[i].context,e,d);break;case 4:o[i].fn.call(o[i].context,e,d,t);break;default:if(!n)for(u=1,n=new Array(s-1);u<s;u++)n[u-1]=arguments[u];o[i].fn.apply(o[i].context,n)}}return!0},c.prototype.on=function(a,e,f){return b(this,a,e,f,!1)},c.prototype.once=function(a,e,f){return b(this,a,e,f,!0)},c.prototype.removeListener=function(a,e,d,t){var b=f?f+a:a;if(!this._events[b])return this;if(!e)return r(this,b),this;var c=this._events[b];if(c.fn)c.fn!==e||t&&!c.once||d&&c.context!==d||r(this,b);else{for(var n=0,i=[],o=c.length;n<o;n++)(c[n].fn!==e||t&&!c[n].once||d&&c[n].context!==d)&&i.push(c[n]);i.length?this._events[b]=1===i.length?i[0]:i:r(this,b)}return this},c.prototype.removeAllListeners=function(a){var e;return a?(e=f?f+a:a,this._events[e]&&r(this,e)):(this._events=new d,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=f,c.EventEmitter=c,a.exports=c}(Sl);var wl=f(Sl.exports),xl=Xe,Tl=E,Al=[].join,Il=y!=Object,Dl=Ys("join",",");xl({target:"Array",proto:!0,forced:Il||!Dl},{join:function(a){return Al.call(Tl(this),void 0===a?",":a)}});var Ol=io.map;Xe({target:"Array",proto:!0,forced:!$f("map")},{map:function(a){return Ol(this,a,arguments.length>1?arguments[1]:void 0)}});var Rl=Xe,Ll=k,Cl=vf,Pl=ue,jl=ne,Ml=E,Bl=_f,Ul=Nf,Nl=$f("slice"),Fl=Ul("species"),Gl=[].slice,Vl=Math.max;Rl({target:"Array",proto:!0,forced:!Nl},{slice:function(a,e){var f,d,t,b=Ml(this),r=jl(b.length),c=Pl(a,r),n=Pl(void 0===e?r:e,r);if(Cl(b)&&("function"!=typeof(f=b.constructor)||f!==Array&&!Cl(f.prototype)?Ll(f)&&null===(f=f[Fl])&&(f=void 0):f=void 0,f===Array||void 0===f))return Gl.call(b,c,n);for(d=new(void 0===f?Array:f)(Vl(n-c,0)),t=0;c<n;c++,t++)c in b&&Bl(d,t,b[c]);return d.length=t,d}});var ql=m,zl="[\t\n\v\f\r \u2028\u2029\ufeff]",Kl=RegExp("^"+zl+zl+"*"),Hl=RegExp(zl+zl+"*$"),$l=function(a){return function(e){var f=String(ql(e));return 1&a&&(f=f.replace(Kl,"")),2&a&&(f=f.replace(Hl,"")),f}},Wl={start:$l(1),end:$l(2),trim:$l(3)},Yl=c,Xl=t,Ql=Ve,Jl=Qa,Zl=D,ah=h,eh=uo,fh=w,dh=r,th=Rd,bh=fe.f,rh=b.f,ch=z.f,nh=Wl.trim,ih="Number",oh=Xl[ih],sh=oh.prototype,uh=ah(th(sh))==ih,lh=function(a){var e,f,d,t,b,r,c,n,i=fh(a,!1);if("string"==typeof i&&i.length>2)if(43===(e=(i=nh(i)).charCodeAt(0))||45===e){if(88===(f=i.charCodeAt(2))||120===f)return NaN}else if(48===e){switch(i.charCodeAt(1)){case 66:case 98:d=2,t=49;break;case 79:case 111:d=8,t=55;break;default:return+i}for(r=(b=i.slice(2)).length,c=0;c<r;c++)if((n=b.charCodeAt(c))<48||n>t)return NaN;return parseInt(b,d)}return+i};if(Ql(ih,!oh(" 0o1")||!oh("0b1")||oh("+0x1"))){for(var hh,ph=function(a){var e=arguments.length<1?0:a,f=this;return f instanceof ph&&(uh?dh((function(){sh.valueOf.call(f)})):ah(f)!=ih)?eh(new oh(lh(e)),f,ph):lh(e)},vh=Yl?bh(oh):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,fromString,range".split(","),yh=0;vh.length>yh;yh++)Zl(oh,hh=vh[yh])&&!Zl(ph,hh)&&ch(ph,hh,rh(oh,hh));ph.prototype=sh,sh.constructor=ph,Jl(Xl,ih,ph)}var mh={},gh=r;function _h(a,e){return RegExp(a,e)}mh.UNSUPPORTED_Y=gh((function(){var a=_h("a","y");return a.lastIndex=2,null!=a.exec("abcd")})),mh.BROKEN_CARET=gh((function(){var a=_h("^r","gy");return a.lastIndex=2,null!=a.exec("str")}));var Eh,kh,Sh=Jn,wh=mh,xh=ga,Th=RegExp.prototype.exec,Ah=xh("native-string-replace",String.prototype.replace),Ih=Th,Dh=(Eh=/a/,kh=/b*/g,Th.call(Eh,"a"),Th.call(kh,"a"),0!==Eh.lastIndex||0!==kh.lastIndex),Oh=wh.UNSUPPORTED_Y||wh.BROKEN_CARET,Rh=void 0!==/()??/.exec("")[1];(Dh||Rh||Oh)&&(Ih=function(a){var e,f,d,t,b=this,r=Oh&&b.sticky,c=Sh.call(b),n=b.source,i=0,o=a;return r&&(-1===(c=c.replace("y","")).indexOf("g")&&(c+="g"),o=String(a).slice(b.lastIndex),b.lastIndex>0&&(!b.multiline||b.multiline&&"\n"!==a[b.lastIndex-1])&&(n="(?: "+n+")",o=" "+o,i++),f=new RegExp("^(?:"+n+")",c)),Rh&&(f=new RegExp("^"+n+"$(?!\\s)",c)),Dh&&(e=b.lastIndex),d=Th.call(r?f:b,o),r?d?(d.input=d.input.slice(i),d[0]=d[0].slice(i),d.index=b.lastIndex,b.lastIndex+=d[0].length):b.lastIndex=0:Dh&&d&&(b.lastIndex=b.global?d.index+d[0].length:e),Rh&&d&&d.length>1&&Ah.call(d[0],f,(function(){for(t=1;t<arguments.length-2;t++)void 0===arguments[t]&&(d[t]=void 0)})),d});var Lh=Ih;Xe({target:"RegExp",proto:!0,forced:/./.exec!==Lh},{exec:Lh});var Ch=Qa,Ph=Lh,jh=r,Mh=Nf,Bh=aa,Uh=Mh("species"),Nh=RegExp.prototype,Fh=!jh((function(){var a=/./;return a.exec=function(){var a=[];return a.groups={a:"7"},a},"7"!=="".replace(a,"$<a>")})),Gh="$0"==="a".replace(/./,"$0"),Vh=Mh("replace"),qh=!!/./[Vh]&&""===/./[Vh]("a","$0"),zh=!jh((function(){var a=/(?:)/,e=a.exec;a.exec=function(){return e.apply(this,arguments)};var f="ab".split(a);return 2!==f.length||"a"!==f[0]||"b"!==f[1]})),Kh=function(a,e,f,d){var t=Mh(a),b=!jh((function(){var e={};return e[t]=function(){return 7},7!=""[a](e)})),r=b&&!jh((function(){var e=!1,f=/a/;return"split"===a&&((f={}).constructor={},f.constructor[Uh]=function(){return f},f.flags="",f[t]=/./[t]),f.exec=function(){return e=!0,null},f[t](""),!e}));if(!b||!r||"replace"===a&&(!Fh||!Gh||qh)||"split"===a&&!zh){var c=/./[t],n=f(t,""[a],(function(a,e,f,d,t){var r=e.exec;return r===Ph||r===Nh.exec?b&&!t?{done:!0,value:c.call(e,f,d)}:{done:!0,value:a.call(f,e,d)}:{done:!1}}),{REPLACE_KEEPS_$0:Gh,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:qh}),i=n[0],o=n[1];Ch(String.prototype,a,i),Ch(Nh,t,2==e?function(a,e){return o.call(a,this,e)}:function(a){return o.call(a,this)})}d&&Bh(Nh[t],"sham",!0)},Hh=be,$h=m,Wh=function(a){return function(e,f){var d,t,b=String($h(e)),r=Hh(f),c=b.length;return r<0||r>=c?a?"":void 0:(d=b.charCodeAt(r))<55296||d>56319||r+1===c||(t=b.charCodeAt(r+1))<56320||t>57343?a?b.charAt(r):d:a?b.slice(r,r+2):t-56320+(d-55296<<10)+65536}},Yh={codeAt:Wh(!1),charAt:Wh(!0)},Xh=Yh.charAt,Qh=function(a,e,f){return e+(f?Xh(a,e).length:1)},Jh=h,Zh=Lh,ap=function(a,e){var f=a.exec;if("function"==typeof f){var d=f.call(a,e);if("object"!=typeof d)throw TypeError("RegExp exec method returned something other than an Object or null");return d}if("RegExp"!==Jh(a))throw TypeError("RegExp#exec called on incompatible receiver");return Zh.call(a,e)},ep=H,fp=ne,dp=m,tp=Qh,bp=ap;Kh("match",1,(function(a,e,f){return[function(e){var f=dp(this),d=null==e?void 0:e[a];return void 0!==d?d.call(e,f):new RegExp(e)[a](String(f))},function(a){var d=f(e,a,this);if(d.done)return d.value;var t=ep(a),b=String(this);if(!t.global)return bp(t,b);var r=t.unicode;t.lastIndex=0;for(var c,n=[],i=0;null!==(c=bp(t,b));){var o=String(c[0]);n[i]=o,""===o&&(t.lastIndex=tp(b,fp(t.lastIndex),r)),i++}return 0===i?null:n}]}));var rp=T,cp=Math.floor,np="".replace,ip=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,op=/\$([$&'`]|\d{1,2})/g,sp=Kh,up=H,lp=ne,hp=be,pp=m,vp=Qh,yp=function(a,e,f,d,t,b){var r=f+a.length,c=d.length,n=op;return void 0!==t&&(t=rp(t),n=ip),np.call(b,n,(function(b,n){var i;switch(n.charAt(0)){case"$":return"$";case"&":return a;case"`":return e.slice(0,f);case"'":return e.slice(r);case"<":i=t[n.slice(1,-1)];break;default:var o=+n;if(0===o)return b;if(o>c){var s=cp(o/10);return 0===s?b:s<=c?void 0===d[s-1]?n.charAt(1):d[s-1]+n.charAt(1):b}i=d[o-1]}return void 0===i?"":i}))},mp=ap,gp=Math.max,_p=Math.min;sp("replace",2,(function(a,e,f,d){var t=d.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,b=d.REPLACE_KEEPS_$0,r=t?"$":"$0";return[function(f,d){var t=pp(this),b=null==f?void 0:f[a];return void 0!==b?b.call(f,t,d):e.call(String(t),f,d)},function(a,d){if(!t&&b||"string"==typeof d&&-1===d.indexOf(r)){var c=f(e,a,this,d);if(c.done)return c.value}var n=up(a),i=String(this),o="function"==typeof d;o||(d=String(d));var s=n.global;if(s){var u=n.unicode;n.lastIndex=0}for(var l=[];;){var h=mp(n,i);if(null===h)break;if(l.push(h),!s)break;""===String(h[0])&&(n.lastIndex=vp(i,lp(n.lastIndex),u))}for(var p,v="",y=0,m=0;m<l.length;m++){h=l[m];for(var g=String(h[0]),_=gp(_p(hp(h.index),i.length),0),E=[],k=1;k<h.length;k++)E.push(void 0===(p=h[k])?p:String(p));var S=h.groups;if(o){var w=[g].concat(E,_,i);void 0!==S&&w.push(S);var x=String(d.apply(void 0,w))}else x=yp(g,i,_,E,S,d);_>=y&&(v+=i.slice(y,_)+x,y=_+g.length)}return v+i.slice(y)}]}));var Ep=Ui.aTypedArrayConstructor;(0,Ui.exportTypedArrayStaticMethod)("of",(function(){for(var a=0,e=arguments.length,f=new(Ep(this))(e);e>a;)f[a]=arguments[a++];return f}),Ki);var kp=function(a){var e=0;for(e=0;0!==a;e++)a&=a-1;return e};function Sp(a,e){return a^e}function wp(a,e,f){var d=a+kp(e)+f;return String.fromCharCode(255&d)}function xp(a,e,f){var d=a-kp(e)-f;return String.fromCharCode(255&d)}function Tp(a){for(var e,f=a.length,d=0;d<f&&d!==f-1;d+=2)e=a[d],a[d]=a[d+1],a[d+1]=e;return a}function Ap(a,e){var f=85,d=250;Tp(a);for(var t=0;t<a.length;t++){var b=a[t].charCodeAt(0),r=0===e?wp:xp;t%2==1?f=b=Sp(f,r(b+d,t,21).charCodeAt(0)):d=b=Sp(d,r(b+f,t,21).charCodeAt(0)),a[t]=String.fromCharCode(b)}return Tp(a),a}function Ip(a,e){var f,d=function(a,e){var f,d=(a[0].charCodeAt(0)^a[1].charCodeAt(0)^a[2].charCodeAt(0))-"0".charCodeAt(0),t=e-d-1,b=new Array(d);for(f=d;f>0;f--)b[d-f]=String.fromCharCode(a[e-d-2].charCodeAt(0)^a[e-d-1].charCodeAt(0)^a[e-f].charCodeAt(0));return{convertKey:a.substring(1,t+1).split(""),convertLen:t,method:b.join(""),methodLen:d}}(a,e=e||a.length),t=d.convertKey,b=d.convertLen,r=d.method,c="11"===r||"appdevice"===r||"app_v2"===r?0:1;switch(r){case"11":case"22":case"appdevice":case"webdevice":t=function(a,e,f){for(var d,t=85,b=250,r=0;r<e;r++){var c=a[r].charCodeAt(0);r%2==1?(d=t^c,t=c):(d=b^c,b=c),a[r]=0===f?xp(d,r,21):wp(d,r,21)}return a}(t,b,c);break;case"app_v2":case"web_v2":t=function(a,e,f){e=e||a.length;var d=85,t=250;Tp(a);for(var b=0;b<e;b++){var r=a[b].charCodeAt(0),c=void 0,n=void 0;b%2==1?(n=Sp(d,r),d=r,c=t):(n=Sp(t,r),t=r,c=d);var i=(0===f?xp:wp)(n,b,21).charCodeAt(0)-c;i<0&&(i+=256),a[b]=String.fromCharCode(i)}return Tp(a),a}(t,b,c)}var n=b-((f=t[0])>="0"&&f<="9"?f.charCodeAt(0)-"0".charCodeAt(0):f>="a"&&f<="z"?f.charCodeAt(0)-"a".charCodeAt(0)+10:255)-1,i=new Array(n+1);i[n]="";var o=0;for(o=0;o<n;o++)i[o]=t[o+1];return i.join("")}var Dp=ff((function a(){var e,f;af(this,a);var d=new Promise((function(a,d){e=a,f=d}));return d.resolve=function(a){e(a),d.state="fulfilled"},d.reject=function(a){f(a),d.state="rejected",d.isBreak="DESTROYED"===a},d.state="pending",d}),[{key:"resolve",value:function(a){}},{key:"reject",value:function(a){}}]);function Op(a){var e=a||{},f=e.url,d=e.method,t=void 0===d?"GET":d,b=e.type,r=void 0===b?"arraybuffer":b,c=e.data,n=void 0===c?{}:c;return new Promise((function(a,e){var d=new window.XMLHttpRequest,b=t.toUpperCase(),c=[];if(Object.keys(n).map((function(a){c.push("k=".concat(n[a]))})),"GET"===b){var i="";i=f.indexOf("?")<0?"".concat(f,"?").concat(c.join("&")):(null==c?void 0:c.length)>0?"".concat(f,"&").concat(c.join("&")):f,d.open(b,i),r&&(d.responseType=r),d.send()}else{if("POST"!==b)throw new Error("xhr ".concat(b," is not supported"));d.open(b,f,!0),r&&(d.responseType=r),d.setRequestHeader("Content-Type","application/json"),d.send(JSON.stringify(n))}d.onload=function(){200===d.status||206===d.status?a(d):e(d)},d.onerror=function(){e(d)}}))}var Rp,Lp,Cp,Pp,jp,Mp,Bp,Up,Np=c,Fp=z.f,Gp=Function.prototype,Vp=Gp.toString,qp=/^\s*function ([^ (]*)/,zp="name";function Kp(a){return Hp.apply(this,arguments)}function Hp(){return Hp=Je(cf().mark((function a(e){var f,d,t=arguments;return cf().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return f=!(t.length>1&&void 0!==t[1])||t[1],d=t.length>2&&void 0!==t[2]?t[2]:["encrypt","decrypt"],a.abrupt("return",new Promise((function(a,t){var b;"undefined"!=typeof crypto&&null!==(b=crypto)&&void 0!==b&&b.subtle?crypto.subtle.generateKey(e,f,d).then((function(e){a(e)})).catch((function(a){t(a)})):t(new Error(Lp.WebCryptoNotSupport.msg))})));case 3:case"end":return a.stop()}}),a)}))),Hp.apply(this,arguments)}function $p(){if("object"!==("undefined"==typeof crypto?"undefined":sf(crypto))||"[object crypto]"!==Object.prototype.toString.call(crypto).toLowerCase()||void 0===crypto.subtle)throw new Cp(Lp.WebCryptoNotSupport.code,Lp.WebCryptoNotSupport.msg);return!0}function Wp(a){for(var e=window.atob(a),f=new Uint8Array(e.length),d=0;d<e.length;d++)f[d]=e.charCodeAt(d);return f.buffer}function Yp(a){return Xp.apply(this,arguments)}function Xp(){return(Xp=Je(cf().mark((function a(e){var f,d,t,b,r;return cf().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return f=e.data,d=e.privateKey,t=Wp(f),$p(),a.prev=3,a.next=6,crypto.subtle.decrypt({name:"RSA-OAEP"},d,t);case 6:b=a.sent,a.next=12;break;case 9:throw a.prev=9,a.t0=a.catch(3),new Cp(Lp.PrivateKeyDecryptFail.code,"".concat(Lp.PrivateKeyDecryptFail.msg,": ").concat((null===a.t0||void 0===a.t0?void 0:a.t0.message)||(null===a.t0||void 0===a.t0?void 0:a.t0.name)));case 12:return r=(new TextDecoder).decode(b),a.abrupt("return",r);case 14:case"end":return a.stop()}}),a,null,[[3,9]])})))).apply(this,arguments)}function Qp(a){for(var e="",f=0;f<a.length;f+=16e3){var d=a.subarray(f,f+16e3);e+=String.fromCharCode.apply(null,d)}return e}Np&&!(zp in Gp)&&Fp(Gp,zp,{configurable:!0,get:function(){try{return Vp.call(this).match(qp)[1]}catch(dg){return""}}}),function(a,e,f){function d(a,e){var f=parseInt(a.slice(e,e+2),16);return f>>>7==0?[1,f]:f>>>6==2?(f=(63&f)<<8,[2,f+=parseInt(a.slice(e+2,e+4),16)]):(f=(63&f)<<16,[3,f+=parseInt(a.slice(e+2,e+6),16)])}var t,b=0,r=[],c=[];for(t=0;t<4;++t)b+=(3&parseInt(a.slice(8+2*t,10+2*t),16))<<2*t;var n=parseInt(a.slice(16,24),16),i=2*parseInt(a.slice(32,40),16);for(t=40;t<i+40;t+=2)r.push(parseInt(a.slice(t,t+2),16));var o=i+40,s=parseInt(a.slice(o,o+4),16);for(o+=4,t=0;t<s;++t){var u=d(a,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=d(a,o);l+=String.fromCharCode(b^p[1]),o+=2*p[0]}c.push(l)}e.p=null,function a(e,f,d,t,b){var n,i,o,s,u,l=-1,h=[],p=[0,null],v=null,y=[f];for(i=Math.min(f.length,d),o=0;o<i;++o)y.push(f[o]);y.p=t;for(var m=[];;)try{switch(r[e++]){case 16:h[++l]=!1;break;case 31:h[++l]=null;break;case 10:n=r[e++],h[++l]=n<<24>>24;break;case 58:n=(r[e]<<8)+r[e+1],e+=2,h[++l]=n<<16>>16;break;case 27:n=((n=((n=r[e++])<<8)+r[e++])<<8)+r[e++],h[++l]=(n<<8)+r[e++];break;case 18:n=(r[e]<<8)+r[e+1],e+=2,h[++l]=c[n];break;case 1:h[++l]=void 0;break;case 46:h[++l]=b;break;case 21:n=(r[e]<<8)+r[e+1],e+=2,l=l-n+1,i=h.slice(l,l+n),h[l]=i;break;case 72:h[++l]={};break;case 36:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],o=h[l--],h[l][i]=o;break;case 75:for(i=r[e++],o=r[e++],s=y;i>0;--i)s=s.p;h[++l]=s[o];break;case 60:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],h[l]=h[l][i];break;case 68:i=h[l--],h[l]=h[l][i];break;case 37:for(i=r[e++],o=r[e++],s=y;i>0;--i)s=s.p;s[o]=h[l--];break;case 13:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],o=h[l--],s=h[l--],o[i]=s;break;case 48:i=h[l--],o=h[l--],s=h[l--],o[i]=s;break;case 34:for(i=r[e++],o=r[e++],s=y,s=y;i>0;--i)s=s.p;h[++l]=s,h[++l]=o;break;case 44:i=h[l--],h[l]-=i;break;case 23:i=h[l--],s=(o=h[l--])[i]++,h[++l]=s;break;case 42:i=h[l--],h[l]=h[l]===i;break;case 4:i=h[l--],h[l]=h[l]<i;break;case 53:i=h[l--],h[l]=h[l]>i;break;case 29:h[l]=!h[l];break;case 0:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,h[l]?--l:e+=n;break;case 76:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,h[l]?e+=n:--l;break;case 30:i=h[l--],(o=h[l--])[i]=h[l];break;case 24:i=h[l--],h[l]=h[l]instanceof i;break;case 54:h[l]=void 0;break;case 3:h[l]=typeof h[l];break;case 70:n=r[e++],i=h[l--],(o=function a(){var e=a._v;return(0,a._u)(e[0],arguments,e[1],e[2],this)})._v=[i,n,y],o._u=a,h[++l]=o;break;case 66:n=r[e++],i=h[l--],(s=[o=function a(){var e=a._v;return(0,a._u)(e[0],arguments,e[1],e[2],this)}]).p=y,o._v=[i,n,s],o._u=a,h[++l]=o;break;case 51:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,(i=m[m.length-1])[1]=e+n;break;case 17:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,(i=m[m.length-1])&&!i[1]?(i[0]=3,i.push(e)):m.push([1,0,e]),e+=n;break;case 6:throw i=h[l--];case 64:if(o=(i=m.pop())[0],s=p[0],1===o)e=i[1];else if(0===o)if(0===s)e=i[1];else{if(1!==s)throw p[1];if(!v)return p[1];e=v[1],b=v[2],y=v[3],m=v[4],h[++l]=p[1],p=[0,null],v=v[0]}else e=i[2],i[0]=0,m.push(i);break;case 28:for(i=h[l--],o=null;s=m.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)p=[1,i],e=o[2],o[0]=0,m.push(o);else{if(!v)return i;e=v[1],b=v[2],y=v[3],m=v[4],h[++l]=i,p=[0,null],v=v[0]}break;case 38:l-=n=r[e++],o=h.slice(l+1,l+n+1),i=h[l--],s=h[l--],i._u===a?(i=i._v,v=[v,e,b,y,m],e=i[0],null==s&&(s=function(){return this}()),b=s,(y=[o].concat(o)).length=Math.min(i[1],n)+1,y.p=i[2],m=[]):(u=i.apply(s,o),h[++l]=u);break;case 55:for(n=r[e++],s=[void 0],u=n;u>0;--u)s[u]=h[l--];o=h[l--],u=new(i=Function.bind.apply(o,s)),h[++l]=u;break;case 22:e+=2+(n=(n=(r[e]<<8)+r[e+1])<<16>>16);break;case 25:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,(i=h[l--])||(e+=n);break;case 7:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,i=h[l--],h[l]===i&&(--l,e+=n);break;case 41:--l;break;case 15:i=h[l],h[++l]=i;break;default:throw new Error("ioe")}}catch(g){for(p=[0,null];(n=m.pop())&&!n[0];);if(!n){a:for(;v;){for(i=v[4];n=i.pop();)if(n[0])break a;v=v[0]}if(!v)throw g;e=v[1],b=v[2],y=v[3],m=v[4],v=v[0]}1===(i=n[0])?(e=n[2],n[0]=0,m.push(n),h[++l]=g):2===i?(e=n[2],n[0]=0,m.push(n),p=[3,g]):(e=n[3],n[0]=2,m.push(n),h[++l]=g)}}(n,[],0,e,f)}("504B0101e160cad70000055cd6ca61e0000005f61200004b0001120001301200024b0001120003301200044b0001120005304b00011c1b0000004346022500021f4b020c4b00024b00012602291f4b020f4b000226011c1f4b030e2e4b01022602291f4b030d2e4b01024b000215000126032500034b00014b00030d00064b00031c4b021137002500041f4b02124812000c24000d12000e24000f4b000324001048120011240012120013240014484b00012400151500000f3c00164b0002260124001715000124001824001926010f3c001a1b000000da460126010f3c00241b0000015e46002601294b00041c4b00011f2a4c00074b00010a00362a1900060a00361600064b00013c001b2500024b00020312001c2a19000f4b03010f3c001d4b000226012500024b00021900214b00023c001e4b0101444b0102442500034b01040f3c001f4b00032601291600201f4b031b1200204b01011200214b01021200222605294b01040f3c0023260029011c1f4b031b1200204b01011200214b01021200242605294b01040f3c0023260029011c4b01020f3c00252e4b000026021c1f4b020a1f4b020826000f3c00261b000001b84206260126012501024b01020f3c00252e4b000026021c1f4b040826000f3c00271b000001cf42014b010026021c0a011901684b00013c00284b00011200291e0a000700320a050700800a0807008f0a090700930a0c0700b90a0d0700bd0a0f0700d20a160701160a1707012112002a07011b291601214b02014c000312002b2502014b020219000b0a094b00010d00281601044b02010000034b02030000034b02041d19000b0a084b00010d00281600e60a054b00010d00281f4b06174b02014b02034b020426031c4b00013c002c2502020a094b00010d00281600ba4b060012002d3701064b02051200042a1d19000b0a0d4b00010d002816009b0a0c4b00010d00281f4b06194b02024b020626021c4b00013c002c2502024b020219000b0a0f4b00010d002816006c4b060012002e3701061f4b06101f4b06024b0202260126012502074b02031d19000b0a164b00010d002816003f484824002f2502084b02074b02083c002f4b0203304b00010f3c00301200314b020826021c4b00010f3c00301200314b020726021c4b00010f3c003226001c16fe93011c4b01030f3c00252e4b000026021c1f4b020a1f4b020826000f3c00261b000003764202260126012501034b01030f3c00252e4b000026021c1f4b040826000f3c00271b0000038d42014b010026021c0a0119009a4b00013c00284b00011200291e0a000700190a0207003e0a040700580a0607006c12002a0700662916006c4b02011d4c00044b02021d1d19000b0a024b00010d00281600524b00010f3c00301200314b020126021c0a044b00010d00281f4b0613484b02012400194b02023c003324003326011c4b00013c002c2502014b00010f3c00301200314b020126021c4b00010f3c003226001c16ff61011c110004250002403300744b0203031200342a1900061200341600091f4b02094b020326011200352a00000b4b02033c0036031200372a1900444b02033c00384b02040f3c00390a000a610a730a6d0a010a000a000a00260837012500014b00014b02033c0038181900134b02033c003a4b000137014b02033c003a181c40101c4b01011f2a190022110004250006403300184b020500000e4b02050f3c003b12003c26011d1d250101404b00003c003d2500034b02064b00030a01351900094b00030a012c1600020a0037012500040a012500054b00054b0003041900194b00004b0005444b00044b00050a012c30220005172916ffdd4b01010000064b02073c003e0000254b02072200021e3c003e0f3c00254b000212003f4b00011500020f3c00164b00042601260229011c1b0000006e46032501171b0000018046062501181b0000018e46002500021b0000033e46022501191b0000034c46002500031b0000042e460025011a1b000004ae460125011b1f2500011f1b0000000046014b01144c000148260125011448483a1c21240006120007240008240009483a1c2224000612000a24000824000b2501151f1b0000002246011f4b010b4b010026012601250116011c004010809280958080808f808580808093808580be8084808f808280938098809180951080b280b580a080af80a580a080b380a580be80a480af80a280b380b880b180b50f809180938088809780808095808480be8084808f808280938098809180950f80b180b380a880b780a080b580a480be80a480af80a280b380b880b180b517809180938088809780808095808480be8084808f8082809380988091809580be80948091808680938080808580841780b180b380a880b780a080b580a480be80a480af80a280b380b880b180b580be80b480b180a680b380a080a580a4048082808e808580842580b68084808380c180828093809880918095808e80868093808080918089809880c180a080b180a880c18088809280c1808f808e809580c18092809480918091808e809380958084808503808c809280861380b68084808380a28093809880918095808e80af808e809580b2809480918091808e809380951d80a58084808280938098809180958088808e808f80c18083809880c180b380b280a080cc80ae80a080a480b180c1808780808088808d808480851580b180938088809780808095808480aa8084809880a580848082809380988091809580a780808088808d04808b8092808e808f0480958098809180840480b180ae80b280b506808c808480958089808e80850380948093808d0280d380d30880858093808c80be80958098809180840380d380cf80d10780978084809380928088808e808f03809780888085068082808e808f80828080809504808a8088808580920f808d808880828084808f8092808480be809380848090809480848092809504808580808095808004809580898084808f088093808480928091808e808f80928084068092809580938088808f808605809180808093809280840d8091808d8080809880be808d808880828084808f80928084809207809380848092808e808d809780841b80868084809580b28084808280938084809580aa8084809880a3809880aa8088808580c18084808f808580cd80c180978088808580cd0580cd80c1808a808880850d8093808480928091808e808f8092808480c1808f8094808d808d0680938084808b808480828095058082808080958082808905808080918091808d809804808c80808093808a04809680938080809104808f808480998095048091809380848097038084808f8085000480928084808f80953580928089808e8094808d808580c180918093808e809780888085808480c180928084808280938084809580aa8084809880c1808e809380c180978088808580cd80c1808a8084809880a8808580c18080808f808580c1808d808880828084808f8092808480b48093808d1880868084809580aa8084809880b78080808d8094808480db80c18092808a80c18088809280c18084808c809180958098098082808d80848080809380aa808480988092068080808380938094809180950680938084809580948093808f0480928095808e80910a809180938088809780808095808480aa80848098098094808f8085808480878088808f8084808506808e8083808b8084808280950b8088808f809280958080808f809580888080809580840880878094808f808280958088808e808f0680ac808e80858094808d808402808e80870880a8808f809280958080808f808280840780868084809580a880958084808c0c809280848082809380848095808a80848098808d808e808606808d8084808f80868095808903808d808e80860d80ba80b980a680b280848082809380848095808a8084809880bc",{0:Error,1:JSON,get 2(){return atob},3:WebAssembly,4:Uint8Array,get 5(){return localStorage},6:Array,get 7(){return console},get 8(){return cf},get 9(){return sf},get 10(){return Je},get 11(){return uf},get 12(){return bf},get 13(){return Ze},get 14(){return af},get 15(){return ff},get 16(){return Ip},get 17(){return Dp},get 18(){return Op},get 19(){return Yp},get 20(){return Rp},set 20(a){Rp=a},get 21(){return Lp},set 21(a){Lp=a},get 22(){return Cp},set 22(a){Cp=a},get 23(){return Pp},set 23(a){Pp=a},get 24(){return jp},set 24(a){jp=a},get 25(){return Mp},set 25(a){Mp=a},get 26(){return Bp},set 26(a){Bp=a},get 27(){return Up},set 27(a){Up=a}},void 0);var Jp,Zp,av,ev,fv,dv,tv,bv,rv=(Jp="vodTimestampSalt",Zp=function(a){return a.split("").map((function(a){return a.charCodeAt(0)}))},av=function(a){return"0".concat(Number(a).toString(16)).substr(-2)},ev=function(a){return Zp(Jp).reduce((function(a,e){return a^e}),a)},function(a){return a.split("").map(Zp).map(ev).map(av).join("")}),cv=(tv="vodTimestampSalt",bv=function(a){return(e=tv,e.split("").map((function(a){return a.charCodeAt(0)}))).reduce((function(a,e){return a^e}),a);var e},function(a){return a.match(/.{1,2}/g).map((function(a){return parseInt(a,16)})).map(bv).map((function(a){return String.fromCharCode(a)})).join("")}),nv={str2hex:function(a){if(""===a)return"";for(var e=[],f=0;f<a.length;f++)e.push(a.charCodeAt(f));return e},Base64ToHex:function(a){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],f=window.atob(a.replace(/-/g,"+").replace(/_/g,"/"));if(e){for(var d=[],t=0;t<f.length;t++)d.push(f.charCodeAt(t));return new Uint8Array(d).buffer}for(var b="",r=0;r<f.length;r++)b+="0".concat(f.charCodeAt(r).toString(16)).substr(-2);return b},checkUnionInfoExpired:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30;if(0===e.indexOf(a)){var d=parseInt(cv(e.slice(a.length))),t=(new Date).getTime()-d;if(t>0&&t<=1e3*f)return!0;Up("UnionInfo timestamp expire!!!")}else Up("unionID and UnionInfo not match!!!");return!1},getUnionInfo:function(){return"".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").concat(rv((new Date).getTime().toString()))},StringToArrayBuffer:function(a){for(var e=new ArrayBuffer(a.length),f=new Uint8Array(e),d=0;d<a.length;d++)f[d]=a.charCodeAt(d);return e},ArrayBufferToString:function(a){var e=[];a=ArrayBuffer.isView(a)?a:new Uint8Array(a);for(var f,d=0;d<a.length;d++)f=a[d],e.push(String.fromCharCode(f));return e.join("")},isBase64:function(a){return/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/.test(a)},fromCharCode:Qp,fromHex:function(a){for(var e=new Uint8Array(a.length/2),f=0;f<a.length;f+=2)e[f/2]=window.parseInt(a.substr(f,2),16);return e},toUTF8:function(a){for(var e=encodeURIComponent(a),f=unescape(e),d=new Uint8Array(f.length),t=0;t<f.length;++t)d[t]=f.charCodeAt(t);return d.buffer},toBase64:function(a,e){var f=Qp(a);e=void 0===e||e;var d=window.btoa(f).replace(/\+/g,"-").replace(/\//g,"_");return e?d:d.replace(/=*$/,"")}};a.EVENT_EME=void 0,function(a,e,f){function d(a,e){var f=parseInt(a.slice(e,e+2),16);return f>>>7==0?[1,f]:f>>>6==2?(f=(63&f)<<8,[2,f+=parseInt(a.slice(e+2,e+4),16)]):(f=(63&f)<<16,[3,f+=parseInt(a.slice(e+2,e+6),16)])}var t,b=0,r=[],c=[];for(t=0;t<4;++t)b+=(3&parseInt(a.slice(8+2*t,10+2*t),16))<<2*t;var n=parseInt(a.slice(16,24),16),i=2*parseInt(a.slice(32,40),16);for(t=40;t<i+40;t+=2)r.push(parseInt(a.slice(t,t+2),16));var o=i+40,s=parseInt(a.slice(o,o+4),16);for(o+=4,t=0;t<s;++t){var u=d(a,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=d(a,o);l+=String.fromCharCode(b^p[1]),o+=2*p[0]}c.push(l)}e.p=null,function a(e,f,d,t,b){var n,i,o,s,u,l=-1,h=[],p=null,v=[f];for(i=Math.min(f.length,d),o=0;o<i;++o)v.push(f[o]);v.p=t;for(var y=[];;)try{switch(r[e++]){case 16:h[++l]=!1;break;case 31:h[++l]=null;break;case 10:n=r[e++],h[++l]=n<<24>>24;break;case 58:n=(r[e]<<8)+r[e+1],e+=2,h[++l]=n<<16>>16;break;case 27:n=((n=((n=r[e++])<<8)+r[e++])<<8)+r[e++],h[++l]=(n<<8)+r[e++];break;case 18:n=(r[e]<<8)+r[e+1],e+=2,h[++l]=c[n];break;case 1:h[++l]=void 0;break;case 46:h[++l]=b;break;case 21:n=(r[e]<<8)+r[e+1],e+=2,l=l-n+1,i=h.slice(l,l+n),h[l]=i;break;case 72:h[++l]={};break;case 36:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],o=h[l--],h[l][i]=o;break;case 75:for(i=r[e++],o=r[e++],s=v;i>0;--i)s=s.p;h[++l]=s[o];break;case 60:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],h[l]=h[l][i];break;case 68:i=h[l--],h[l]=h[l][i];break;case 37:for(i=r[e++],o=r[e++],s=v;i>0;--i)s=s.p;s[o]=h[l--];break;case 13:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],o=h[l--],s=h[l--],o[i]=s;break;case 48:i=h[l--],o=h[l--],s=h[l--],o[i]=s;break;case 34:for(i=r[e++],o=r[e++],s=v,s=v;i>0;--i)s=s.p;h[++l]=s,h[++l]=o;break;case 23:i=h[l--],s=(o=h[l--])[i]++,h[++l]=s;break;case 42:i=h[l--],h[l]=h[l]===i;break;case 43:i=h[l--],h[l]=h[l]!==i;break;case 29:h[l]=!h[l];break;case 0:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,h[l]?--l:e+=n;break;case 76:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,h[l]?e+=n:--l;break;case 30:i=h[l--],(o=h[l--])[i]=h[l];break;case 54:h[l]=void 0;break;case 40:i=h[l--],s=delete(o=h[l--])[i],h[++l]=s;break;case 70:n=r[e++],i=h[l--],(o=function a(){var e=a._v;return(0,a._u)(e[0],arguments,e[1],e[2],this)})._v=[i,n,v],o._u=a,h[++l]=o;break;case 66:n=r[e++],i=h[l--],(s=[o=function a(){var e=a._v;return(0,a._u)(e[0],arguments,e[1],e[2],this)}]).p=v,o._v=[i,n,s],o._u=a,h[++l]=o;break;case 6:throw i=h[l--];case 28:for(i=h[l--],o=null;s=y.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)e=o[2],o[0]=0,y.push(o);else{if(!p)return i;e=p[1],b=p[2],v=p[3],y=p[4],h[++l]=i,p=p[0]}break;case 38:l-=n=r[e++],o=h.slice(l+1,l+n+1),i=h[l--],s=h[l--],i._u===a?(i=i._v,p=[p,e,b,v,y],e=i[0],null==s&&(s=function(){return this}()),b=s,(v=[o].concat(o)).length=Math.min(i[1],n)+1,v.p=i[2],y=[]):(u=i.apply(s,o),h[++l]=u);break;case 55:for(n=r[e++],s=[void 0],u=n;u>0;--u)s[u]=h[l--];o=h[l--],u=new(i=Function.bind.apply(o,s)),h[++l]=u;break;case 22:e+=2+(n=(n=(r[e]<<8)+r[e+1])<<16>>16);break;case 25:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,(i=h[l--])||(e+=n);break;case 41:--l;break;case 15:i=h[l],h[++l]=i;break;default:throw new Error("ioe")}}catch(m){for(;(n=y.pop())&&!n[0];);if(!n){a:for(;p;){for(i=p[4];n=i.pop();)if(n[0])break a;p=p[0]}if(!p)throw m;e=p[1],b=p[2],v=p[3],y=p[4],p=p[0]}1===(i=n[0])?(e=n[2],n[0]=0,y.push(n),h[++l]=m):2===i?(e=n[2],n[0]=0,y.push(n)):(e=n[3],n[0]=2,y.push(n),h[++l]=m)}}(n,[],0,e,f)}("504B0101e160cad700000fbcd6ca61e000000ff21200014b0001120002301200034b0001120004301200054b0001120005301200064b0001120006304b00011c1b0000012d46012500021f4b020f4b00024b00012602291f4b02114b00024812002d24002f1b000008be42022400334812003424002f1b0000097f42012400334812003524002f1b00000a1242002400334812002924002f1b00000a5042012400334812002424002f1b00000a7042012400334812004b24002f1b00000b6a42002400334812001a24002f1b00000b6c42032400334812005224002f1b00000c0242012400334812005324002f1b00000c1442012400334812005624002f1b00000cb642012400334812002524002f1b00000ce442012400334812007a24002f1b00000f1042012400334812008224002f1b00000fad420024003315000d26021c1f4b03122e4b01022602291f4b03102e4b010226022500021200074b00020d0008484b00020d00090a00364b00020d000a4b03154b00020d00001f4b00020d000b0a004b00020d000c4b030037000f3c000d26000f3c000e0a2426014b00020d000f1b000001c946014b00020d002c1500004b00020d001b4b00020f3c002d4b00012601294b00020f3c002e1200034b00023c002c2602294b00021c4b01022500024b00023c000b2500034b01022500044b00031d190002011c4b01023c00081200102a1900331200112500054b04010f3c00124812001315000124001426012500064b04024b04140f3c00154b00062601370125000716054f4b01023c00081200162a1900b91200172500054b000100000b4b04024b00013c001837014c00994b04020a000a000a000a430a700a730a730a680a000a000a000a003a00ed3a00ef3a008b3a00a90a793a00d60a4a3a00ce3a00a33a00c80a273a00dc3a00d50a1d0a213a00ed0a000a000a000a230a080a010a120a100a330a330a330a330a330a330a330a330a330a330a330a330a000a000a000a000a1a0a0a0a690a6e0a740a650a720a740a720a750a730a740a220a010a2a15004337012500071604894b01023c00081200192a19047c1200172500054b000100000b4b04024b00013c001837014c045f4b04020a000a000a020a260a700a730a730a680a000a000a000a003a009a0a043a00f00a793a00980a400a423a00863a00ab3a00923a00e60a5b3a00e03a00880a5f3a00950a000a000a020a060a060a020a000a000a010a000a010a003a00fc0a010a3c0a000a570a000a520a000a4d0a000a480a000a450a000a410a000a440a000a450a000a520a000a200a000a780a000a6d0a000a6c0a000a6e0a000a730a000a3d0a000a220a000a680a000a740a000a740a000a700a000a3a0a000a2f0a000a2f0a000a730a000a630a000a680a000a650a000a6d0a000a610a000a730a000a2e0a000a6d0a000a690a000a630a000a720a000a6f0a000a730a000a6f0a000a660a000a740a000a2e0a000a630a000a6f0a000a6d0a000a2f0a000a440a000a520a000a4d0a000a2f0a000a320a000a300a000a300a000a370a000a2f0a000a300a000a330a000a2f0a000a500a000a6c0a000a610a000a790a000a520a000a650a000a610a000a640a000a790a000a480a000a650a000a610a000a640a000a650a000a720a000a220a000a200a000a760a000a650a000a720a000a730a000a690a000a6f0a000a6e0a000a3d0a000a220a000a340a000a2e0a000a300a000a2e0a000a300a000a2e0a000a300a000a220a000a3e0a000a3c0a000a440a000a410a000a540a000a410a000a3e0a000a3c0a000a500a000a520a000a4f0a000a540a000a450a000a430a000a540a000a490a000a4e0a000a460a000a4f0a000a3e0a000a3c0a000a4b0a000a450a000a590a000a4c0a000a450a000a4e0a000a3e0a000a310a000a360a000a3c0a000a2f0a000a4b0a000a450a000a590a000a4c0a000a450a000a4e0a000a3e0a000a3c0a000a410a000a4c0a000a470a000a490a000a440a000a3e0a000a410a000a450a000a530a000a430a000a540a000a520a000a3c0a000a2f0a000a410a000a4c0a000a470a000a490a000a440a000a3e0a000a3c0a000a2f0a000a500a000a520a000a4f0a000a540a000a450a000a430a000a540a000a490a000a4e0a000a460a000a4f0a000a3e0a000a3c0a000a4b0a000a490a000a440a000a3e0a000a4d0a000a7a0a000a4d0a000a7a0a000a4d0a000a7a0a000a4d0a000a7a0a000a4d0a000a7a0a000a4d0a000a7a0a000a4d0a000a7a0a000a4d0a000a7a0a000a410a000a410a000a410a000a410a000a410a000a410a000a3d0a000a3d0a000a3c0a000a2f0a000a4b0a000a490a000a440a000a3e0a000a3c0a000a430a000a480a000a450a000a430a000a4b0a000a530a000a550a000a4d0a000a3e0a000a410a000a310a000a350a000a420a000a590a000a570a000a440a000a340a000a710a000a730a000a490a000a3d0a000a3c0a000a2f0a000a430a000a480a000a450a000a430a000a4b0a000a530a000a550a000a4d0a000a3e0a000a3c0a000a2f0a000a440a000a410a000a540a000a410a000a3e0a000a3c0a000a2f0a000a570a000a520a000a4d0a000a480a000a450a000a410a000a440a000a450a000a520a000a3e0a0015022637012500074b00040f3c001a4b00034b00043c00084b00043c001b26030f3c001c1b000007b946001b000008a2460026020f3c001c1b000008af46001b000008b14600260229011c4b01033c001d2200011e1f2a4c00074b00010a00362a1900060a00361600094b00010f3c001e26002500024b00021d1900094b050312001f3701064b01033c00200f3c00214b00022601294b01043c00081200102a1900294b04014b01043c000f442500034b00020f3c00221200234b01040f3c00244b000326012602291600554b01043c00081200162a19001f4b00020f3c00221200234b01043c00250f3c00264b010426012602291600294b01043c00081200192a19001c4b00020f3c00221200234b01043c00250f3c00264b010426012602294b00020f3c00274b01054b01073c002826021c4b01040f3c002912002a26011c011c4b01040f3c002912002b26011c4b00011f2b0000074b00010a00362b0000064b00013c00301900151200102e0d00084b00013c00304b03012e3c000f304b00011f2b0000074b00010a00362b0000064b00013c003019000a1200102e0d000816005b4b00011f2b0000074b00010a00362b0000064b00013c00311900141200162e0d00084b00013c00312e0d000916002c4b00011f2b0000074b00010a00362b0000064b00013c00321900111200192e0d00084b00013c00322e0d00094b00020000084b00022e1200001e29011c2e3c00004b04152a19007f2e3c00081200102a00000e4b03012e3c000f442200021e1f2b0000074b00020a00362b0000084b00022e3c0000441900294b03012e3c000f442e3c0000444b03012e3c000f444b0001304b03012e3c000f444b041528291600252e3c00092e3c0000441900192e3c00094b0415442e3c00094b0001302e3c00094b041528294b00012e0d0000011c481200111200361500022400374812003824003915000124003a4812003b2400394812003c2400394812003d24003915000324003e1500012e0d001b011c4b04040f3c000112003f4b00012602292e0f3c00401200014b0001260229011c2e2500021b00000a7c46011c1500002500021500002500034b05050f3c00094b010126010f3c00411b00000aea4601260129484b00022400092500044b05010f3c00124b000426012500054b00013c00470f3c00484b05140f3c00494b0005260126010f3c001c1b00000b5b46001b00000b5d4600260229011c4b02014b0001442500024b06140f3c00424b000126012500034b06140f3c00424b00022601250004481200432400444b06140f3c00454b00031026022400004b06140f3c00454b00041026022400462500054b01020f3c00214b00052601294b01030f3c00214b00053c0000260129011c011c4b02020f3c002912004a26011c011c2e2500042e3c000a4c00064b00013c001d1900112e3c000a4c00094b04060f3c004c26001c4b04070f3c004d4b00024b000326020f3c001c1b00000bd146011b00000bdb460026020f3c001c1b00000be846011b00000bf5460026022e0d000a2e3c000a1c4b00010f3c004e26001c4b01040f3c002912004f26011c4b01010f3c00504b000126011c4b01040f3c002912005126011c4b00012e0d000b1500004b00010d0020011c1200542500024b04083c005519008f2e0f3c00564b000126012500034b04083c005537002500044b00040f3c00574b000312005826022500054b00051900154b00050f3c00594b000212005a26020a00441600011f2500064b00061900154b00060f3c00594b000212005b26020a00441600011f2500074b00071900154b00070f3c00594b000212005c26020a00441600011f2500084b00081900021f1c4b00011c4b04093c005d0f3c005e1f4b04024b0001370126022500021f4b040a1f4b040b4b0002260126012500034b00031c2e2500024b040c37002500034b00030f3c005f1200602e3c00093c00612602291b00000d1d46004b00030d00784b00030f3c0079260029011c4b01033c00620a042a1901164b01013c00232500014b01033c00632500024b01023c00081200192a1900334b05010f3c00644b01033c006326012500021200070f3c00654b00023c006612006726020f3c00654b00023c006826012500024b00021d1900434b01020f3c0040120006481200070f3c00654b01023c00093c006112006926020f3c00654b01033c006a12006b26020f3c00654b01033c006c260124006d260229011c4b050c37002500034b01013c00474b00030d006e12006f4b00030d0070104b00030d00714b00030f3c005f1200721f4b05094b000226012602294b01023c00081200192a1900104b00030f3c00731200741200582602291b00000e4146004b00030d00784b00030f3c00794b01020f3c007a4b00012601260129011c4b01033c00620a042a1900c14b01033c006a3a00c82b19003d4b02020f3c0040120006481200070f3c00654b010212007526020f3c00654b01033c006a12006b26020f3c00654b01033c006c260124006d260229011c4b02020f3c0040120005484b02023c000c24006d2602294b020212000c17294b02023c00081200192a1900154b02020f3c00534b01033c0063260125000116000e4b06024b01033c006337012500014b01033c006e0f3c00484b000126010f3c00764b06043c00010f3c00264b06041200772602260129011c2e3c00081200192a1900891f2500024b040d37002500034b040e4b000137012500044b04093c005d0f3c005e1f4b000426022500054b00030f3c00574b000512007b26022500064b00060f3c007c12007d26010a00441900334b00060f3c007c12007e26010a00443c007f0a00443c00802500074b000719000f4b04080f3c00814b000726012500021600044b00011c4b00021c4b04024b000137011c2e0f3c00832600291f2e0d000b011c1200002501151f1b0000000046014b01164c0001482601250116482500011f1b0000002c46014b011326012500024b0002250117011c008403808a8088808505808480938093808e80930580a480b380b380ae80b3098084808f80828093809880918095808480850980a480af80a280b380b880b180b580a480a51380a280a580ac80be80ad80a880a280a480af80b280a480be80b280b480a280a280a480b280b21180a280a580ac80be80ad80a880a280a480af80b280a480be80a480b380b380ae80b30009808a8084809880b28098809280958084808c04808a8084809880920d8084808f809280948093808480b18093808e808c808880928084058097808880858084808e0b808d808880828084808f8092808480b28095808480910780868084809580b58088808c8084088095808e80b2809580938088808f80860f8082808d80848080809380aa8084809880b28095808e8093808480a880850f808e8093808680cf809680d280cf8082808d808480808093808a8084809806808a80848098808880858092098092809580938088808f80868088808780982080d180d080d380d280d580d480d780d680d980d880808083808280858084808780d180d080d380d280d580d480d780d680d980d880808083808280858084808704808a808880858092068095808e80b480b580a780d9128082808e808c80cf809680888085808480978088808f808480cf8080808d8091808980800480828084808f8082088088808f8088809580a5808080958080178082808e808c80cf808c808880828093808e8092808e8087809580cf8091808d8080809880938084808080858098168084808f809280948093808480ac808480858088808080aa80848098809280a280938084808080958084808507808e809180958088808e808f809204809580898084808f09808c808480858088808080aa8084809880920d80828093808480808095808480b28084809280928088808e808f1980a780808088808d8084808580c18095808e80c180828093808480808095808480c180928084809280928088808e808f80cf0880928084809280928088808e808f80920480918094809280891080808085808580a480978084808f809580ad8088809280958084808f8084809307808c8084809280928080808680841180948091808580808095808480b28084809280928088808e808f80a78094808f808213808d808880828084808f8092808480b380848090809480848092809580b380848080808580980480838088808f80850f80868084808f8084809380808095808480b38084809080948084809280950680838094808780878084809304808380808088808d2f80c1808780808088808d8084808580c18095808e80c18084808f809280948093808480c180ac808480858088808080aa80848098809280c1808e808f80c180a980b580ac80ad80ac808480858088808080a4808d8084808c8084808f80951c80c180a780808088808d8084808580c18095808e80c180868084808f8084809380808095808480c1809380848090809480848092809580cf0d8084808f8082809380988091809580a98080808f8085808d80840980948091808580808095808480a58093808c02808e808f03808a80848098098082808d80848080809380aa80848098809208809680888085808480978088808f8084098091808d80808098809380848080808580980580978080808d809480840980948091808580808095808480aa808880850a80928084809580ae809180958088808e808f809204809680848083808c0d8088808f8088809580a580808095808080b580988091808480921d8080809480858088808e80ce808c809180d580da80c18082808e808580848082809280dc80c3808c809180d5808080cf80d580d180cf80d380c30b8082808e808f80958084808f809580b5809880918084118080809480858088808e80a280808091808080838088808d808880958088808480921f8097808880858084808e80ce808c809180d580da80c18082808e808580848082809280dc80c380808097808280d080cf80d580d3808280d180d0808480c3248097808880858084808e80ce808c809180d580da80c18082808e808580848082809280dc80c380898084809780d080cf80d080cf80d780cf80ad80d080d380d180cf80d880d180c3188097808880858084808e80ce809680848083808c80da80c18082808e808580848082809280dc80c38097809180d980c3118097808880858084808e80a280808091808080838088808d808880958088808480920580ba80a480ac80a480bc048084808c80888095078087808e809380a48080808280890780878093808e808c80a98084809903808e8082809503808a80958098088095808e80a380808092808480d780d501808a06809580808093808680848095068094809180858080809580841380b2809580938088808f808680b5808e80a0809380938080809880a3809480878087808480931e80c180ac808480858088808080aa8084809880b28084809280928088808e808f80c180948091808580808095808480c1808780808088808d808480850a808a80848098809280a280898080808f8086808407809380848092808e808d809780841b809380848090809480848092809580ac808480858088808080aa8084809880b28098809280958084808c80a0808280828084809280920f80828093808480808095808480ac808480858088808080aa8084809880922580c180a780808088808d8084808580c18095808e80c1809380848090809480848092809580c1808a8084809880c180928098809280958084808c80c180808082808280848092809280cf0c80928084809580ac808480858088808080aa8084809880922280c1808780808088808d8084808580c18095808e80c180828093808480808095808480c180ac808480858088808080aa80848098809280c1808e8083808b808480828095088092808480958094809180a480ac80a4138091808080938092808480b28084809380978084809380b3808480928091808e808f809280842a8089809580958091809280db80ce80ce8092808280898084808c8080809280cf8099808c808d8092808e8080809180cf808e8093808680ce8092808e8080809180ce8084808f80978084808d808e8091808480ce0980a580ae80ac80b1808080938092808480930c80948088808f809580b5808e80b2809580938088808f80860f8091808080938092808480a78093808e808c80b2809580938088808f808608809580848099809580ce8099808c808d1680868084809580a4808d8084808c8084808f8095809280a3809880b58080808680af8080808c808480af80b20880a4808f80978084808d808e809180840480a3808e808580980580a780808094808d80950c80878093808e808c80a280898080809380a2808e8085808405808080918091808d809804808e80918084808f0380a680a480b50980928084809380978084809380b480b380ad0a8093808480808085809880b28095808080958084088093808480928091808e808f809280840580918080809380928084068082808e808f80828080809515808d808880828084808f8092808480a080828090809480888092808880958088808e808f80b48093808d1280de80a480998091809380848092809280b1808d8080809880b5808e808a8084808f80dc058095808e808a8084808f2380c1809380848090809480848092809580c1808780808088808d8084808580c080c180eb80c180c180c180c180c180c180c180c180c180c180928095808080958094809280db068092809580808095809480920c80c180928095808080958094809280b580848099809580db0a80928095808080958094809280b58084809980950480858080809580800a808a8084809880b28084809280928088808e808f0b808080938093808080988083809480878087808480930c8093808480928091808e808f8092808480b58098809180840f809680888095808980a28093808480858084808f809580888080808d80920480b180ae80b280b51080928084809580b380848090809480848092809580a9808480808085808480930c80a2808e808f80958084808f809580cc80958098809180842780c1809380848090809480848092809580c1808780808088808d8084808580c080c180eb80c180c180c180c180c180c180c180c180c180c180c180c180c180c180928095808080958094809280db05808280808095808280890f80948091808580808095808480c980c880c1808780808088808d8084808512808e808f8093808480808085809880928095808080958084808280898080808f808680840480928084808f80851c80868084809580ad808880828084808f8092808480b380848090809480848092809580a78093808e808c80ac8084809280928080808680840f808080918091808d80888082808080958088808e808f80ce8099808c808d1480868084809580a4808d8084808c8084808f8095809280a3809880b58080808680af8080808c80841380b1808d8080809880b3808480808085809880aa8084809880ac8084809280928080808680840980a280898080808d808d8084808f808680840a808280898088808d808580af808e80858084809209808f808e8085808480b78080808d809480840480808095808e80830780858084809280958093808e80981280938084808c808e8097808480a0808d808d80ad8088809280958084808f808480938092",{0:Date,1:JSON,2:Uint8Array,3:Error,get 4(){return console},5:Object,6:Promise,get 7(){return navigator},get 8(){return window},9:String,10:decodeURIComponent,get 11(){return escape},get 12(){return XMLHttpRequest},get 13(){return DOMParser},14:Uint16Array,get 15(){return bf},get 16(){return Ze},get 17(){return ff},get 18(){return af},get 19(){return wl},get 20(){return nv},get 21(){return fv},set 21(a){fv=a},get 22(){return a.EVENT_EME},set 22(e){a.EVENT_EME=e},get 23(){return dv},set 23(a){dv=a}},void 0);var iv,ov,sv=dv,uv=k,lv=h,hv=Nf("match"),pv=c,vv=t,yv=Ve,mv=uo,gv=z.f,_v=fe.f,Ev=function(a){var e;return uv(a)&&(void 0!==(e=a[hv])?!!e:"RegExp"==lv(a))},kv=Jn,Sv=mh,wv=Qa,xv=r,Tv=Va.enforce,Av=Jb,Iv=Nf("match"),Dv=vv.RegExp,Ov=Dv.prototype,Rv=/a/g,Lv=/a/g,Cv=new Dv(Rv)!==Rv,Pv=Sv.UNSUPPORTED_Y;if(pv&&yv("RegExp",!Cv||Pv||xv((function(){return Lv[Iv]=!1,Dv(Rv)!=Rv||Dv(Lv)==Lv||"/a/i"!=Dv(Rv,"i")})))){for(var jv=function(a,e){var f,d=this instanceof jv,t=Ev(a),b=void 0===e;if(!d&&t&&a.constructor===jv&&b)return a;Cv?t&&!b&&(a=a.source):a instanceof jv&&(b&&(e=kv.call(a)),a=a.source),Pv&&(f=!!e&&e.indexOf("y")>-1)&&(e=e.replace(/y/g,""));var r=mv(Cv?new Dv(a,e):Dv(a,e),d?this:Ov,jv);return Pv&&f&&(Tv(r).sticky=!0),r},Mv=function(a){a in jv||gv(jv,a,{configurable:!0,get:function(){return Dv[a]},set:function(e){Dv[a]=e}})},Bv=_v(Dv),Uv=0;Bv.length>Uv;)Mv(Bv[Uv++]);Ov.constructor=jv,jv.prototype=Ov,wv(vv,"RegExp",jv)}Av("RegExp"),a.isNativeFunction=void 0,a.checkMSEValid=void 0,a.checkEMEValid=void 0,function(a,e,f){function d(a,e){var f=parseInt(a.slice(e,e+2),16);return f>>>7==0?[1,f]:f>>>6==2?(f=(63&f)<<8,[2,f+=parseInt(a.slice(e+2,e+4),16)]):(f=(63&f)<<16,[3,f+=parseInt(a.slice(e+2,e+6),16)])}var t,b=0,r=[],c=[];for(t=0;t<4;++t)b+=(3&parseInt(a.slice(8+2*t,10+2*t),16))<<2*t;var n=parseInt(a.slice(16,24),16),i=2*parseInt(a.slice(32,40),16);for(t=40;t<i+40;t+=2)r.push(parseInt(a.slice(t,t+2),16));var o=i+40,s=parseInt(a.slice(o,o+4),16);for(o+=4,t=0;t<s;++t){var u=d(a,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=d(a,o);l+=String.fromCharCode(b^p[1]),o+=2*p[0]}c.push(l)}e.p=null,function a(e,f,d,t,b){var n,i,o,s,u,l=-1,h=[],p=null,v=[f];for(i=Math.min(f.length,d),o=0;o<i;++o)v.push(f[o]);v.p=t;for(var y=[];;)try{switch(r[e++]){case 9:h[++l]=!0;break;case 16:h[++l]=!1;break;case 31:h[++l]=null;break;case 10:n=r[e++],h[++l]=n<<24>>24;break;case 27:n=((n=((n=r[e++])<<8)+r[e++])<<8)+r[e++],h[++l]=(n<<8)+r[e++];break;case 18:n=(r[e]<<8)+r[e+1],e+=2,h[++l]=c[n];break;case 1:h[++l]=void 0;break;case 21:n=(r[e]<<8)+r[e+1],e+=2,l=l-n+1,i=h.slice(l,l+n),h[l]=i;break;case 75:for(i=r[e++],o=r[e++],s=v;i>0;--i)s=s.p;h[++l]=s[o];break;case 60:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],h[l]=h[l][i];break;case 68:i=h[l--],h[l]=h[l][i];break;case 37:for(i=r[e++],o=r[e++],s=v;i>0;--i)s=s.p;s[o]=h[l--];break;case 34:for(i=r[e++],o=r[e++],s=v,s=v;i>0;--i)s=s.p;h[++l]=s,h[++l]=o;break;case 14:h[l]=-h[l];break;case 42:i=h[l--],h[l]=h[l]===i;break;case 43:i=h[l--],h[l]=h[l]!==i;break;case 53:i=h[l--],h[l]=h[l]>i;break;case 0:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,h[l]?--l:e+=n;break;case 76:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,h[l]?e+=n:--l;break;case 30:i=h[l--],(o=h[l--])[i]=h[l];break;case 54:h[l]=void 0;break;case 3:h[l]=typeof h[l];break;case 70:n=r[e++],i=h[l--],(o=function a(){var e=a._v;return(0,a._u)(e[0],arguments,e[1],e[2],this)})._v=[i,n,v],o._u=a,h[++l]=o;break;case 28:for(i=h[l--],o=null;s=y.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)e=o[2],o[0]=0,y.push(o);else{if(!p)return i;e=p[1],b=p[2],v=p[3],y=p[4],h[++l]=i,p=p[0]}break;case 38:l-=n=r[e++],o=h.slice(l+1,l+n+1),i=h[l--],s=h[l--],i._u===a?(i=i._v,p=[p,e,b,v,y],e=i[0],null==s&&(s=function(){return this}()),b=s,(v=[o].concat(o)).length=Math.min(i[1],n)+1,v.p=i[2],y=[]):(u=i.apply(s,o),h[++l]=u);break;case 55:for(n=r[e++],s=[void 0],u=n;u>0;--u)s[u]=h[l--];o=h[l--],u=new(i=Function.bind.apply(o,s)),h[++l]=u;break;case 22:e+=2+(n=(n=(r[e]<<8)+r[e+1])<<16>>16);break;case 25:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,(i=h[l--])||(e+=n);break;case 41:--l;break;case 15:i=h[l],h[++l]=i;break;default:throw new Error("ioe")}}catch(m){for(;(n=y.pop())&&!n[0];);if(!n){a:for(;p;){for(i=p[4];n=i.pop();)if(n[0])break a;p=p[0]}if(!p)throw m;e=p[1],b=p[2],v=p[3],y=p[4],p=p[0]}1===(i=n[0])?(e=n[2],n[0]=0,y.push(n),h[++l]=m):2===i?(e=n[2],n[0]=0,y.push(n)):(e=n[3],n[0]=2,y.push(n),h[++l]=m)}}(n,[],0,e,f)}("504B0101e160cad7000002f7d6ca61e000000343092500024b02020f3c00024b000126011900194b00010f3c00031b0000009d46024b0002260225000216006d1f4b02031200040f3c00051f4b02044b010126010f3c00064b0203120007120008370212000926020f3c00064b020312000a120008370212000b260212000c260226012500034b00010312000d2a1900184b00030f3c000e4b01020f3c000f4b000126012601160001102500024b00021c4b00010000091f4b030c4b000226011c4b00003c00100a00350000084b00000a0044012b1900094b00000a0044160001102500014b0205031200112b1900074b02051c1600374b000100000c4b020612001244031200112b19000b4b0206120012441c1600174b020612001344031200112b1900084b0206120013441c011c4b00003c00100a00350000084b00000a0044012b1900094b00000a0044160001102500014b0207031200112b1900074b02071c16001d4b000100000c4b020612001444031200112b1900084b0206120014441c011c4b00003c00100a00350000084b00000a0044012b1900094b00000a0044160001102500011f4b020d4b000126012500021f4b020e4b00012601250003102500044b00020000034b00031900621500002500054b00031900204b00050f3c00154b00032601294b00050f3c00154b00033c00003c00162601294b00021900204b00050f3c00154b00022601294b00050f3c00154b00023c00003c00172601291f4b020c4b00052601190004092500044b00041c1500002500014b0208031200112b1900a94b00010f3c00154b02083c00003c00182601294b00010f3c00154b02093c00003c00192601294b00010f3c00154b02083c00003c001a2601294b020a031200112b0000454b020b2200021e1f2a4c00074b00020a00362a4c000c4b00023c001b2200021e1f2a4c00074b00020a00362a1900060a003616000c4b00020f3c001c12001d26010a010e2a19000d4b00010f3c00154b020a2601294b00010f3c00154b020b3c001e2601294b00013c00100a002a190004091600091f4b020c4b000126011c1b00000000460125010c1b000000ad460025010d1b0000011c460025010e1b00000171460025010f1b0000022346002501104b01003c00003c00012500014b01013c00003c0001250002011c001f0980918093808e8095808e8095809880918084088095808e80b2809580938088808f8086078088809280a08093809380808098068093808480858094808280840180bf068082808e808f80828080809507809380848091808d8080808280841480ba80cf80cb80ca80de80bf80c5809a809c80c980c8809d80ba80bd80bc80bd80ce80bd80bd80bc0180860380bd80c580c72f8095808e80b2809580938088808f8086809d80c980878094808f808280958088808e808f80c880cf80cb80de80c980de80dc80bd80bd80bd80c980c8809d80c18087808e809380c180cf80ca80de80c980de80dc80bd80bd80bd80bc80c80580c580d080cf80cb80de0180c50880878094808f808280958088808e808f0480958084809280950480828080808d808d06808d8084808f808680958089098094808f8085808480878088808f808480851280ac8080808f808080868084808580ac808480858088808080b2808e80948093808280841180b68084808380aa8088809580ac808480858088808080b2808e80948093808280841380ac8080808f808080868084808580b2808e809480938082808480a3809480878087808480930480918094809280890c8080809180918084808f808580a3809480878087808480930f80808085808580b2808e809480938082808480a380948087808780848093068094809180858080809580840d80828093808480808095808480b28084809280928088808e808f1080808085808580a480978084808f809580ad8088809280958084808f8084809309809480928084809380a080868084808f8095078088808f80858084809980ae80870880a4808d8084808280958093808e808f1b809380848090809480848092809580ac808480858088808080aa8084809880b28098809280958084808c80a080828082808480928092",{0:Object,1:Function,2:Array,3:RegExp,4:String,get 5(){return"undefined"!=typeof MediaSource?MediaSource:void 0},get 6(){return self},get 7(){return"undefined"!=typeof SourceBuffer?SourceBuffer:void 0},get 8(){return"undefined"!=typeof MediaKeySession?MediaKeySession:void 0},get 9(){return MediaKeys},get 10(){return"undefined"!=typeof atob?atob:void 0},get 11(){return navigator},get 12(){return a.isNativeFunction},set 12(e){a.isNativeFunction=e},get 13(){return iv},set 13(a){iv=a},get 14(){return ov},set 14(a){ov=a},get 15(){return a.checkMSEValid},set 15(e){a.checkMSEValid=e},get 16(){return a.checkEMEValid},set 16(e){a.checkEMEValid=e}},void 0);var Nv={exports:{}},Fv=!r((function(){return Object.isExtensible(Object.preventExtensions({}))})),Gv=Ta,Vv=k,qv=D,zv=z.f,Kv=Fv,Hv=ka("meta"),$v=0,Wv=Object.isExtensible||function(){return!0},Yv=function(a){zv(a,Hv,{value:{objectID:"O"+ ++$v,weakData:{}}})},Xv=Nv.exports={REQUIRED:!1,fastKey:function(a,e){if(!Vv(a))return"symbol"==typeof a?a:("string"==typeof a?"S":"P")+a;if(!qv(a,Hv)){if(!Wv(a))return"F";if(!e)return"E";Yv(a)}return a[Hv].objectID},getWeakData:function(a,e){if(!qv(a,Hv)){if(!Wv(a))return!0;if(!e)return!1;Yv(a)}return a[Hv].weakData},onFreeze:function(a){return Kv&&Xv.REQUIRED&&Wv(a)&&!qv(a,Hv)&&Yv(a),a}};Gv[Hv]=!0;var Qv=Nv.exports,Jv=Xe,Zv=t,ay=Ve,ey=Qa,fy=Qv,dy=Cr,ty=Vt,by=k,ry=r,cy=Gr,ny=dt,iy=uo,oy=z.f,sy=Rd,uy=Gt,ly=_r,hy=Vt,py=Cr,vy=Dt,yy=Jb,my=c,gy=Qv.fastKey,_y=Va.set,Ey=Va.getterFor,ky={getConstructor:function(a,e,f,d){var t=a((function(a,b){hy(a,t,e),_y(a,{type:e,index:sy(null),first:void 0,last:void 0,size:0}),my||(a.size=0),null!=b&&py(b,a[d],{that:a,AS_ENTRIES:f})})),b=Ey(e),r=function(a,e,f){var d,t,r=b(a),n=c(a,e);return n?n.value=f:(r.last=n={index:t=gy(e,!0),key:e,value:f,previous:d=r.last,next:void 0,removed:!1},r.first||(r.first=n),d&&(d.next=n),my?r.size++:a.size++,"F"!==t&&(r.index[t]=n)),a},c=function(a,e){var f,d=b(a),t=gy(e);if("F"!==t)return d.index[t];for(f=d.first;f;f=f.next)if(f.key==e)return f};return uy(t.prototype,{clear:function(){for(var a=b(this),e=a.index,f=a.first;f;)f.removed=!0,f.previous&&(f.previous=f.previous.next=void 0),delete e[f.index],f=f.next;a.first=a.last=void 0,my?a.size=0:this.size=0},delete:function(a){var e=this,f=b(e),d=c(e,a);if(d){var t=d.next,r=d.previous;delete f.index[d.index],d.removed=!0,r&&(r.next=t),t&&(t.previous=r),f.first==d&&(f.first=t),f.last==d&&(f.last=r),my?f.size--:e.size--}return!!d},forEach:function(a){for(var e,f=b(this),d=ly(a,arguments.length>1?arguments[1]:void 0,3);e=e?e.next:f.first;)for(d(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(a){return!!c(this,a)}}),uy(t.prototype,f?{get:function(a){var e=c(this,a);return e&&e.value},set:function(a,e){return r(this,0===a?0:a,e)}}:{add:function(a){return r(this,a=0===a?0:a,a)}}),my&&oy(t.prototype,"size",{get:function(){return b(this).size}}),t},setStrong:function(a,e,f){var d=e+" Iterator",t=Ey(e),b=Ey(d);vy(a,e,(function(a,e){_y(this,{type:d,target:a,state:t(a),kind:e,last:void 0})}),(function(){for(var a=b(this),e=a.kind,f=a.last;f&&f.removed;)f=f.previous;return a.target&&(a.last=f=f?f.next:a.state.first)?"keys"==e?{value:f.key,done:!1}:"values"==e?{value:f.value,done:!1}:{value:[f.key,f.value],done:!1}:(a.target=void 0,{value:void 0,done:!0})}),f?"entries":"values",!f,!0),yy(e)}};!function(a,e,f){var d=-1!==a.indexOf("Map"),t=-1!==a.indexOf("Weak"),b=d?"set":"add",r=Zv[a],c=r&&r.prototype,n=r,i={},o=function(a){var e=c[a];ey(c,a,"add"==a?function(a){return e.call(this,0===a?0:a),this}:"delete"==a?function(a){return!(t&&!by(a))&&e.call(this,0===a?0:a)}:"get"==a?function(a){return t&&!by(a)?void 0:e.call(this,0===a?0:a)}:"has"==a?function(a){return!(t&&!by(a))&&e.call(this,0===a?0:a)}:function(a,f){return e.call(this,0===a?0:a,f),this})};if(ay(a,"function"!=typeof r||!(t||c.forEach&&!ry((function(){(new r).entries().next()})))))n=f.getConstructor(e,a,d,b),fy.REQUIRED=!0;else if(ay(a,!0)){var s=new n,u=s[b](t?{}:-0,1)!=s,l=ry((function(){s.has(1)})),h=cy((function(a){new r(a)})),p=!t&&ry((function(){for(var a=new r,e=5;e--;)a[b](e,e);return!a.has(-0)}));h||((n=e((function(e,f){ty(e,n,a);var t=iy(new r,e,n);return null!=f&&dy(f,t[b],{that:t,AS_ENTRIES:d}),t}))).prototype=c,c.constructor=n),(l||p)&&(o("delete"),o("has"),d&&o("get")),(p||u)&&o(b),t&&c.clear&&delete c.clear}i[a]=n,Jv({global:!0,forced:n!=r},i),ny(n,a),t||f.setStrong(n,a,d)}("Map",(function(a){return function(){return a(this,arguments.length?arguments[0]:void 0)}}),ky);var Sy=Yh.charAt,wy=Va,xy=Dt,Ty="String Iterator",Ay=wy.set,Iy=wy.getterFor(Ty);xy(String,"String",(function(a){Ay(this,{type:Ty,string:String(a),index:0})}),(function(){var a,e=Iy(this),f=e.string,d=e.index;return d>=f.length?{value:void 0,done:!0}:(a=Sy(f,d),e.index+=a.length,{value:a,done:!1})}));var Dy=H,Oy=hr,Ry=function(){for(var a,e=Dy(this),f=Oy(e.delete),d=!0,t=0,b=arguments.length;t<b;t++)a=f.call(e,arguments[t]),d=d&&a;return!!d};Xe({target:"Map",proto:!0,real:!0,forced:!1},{deleteAll:function(){return Ry.apply(this,arguments)}});var Ly=function(a){return Map.prototype.entries.call(a)},Cy=H,Py=_r,jy=Ly,My=Cr;Xe({target:"Map",proto:!0,real:!0,forced:!1},{every:function(a){var e=Cy(this),f=jy(e),d=Py(a,arguments.length>1?arguments[1]:void 0,3);return!My(f,(function(a,f,t){if(!d(f,a,e))return t()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}});var By=ee,Uy=H,Ny=hr,Fy=_r,Gy=Kr,Vy=Ly,qy=Cr;Xe({target:"Map",proto:!0,real:!0,forced:!1},{filter:function(a){var e=Uy(this),f=Vy(e),d=Fy(a,arguments.length>1?arguments[1]:void 0,3),t=new(Gy(e,By("Map"))),b=Ny(t.set);return qy(f,(function(a,f){d(f,a,e)&&b.call(t,a,f)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),t}});var zy=H,Ky=_r,Hy=Ly,$y=Cr;Xe({target:"Map",proto:!0,real:!0,forced:!1},{find:function(a){var e=zy(this),f=Hy(e),d=Ky(a,arguments.length>1?arguments[1]:void 0,3);return $y(f,(function(a,f,t){if(d(f,a,e))return t(f)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}});var Wy=H,Yy=_r,Xy=Ly,Qy=Cr;Xe({target:"Map",proto:!0,real:!0,forced:!1},{findKey:function(a){var e=Wy(this),f=Xy(e),d=Yy(a,arguments.length>1?arguments[1]:void 0,3);return Qy(f,(function(a,f,t){if(d(f,a,e))return t(a)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}});var Jy=H,Zy=Ly,am=function(a,e){return a===e||a!=a&&e!=e},em=Cr;Xe({target:"Map",proto:!0,real:!0,forced:!1},{includes:function(a){return em(Zy(Jy(this)),(function(e,f,d){if(am(f,a))return d()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}});var fm=H,dm=Ly,tm=Cr;Xe({target:"Map",proto:!0,real:!0,forced:!1},{keyOf:function(a){return tm(dm(fm(this)),(function(e,f,d){if(f===a)return d(e)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}});var bm=ee,rm=H,cm=hr,nm=_r,im=Kr,om=Ly,sm=Cr;Xe({target:"Map",proto:!0,real:!0,forced:!1},{mapKeys:function(a){var e=rm(this),f=om(e),d=nm(a,arguments.length>1?arguments[1]:void 0,3),t=new(im(e,bm("Map"))),b=cm(t.set);return sm(f,(function(a,f){b.call(t,d(f,a,e),f)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),t}});var um=ee,lm=H,hm=hr,pm=_r,vm=Kr,ym=Ly,mm=Cr;Xe({target:"Map",proto:!0,real:!0,forced:!1},{mapValues:function(a){var e=lm(this),f=ym(e),d=pm(a,arguments.length>1?arguments[1]:void 0,3),t=new(vm(e,um("Map"))),b=hm(t.set);return mm(f,(function(a,f){b.call(t,a,d(f,a,e))}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),t}});var gm=H,_m=hr,Em=Cr;Xe({target:"Map",proto:!0,real:!0,forced:!1},{merge:function(a){for(var e=gm(this),f=_m(e.set),d=0;d<arguments.length;)Em(arguments[d++],f,{that:e,AS_ENTRIES:!0});return e}});var km=H,Sm=hr,wm=Ly,xm=Cr;Xe({target:"Map",proto:!0,real:!0,forced:!1},{reduce:function(a){var e=km(this),f=wm(e),d=arguments.length<2,t=d?void 0:arguments[1];if(Sm(a),xm(f,(function(f,b){d?(d=!1,t=b):t=a(t,b,f,e)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),d)throw TypeError("Reduce of empty map with no initial value");return t}});var Tm=H,Am=_r,Im=Ly,Dm=Cr;Xe({target:"Map",proto:!0,real:!0,forced:!1},{some:function(a){var e=Tm(this),f=Im(e),d=Am(a,arguments.length>1?arguments[1]:void 0,3);return Dm(f,(function(a,f,t){if(d(f,a,e))return t()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}});var Om=H,Rm=hr;Xe({target:"Map",proto:!0,real:!0,forced:!1},{update:function(a,e){var f=Om(this),d=arguments.length;Rm(e);var t=f.has(a);if(!t&&d<3)throw TypeError("Updating absent value");var b=t?f.get(a):Rm(d>2?arguments[2]:void 0)(a,f);return f.set(a,e(b,a,f)),f}});var Lm={exports:{}};Lm.exports=function(a){var e=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function f(a,e){var f=a[0],d=a[1],t=a[2],b=a[3];d=((d+=((t=((t+=((b=((b+=((f=((f+=(d&t|~d&b)+e[0]-680876936|0)<<7|f>>>25)+d|0)&d|~f&t)+e[1]-389564586|0)<<12|b>>>20)+f|0)&f|~b&d)+e[2]+606105819|0)<<17|t>>>15)+b|0)&b|~t&f)+e[3]-1044525330|0)<<22|d>>>10)+t|0,d=((d+=((t=((t+=((b=((b+=((f=((f+=(d&t|~d&b)+e[4]-176418897|0)<<7|f>>>25)+d|0)&d|~f&t)+e[5]+1200080426|0)<<12|b>>>20)+f|0)&f|~b&d)+e[6]-1473231341|0)<<17|t>>>15)+b|0)&b|~t&f)+e[7]-45705983|0)<<22|d>>>10)+t|0,d=((d+=((t=((t+=((b=((b+=((f=((f+=(d&t|~d&b)+e[8]+1770035416|0)<<7|f>>>25)+d|0)&d|~f&t)+e[9]-1958414417|0)<<12|b>>>20)+f|0)&f|~b&d)+e[10]-42063|0)<<17|t>>>15)+b|0)&b|~t&f)+e[11]-1990404162|0)<<22|d>>>10)+t|0,d=((d+=((t=((t+=((b=((b+=((f=((f+=(d&t|~d&b)+e[12]+1804603682|0)<<7|f>>>25)+d|0)&d|~f&t)+e[13]-40341101|0)<<12|b>>>20)+f|0)&f|~b&d)+e[14]-1502002290|0)<<17|t>>>15)+b|0)&b|~t&f)+e[15]+1236535329|0)<<22|d>>>10)+t|0,d=((d+=((t=((t+=((b=((b+=((f=((f+=(d&b|t&~b)+e[1]-165796510|0)<<5|f>>>27)+d|0)&t|d&~t)+e[6]-1069501632|0)<<9|b>>>23)+f|0)&d|f&~d)+e[11]+643717713|0)<<14|t>>>18)+b|0)&f|b&~f)+e[0]-373897302|0)<<20|d>>>12)+t|0,d=((d+=((t=((t+=((b=((b+=((f=((f+=(d&b|t&~b)+e[5]-701558691|0)<<5|f>>>27)+d|0)&t|d&~t)+e[10]+38016083|0)<<9|b>>>23)+f|0)&d|f&~d)+e[15]-660478335|0)<<14|t>>>18)+b|0)&f|b&~f)+e[4]-405537848|0)<<20|d>>>12)+t|0,d=((d+=((t=((t+=((b=((b+=((f=((f+=(d&b|t&~b)+e[9]+568446438|0)<<5|f>>>27)+d|0)&t|d&~t)+e[14]-1019803690|0)<<9|b>>>23)+f|0)&d|f&~d)+e[3]-187363961|0)<<14|t>>>18)+b|0)&f|b&~f)+e[8]+1163531501|0)<<20|d>>>12)+t|0,d=((d+=((t=((t+=((b=((b+=((f=((f+=(d&b|t&~b)+e[13]-1444681467|0)<<5|f>>>27)+d|0)&t|d&~t)+e[2]-51403784|0)<<9|b>>>23)+f|0)&d|f&~d)+e[7]+1735328473|0)<<14|t>>>18)+b|0)&f|b&~f)+e[12]-1926607734|0)<<20|d>>>12)+t|0,d=((d+=((t=((t+=((b=((b+=((f=((f+=(d^t^b)+e[5]-378558|0)<<4|f>>>28)+d|0)^d^t)+e[8]-2022574463|0)<<11|b>>>21)+f|0)^f^d)+e[11]+1839030562|0)<<16|t>>>16)+b|0)^b^f)+e[14]-35309556|0)<<23|d>>>9)+t|0,d=((d+=((t=((t+=((b=((b+=((f=((f+=(d^t^b)+e[1]-1530992060|0)<<4|f>>>28)+d|0)^d^t)+e[4]+1272893353|0)<<11|b>>>21)+f|0)^f^d)+e[7]-155497632|0)<<16|t>>>16)+b|0)^b^f)+e[10]-1094730640|0)<<23|d>>>9)+t|0,d=((d+=((t=((t+=((b=((b+=((f=((f+=(d^t^b)+e[13]+681279174|0)<<4|f>>>28)+d|0)^d^t)+e[0]-358537222|0)<<11|b>>>21)+f|0)^f^d)+e[3]-722521979|0)<<16|t>>>16)+b|0)^b^f)+e[6]+76029189|0)<<23|d>>>9)+t|0,d=((d+=((t=((t+=((b=((b+=((f=((f+=(d^t^b)+e[9]-640364487|0)<<4|f>>>28)+d|0)^d^t)+e[12]-421815835|0)<<11|b>>>21)+f|0)^f^d)+e[15]+530742520|0)<<16|t>>>16)+b|0)^b^f)+e[2]-995338651|0)<<23|d>>>9)+t|0,d=((d+=((b=((b+=(d^((f=((f+=(t^(d|~b))+e[0]-198630844|0)<<6|f>>>26)+d|0)|~t))+e[7]+1126891415|0)<<10|b>>>22)+f|0)^((t=((t+=(f^(b|~d))+e[14]-1416354905|0)<<15|t>>>17)+b|0)|~f))+e[5]-57434055|0)<<21|d>>>11)+t|0,d=((d+=((b=((b+=(d^((f=((f+=(t^(d|~b))+e[12]+1700485571|0)<<6|f>>>26)+d|0)|~t))+e[3]-1894986606|0)<<10|b>>>22)+f|0)^((t=((t+=(f^(b|~d))+e[10]-1051523|0)<<15|t>>>17)+b|0)|~f))+e[1]-2054922799|0)<<21|d>>>11)+t|0,d=((d+=((b=((b+=(d^((f=((f+=(t^(d|~b))+e[8]+1873313359|0)<<6|f>>>26)+d|0)|~t))+e[15]-30611744|0)<<10|b>>>22)+f|0)^((t=((t+=(f^(b|~d))+e[6]-1560198380|0)<<15|t>>>17)+b|0)|~f))+e[13]+1309151649|0)<<21|d>>>11)+t|0,d=((d+=((b=((b+=(d^((f=((f+=(t^(d|~b))+e[4]-145523070|0)<<6|f>>>26)+d|0)|~t))+e[11]-1120210379|0)<<10|b>>>22)+f|0)^((t=((t+=(f^(b|~d))+e[2]+718787259|0)<<15|t>>>17)+b|0)|~f))+e[9]-343485551|0)<<21|d>>>11)+t|0,a[0]=f+a[0]|0,a[1]=d+a[1]|0,a[2]=t+a[2]|0,a[3]=b+a[3]|0}function d(a){var e,f=[];for(e=0;e<64;e+=4)f[e>>2]=a.charCodeAt(e)+(a.charCodeAt(e+1)<<8)+(a.charCodeAt(e+2)<<16)+(a.charCodeAt(e+3)<<24);return f}function t(a){var e,f=[];for(e=0;e<64;e+=4)f[e>>2]=a[e]+(a[e+1]<<8)+(a[e+2]<<16)+(a[e+3]<<24);return f}function b(a){var e,t,b,r,c,n,i=a.length,o=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=i;e+=64)f(o,d(a.substring(e-64,e)));for(t=(a=a.substring(e-64)).length,b=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e=0;e<t;e+=1)b[e>>2]|=a.charCodeAt(e)<<(e%4<<3);if(b[e>>2]|=128<<(e%4<<3),e>55)for(f(o,b),e=0;e<16;e+=1)b[e]=0;return r=(r=8*i).toString(16).match(/(.*?)(.{0,8})$/),c=parseInt(r[2],16),n=parseInt(r[1],16)||0,b[14]=c,b[15]=n,f(o,b),o}function r(a){var e,d,b,r,c,n,i=a.length,o=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=i;e+=64)f(o,t(a.subarray(e-64,e)));for(d=(a=e-64<i?a.subarray(e-64):new Uint8Array(0)).length,b=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],e=0;e<d;e+=1)b[e>>2]|=a[e]<<(e%4<<3);if(b[e>>2]|=128<<(e%4<<3),e>55)for(f(o,b),e=0;e<16;e+=1)b[e]=0;return r=(r=8*i).toString(16).match(/(.*?)(.{0,8})$/),c=parseInt(r[2],16),n=parseInt(r[1],16)||0,b[14]=c,b[15]=n,f(o,b),o}function c(a){var f,d="";for(f=0;f<4;f+=1)d+=e[a>>8*f+4&15]+e[a>>8*f&15];return d}function n(a){var e;for(e=0;e<a.length;e+=1)a[e]=c(a[e]);return a.join("")}function i(a){return/[\u0080-\uFFFF]/.test(a)&&(a=unescape(encodeURIComponent(a))),a}function o(a,e){var f,d=a.length,t=new ArrayBuffer(d),b=new Uint8Array(t);for(f=0;f<d;f+=1)b[f]=a.charCodeAt(f);return e?b:t}function s(a){return String.fromCharCode.apply(null,new Uint8Array(a))}function u(a,e,f){var d=new Uint8Array(a.byteLength+e.byteLength);return d.set(new Uint8Array(a)),d.set(new Uint8Array(e),a.byteLength),f?d:d.buffer}function l(a){var e,f=[],d=a.length;for(e=0;e<d-1;e+=2)f.push(parseInt(a.substr(e,2),16));return String.fromCharCode.apply(String,f)}function h(){this.reset()}return n(b("hello")),"undefined"==typeof ArrayBuffer||ArrayBuffer.prototype.slice||function(){function e(a,e){return(a=0|a||0)<0?Math.max(a+e,0):Math.min(a,e)}ArrayBuffer.prototype.slice=function(f,d){var t,b,r,c,n=this.byteLength,i=e(f,n),o=n;return d!==a&&(o=e(d,n)),i>o?new ArrayBuffer(0):(t=o-i,b=new ArrayBuffer(t),r=new Uint8Array(b),c=new Uint8Array(this,i,t),r.set(c),b)}}(),h.prototype.append=function(a){return this.appendBinary(i(a)),this},h.prototype.appendBinary=function(a){this._buff+=a,this._length+=a.length;var e,t=this._buff.length;for(e=64;e<=t;e+=64)f(this._hash,d(this._buff.substring(e-64,e)));return this._buff=this._buff.substring(e-64),this},h.prototype.end=function(a){var e,f,d=this._buff,t=d.length,b=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<t;e+=1)b[e>>2]|=d.charCodeAt(e)<<(e%4<<3);return this._finish(b,t),f=n(this._hash),a&&(f=l(f)),this.reset(),f},h.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},h.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},h.prototype.setState=function(a){return this._buff=a.buff,this._length=a.length,this._hash=a.hash,this},h.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},h.prototype._finish=function(a,e){var d,t,b,r=e;if(a[r>>2]|=128<<(r%4<<3),r>55)for(f(this._hash,a),r=0;r<16;r+=1)a[r]=0;d=(d=8*this._length).toString(16).match(/(.*?)(.{0,8})$/),t=parseInt(d[2],16),b=parseInt(d[1],16)||0,a[14]=t,a[15]=b,f(this._hash,a)},h.hash=function(a,e){return h.hashBinary(i(a),e)},h.hashBinary=function(a,e){var f=n(b(a));return e?l(f):f},h.ArrayBuffer=function(){this.reset()},h.ArrayBuffer.prototype.append=function(a){var e,d=u(this._buff.buffer,a,!0),b=d.length;for(this._length+=a.byteLength,e=64;e<=b;e+=64)f(this._hash,t(d.subarray(e-64,e)));return this._buff=e-64<b?new Uint8Array(d.buffer.slice(e-64)):new Uint8Array(0),this},h.ArrayBuffer.prototype.end=function(a){var e,f,d=this._buff,t=d.length,b=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<t;e+=1)b[e>>2]|=d[e]<<(e%4<<3);return this._finish(b,t),f=n(this._hash),a&&(f=l(f)),this.reset(),f},h.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},h.ArrayBuffer.prototype.getState=function(){var a=h.prototype.getState.call(this);return a.buff=s(a.buff),a},h.ArrayBuffer.prototype.setState=function(a){return a.buff=o(a.buff,!0),h.prototype.setState.call(this,a)},h.ArrayBuffer.prototype.destroy=h.prototype.destroy,h.ArrayBuffer.prototype._finish=h.prototype._finish,h.ArrayBuffer.hash=function(a,e){var f=n(r(new Uint8Array(a)));return e?l(f):f},h}();var Cm=f(Lm.exports),Pm="KekHelper",jm="-----BEGIN PUBLIC KEY-----",Mm="-----END PUBLIC KEY-----";function Bm(a){return String.fromCharCode.apply(null,new Uint8Array(a))}function Um(a){return new Uint8Array(a.split("").map((function(a){return a.charCodeAt(0)})))}function Nm(a,e,f){return Fm.apply(this,arguments)}function Fm(){return(Fm=Je(cf().mark((function a(e,f,d){var t,b,r,c;return cf().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return t=Um(e),a.next=3,crypto.subtle.importKey("pkcs8",t,{name:d.name,hash:d.hash},!0,["decrypt"]);case 3:return b=a.sent,r=Um(f),a.next=7,crypto.subtle.importKey("spki",r,{name:d.name,hash:d.hash},!0,["encrypt"]);case 7:return c=a.sent,a.abrupt("return",{privateKey:b,publicKey:c});case 9:case"end":return a.stop()}}),a)})))).apply(this,arguments)}function Gm(){return Vm.apply(this,arguments)}function Vm(){return(Vm=Je(cf().mark((function a(){var e,f,d,t,b,r,c,n,i,o,s,u,l,h,p,v,y,m;return cf().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(e={name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},f=null,d="",t="",b="",c=/kek=localstorage/gi.test("object"===("undefined"==typeof location?"undefined":sf(location))?location.href:""),a.prev=7,n=performance.now(),!(i=c?localStorage.getItem("player_keypair"):null)){a.next=23;break}if(!((o=JSON.parse(i))&&o.privateKey&&o.publicKey)){a.next=23;break}return Up(Pm,"Found key pair in local storage",o),d=o.privateKey,t=o.publicKey,b=atob(o.publicKey.replace(jm,"").replace(Mm,"").replace(/\s/g,"")),r=atob(o.privateKey.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\s/g,"")),a.next=20,Nm(r,b,e);case 20:f=a.sent,s=performance.now(),Up(Pm,"importKeyPair took ".concat(s-n," milliseconds"));case 23:a.next=28;break;case 25:a.prev=25,a.t0=a.catch(7),Up(Pm,"importKeyPair error:",a.t0);case 28:if(f){a.next=46;break}return u=performance.now(),a.next=32,Kp(e);case 32:return f=a.sent,a.next=35,crypto.subtle.exportKey("pkcs8",f.privateKey);case 35:return l=a.sent,h=Bm(l),d=window.btoa(h),a.next=40,crypto.subtle.exportKey("spki",f.publicKey);case 40:p=a.sent,b=Bm(p),t=window.btoa(b),v=performance.now(),Up(Pm,"keyPair generated, took ".concat(v-u," milliseconds")),c&&localStorage.setItem("player_keypair",JSON.stringify({privateKey:d,publicKey:t}));case 46:return y="".concat(jm,"\n").concat(t,"\n").concat(Mm),Up(Pm,"Public key (PEM format): \n".concat(y)),m=btoa(Ap(b.split("")).join("")),Up(Pm,"drmKeK: ".concat(m)),a.abrupt("return",{keyPair:f,drmKeK:m});case 51:case"end":return a.stop()}}),a,null,[[7,25]])})))).apply(this,arguments)}var qm={cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function(a){this.toString=function(){return"CORRUPT: "+this.message},this.message=a},invalid:function(a){this.toString=function(){return"INVALID: "+this.message},this.message=a},bug:function(a){this.toString=function(){return"BUG: "+this.message},this.message=a},notReady:function(a){this.toString=function(){return"NOT READY: "+this.message},this.message=a}}};function zm(a,e){return Km.apply(this,arguments)}function Km(){return(Km=Je(cf().mark((function a(e,f){var d,t,b,r,c;return cf().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return d=f.iv,t=f.tagLength,b=f.data,r=null,e=nv.StringToArrayBuffer(e),b=nv.Base64ToHex(b,!0),a.prev=4,a.next=7,crypto.subtle.importKey("raw",e,"AES-GCM",!0,["encrypt","decrypt"]);case 7:c=a.sent,a.next=13;break;case 10:throw a.prev=10,a.t0=a.catch(4),"importKey: ".concat((null===a.t0||void 0===a.t0?void 0:a.t0.message)||a.t0);case 13:return a.prev=13,a.next=16,crypto.subtle.decrypt({name:"AES-GCM",iv:new Uint8Array(d),tagLength:t},c,b);case 16:r=a.sent,a.next=30;break;case 19:if(a.prev=19,a.t1=a.catch(13),"OperationError"!==String(a.t1)){a.next=25;break}throw"Wrong Password.";case 25:if("InvalidAccessError"!==String(a.t1)){a.next=29;break}throw"Invalid Key";case 29:throw a.t1;case 30:return a.abrupt("return",new TextDecoder("utf-8").decode(r));case 31:case"end":return a.stop()}}),a,null,[[4,10],[13,19]])})))).apply(this,arguments)}function Hm(a,e){return $m.apply(this,arguments)}function $m(){return($m=Je(cf().mark((function a(e,f){var d,t,b,r,c,n,i;return cf().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return d=f.iv,t=f.tagLength,b=f.data,r=btoa(nv.ArrayBufferToString(d)),c=qm.codec.base64.toBits(r),n=qm.codec.utf8String.toBits(e),i=new qm.cipher.aes(n),a.abrupt("return",qm.codec.utf8String.fromBits(qm.mode.gcm.decrypt(i,qm.codec.base64.toBits(b),c,[],t)));case 6:case"end":return a.stop()}}),a)})))).apply(this,arguments)}qm.cipher.aes=function(a){this._tables[0][0][0]||this._precompute();var e,f,d,t,b,r=this._tables[0][4],c=this._tables[1],n=a.length,i=1;if(4!==n&&6!==n&&8!==n)throw new qm.exception.invalid("invalid aes key size");for(this._key=[t=a.slice(0),b=[]],e=n;e<4*n+28;e++)d=t[e-1],(e%n==0||8===n&&e%n==4)&&(d=r[d>>>24]<<24^r[d>>16&255]<<16^r[d>>8&255]<<8^r[255&d],e%n==0&&(d=d<<8^d>>>24^i<<24,i=i<<1^283*(i>>7))),t[e]=t[e-n]^d;for(f=0;e;f++,e--)d=t[3&f?e:e-4],b[f]=e<=4||f<4?d:c[0][r[d>>>24]]^c[1][r[d>>16&255]]^c[2][r[d>>8&255]]^c[3][r[255&d]]},qm.cipher.aes.prototype={encrypt:function(a){return this._crypt(a,0)},decrypt:function(a){return this._crypt(a,1)},_tables:[[[],[],[],[],[]],[[],[],[],[],[]]],_precompute:function(){var a,e,f,d,t,b,r,c,n=this._tables[0],i=this._tables[1],o=n[4],s=i[4],u=[],l=[];for(a=0;a<256;a++)l[(u[a]=a<<1^283*(a>>7))^a]=a;for(e=f=0;!o[e];e^=d||1,f=l[f]||1)for(b=(b=f^f<<1^f<<2^f<<3^f<<4)>>8^255&b^99,o[e]=b,s[b]=e,c=16843009*u[t=u[d=u[e]]]^65537*t^257*d^16843008*e,r=257*u[b]^16843008*b,a=0;a<4;a++)n[a][e]=r=r<<24^r>>>8,i[a][b]=c=c<<24^c>>>8;for(a=0;a<5;a++)n[a]=n[a].slice(0),i[a]=i[a].slice(0)},_crypt:function(a,e){if(4!==a.length)throw new qm.exception.invalid("invalid aes block size");var f,d,t,b,r=this._key[e],c=a[0]^r[0],n=a[e?3:1]^r[1],i=a[2]^r[2],o=a[e?1:3]^r[3],s=r.length/4-2,u=4,l=[0,0,0,0],h=this._tables[e],p=h[0],v=h[1],y=h[2],m=h[3],g=h[4];for(b=0;b<s;b++)f=p[c>>>24]^v[n>>16&255]^y[i>>8&255]^m[255&o]^r[u],d=p[n>>>24]^v[i>>16&255]^y[o>>8&255]^m[255&c]^r[u+1],t=p[i>>>24]^v[o>>16&255]^y[c>>8&255]^m[255&n]^r[u+2],o=p[o>>>24]^v[c>>16&255]^y[n>>8&255]^m[255&i]^r[u+3],u+=4,c=f,n=d,i=t;for(b=0;b<4;b++)l[e?3&-b:b]=g[c>>>24]<<24^g[n>>16&255]<<16^g[i>>8&255]<<8^g[255&o]^r[u++],f=c,c=n,n=i,i=o,o=f;return l}},qm.bitArray={bitSlice:function(a,e,f){return a=qm.bitArray._shiftRight(a.slice(e/32),32-(31&e)).slice(1),void 0===f?a:qm.bitArray.clamp(a,f-e)},extract:function(a,e,f){var d=Math.floor(-e-f&31);return(-32&(e+f-1^e)?a[e/32|0]<<32-d^a[e/32+1|0]>>>d:a[e/32|0]>>>d)&(1<<f)-1},concat:function(a,e){if(0===a.length||0===e.length)return a.concat(e);var f=a[a.length-1],d=qm.bitArray.getPartial(f);return 32===d?a.concat(e):qm.bitArray._shiftRight(e,d,0|f,a.slice(0,a.length-1))},bitLength:function(a){var e,f=a.length;return 0===f?0:(e=a[f-1],32*(f-1)+qm.bitArray.getPartial(e))},clamp:function(a,e){if(32*a.length<e)return a;var f=(a=a.slice(0,Math.ceil(e/32))).length;return e&=31,f>0&&e&&(a[f-1]=qm.bitArray.partial(e,a[f-1]&2147483648>>e-1,1)),a},partial:function(a,e,f){return 32===a?e:(f?0|e:e<<32-a)+1099511627776*a},getPartial:function(a){return Math.round(a/1099511627776)||32},equal:function(a,e){if(qm.bitArray.bitLength(a)!==qm.bitArray.bitLength(e))return!1;var f,d=0;for(f=0;f<a.length;f++)d|=a[f]^e[f];return 0===d},_shiftRight:function(a,e,f,d){var t,b,r;for(void 0===d&&(d=[]);e>=32;e-=32)d.push(f),f=0;if(0===e)return d.concat(a);for(t=0;t<a.length;t++)d.push(f|a[t]>>>e),f=a[t]<<32-e;return b=a.length?a[a.length-1]:0,r=qm.bitArray.getPartial(b),d.push(qm.bitArray.partial(e+r&31,e+r>32?f:d.pop(),1)),d},_xor4:function(a,e){return[a[0]^e[0],a[1]^e[1],a[2]^e[2],a[3]^e[3]]},byteswapM:function(a){var e,f;for(e=0;e<a.length;++e)f=a[e],a[e]=f>>>24|f>>>8&65280|(65280&f)<<8|f<<24;return a}},qm.codec.utf8String={fromBits:function(a){var e,f,d="",t=qm.bitArray.bitLength(a);for(e=0;e<t/8;e++)3&e||(f=a[e/4]),d+=String.fromCharCode(f>>>8>>>8>>>8),f<<=8;return decodeURIComponent(escape(d))},toBits:function(a){a=unescape(encodeURIComponent(a));var e,f=[],d=0;for(e=0;e<a.length;e++)d=d<<8|a.charCodeAt(e),3&~e||(f.push(d),d=0);return 3&e&&f.push(qm.bitArray.partial(8*(3&e),d)),f}},qm.codec.base64={_chars:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",fromBits:function(a,e,f){var d,t="",b=0,r=qm.codec.base64._chars,c=0,n=qm.bitArray.bitLength(a);for(f&&(r=r.substr(0,62)+"-_"),d=0;6*t.length<n;)t+=r.charAt((c^a[d]>>>b)>>>26),b<6?(c=a[d]<<6-b,b+=26,d++):(c<<=6,b-=6);for(;3&t.length&&!e;)t+="=";return t},toBits:function(a,e){a=a.replace(/\s|=/g,"");var f,d,t=[],b=0,r=qm.codec.base64._chars,c=0;for(e&&(r=r.substr(0,62)+"-_"),f=0;f<a.length;f++){if((d=r.indexOf(a.charAt(f)))<0)throw new qm.exception.invalid("this isn't base64!");b>26?(b-=26,t.push(c^d>>>b),c=d<<32-b):c^=d<<32-(b+=6)}return 56&b&&t.push(qm.bitArray.partial(56&b,c,1)),t}},qm.codec.base64url={fromBits:function(a){return qm.codec.base64.fromBits(a,1,1)},toBits:function(a){return qm.codec.base64.toBits(a,1)}},qm.mode.gcm={name:"gcm",encrypt:function(a,e,f,d,t){var b,r=e.slice(0),c=qm.bitArray;return t=t||128,d=d||[],b=qm.mode.gcm._ctrMode(!0,a,r,d,f,t),c.concat(b.data,b.tag)},decrypt:function(a,e,f,d,t){var b,r,c=e.slice(0),n=qm.bitArray,i=n.bitLength(c);if(d=d||[],(t=t||128)<=i?(r=n.bitSlice(c,i-t),c=n.bitSlice(c,0,i-t)):(r=c,c=[]),b=qm.mode.gcm._ctrMode(!1,a,c,d,f,t),!n.equal(b.tag,r))throw new qm.exception.corrupt("gcm: tag doesn't match");return b.data},_galoisMultiply:function(a,e){var f,d,t,b,r,c=qm.bitArray._xor4;for(t=[0,0,0,0],b=e.slice(0),f=0;f<128;f++){for(!!(a[Math.floor(f/32)]&1<<31-f%32)&&(t=c(t,b)),r=!!(1&b[3]),d=3;d>0;d--)b[d]=b[d]>>>1|(1&b[d-1])<<31;b[0]=b[0]>>>1,r&&(b[0]=b[0]^225<<24)}return t},_ghash:function(a,e,f){var d,t,b=f.length;for(d=e.slice(0),t=0;t<b;t+=4)d[0]^=4294967295&f[t],d[1]^=4294967295&f[t+1],d[2]^=4294967295&f[t+2],d[3]^=4294967295&f[t+3],d=qm.mode.gcm._galoisMultiply(d,a);return d},_ctrMode:function(a,e,f,d,t,b){var r,c,n,i,o,s,u,l,h,p,v,y,m=qm.bitArray;for(h=f.length,p=m.bitLength(f),v=m.bitLength(d),y=m.bitLength(t),r=e.encrypt([0,0,0,0]),96===y?(c=t.slice(0),c=m.concat(c,[1])):(c=qm.mode.gcm._ghash(r,[0,0,0,0],t),c=qm.mode.gcm._ghash(r,c,[0,0,Math.floor(y/4294967296),4294967295&y])),n=qm.mode.gcm._ghash(r,[0,0,0,0],d),s=c.slice(0),u=n.slice(0),a||(u=qm.mode.gcm._ghash(r,n,f)),o=0;o<h;o+=4)s[3]++,i=e.encrypt(s),f[o]^=i[0],f[o+1]^=i[1],f[o+2]^=i[2],f[o+3]^=i[3];return f=m.clamp(f,p),a&&(u=qm.mode.gcm._ghash(r,n,f)),l=[Math.floor(v/4294967296),4294967295&v,Math.floor(p/4294967296),4294967295&p],u=qm.mode.gcm._ghash(r,u,l),i=e.encrypt(c),u[0]^=i[0],u[1]^=i[1],u[2]^=i[2],u[3]^=i[3],{tag:m.bitSlice(u,0,b),data:f}}};var Wm,Ym={webCryptoDecrypt:zm,decrypt:(Wm=Je(cf().mark((function a(e,f){var d,t;return cf().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if("string"==typeof f&&(f=JSON.parse(f)),!f.enableSoftwareAES&&null!==(d=crypto)&&void 0!==d&&d.subtle){a.next=7;break}return a.next=4,Hm(e,f);case 4:t=a.sent,a.next=18;break;case 7:return a.prev=7,a.next=10,zm(e,f);case 10:t=a.sent,a.next=18;break;case 13:return a.prev=13,a.t0=a.catch(7),a.next=17,Hm(e,f);case 17:t=a.sent;case 18:return a.abrupt("return",t);case 19:case"end":return a.stop()}}),a,null,[[7,13]])}))),function(a,e){return Wm.apply(this,arguments)})};function Xm(a,e,f){function d(a,e){var f=parseInt(a.slice(e,e+2),16);return f>>>7==0?[1,f]:f>>>6==2?(f=(63&f)<<8,[2,f+=parseInt(a.slice(e+2,e+4),16)]):(f=(63&f)<<16,[3,f+=parseInt(a.slice(e+2,e+6),16)])}var t,b=0,r=[],c=[];for(t=0;t<4;++t)b+=(3&parseInt(a.slice(8+2*t,10+2*t),16))<<2*t;var n=parseInt(a.slice(16,24),16),i=2*parseInt(a.slice(32,40),16);for(t=40;t<i+40;t+=2)r.push(parseInt(a.slice(t,t+2),16));var o=i+40,s=parseInt(a.slice(o,o+4),16);for(o+=4,t=0;t<s;++t){var u=d(a,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=d(a,o);l+=String.fromCharCode(b^p[1]),o+=2*p[0]}c.push(l)}return e.p=null,function a(e,f,d,t,b){var n,i,o,s,u,l=-1,h=[],p=null,v=[f];for(i=Math.min(f.length,d),o=0;o<i;++o)v.push(f[o]);v.p=t;for(var y=[];;)try{switch(r[e++]){case 9:h[++l]=!0;break;case 16:h[++l]=!1;break;case 31:h[++l]=null;break;case 10:n=r[e++],h[++l]=n<<24>>24;break;case 27:n=((n=((n=r[e++])<<8)+r[e++])<<8)+r[e++],h[++l]=(n<<8)+r[e++];break;case 18:n=(r[e]<<8)+r[e+1],e+=2,h[++l]=c[n];break;case 1:h[++l]=void 0;break;case 46:h[++l]=b;break;case 21:n=(r[e]<<8)+r[e+1],e+=2,l=l-n+1,i=h.slice(l,l+n),h[l]=i;break;case 72:h[++l]={};break;case 36:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],o=h[l--],h[l][i]=o;break;case 75:for(i=r[e++],o=r[e++],s=v;i>0;--i)s=s.p;h[++l]=s[o];break;case 60:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],h[l]=h[l][i];break;case 68:i=h[l--],h[l]=h[l][i];break;case 37:for(i=r[e++],o=r[e++],s=v;i>0;--i)s=s.p;s[o]=h[l--];break;case 13:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],o=h[l--],s=h[l--],o[i]=s;break;case 48:i=h[l--],o=h[l--],s=h[l--],o[i]=s;break;case 34:for(i=r[e++],o=r[e++],s=v,s=v;i>0;--i)s=s.p;h[++l]=s,h[++l]=o;break;case 39:i=h[l--],h[l]+=i;break;case 14:h[l]=-h[l];break;case 42:i=h[l--],h[l]=h[l]===i;break;case 43:i=h[l--],h[l]=h[l]!==i;break;case 53:i=h[l--],h[l]=h[l]>i;break;case 29:h[l]=!h[l];break;case 0:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,h[l]?--l:e+=n;break;case 76:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,h[l]?e+=n:--l;break;case 30:i=h[l--],(o=h[l--])[i]=h[l];break;case 54:h[l]=void 0;break;case 3:h[l]=typeof h[l];break;case 70:n=r[e++],i=h[l--],(o=function a(){var e=a._v;return(0,a._u)(e[0],arguments,e[1],e[2],this)})._v=[i,n,v],o._u=a,h[++l]=o;break;case 66:n=r[e++],i=h[l--],(s=[o=function a(){var e=a._v;return(0,a._u)(e[0],arguments,e[1],e[2],this)}]).p=v,o._v=[i,n,s],o._u=a,h[++l]=o;break;case 6:throw i=h[l--];case 28:for(i=h[l--],o=null;s=y.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)e=o[2],o[0]=0,y.push(o);else{if(!p)return i;e=p[1],b=p[2],v=p[3],y=p[4],h[++l]=i,p=p[0]}break;case 38:l-=n=r[e++],o=h.slice(l+1,l+n+1),i=h[l--],s=h[l--],i._u===a?(i=i._v,p=[p,e,b,v,y],e=i[0],null==s&&(s=function(){return this}()),b=s,(v=[o].concat(o)).length=Math.min(i[1],n)+1,v.p=i[2],y=[]):(u=i.apply(s,o),h[++l]=u);break;case 55:for(n=r[e++],s=[void 0],u=n;u>0;--u)s[u]=h[l--];o=h[l--],u=new(i=Function.bind.apply(o,s)),h[++l]=u;break;case 22:e+=2+(n=(n=(r[e]<<8)+r[e+1])<<16>>16);break;case 25:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,(i=h[l--])||(e+=n);break;case 7:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,i=h[l--],h[l]===i&&(--l,e+=n);break;case 41:--l;break;case 15:i=h[l],h[++l]=i;break;default:throw new Error("ioe")}}catch(m){for(;(n=y.pop())&&!n[0];);if(!n){a:for(;p;){for(i=p[4];n=i.pop();)if(n[0])break a;p=p[0]}if(!p)throw m;e=p[1],b=p[2],v=p[3],y=p[4],p=p[0]}1===(i=n[0])?(e=n[2],n[0]=0,y.push(n),h[++l]=m):2===i?(e=n[2],n[0]=0,y.push(n)):(e=n[3],n[0]=2,y.push(n),h[++l]=m)}}(n,[],0,e,f)}a.TRANSFORM_IV=void 0,a.transformUnionKey=void 0,function(a,e,f){function d(a,e){var f=parseInt(a.slice(e,e+2),16);return f>>>7==0?[1,f]:f>>>6==2?(f=(63&f)<<8,[2,f+=parseInt(a.slice(e+2,e+4),16)]):(f=(63&f)<<16,[3,f+=parseInt(a.slice(e+2,e+6),16)])}var t,b=0,r=[],c=[];for(t=0;t<4;++t)b+=(3&parseInt(a.slice(8+2*t,10+2*t),16))<<2*t;var n=parseInt(a.slice(16,24),16),i=2*parseInt(a.slice(32,40),16);for(t=40;t<i+40;t+=2)r.push(parseInt(a.slice(t,t+2),16));var o=i+40,s=parseInt(a.slice(o,o+4),16);for(o+=4,t=0;t<s;++t){var u=d(a,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=d(a,o);l+=String.fromCharCode(b^p[1]),o+=2*p[0]}c.push(l)}e.p=null,function a(e,f,d,t,b){var n,i,o,s,u,l=-1,h=[],p=null,v=[f];for(i=Math.min(f.length,d),o=0;o<i;++o)v.push(f[o]);v.p=t;for(var y=[];;)try{switch(r[e++]){case 31:h[++l]=null;break;case 10:n=r[e++],h[++l]=n<<24>>24;break;case 58:n=(r[e]<<8)+r[e+1],e+=2,h[++l]=n<<16>>16;break;case 27:n=((n=((n=r[e++])<<8)+r[e++])<<8)+r[e++],h[++l]=(n<<8)+r[e++];break;case 18:n=(r[e]<<8)+r[e+1],e+=2,h[++l]=c[n];break;case 1:h[++l]=void 0;break;case 46:h[++l]=b;break;case 21:n=(r[e]<<8)+r[e+1],e+=2,l=l-n+1,i=h.slice(l,l+n),h[l]=i;break;case 72:h[++l]={};break;case 36:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],o=h[l--],h[l][i]=o;break;case 75:for(i=r[e++],o=r[e++],s=v;i>0;--i)s=s.p;h[++l]=s[o];break;case 60:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],h[l]=h[l][i];break;case 37:for(i=r[e++],o=r[e++],s=v;i>0;--i)s=s.p;s[o]=h[l--];break;case 13:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],o=h[l--],s=h[l--],o[i]=s;break;case 30:i=h[l--],(o=h[l--])[i]=h[l];break;case 70:n=r[e++],i=h[l--],(o=function a(){var e=a._v;return(0,a._u)(e[0],arguments,e[1],e[2],this)})._v=[i,n,v],o._u=a,h[++l]=o;break;case 66:n=r[e++],i=h[l--],(s=[o=function a(){var e=a._v;return(0,a._u)(e[0],arguments,e[1],e[2],this)}]).p=v,o._v=[i,n,s],o._u=a,h[++l]=o;break;case 28:for(i=h[l--],o=null;s=y.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)e=o[2],o[0]=0,y.push(o);else{if(!p)return i;e=p[1],b=p[2],v=p[3],y=p[4],h[++l]=i,p=p[0]}break;case 38:l-=n=r[e++],o=h.slice(l+1,l+n+1),i=h[l--],s=h[l--],i._u===a?(i=i._v,p=[p,e,b,v,y],e=i[0],null==s&&(s=function(){return this}()),b=s,(v=[o].concat(o)).length=Math.min(i[1],n)+1,v.p=i[2],y=[]):(u=i.apply(s,o),h[++l]=u);break;case 55:for(n=r[e++],s=[void 0],u=n;u>0;--u)s[u]=h[l--];o=h[l--],u=new(i=Function.bind.apply(o,s)),h[++l]=u;break;case 22:e+=2+(n=(n=(r[e]<<8)+r[e+1])<<16>>16);break;case 25:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,(i=h[l--])||(e+=n);break;case 7:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,i=h[l--],h[l]===i&&(--l,e+=n);break;case 41:--l;break;case 15:i=h[l],h[++l]=i;break;default:throw new Error("ioe")}}catch(m){for(;(n=y.pop())&&!n[0];);if(!n){a:for(;p;){for(i=p[4];n=i.pop();)if(n[0])break a;p=p[0]}if(!p)throw m;e=p[1],b=p[2],v=p[3],y=p[4],p=p[0]}1===(i=n[0])?(e=n[2],n[0]=0,y.push(n),h[++l]=m):2===i?(e=n[2],n[0]=0,y.push(n)):(e=n[3],n[0]=2,y.push(n),h[++l]=m)}}(n,[],0,e,f)}("504B0101e160cad7000000d9d6ca61e00000011a4b01010f3c00012e4b000026021c1f4b02011f4b020226000f3c00021b000000384202260126012501014b01010f3c00012e4b000026021c1f4b040226000f3c00031b0000004f42014b010026021c0a011900834b00013c00044b00011200051e0a000700140a030700460a0507005a1200060700542916005a4b06040f3c00074b020226012502030a034b00010d00044b06030f3c00084b0203484b02012400094b060524000a3a008024000b26021c4b00013c000c2502044b00010f3c000d12000e4b020426021c4b00010f3c000f26001c16ff78011c1b0000000046022501061b0000000e46002500014b01000a5b0a680a450a4b3a009c3a00ab3a00ee0a473a00ca0a043a00f40a0515000c37013c0000250105011c00100680838094808780878084809305808080918091808d809804808c80808093808a04809680938080809104808f808480998095048091809380848097038084808f808504808980808092808907808580848082809380988091809504808580808095808002808880970980958080808680ad8084808f8086809580890480928084808f8095068080808380938094809180950680938084809580948093808f0480928095808e8091",{0:Uint8Array,get 1(){return Je},get 2(){return cf},get 3(){return Ym},get 4(){return Cm},get 5(){return a.TRANSFORM_IV},set 5(e){a.TRANSFORM_IV=e},get 6(){return a.transformUnionKey},set 6(e){a.transformUnionKey=e}},void 0);var Qm="volcvui",Jm=new Map,Zm=new Map,ag=void 0,eg=function(){function e(f){var d;return af(this,e),(d=Ze(this,e)).EMEError=function(e){d.emit(a.EVENT_EME.ERROR,e)},d.encryptHandle=function(){var e;null===(e=d.eme)||void 0===e||e.emit(a.EVENT_EME.ENCRYPTED)},d.config=eg.defaultConfig,d.updateConfig(f),d.config.isEncrypt=!!(d.config.kid||d.config.drm||d.config.secretKey||d.config.drmKeyToken||d.config.keyValue),d.on(a.EVENT_EME.ENCRYPTED,d.encryptHandle),d}return bf(e,wl),ff(e,[{key:"destroy",value:function(){this.removeAllListeners(),this.eme&&(this.eme.destroy(),this.eme=null)}},{key:"log",value:function(a){for(var e=arguments.length,f=new Array(e>1?e-1:0),d=1;d<e;d++)f[d-1]=arguments[d];Up.apply(void 0,[a].concat(f))}},{key:"setupEME",value:function(a){this.eme&&this.eme.setupEME(a)}},{key:"updateConfig",value:function(a){var e=this;Object.keys(a).map((function(f){void 0!==a[f]&&null!==a[f]&&(e.config[f]=a[f])})),this.log("set config",JSON.stringify(this.config))}},{key:"setOptions",value:function(a){this.eme&&this.eme.setOptions(a)}},{key:"getSecretKeyByToken",value:function(a,e,f){var d=this,t=this.config,b=a||t.kid,r=e||t.playDomain||"";r.indexOf("//")<0&&(r="//".concat(r));var c=f||t.drmKeyToken||"",n=nv.isBase64(c)?window.atob(c):c,i="".concat(r,"?").concat(n,"&PlayAuthIds=").concat(b,"&ssl=true");n.indexOf("DrmType=")<0&&(i+="&DrmType=".concat(t.useUnionInfoDRM?"webdevice":"22")),this.log("getSecretKeyByToken start, vid,",t.vid,i);var o=Promise.withResolvers(),s=o.promise,u=o.resolve,l=o.reject;return Op({type:"json",method:"GET",url:i}).then((function(a){var e,f,b=a.response;if("string"==typeof b&&(b=JSON.parse(b)),b&&null!==(e=b)&&void 0!==e&&e.Result&&(null===(f=b.Result.PlayAuthInfoList)||void 0===f?void 0:f.length)>0){var r=b.Result.PlayAuthInfoList[0].PlayAuthContent;d.log("getSecretKeyByToken end, vid,",t.vid,",res,",JSON.stringify(b)),u(r)}else l(new Error("getSecretKeyByToken end, vid, ".concat(t.vid,", response null")))})).catch((function(a){l(a)})),s}},{key:"getLicense",value:function e(){return Xm("504B0101e160cad70000031ed6ca61e0000003a11f4b030326000f3c000b1b0000002242014b01001f0a050a2015000215000126041c0a011902f54b00013c000c4b000112000d1e0a000700460a030700670a0a0701060a0b07010a0a130701e10a160701f00a170701f40a190701fa0a1a0701fb0a200702560a250702880a2707028e0a2907029a12000e0702942916029a4812000f240010102400112502010a034b00010d000c4b04010f3c00124b02014b040a26021c4b04013c00002202021e294b02023c00132202031e294b02023c00142202041e294b04044c00034b02034c00034b02044c00094b04013c00003c00151d19000b0a274b00010d000c1602290a054b00010d000d4b04013c00003c00154c00034b02042502074b02034c00094b04040000034b04051d19000b0a0b4b00010d000c1601f10a0a4b00010d000c1f4b05044b04034b02034b04044b04054b04064b050526061c4b00013c00162502074b04040000094b02072202051e1f2b0000074b02050a00362b0000064b02053c001719000d4b02073c00174b0404441600034b02072502084b04013c000022020a1e294b020a3c001822020b1e294b020a3c001922020c1e294b04010f3c001a260025020d4b02081d00000d4b04013c00003c00142202081e294b020b0000034b020d0000184b05060f3c001b4b020d3c001c4b020d3c001d4b020c26031d19000b0a194b00010d000c16011a4b05070312001e2a1d19000b0a164b00010d000c1601030a134b00010d000c1f4b05074b02084b020d3c001d26021c4b00013c00162502090a174b00010d000c1600d74b050812001f3701060a1a4b00010d000c1600c34b02082502094b04040000094b02072202061e1f2b0000074b02060a00362b0000064b02063c00171900164b02094b02073c00174b0404304b02074b02010d00154b02094b02010d0014094b02010d00111f4b04094b02012601290a254b00010d000c16005d0a204b00010d000d4b00010f120020440a0526014b00010d0021104b02010d00114b00013c00214b02010d00221f4b040a4b02012601290a294b00010d000c16001b094b02010d00111f4b04094b02012601294b00010f3c002326001c16fd06011c2e2500012e3c00002500024b00023c00012500034b00023c00022500044b00023c00032500054b00023c00042500064b01010f3c000526002500074b00073c00062500084b00073c00072500094b00073c000825000a4b01010f3c000726000f3c00091f4b01021f4b010326000f3c000a1b000000004200260126012601294b00081c0024068082808e808f8087808880860380978088808503808a808880850d80868084809580ad808880828084808f8092808480b48093808d0780858093808c80b58098809180840d809680888095808980b380848092808e808d80978084809380920780918093808e808c80888092808407809380848092808e808d809780840680938084808b80848082809504809580898084808f04808c80808093808a04809680938080809104808f808480998095048091809380848097038084808f80850a80868084809580ad808880828084808f8092808406808c808480958089808e80850780928094808280828084809280921780be80958093809880a68084809580b28084808280938084809580aa8084809880a3809880b5808e808a8084808f0980928084808280938084809580aa8084809808808a8084809880b78080808d809480840380858093808c0480928084808f8095098082808d80848080809380aa8084809880920f80948092808480b4808f8088808e808f80a8808f8087808e80a580b380ac17808a8084809880b5808e808a8084808f80a480998091808880938084808580a580948093808080958088808e808f0d80be80868084809580b4808f8088808e808f80a8808f8087808e158082808980848082808a80b4808f8088808e808f80a8808f8087808e80a4809980918088809380848085078094808f8088808e808f80a880a5098094808f8088808e808f80a8808f8087808e0880878094808f808280958088808e808f4980b58089808480c180c3809580938080808f80928087808e8093808c80b4808f8088808e808f80aa8084809880c380c180928089808e8094808d808580c18083808480c180918093808e8097808880858084808580c18088808f80c18082808e808f80878088808680948093808080958088808e808f80c18080809280c1808080c180878094808f808280958088808e808f058082808080958082808902809580d105808480938093808e80930480928095808e8091",{get 0(){return e},1:Promise,get 2(){return Je},get 3(){return cf},get 4(){return jp},get 5(){return ag},get 6(){return nv},get 7(){return void 0!==a.transformUnionKey?a.transformUnionKey:void 0},8:Error,9:arguments},this)}},{key:"_tryGetSecretKeyByToken",value:(d=Je(cf().mark((function a(e,f){var d,t,b,r;return cf().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(d=this.config,t=d.kid,b=d.drmKeyToken,r=d.playDomain,!(t&&b&&r)){a.next=14;break}return a.prev=2,a.next=5,this.getSecretKeyByToken(t,r,b);case 5:this.config.secretKey=a.sent,e.success=!0,a.next=14;break;case 9:a.prev=9,a.t0=a.catch(2),e.success=!1,e.error=a.t0,f(e);case 14:case"end":return a.stop()}}),a,this,[[2,9]])}))),function(a,e){return d.apply(this,arguments)})},{key:"updateKid",value:function a(e){return Xm("504B0101e160cad700000000d6ca61e0000000172e3c000000000d2e3c00000f3c00014b0102260129011c0002038084808c80840980948091808580808095808480aa80888085",{get 0(){return a},1:arguments,2:e},this)}},{key:"getLicenseSecret",value:function e(){return Xm("504B0101e160cad70000032cd6ca61e00000048a4b01010f3c000c4b02023c000b4b0001260229011c4b01010f3c000c4b02023c000d4b0001260229011c1f4b030726000f3c001e1b0000004c42014b01001f0a0b0a1e15000215000126041c0a011902d94b00013c001f4b00011200201e0a000700410a030700620a050700890a0a0700e00a0b0700e40a0f0701150a100701190a170701d10a180701d50a190701ee0a1e0702510a2307028312002107027d2916028348120022240023102400242502010a034b00010d001f4b04010f3c00254b02014b040f26021c4b02013c00241d0000064b02013c00261d19000b0a054b00010d001f16023e4b00010f3c002712002826011c4b04013c00003c00292502024b02021d0000044b04071d1d19000b0a0b4b00010d001f16020b4b04040000034b04051d19000b0a0b4b00010d001f1601f30a0a4b00010d001f1f4b05084b04034c000312002a4b04044b040526031c4b00013c002b2502020a0b4b00010d00204b04084b05093c002c2a1d19000b0a104b00010d001f1601ab0a0f4b00010d001f1f4b050a4b02024b050b26021c4b00013c002b2502024b04061900274b04071900094b04072502021600184b02021900121f4b050c1f4b050d4b0202260126012502024b04013c00002202031e294b02033c002d2202041e294b02033c002e2202051e294b04010f3c002f26002502064b02040000034b02060000184b050e0f3c00304b02063c00314b02063c00324b020526031d19000b0a194b00010d001f1601004b04060000034b02021d19000b0a184b00010d001f1600e80a174b00010d001f1f4b050f4b02024b02063c003226021c4b00013c002b2502024b050e0f3c00334b05100f3c00344b02063c0032260126014b02010d00354b040619003d48482400362502074b04044c00034b05112502084b02024b02073c00364b0208304b04013c00070f3c00174b02072601290a00364b02010d00291600094b02024b02010d0029094b02010d00241f4b040e4b02012601290a234b00010d001f1600410a1e4b00010d00204b00010f120037440a0b26014b00010d0038104b02010d00244b00013c00384b02010d00261f4b040f4b02012601294b00010f3c003926001c16fd22011c2e2500012e3c00002500024b00023c00012500034b00023c00022500044b00023c00032500054b00023c00042500064b00023c00052500074b00023c00062500082e3c00003c00041900bf4b010137002e0d00072e3c00070f3c00084b01023c00092e3c000a2602292e3c00070f3c00084b01023c000b1b0000000046012602292e3c00070f3c00084b01023c000d1b0000001546012602292e3c00003c000e2500094b00040000034b000919005b4b01033c000f3c00100f3c001126000f3c001212001326010a010e3519000612001416000312001525000a1f4b0104484b000a484b00094b000427240016260325000b2e3c00070f3c00174b000b2601294b01050f3c001826001c4b01050f3c0019260025000c4b000c3c001a25000d4b000c3c001825000e4b000c3c001b25000f4b01050f3c001826000f3c001c1f4b01061f4b010726000f3c001d1b0000002a4200260126012601294b000d1c003a068082808e808f8087808880860380978088808503808a808880850d80868084809580ad808880828084808f8092808480b48093808d0680948092808480a480ac80a408808a8084809880b78080808d809480840780858093808c80b5809880918084038084808c808402808e808f0580a480b380b380ae80b30880a480ac80a480a480938093808e80931380a280a580ac80be80ad80a880a280a480af80b280a480be80b280b480a280a280a480b280b2048084808c808880951180a280a580ac80be80ad80a880a280a480af80b280a480be80a480b380b380ae80b3138088808f8095808480938095809380948092809580b28084809380978084809380b480b380ad09808f808080978088808680808095808e809309809480928084809380a080868084808f8095118095808e80ad808e80828080808d808480ad808e80968084809380a2808080928084078088808f80858084809980ae808706808280898093808e808c808408809680888085808480978088808f8084098091808d80808098809380848080808580980980928084809380978084809380b480b380ad0980948091808580808095808480a58093808c07809380848092808e808d809780840d809680888095808980b380848092808e808d80978084809380920780918093808e808c8088809280840680938084808b80848082809504809580898084808f04808c80808093808a04809680938080809104808f808480998095048091809380848097038084808f80850a80868084809580ad808880828084808f8092808406808c808480958089808e80850780928094808280828084809280921780be80958093809880a68084809580b28084808280938084809580aa8084809880a3809880b5808e808a8084808f05808480938093808e8093068080808380938094809180950680938084809580948093808f0980928084808280938084809580aa80848098000480928084808f80951780b180b380a880b780a080b580a480be80a480af80a280b380b880b180b580be80b480b180a680b380a080a580a40f80948092808480b4808f8088808e808f80a8808f8087808e80a580b380ac17808a8084809880b5808e808a8084808f80a480998091808880938084808580a580948093808080958088808e808f0d80be80868084809580b4808f8088808e808f80a8808f8087808e158082808980848082808a80b4808f8088808e808f80a8808f8087808e80a4809980918088809380848085078094808f8088808e808f80a880a5098094808f8088808e808f80a8808f8087808e1380b2809580938088808f808680b5808e80a0809380938080809880a3809480878087808480930480898080809280890a808580848082809380988091809580aa80848098098082808d80848080809380aa808480988092058082808080958082808902809580d10480928095808e8091",{get 0(){return e},get 1(){return sv},get 2(){return a.EVENT_EME},get 3(){return window},get 4(){return df},5:Promise,get 6(){return Je},get 7(){return cf},get 8(){return Pp},get 9(){return Rp},get 10(){return Mp},get 11(){return ag},get 12(){return Ip},get 13(){return atob},get 14(){return nv},get 15(){return a.transformUnionKey},get 16(){return Cm},get 17(){return fv},18:arguments},this)}},{key:"getSecretKey",value:function(){var a=this.config,e=a.vid,f=a.kid,d=a.getLicenseUrl,t=a.drmKeyToken,b=a.playDomain,r=a.secretKey;return d&&f?Pp(e||"",f,d):t&&f&&b?this.getSecretKeyByToken(f,b,t):r||(console.error("[DRM]DRM,getSecretKey args is invalid"),null)}},{key:"getKeyValue",value:function a(){return Xm("504B0101e160cad700000000d6ca61e00000004d2e3c00002500014b00013c00012500024b00013c00022500034b00013c00032500044b00013c00042500054b00013c00052500061f4b01014b00024b00054b00034b00044b00064b010226061c0006068082808e808f8087808880860380978088808503808a808880850d80868084809580ad808880828084808f8092808480b48093808d0980928084808280938084809580aa808480980780858093808c80b5809880918084",{get 0(){return a},get 1(){return jp},get 2(){return ag},3:arguments},this)}},{key:"_getUnionInfo",value:function(){var a=this.config,e=a.drmType,f=a.sessionId;if(!a.useUnionInfoDRM||!f)return null;var d=e===Rp.PRIVATE_ENCRYPT_UPGRADE?Zm:Jm;if(!d.get(f))throw new Error('The "sessionId" '.concat(f," for unionInfo is not valid"));return d.get(f)}}],[{key:"pluginName",get:function(){return"XGSecretKey"}},{key:"defaultConfig",get:function(){return{keyValue:void 0,kid:void 0,getLicenseUrl:"",secretKey:void 0,drm:void 0,drmType:void 0,vid:"",useUnionInfoDRM:!1,transformUnionKey:void 0,drmKeyToken:void 0,keyTokenExpiredDuration:void 0,playDomain:void 0,sessionId:Qm,useEME:!0,intertrustServerURL:void 0}}},{key:"updateUnionInfo",value:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Qm,f=nv.getUnionInfo(a);return Jm.set(e,{unionID:a,unionInfo:f}),f}},{key:"generateEncryptInfo",value:(f=Je(cf().mark((function a(){var e,f,d,t,b,r,c=arguments;return cf().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return e=c.length>0&&void 0!==c[0]?c[0]:"",f=c.length>1&&void 0!==c[1]?c[1]:Qm,a.next=4,Gm();case 4:return d=a.sent,t=d.drmKeK,b=d.keyPair,r=nv.getUnionInfo(e),Zm.set(f,{unionID:e,unionInfo:r}),ag=b,a.abrupt("return",{sessionId:f,unionInfo:r,drmKeK:t});case 11:case"end":return a.stop()}}),a)}))),function(){return f.apply(this,arguments)})}]);var f,d}(),fg=eg;fg.isWebAssemblySupported=Bp,a.XGSecretKey=fg,a.aes4js=Ym,a.util=nv})(Ba.exports);var Ua,Na,Fa,Ga,Va,qa=Ba.exports;!function(a,e,f){function d(a,e){var f=parseInt(a.slice(e,e+2),16);return f>>>7==0?[1,f]:f>>>6==2?(f=(63&f)<<8,[2,f+=parseInt(a.slice(e+2,e+4),16)]):(f=(63&f)<<16,[3,f+=parseInt(a.slice(e+2,e+6),16)])}var t,b=0,r=[],c=[];for(t=0;t<4;++t)b+=(3&parseInt(a.slice(8+2*t,10+2*t),16))<<2*t;var n=parseInt(a.slice(16,24),16),i=2*parseInt(a.slice(32,40),16);for(t=40;t<i+40;t+=2)r.push(parseInt(a.slice(t,t+2),16));var o=i+40,s=parseInt(a.slice(o,o+4),16);for(o+=4,t=0;t<s;++t){var u=d(a,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=d(a,o);l+=String.fromCharCode(b^p[1]),o+=2*p[0]}c.push(l)}e.p=null,function a(e,f,d,t,b){var n,i,o,s,u,l=-1,h=[],p=[0,null],v=null,y=[f];for(i=Math.min(f.length,d),o=0;o<i;++o)y.push(f[o]);y.p=t;for(var m=[];;)try{switch(r[e++]){case 66:h[++l]=null;break;case 52:n=r[e++],h[++l]=n<<24>>24;break;case 8:n=(r[e]<<8)+r[e+1],e+=2,h[++l]=n<<16>>16;break;case 30:n=((n=((n=r[e++])<<8)+r[e++])<<8)+r[e++],h[++l]=(n<<8)+r[e++];break;case 41:n=(r[e]<<8)+r[e+1],e+=2,h[++l]=+c[n];break;case 5:n=(r[e]<<8)+r[e+1],e+=2,h[++l]=c[n];break;case 28:h[++l]=void 0;break;case 16:h[++l]=b;break;case 21:n=(r[e]<<8)+r[e+1],e+=2,l=l-n+1,i=h.slice(l,l+n),h[l]=i;break;case 42:h[++l]={};break;case 59:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],o=h[l--],h[l][i]=o;break;case 13:for(i=r[e++],o=r[e++],s=y;i>0;--i)s=s.p;h[++l]=s[o];break;case 11:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],h[l]=h[l][i];break;case 25:i=h[l--],h[l]=h[l][i];break;case 54:for(i=r[e++],o=r[e++],s=y;i>0;--i)s=s.p;s[o]=h[l--];break;case 32:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],o=h[l--],s=h[l--],o[i]=s;break;case 51:i=h[l--],o=h[l--],s=h[l--],o[i]=s;break;case 20:for(i=r[e++],o=r[e++],s=y,s=y;i>0;--i)s=s.p;h[++l]=s,h[++l]=o;break;case 50:i=h[l--],h[l]+=i;break;case 22:i=h[l--],h[l]-=i;break;case 4:i=h[l--],h[l]*=i;break;case 60:i=h[l--],h[l]/=i;break;case 63:i=h[l--],h[l]%=i;break;case 6:h[l]=-h[l];break;case 12:i=h[l--],s=++(o=h[l--])[i],h[++l]=s;break;case 62:i=h[l--],s=(o=h[l--])[i]++,h[++l]=s;break;case 40:i=h[l--],s=(o=h[l--])[i]--,h[++l]=s;break;case 2:i=h[l--],h[l]=h[l]==i;break;case 38:i=h[l--],h[l]=h[l]!=i;break;case 56:i=h[l--],h[l]=h[l]===i;break;case 73:i=h[l--],h[l]=h[l]!==i;break;case 57:i=h[l--],h[l]=h[l]<i;break;case 3:i=h[l--],h[l]=h[l]<=i;break;case 75:i=h[l--],h[l]=h[l]>i;break;case 74:i=h[l--],h[l]=h[l]>=i;break;case 61:i=h[l--],h[l]=h[l]<<i;break;case 71:i=h[l--],h[l]=h[l]>>i;break;case 7:i=h[l--],h[l]=h[l]>>>i;break;case 18:i=h[l--],h[l]=h[l]&i;break;case 19:i=h[l--],h[l]=h[l]|i;break;case 36:h[l]=~h[l];break;case 31:i=h[l--],h[l]=h[l]^i;break;case 23:h[l]=!h[l];break;case 58:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,h[l]?--l:e+=n;break;case 15:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,h[l]?e+=n:--l;break;case 1:i=h[l--],(o=h[l--])[i]=h[l];break;case 35:i=h[l--],h[l]=h[l]in i;break;case 47:i=h[l--],h[l]=h[l]instanceof i;break;case 10:h[l]=void 0;break;case 34:i=h[l--],s=delete(o=h[l--])[i],h[++l]=s;break;case 53:h[l]=typeof h[l];break;case 33:n=r[e++],i=h[l--],(o=function a(){var e=a._v;return(0,a._u)(e[0],arguments,e[1],e[2],this)})._v=[i,n,y],o._u=a,h[++l]=o;break;case 26:n=r[e++],i=h[l--],(s=[o=function a(){var e=a._v;return(0,a._u)(e[0],arguments,e[1],e[2],this)}]).p=y,o._v=[i,n,s],o._u=a,h[++l]=o;break;case 14:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,(i=m[m.length-1])[1]=e+n;break;case 45:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,(i=m[m.length-1])&&!i[1]?(i[0]=3,i.push(e)):m.push([1,0,e]),e+=n;break;case 24:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,m.push([2,0,e]),e+=n;break;case 55:throw i=h[l--];case 70:if(o=(i=m.pop())[0],s=p[0],1===o)e=i[1];else if(0===o)if(0===s)e=i[1];else{if(1!==s)throw p[1];if(!v)return p[1];e=v[1],b=v[2],y=v[3],m=v[4],h[++l]=p[1],p=[0,null],v=v[0]}else e=i[2],i[0]=0,m.push(i);break;case 0:for(i=h[l--],o=null;s=m.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)p=[1,i],e=o[2],o[0]=0,m.push(o);else{if(!v)return i;e=v[1],b=v[2],y=v[3],m=v[4],h[++l]=i,p=[0,null],v=v[0]}break;case 44:l-=n=r[e++],o=h.slice(l+1,l+n+1),i=h[l--],s=h[l--],i._u===a?(i=i._v,v=[v,e,b,y,m],e=i[0],null==s&&(s=function(){return this}()),b=s,(y=[o].concat(o)).length=Math.min(i[1],n)+1,y.p=i[2],m=[]):(u=i.apply(s,o),h[++l]=u);break;case 43:for(n=r[e++],s=[void 0],u=n;u>0;--u)s[u]=h[l--];o=h[l--],u=new(i=Function.bind.apply(o,s)),h[++l]=u;break;case 46:e+=2+(n=(n=(r[e]<<8)+r[e+1])<<16>>16);break;case 69:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,(i=h[l--])||(e+=n);break;case 17:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,i=h[l--],h[l]===i&&(--l,e+=n);break;case 29:--l;break;case 39:i=h[l],h[++l]=i;break;case 67:for(s in i=r[e++],o=h[l--],n=[],o)n.push(s);y[i]=n;break;case 27:i=r[e++],o=h[l--],s=h[l--],(n=y[i].shift())?(s[o]=n,h[++l]=!0):h[++l]=!1;break;default:throw new Error("ioe")}}catch(g){for(p=[0,null];(n=m.pop())&&!n[0];);if(!n){a:for(;v;){for(i=v[4];n=i.pop();)if(n[0])break a;v=v[0]}if(!v)throw g;e=v[1],b=v[2],y=v[3],m=v[4],v=v[0]}1===(i=n[0])?(e=n[2],n[0]=0,m.push(n),h[++l]=g):2===i?(e=n[2],n[0]=0,m.push(n),p=[3,g]):(e=n[3],n[0]=2,m.push(n),h[++l]=g)}}(n,[],0,e,f)}("504B01019cde6b95000073d19669dc9d00007a440d0002270b00000500012c014500bd0d0002270b00020d02180500032b010500042c023600040500050d020035023a000b0500050d02000b000635024500150d0200270b00060d00040500072c023600032e005b0500050d020135264500090d02020500082b0137420d02010d00042c013600050d02030d00050b00092b0136000334003600060d00060d00050b00093945001b0d0005270b000a0d00062c010d00030d0006331400063e1d2effd80d0204270b000b0d00030d00012c02270b000c1e0000010921012c010034000a36000734000a360008420d02050d00022c01270b000c1e0000011021012c01270b000c1e0000016321012c01270b000c1e0000018321012c01000d00010b000d000d0001140107010b000e270b000f0500102c010f0003050004140108011d0500110d0304233a000c0d0108270b00000500122c014500120d0304270b00110d01070d01012c022e00090d0107270b00132c00000d00010d03062f4500120d0304270b000b0d00010d01012c022e00030d0001000d00010b000d00420d02010d00010500142c02001e000006c121023600121e0000087721043600131e00000a3521013600141e00000ae121023600151e00000af321013600161e00000b89210136001e1e00000bd7210136001f1e00000be421013600201e00000c2821013600211e00000cc021013600221e00000ccd21013600231e00000ec421013600241e00000efe21003600261e00000ff821013600271e0000101b21023600281e00001047210236002b1e0000112e210336002c1e000022cf21013600331e0000065821020d00010f00012a1400010120001634000a0d0001494500060d00012e00012a3600030d03070b0017360004420d00042a0d00032c0236000505001836000605000436000734000d03080b00190b001a14000701270b001b05001c2c014945002e0d0007270b001d34000d0007270b00020d031805001e2b010500042c02270b001f0500202c013401322c022e0003050004140007011d1e000006841a01140002011d0d00030b00270f000f0d030a0b0028270b00290d030a2c011d0d00030b002a0f000f0d030a0b002b270b00290d030a2c0136000a420d00040d00030d00052c021d42140005011d0d00030b002c3a00060d00030b002c1d0d00030b002d3a000a0d00030b002d140006011d0d00030b002e3a00060d00030b002e1d0d00030b002f3a000a0d00030b002f140008011d0d00030b00301d0500310d030435050032384500060500322e0009420d03250d03042c01263a0009420d001e0500332c011d3401173600100500320d030b352645000b0d030b0500342b012e000334000a3600110d00030b00411d15000036001915000036001a15000036001b340036001c4236001d2a0d000305005e011d2a0d000305005f011d420d001f050060140017012c010f002e0d0017140018011d0d00030b00614500120d0003270b00610d00180d00072c022e00070d00070d001832140017011d2a360025341f341d341f341e341f341e341f341f341e341f341e341f15000c360029341f341c341f341e341f341e341f341f341e341f341e341f15000c36002a2a1e000011831a013b00791e000011931a033b007a1e000011ae1a003b007b1e000011ba1a033b007d1e000011d31a013b00821e000012951a023b00841e0000133b1a023b00851e0000138f1a043b00f536002d421e00001ebe21002c00171d1e0000216021000d0003050107011d1e0000217b21000d000305010a0136002e1e0000219a21000d000305010c011d1e000021b521000d000305010e011d1e000021d021000d0003050110011d1e000021eb21000d0003050112011d1e0000220621000d0003050114011d1e0000222121000d0003050116011d1e0000223c21000d0003050118011d1e0000225721000d000305011a011d1e0000227221000d000305011c013600301e0000229121000d000305011e013600311e000022b021000d0003050120013600320d002c0d0003050127011d1e0000245a21050d000305012b011d0d00120d000305012c011d1e000025f121010d000305012d011d1e000026291a0014001d011d0d00330d000305012e011d0d00030b012f4500410500050d00030b012f35023a00100d00030b012f1500010d000305012f011d0d00030b012f0b000934004b450013420d00030b012f270b01302c002c001d2effde420d00332c001d0d00010b013100420d03020d00012c01270b000c1e0000067121012c011d1c00420d01022a0d00010b00153b00152c011d1c000d05092b003600020d0002270b00210500220d00013401172c031d0500230d0002050024011d0d0002270b0025422c011d0d05030d00020b00262b01000d0001450016421e000006e121030d010d0d00010d00022c032e0003050004000d00020d0003323600040d00023600050d00010d0005193a00080d00050d00044a174500081400050c1d2effe30d00050d00021634104b3a00060d00010b00353a00030d02114500190d0211270b00360d0001270b00350d00020d00052c022c01000500043600060d00020d0005394501200d00011400023e193600070800800d0007124500f3343f0d00011400023e19123600080800c00800e00d000712264500b5343f0d00011400023e19123600090800e00800f00d00071202450017340f0d000712340c3d0d000834063d130d0009132e002334070d00071234123d0d0008340c3d130d000934063d13343f0d00011400023e191213140007011e00010000394500180d00060d050c270b00370d00072c0132140006011d2e00370d00071e000100001636000a0d00060d050c270b00371e0000d8000d000a340a47131e0000dc000803ff0d000a12132c0232140006011d2e001f0d00060d050c270b0037341f0d00071234063d0d0008132c0132140006011d2e00150d00060d050c270b00370d00072c0132140006011d2efed60d0006000d000434004b174500033400000d00033600050d00030d00043234011636000634003600070d00070d00010b00093945017a0d0001270b000a0d00072c013600080d00081e0000d8004a3a00090d00081e0000dfff033a00261e000100000803ff0d000812340a3d320803ff0d0001270b000a1400070c2c011213140008011d0d0008347f0345001b0d00030d00064a4500032e01160d00080d00021400033e332e01000d00080807ff034500390d00033401320d00064a4500032e00ee0800c00d0008340647130d00021400033e011d080080343f0d000812130d00021400033e011d2e00bd0d00081e0000ffff0345004f0d00033402320d00064a4500032e00a90800e00d0008340c47130d00021400033e011d0800800d0008340647343f12130d00021400033e011d080080343f0d000812130d00021400033e011d2e00620d00033403320d00064a4500032e005a0800f00d0008341247130d00021400033e011d0800800d0008340c47343f12130d00021400033e011d0800800d0008340647343f12130d00021400033e011d080080343f0d000812130d00021400033e011d1400070c1d2efe7934000d00020d0003011d0d00030d00051600340036000234003600030d00030d00010b0009394500910d0001270b000a0d00032c013600040d00041e0000d8004a3a00090d00041e0000dfff033a00261e000100000803ff0d000412340a3d320803ff0d0001270b000a1400030c2c011213140004011d0d0004347f034500071400020c2e002a0d00020d00040807ff0345000534022e00130d00041e0000ffff0345000534032e0002340432140002011d1400030c1d2eff620d0002000d010c270b00380d00010d00022c021d1c000d000114010b011d0d040d0d00012b0114010c010d0103050039011d0d040e0d00012b010d010305003a011d0d040f0d00012b0114010e010d010305003b011d0d04030d00012b0114010d010d010305003c011d0d04100d00012b010d010305003d011d0d04110d00012b010d010305003e011d0d04120d00012b010d010305003f011d0d04130d00012b010d0103050040011d1c000d01030b00423a000c0d0103270b00420d00012c011d420d010a0500430d00013205004432140001012c011d340017140110011d0d000105004532140001011d0d04040b00460d00012b01371c000d0001270b00000500472c01002d000e360002420d011e0d00022c011d460e002e0d00010d0117023a00030d01084500090d04030d01082b01000d010245000a420d01020d00012c010005004837461c000d00010b000934004b45008a0d0001270b00492c003600020500050d000235264500660d00020b004a36000305004b0d0003350245003134000a0d00020b004c3845000f42420d01220d00032c012c002e001242420d01220d00032c010d00020b004c2c012e001d420d000334000a0d00020b004c38450004422e00060d00020b004c2c011d2e000a420d00020d01032c011d2eff6a1c000d010f270b000f0d00012c01000d00011005004d011d0d00013410161005004e011d1e00000d8021011005004f011d1e00000d93210010050050011d1e00000da2210110050051011d1e00000db5210010050052011d1e00000dc4210110050053011d1e00000dd4210110050054011d1e00000dfa210010050055011d1e00000e0c210110050056011d1e00000e32210010050057011d1e00000e44210210050058011d1e00000e7c210010050059011d1e00000e9d21001005005a011d1c000d00010d020e100b004e340432340247331c000d020e100b004e34043234024719000d00010d020e100b004e340832340247331c000d020e100b004e34083234024719000d00010d020e100b004e340247331c000d000145000534012e00023400140001011d0d00010d020c100b004e340c32340013011d1c0034000d020c100b004e340c323400131926000d000145000534012e00023400140001011d0d00010d020c100b004e340d32340013011d1c0034000d020c100b004e340d3234001319260010270b004f0d00012c011d10270b00510d00022c011d10270b005334002c011d10270b00543401172c011d10270b00563401172c011d1c000d020e100b004e340247193600010d00013401320d020e100b004e340247331c000d020e100b004e340247193600010d00013401160d020e100b004e340247011d34010d000138002d0004360002460e002e0d0109270b005b0d00010d010b0b005c161e0000ffff323410072c011d420d01160d01090b005d2c011d340100461c000d01260b0062174500e92a0500633b00640500633b00650500203b00660500203b00670500683b00690500310d041435050032384500060500322e0009420d04250d04142c01023a00060d04140b006a3a00090d04140b006a3400190f000305006b270b000205006c05006d2c0205006e323b006f0d01060f00030500183b006d3600010d012543041400021b0445002a34000a0d01250d0002193845000a0d00010d0002222e000e0d01250d0002190d00010d0002011d2effce1500003600030d000143051400021b0545001c0d0003270b00700d0002050071320d00010d000219322c011d2effdc0d00030d01262000620d01260b0062000d000134043f3400023a00160d000134643f3400260f000a0d00010801903f34000200340036000334003600040d00040d0002034500140d00030d00011400043e1932140003011d2effe20d0003000d04150d0001270b00722c002b013600030d000234004b4500c9420d01270d0003270b00732c002c013600040d0003270b00742c003600050d00044500060d01292e00030d012a0d0005193600060d00020d00060d0003270b00752c00164b1745001b0d0003270b00760d0003270b00752c000d0002322c011d0d0003000d00020d00060d0003270b00752c001634013216140002011d0d0003270b007634012c011d0d0005340b394500120d0003270b00770d00053401322c012e00210d0003270b007734002c011d0d0003270b00780d0003270b00732c003401322c011d2eff2e0d0003000d000334004b4500060d00032e000c420d01140d00012c013401323600040d04160d00042b01360005420d01130d00010d000534000d00050b00092c043600060d00023a000a0d00060d0005050009011d0d000500420d022e0d00013410322c01341032000d02230d00012b01270b00580d00020d00032c021d0d0001371c00420d021e0500042c011d1c000d020d270b007c0d00010d00020d00020d0003322c031d1c000d020d0b000936000429007e3600050d0001340007140001010d00054b4500043401170034013600060d000634040345008c0d0004340129007f0d00063c32043600070d0517270b00800d00070d00011e06000000322c02140007011d420d02240d0517270b00800d00050d0517270b00810d00010d00072c02140002011e00010000140003013f34004b3a00130d00020d00030d00020d00033f1632140002011d0d00022c022c01450004340017000d0006340204140006011d2eff6b340117003400360003420d02262c00270b00831e000012b121022c011d3400000d01020d0103323600030d00030d030e0d010134040d00020432340247011d421e000012f521030d00010d00032c021d0d01030d00010b000934013232140103011d1c0034003600040d00040d00010b00093945001f0d0001270b000a0d00042c010d040c34001400023e13331400040c1d2effd40d00030f000c34000d040c34000d000213011d1c00420d02262c003600030d00030b00090d020e0d00013402473334003600040d0003270b00831e0000137b21012c011d0d00040d020e0d0002340247011d3400000d01040d00010b000934013232140104011d1c00421e000013a621040d00010d00020d00030d00042c04001e00001765210336000c1e000017a9210236000d1e000017b9210236000e1e0000184b210136000f1e000018fc21013600100d030e0d0004342832340247193600052a0d030e0d0004340247193b00860d030e0d0004340432340247193b00870d030e0d0004340832340247193b00880d030e0d0004340c32340247193b00890d030e0d0004341032340247193b008a0d030e0d0004341432340247193b008b0d030e0d0004341832340247193b008c0d030e0d0004341c32340247193b008d0d030e0d0004342032340247193b008e0d030e0d0004342432340247193b008f0d000545000c420d03120d00052c012e00030500043b0090360006420d03120d00032c013600072a0500913b00920500933b00940500953b00960500973b00980500993b009a05009b3b009c05009d3b009e0500933b009f05009d3b00a00500923b00a10500a23b00a30500933b00a405009d3b00a50500a63b00a70500a83b00a90500aa3b00ab0500ac3b00ad0500ae3b00af0500b03b00b10500b23b00b30500b43b00b50500b63b00b70500b83b00b90500ba3b00bb0500bc3b00bd0500be3b00bf0500c03b00c10500a63b00c23600080d000843131400091b134500210d0007270b00020d06180d000905007a2b020d00080d0009192c023600072effd70500c30500c40500c50500c60500c70500c80500c915000736000a0500ca0500cb0500cc0500cd0500ce0500cf0500d00500d10500d20500d30500d40500d515000c36000b2a1e000019af1a013b00da1e000019c41a013b00db1e000019cf1a013b00971e000019e41a013b00dc1e000019ef1a013b00a21e00001a081a013b00aa1e00001a171a013b00ac1e00001a291a013b00de1e00001a411a013b00df1e00001a4b1a013b00ae1e00001a5a1a013b00b01e00001a951a013b00e01e00001ad01a013b00b21e00001ae21a013b00b41e00001af11a003b00e21e00001af51a013b00e51e00001b171a013b00b61e00001b261a003b00e71e00001b2a1a013b00b81e00001b361a013b00ba1e00001c2d1a013b00bc1e00001d201a013b00be1e00001d271a013b00c01e00001e311a013b00a61e00001e4a1a013b00a81e00001e551a013b00f01e00001eb31a013b00f11e00001eba1a003b00f33600110d001143141400091b144500380d0007270b00f40d00092c013a00250d0007270b00020d06180d000905007a2b020d0011270d0009190d00062c012c02140007011d2effc0420d032c0d00073401172c023600120d00120b00090d00024b45000534002e0016420d03150d00120d00012c021d0d00120b00093401160005004b0d0001350245000c0d0001270b00d62c002e00090d00010f00030500043600040d00040b00090d0002394500100d00033400190d0004323600042effe30d000400420d010c0d00010d00020500d72c03001e0000182b21013600033400420d00030d0001270b00732c000d0002270b00732c00162c0114000401383a00203400420d00030d0001270b00742c000d0002270b00742c00162c0114000401383a001d420d00030d0001270b00752c000d0002270b00752c00162c01140004011d0d0004000d00013400394500063401062e00100d000134004b45000534012e00023400000d0001270b00d82c003400110022340111003334021100323403110040340411004e340511005c340611006d1d2e007f0d07150d0001270b00732c00340116340b341d2b03000d0001000d07150d0001270b00732c00340034032b03000d07150d0001270b00732c00340034022b03000d07150d0001270b00732c00340034012b03000d07150d0001270b00732c00340116340b341f2b03000d07150d0001270b00732c00340116340b341e2b03001c00420d042b0d07150d00010b008b08076c32340034012b030d00010b008d2c023600020d07150d0002270b00732c00340034042b033600030d07150d0002270b00732c00340132340034042b03360004420d010f0d00032c01360005420d010f0d00042c01360006420d010e0d00050d00022c0234000345002d420d010e0d00060d00022c0234000345000f0d0002270b00732c003401322e00090d0002270b00732c002e000c0d0002270b00732c00340116000d020a0d00010b008c19270b00d9340034032c02000d020a0d00010b008c19000d020b0d00010b008a19270b00d9340034032c02000d020b0d00010b008a1900420d020d0d00010b008b08076c3234643c34001334022c0200420d020d0d00010b008934022c0200420d020c0d00010b008934020500dd2c0300420d02100d00012c01270b00d62c00270b00d934022c0100420d02100d00012c0100420d020d0d00010b008834022c02000d00010b008836000234000d000202450009340c140002012e00130d0002340c4b3a000a0d0002340c16140002011d420d020d0d000234022c0200420d020d0d00010b0089420d0528420d05270d00010b008b08076c322c014500060d05292e00030d052a0d00010b008a3401162c023234032c0200420d020d0d00010b008a34013234022c0200420d020d0d00010b008734022c02000500e1000d00010b008834004a3a00090d00010b0088340c394500060500e32e00030500e400420d020d0d00010b008634022c02000500e6000d00010b008c0f00023407000d08150d00010b008b08076c32340034012b0336000234000d0002270b00d82c00384500060d00022e0015420d052b0d000234070d0002270b00d82c00162c023600030d08150d00010b008b08076c320d00010b008a0d00010b00892b03360004420d020e0d00030d00042c02340039450068420d0528420d05270d0004270b00732c002c014500060d05292e00030d052a0d0004270b00742c003401162c02341f16360005341f0d0003270b00752c00160d0005320d0004270b00752c0032360006420d020d0d0817270b00e80d000634073c2c0134022c02003400420d020e0d00030d00022c02384500060500e92e00030500ea000d08150d00010b008b08076c32340034042b033600030d08150d00010b008b08076d32340034042b03360004420d020f0d00032c01360005420d020f0d00042c01360006420d052b0d08150d00010b008b08076c32340034012b030d00010b008d2c02360007420d020e0d00070d00052c023400394500060500eb2e0074420d020e0d00060d00072c023400034500060500e92e005c0d0005270b00732c000d00010b008b08076c32394500160d00010b008d3420320d0005270b00752c00162e00130d00010b008d3401320d0005270b00752c0016140002011d420d020d0d0817270b00e80d000234073c2c0134022c02000d00010b008c000d08150d00010b008b340034012b0336000234010d0002270b00d82c00384500060d00022e002c420d052b0d000234000d0002270b00d82c003845000534012e000f34070d0002270b00d82c00163401322c023600030d08150d00010b008b08076c320d00010b008a0d00010b00892b03360004420d020e0d00030d00042c02340039450068420d0528420d05270d0004270b00732c002c014500060d05292e00030d052a0d0004270b00742c003401162c02341f16360005341f0d0003270b00752c00160d0005320d0004270b00752c0032360006420d020d0d0817270b00e80d000634073c2c0134022c02003400420d020e0d00030d00022c02384500060500e92e00030500ea000d00010b008b08076c32270b00d62c00270b00d934022c01000d00010b008b08076c32000d00010b008f3600020d000234004a3600030d0817270b00ec0d00022c01343c3c14000201343c3c3464040d0002343c3f32140002011d0d00034500060500ed2e000305006c420d080c0500ee0d0002322c01270b00ef3404062c0132000d00010b0090000500f2001e00001f8e21023600021e0000202e21013600031e0000203d21013600042a0d012d3b007b36000114011c3e1d0d01030b00fb3a000c0d0103270b00fb0d011c2c011d0d01030b001645002d2d0016360005420d010a0501040d0005322c011d34011700460e00110d0103270b00160d00010d00022c0200460d01080f000b0500050d04040b001135260f0009420d011f0d01172c010f00080500050d0405352645000c420d00040d00032c012e001d420d04050d01172a0500fd3b00fe2c02270b000c1e0000211e21012c011d1c000d00010b00153600040d00040d02030500f6011d420d02160d02030b00f60b00f7140209010b005d2c011d0d02030b00f60b00f814020f011d0d02030b00f60b00f9140003011d0d021a270b00fa0d00032c011d421e00001fef21002c001d1c0014031c281d0d03030b00fb3a000c0d0303270b00fb0d031c2c011d34000d031c023a00030d031d4500130d031d3600014214031d011d420d00012c001d1c00420d01020d00010b000d2c011d1c000d02080f00080500050d050535264500190d0519270b00fc2c00270b000c1e000020bc21002c012e002a420d05050d02172a0500fd3b00fe2c02270b000c1e000020c621012c01270b01021e000020e621002c01270b000c1e000020f021012c01270b000c1e0000210021012c01270b000c0d00011e0000210421012c0200420d03200d03172c01000d00010b00ff1745000c0501000d03173205010132370d0001270b00132c0000420d03200d03172c01000d0604270b000b0d00010d02012c02000d000100420d030a0501030d0001322c011d420d031e0d00012c011d1c000d0504270b00110d00010d01012c02270b000c0d01031e0000213e21012c0200420d030a0501050d0001322c011d420d030a0501062c011d420d02040d02032c01000d01030b00f60b00f90d010305010701270b0108420d00002c02000d01030b00f60b01090d010305010a0114012e01270b0108420d00002c02000d01030b00f60b010b0d010305010c01270b0108420d00002c02000d01030b00f60b010d0d010305010e01270b0108420d00002c02000d01030b00f60b010f0d010305011001270b0108420d00002c02000d01030b00f60b01110d010305011201270b0108420d00002c02000d01030b00f60b01130d010305011401270b0108420d00002c02000d01030b00f60b01150d010305011601270b0108420d00002c02000d01030b00f60b01170d010305011801270b0108420d00002c02000d01030b00f60b01190d010305011a01270b0108420d00002c02000d01030b00f60b011b0d010305011c0114013001270b0108420d00002c02000d01030b00f60b011d0d010305011e0114013101270b0108420d00002c02000d01030b00f60b011f0d01030501200114013201270b0108420d00002c02001e0000232721003600020d011c34004b0f0042421e000023d121002c001d0d011c34004b0f002e0d01030b012545001f0d0103270b01250501262c011d420d041a1e00002432210034012c022e0006420d00022c001d1c000d022f0f004034001714022f011d3400170d0203050121011d0d02100f0027420d02210d021a2c011d0d02030b01223a00090d0203270b01222c001d421e0000237021002c001d1c000d03030b012345004c0500050d03030b012335023a00100d03030b01231500010d0303050123011d0d03030b01230b00094500210d03030b0123270b00492c00140001011d0d031b270b00fa0d00012c011d2effd3420d03210d031b2c011d1c000d02030b012445004c0500050d02030b012435023a00100d02030b01241500010d0203050124011d0d02030b01240b00094500210d02030b0124270b00492c00140001011d0d0219270b00fa0d00012c011d2effd3420d02210d02192c011d1c00420d051a1e0000244b210034012c021d420d01022c001d1c000d0303270b01250500042c011d1c002a1e000025381a013b01281e000025951a013b0129360006421e000025b521010d00012c0136000715000036000834003600090d0004450068340036000a0d000a0d00040b0009394500560d00060d00030d000a191936000b0d000b45002b34000d0009383a000a420d01302c00140009011d420d000b0d00040d000a192c010d00080d000a012e000e0d00040d000a190d00080d000a011d14000a3e1d2eff9d0d0007270b0108420d00082c0236000d0d000d14000c011d34000d0009493a0009420d01310d00092c011d421e000025c121010d000c2c0114000d01003400360002420d0001263a000634000d00014945002e34010d00010b000934023d32360003421e0000258021030d0001420d03320d00032c01140002010d00032c03171d0d000200420d04130d00010d040d0d00020d00032c041d1c00420d03320d00010b00092c01360002420d03150d00010d00022c021d0d0002000d020305006d0d00013219000501280d01023845000c420d02120d00012c012e001905012a0d01023845000c420d051b0d00012c012e00030d000100420d01140d00012c01340132360002420d012e0d00022c013600030d00033a0012420d01130d00010d010c0d00030d00022c041d0d0003000d022f0f0006420d02332c001d0d022f0f00070d010014021d011d1c000d02190b01320f000e1e0000266021000d0219050132011d1c002a3600010d03191e0000267c21022b010d0001050134011d0d0001000d00010d01010500fc011d0d00020d0101050133011d1c00420d01052c001d1c001e000026d62100360001420d02260d00012a0500fc3b01351e0000271c1a013b01362a0501333b01351e0000271e1a013b01361500022c0200420d0327100d01012c021d0d03191e0000270a21022b013600030d00010d00030500fc011d0d00020d0003050133011d0d0003000d0001140101011d0d0002140102011d1c001c001c000500040d0001384500040500040015000036000234003600030d00030d00010b00093945001e0d0002270b00700d0001270b000a0d00032c012c011d1400033e1d2effd50d0002001e000027f62100360001420d02260d00012a0500583b01351e000028031a003b01362a05013a3b01351e000028501a023b01362a05013c3b01351e000029851a023b01362a05013d3b01351e00002a851a033b01362a05013e3b01351e00002ba61a023b01362a05013f3b01351e00002c6f1a013b01362a0501403b01351e00002d0f1a003b01361500072c0200420d0327100d01012c021d1c000d03072b003600012a1e000028351a003b01221e000028411a013b004210050139011d420d0304100b01392c011d0d0001000d0201270b00fc2c001d1c000d0201270b01330d00012c011d1c000d00000b000934024b3a00080d00003402191c494500090d00003402192e000234103600030d00000b000934034b3a00080d00003403191c494500090d00003403192e00060d03090b013736000418001d100b0139270b010c0d00052c011d100b0139270b010c0d00062c011d462d00113600080d040a270b00280d00082c011d460e00ae420d03080d0408270b013b0d00012c012c01360007100b0139270b010a420d041c0d00070b00092c012c01140005011d100b01390b0039270b00380d00070d00052c021d0d00020f00050d04032b00140002011d0d04030d00022b01140002011d100b0139270b010a0d00020b005c2c01140006011d100b01390b0039270b00380d00020d00062c021d100b0139270b01140d00040d00050d00070b00090d00030d00020b005c0d00062c061d461c000d00000b000934024b3a00080d00003402191c494500090d00003402192e00060d03090b013736000318001d100b0139270b010c0d00042c011d100b0139270b010c0d00052c011d462d00113600080d040a270b00280d00082c011d460e009e0d04030d00022b01360006100b0139270b010a0d00010b005c2c01140004011d100b01390b0039270b00380d00010d00042c021d100b0139270b010a0d00060b005c2c01140005011d100b01390b0039270b00380d00060d00052c021d100b0139270b01100d00030d00040d00010b005c0d00052c041d100b01390b003c270b00ef0d00040d00040d00010b005c322c023600070d04030d00072b0100461c000d00000b000934034b3a00080d00003403191c494500090d00003403192e0002341036000418002b100b0139270b010c0d00062c011d100b0139270b010c0d00072c011d100b0139270b010c0d00052c011d462d001136000a0d040a270b00280d000a2c011d460e00b50d04030d00022b013600080d04030d00032b01360009100b0139270b010a0d00080b005c2c01140005011d100b01390b0039270b00380d00080d00052c021d100b0139270b010a0d00010b005c2c01140006011d100b01390b0039270b00380d00010d00062c021d100b0139270b010a0d00090b005c2c01140007011d100b01390b0039270b00380d00090d00072c021d100b0139270b01120d00050d00080b005c0d00060d00010b005c0d00070d00042c061d461c0018001d100b0139270b010c0d00032c011d100b0139270b010c0d00042c011d462d00113600060d040a270b00280d00062c011d460e00900d04030d00022b01360005100b0139270b010a0d00010b005c2c01140003011d100b01390b0039270b00380d00010d00032c021d100b0139270b010a0d00050b005c2c01140004011d100b01390b0039270b00380d00050d00042c021d100b0139270b01160d00030d00010b005c0d00042c031d100b01390b003c270b00ef0d00030d00030d00010b005c322c0200461c000d00000b000934014b3a00080d00003401191c494500090d00003401192e00060d03090b013836000218000f100b0139270b010c0d00032c011d462d00113600050d040a270b00280d00052c011d460e004c0d04030d00012b01360004100b0139270b010a0d00040b005c2c01140003011d100b01390b0039270b00380d00040d00032c021d100b0139270b011a0d00030d00040b005c0d00022c031d461c00100b01393a00064210050139011d1c000d00010500d74a3a00070d00010501410345001a0d0001270b000a34002c010500d7270b000a34002c01162e00340d000105007b4a3a00070d00010501420345001d0d0001270b000a34002c0105007b270b000a34002c0116340a322e00030800ff000d0001340019270b000a2c000d0001340119270b000a2c001f0d0001340219270b000a2c001f0500d7270b000a34002c01163600030d00020d0003163401163600040d03160d00042b013600050d03160d00032b013600060d0003140007011d0d000734004b4500570d030c270b00370d00010d00020d00031634021619270b000a2c000d00010d00020d00031634011619270b000a2c001f0d00010d00020d00071619270b000a2c001f2c010d00060d00030d00071633140007281d2effa03400140007011d0d00070d0004394500190d00010d0007340132190d00050d0007331400073e1d2effdd2a0d00053b01430d00043b01440d0006270b01450500042c013b01460d00033b01470034003600023400140002011d34000d0001494500170d00010d000134011612140001011d1400023e1d2effe00d0002000d0001420d020d0d00022c01320d0003323600040d030c270b00370800ff0d0004122c01000d0001270b000a2c00420d020d0d00022c01160d0003163600040d030c270b00370800ff0d0004122c010034553600050800fa36000634003600070d00070d0002394500960d000734023f34010245002a0d00050d00010d000719270b000a2c001f140004011d0d00010d000719270b000a2c00140005012e00270d00060d00010d000719270b000a2c001f140004011d0d00010d000719270b000a2c00140006011d34000d000338450011420d020f0d00040d000734152c032e000e420d020e0d00040d000734152c030d00010d0007011d1400073e1d2eff600d00010034553600040800fa360005420d02120d00012c011d34003600090d00090d0002394501070d00010d000919270b000a34002c01140008011d0d0008347f4b3a000b0d000808010016140008011d0d000934023f34010245001e0d00040d00081f140006011d0d0008140004011d0d0005140007012e001b0d00050d00081f140006011d0d0008140005011d0d0004140007011d0d0006347f4b3a000b0d000608010016140006011d34000d000338450011420d020f0d00060d000934152c032e000e420d020e0d00060d000934152c03270b000a34002c0136000a0d000a347f4b3a000b0d000a0801001614000a011d0d000a0d00071636000b0d000b3400393a000b0d000b0801003214000b011d0d030c270b00370d000b2c010d00010d0009011d1400093e1d2efeef420d02120d00012c011d0d0001000d00010b000936000234003600040d00040d0002393a000a0d00040d00023401164945003a0d00010d000419140003011d0d00010d0004340132190d00010d0004011d0d00030d00010d0004340132011d0d0004340232140004011d2effaf0d0001000d00000b000934024b3a00080d00003402191c494500090d00003402192e000234013600030d00013600040d00020f00060d00040b0009360002420d010c0d00040d00022c023600050d00050b01433600060d00050b01443600070d00050b01473600080d00050b01463600090d000905014811002205014911001c05014a11001605014b11001005014c11001f05014d1100191d2e0027420d01100d00060d00070d00032c033600062e0012420d01110d00060d00070d00032c03360006420d010b0d00063400192c013600080d00070d00081634011636000a0d02160d000a3401322b0136000b0500040d000b0d000a33340036000c340014000c011d0d000c0d000a394500190d00060d000c340132190d000b0d000c3314000c3e1d2effdd0d000b270b01450500042c01001e000032db2100360001420d02260d00012a05014e3b01351e000032e81a013b01362a05014f3b01351e000032f61a003b01361500022a0501513b01351e000033111a003b01361500012c0300420d0327100d01012c021d1c000d0407270b0017100d00012c0200100b01502b003600010d0407270b00170d0001102c021d0d0001000d00000b00093600010d04160d00012b0136000234003600030d00030d0001394500160d00000d0003190d00020d0003331400033e1d2effe0420d0428100d00022c02001e000033d12100360002420d02290d00020d00012c021d420d02260d00022a0500d63b01351e000035571a003b01362a0501563b01351e000035881a013b01362a0501573b01351e0000366e1a003b01362a05014f3b01351e000036bb1a003b01361500042a05015a3b01351e000036ec1a013b01361500012c03000d00000b000934004b3a00080d00003400191c494500090d00003400192e00031500003600020d00000b000934014b3a00080d00003401191c494500090d00003401192e000934040d00020b000904360003420d0327100d01022c021d420d032b100d01022c023600010d00023600040d00040d03062f3a000c0d03030d00042b01140004011d0d00040d030d2f0f00070d00040d031d2f0f00070d00040d030e2f0f00070d00040d03102f0f00070d00040d030f2f0f00070d00040d03112f0f00070d00040d03122f0f00070d00040d03132f3a001b0d03030d00040b005d0d00040b01520d00040b005c2b03140004011d0d00040d03032f45006f0d00040b005c36000515000036000634003600070d00070d0005394500380d00060d0007340207190d00040d00071934180d000734043f340804163d130d00060d0007340207011d0d0007340132140007011d2effbe0d00060d0001050153011d0d00050d0001050154011d2e00160d00020d0001050153011d0d00030d0001050154011d0d0001000d00000b000934004b3a00080d00003400191c494500090d00003400192e00030d03153600010d0001270b0155102c0100100b01533600020d00010b0153360003100b01543600040d00010b015436000510270b01572c001d0d000434043f45007034003600060d00060d00053945005e0d00030d00063402071934180d000634043f34080416070800ff123600070d00020d00040d000632340207190d000734180d00040d00063234043f340804163d130d00020d00040d000632340207011d0d0006340132140006011d2eff982e003534003600080d00080d0005394500260d00030d0008340207190d00020d00040d000832340207330d0008340432140008011d2effd0100b01540d00053210050154011d1000100b0153360001100b01543600020d00010d00023402071929015834200d000234043f340804163d120d00010d0002340207011d0d0417270b00e80d000234043c2c010d0001050009011d1c00420d042a0d020205014f1034012c04270b0159102c01360001100b0153270b00ef34002c010d0001050153011d0d0001001500003600021e000037691a0136000334003600050d00050d000139450052420d000329015b0d00040f00090d0417270b015a2c00042c013600061e3ade67b7420d00062c0004140004011d0d0002270b007029015b420d00062c00043400132c011d0d0005340432140005011d2effa40d02020d00020d00012b02000d00013600021e3ade68b13600032901583600041e000037852100001e000090691e0000ffff0d010312040d0103341047320d010412140103011d0846501e0000ffff0d010212040d0102341047320d010412140102011d0d010334103d0d0102320d0104123600010d000129015b3c140001011d0d000129015c32140001011d0d00010d0717270b015a2c0029015c4b45000534012e000334010604000d00010b01533600020d00010b015436000315000036000434003600050d00050d00033945005c0d00020d00053402071934180d000534043f34080416070800ff123600060d0004270b00700d0006340407270b00d634102c012c011d0d0004270b0070340f0d000612270b00d634102c012c011d0d0005340132140005011d2eff9a0d0004270b01450500042c01000d00010b000936000215000036000334003600040d00040d0002394500470d00030d000434030719420d031e0d0001270b001d0d000434022c0234102c0234180d000434083f340404163d130d00030d0004340307011d0d0004340232140004011d2effaf0d02140d00030d000234023c2b02000d00010b01533600020d00010b015436000315000036000434003600050d00050d0003394500420d00020d00053402071934180d000534043f34080416070800ff123600060d0004270b00700d030c270b00370d00062c012c011d0d0005340132140005011d2effb40d0004270b01450500042c01000d00010b000936000215000036000334003600040d00040d0002394500410d00030d0004340207190800ff0d0001270b000a0d00042c011234180d000434043f340804163d130d00030d0004340207011d0d0004340132140004011d2effb50d02140d00030d00022b02002d000d3600020d030205015e2b0137460e001a420d031f420d03200d0216270b01550d00012c012c012c0100461c000d0216270b015d420d0321420d03220d00012c012c012c01001e00003a9c2100360002420d02290d00020d00012c021d420d02260d00022a0501603b01351e00003ac41a003b01362a0501633b01351e00003ad91a013b01362a0501643b01351e00003b1c1a013b01362a05014f3b01351e00003bf91a003b01361500042c0200420d0327100d01022c021d420d032b100d01022c02140001011d34000d000105015f011d0d0001000d03142b0010050161011d340010050162011d1c000d00013600020501280d000235023a00100d0317270b015d0d00022c01140002011d100b0161270b01560d00022c011d100b01620d00020b01543210050162011d1c00100b0161360003100b01653600040d00030b01533600050d00030b01543600060d000634040d0004043c3600070d000145000f0d0417270b00e80d00072c012e00160d0417270b008134000d000713100b015f1634002c023600070d00070d0004043600080d0417270b008034040d0008040d00062c023600090d0008450051340036000a0d000a0d00083945001d10270b01660d00050d000a2c021d0d000a0d00043214000a011d2effd90d0005270b016734000d00082c02140002011d0d00030b01540d0009160d0003050154011d0d03140d00020d00092b0200420d042a0d020205014f1034012c04270b0159102c01360001100b0161270b014f2c000d0001050161011d0d0001001e00003ca42101360002420d02290d00020d00012c021d420d02260d00022a0501603b01351e00003cef1a003b01362a05016a3b01351e00003d101a013b01362a05016b3b01351e00003d251a013b01361500032a05016d3b01351e00003d3e1a013b01362a05016e3b01351e00003d581a013b01361500022c0300420d0327100d01022c021d420d032b100d01022c02140002011d34100d0002050165011d0d0307270b00170d02132b000d00012c020d0002050168011d0d0002270b01602c001d0d000200420d042a0d02020501601034012c04270b0159102c011d10270b01692c001d1c0010270b01630d00012c011d10270b01642c001d10000d00013a000a10270b01630d00012c011d10270b016c2c00001e00003d462102000d01010d00022b01270b016b0d00012c01001e00003d602102000d041a0d01010d00022b02270b016b0d00012c01001e00003dcc2102360002420d02290d00020d00012c021d420d02260d00022a0501603b01351e00003ef81a003b01362a05016a3b01351e00003f191a013b01362a05016b3b01351e00003f291a013b01361500032c0200420d0327100d01022c021d420d032b100d01022c023600030d00012b003600040d00040d000320016f0d00023600050501280d000535023a00100d0217270b015d0d00052c01140005011d0d00040b016536000634040d0006043600070d00050b01540d00074b3a00100d0004270b016b0d00022c01140005011d0d0005270b01572c001d0d0005270b014f2c003600080d00080d00032001700d0005270b014f2c003600090d00090d00032001710d00080b015336000a0d00090b015336000b340036000c0d000c0d0006394500380d000a0d000c191e5c5c5c5c1f0d000a0d000c011d0d000b0d000c191e363636361f0d000b0d000c011d0d000c34013214000c011d2effbe0d00070d0008050154011d0d00070d0009050154011d0d0003270b01602c001d0d000300100b016f3600010d0001270b01602c001d0d0001270b016a100b01712c011d1c00100b016f270b016a0d00012c011d1000100b016f3600020d0002270b016b0d00012c013600030d0002270b01602c001d0d0002270b016b100b0170270b014f2c00270b01560d00032c012c0100150000360004340036000534003600060d00060d0002394500860d000634043f45006f0d00030d0001270b000a0d00063401162c01190d000634043f3402043d0d00030d0001270b000a0d00062c011934060d000634043f3402041607133600070d00040d0005340207190d000734180d000534043f340804163d130d00040d0005340207011d0d0005340132140005011d0d0006340132140006011d2eff700d0214270b01510d00040d00052c02000d00010b01533600020d00010b0154360003100b01723600040d0001270b01572c001d15000036000534003600060d00060d0003394500c70d00020d00063402071934180d000634043f34080416070800ff1234103d0d00020d00063401323402071934180d000634013234043f34080416070800ff1234083d130d00020d00063402323402071934180d000634023234043f34080416070800ff121336000734003600080d00083404393a000f0d00062901730d000804320d0003394500310d0005270b00700d0004270b01740d0007340634030d0008160407343f122c012c011d0d0008340132140008011d2effb40d0006340332140006011d2eff2f0d0004270b017434402c013600090d000945001c0d00050b000934043f4500100d0005270b00700d00092c011d2effe40d0005270b01450500042c01000d00010b0009360002100b0172360003100b01753600040d00041745004515000010050175011d100b0175140004011d34003600050d00050d00030b0009394500210d00050d00040d0003270b000a0d00052c01330d0005340132140005011d2effd20d0003270b017434402c013600060d00064500210d0001270b001b0d00062c013600073401060d0007493a00070d0007140002011d420d021b0d00010d00020d00042c03000d00010d00020d0003120d0002240d00041213320d0005320d0007323600080d00080d00063d0d000834200d00061607130d000232000d00010d00020d0004120d00030d0004241213320d0005320d0007323600080d00080d00063d0d000834200d00061607130d000232000d00010d00020d00031f0d00041f320d0005320d0007323600080d00080d00063d0d000834200d00061607130d000232000d00010d00030d00020d000424131f320d0005320d0007323600080d00080d00063d0d000834200d00061607130d000232001e000043312100360002420d02290d00020d00012c021d420d02260d00022a0501693b01351e0000434a1a003b01362a0501663b01351e000043681a023b01362a05016c3b01351e00004d9a1a003b01362a05014f3b01351e00004ef01a003b01361500042c0200420d0327100d01022c021d420d032b100d01020d00002c03000d03141e674523012901782901791e103254761500042b011020017a1c000d000136000334003600040d000434103945004e0d00020d0004323600050d00010d0005193600061e00ff00ff0d000634083d0d0006341807131229017b0d000634183d0d00063408071312130d00030d0005330d0004340132140004011d2effa9100b017a0b01533600070d00030d0002340032193600080d00030d0002340132193600090d00030d00023402321936000a0d00030d00023403321936000b0d00030d00023404321936000c0d00030d00023405321936000d0d00030d00023406321936000e0d00030d00023407321936000f0d00030d0002340832193600100d00030d0002340932193600110d00030d0002340a32193600120d00030d0002340b32193600130d00030d0002340c32193600140d00030d0002340d32193600150d00030d0002340e32193600160d00030d0002340f32193600170d00073400193600180d00073401193600190d000734021936001a0d000734031936001b420d031f0d00180d00190d001a0d001b0d000834070d031d3400192c07140018011d420d031f0d001b0d00180d00190d001a0d0009340c0d031d3401192c0714001b011d420d031f0d001a0d001b0d00180d00190d000a34110d031d3402192c0714001a011d420d031f0d00190d001a0d001b0d00180d000b34160d031d3403192c07140019011d420d031f0d00180d00190d001a0d001b0d000c34070d031d3404192c07140018011d420d031f0d001b0d00180d00190d001a0d000d340c0d031d3405192c0714001b011d420d031f0d001a0d001b0d00180d00190d000e34110d031d3406192c0714001a011d420d031f0d00190d001a0d001b0d00180d000f34160d031d3407192c07140019011d420d031f0d00180d00190d001a0d001b0d001034070d031d3408192c07140018011d420d031f0d001b0d00180d00190d001a0d0011340c0d031d3409192c0714001b011d420d031f0d001a0d001b0d00180d00190d001234110d031d340a192c0714001a011d420d031f0d00190d001a0d001b0d00180d001334160d031d340b192c07140019011d420d031f0d00180d00190d001a0d001b0d001434070d031d340c192c07140018011d420d031f0d001b0d00180d00190d001a0d0015340c0d031d340d192c0714001b011d420d031f0d001a0d001b0d00180d00190d001634110d031d340e192c0714001a011d420d031f0d00190d001a0d001b0d00180d001734160d031d340f192c07140019011d420d03200d00180d00190d001a0d001b0d000934050d031d3410192c07140018011d420d03200d001b0d00180d00190d001a0d000e34090d031d3411192c0714001b011d420d03200d001a0d001b0d00180d00190d0013340e0d031d3412192c0714001a011d420d03200d00190d001a0d001b0d00180d000834140d031d3413192c07140019011d420d03200d00180d00190d001a0d001b0d000d34050d031d3414192c07140018011d420d03200d001b0d00180d00190d001a0d001234090d031d3415192c0714001b011d420d03200d001a0d001b0d00180d00190d0017340e0d031d3416192c0714001a011d420d03200d00190d001a0d001b0d00180d000c34140d031d3417192c07140019011d420d03200d00180d00190d001a0d001b0d001134050d031d3418192c07140018011d420d03200d001b0d00180d00190d001a0d001634090d031d3419192c0714001b011d420d03200d001a0d001b0d00180d00190d000b340e0d031d341a192c0714001a011d420d03200d00190d001a0d001b0d00180d001034140d031d341b192c07140019011d420d03200d00180d00190d001a0d001b0d001534050d031d341c192c07140018011d420d03200d001b0d00180d00190d001a0d000a34090d031d341d192c0714001b011d420d03200d001a0d001b0d00180d00190d000f340e0d031d341e192c0714001a011d420d03200d00190d001a0d001b0d00180d001434140d031d341f192c07140019011d420d03210d00180d00190d001a0d001b0d000d34040d031d3420192c07140018011d420d03210d001b0d00180d00190d001a0d0010340b0d031d3421192c0714001b011d420d03210d001a0d001b0d00180d00190d001334100d031d3422192c0714001a011d420d03210d00190d001a0d001b0d00180d001634170d031d3423192c07140019011d420d03210d00180d00190d001a0d001b0d000934040d031d3424192c07140018011d420d03210d001b0d00180d00190d001a0d000c340b0d031d3425192c0714001b011d420d03210d001a0d001b0d00180d00190d000f34100d031d3426192c0714001a011d420d03210d00190d001a0d001b0d00180d001234170d031d3427192c07140019011d420d03210d00180d00190d001a0d001b0d001534040d031d3428192c07140018011d420d03210d001b0d00180d00190d001a0d0008340b0d031d3429192c0714001b011d420d03210d001a0d001b0d00180d00190d000b34100d031d342a192c0714001a011d420d03210d00190d001a0d001b0d00180d000e34170d031d342b192c07140019011d420d03210d00180d00190d001a0d001b0d001134040d031d342c192c07140018011d420d03210d001b0d00180d00190d001a0d0014340b0d031d342d192c0714001b011d420d03210d001a0d001b0d00180d00190d001734100d031d342e192c0714001a011d420d03210d00190d001a0d001b0d00180d000a34170d031d342f192c07140019011d420d03220d00180d00190d001a0d001b0d000834060d031d3430192c07140018011d420d03220d001b0d00180d00190d001a0d000f340a0d031d3431192c0714001b011d420d03220d001a0d001b0d00180d00190d0016340f0d031d3432192c0714001a011d420d03220d00190d001a0d001b0d00180d000d34150d031d3433192c07140019011d420d03220d00180d00190d001a0d001b0d001434060d031d3434192c07140018011d420d03220d001b0d00180d00190d001a0d000b340a0d031d3435192c0714001b011d420d03220d001a0d001b0d00180d00190d0012340f0d031d3436192c0714001a011d420d03220d00190d001a0d001b0d00180d000934150d031d3437192c07140019011d420d03220d00180d00190d001a0d001b0d001034060d031d3438192c07140018011d420d03220d001b0d00180d00190d001a0d0017340a0d031d3439192c0714001b011d420d03220d001a0d001b0d00180d00190d000e340f0d031d343a192c0714001a011d420d03220d00190d001a0d001b0d00180d001534150d031d343b192c07140019011d420d03220d00180d00190d001a0d001b0d000c34060d031d343c192c07140018011d420d03220d001b0d00180d00190d001a0d0013340a0d031d343d192c0714001b011d420d03220d001a0d001b0d00180d00190d000a340f0d031d343e192c0714001a011d420d03220d00190d001a0d001b0d00180d001134150d031d343f192c07140019011d0d00073400190d0018323400130d00073400011d0d00073401190d0019323400130d00073401011d0d00073402190d001a323400130d00073402011d0d00073403190d001b323400130d00073403011d1c00100b01613600010d00010b01533600023408100b01620436000334080d00010b0154043600040d00020d00043405071908008034180d000434203f163d130d00020d0004340507011d0d0417270b017c0d000329015b3c2c013600050d00033600061e00ff00ff0d000534083d0d0005341807131229017b0d000534183d0d00053408071312130d0002340f0d000434403234090734043d32011d1e00ff00ff0d000634083d0d0006341807131229017b0d000634183d0d00063408071312130d0002340e0d000434403234090734043d32011d34040d00020b0009340132040d0001050154011d10270b01642c001d100b017a3600070d00070b015336000834003600090d00093404394500440d00080d00091936000a1e00ff00ff0d000a34083d0d000a341807131229017b0d000a34183d0d000a3408071312130d00080d0009330d0009340132140009011d2effb30d000700420d042a0d020205014f1034012c04270b0159102c01360001100b017a270b014f2c000d000105017a011d0d0001001e00004f542101360002420d02290d00020d00012c021d420d02260d00022a0501803b01351e00004f9c1a023b01361500012c0200420d0327100d01022c021d420d032b100d01022c02140002011d0d0307270b00170d02132b002a34043b017d0d02233b017e34013b017f0d00012c030d0002050168011d0d000200100b01683600040d00040b017e270b01512c003600050d0314270b01512c003600060d00060b01533600070d00040b017d3600080d00040b017f3600090d00070b00090d00083945007f0d00033a000c0d0005270b016a0d00032c011d0d0005270b016a0d00012c01270b016b0d00022c01140003011d0d0005270b01602c001d340136000a0d000a0d0009394500290d0005270b016b0d00032c01140003011d0d0005270b01602c001d0d000a34013214000a011d2effcd0d0006270b01560d00032c011d2eff7434040d0008040d0006050154011d0d0006001e000051042103360002420d02290d00020d00012c021d420d02260d00022a0501603b01351e0000515b1a003b01362a0501833b01351e0000517c1a013b01362a05016b3b01351e0000518f1a013b01361500032a0501843b01351e000051a81a023b01362a0501863b01351e000051ba1a023b01362a05016d3b01351e000051cc1a013b01361500032c0300420d0327100d01022c021d420d032b100d01022c02140004011d0d0307270b00170d02132b000d00032c020d0004050168011d0d00010d0004050181011d0d00020d0004050182011d0d0004270b01602c001d0d000400420d042a0d02020501601034012c04270b0159102c011d10270b01692c001d1c0010270b01630d00012c011d10270b01642c00000d00013a000a10270b01630d00012c011d10270b016c2c000010270b0151100b01850d00010d00022c030010270b0151100b01870d00010d00022c03001e000051ec1a013600022a1e000052011a033b01881e0000521d1a033b0189000501280d000135024500060d052f2e00030d052d00420d02020d00022c01270b01880d02010d00010d00020d00032c0400420d02020d00022c01270b01890d02010d00010d00020d00032c04001e000052802102360002420d02290d00020d00012c021d420d02260d0002422a0501843b01351e000052b41a023b01362a0501863b01351e000052c51a023b01361500022c0300420d0327100d01022c021d420d032b100d01022c02140003011d0d00010d000305018b011d0d00020d000305018c011d0d000300100b018d270b01510d00010d00022c0200100b018e270b01510d00010d00022c02000d0001360004100b018c3600060d00064500130d0006140005011d34000a1005018c012e0008100b018f140005011d34003600070d00070d00033945002d0d00040d00020d000732190d00050d0007191f0d00040d00020d000732011d0d0007340132140007011d2effc91c001e000053642100360002420d02290d00020d00012c021d420d02260d00022c0100420d0327100d01022c021d420d032b100d01020d00002c03001e000053b22100360002420d02290d00020d00012c021d420d02260d00022a0501903b01351e000053cb1a023b01361500012c0200420d0327100d01022c021d420d032b100d01020d00002c0300100b018b3600030d00030b01653600040d0327270b0159100d00010d00020d00042c041d0d0003270b01910d00010d00022c021d0d0001270b00ef0d00020d00020d0004322c021005018f011d1c001e0000544f2100360002420d02290d00020d00012c021d420d02260d00022a0501903b01351e000054681a023b01361500012c0200420d0327100d01022c021d420d032b100d01020d00002c0300100b018b3600030d00030b01653600040d0001270b00ef0d00020d00020d0004322c023600050d0003270b01920d00010d00022c021d0d0327270b0159100d00010d00020d00042c041d0d00051005018f011d1c0034040d0002043600030d00030d00010b01540d00033f163600040d000434183d0d000434103d130d000434083d130d00041336000515000036000634003600070d00070d00043945001b0d0006270b00700d00052c011d0d0007340432140007011d2effdb0d0214270b01510d00060d00042c023600080d0001270b01560d00082c011d1c000d00013600020800ff0d00020b01530d00020b015434011634020719123600030d00020b01540d0003160d0002050154011d1c001e000055ce2103360002420d02290d00020d00012c021d420d02260d00022a0501603b01351e000056181a003b01362a0501663b01351e000056a41a023b01362a05016c3b01351e000056b71a003b01361500032c0200420d0327100d01022c021d420d032b100d01020d00010d00020d0307270b00172a0d02283b01950d02293b01960d00032c021500032c03140004011d34040d0004050165011d0d000400420d042a0d02020501601034012c04270b0159102c011d100b01683600020d00020b01973600030d00020b0195360004100b0181100b01500b01853845000d0d00040b0184140001012e00120d00040b0186140001011d34011005015f011d0d0001270b01590d0004100d00033a00060d00030b01532c0310050198011d0d0001100b0198050199011d1c00100b0198270b01900d00010d00022c021d1c00100b01680b0196360002100b0181100b01500b0185384500230d0002270b0193100b0161100b01652c021d10270b01643400172c01140001012e001b10270b01643400172c01140001011d0d0002270b01940d00012c011d0d0001001e000057482101360002420d02290d00020d00012c021d420d02260d00022a0500d63b01351e000057731a013b01361500012c0200420d0327100d01022c021d420d032b100d01022c02140002011d0d0002270b014e0d00012c011d0d0002000d00010f0004100b019a270b0155102c01000d00010b019b3600030d00010b019c3600040d000445002b0d0214270b01511e53616c741e65645f5f1500022c01270b01560d00042c01270b01560d00032c012e00030d0003140002011d0d0002270b00d60d021c2c01000d021c270b015d0d00012c013600030d00030b01533600041e53616c740d0004340019383a000c1e65645f5f0d0004340119383a00390d0214270b01510d0004270b00ef340234042c022c01140002011d0d0004270b0167340034042c021d0d00030b01543410160d0003050154011d0d022b270b01512a0d00033b019b0d00023b019c2c01001e000058bc2100360002420d02290d00020d00012c021d420d02260d0002422a0501883b01351e000058d51a043b01362a0501893b01351e000059611a043b01362a05019f3b01351e000059ae1a023b01361500032c0300420d0327100d01022c021d420d032b100d01020d00002c03000d0407270b00170d03132b00100b01680d00042c033600050d0001270b01840d00030d00052c023600060d0006270b016b0d00022c013600070d00060b01683600080d032b270b01512a0d00073b019b0d00033b01350d00080b01973b01970d00013b019d0d00080b01953b01950d00080b01963b01960d00060b01653b01650d00050b019e3b019a2c01000d00023600050d0407270b00170d03132b00100b01680d00042c0336000610270b019f0d00050d00060b019e2c023600050d0001270b01860d00030d00062c02270b016b0d00050b019b2c01000501280d000135024500100d0002270b015d0d0001102c022e00030d0001000d00043600050d00050f000f0d0214270b015a34082c01140005011d0d0224270b01512a0d00020d0003323b017d2c01270b01800d00010d00052c023600060d0214270b01510d00060b0153270b00ef0d00022c0134040d0003042c0236000734040d0002040d0006050154011d0d022b270b01512a0d00063b01350d00073b01970d00053b019c2c01001e00005a9f2100360002420d02290d00020d00012c021d420d02260d0002422a0501883b01351e00005ab81a043b01362a0501893b01351e00005b2a1a043b01361500022c0300420d0327100d01022c021d420d032b100d01020d00002c03000d0407270b00170d03132b00100b01680d00042c033600050d00050b01a1270b01a00d00030d00010b017d0d00010b018a2c033600060d00060b01970d00052001970d032d0b0188270b0159100d00010d00020d00060b01350d00052c053600070d0007270b014e0d00062c011d0d0007000d00023600050d0407270b00170d03132b00100b01680d00042c0336000610270b019f0d00050d00060b019e2c023600050d00060b01a1270b01a00d00030d00010b017d0d00010b018a0d00050b019c2c043600070d00070b01970d00062001970d032d0b0189270b0159100d00010d00050d00070b01350d00062c05001e00005c102100360002420d02290d00020d00012c021d420d02260d00022a0501693b01351e00005c291a003b01362a0501913b01351e00005e741a023b01362a0501923b01351e00005e971a023b01362a0501a63b01351e00005f221a083b01361500042c0200420d0327100d01022c021d420d032b100d01020d00002c0300100b01a23a0009100b01a3100b0182384500021c00100b0182102001a3100b01a33600020d00020b01533600030d00020b015434043c3600040d0004340632102001a23404100b01a234013204360005150000102001a4100b01a436000634003600070d00070d0005394501210d00070d0004394500110d00030d0007190d00060d0007012e00f70d00060d000734011619140001011d0d00070d00043f45005a0d000434064b3a000a0d00070d00043f3404023a00410d03300d00013418071934183d0d03300d00013410070800ff121934103d130d03300d00013408070800ff121934083d130d03300800ff0d0001121913140001012e006d0d000134083d0d000134180713140001011d0d03300d00013418071934183d0d03300d00013410070800ff121934103d130d03300d00013408070800ff121934083d130d03300800ff0d0001121913140001011d0d00010d03440d00070d00043c3400131934183d1f140001011d0d00060d00070d000416190d00011f0d00060d0007011d0d0007340132140007011d2efed5150000102001a5100b01a536000834003600090d00090d00053945009e0d00050d00091636000a0d000934043f45000a0d00060d000a192e000a0d00060d000a34041619140001011d0d00093404390f00060d000a3404034500060d00012e00440d03360d03300d000134180719190d03370d03300d00013410070800ff1219191f0d03380d03300d00013408070800ff1219191f0d03390d03300800ff0d00011219191f0d00080d0009011d0d0009340132140009011d2eff581c0010270b01a60d00010d0002100b01a40d03320d03330d03340d03350d03302c081d1c000d00013600030d00030d0002340132193600040d00030d0002340332190d00030d0002340132011d0d00040d00030d0002340332011d10270b01a60d00030d0002100b01a50d03360d03370d03380d03390d03312c081d0d00030d000234013219140004011d0d00030d0002340332190d00030d0002340132011d0d00040d00030d0002340332011d1c000d0001360009100b01a236000a0d00090d0002190d00033400191f36000b0d00090d0002340132190d00033401191f36000c0d00090d0002340232190d00033402191f36000d0d00090d0002340332190d00033403191f36000e340436000f34013600100d00100d000a394501560d00040d000b341807190d00050d000c3410070800ff12191f0d00060d000d3408070800ff12191f0d00070800ff0d000e12191f0d00030d000f191f3600110d000f34013214000f011d0d00040d000c341807190d00050d000d3410070800ff12191f0d00060d000e3408070800ff12191f0d00070800ff0d000b12191f0d00030d000f191f3600120d000f34013214000f011d0d00040d000d341807190d00050d000e3410070800ff12191f0d00060d000b3408070800ff12191f0d00070800ff0d000c12191f0d00030d000f191f3600130d000f34013214000f011d0d00040d000e341807190d00050d000b3410070800ff12191f0d00060d000c3408070800ff12191f0d00070800ff0d000d12191f0d00030d000f191f3600140d000f34013214000f011d0d001114000b011d0d001214000c011d0d001314000d011d0d001414000e011d0d0010340132140010011d2efea00d00080d000b3418071934183d0d00080d000c3410070800ff121934103d130d00080d000d3408070800ff121934083d130d00080800ff0d000e1219130d00030d000f191f3600150d000f34013214000f011d0d00080d000c3418071934183d0d00080d000d3410070800ff121934103d130d00080d000e3408070800ff121934083d130d00080800ff0d000b1219130d00030d000f191f3600160d000f34013214000f011d0d00080d000d3418071934183d0d00080d000e3410070800ff121934103d130d00080d000b3408070800ff121934083d130d00080800ff0d000c1219130d00030d000f191f3600170d000f34013214000f011d0d00080d000e3418071934183d0d00080d000b3410070800ff121934103d130d00080d000c3408070800ff121934083d130d00080800ff0d000d1219130d00030d000f191f3600180d000f34013214000f011d0d00150d00090d0002011d0d00160d00090d0002340132011d0d00170d00090d0002340232011d0d00180d00090d0002340332011d1c000d0117270b015d0d00022c013600040d0117270b015d0d00032c013600050d011c270b015d0d00012c013600060d011c270b01550d00062c013600070d0146270b01890d00070d00042a0d00053b01972c03270b00d60d01172c01000501280d000135024500590d0001270b01a70501a82c0136000234020d00020b00093845003c0d00023400193600030d0003270b00d934102c013600042a0d00043b01970d00040d0003270b00d9340034102c02323b01350d00023401193b01a900420042003400173600020d0216270b01ab0d00012c014500190d0001270b01ac1e000063c621020d00022c023600022e0069420d02180501ad270b0156420d020c0d01472c01270b00020d02180501ae05007a2b020501af2c02270b00020d02180501b005007a2b020501b12c020501b22c022c013600030500050d000135023a00150d0003270b01b30d0148270b01590d00012c012c013600020d0002000d00013a0009420d03340d00022c01000d02060d00010b00092b013600020d02030d00022b0136000334003600040d00040d00010b00093945001b0d0001270b000a0d00042c010d00030d0004331400043e1d2effd80d0002000d0206270b01b40d00012c013a000a0d00010b005d140001011d0d020c0b0037270b0108420d02030d00012b012c02000d02030b01aa0b00ef4500120d0001270b00ef0d00020d00032c022e001d0d02030d02160b01aa0b00ef270b01590d00010d00020d00032c032b01001e000064b42102360001420d02260d00012a0501893b01351e000064d31a023b01361500012c0200420d0327100d01012c021d0d0001100501b5011d0d0002100501b6011d1c00100b01b5270b01892a0501b73b01b8100b01b63b01970d00020d00012c03000d00010b005c3600020d00023a00170d02240d00010b005d2b01270b01b90d00023401162c013600030d0003450015420d014b0d000134000d00020d0003162c032e00030d0001001e000065622101360001420d02260d00012a0501ba3b01351e000065761a013b01361500012c0200420d0327100d01012c021d0d0001102001b51c00100b01b5270b01bb0501bc0d00012a0501b73b01b83401170501880501891500022c05000d02030d00010b00090d00020b0009322b013600030d0003270b00380d00012c011d0d0003270b00380d00020d00010b00092c021d0d0003001e000066c82100360001420d02260d00012a0501c93b01351e000067e11a003b01362a0501ca3b01351e000067e91a003b01362a0501603b01351e0000682d1a003b01362a0501403b01351e000068521a003b01362a0501cb3b0135421e0000687421002c003b01362a0501da3b0135421e00006a4f21002c003b01362a0501893b0135421e00006cab21002c003b01362a0501dd3b0135421e00006dcb21002c003b01362a0501d33b0135421e00006f7921002c003b01362a0501e33b0135421e0000715121002c003b01362a0501e03b01351e000072491a013b01362a0501de3b01351e000072981a013b013615000c2c02000d00000b000934004b3a00080d00003400191c494500090d00003400192e00012a360001420d0327100d01012c021d340017100501bd011d42100501b5011d42100501be011d42100501bf011d42100501c0011d42100501c1011d42100501c2011d42100501c3011d420d032c2a3400173b01c40d00012c02100501c5011d100b01c50b01c445002f2d0004360003460e00250d03080b01c63600020d00023a00140d00020b01b50f00060d00020b01c7100501b5011d4605012a0d00010b01c8350245001e0d00010b01c80f0004100b01b50f000b340017100b01c50501c8012e000d100b01b517100b01c50501c8011d100b01c50b01c83a001a0d020a2b00100501c2011d100b01c2270b00582c00100501c3011d1c00100b01c50b01c800100b01c13600010d00011745000910270b01602c000a000d04030d00012b0136000210270b01602c001d100b01c50b01c445000c420d034d0d00022c012e00030d00020042100501c1011d42100501c0011d42100501bf011d100b01be3a000642100501be011d1c00100b01c23a0011100b01c2270b01402c001d42100501c2011d42100501c3011d1c001e00006a412101360002420d032d420d032e2c00270b01cc1e0000689e1a012c012c013600010d000200420d052e2c00270b01cd1e000068b51a010d01002c020034014501850d00010b01ce0d00010501cf01340011002334081100dd34091100e1340c1100f3340e110142340f11014d0501d01101471d2e014d420d064a0d02012c013602020d0202270b00000501d12c011745000b340c0d00012001ce2e01260d0202270b01a705006d2c01140204011d420d07010d0204340019270b00ef34022c012c01140205011d420d07350d02050d02050b00092c023602060d02040b000934014b3a000a0500320d0204340119490d00012001d20d00010b01d21745000b34090d00012001ce2e00b934080d00012001ce0d072f270b01d30d02043401192a0d07303b01970800803b01d40d02063b01d52c02000d00010b01d6360206420d06490d02062c01360203340e0d00012001ce2e006e420d07360d02022c013602070d0207450024420d0649420d07330d02070b01a90d02070b01350d02070b01972c032c013602032e001e0d0706270b01b40d02012c014500090d02010b005d2e00030d02013602030d0001270b01d70501d80d02032c02000d0001270b01d92c00002efe761c000d0101270b0108100d00002c02001e00006c9d2101360002420d032d420d032e2c00270b01cc1e00006a791a012c012c013600010d000200420d052e2c00270b01cd1e00006a911a010d0100102c030034014502050d00010b01ce0d00010501cf01340011001e340611005b340c110101340e1101c7340f1101d20501d01101cc1d2e01d2420d064a0d02012c013602050d070634002b01360206100b01c30d00012001d20d00010b01d21745000b34060d00012001ce2e019d34060d00012001ce100b01c3000d0205270b00000501d12c011745000b340c0d00012001ce2e01750d0205270b01a705006d2c01140207011d0d0207340019270b00ef34022c01140208011d423602090d02070b000934014b3a000a0500320d0207340119493a00180d07030d0731270b01db0d02073401192c012b01140209011d0d02093a002442100b01c214020201020f00170d0202270b013a0d02080d020934100d06090b01382c041d340e0d00012001ce2e00e5420d07360d02052c0136020a0d020a4500790d07030d0731270b01db0d020a0b01352c012b0114020b011d0d0731270b01dc0d020a0b01a93400172c0214020c011d0d07030d020c2b0114020d011d0d07030d0731270b01db0d020a0b01972c012b0114020e011d42100b01c214020301020f00120d0203270b013d0d020d0d020b0d020e2c031d2e00400d0706270b01b40d02012c014500090d02010b005d2e00030d0201140206011d42100b01c214020401020f00120d0204270b013f0d02010d06090b01382c021d0d0001270b01d70501d80d02062c02000d0001270b01d92c00002efdf61c000d0101270b0108100d00002c02001e00006dbd2103360002420d032d420d032e2c00270b01cc1e00006cd51a032c012c013600010d000200420d052e2c00270b01cd1e00006ced1a010d0100102c030034014500c90d00010b01ce0d00010501cf01340011001e340311004d340511006f340711008834081100960501d01100901d2e0096100b01c50b01c81745000b34050d00012001ce2e008034030d00012001ce10270b01dd0d07030d02012b010d02020d02032c030010270b01ca2c003602040d0001270b01d70501d80d02044500090d02040b005d2e0001422c020034070d00012001ce10270b01d30d07030d02012b010d02020d02032c03000d0001270b01d70501d80d00010b01d62c02000d0001270b01d92c00002eff321c000d0101270b0108100d00002c02001e00006f6b2103360002420d032d420d032e2c00270b01cc1e00006df51a032c012c013600010d000200420d052e2c00270b01cd1e00006e0d1a010d0100102c030034014501570d00010b01ce0d00010501cf01340011001e340211002c340711009a340d1100d534101101240501d011011e1d2e012434020d00012001ce10270b01da0d02022c0100100b01c0140205011d100b01c1140206011d100b01bf140207011d10270b01de0501df2c011d0d02073a0017420d06500d02070d02012c02140201011d42100501bf011d10270b01e00d02012c013602080d02080b000945000b34070d00012001ce2e00ac0d0001270b01d70501d8422c02000d02053a00070d0205140203011d0d0206360209100b01c30d00012001d20d00010b01d21745000b340d0d00012001ce2e006b340d0d00012001ce100b01c30042100b01c2140204010245000634000a2e000f0d0204270b013e0d02010d02032c02102001c1420d064b0d02083410062c020b005d102001c00d0001270b01d70501d80d0209450007100b01c12e0001422c02000d0001270b01d92c00002efea41c000d0101270b0108100d00002c02001e000071432103360002420d032d420d032e2c00270b01cc1e00006fa31a032c012c013600010d000200420d052e2c00270b01cd1e00006fc51a010d010010340634111500021500012c040034014501660d00010b01ce0d00010501cf013400110028340311003d3406110086340b1100b7340e1100d634111100e434141101290501d01101231d2e0129100b01b536020434030d00012001ce10270b01cb0d02022c01000d00010b01d63602050d0204170f0016420d07340d02040b01bb0d02040b01891500022c01171745000b34060d00012001ce2e00da0d0001270b01d70501d80d07191e0000713221022b012c020034060d00012001cf0d064e0d02042b013602060d064c0d02040d02032b02360207340b0d00012001ce0d0206270b01ba0d02052c01000d00010b01d6360208340e0d00012001ce0d0207270b01890d02010b005d0d02082c02000d0001270b01d70501d80d00010b01d62c020034110d00012001cf0d0001270501021934062c010d00012001d20d0001270b01d70501d80d070a270b002b0501e20d00010b01d22c021d10270b01e30d02010d02020d02032c032c02000d0001270b01d92c00002efe951c00420d00020d08020501e12b012c011d1c000d0101270b0108100d00002c02001e0000723b2103360002420d032d420d032e2c00270b01cc1e0000717b1a032c012c013600010d000200420d052e2c00270b01cd1e000071931a010d0100102c030034014500a10d00010b01ce0d00010501cf013400110014340611005034071100780501d01100721d2e0078340017100b01c52001c8340017102001bd0d060a2b00102001c2100b01c2270b00582c00102001c334060d00012001ce10270b01dd0d02010d02020d02032c03000d0001270b01d70501d84210270b01ca2c00140204010245000634000a2e00060d02040b005d0f0001422c02000d0001270b01d92c00002eff5a1c000d0101270b0108100d00002c02000d00013600020d00010b00090d00010b000934103f163600030d00030d00010b0009493a0024420d034b0d000134000d00032c03140002011d420d034b0d00010d00032c02100501bf011d0d000200100b01bd3a0008340117100501bd011d1c001e000072d52101360001420d02260d00012a0501893b0135421e000072ee21002c003b01361500012c0200420d0327100d01012c021d0d02510d00012b01102001e41c001e000073c32103360002420d032d420d032e2c00270b01cc1e000073181a032c012c013600010d000200420d052e2c00270b01cd1e000073301a010d0100102c0300340145008c0d00010b01ce0d00010501cf0134001100193402110030340511004e340611005e0501d01100581d2e005e34020d00012001ce100b01e4270b01890d02010d02020d02032c03000d00010b01d63602040d020445000b34050d00012001ce2e00280d07020501e52b01370d0001270b01d70501d80d07030d02042b012c02000d0001270b01d92c00002eff6f1c000d0101270b0108100d00002c02001e0000000021023600011e0000264621003600051e0000269421003600061e0000272021013600081e000030fc21013600121e0000315f21023601351e000052d621033600271e0000626921033601331e000062c521013601361e0000632b21013601341e000063d621013600491e00006420210136004a1e00006450210336004b1e000064f2210136004d1e0000659a21023600501e0000018a1a013600021e000001971a013600030d0003360004421e0000269d21002c00360007420d00062c001d2a34003b013734013b0138360009421e0000276821002c0036000a1e00002d1f1a0136000b1e00002d821a0236000c1e00002e8f1a0136000d1e00002ebf1a0336000e1e00002ee41a0336000f1e00002f0f1a033600101e00002fc31a03360011421e0000328e21002c00360013421e0000335521010d00132c013600142a1e000038071a013b01551e000038971a013b015d3600152a1e0000390b1a013b01551e000039811a013b015d3600162a1e000039ec1a013b01551e00003a1b1a013b015d360017421e00003a3421010d00132c01360018421e00003c2821010d00182c01360019421e00003d7521010d00132c0136001a1e00003f661a0336001b2a1e000040161a013b01551e000041521a013b015d0501763b017236001c15000036001d340036001e0d001e34403945003429015b0d0117270b00ec0d0117270b01770d001e3401322c012c01043400130d001d0d001e330d001e34013214001e011d2effc31e000041fa1a0736001f1e000042301a073600201e000042661a073600211e000042971a07360022421e000042c921010d00192c01360023421e00004f1f21010d00132c01360024421e0000507721010d00182c0136002534010d0025050185011d34020d0025050187011d34040d002505017d011d34040d002505018a011d421e0000523921010d00132c01360026421e0000534321010d00262c01360028421e0000537d21010d00282c010d002805018d011d421e0000541a21010d00282c010d002805018e011d2a1e000054bd1a023b01931e000055431a013b0194360029421e0000557721010d00252c0136002a421e0000571321010d00132c0136002b2a1e000057851a013b01551e000057dd1a013b015d36002c421e0000586421010d00132c0136002d0d0107270b00170d00132b002a0d002c3b019e2c020d002d2001682a1e000059cd1a043b01a036002e421e00005a5821010d002d2c0136002f0d0107270b00170d002d0b01682a0d002e3b01a12c020d002f20016815000036003015000036003115000036003215000036003315000036003415000036003515000036003615000036003715000036003815000036003915000036003a340036003b0d003b080100394500320d003b080080394500090d003b34013d2e000a0d003b34013d08011b1f0d003a0d003b330d003b34013214003b011d2effc4340036003c340036003d340036003e0d003e080100394501970d003d0d003d34013d1f0d003d34023d1f0d003d34033d1f0d003d34043d1f36003f0d003f3408070800ff0d003f121f34631f14003f011d0d003f0d00300d003c011d0d003c0d00310d003f011d0d003a0d003c193600400d003a0d0040193600410d003a0d0041193600420801010d003a0d003f19041e010101000d003f041f3600430d004334183d0d0043340807130d00320d003c011d0d004334103d0d0043341007130d00330d003c011d0d004334083d0d0043341807130d00340d003c011d0d00430d00350d003c011d1e010101010d0042041e000100010d0041041f0801010d0040041f1e010101000d003c041f140043011d0d004334183d0d0043340807130d00360d003f011d0d004334103d0d0043341007130d00370d003f011d0d004334083d0d0043341807130d00380d003f011d0d00430d00390d003f011d0d003c4500320d00400d003a0d003a0d003a0d00420d00401f1919191f14003c011d0d003d0d003a0d003a0d003d19191f14003d012e000e340114003d011d0d003d14003c011d0d003e34013214003e011d2efe5f34003401340234043408341034203440080080341b343615000b360044421e00005ba821010d002a2c0136004534080d004520017d0d002a270b016d0d00452c013600460d01070b01aa0b00d63600470d01230b01aa0b00d6360048421e0000648c21002c0036004c421e0000653a21002c0036004e341036004f421e000065d321002c00360051421e000072aa21002c003601321c0001e60a0b0c190a0c0b2f110c10051c190c1942070a1d0814191b1d10261c190c19425652471a190b1d4e4c5400081e0d161b0c111716041e0a1715061a190b1d4e4c4b3e1911141d1c580c17581c1d1b171c1d581a190b1d4e4c551d161b171c1d1c581c190c19582d2a3454583a0d1e1e1d0a5819161c58190c171a58190a1d5816170c580b0d0808170a0c1d1c06141d161f0c100a1b10190a3b171c1d390c0b11160b0c19160c11190c1d040c101d160811160b0c19161b1d07101d191c1d0a0b031f1d0c0c3b17160c1d160c552c01081d1411160b0c19160c11190c1d2b0c0a1d191511161f1019080814111b190c111716570f190b150b190a0a19013a0d1e1e1d0ac2dfe51c190c194219080814111b190c111716570f190b15431a190b1d4e4c54393f3e021a293d393939393a5739310d21393e573920411f39204039213932571e0f3e57213932571e0f3a1f394b41571e0f3e57213922571e4b41571e4b403a1e4a393e1e4b41571e4b403a1e4a393c1e4b4157393f393d1e4b41571e0f3a1f3a1641571e4b41571e0f3a1f3a2041571e4b4157393f393d1e4b41571e0f3e57213910571e4b41571e4b41571e0f3e5721391c571e4b41571e4b41573920411f3a2041531e164d53393f3939393f39301e4b41571e4b41571e0f3a1f3a3041571e4b403a1e15393e1e4b41571e4b4c3a1e4a39393920411f3a3041531e164039213932571e1f3a1f3a2041571e164157393f39331e4b41571e4b41571e4b41571e0f3e57213900571e4b41571e4b41571e4b41571e4b403a1e4a39311e4b41571e4b41571e4b4039213941571e4b41571e4b41571e4b41571e4b41571e4b4039213908571e4b41571e4b41571e4b4157393f39341e4b41571e4b41571e4b41571e4b403a1e4a393f1e4b00571e4b41573920411f3a4b41571e4b41571e164c3a1e4a393f1e4b41571e4b4d533920411f3a2041571e4b41403920411f39164140393f393d1e164d531e1f3e57213932531e0f3e57213932531e1f3e4021393e573920001f394b4d531e1f3e57213936571e4b403a1e3f393c1e4b41573920491f3a3041571e4b4c3a1e15393b1e30403a1e3f393c1e4b4153393f393b1e164c3a1e2f393b1e4b403a1e1f31003b393e10392f3d393c0f3e10392f31393a1f3e10392f3539391f3e10392f2939391f3e10392f2d3939393e10392f21393a393e10392f1b393a0f3e10392f1f39393928343a35133d391f3939391f35393929353a39393939390f352c3c0f4c3939393d3c392929393929393939293939391f353b391f1b373a1f1f333e39353b3939353c3939313c3939353c39394c3b3a392939390f29393a39393d39393939390f353c390f293939393d3b3e2931303a29353f3a1f0b3b393b3d3b39390f353a291f3b39393939390f353c390f393139391f393a0f39393939353b391f353c3911312d3939393d390f3139393935393a0f313b39393920393a1b39310f3539393935393929393a3a0f31303b39393c391f3133390f313a3a3935393a0f313c3939393c3900393d3d393136391f4834391f0b393939312e3939393d3b3931393b291b31391f1b3c3b1f3d393a39213c39293939390f29213b1f29213b1f1f2a391f393d32394c14321f393a392939393b1f403939391b3a39002d3a3a391f3b391f172239391b303f29393a390f1b3b390f3d3b3d0f3d313a0f17393939393a393921303c39393a390f3d393939353a39293d393a3a171a3f100b39391f3939391f351b390f313939391b3c3039353c391f313c3b291b333b2913333b2913393d392929390f313e3a0f29393b3b1b173d290b3e3b003d34393931303d2b13393b0f393a390f313b391f1b3d39392109391f393b391f290a343b48313c1f31373e394c393929313b393939393a0f353c3a0f353c39293939391f353b3939393b3929393b39393d3a391f2939393929313e1f293a39293939392a353a392939323b2913333b1f17393b391f313a39403a3929393a39393d393929393a39393d393929393a39393d393929393a39393d393929393a3939353c390f353c390f393939293d3f3c390f3f3c390f393a1f393f3c390f3a3a1f213d3b0f293b3a39313a3a1f29343a39313d391f0b343b0f293a39293d3a3b29133e301f2d1d3c2948363c2948363c392d3e3a292d3e3a0f0f3e3a292d3e3a29211e313a313f3d1f1b3f3a1f211e313a313f3d1f133f3a1f2d3e3a292d3e3a292d3e3a292d3e3a292d3e39392d3e3a29133e3a391f3f3a391f313a1f293c3029293a3929393a39391f3a3e1f313b3939393a392939393929393a3929393d3a391b3a1b39303a390b3d3b3a29213a392c3b391f39313f3b393e57392d3f1f490f3d343a481f28392f133b39393e0939371b3a392f0b393f293e0b393a393a1a293c19391f3e0d3934293d392f40390a1f293a1b393b223a393e003932393d392031390a393d3a1b0f3b3c3a393e483929393a1c293b2e390f3e4a3932293c39201b39130f3532000f293a393d3d3a3b40393b02292b093a353d3a0e393f29394e0f3a120f3737394c483c2c485335394c0b3c111f37313941393d1139281439211b3c020f2c373a37293a532934353a350b3d0d393012391b173d01392c323a351b3d4839303a3a35313d0f392c3e3a35293d0f0f2a5313293733391d313a0e0f2b533a34483d0e392c10391a0b3d0d1f2b4d3a341f3d0c0f29290129300e3953483c0f393753394f0f3c0d1f374c394f213c0c393701394f393c0a1f370b394e173c09393715394d353b4039280d394c4c3b4c29281f3941403c4b1f281c394e403b4b39281a3941173c1539342139411b3c491f282e3941293c2c41353c481f3730390b0b3c0129283139401b3c0029283c394c213b011f283f3a32313c001f283d3940313c2211391f4f39280a3953173c4e29281739531b3c4d1f2814394e403b4d3928123953313c3131483b12293435391a483a0e293022394f483a31363d3c48392835392d4128020f373139113c373940483c02393e282c400f3c113932153134213d0c292b023a3f211f0b1f2b003a34393d3133403d0a292b0b3a330b3d013934313909133d09392b163a33213d0829291f08392b123a33313d17292b57390a403b17392b1e3a324c3d16292b1b3a3b3b1a3a32173d15392b203a32213d14292b2d3a32353d3132313d13292b283a314c3d12292b353a310b3d111f2a153134133b11292b313a311b3d101f2b3e3a31293d0f293741394f133c0a293708394f2d3c0b2936153134133b1f1f2b3a3a31393d570f28533957483c0e0f374f394f1b3c090f3716394f353c0a0f28333921313b573928333921313b530f351f090f3f0a392f0c0a194e483b2c4a080931330b3a090f3e0a194a0d0c3913410919113b093919173a194e133a09293f0b3913410919113b093919173a194e133a09293f0b3913410919113c4e3957133c31281f3c410f351f411f284939013c483957353c3132133b401f370b392b3b22390e3d3c0a393e1508293713394a211f012930323919353c1529371b394e313c3132173c1629371039013b1a394d4c3c1739361531321f3c140f371e394d213c3b092c1e3a40133d3a0f391f393b393a1d390b2d393b39393d3c2d3d293b39393339313d3c0f0b1f393b48393b0f0b1c39293e573139392936292a3931393917391f3910392b39393d30481931393d293d390b1f39390b32393b39393d39481f392f1734481f3d3a3a30403b293b393a313939293b2b313c2b0f2a39310f3a3a3d3f0b113911293931393d1f394a0b11390f2a39313939293d013d3d313939293b2b313a3139360931292d1f3901393d31393e0a2b0f2a393139391f3a3b393e31392a0a31393d1f392a3c3139290b1f392b39393d3948113a3f171f39483d393d281b3a3139391f3a2a3a4c3139323a393c17393c01393d31392e093139323a3c4a172936390b3539290b12393d3d291901313b3239393b293b39393d3c2d3d293b3939333931393129351f39133d39371f392831393d1f394a171f39133d28191039483139391f392a394d3c393d343139323a393c17393c11393931393e093139323a3c151729363b393931393d29371f0b343139323a3d3f171339390b2a393b39393d3c2d3d293b3939333931393c0f0b1f39390b33393b3939333931393d33353a3b0f0f393139391f392d3d1b19103b29391f0e353c393d301e0f323931393a3e3c29391f393d3d311901313c31393a3a3a3f0b17391f3911392d3e4c1b2b313919113d3e3913391f392d3d3a1b29483931393e3a394b3e3e3c293d1f3901393c33393139311f3e0a311f363a4e313d3a333931392b29483a3139391f392f1710393b393c291d013a392b1f3b393d1b3d293b393a291e403a2c292a3931393517391f1f113911393a2929364a311f2a3a394b2a3a1f31313a191321193139311f39011f3b3c3b313a2a1f2a39291c113a392d30211f293d17391f3a3a1e11393d1c4b3d4a391f3935390f0b1f3911393a361f313531393d1f3912213b3b390f3b3b01393c333931213129213b293b393c31393517391f0f11392d1b3d293b393c33393131311f311f392c213b3c3b393a3139314a391f1f3539290b3b293b393c292a2a09311f3117391f39113a3948393139363a3d3f171139111f3b393b313d3c293a3a393b3d3a3c393d343948391f39113d3031392911392d3d2d1911313b33393139311f2936393b393a292a3a093129311f392b1f3b3d3b313d3c29393431391c3a393c213b39390b1f3a132d36392932393139351f39011f3b303b313b292932482921113d392f17113a3b1f3b393d213d293b393d31393d4a391f391f3929483a291c013a392d301b1f293d17391f3a3a1e11393b1c4b3d4a391f3935390f0b1f3a133d29292a291f3a111f3b3d3b393c2a100c0931393d4a391f391f392d2d36391f0b1f392b393f361f31213139351739103911391f2a3931393d1f3912213b3d3b393b31393d4a39101f34313935173910291139132d36392b393a3139314a3910291f3911393a361f31213c393d3431392d17391f2911392d3d3c1b2d3d3c2a0f4839291d3b3a392b3939361f313931392d1f392d3e531b2c213b3a3b393c31393a3a3920314a391f291f393b393c19113939361f31393c0f0b1f3901393e2c0f483931392d17391f2911392d3d3a1b2d2d363939323931393e3a39163e3e3a3d391f3a2d300f1f293d17391f3a3f3a3d3a3a40313d3a3139354a391f3a3a4d313d3a291d2b3a392b1f3b393b393919113139361f31393139351f393d3d3a1b12213b3a3b393c291d013a392b1f3b393d1b363948301f1f293e3a393c213b393d300b1f293e3a393c213b3939403431392e3a4f313d3a333931392a1f2a39291d013a392b393c361f3139291d3b3a392d301f1f293d17391f391f393f1711393c213b393b393c31393a3a3920314a391f291f393b393c19113939361f31393c0f0b1f392d3e4c1b2b393919113d393913391f392d3057392d483d293b393e33393131311f311f392d3d3c1c11313d2929364829213b3b392f083f3f11393b31392d17391f0f11392d213d293d30211f293e3a4a313d3a3339313929204c1f3a301c00361f31393c3931343139311f392c213b3c3b393a3139314a391f1f3539290b1f3a2b1f3b3f3b3d3f3913391f3a2b393e33393135311f3e303a3d391f3a2b1f3b3b3b313b291d113a392b1f3b393d13193139311f392c213b3c3b393a3139314a391f1f3539290b3b293b393e292a2a09311f3117391f39113a39483931392e3a3d3f171139111f3b393b313d3c293a3a393b3d3a3c393d343948391f39113d3031392911392d3d2d1911313b33393139311f2936393b393a292a3a093129311f392b1f3b3d3b313d3c29393431391c3a393c213b39390b1f3a132d363939323931392d1f3a2b1f3b303b313b292932482921113d392f17113a3b1f3b393d213d293b393d31393d4a391f391f3929483a291c013a392d301b1f293d17391f3a3a1e11393b1c4b3d4a391f3935391f0b1f3a133d29292a291f3a111f3b3d3b393e2a100c0931393d4a391f391f392d2d3639290b1f392b393f361f312131392d1739103911391f2a3931393d1f3912213b3d3b393b31393d4a39101f3431392d173910291139132d36393b393a3139314a3910291f3911393a361f31213b01393c31393a3a3920314a391f291f393b393c19113939361f31393139363a4f313d3a333931392a0f483a291d3b3a392b3939361f31393c0f0b1f3a2b393a29204d00361f313d3139351f393d3d3a1b12213b3a3b3939313936093139394a391f393431393a3a570f3e363a3d391f393d3d3c1c11313a2929364829213b3b392f171039393257291c113a392b1f3b393b313b29293d1f3920291139203e3e3a3d3a3a4a313d3a31393d1f3916314a391f391f39390f3a3b013939333931313b013d3b3139391f3902213b3b3b393b3139354a391f0f1f39013939361f31353139351f3912213b3b394034292a40103911393c291f394b3910391f393d3057575740302c292a3931393a3a3b302111392b393a29213c53284a083a3d30223a3b303d11392029113911393b29213c1f304a083a3d30223a3a303d11391629113a3b393d29213b393c4a083a3d30223a39163d113a302a3a3c4b211f392b393b1b11393d1b150b11392d3d3a1c3b393931393e3a3e2f084a29293e001b133d1b19113d3b3b01393c3139314a39100f1f39133d3b1c3d3f3110393e0931293d3b2939323939133a3a4b313d3a33393139311f2a3a392b393b1c3b31301b2d2d3d293d301b1f293d1f3a3b39301b12213b393b393a3139354a391f391f3901393a361f31213c393d3431393a3a393d3d223139323a3920220a3139323a3048211a1c3b3d3b31393d17391f39103929363931393d113a3b1f3b3a3d3e4c1b2b39392a1f483b3139323a30202110392b393b29293e483129311f3a3b393a29292a0019113130292a3a0933393139311f3d3639390b1f3a01393c361f31293139351f3a3c213b3f390b1f3901393c361f31353139351f3902213b3b390f3a3b01393d33393131311f391f3902213b3c3b393d3139354a391f1f1f39483d39361f31213139351f3a3c213b3c3b393c3139394a391f1f34291e113a392d304c1f293d17391f3a3a392f0b11393d3e573139391a361f31393b0f0b1339293e57310f3a3a3d3f0b11392b293931393a3b393c1b3b393b39392929394a391f1f1f392d3d291911293931393934110f313b394b403b1e1f323931393908394b39113a3e3a3e3139291f393b133c1d3b39393339313d311f3d1f393b1f3b343b313b194e0040311f2e201b2d2d3d293b3539292a3a0a311f3113393d3e5731293d3b293b39393d37133a3c29391f393b393b2929410929293d1f393b1f3b313a3d3d393d3d3a2a0f48393139310c3939401039290b1f39133d291911293931393d1139483d392c1f483a31393917391f2910392b39393339310b3129313431393a3b1e021b3c1b3b393931393d4a39151f1f393b393e3139311f392f0d0b1e3c1b3c1d3d3e573c0f0b1f3a2d313a1e3b3d3e31393917391f2910392b3939333931313129313b293b39393329360f311f2a293c29391f3a3b393e1e2b313d3139311f392f0d0b2f29483931393d1f3a331c09312931343139391f3912213b193b393931392d1f393b1f3b343b313931393e0a0a300f4b394b1f1f393b393a2c0f2a3931393e3a392f0b1f3902173939390b1f390f0b2239293e5729291710392b39393d3c2d3d1e0139393d30493a392f0b3e31393d343b53353a3929225731393d29480f311039013539292a3a0a311f2d13393932393139351f393b313d3d35403a311f3a363a3d391f3a3a3936311f21103911393c311f393d1e0f323931393d1f39132136393b393b31393e0a31393a3a39162a283a3d391f393d2d36392936393139311f392b1f3b393c213b393b393b29292a093129311f392d3d3d19113d3a31393a3a392f0b11393948393b0f0f3a3b0139392a2948393948391f3911393929293e0a311f3a3a391629113a4a171f392b393019111f3b393c213b393b39393c2939343b483d393a2b393b3b00171f3a2d3d39361f31353139211f39483d3b1c3f171f3a2d3d35191039023139291f39003a4c3c393d343139291f393b393c31393a0a313929293b2b31392929391f393b393c31393d2941393d3431392e3a3d3f171339390c023929365731393d29131f3d1039113539292a3a0a311f2913393932393139311f393a392c311f36363a3d391f393a39363129351f391f2a393139351f392b393b3d37173a3b01393d2929394e3939401f3911393c1911393d292941093d3c291f393b393b3d301f3539290b1f393b393c3139311f394a0b1f393a3932311f3a3a393b39393139311f392a3c4c39290b1f3a3d3d29191129393b53483b39292a5739133a3a4b311f3a3429393929293e003c293a3a4b311f3a3d3b2a3e3c293912393d3d1f1901313b3239393b293932393948391f39133d311911393929293248191f325729293d1f39302a3a57575757570f1c00311f363a3920323e3a3d391f393d3d3b1c3b1f3b39390f3a3b0139392922171d2919291e3139351a3d37393b3b01313c361f31393139363a1e481b3d293b393929293e09311f3a3a3a132136391f0f3a3b0f0b3539290c3a393a3c1e39132d3d293d3031342b3d3a3139323a3b3f083a013b4829160f3e3e3c293e3a4c3b4810392b393b29291009291d390c3d32403a2a29483a29293910393d3f0f100f3d0c39393a3e3a3d393c293b39392929324829213b30392f171f393d3f1330003c1f3912213b393b393929293e09311f3a3a3a131b3639390c3a0b311b3a29293d4e39393a3a15311b3a29213b30392b1f3b393c213b39390c3a1f311b3a31293d1f39133d3119133f39100f3d29160f3e3e3c293e3a15311b3a31293d1f39133d3119133f21100f3d29160f3e3e3c293e3a3f3a3922311f3e3e3c293d3431393d1f3911133c3b3c1b3b393b393a3139310839001f4b3910391f392b393b33293529360f31313b01393b292b3a0932393a3a4a311f3a31393d4a391f3a3a4b311f3a3d3b3534291c1131392b1f3b39390b3e393a393939390e1e3b1f313e1e0f4153310f3a3a4c393a0a311f2d13393b393d290e5757575757575702533c311f493b3c4c211f39483100113129103c11393b31392b3e29173b391f313b391f313b391f30533c3129171f3913345757575757575740571f01313429113b313129401f3c2d312a113b3d2931392a3b35311116291e575739203d103a0f32393913391f3913310f11331c3a5757403a1b2b313229293e0a291e4b57392d483d293b393029293e0a291e4f57392d133639290b1f392e391f391334575757575757575757575740391f01313529173b391f313b391f353c57570f3a2d3139003b1f313b391f313b390f285757393e3d1a2a292a393139323b1f313b391f313b39313129103b1f0f3b3b01393c2d3b393d290e57575757575757575757570f3b3c311f323b1f313b391f313b390f285757393e291f391333391f313b391f313c39575740392d2a0c3e3a3d391f3a3d33391f313b391f31391f103b3d333139351039290f3b3b01393a3139003b1f313b391f313b390f28575739312f3d2d392a393139311f394c2a293a3d3a3b1f313b391f313b394c285757393b3d33291f391039290f3c3b01393329173b391f313b391f353c57570f3b3d3129083b393b3d3a3c3931343139351f391333391f313b391f313c395757403910212a293a3d391f392b3935103b3d3b291f3910392b393b2d392a3929173b391f313b391f373c57570f39103b1f0f3c3b01393329173b391f313b391f353c57570f3b3d31291735391f0b1f392b3935103e393d293d313931293d35391f0b1f3911393c103e393d293d313931293d35391f0b1f3c3d345757575757575740572f392a3931392e3a48393a0931393d1f3b01393a31390b1f3b4939113a100c4d3139223a3a162b0c1e331b113a133d281900390e292a391f3a150b103a11393e33293621311f0c3b31311f103c01393e3329362931293d343139323b575757575757575728492136393b393e292d3a0a3139351f3c2b393c3139481f3c2e39113b3a0c4d3139103a3a162b0c1e331b113b3d3d281900390e3139211f3b3f0c3a3d3f17103a11393e33293631311f323b3c4c211f3a2b133c293b313c29123f31103b3d373139323b3d211f103d390b1f39483128101333391f284f573c4c35113911393a29113b31311f2a533110311f3948312a113d3457575757573c4c35113c3b393a290e5757575740281f01313a1e160f113d2d311f1011313631393d1f39164d40311f351f3c2e2b0c3139311f3b483457575757573c4c35113b4b4c113e2b393d313900531e3b312c31394d3b57575757570f533c311f481f39204d403110291f3d2b392b2e33493b3131211f3d2d311f11312a4031103d1f3911392829173b393a3129113c164c113e113934313900531e3b31283139291f3c204d403110311f3d3d3457575757573a4c363b1f313b391f39113d311f311f39204d4031103a3b3131224031101c4031293d1f3a0139321911393f19133057570f3a0a3129213b293b39343139495331101f1f3c3b39371e160f113c3b39212e33481f3c3b393b31392a531e3b313d3139002d0a200f1f391139371e160f1f3a3b393d313a351f3e2e2b0c313a351f3e3e190c1e300f113a3e190c1e3b393b31390c53311f0b1f3c2b39371e160f11391139342e33493b3131211f3913311f11312a403139291f3913311f10160f113911393d2e3349403139311f39113929313a322d0a2b3928313a222d0a2b3928313a322f0a20004029113b3f313a3a3b3131113d1e3b313b2e0949403139311f3911392a313a2a2d0a2b392a313a1c2f0a200040311f322f0a200f113a3d33391f313b391f313c39393136292a292a393139223a392f17103a1f0f3a3b01393c2912533131290b1f3a3d313a1011393b29125331103b3d3d3139323b3921211f392d3157113129103911393c291f3f3f3129351f3b01393a291f3f3f103b3d3a3b01393f291e5757392d4c3d293b393329173b391f313b391f353c57570f3b3d3129083b393b3d3a3c393d3439164c1f3a133d392c392a3929293d1f3a150b113a483f39392d403d293d313931293d35390f0b1f3a2d3d0f1911393c31393d1f3a133057393f17113a10390e31392e3a313f171f3911393d313921293401393e292a3a093139351f392b39303d300f1f3a2b393b3139291f3a003a4031392d083902391f3a2b133c37312a3b393e330c31392d083901391f3a2b133c3d312b3d3129351f3a2b133c333b393e33293521103b3d3a31392d08390f39103911393e332935313c393d3431392a3b5757575757575757284c351f3a09493b3531193d3b013933103b3d333139362931393e3b393e131f392d33391f313b391f313b391f313a572d2a0c3e3a3d391f3b11393b291f3e40311f3d1f39142b0c1e3b3d333c393d343139351f392d33391f313b391f313b391f313a5710212a292a292a393139311039290f3a3b0139333139311f3913313a1f4b0f11392b393b2e334940312917343139391f392c1b3c393b39393139174b390f1f1f3a2d301f393f171339390d39341f3d341e013539292a3a0a311f0b13393932393913393b293932393913393b293932393913393b293932393913391f393d3048392d483d293d30211f293d17391f39113a133d2931393a3a3b4a083a1d303d1f393d3d342b2a0b113a483d3c1c11313b1c11313a292936003a3d391f392d3e571b483d3a1b2b393b1911313c29293648311f3e3a1131313a19111f3b393b313d292910093129393b293b393d33393131311f311f392d3f391f1f3e09311f3e3f3a3d3a3a4a313d3a3139223a1e11393c1c4b3d4a391f393539290b1f3911393a361f313531393d1f3912213b3b390b1f3a3b393c29293648311f3e3a394b314a391f291f392b393d1911313a31393d17391f2a3a3920314a391f29353c390b1f3a48301f1f293d17391f39113b134836392b393a3a3d393b293d3d3b31393248311f3a3a393b3939194b311f392b393b1c303d11393d3d3931393a0a1b2d3d3a1901313931393a3a3c30223a3d303d1139162111392d3d3e1c133d311b2b31393139320131393d1f39302111392d3d3b1c133d3d1b2b31391b11393a31393a4a311f3e3a3920223a39163d113930311f392b39391c11313a29293e4a29293e00311f3a0131393d1f39302209311f363a394b2911393d3f311f1f3e0933393139311f2917391f1f11392b393929213b3b392f1711393d213d293d30211f293d1f3a133e533139364b1b2b313f361f31393c393d3431393d1f393c213b3c3b393931393d4a391f1f3431392a3a3b3f1710393b393d31391c3a394b314a391f291f3a3b39301911313b3139363a394b2911392b39301901313c29293e01361f313d31393d1f3a3f171f3902213b393b39333a3d391f3b133d3c1c11313a2929364829213b3b392f17103a2d300b1f293d17391f39103a3932573139223a392b393a1c3b313a1b2d2d3d293d30211f293d1f392b393f1b12213b393b393e3c393d3431392d17391f1f3431293d1f3a2b393d361f313131393d1f3a3c213b3c3b393d31392d4a391f0f1f3a3b393a361f31313b48300b1f293d1f3912213b393d301f1f293d1f3902213b39390f353b48301b1f293d17391f39113b2d2d36392b39322929391f3b2f0c0029293e0a311f391f393d3d351c133d291b2b313b1c11313a29292e4a29291000311f391f3916311f392b39391c11313a2929324a29292a00311f3a0131393d1f39302111392d3d3a1c133d3b1b2b31391b11393a31393a4a311f3e3a3920223a39203d113930311f392b39391c15083a39162a3a1131293a19111f3b393b313a3339313d2920100031391c0a3129351f392b3d3b3948393b293b393b33393129311f3a3e3a3d391f39111f3b3e3b31392a29483a3b0139393339313d2920100031391c0a311f311f3901393b31393632311f311a3129351f393b393a3139311a31293d1f393b3d3b3c393d343b01393a3339312131291f1f392b393a33393135311f2a303a3d391f392b1f3b3b3b3139291d113a392b1f3b393d13193139391f3a3c213b3c3b393d3139394a391f1f353b0f0b1f392d3d2d1911313b33393139311f3a3e3a3d391f392b1f3b3d3b31392a29483c31393e3a3d3f1710391f0b3c293b393b31292d1f393b313d292a2a09311f3117391f39113939483931392a3a3d3f17103911393d33393129311f393639390b1f3a2d3d39361f31393c391734292040103a013939291a41572b0f483931393a3a3b4a1711393d3e4c1b2b3d30291c013a392b1f3b393b31322a2948392929391f3a4a0b10390f32393913393b293932572929391f3a483f3939131336393a083a30013930291e5757570f1c343c29391931393a3a3b302111393b393929213c53284a083a3d30223a3b303d1139162911393b393929213c1f304a083a3d30223a3a303d1139202911393b393929213b393c4a083a3d30223a39163d1139302a3a3c4b211f392b393b1b1139391b150b11393d3d3a1c3b393031393a3a3e2f084a29293e001b133d1b191f0b113a133d3b1c3d3f3110393e0933393139311f323e3a3d3a3a393b3d393c393d3429293910393b393029293a3a3f2b393f29293e4a1901393f292a413f3f4b2910392936393913391f39111f3b3a3d3e4c1b2b39301901313e313936283c29391f39113d3d31392d11390f4839292939103901393b31293935390f0b1f393b393b3339312d311f2d1f3a2b393b31393e3a3020223a3a303e0933393129311f323f3f01393931392d1a3129391f392d3d3a1c3b3d3a3139313639390b343139391f3a30323e3a3d3a3a393b3d3d2929311f3a162911393d3d3931393a0a1b1139321b2b31392a29483c31393a3a393b3939194b3e3a392f0b11393b39392929004a292a3a00311f324a311f3e3a3a20223a3b303d11393b393b1b11393a31393a4a311f3e3a3916223a3a303d113930311f392b39391c11313a29293e4a29293200311f3a0131393d1f39302111392d3d3a1c133d3a1b2b31391b11393a31393a4a19133d3b1c3d3f3110393e09333931393129393431393a3e3c293d343948391f393b1f3b3a3d3e4c1b2b39301901313a313936323129311f392b393c3139311a3129351f393b393d3139311a3129291f393b1f3b3d3b313a3a30401f39292d1f393b1f3b3e390b11393948393b0f0b1f3a3d2d36393b393c291d3b3a392b1f3b393b393019484036393b393d333931213129211f3a3b393d33393135311f3e303a3d391f3a3b1f3b3b3b3139291d113a392b1f3b393d13193139391f392c213b3c3b393a3139394a391f1f353b290b1f3a3d3d2d1911313b33393139311f3a3e3a3d391f3a3b1f3b3d3b31392a29483c31392a3a3d3f1710391f0b3c293b393b31292d1f393b313a292a2a09311f3117391f39113939483931393e3a3d3f17103911393a33393129311f393639390b1f3a2d3d39361f31393c391f3431391c3a4c313d3a33393139311f32363a3d3a3a4f313d3a333931393129353b293b393b31391c0a311f3e3a3d3d403d293d301f1f293d1f392c213b393d300b1f293d1f3901393019113139361f31393139391f392d3d3a1b12213b3a3b393b3139360931393d4a391f391f3901393029293601361f313d3c393d34291d013a392d3d39361f3139291d3b3a392d3d39361f31393139351f39133d3c1b12213b3a3b393b31393609311f391f393b1f3b3a3d3d3a1b12213b3a390b1f39483d3119113d393c39173431391c3a4d313d3a33393139311f10323a3d3a3a4d313d3a31391f1f3a4a0b11392c213b393d300f1f293e3a40313d3a33393139311f311f3a4a1711393c213b393b393931393e3a3920314a391f291f3911393029293601361f313d3139323a3b3f171039390f333b483d393129391f3a483d0e191131323916413a0b312d3a333931393a3d3a3a0d312d3a333931393c393d34291a013e392d3257360f3139291a2b3e392d333917313b391f31393d360f3139291a3b3e392b39342929000929203a00291c11094919173e1b02213b393d303d10293e3a393c213b393d3f2d10293e3a393c213b393d3f3931390b11392f17113a133d3931393e0a311f2e00311f311f3a4848363b2d3f2910293d17391f39113a392a392921113e392b1f3b393b313c31393209311f3d1f3948481f392b393d2b4b31363b1f0c3a14312d3a3429393929292a003c29293b29393239291e3b3a392b1f3b393b313c3a3d3a3a15312d3a3129393c293b393c31393917391f3911392d403d293b393a31393917391f2a09313936343c29353431393917391f1f11393948393b0f0c3a393a3a01311f3e3a1e4821363a2b393b3129223a0c312d3a33393139311f363a392f0b11393b393a1b292a393139311f392f0b1f393b393a19133d393139360a1b2f17103a1f0b1f3a1139302c2b393f291e4f57575740302b4b31363a2d3f2910293d17391f39113a392a392921113e392b1f3b393b313c31392209311f391f3948481f393b393d2b4b31363a1f0b1f3a103a01311f391f392d1b3639290f303b01393f3139100a31392e00311f223a570e5757570f1c343c29291f3a103a01311f3d1f393b1f3b393b39393339313d191321363901393a3129393431393a3a1e48211f3a483d0f1911393f2c20323e3a3d3a3a0d312d3a33393139311f3d1f3b2b393f194a083a393b393a194b3d11392d3053575757573a480b3d293b393931293d353a0f0b1f392a3a01292041303a3d391f392b393f19113d3f3139391039290f303b483d393139220a3d3031193c39293431393911392d3e572a0f483e3c393534292939103a390f303b483d3931293d353a290b1f392d3e572a0f483b3b483f2d10293e3a14312d3a3339313929292a01361f31393b01393b291e4f57575740302b0f483a313931291b11313a2920413f292939291b1131392920413f1b11393931393e361b1f483a3139391f392f0b113a113930292b10092c29483a3b483f3110293e3a11312d3a3339313931392209311f394a391f3a3a12312d3a3339313931393a323a3d3a3a12312d3a3139394a391f39343913393b29393239291e3b3a392b1f3b393b313e3a3d3a3a15312d3a3129393c293b393a31393917391f3911390139393339313d311f32092a1f483b31393917391f1f11393948393b0f0f3b3b4830171f293d17391f3911393d3d393139391f392d481a2a292a39291d113a392b393a361f31393b483d3931293a3a16312d3a3139214a391f3a3a15312d3a31393d4a391f3a3a53313d3a2920404a391f3a3a57313d3a291a3b3e392b1f3b393c213b393d3f1310293e3a393c213b3939363931393a3a394b291139483f311f1f3e093139363a1f31313a1911313b361f31393139363a1231313a1911393b361f313931393a3a392f1711393d3d1f2a0f48393b4830131f293d1f3a133d171901313c29201f1f392f0c3a3a4b3e3a393b393a2929100929291c003f0131391901313b361f3139291e3b3a392b393931393e09311f394a391f391f393b393b29293e01361f313d31393d1f394a083a333c213b3a3d30481f293e3a0f312d3a33393139361f31393c3931343139390c3939003a3b303d1f3901393e2b4b311f392b393e2c203136393b39393139311f3a15174a391f2a3a40313d3a31392e3a1d3b393e19483d301b2d3d3931392e3a3b3f083a3a4b3d1a311f3a09311f314a391f3a3a4d313d3a291d2b3a392b1f3b393b393f1911313a31393a0a311f394a391f391f3911393929293e01361f313d31393d1f3a2f083a333c213b3a3d30481f293e3a0f312d3a33393139361f31393c393d34291d113a392b1f3b393b393a2b0f2a39291d113a392b393a361f31393b01393a313922093129323a15312d3a3129393b293932393913393b293932393913393c293b393b31393917391f3a303a3d391f393b1f3b3b3b31393c293d35391f0b343139390c3939003a3b303e3e3c293d342922113e392b3d393948391f3a2b393933393139311f32283a3d391f391139393339313d1911313d31392e343c29353431393917391f1f1039390f393b0f39343139391f392c213b393b393931393917391f291f3a15174a391f291f392d3e4c31393e0a29291c002929391f392d3d3119133d301b2a0c09311f131f3a483d3c1b12213b3a3b393b29201f1f39150c3a3a4b3e3a393b393b2929100929291c003f4a17113a11393031391409311f100a3129311f3a2b393f2a1f2a39291e3b3a392b3931361f3139291d2b3a392d30131f293d17391f391f39151711393c213b393b393131393a3a3920314a391f2935390f0b1f3a13300b1f293d17391f3a3f3a3d3a3a4f313d3a31391f4a391f3a3a4c313d3a291d3b3a392b1f3b393b393b19113139361f313931391f1f393d3d3a1b12213b3a3b3939313910093139394a391f3935390f0b1f3a111f3b3a3b31392929360029293e3f3a3d391f393d3e4c1b2b3d3e3913391f393d3057392d483d293b393f33393131311f351f393d3d3c1c1131392929364829213b3b392f083f3f11393c31392117391f0f11392d213d293d30211f293e3a4a313d3a3339313929204c1f39301c00361f31393c3931343139351f392c213b3c3b393a3139354a391f1f3539290b1f3a111f3b3f3b3d303913391f3a11393f33393135311f3e303a3d391f3a111f3b3b3b313931393d4a391f0f1f392b3939361f31313c393d343913391f3a133d2d1911313933393139311f3536393b393f292a3a09311f3917391f3911390f48392929391039290f3a3b0f3639313939103a3b393c311f3e3a3e3f1711393b1f3b393b313c3c29391f392d3d2919113d3931393d1739103911390f48393b01393d2929394a391f393431391c3e3c29393b293b393f3139211739100f1139483d3b1c3d3f3110393e09311f3917391f3a3f3a3d391f393b393a361f313931393d36392d301b1f293e3a4b313d3a3339313929204c1f394b1c00361f31393c39313431391c3a3d3d3d2d31391b173910391f3a13211a1911393a361f313931393e3e3c293d3431393d1f3a02213b3f3b393f33393129311f393d293b393a3139394a3910391f393b393a361f31213b01393f3339312d311f3a3e3c29391f392b3939361f312d3139391f392c213b3f390b1f3a2b393f19113d3f3139311f3a2f1710391f0b1f3a11393f3339313d29204d00361f313d31391f1f39133d3a1b12213b3a3b393b313910093139314a391f391f39133057392d483d293b393b2929364a311f3a3a394b2a3a1f31313a19113d3b3916413a4a313d3a33393139311f3e3a392b39391c3b31391b2d2d3d293d30211f293d1f393b393a1b12213b393b393b3c393d3431393117391f1f343129391f39113931361f31313139391f3b3c213b3c3b39313139314a391f0f1f3b3b3939361f31313c393534292a4010393b393b291e5757570f1c363a3d391f39133d311c11313931393a3a1f284c5719133d291c133d311b2b313c1c3b313931393a3a1f37391e19133d291c133d3d1b2b313a1c3b313931393a3a1f31392819133d291c133d3b1b2b31391c3d3d281c11393a3139360131393a011901313929293e483139311f393d3d2e1916223a39203e01292a00093129393431391f1f393c213b303b3931291f394b3910391f393d3d3b1c3d3f3110393e093129293b293d301b1f293d17391f391139483d3a31393a48311f3e002a292a39291c013a392b393a31393601361f31393139291f3b3c213b393b39313139294a39101f3539290b1f39133d39292a131f393d3d3a1c150b1f393d3d1e2a100c483129391f3a3b1f3b393b3d3a3948391f392b313c3339313d292010003139323f3c29351f393d3d1c1c113d3a31393a3a39202910393b393c31393e3a3a303e09311f291739103911392948393b01393d31391f4a3910391f3b3b393c361f31213b01393131391f4a391f0f1f3b3b3931361f31313c393134291d2b3a392b393f292b100a311f363a1d3b393a19483d301b2d3d3931393e3a3b3f083a3a4b3d1a311f3a0a311f314a391f3a3a40313d3a3139391f392f1711393c213b393b39393139323a3920314a391f291f392b393c19133d17361f313d291e2b3a392d303910293d17391f394a391f391f3a2b393d292b1b1f3a3f0c3a3a4b3e3a393b393d292b1c0a29291c003f4a083a344a0b11393b393931392e3a3d3f08323f01313b292a0b4a391f291f39133f1f10293d08391f394b3910391f39133f2110293d08391f394b391f103a17312d3a3139323a3b3f174a391f3a3a16312d3a3139214a391f3a3a15312d3a31393d4a391f3a3a08312d3a2929394a391f391f39133d2119113d393948391f393d3d30361f313d31393a3a3b3f1710392b393929292a093129391f392b393d2b2948393b01393b31392e3f3c29351f3911393b3339313d29204d00361f313d31392d1f3911393e1901313d29293e01361f313d3139311f3a3c213b393b393d291e403a2c292a3931392a3a394b2111393d3d3c1c3d3f391f1f3e093129313b1e4830211f293d17391f3911392d3d3a31393a48311f3a002a292a39291c113a392b393931393e01361f31393139313539290b1f39111f3b3b390b10393b393b31392d4a391f1f1f393b393e361f313531392d1f3912213b3c3b393e3139394a391f1f353a390c3a30013d3931392e3b393c1b3b3d3b393d291e5757570f1c363a3d391f3a3d3d311c11313931393a3a1f284c5719133d291c133d311b2b313b1c3b313931393a3a1f37391e19133d291c133d3d1b2b313a1c3b313931393a3a1f31392819133d291c133d3b1b2b31391c3d3d281c11393a3139320131393a011901313929293e483139291f393d3d2e1916223a39203e01292a00093129393431392d1f393c213b303b3939292932482921113d392f1710390f3239291c013a392b1f3b393b313b29293d1f3930291139203e3e3a3d3a3a4b313d3a31393d1f3916314a391f391f3901393e361f313931392d1f3902213b3f390f3a3b01393d29293a3a3f2b393929293e4a19013939292a413f3f4b2910393b393c3339313931293d3c293b393a311f3117391f2a3a1d303d1f3a3d21363a3b3939292a494a31293d1f393d3d3a1c3b3d393139311f392d3d3d1b2f171139011f3b3d3b313a3c2939343139351f3a2c213b3d3b393e3139314a39101f3431392d1f3a2c213b3c3b393e31392d4a391f1f35390f0b1f39011f3b3b3b313931391f4a391f0f1f39013931361f31313139103a393c213b3f3b39313139354a391f0f1f3b3b3939361f31313b01393229291009312939353a290b1f39111f3b3b3b313931392d4a391f0f1f3911393e361f313131392e3a393c213b3f3b393e3139314a391f0f1f3a2b3939361f31313b4830131f293d17391f3911393b39302c294839291d2b3a392b393931391c0a311f3d4a391f3a3a40313d3a291e3b3a392b1f3b393b313b31391c09311f394a391f391f393b393a29293e01361f313d3139311f3a483d3c1b12213b3a3b393b2929100931293935390f0c3a49313d3a292c394a391f3a3a393b3d393c3931343913391f3a132d36393932393139291739100f1139133d3b1c3d3f3110393e09311f3917391f391f3a3d213d293b393931393d4a391f391f3929483a291c013a392b393229204c1f39161c00311f134a391f3935391f0b1f3a133d29292a291f3a111f3b3d3b393d2a100c0931393d4a391f391f392d2d3639290b1f392b393f361f3121313929173910391139392a3931393d1f393c213b3d3b393931393d4a39101f343139291739102911393d2d36393b393a3139394a3910291f393b393a361f31213b0f32393139363a3c48483d293b393d3139351f3a4a1711393d3d3c1b12213b3a3b393931392a09311f391f393b1f3b3a3d3d3a1b12213b3a390f3a3b01393d31391c3a394b314a391f291f3a3b39301911313e3139363a3920314a391f291f3901393e1911393c361f31393139363a570f3e363a3d391f39483d3c1c1131392929364829213b3b392f1710391f3257291c113a392b1f3b393b313a29293d1f3930291139303e3e3a3d3a3a4a313d3a3139391f3920314a391f391f391f0f3a3b01393b333931313b013d393139311f3a2c213b3b3b393931392d4a391f0f1f3a2b393b361f313531392d1f393c213b3b390f3a3b483d1e3129391f39483057575740302c292a393139363a3b302111393b393929213c53284a083a3d30223a3b303d1139162911393b393929213c1f304a083a3d30223a3a303d1139202911393b393929213b393c4a083a3d30223a39163d1139302a3a3c4b211f392b393b1b1139391b150b11393d3d3a1c3b393c31393a3a3e2f084a29293e001b133d1b19113d393b01393e3139394a39100f1f3a2d3139360f312931393a3a39162a3a1131293a19113d3a3913393b293b393229293d1f3930291139163e3e3a3d3a3a4b313d3a3139311f3b20314a391f391f392b393e361f31393c393d343139363a393d3d2231393a3a3920220a31393a3a3048211a1c3b3d3931393d17391f39103a0f363931391b11392b1f3b3a3d3e4c1b2b393c2a1f483b31393a3a302021103911393929293e483129391f392b393b29292a001911313b33393129311f1b3639390b1f3911393e361f31293b01393e31393d4a39101f1f3a2b393e361f313531392d1f3a2c213b3b390f3a3b01393a33393131311f391f3a2c213b3c3b393a31392d4a391f1f1f3a2d3d39361f312131392d1f392c213b3c3b393e3139394a391f1f3431392a3a3b3f171039390f3a3b0f32393139103e3c29393b293b393a3339311b311f323a39162a3a1131293a191131393339313931393e3f3a3d391f393b393d361f313931392936392d301b1f293d1f3b2d3e533139324b1b2c213b39390f3b3b013931292a3a3a3e3b39313339312931393e3f3f4a171f3a3c213b393b393d2a29483a3b01393d31391f4a39101f1f392b1f3b3d3b31393a3d391f3a3b3939361f31293139391f3a3c213b3f390b1f392b1f3b3e3b31392a2948393139291f393c213b3e3b39393139294a39101f343913391f39483d282c292a3931393d1f390139301911313929293601361f313d3139391f392f1711393b39393339313d29293e01361f313d3c393d3431393d1f3a483d3c1b12213b3a3b393a31391c09311f311f39483d3a1b12213b3a3b393b313936093139354a391f391f3b1f2a393139083a394b2111393d3d3c1c3d3f391f1f3e0931292e3a4f313d3a333931393129293b1e483d3a31393a48311f391f3a163e3e3a3d3a3a4a313d3a3139391f3a16314a391f391f3a290f3a3b01393e333931313b013d3931392d1f3a3c213b3b3b39393139294a391f0f1f3a3b393e361f31353139291f393c213b3b390c3a4f313d3a3139314a391f3a3a4c313d3a3139354a391f393431393e3a3b3f171039390b1f3b483d291911293931393934080f3d3a3a304012393d3d1f1901313a3239391f392d3d39361f313531393e3a3602213b3b3b393a31393d08390f1f4b390f391f392d3d291911313c31393d08391f394b391f291f39013939361f3139310f3a3a3d3f0b113911293931393917391f3a3a1e481b3d293b393b29291009311f291f39003a4e3f11393b313929291d10173c293b39393339313929293e3f3c29393431393917391f3a3e3a3d391f393d3d3a361f31393139323a373a3d3a393b39392920404a391f39343b01393b292a3a093239391f393b1f3b3a3b3d3931393e3a313f1713393b393929293e0a3b000b3931393a3a393c213b3a3b3939291c1240393c213b393b39392922122f393c213b39390d213a1f3d321e013539292a3a0a311f1f13393b39393d354c3a310f3a3a3d3f0b11391129393139311f393c213b3c3b393129291009311f2d1f39133d35191039023139323a3d3f1713393d3f0f14293d292d3b393a2c292a3939133a3a0b322d3a3d3e39113911393a29293e09311f3a323a3d3912393d3d1f190131323239393b293b39393139320a311f223a0b322d3a3d3d3517391f3a3a0c322d3a3339313919483d3b1c2d483d293b393f3d321b3b3c393d34291a3b2e392a3a4831291b1f3b2d3d3119113d3b3916413a0b322d3a3d3e391f3a1517103a3b3539292a3a0a311f3913393b39393139294a391f0f1f3a3a3b3a3911313c2c292a39291a3b2e392a3a02311f291f39483d3a1c13133d293b393931392a3a3920294a391f1f1f393d3d3119113939292900093d302117391f3910390f0b1f393d3d29191129393139353539290b293e0f393431293a3a0b322d3a3d3e39103b133d3931293512393d3d291901313d3239391f3a3d3d39361f31353139323a3c3f171f3a3d3d35191139303d31293b3139393d293b393b33393129313939291f393110390f0b1f3911393c361f31393139311f390139332929324819113130361f31313139311f3a02213b3a3b393b3d31353a3139351f393d3d3b1c3f174a391f391f3a3d3d2919112939310f3a3a3d3f0b11393b29393139391f39111f3b3b3c213b393b393b333931313129351f393b393b29291009361f31313139391f3901393f292932481912213b3a3b3939333931393129353c293b39393339313d313936303a3d391f39111f3b3d3b3939333931393d284c3a3139391f393b1f3b393d3d3d1911313c361f31393c393d343b0139393339313131393917391f394a391f391f393d3d2919112939291a3b2e392a3b2a39133f0f14293d291c3d3f0f14293d17391f3a3a0c322d3a333931393139323a3a3f1711393a3b3c39133f0f14293d1f393a3a49291a2b2e392b393b292910093d302e3a0b322d3a3d3d351f39103b3c392a3a493139311f39111f3b3a3c213b393d3f0f14293d292d3a3c57392b393b3339313d3129393c293b393931393117391f10303a3d391f39111f3b3d3a171f3911393b3339313129292a0a361f31313c393d343b01393b333931393a3d391f39111f3b3d3b393b33393139313931291f0f3d17391f391f39111f3b393f0c3a39162d2957393d343b013932292b3a093239393539290b1f393b393b2b292a39291a3b2e392b1f3b393b39392929324819113d39291a3b2e392a3a293129323a0b322d3a31393929530f3e3a0b322d3a31393129143931343b0f0c3a0b322d3a31393d291c011f3b39392a39291a3b2e392b393a3d301b17391f3929170f3d3431392d29081f3d10393d3f0f14293d1f392a3a4b3139394a391f391f3a2b1f3b393b3d3931392e3a393c213b393b39393a3d391f393a3b1239290b1f3b3d3d29191129393b0f1f3931393a3a393a39163b01403a39204012393d3d291901313c3239391f3901393a361f31353139391f39483d351910390231393a3a3a3f171f391039023139363a3d3f1713393b39393b00393931393917391f39291f39363a3f302a3a3f302d343a1f391f393a39293b0f173931393917391f3929530f31343c29391f393b1f3b393a3c573910171f39390c3439293257310f3a3a3d3f0b11392b293931393d1f393a3c01392b3d39310f3a3a3d3f0b11391129393139323a3b3f171f393b1f3b3a3a3a4e3339313929293d4e3939391f393b1f3b3b3d3d3a371f39393139323a3d3f1713393b393a292a3a09323939341c0f3d3c1e013539292a3a0a311f3113393b393b31393929401f3d10393b3539292a3a0a311f3513393b393c2929100931393917391f29291d111f3b393b4839393d2d3d293932573913391f393b1f3b3b3b313934293939311f3e3a392d1b3d1e01393a292932003c293d1f393d3d3b371f393929293d3e292939343c393d343d3a1b393b013d3a3b01393c292a3a093239391f39133d291911293931393d343c29391f393b1f3b393a3c4e3910171f39390b32393b393931393d291f29353432393d3a1e013939333931393129311f393b393a361f31393139313d293b393b31393929141f3d17391f392a392939343b0f13393139391f392a3c40391f0b2a393b393931393d1f393b1f3b393b1f3b303a3d3b39390d5739293d3c1e01393934293939292b3a002a292a393913391f392b3d3c3913391f39113939311f3d173910391139392a573139393e31393d294e393d36392b393a333931293b01393a3339312d311f2e0a2b0f2a3931393d1f3901393b31393d173911292a3a3939193c3931343913391f392b1f3b2d3d3d392b3948393139311039393639313939113a3d2d36392b393c31392a3a392f0b11393f170c39393a3a3b131b3639390b1f392b393c3139291f392b1f3b323a3d3d393b393d2b29483a3139351f3a3f17103901393b31392a0a3129311f392b1f3b3e3b3d3e3b01393e3139351f39103a3b3f11393a31393d173910291f3915174a391029343b0f0b341c293d3a1e11393931393d1f3a304c1f3911393c1e160f1f3948311f113b313b31393e3b31311f113a304d403139363b57575757570f533c311f351f392d3457575757573c4c351139204c113a2d311f113b393c31392a531e3b313c29113b311e3b393a313932533139363b57575757570f533c1e3b313a29113b311e3c1b3c3b3b393931392e3b57575757570f533c31393e3b3131193d360f35393b48353a39204012393d3d291901313e3239391f3a2b393b361f313531392d1f3a3c213b3b3b393e31392e3a3c3f17292d113d3b3139391f392b393c31392d17391f1f290c293d10393b393b3d3e3d1f3a2d3d29191129393139393417293d3a3916403b293b39393d39143e3139311f392f0c3a3a2d10013c29391f392b393b3d33483a3139323a3a3f0b103a3b39393d394811391139393d39140931292d3b293936393913391f39110f39393b3d3931393d1f3a3d4036393b393929293a3531393a3a570f3a371b132d3d293b393a333931393139310b39393a303c29353431393e3a3a3f1710392b393b31392d1f39150c3a392d08093129313539290b3431393a3a393d0f1f393d3057393d4d013c293d1f39110f39393b393d3339313929293e0a2b0f483a3b01393c2929294a391f39343b4a483a39204012393d3f3939150b113a2b293931392a3a1f35393d1b2b393b313936351b132d3d293b393e31393e3a570f3e003139311f394a0b1139133f393911393b2921393b2b2b313a3f003a3f3f11393a2a292a393948391f393b393e2921393b3d3b171f39133f3939150b1139133057392d0b3639390b343139391f3a2b393b3d3b173431392e3a1f393209323939342d393d3a1e1f32393139363a0f393a003a3d391f392b393c292d3a090a2121103913313931293d3539290b1f39482d36393b393b3139370c311f2b3f31393e3a0f39391f394a0d0c113129103911393a31392b3f31293d343139391f392c1b3c393b39393139314b390f1f342e293d3b1e013539292a3a0a311f3113393b39393d3c2d3d293b3939333931393129351f393a3a413f11393c3d3a39343139391f392b1f3b3b3c213b3b3b393931393d08391f394b391f391f392d3d393d3c171f39133d39371f392831393d1f39133d28191039483139323a3d3f171339390b35393b393931393d291f29363a392035343b1f391f393d3f3d11293d2922390b35393b393931393d17391f394a391f39343c39391f393b393a34293939371f39393b0f17393139390c39390c3a3a4b21343c39391f393b393a3d280f3b29293e023b003d393139391f392b393a333931393339312d3d2935393b0f40393139391f393b1f3b393b1f3b3d3a3d3939390b32393b393931393d4a391f29343b29391f393b393a371f39343b0f173931393a3a57311f3a3d3f29344829133b3a30403d1e113539291e39391901313e3239391f3a3d34575757575757575757575740391f013d333913393b293b393a291f3e41311f0c3b1e493d1f391334575757575757575757575740391f01313231393d1f3b49190c1e3d313a1e2b3134290e575757575757574f5757570f3a2f31390c3b57575757575757570e575757393e3d1a2a292a393139363b392048113b4832572d1139333139351f3b49190c1e3d313a1e2b3134290e575757575757574f5757570f3a2d31390c3b57575757575757570e575757393e3d1a3c293d3431393e293139143b1f313b391f313b390f285757393e291f3b2d33391f313b391f313c39575740392d2a0c3e3a3d391f391333391f313b391f31391f103b3d3d31393d10390f0f3b3b01393c2d3b393329173b391f313b391f353c57570f3a2d3139083b1f313b391f313b390f285757393e3d1a2a292a3931392a3b1f313b391f313b39313129103a390f3b3b01393a3139143b1f313b391f313b390f28575739312f3d2d392a3929173b391f313b391f373c57570f391f3911393a3139373e3139311f3a312e3b1f313b391f313b391f313b391e4c2f3d2d3b313f3f013d3d291f391f392b393f3f013d3c3c3931343139351f3b1333391f313b391f313c395757403910212a293c293d1f392b3932103e393d293b393c3139093d291f3a2b3c29311f392b393c1f013d3c3139311f3a3135103a390f3b3b01393c3139093d2d3d2d36393b393a3129351f39113d3d3c393d343139351f392b393a3139362d3139131f3b14291f3b2b39332d2a0b113a000b103b11393d3139311f3a000b113b48345757575757575740571f013d323139311f3a3b39303f01313b29123b3108483057570f3e0031291f1f3b48310f11331c3a5757403a1b2b313f2a292a3931392e3a4c393a093139171f3b2b39333139131f3b2e39113a100c4d3139223a3a162b0c1e331b113a133d281900390e31392d08394a1f103b2b393e3329361f3129083a3d3b393f19013d3f3b01393a3139351f3a000b103901393b290e5757575757575702533c3129291f3b3d2d3d293b393e291c39391911393c3139291f3901393d31392a29311f1b1a1d2b3930292922480a200116311f1c3a3c4a0b2934483d2931391c0a31291f1f3a2b133c2f3b3d3d31392d0839493910390f0b1f3a3d313c1011393c29124a31103d33391f313b391f313b393a3129103a3b3932291f373f3139083b2821113d3129131f39113934102b3d3539164c1f3948313c1011313a3139211f3b3f0b113a482d36393a171f3a483057393d0b3d293d313931292a3b39290f3a3b01393e292d3a0a31393d1f3a3d3f39392b39301900390e31392e3a353f171f392b393d31391b291e3b393e3329354c3129291f3a2b133c353b393e3329363931392d083948113d291f3a2b0a2129343129311f3b2d33391f313b391f313b393a3129103b2b3933291f373f3129353b293b3935291f3a2c3a3d391f3901393b1e2b313a3139131f3a30481f3911393c2e094941311f2b3d2d392a39291f39103948313931292935390f0b1f3a3d3457575757575757575739492136392b393e292b3a0931393d1f3a3b393a3139291f3a3e39113a000c4d31391c3a3a162b0c1e331c3a3c3f0b113a00390e3139211f3a4a0b103a11393e332935173129291f3a2b133c313b3d3a3c393d343139311f394b0f11392b393b2e33481f3a3b39321e300f113a3d33391f313b391f313b393b3136293c29391f392d313a1f01393d2912533f31393e3b3921113d103b3d3a3139223a392f17103a11393d291f3f313129293431390c3b1f313b391f313b391f313b391e4c35103911393f291e5757392d4c3d293b393b29173b391f313b391f353c57570f3b3d31292a3b393b3d3c3c393d34292939103a0f32393139223a393d173d293b393f31291b3539290b1f3a2d3d291911393a3139291f3a133057393f17293401393e31393d1f3a3d3d3a3139220a3d300f1f3a2b133c393b393e3329352931392d083900113d291f3a2b0a212910392b393e332935313129293431393f1629291c00311f223a3a3d0d0c31392a3b2821211f392d313c1131291139200f113901393a2e33481f3a3d313c113d345757575757575740571f0139300a2d310f1017291f39172a403129293b293b393f29292a3f3a3d391f3a3b393c291f3f3c311f3d1f394b0f113901393a2e3349403129293539290b1f3a132d3639290b343139391f39021b3c393b39393139294b390f1f1f3a2d300f393f171339390b2a393b393931393d1f393b1f3b393b1f3b343a3d3b39390b0c393b393b2a292a3931393917391f291f392b1f3b3a3d21283b01393931393e3f3a3d3a3a3929403431393917391f291f392b1f3b3a3a3b4a392d2d34210f391f39111f3b3a3d3f0f39203d1139133d1f2a1f2a3931393d283b0f32393139323a3d3d1b36393932393913391f393b4839393b313b292b0c0a3c1f35393929393a3b01393929293e093c0f0b1f39133d0f2a01393a31393a0a292932311b1f48393139390c39393e3a3130323a53393a303c29391f393d3d3b19113d393b0139393b01213a39204012393d3d291901313a3239391f392d3d31191139393d3948291d111f3b393b3d3931393e3a3d3f1713393b39393b4b4c3b3916403a1e113539292a3a0a311f3513393b393939164c1f392d2d3d293d31393c393d343139351f392b393a292a4149311f320931393202311f330c291f391f39151b113913302a393f17293401393c3329353129173b391f313b391f353939102d3f1d1f393d1f39150d0c29123b3f1e3b393a29213b391f313a4c1b19493b3131193d3129291f3901133c39390b4b390f391f393b393d360f35313139363a3d3f171339390d3c3a393d3c1e01393b2921393d2c0f2a393139391f392b393b3d392d19313939283b013939313932093129353b293b393931393e02292936002a292a393913391f393d3d3c1b2d2d3d293b39393129313539290b1f39133d392c392a3931393910391f0f3a3b0139393129313c293b393b31393d0c3939394e3939391f392d3d3a19113d3a3139323a392f171139133d3c1b2d2d36392b393b313936323c2939343b0f32393139363a1e303d113a3d3039393d1336393b393b31392a3a293f17113a2d0b36393936393139311f392b1f3b393c213b393b393b31393d17391f294a391f291f3911393a33393131361f31313139311f392b1f3b3c3c213b3c3b393b31393d173910394a3910391f3911393a3339312d361f312d3139311f392b1f3b3f3c213b3f3b393b31393d1739100f4a39100f1f3911393a3339311f361f311f3139311f392b1f3b323c213b323b393b31393d1739111f4a39111f1f3911393a3339310b361f310b3139311f392b1f3b353c213b353b393b31393d173912294a3912291f3911393a3339314c361f314c3139311f392b1f3b283c213b283b393a292d3a0a31293d1f39133e391901313b31392e363c2939343b01393b31392a283c293d3c293b393b31393d17391f394a391f391f392d3d3d19113d3a3139323a3a3f17113911393d2b2948393b0f0f3a3b01393c29292a323a3d391f393b3d3b3c393d343139391f39483d3d1901313d2b0f2a3931393910391f0f3a3b0139393129313c293b393b31393d0c3939394e3939391f3911393a3429393a371f393a3139311f392b4839391217393911393b31393d0c3939354e3939351f392d3d3d19113d3a3139323a3a3f17113911393d2c2948393b0f0b1f3911393c2b292a393948391f3911393a34293939371f393931393e3a392f1710392b393b29293e09311f311f39481b3639390b34313939343a0f391f393d3d31191f0b1639293e573139323a393d4c3d1e013939333931313139323a570f3e0029293e481911403a393b393a1b2d3d392a0f2d1f390f0b343b1f391f393d3d0f19483d332b290e01391f313b1e0f3e533913391f39132d36393b393931393d4e3939391f393b393b1911313c29293e0a31393d4e3939391f39133d3c2b2948393139391f392c17393911393931393d4e39393d1f39483d3c1901393a371f39393139363a39150b1f392c1739393b393b29291c323c29391f393b393a371f393c3139363a3a3f0b1f392c1739393b393b292914323c29391f393d3d3931393a0a29293600311f2a09311f351f392d305739203e3a1f21333d3b3f0f11392c213b393b393c3139311f3a3f0c3a1e303d113a3f171139133d3d1901393a361f313931392a3a3b2d1336393b393c31393d4a391f1f1f3901393a361f313d3139323a3b3f0b1f392c213b393b393b2929000a31393d4a391f391f3a3d3d222b2948393139351f392c213b3f3b393c31393d4a3910291f3901393a361f31293139351f392c213b3c3b393b292a3a0a31393d4a391f391f39133d2d1901393a361f31393139323a3f3f0b1f392c213b393b393b292a000a31393d4a391f391f3a3b393c29292a00292a1001311f2a0a311f323a313d1336393b393a0a2d333a1f313b393d304c103a2b393c31392a0931293d3c293b393a31392d4b39001f1f392b393e360f352931393d1f3a2c1b3c3b3b393a31392d4b390f391f392d3d1f19113d3a3139323a313f0b1139133d1e2b0f48393b0f0b1f39390b4b39293257310f3a3a3d3f0b11391129393948391f392d3d3c2a0f2a393139391f392d3d3b1c3f083a393c213b393b393a29293e0931293d3539290b343139323a3d3f1713393b39393b0f40393139391f393b1f3b393b1f3b3c3a3d3939390b30393b39393d39143e3b003d393139391f392b393a333931393339311b3d2935393b003d393139391f392b393a33393139333931213d2935393b0039393139391f392d3f391f313b391d30314a391f1f343b29391f393b393a361f31393b0035393139391f392b393b31393917391f3917391f0f2a3a3939343a393a3a39390b29393b39393339313d31393917391f3a0a292932493b00313931393917391f391139392a3931393929482931193b0f0b2a393b393931393d17391f39294829314a391f391f39390c3a39293e573139391f392c1b3c1b3b39393139391739110f1f393b1f3b3a3b313b194e0f4b394b1f1f393b393a2d3b393933393131311f391f39150d0b31393e201b1f2a573139393e3139311f39191c093b02213b19390b1139293e57310f3a3a3d3f0b11391129393139391f392b393a3d32313a3d28213a3139323a3d3f1713393b39393b0039393139313d293b393931393d1f39103a3b3f1f0b3416293d3a3a304012393d3d29190131303239393b293b39392a29483931392917391f0f103a11393b31393e0a311f103a393d173d293b393931393d1f3b3a3a57313910303c293d343139211f3901393a1901313a19483d3931393d1f3a131f1a311f3e3a393d173d293b393931391b1f392b393e3d37403a311f2d293c2b393a3d3040103a11393e3d39171931393d1f3a131b3639290b1f3901393b1901313a29293a333a3d391f393b393b31393d291e01393a2a0f483a3b01393d3d374c3a313939103b290b1f3a483d2919112939313913342e293d3b1e013539292a3a0a311f3113393b39393d3c2d3d293b3939333931393129351f393a3a413f11393c3d3a39343139391f392b1f3b3b3c213b3b3b393931393d08391f394b391f391f392d3d393d3c171f39133d39361f313531393d1f39133d35191039023139323a3d3f171339390d4039293d3c1e013539292a3a0a311f2d13393b393e31393d4a391f103a393b3d3a292921103a1f32393913391f393b393e292910093d3b1f36393d3d3d3129211f39483f393d3b39393d3b3d113a003a372a2948393139351f3a003b30392b3d3a3948393b293b39393d3b2d1931393e3a353f0b10392b393931392e3a3b3f172936132d1f3a3d3d3b2b303136393b393c2921392931393929312b313f3d3d4d3e3c29351f3a3d3d3a19013d3d3139351f3a103b30392b393a2929080b19113d3a3c393d343b483d3b3129211f393b393e292910093d3b103e3c293d343139311f39111f3b393b393f1b12213b39390b1f3a2d3d291911293931393d340e393d3a394b4012393d3d291901313e3239391f3a2b393a361f313129293910392d3d3f3129213b293932393139391f3a2d3d31191039153c293a3a3a3b3d3f3139363a1f3a391f393a391e311f1b292a3d2d36393b393c31391b2911393d10392936393913391f393a39113f11393a292c3a0a31293d1f393b393e292910093d3c3e3e31392a3a391310013c29391f39483f393d3b39393d3a40113a103a3d2a29483c31392a3a392f0b103a3b393c3139212911393d1f392d3d331a3f171039290f3a3b0f0c3a39113d3f3139391f3a2d3d31191039152a29483a3b01393b31393117391f391f3a16314a391f393431392e3a3d3f1713393b393a3b4d173a39293657310f3a3a3d3f0b113a3b29393139291f392c213b3c3b393d3139354a391f1f1f3a3b393d292900093d3e31103a11393d3339313131293512393d3d291901313a3239391f392b393c361f313531393d1f3902213b3b3d3e5731292d3b293d3d392929391f3911393c3d342d3a311f363a393d1f36393b39393139363a392f171139003922311f394a391f391f393d2d36393b39393139351f3911393a333931353d342d3a31292d3431393e3a3d3f1713393b393e3129391f3a103a2a31392a3a3d3f1713393b39393b0f483931393917391f391f392b1f3b393d1b34341f393b293b39393339313d291b17391b2b31393a3d391f393d3039393d213d293d3d313c0f0b1f393d3d312a0f483a292a39283b483d393c0f0c3a3b1f0e4d3929313c1e1f3257310f3a3a3d3f0b113a2b293939164c1f391a4811394834575757575757575757575740391f01313b29173b391f313b391f3139311e2d345757575757575757574f5740392f392a393139323b283121103a3b393b291f2b3129173b391f313b391f313b3928300f3539290b1f391333391f313b391f313b39532840392f1f2a393139363b283121103a3b393c291f2b3129173b391f313b391f353c57570f3b3d3c393d34313932293a3d3a3b39390f3a3b01393e3139323b393b393c084a1c3a313f171f3913311f11331c163139323b1f313b391f3a3a2d3f01313f292c3e093d3b401f3a2b133c393b3d3d31392d08390f103b1f313b391f313b390f393b3e2921024c393b393f194e493b3531193d3b013d3b3139391f3a3c1b3c393b39393139311f394833391f313b391f313b391f313a571f4c294b390f1f1f3a2d3d29191129393b0f1b393139391f392d2134350f3d3a1e01393929293d1f393a0b10393932393948391f393a3922311f3d36392d3f21140f3d17391f391139292a3931393d2a3c0f393539290b343d3939393b01393a3b40293c39293657310f3a3a313f0b113b3b293931391f1f3912213b3d3b393131393d4a39101f1f3b3d3d311911313a313935293c01393a3d3c0b103b2b393a3d394c1f3a3d3d39361f313929293910391f32393948391f3a1139302a11393b1b1f483a3913391f3b3d3d2119113931292a3a093d3b1f36393932393139131f3a111f3b393a3b30392d3d142a1f2a393139223a3a3f1711391139302a1f483b292939103b1f32573139131f39111f3b393a3b30392b313a291b2d392a11393a291e403a1b2d3d0f2a16323e3a3d391f3a113d3b31393d3539290b1f3a133d31191139302a1f483c31393d103b11393231392117391f1f29100f3d3431293d1f3b3b393931391f1739101f1f3b3b1f3b3d3b393c3139291f3a2b393a3139171f393b1f3b393b1f3b323a3d35393c213b3f3b393b292910093129213539290b1f3b2d3f390f39391f3a111f3b393a3a373a3d393c2939323931391b1f3a133d3d1911313f2a1f2a3931391b103a1f0f3a3b01393229213c39393b393f333931393d3d4c3639290b343948391f3b3d3d2119113931292a3a093d3c223e3c29311f3b2d3f390f39391f3b3d3d21191039103d3d4d3e3c29311f3b3d3d21191039143f1f0f393b0f39343139131f3b3d3d21191039103d3b131f3b2b393f333931393d3b143f3a3d391f3a133d3d19113d3f3139103a3f3f1729322a173539290b1f3a3d3d3d361f31393b01393d333931393129313539290b3431392a3a3a3c213b39390b1f3b3d3d2119113931292a3a093d3b1f3d293b393d31392917391f3a3a3916314a391f393431391f1739101f10393b3931292b3a093239391f39390e3f390f3d3c1e013539292b3a0a311f1f13393b39313139314a3910391f3b3b393a361f31213139103a3b3f1711392b393c3d39401f392a39013129131f392a393731392a3a393c213b393d3d393129313b293936393139211f3a48211f39163136392932393139103a3f3f171f3b3d3d29191039153c29393b293b39323139210b3939392911393e3a322d213d293b393f29293e09311f311f3a48213639133d393129173b1e0139323139310b3939392911393d11392d303e393d211f392d305739203e3a353d22012a292a39313921103911393a3c393d343139223a3915171f3a4821363901393a3129171f3b2b393f3439393b3d311f3a3b013d3a31391f1f393b39313339312131391f173910391f3901393d31392d1f392b393331393917391f39173911292a3c39394a39101f1f39133d3b19113d3f3c393d343139143a1f3539393139210b393939292a392a393948393b293b39303139223a392f17113a13213d293b39303129213539290b1f3b2d3f390f39391f3a110f39393a3a3d3c293d343b0f36393139103a3f3f171f3b3d3d29191039002a29483b3139143a1f3539393139103a3f3f172930003a3d2a29483b3139103a3f3f17293110173539390b393b0139323139103a3f3f172930003b02392b39323139210b393939290b0f3e3f3a3d391f3a133d3a19113d3f3139103a3f3f17293110173539290b1f3a3d3d3d361f31393b01393d333931393129313539290b3431392a3a3a3c213b39390b1f3b3d3d2119113931292a3a093d3b213d293b393d31392917391f3a3a3916314a391f393431391f1739101f10393b3931292b3a093239391f39390d0939293d3d1e013539292a3a0a311f1f133939323931393a3e3c29391f3a3b1f3b3c3b3d3f3139311f392f0b113a483d392b1f2a393139391f392b393029293249311f1b291e0139302a0f483a3b01393f3139351f392f0c3a39162d11392f0c3a393b393a313922313f01313a29293a333a3d391f393b393131393d1f3a2a3b4f3911313e3d39481f392a3a573129211f3a2a39333f11393a313922303c293d343139351f39150b11392d3d392b1f2a393139391f3911393a29293249311f3d291e01393a2a0f483a3b01393d3d374c3a313939103b290b1f3b3d3d2919112939313913343e1f391f393b393a3139311f39013939333931393339310f3d290b393f1f0c3b39293e5731393917391f39103911393a3d3a1710393b393b29291009311f3d292d3b39392b0f2a5731393d1f393a3a4b3339313929293a303a2d3d393b482d3d293a392039390b1f39133d31191139393d301b17391f39343b39391f393d305739203d343a39391f39390b28393b393931393917391f39173911292a393939343d29391f393b393a31393d17391f39173911392a390f39343d29391f393b393a31393d17391f391739110f2a390f39343c39391f393d3f3b1017391f361f39393b0f1b39313939293d2a1734341f3d3a1e013539292a3a0a311f3d13393b393a29291009313939293c2b39393d39143a39162a093d301717391f3910393b393a292a3a093239391f39390d0939293d3a1e0f32393139363a1f3a3a002a2948393139323e3139363a011f3a00311f2a3a3b3d211f3a3d3039393d22011b1f483931393a3a33021739393b393929293e09312939343139363a1f392a003a3d391f393d3d12371f393931393a3a392f171039390b3c293b393a34293939311f293d293b39393139294e3939391f393d3d3a19113d3931393e3a392f171039290f3a3b0f0b1f39393257291d40393139363a011f3a00311f3e3a0f393a3f3c293919291c1f39291e1f393139363a1f31393a1b2a0b1f392d3d312a1f48393f133013393d3049393b393b3f0f0b4e39393934330f3d3a1e013539292a3a0a311f3d13393b393a29291009313939293c2b39393d3914093d301717391f3910393b393a292a3a093239391f39390b2f393b393931393d1f3911393c31393917391f39173911392a3b0f39193b00393931393a3a313d211f393d3d3219483d3e2b203134361f391f391f2a573139313d293936393139391f392b1f3b393c213b393b393929292a093129391f392d3d3d19113d3a3139323a392f0b11391f48393b0f0c3a39392d1f39390b193b49313a3916413a4031393a33393139311f3d1f393d3d3c19133e401b2b313b19113d393913391f39133d393139391f392d481a3c29391f393c4039292a3a482b0f2a39313939293a3d2d3639290c3a4031393a3139394a391f391f39294034291c2b3a392d3d0f361f3139292040343d1f391f393a3a3c3339313931393917391f3a0a292932493b0f1b3931393a3a3d3f173436293d3a1e013539292a3a0a311f3113393b393b31393917391f394a391f0f1f393b393a33393139361f313931393d1f39133d3519111f3b393c213b393b393b292a3a093239393432393d3b1e013539292a3a0a311f3113393b393931393d2940293d103901393b292a3a093239391f392b39393139351a3b0f483931393917391f391f392d3d3b1c3f17343e1f391f393a39493a3d391f393b393a3d3c13283b01393931393d29371f0b0b393932393139391f392d2136393936393139391f392d3d3a1901313a2c0f483a3139391f392a3b0f3911393929293e093129393539390b393b0f0b34393b393931393d4a391f391f39390e1a3929313a1e0f325329293d103a39323931393a3b393e311f392d34575757575757575757575740391f01313e29173b391f313b391f353c57570f3a2f31392e3b1f313b391f313b390f285757393e3d1a3c29391f391331392d11393c290e57575757575757575757570f3b3c311f223b1f313b391f313b390f285757393e211f3a1333391f313b391f313c39575740392d2a0b36393b39393139333d31392d1f3a172b3d2d392a39292939283b01393a3139373c291f3a223a3d3a3a1e013d3d3139391f3914291f392b393c2d01393a3139362a3f0f483a3139391f39172d1f392b393c10212a3b393e31283b483e573129291f393b393b2e11393a3139362e31393d1f39493d1a3c29391f393b393b102b393a3139373e103d31392d113d3d3b01393d3b49393a39204c3b293b393c291b39391b292a393139311f39483e3919094a3131293e3b393b3d3b3c393d343139363e3c29391f39133039393b393c194e4a3f31393d1f394e48113a31113d31293d1f3911393d113b3d3b3b01393931393d4b390f391f393b393b360f35313b0f4c3931393917391f103a57575757570f1c003b0f1739313939294c293d19313939343d0f391f393b393a3139311f393b1f3b393b1f3b353a3d3d39390b15393b3939313939173910103e313939173910391f39203201311f3d4a3910391f393b1f3b3e3b393a1b292a393d3a1b393b0f0b32393b393931393d2957293d343239391f393d3d3b2c0f2a5731393a3a3a3f083a1e303d11393b393929293e0a311f391f393d3d3b2a100b3e29293d343b0f1b3931393a3a3c3f173414293d3a3a204012393d3d291901313e3239391f392a3c2c39113d3b310f3a3a3d3f0b11390129393913391f3913300e575757573948483d293932393139323a392d483d293b393931393129371139393129293539290b1f393b3939313931291f1f3e3a392f17113a103b3a392b313d3d3d481f393b393f3d3d0f1f393b393b3d3c13343139291f392b393b3d303d1f39483d39361f31353139291f39133d3b1c3f171f39483d35191039023139363a3d3f171339390f3a3b00392039390b1f3a2d3d29191129393b0f40393139392929011f3b393b393933393139190f0e3d39293d3f1e013539292a3a0a311f2913393b39393d32213a3339313931292d3b1e01393b3339313931393917391f3a0a311f363a57575757570f1c323a3d391f39483d3a1c390f3a3b483e573b01313c2929291f39000b103901393a333931393129211f393b1f3b393b3d3031392e3a3613213d1e483d393a2b3939333931393b01393c3d324c3a311f1f3d293b393e292c22303a3d391f393a3b15392a173431392a3a362c213b3a3b393931392a3a3b3f171f3b3b393d29292a093d3a4c113a2a3b143911393e3d3a481f392b3939333931393139211f3a4a0c09361f31393139311f393b1f3b393b393c292000001912213b393b393d292a3a09323939283b00392039390b2c393b393931393e3a393b393933393139333931483d2929393b0035393139391f392d3d3931393917391f39173911292a3a3939343c29391f393b1f3b3a3b393933393139190f0c3c39293e5731393a3a0a3b2117391f3911392c213b393b393931393e3a3c3f0b17391f3a09291b0f1533393139361f313931393a3a483b2117391f394a391f1f1f393d3d3519103c29392a171f393d3e3919003a533f1139393b57313b39293257310f3a3a3d3f0b113b1129393139171f393c213b3c3932393913393b293b393c33393139313932303c293a3a33013d343139391f3b2b1f3b213d1b3d293d3d0c31290b1f3b2b1f3b223b39392a0f483a3b01393c3139323a392f174a391f391f39113934371f39393c393d34313921293b2d2d1f393b393e2a4b323e3a3d3a3a393b3d3931391f17391f3911392b393019483f1e392d17363911393d333931393129391f3b3b393a29292a09361f313931393d1f393c213b39390f3a3b483e573129391f3b2b3932291d1f3919113933292900093d36313a3139140a311f223a4b393a333c293d1f3a133d3b1c2b3d3e3913393b2939323931393e3a3b3f0b37390f393b39393d3431393d1f3a2d173639290f3c3b01393a292a3a303139223a4a393a311b1f483931393517391f3911392b393b2a11393a3139320a292932331b1f483b31393e3a392f0b0c39393a3a353d1b3639133d393129391f3a3d3d39361f31393139351f392d3d3a1912213b393b393a31392e3a4c36393919114839393c173939390f3b3b01393c31393517391f3911393d3d3a1912213b393b393931392e3a4c36393919114839393c1739393b393d31392917391f3a3a392f174a391f3a3a393b3d393c393d3429293910393b393d2929394a391f39343139083a3d3f1713393b39393b0f173931393a3a0c31133a3d3f29344f1f313a394b4012393d3d29190131333239391f3b113939371f39283913393b2939323931393517391f391f39131b36393d3d0a31290b1f393d305739203d113c3b3932342939212a0f2a39292b48103b01393234293922313900303c293d343139351f39133d3a1912213b393b393b31390b4e3939393539290b1f3a1039322a2b393931392e301b132d3d293d3d393129391f3b3b1f3b393b313a31391c0a2922403a2b1f483b31392917391f3910393b393131393e3a3a3f174a391f391f392b3939361f31393c393d3429204010393b39323139143a3f15171f3b133d2819103c2e392b39321901313e292a1c333c293d3b293932393913391f392d3d31190f4c3c3939313939290b1f392b393e2b1f483a3c39353431393e3a3d3d1b1f3a2d3d2f2b303136393b393c33393139311f3d1f3913211f392b393b19483d3b2b1631363911393a29293e0a34293939292c3a303c29323a393b3d3931392a3a393c213b393b393c31393e3a392f174a391f391f392b393e291d3c29393f170c3939394e39393935391f0b1f3901393c33393139311f3a3a392f174a391f391f393b393e291d3c29393f170c3939394e3939391f3a3b393d3339313929293e09361f31392929391039390f3a3b483d393129391f3a3d3d39361f31393b013933292a3a093239391f39390b33393b393929190132392a3a133b4c353a391f365739204c3b293b393929173b391f3139292e392a39313939103a290f3a3b0f363931393e3a392f0b11392b393931393a3b3b1739113a2d31331e164a16292c3a01371f393931393a3b57575757574d403a2e113d3b31392d10393b393b3c2939343b01393e0801313b3a3d393c293b393a29293e0a311f3d1f3911393b2929080d311f363a3b15000a292c3a01371f39393139323a3b2d0b103a3b393c3129311f3a3948393b0f0b1f39290c12391f3e5739204c12393d3d291901313b3239391f3939325331393e3e3a3d3a3b39390f3a3b01393b31393f0c291f391f392f1b11392d302a393f17293401393b3329353129173b391f313b391f353939102d3f1d1f393d1f392f0d0c29123b3f1e3b3d3c31393108390f3934360f35393139391f39021b3c3b3b393b292a3a09323939343239391f393d3d342c0f2a5731393a3a3d3f083a1b303d11393b393929293e0a311f391f393d3d342a100b3e292917343b4b403a394b401f393b3d3a3913391f393d3d3c1b292a393948391f392b4839393d2d363911393a29293e09311f3e3a394b3d3639390b343948391f392b313b29292a0931293d1f39111f3b393b313c292041023139363a1f21333d3b3f0c0029213b3a1f172a4c1b2d2d3639390b1f3948305739203e3e3a3d391f39113939190f40343948391f39114839392b3d3c3139323a392f1711392b3d3b3139353639390b3431393d1f393f0b343329391f393b393a2929104829213b3957391c0031393e3a3f302a0131393e3a3b30223a1f284c3c1b2b393a292a104a1b16314a393939343329391f393b1f39393b3139292a104831393a3a3b302a3a1f313c403a4b3e0131393a3a3b30223a1f284c3c1b2b3939292a104a1b1631343c0f391f393b39393339313929292a09361f31393b0f1b3931393a3a3a3f17343c0f391f393b39393339313929293e09361f31393b021b3a39164012393d3d291901313c3239391f39483d311911313d31393d293c01393b3139292912393d11392a394c361f31393139391f392a394b313929293c11393c292a3a093239393436293d3b1e013539292a3a0a311f3113393b393b29291009311f351f393a3928313935293748301f48393a3a530c393931393d292101393c3d394c1f39133d291911293931393d34360f3d3b1e013539292a3a0a311f3513393b393c29291009311f291f392a39283139311f3a3a3b37392b313a3d3c1f4e3939391f393b393a3d3c1b1f3a3a39373139363a3d3f171339390b20393b39393139354a3910391f393b393b361f31353139391f392c213b3b390b33393b3939292a1048292a10493b4831393139391f393b1f3b393b393a333931391b02213b393b393931393917391f291f392b1f3b3a30354a391f291f393b39393339313131393d17391f1002361f31313139391f393b1f3b3c3b393a333931351b02213b3c390d1b3b393d341e0139392a292a3931393d293f29403431393e3a293d403d293d302d1f293e3a353c213b393d3d393c0f0b3b1e483d2931393e3a3b4a083a1d303d1f392d3d342b2a0b103a1139392929100a311f2d17391f29113b2d3e4c1b2b3d3d3913391f3b2d3d3c1b2d2d3d293d3d393139223a1f3932323c2931193139223a3a3f171f3a3d483d293b393e3129311f3a3b393f19483f4c10293d17391f3a3a39202a363c29313429293935391f0b1f3a3b393e19113d303913391f3a3b393f2c0f2a393139291f3a150b1139483d292b29483a31392d1f3b2d3d3a1b2b393f1b133d3b1b12213b3a3b393e31392209311f311f39483d3c1b12213b3a3b393031391b17391f2a3a3920314a391f291f3911393c3d370f3a3c393d3431391c3a40313d3a333931392a1f2a39291d2b3a392b1f3b393b393d1911313d313922363c29311f3a2b393229293e003139220129293201361f313d31392d1f3a1517113901393d3139220a311f323a3920314a391f2a3a4d313d3a3139314a391f3a3a40313d3a3139354a391f393539290b1f3a48300b1f293d17391f3a3f3a3d3a3a4c313d3a3339313931392a09311f351f3a131336391f32393139351f3a150b1139133d292c0f2a3931392d1f3b2d3d3a1b2b393f1b133d3b1b12213b3a3b393e31392209311f291f39133d3a1b12213b3a3b393c31392e09311f351f3912213b393b393c31393517391f2a3a1e163d4a391f293539290b1f3a2b393229293e003139360129293201361f313d3139351f3a2f17113911393b3339313d29293e01361f313d2929391039133d3931292934291d013a392b393d361f3139291d3b3a392b393b361f31393c393d3431391b17391f291139483d3b1b29483a3139363a1d303d1f3a3f17113b11393f2b29483a3139171f3a150b103c3932393139363a570f3e363a3d391f3a011f3b3b3b313d3139363a394b211139133d3c1c3d3f391f1f3e092a10171f3a3b393033393135311f363f3a3d3a3a4a313d3a291c113a392b1f3b393d3e533139324b1b2c213b39390f3b3b01393d3139354a391f0f1f3901393d361f31313c393d3431391b1739101f103b0f323931391b1f3a011f3b3c3b31312a0f2a3931391b17391f1f11391330171f293d17391f3a323f11393b31391f4a391f0f1f3b3b393b361f31313c393d343913391f3a483d2d1911313d33393139311f3136393b3930292a3a09311f2917391f3911391f4839292939103b390f3a3b0f3639313929103901393b311f103a3e3f17113a3b1f3b393b313b3c29391f3b3d3d2919113d3d31391f1739103911391f48393b01393c2929394a391f393431390c3e3c29393b293b393031391b1739100f1139483d3b1c3d3f3110393e09311f3117391f3a3f3a3d391f39113931361f313931391f36392d301b1f293e3a4b313d3a3339313929204c1f394b1c00361f31393c39313431390c3a3d3d3d2d31390b173910391f3a48211a19113931361f31393139103e3c293d3431391f1f3b02213b3f3b393033393129311f313d293b39313139314a3910391f39113931361f31213b0139303339312d311f323e3c29391f3b3b393b361f312d3139311f3b3c213b3f390b1f3c3d3d282c292a3931392d1f3b2d3d3a1b2b39331b133d3b1b12213b3a3b393e31390809311f311f39111f3b3a3d3d3a1b12213b3a390f3a3b01393e3139143a39203d1f3a16323a3916314a391f291f3a2b393f1911313c3139003a394b314a391f291f3a2b39331911313b31393117391f2a3a3920314a391f291f390139353d370f3a3b01393e3129313431393134311f313d293b393b292910093c0f0b1f392a3922311f2e3e3a3d3a3a3939403431392d1f393d3e4029201f1f393d3d3d19011f3b393b313b292936003f01393b292010001911313b31393d1f392b393b2b000b292910171f393a392931392d341e293d3c1e483d213129313b293932393139391f3920323a394b3d363939363931393917391f391f392b1f3b393d1b36392b393a29292a0931293d1f393d3d3d19113d393139323a3a3f0b1139133d3c2b0f48393b01393b2a29483a3b0f36393139390c393939113901393a34293939311f2a3f3a3d391f392d3d3a19113d3a31393a3a392f1710393b393b29293e0a311f313639290f3b3b0f0b1f3901393d190f4034292939342b293d3b1e0139393339313d311f223a3b302d103a2b393f29293e003a3d391f39111f3b393b393e3d352d3a31292d3431393917391f3911393b393a3139311f3a2f171f39483d3b3139223a39163d1a3139291f393b1f3b393b1f3b3f3a3d3339390d4a39293d3c1e013539292a3a0a311f3513393b393c31393d4e3939403b293932393913393b293b39393d3c2d3d293b39393d304810392b39393339313d311f291f392d3d3a1901313b2a1f483a3c393534292917103a3d3d333129311f393b48393b01313a292908303c293d343139391f39133d3a3139311f39103c31392b393d31293d1f393a39493c293d34313939103911393931393e3a392f1729371f0f3a3b013939333931393129311f393b393d29293e093d3c131f3a3b3d3a3b01393a31393209311f391f39483d28191039483139363a393c17393c11393929293e093139363a3c151729363b393c292a3a093239393432393d3b1e013539292a3a0a311f3113393b393a3139392940293d103901393b292a3a093239391f392b39393139351a3b00483931393a3a3a3f1729131f323a1e48213d293b393931393917391f3917391f1f2a392939343b0129393139392953293d10393b393a3d28133a31393a0a311f3d3d293b393b3139391f392a3c0939290b1f392b393b191f0b2a393b393931393d1f392b1f3b393b1f3b333a3d3c39390b2d39293e5731393917391f3910392b39392929394a391f391f39290d0a34393d2a1e0139393339340f392b3d2b31393917391f291f392b1f393a3b313d292a104831392a3a3b302a3a1f313c403a4b3e0131392a3a3b30223a1f284c3c1b2b393d292a104a1b163202311f2a3a3c16223a57391c002921393119111f3b393d3d313d391f103a1139393339313131393d1739391f113a2d3d211c3b393e2929104829213b3957391c001b11393e2929104a29213c53394b3d1f3a2d3d211c1632011b01313e2929224a291e0f301b2d3f393b3f1717391f3a3a3d3a393131291f1f393b1f3b3c3b393a33393935311f363a3f30291f39483d311c3d3f391f280f301b20311f39483d311c133f39571f36003139363a3f3022011b1635113948305739203e3a39162a3a1f39100933393139292a1f293b3b3d3031392e3a3c16223a57391c002921393119111f3b393d3d313d391f103b2b393c2929224a291e0f301b2d3f393b3f1717391f3a3a3d3a39313129171f393b1f3b393b393a33393939311f3e3a3f30291f392d3d311c3d3f391f280f301b20311f392d3d311c133f39571f360031393e3a3f3022011b163511392d305739203e3a39162a3a1f39100933393139292a1f293b3b3d343139363a3c16223a57391c002921393119111f3b393d3d313d391f103c3b393a2929224a291e0f301b2d3f393b3f1717391f3a3a3d3a39313129481f3a3d305739203e3a39162a3a1f39100933393139292a1f293b3b3d3731393e3a3c16223a57391c002921393119111f3b393d3d313d391f103c01393d2929224a291e0f301b2d3f393b3f1717391f3a3a3d3a3931312a391f3a2d305739203e3a39162a3a1f39100933393139292a1f293b3b3d2a313939173910291f3b0139333139131f3a3d3d2f1c1330403a4b3e3a1f391009333931391b4b36021b01313d29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a39313129131f393b1f3b3f3b39373139481f3c3b393e292a224a291e0f301b2d3f393b3f1717391f3a021b4b3602311f2e3a3a16223a57391c002921393119111f3b393d3d293d391f103b1139393339311b313a3d1f3d3b39283139363a3e16223a57391c002921393119111f3b393036021b4b35113948305739203e3a39162a3a1f39100933393139292a1f293b3b3d3431392e3a3c16223a57391c002921393119111f3b393d3d313d391f103c3b393c2929224a291e0f301b2d3f393b3f1717391f3a3a3d3a39313129481f393b1f3b3d3b393031391f1f3a11393a292a224a291e0f301b2d3f393b3f1717391f3a021b4b3602311f3e3a570f3e00292932482921393119111f3b393d3d213d391f103a11393c29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a393131291f1f392d3d3f1c1330403a4b3e3a1f39100933393139292a39293b3b3d3031392a3a570f3e00292932482921393119111f3b393d3d213d391f103c11393a29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a39313129401f3a3d3d3f1c1330403a4b3e3a1f39100933393139292a39293b3b3d2931392e3a570f3e00292932482921393119111f3b393d3d213d391f103d2b3939333931133139211f3c2b393531392a3a3e16223a57391c002921393119111f3b393036021b4b35113a3d3d371c1330403a4b3e3a1f3910093339313929291f293b3b3d3f3139391739111f1f3c11393031391f1f3a2d3d2f1c1330403a4b3e3a1f391009333931391b4b36021b01313e2929224a291e0f301b2d3f393b3f1717391f3a3a3d3a393131291f1f393b1f3b343b392a313a391f3c01393c292a224a291e0f301b2d3f393b3f1717391f3a021b4b3602311f363a570f3e00292932482921393119111f3b393d3d213d391f103a01393e29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a393131290f1f39483d3f1c1330403a4b3e3a1f39100933393139292a39293b3b3d36313939173911391f3b0139333139131f392d3d2f1c1330403a4b3e3a1f391009333931391b4b36021b01313a291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a39313129131f39483d371c1330403a4b3e3a1f3910093339313929291f293b3b3d3331393e3a3a16223a57391c002921393119111f3b393d3d293d391f103b01393d291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a393131294c1f392d3d371c1330403a4b3e3a1f3910093339313929291f293b3b3d2831392a3a3a16223a57391c002921393119111f3b393d3d293d391f103d3b393e291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a3931312a3d1f393b1f3b363b39323139481f3c3b393d292a224a291e0f301b2d3f393b3f1717391f3a021b4b3602311f2a3a3c16223a57391c002921393119111f3b393d3d313d391f103b2b39393339314c31394c1f3b01393331392e3a3e16223a57391c002921393119111f3b393036021b4b35113a2d3d3f1c1330403a4b3e3a1f39100933393139292a39293b3b3d333139391739120f1f3d2b39293139401f39483d2f1c1330403a4b3e3a1f391009333931391b4b36021b01313c291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a393131290b1f3a2d3d371c1330403a4b3e3a1f3910093339313929291f293b3b3d353139363a3a16223a57391c002921393119111f3b393d3d293d391f103c2b39393339310f31391b1f3b3b393f31393e3a3e16223a57391c002921393119111f3b393036021b4b3511392d305739203e3a39162a3a1f39100933393139292a1f293b3b3d3f3139363a3c16223a57391c002921393119111f3b393d3d313d391f103b3b393a2929224a291e0f301b2d3f393b3f1717391f3a3a3d3a393131291b1f3a3d305739203e3a39162a3a1f39100933393139292a1f293b3b3d3731393e3a3c16223a57391c002921393119111f3b393d3d313d391f103c01393d2929224a291e0f301b2d3f393b3f1717391f3a3a3d3a3931312a391f3a2d305739203e3a39162a3a1f39100933393139292a1f293b3b3d2a313939173913291f3a11393631390f1f3a3d3d2f1c1330403a4b3e3a1f391009333931391b4b36021b01313d29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a39313129211f393b1f3b2b3b393731391b1f3b3b393e292a224a291e0f301b2d3f393b3f1717391f3a021b4b3602311f2e3a3a16223a57391c002921393119111f3b393d3d293d391f103b3b393933393235313a3d1f3d3b39283139363a3e16223a57391c002921393119111f3b393036021b4b35113948305739203e3a39162a3a1f39100933393139292a1f293b3b3d3031392e3a3c16223a57391c002921393119111f3b393d3d313d391f103c3b393c2929224a291e0f301b2d3f393b3f1717391f3a3a3d3a39313129481f393b1f3b293b39343139171f3b2b393a292a224a291e0f301b2d3f393b3f1717391f3a021b4b3602311f3e3a570f3e00292932482921393119111f3b393d3d213d391f103b2b393c29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a39313129171f392d3d3f1c1330403a4b3e3a1f39100933393139292a39293b3b3d3431392a3a570f3e00292932482921393119111f3b393d3d213d391f103c11393a29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a39313129401f3a3d3d3f1c1330403a4b3e3a1f39100933393139292a39293b3b3d2931392e3a570f3e00292932482921393119111f3b393d3d213d391f103d2b39393339322d3139131f3c2b393531392a3a3e16223a57391c002921393119111f3b393036021b4b35113a3d3d371c1330403a4b3e3a1f3910093339313929291f293b3b3d323139391739141f1f3c1139343139171f3a2d3d2f1c1330403a4b3e3a1f391009333931391b4b36021b01313e2929224a291e0f301b2d3f393b3f1717391f3a3a3d3a39313129171f393b1f3b203b392a313a391f3c01393c292a224a291e0f301b2d3f393b3f1717391f3a021b4b3602311f363a570f3e00292932482921393119111f3b393d3d213d391f103b01393e29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a393131290f1f39483d3f1c1330403a4b3e3a1f39100933393139292a39293b3b3d36313939173914391f3a0139313139211f392d3d2f1c1330403a4b3e3a1f391009333931391b4b36021b01313a291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a39313129211f39483d371c1330403a4b3e3a1f3910093339313929291f293b3b3d3131393e3a3a16223a57391c002921393119111f3b393d3d293d391f103a01393d291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a393131294c1f392d3d371c1330403a4b3e3a1f3910093339313929291f293b3b3d2831392a3a3a16223a57391c002921393119111f3b393d3d293d391f103d3b393e291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a3931312a3d1f393b1f3b223b393f3139481f3c3b393d292a224a291e0f301b2d3f393b3f1717391f3a021b4b3602311f2a3a3c16223a57391c002921393119111f3b393d3d313d391f103a1139393339321731394c1f3a01393131392e3a3e16223a57391c002921393119111f3b393036021b4b35113a2d3d3f1c1330403a4b3e3a1f39100933393139292a39293b3b3d313139391739150f1f3d2b39293139401f39483d2f1c1330403a4b3e3a1f391009333931391b4b36021b01313c291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a393131291b1f3a2d3d371c1330403a4b3e3a1f3910093339313929291f293b3b3d353139363a3a16223a57391c002921393119111f3b393d3d293d391f103c2b39393339321f31390b1f3b11393231393e3a3e16223a57391c002921393119111f3b393036021b4b3511392d305739203e3a39162a3a1f39100933393139292a1f293b3b3d323139363a3c16223a57391c002921393119111f3b393d3d313d391f103b11393a2929224a291e0f301b2d3f393b3f1717391f3a3a3d3a393131290b1f3a3d305739203e3a39162a3a1f39100933393139292a1f293b3b3d3731393e3a3c16223a57391c002921393119111f3b393d3d313d391f103c01393d2929224a291e0f301b2d3f393b3f1717391f3a3a3d3a3931312a391f3a2d305739203e3a39162a3a1f39100933393139292a1f293b3b3d2a313939173916291f3b2b393631390f1f3a3d3d2f1c1330403a4b3e3a1f391009333931391b4b36021b01313d29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a39313129131f393b1f3b1d3b393731390b1f3b11393e292a224a291e0f301b2d3f393b3f1717391f3a021b4b3602311f2e3a3a16223a57391c002921393119111f3b393d3d293d391f103b11393933393240313a3d1f3d3b39283139363a3e16223a57391c002921393119111f3b393036021b4b35113948305739203e3a39162a3a1f39100933393139292a1f293b3b3d3431392e3a3c16223a57391c002921393119111f3b393d3d313d391f103c3b393c2929224a291e0f301b2d3f393b3f1717391f3a3a3d3a39313129481f393b1f3b1b3b393031391f1f3a11393a292a224a291e0f301b2d3f393b3f1717391f3a021b4b3602311f3e3a570f3e00292932482921393119111f3b393d3d213d391f103a11393c29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a393131291b1f392d3d3f1c1330403a4b3e3a1f39100933393139292a39293b3b3d3731392a3a570f3e00292932482921393119111f3b393d3d213d391f103c01393a29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a3931312a391f3a3d3d3f1c1330403a4b3e3a1f39100933393139292a39293b3b3d2a31392e3a570f3e00292932482921393119111f3b393d3d213d391f103d0139393339333d392b393f3139481f3c3b393d292a224a291e0f301b2d3f393b3f1717391f3a021b4b3602311f223a3c16223a57391c002921393119111f3b393d3d313d391f1f393b1f3b1f393d1f3b0139333139131f392d3d2f1c1330403a4b3e3a1f391009333931391b4b36021b013131292a224a291e0f301b2d3f393b3f1717391f3a023139391739171f3a3139401f3c11393031392e3a3e16223a57391c002921393119111f3b393036021b4b35113a483d3f1c1330403a4b3e3a1f39100933393139292a39293b30351f393b1f3b12393d1f3d01392a313a391f39483d2f1c1330403a4b3e3a1f391009333931391b4b36021b01313c291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a39311b0139393339332939203510392b393029294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a39313139223a3e16223a57391c002921393119111f3b3930351f39483d3f1c1330403a4b3e3a1f39100933393139292a39293b30351f3b3d305739203e3a39162a3a1f39100933393139292a1f293b30351f393b1f3b14393e023129291f39483d371c1330403a4b3e3a1f3910093339313929291f293b3b3930292a224a291e0f301b2d3f393b3f1717391f3a023139103a3a16223a57391c002921393119111f3b393d3d293d3910023139223a570f3e00292932482921393119111f3b393d3d213d3910023139391739081f3a1b013d3e3916401f3b3d3d371c1330403a4b3e3a1f3910093339313929291f293b3b393c292a224a291e0f301b2d3f393b3f1717391f3a023139223a3a16223a57391c002921393119111f3b393d3d293d39100231391c3a570f3e00292932482921393119111f3b393d3d213d3910023139391739080f3a1b01313c313a323a3b481f36393a171f3a3d3d371c1330403a4b3e3a1f3910093339313929291f293b3b3d3131392e3a3a16223a57391c002921393119111f3b393d3d293d391f103a01393c291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a39313129131f3a2d3d371c1330403a4b3e3a1f3910093339313929291f293b3b3d3f3139363a3a16223a57391c002921393119111f3b393d3d293d391f103b11393a291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a393131290b1f39483d371c1330403a4b3e3a1f3910093339313929291f293b3b3d3531393e3a3a16223a57391c002921393119111f3b393d3d293d391f103c2b393d291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a393131294c1f392d3d371c1330403a4b3e3a1f3910093339313929291f293b3b3d2831392a3a3a16223a57391c002921393119111f3b393d3d293d391f103d3b393e291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a3931312a3d1f393b1f3b08393d1f3b0139333139211f3a3d3d2f1c1330403a4b3e3a1f391009333931391b4b36021b01313f29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a3931313939173909393a3139131f3a01393131393e3a3e16223a57391c002921393119111f3b393036021b4b35113b3d3d2f1c1330403a4b3e3a1f391009333931391b01393933393317392b39373139481f3c3b393e292a224a291e0f301b2d3f393b3f1717391f3a021b4b3602311f1c3a3a16223a57391c002921393119111f3b393d3d293d3910023139391739090f3a313a3d1f3d3b39283139363a3e16223a57391c002921393119111f3b393036021b4b35113948305739203e3a39162a3a1f39100933393139292a1f293b30351f393b1f3b0b393e0231293d1f3a483d371c1330403a4b3e3a1f3910093339313929291f293b3b393f292a224a291e0f301b2d3f393b3f1717391f3a023139363a3a16223a57391c002921393119111f3b393d3d293d3910023139103a570f3e00292932482921393119111f3b393d3d213d39100231393917390a293a1b013d3d3139363a3c16223a57391c002921393119111f3b393d3d313d391f1f3a483d2f1c1330403a4b3e3a1f391009333931391b0139312929224a291e0f301b2d3f393b3f1717391f3a3a3d3a39311b01393f291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a39311b0139393339334c392035103a2b393129294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a39313139363a3e16223a57391c002921393119111f3b3930351f3a133d3f1c1330403a4b3e3a1f39100933393139292a39293b30351f3a48305739203e3a39162a3a1f39100933393139292a1f293b30351f393b1f3b0e393e02311f351f3d133d362b3948393f11393d29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a393131291f1f3a2d3d3f1c1330403a4b3e3a1f39100933393139292a39293b3b3d303139363a570f3e00292932482921393119111f3b393d3d213d391f103b2b393e29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a39313129211f39483d3f1c1330403a4b3e3a1f39100933393139292a39293b3b3d3331393e3a570f3e00292932482921393119111f3b393d3d213d391f103b01393c29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a393131290f1f392d3d3f1c1330403a4b3e3a1f39100933393139292a39293b3b3d3631392a3a570f3e00292932482921393119111f3b393d3d213d391f103c11393a29294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a39313129401f3a3d3d3f1c1330403a4b3e3a1f39100933393139292a39293b3b3d2931392e3a570f3e00292932482921393119111f3b393d3d213d391f103d2b39393339343d392b39343139171f3a11393d292a224a291e0f301b2d3f393b3f1717391f3a021b4b3602311f223a3c16223a57391c002921393119111f3b393d3d313d391f1f393b1f3b0f393d1f3b2b393031391f1f392d3d2f1c1330403a4b3e3a1f391009333931391b4b36021b013131292a224a291e0f301b2d3f393b3f1717391f3a0231393917390b1f3a31394c1f3c2b393531392e3a3e16223a57391c002921393119111f3b393036021b4b35113a483d3f1c1330403a4b3e3a1f39100933393139292a39293b30351f393b1f3b02393d1f3d2b39293139401f39483d2f1c1330403a4b3e3a1f391009333931391b4b36021b01313c291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a39311b0139393339342939203510392b393029294d4a291e0f301b2d3f393b3f1717391f3a3a3b3a39313139223a3e16223a57391c002921393119111f3b3930351f39483d3f1c1330403a4b3e3a1f39100933393139292a39293b30351f3b3d305739203e3a39162a3a1f39100933393139292a1f293b30351f393b1f3b49393e023129291f39483d371c1330403a4b3e3a1f3910093339313929291f293b3b3930292a224a291e0f301b2d3f393b3f1717391f3a023139103a3a16223a57391c002921393119111f3b393d3d293d3910023139223a570f3e00292932482921393119111f3b393d3d213d39100231393917390c1f3a1b013d3e3139103a3c16223a57391c002921393119111f3b393d3d313d391f1f39483d2f1c1330403a4b3e3a1f391009333931391b01393f2929224a291e0f301b2d3f393b3f1717391f3a3a3d3a39311b013930291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3f3a39311b0139393339341b392035343129351f39113939313a323a3a302a09311f3917391f391f3948305739203e3a39162a3a1f3910093429393a31393e3a3e16223a57391c002921393119111f3b393d3d311c3d3f391f313a4c1b2b393d29294d4a291e0f301b2d3f393b3f170c3939323a3d302a0131392e3a3a16223a57391c002921393119114839392d3d311c3032011b01312b292a1048313a323a3b302a3a1f313c403a4b3e01313a323a3b30223a1f284c3c1b2b392b292a104a1b16314a3939391f391139393339313d31393e3a570f3e00292932482921393119114839392b393d292a224a291e0f301b2d3f393b3f1717391f3a3a3b302a3a1f313b391d303d1f3a2d3d371c1330403a4b3e3a1f3910093429393b292a3a481b11393c2929224a291e0f301b2d3f393b3f170c39393e3a3b302a011b1635113d133d211c3b392b2929104829213b3957391c001b11392b2929104a29213c53394b3d1f3d133d211c163201361f393d3139311f393b1f3b3b3b393d291e403a1b2d3d3b1c3d3f393b3f170c39393d1f3a2d3d2f1c1330403a4b3e3a1f391009333931392929104829213b391f3010003139363a3c16223a57391c00292139311911483939133d291c30311f392d3d3f1c1330403a4b3e3a1f3910093429393a292910481b1632023110323a3f30291f3d133d311c3d3f391f280f301b20311f3d133d311c133f39571f3600313a323a3f3022011b1221393b3b393b31393917391f0f1f3a2d305739203e3a39162a3a1f3910093429393a3139363a3e16223a57391c002921393119111f3b393d3d311c3d3f391f313a4c1b2b393a29294d4a291e0f301b2d3f393b3f170c3939323a3d302a0131392a3a3a16223a57391c002921393119114839392d3d311c3032011b013139292a104831393a3a3b302a3a1f313c403a4b3e0131393a3a3b30223a1f284c3c1b2b3939292a104a1b16314a39390f343c1f391f393b393a33393139361f3139313939343a0f391f393a3a303f1f0b31393d3057575757573a0f0b3e393d305739390b3c39393d34330f393b293b393931393e3f3c29393c293b393931393e3a3a3f0b11392d4036392b393931393d291c2b393929292a093129393539390b393b0f0e2d390f3d311e013539292a3a0a311f1713393b393f3d3c0b103b0139333139212912393d113a10394b3913391f3b103a323a3d391f3b0139393139311f39003a1231392d1f3901393b31393a0a292932481911313f361f31393c393d3431392d1f3902213b393932393913391f393b313134293939311f1c3a334a0b37390f393a39393d3431390b1f3a483d211c3d3d211c2a394131291f1f3a2b393e33393139311f1c3a3a3f174a391f391f3a013931361f313931393a3a392f17103b390b3b293b393b3139100a292932313c29391f3b3b4839393d3d0f2a0f483931391f0c39393e3a3130323a53393a303c29391f3b483d0f3d3c48103a01393e31392d17391f39113b2d3d3d1912213b393b393231391b4a391f391f3b0139313439393a3d3c48103a01393e31392d17391f39113b2d3d3d1912213b393b393231391b4a391f391f3b3d3d3b19113d313b013931313931291d2d3d393129131f3a10394c3129003a393b3d3031391f103a1f36573139311f3a13483d1e01393c31391f1f393f0c3a39162a0931392d17391f39290a293d1f3a2b1f3b39392d3b293b393331391b293b014839393d2d36393b39323139171f3a003934343939392a0f483931392d1f3a2b1f3b393b313229292a09361f31393139131f3c3c213b393b393031391b1f3b10393229293e0a2b2f17103a483d393129133431390b1f3a110f39393a39413129481f3a2b393e33393139311f4d3a3a3f174a391f391f3c113936361f31393139223a392f17103a11393229293e093129133539290b34312921343139291f3a11393c31393d1f393f0c3a39162a0931393d1f3913211a361f3139313917293b10171f3b133d29191129393b41393a392932573139323a1f3a3a003a3d391f393d3d0a371f393931393a3a392f171039390b1f39133f393b303d3d293b3939292b354e3939391f393d3d3a19113d393b01393b2921293b1b2b313c2921293b2a0f2a3931393a3a0a0c2939370f393931393a3a3915171039390b1f39133f391f393e003129313c293b393a34293939311f293d293b39393139294e3939391f393d3d3a19113d3931393e3a392f171039290f3a3b0f0b1f393932573913391f39483f3939131b3d293b393c29292a303c293e3a001f3a3a4d1f391f39100b35391f0c3a00293a3a4d29391f39100b3539290c3a0f293a3a4c29391f39100b1f39483f3d39132136393a083a000f3a3a4d0f391f39100b34371f39393139363a103932303b40173c39291057310f3a3a3d3f0b113b1129393139212935113d343139171f3a103b37392b313f3d3c1b3b293b39333d3d133d293b39343139391f3911393c3d3f401f3a2b393c3139311f393f0c09311f214a391f393539290b1f3a2b393c361f31393913393b293b3939311f1f0c393939113a483d0a190f4c3c39393d3939290b1f3b013930292a1048292a10493d3b13103b3b393e31392d17391f39113a483d3a1912213b393b393031391f4e3939391f393d3d3a19113d313b0f32393139311f3b3f0c3a39131f36393b393134293939292c3a303c29391f3b3b4839392d3d1f1b13304c393d1b36393b3934292c3929332b3d3031392d1f3a2b1f3b393b313229293e09361f31393139131f3a021739393b393431391f0b39393d29332b3d3031392d1f3a2b1f3b393b313229293e09361f31393139131f3a021739393b39312929320931291f3431391f1f39103a4d292939103b2b393f3d3c1f103c3d3d3931291b1f3b3b3d3f394b401f3911393f2c292a573139351f3b3b3939194a171f3a2b1f3b393a3a4d31392d17391f393e3913391f3b1139303d390b0c39393a3e3c29391f3b2b393331391b293b010f39393d1b36393b393e31392d17391f39113b2d3d3a1912213b393b393231390f4e3939391f3a013930313917293b2d3d3a1948140931291c3a393b3d323b0139343139210b39393929332b3d3631392d1f3a2b1f3b393b313729293e09361f313931394c1f3c2c1739393b393f29293e093129211f3b2d3d3a19113d323c393d343b013d3f3b01393d3139211f3901393a31393a0a1911393a3139323f3f02213b393b39333d3917193139083a3d3f171339390b35393b39393d39481f392d3d3b1c3f1734091f293a3b4b4012393d3f39392f0b113b1129393139171f392c213b1d3b393b31393529022931103b3b3933292c2d4a3910391f3b133d3119133d393139083a3d3f17113b2a391d312a393b293b3931291d2d392c0f2a3931391f293f2b31322a29483a313a391f3b2a39163b01393231291b1f39113d3a3948391f392b393c2a1f2a393948393b293b39393139083a53393a093d3c223a393b39313f482d3d293b39393139083a53393a093d3b1f3d293b393e31392d17391f3a3a3916314a391f39343c393d3431393929312b3d373139223e3a3d391f3a3b39373d3b13103c1f0b1f3c3d3d3a19113d36292939103c01393231291b1f39113d3a3948391f392b393c2a1f2a39313948103c3b39282a29483c31393929322a171f3b2b3d3031393110392b393131390c09292932323c29353c293b393a3139363f3a3d39353a292d3b293b393034293939292932303c29391f392a39323139493f3c29391f3a483d39371f393931390c3a392f0b103b0f0b1f3a483d3a19113d3031393e3a3c3f171039290f3a3b0f393439392d3b293b39303429393929293e303c29391f392b39353d343d3a33393139312a3d3b293b393f3a30401f3d292d1f3a3b392a3d3b133431394d3f3a3d3a3a392b3d2831393d293b2b39362a0f483b31391c3a39121739393b393429293e0931290b3539290b1f3a483d39371f39393b01393129293e0a31291f3431391c3a392f17103a01393a2929000931293d3539290b393b0f39343b0f32393913393c293b393b3139363f3c293d1f3b2b4839393d3d3b2a0f2a393139143a392f17103b2b393b292900093129313539290b3431393110390f0f3a3b01393e31392d17391f3a3a3a30314a391f3934313a3929302b39332921393a19112939313935283a29323931393d292b2d2d3d293b393029293d4e3939393539290b1f3a483d3b371f393931390c3a392f17103b01393129293e0a31291f3431391c3a392f17103a01393a2929000931293d3539290b393b0f39343d3a1b393b003d393139391f392b393933393139333931353d2931393b4f353d39290c57310f3a3a1f393e0a311f1713393b393331393d4a39161f1f3911393c3d35483b31291f1f3b133d49361f31293139083a3b3f083a393b3933292a3a09311f132930113d293913391f3b3d3014393d403d293b39313d3a13113b2d2d36392b392931391329320f0b1f3b2b3d30313931103929363931393d1f3948213d293936393913391f393b3933291e1f39191039002929391f3b3a0c3e3a3d391f393b3933291e1f39191039153a3d391f3a2b393e3339313929293201361f31393b0f0f3a3b0139393d3a40103c11393f2a292a393139291f3c103b02392b3d373b01393529293e093129493a393b3d28313913103a01393b31293d3c293b393a3139363f3a3d391f3c2b3d353139413e3c29351f393a39113f11393231291b1f39113d3a31391f1f3b4a083a39131336390f363931393d1f3948213d29390f3e3a29323931391b0c39393a3a39131b36393b393a3d39131f3c2d2136393b39302929394e3939391f3b483d3a19013d343b01393029293e0931291b1f392d3d3519113d3a3c393d3439390b393a29323931391b0c39393a3a392d1b36393b393a31390f293b010f39393b3d2a3913391f3c13305739203d1f3a1f2a57313a3d3e3139291f3d2a3b0239290c3a570f3e002a1f2a3929293d103c01393a3d39131f3c2d1b36391139302929314e3939391f3b483d3a19113d343c393d3431391c3a393c173939390b1f3b3d3d3a19013d313b01393029293e0931291b1f392d3d3519113d3a3c393d3439390b393b0f0b3b293932393948391f3911393c2a1f483a3139130c39393a3a39131b3d293b393229293e093129131f39133d3519113d3b3c393d343b01393b3129353539290b1f3a2b393e3339313929292a01361f31393b0139293d3a481f3b133f39392f1713393b393c3c0f2d3b293b393a3d3d143e3a3d391f3a483d3a371f39393c393d3431391c3a39121739393b393429293e0931290b1f3b3d3d3a19013d313b01393029293e0931291b1f392d3d3519113d3a3c393d3439390b393b00392039390e14390f3d3c1e0135392919393a1901313d32393a3a1e013d3e3139291f392d3d3a19483d3931393d1a361f332d392b393d3139391f3a3d3f1d392f171f392a0b113a12213b13393d1f3a3d3d392922393a3d3d2111393d3e57361f323531393a3a363c213b323b39392920404a3914391f393b39392922403a1912213b343b393931393a3a13393e09361f322d3913391f392d3d392b392a39291c2b3a392d3d41361f31393c393d343139223a393c1739393d3d3931292912393d3029392f0b11392b293931393d1f3902213b02393d1f392d3f1f392f171139483d39292b1f292a10171f392b393a33393435392c213b01393d3b293d3d393139311f392d3031392f171f392d3029393f171f39003c1b39133d392b392a3929204010391f0f3a3b0139393339323529293a3731292d1f393b1f3b393b3d3c313939173913103a393d0f3d293b39393139363a204b3d4a391f39343916403b293932393139391739123a3e3a3d391f393d3029393c213b353b39392929394a39100f1f393d3139360f35293139391739110f103a3b393931393d4a39110f3539290b1f393b1f3b3d39483a3b483e57313939294e393d36392a17343139391f3911393a291b1f3a1911393a291c39391911393a2919393a19103c1b391f0b103911393d3a3d391f393d3d392929391f393b1f3b323a3d3d393a171f393d3d39361f310f3139391f3a3c213b343b39392929394a39100f1f393d3d39361f312931393917391029103a3b39392929394a3910291f39133e573139291a312931343139391f393b1f3b393b313d3139363a31303e01361f31392920401f3911393d292b3a003f013d3b31392e3e3c29393431393e3a48393e093239391f39113d3e3b0139392919393a1911293931392d342b1f3d3b1e0f32393139390c3939391139132d1f3911393a34293939311f36301b1f48393948391f392b4839392b3d3c3139390c39393d1139132d36392b393a29293e0931293d1f393d3d3a19113d393139311f3948213639390b343139311f394a0b344d39313a3a164012393d3d29190131303239391f3948300f101f3d1f39000b113a2b1f3b393b3d3c3913393b2939323931393e3e3a3d391f390f483a3c39353429204c103a3b393b2a29483b3139391f3a483d35191139393f013d3f3913391f390f2a393139311039390f3a3b01393a34293939311f3a3a3f302a3a3f302d1139483d392c1f2a393139211f393c213b393b393c29293a30312929353a390b1f392b0f39393b3d39291c113f392b1f3b393b1f3b393d2d3d293b393f31393a3a574f403c1b2c213b393d3d3a312929353a390b1f393d305739203e3a0f1f3e0a311f3a3a35130b36392b393929293248291b390a19111f3b393b3d3c3139323a392f0b11393d2d363911393a29293e0931293d3431393d0c393939113b3d3d3c1c113132292a3a0a3139363a3f162d1f3b2f080129291c343c29393c293b393929293e0a3129391f3b3d3f39392f0b1f39483d3f1c30311139483d392c1f2a3931392e3a393c213b393b393f3139354a391f391f3911393919013d3d3c39293431393a3e3c29311f392d3d3a1911313a34293939311f103a0f393e002921393a2a1f48393b0f0b1f3a2d3d39361f3139291c2b3a392d3d22361f3139292040103a390f3a3b01393e3139354a391f393431391c3a3d3f1713393b393d3b0f0f3931393a3a3c3f17291e10171f39390b31393b3939333931292a290b1739293257310f3a3a3d3f0b113911293931393d17391f391f393b1f3b393d1f103901393b292a3a093239391f392b39393139351a3b0039393139391f392c1b3c3b3b3939291f394b390f39343d0f391f393d3f403002213b393b393929292a093d394c1f39390b3d393d3d3a3b4a2d3a394b401f39132d3d293d3d393c0f0b3b293b393934293939311f363e3c29393c2939323931393d0c393939113a2d2d36393b393b29293e0a311f323e3139351f3a2d1c013c29391f392d3d3a19113d3a3139390c39393d103901393929293e093129391f390f483a3c3931343b01393c3129293431392a3a570f3e0031393d0c39393a0a3b4e4c3a39292a57310f3a3a3d3f0b113a2b293931393d103a3b393b292a3a283a3d391f39133d3d1c113d303948391f3901393d3d32483a3139351f393b393e3d34313b3139351f3a2b133c3b3c1b393b3b393c31392d08390f394b3939391f3a3d3d2919113d3d3139223a392f17113a1139302a0f48393b0f0b1f3a3b393a31393209311f3e323a3d391f3a2b393d31393d1f3a3f0b1139103a3b311f3d1f3915083a393d3d293139320a3d3d21193139351f392a3b1c392b393c3139391f392a3b013911393c31393d08390f1f4b39391f1f3901393a33293539360f39393b01393e292a3a09323939343f1f391f393b393a31393d17391f3a3a3c3f0b17391f3a0933393121361f313931393934330f3d3a1e013939291e0257393c213b3939323931393917391f2a3a3c3f0b11392d3d3119103b2b39133d392c1f483931393d293d390b1f39390c343929325731393917391f29113a483d311c2b3d3f31391c3a39203d3d293b393c333931393139212900293d103a1f0b1f393b1f3b393b313931393d1f3911393c3139220931392a3a39113930292932003f01393e31393917391f39173910292a3b2939343139393b293b39393339313d31393e303c29391f393b1f3b303d3d3a2a1f48393139391f3912213b30390b34151f3d3931393a3a392c17393629323931393917391f291f39131b36393b393929293d4e393c293b293b393933393129311f323e3a3d391f393d3d3a361f31133139391f3902213b3f3b393931393d4a3910391f393b1f3b353d3d3a2a0f483b3139363a392d213639290f3b3b01393a3139323f3a3d391f393b1f3b3f3b313b2929323f3a3d391f393b393c361f312131393510391f0b1f393b1f3b353d3d3a2a0f483b3139323a392d213639290f3b3b0139393139391739112a3a392f174a3911293431393a3a392c1739361f0b343b1f391f393b393a19111f3b39390c1c39293e57313939173910391139482d3d293b393929293d4a3911291f393b393b361f31213139391f392c213b3d3940343913391f392b393c2a1f2a39313939173910103a39131b36392b39393139314a39101f283b01393929293d4e393c211f393d3d3b361f31213139391f393b1f3b323d3d3a1912213b32390b340d293d3a394b4012393d3d291901313c3239391f3901393a361f31353913393b293932393913391f393a39493a3d391f393a3a4131293d1f393b1f3b3a3b313d31393e3a392f0b113913213639290f3c3b483d3a31292a3a392b3d3b3139390c39390b11392d3d3a2a0f483a3b0139393139323a392b393b31393129400f3d1f3a3b3d3a313939293629483a3b0139393129311f393b393a29293e093d3c173539290b1f393b1f3b393b3d3b3139391f3a3d3d3a1910394d3139291039290b1f3911393a29293248191131393139363a3c3f17293501393c2929394a391f1f1f393d3d3d1911393c292910093d3c351f39483d29191129393b4e403a39293657310f3a3a3d3f0b113a2b29393139323a1a01313f31393e0a2c292a39313939293c2b3d303916401f392b393f29293e4a292a3a0a2b292a3931392d1f392d3d3a1c3c213b3b3b393e31393d1f3915174a391f0f1f3a2d3d351911393e292910093d302117391f392913293d3539290b1f3a133d3a190f0c3a392f17113a103a1e3129311f3a392a393139311f3a01393d3d3e2d343139351f3a3f0b11390f2a393139311f3a3f171f3a3b39301911393c3d3e2d3431393e3a3b131b3d293b39303d3a39343139391f39103a363139391f3a103a3531392e3a3d3f1713393940343d3a1b393b0f353939290b20393b3939333931313d3a22303a3d391f393b1f3b3b3a3c2d391f0b1f39390b4c39293e57310f3a3a3d3f0b11390129393139351f3912213b3c3b393c292910093139363a3c3f17292d113d3b3139391f392a3c19392b3d39313931292d2b393c292a3a093239391f39390b34393b393d3139314a391f3a3a390f0b32393b39392929394a391f39343c0f391f393b39393339313d29293e09361f313d3b00133a3920413a392b3d3a3139392936292a57313939291e2d3d3a190f2d1f39290b343f1f391f393d3f48312c213b393b3939292b3a093d391719313939290e393d1931393934130f3d3a3a304012393d3d291901313c3239393b293b393a3d3c2e3e3a3d391f393b393a33393131361f31313139391f392b133b393c1b3b39390f3a3b01393a333931393129293b293932393913391f392b1f3b3a3b313b292908363a3d391f393b3d3a3139391f3910394e3c393d343139323a1a480b36392b39393139312913293e3a392f17113a2a3a1e311f3d292c2b393931392d292c3b39393139312937290b1f392b393d3139323a392f17292e290f3a3b00392039390b343139363a3d3f171339390b00393b393b333931393129313c293932393139391f392d1b3d1e01393933393139313932303c293d1f39392d1f39290b283b01393929292a093129393539390b393b57133c39293e57310f3a3a3d3f0b113c3b293931390f1f393c213b3c3932393913391f393b393e2a1f2a3931393d0c39393a3e3c293e3a393b3d3931393e3a393c1739393b393d31392917391f3911392d3d3a1912213b393b393a292b4c4e3939391f3a0039322a29483b31391317391f3911392b393119483f1e392d173639113933333931393129311f3b2b393a29292a09361f313931393d1f3912213b39390f3b3b0f32393139391f3a131b36393b39303d39143e3c29391f392b4839393d2d36392d3d393129391f3b2b1f3b393b313a3139100a2922403a2b1f483b31391717391f3910393b393231393e3a3a3f174a391f391f392b3939361f313929293910393b39332929394a391f3935391f0c3a1e013d3931390b1f3b483f39392f171f3c3d3d3519103c2b392b39341901313e291e0f392b1f483a31392e3a39162e3a4c36393919114839393b3d3f3913393b293b393e29200c00311f3a3a4a393a303a3d391f393d301f393d1b36392b393c31392917391f3911392d1b3d293d3e573129391f392d3d3a19014839393d301e39303d1f39114839393d305739303e303c292d343139291f392d3d3a1912213b393b393a3139214e39393a3a393b3d393c3929343139323a4839394e3939393539290b1f39110f39393b31393139223a4b0f3a002a0f48393139311f393d3f393920314e3939391f392b4839393d2d36393b393a2929394e3939391f3a0039322a29483931391317391f3911393b393119483f1e392d1736393b39333339313931293d1f3b2b393929292a09361f31393139391f392c213b39390b1f3a3b393d33393139311f3a3a392f174a391f391f393b393f371f393929293910393b393e291c29392b1f483a3139171f3b111f3b393d3d3a1912213b39390f3a3b483e57312939343139003a3d3f1713393b39393b49393a39164012393d3d291901313f3239391f3a133d311911313e31393d293c01393e3d3c0c3a4c36393929213c2a393b393b3d3f351f3901393e3d310f3a311f3d292b3c213b393b393d31393d29373c213b393b393931393d293601393e3d394c1f3a133d29191129393b023d393139310c39393910391f36393913391f393b393a2a0f2a573139390c3939391f39131b36392b39393a2b393a3b0f403431393a3a392f171039390f393b0f39344f29353a39204012393d3d29190131353239391f3c3b3939371f39283913393b293b393931392e3f3a3d391f392b4839393d2d36392d3d393129391f392d3d39371f39393139291f3a3b1f3b393b313a29293e09361f313931393e3a34121739393b39303d39143e3c29311f3b2b1f3b393b313a3139100a2922403a2b1f483b31391717391f39103911393231393e3a3a3f174a391f391f392b393b361f31393c3931343913391f393b393f2a0f483931391b293b2d2d36393b393a342939392a29483a29293910393b393233393139311f3d1f3b3f0c3a160f3e333c29311f3b111f3b393b3d393139131f392d3d3d1912213b393b393a3139394a391f3a3a393b3d393139083a393c213b39390f3b3b483e573129391f3b013934292b3a093139003a3c4a172949293d1f3b4a0b113a2d3d1e2b1f483a31392e3a4c36393919114839393b3d3f3913393b293932393913391f3a2d3e531b2d3d2f190f4c3c39293139391f0b1f3901393d33393139311f3e303a3d391f392d3d3a19014839393d301e39303d1f39114839393d305739303e303c292d343139291f392d3d3a1912213b393b393a3139214e39393a3a393b3d393c3929343139323a4839394e3939393539290b1f39110f39393b31393139223a4b0f3a002a0f48393139311f393d3f393920314e3939391f392b4839393d2d36393b393a2929394e3939391f3a0039322a29483931391317391f3911393b393119483f1e392d1736393b39333339313931293d1f3b2b393929292a09361f31393139391f392c213b39390b1f3a3b393d33393139311f3a3a392f174a391f391f393b393f371f393929293910393b393e292a2e333c293d1f3b1139333339313929293e09361f31393c393d342920401039390b1f3c3d3d2919112939313939342d393d3b1e013539292a3a0a311f2113393b393f29291009311f2d1f392a392831392d293513301f48393a3a1f363d39313931291a01393c31392d29121f3d11392a3a31371f39393139291f392a394c371f39393139391f392a394b31392d293c11393f292a3a09323939341e1f313b1e0f3253310f3a3a17393e0a311f2913393b393d31393d4a39120f1f3a3b393a361f312d31392a3a1e02213b3f3b393d292a3a09311f2e3b393a3a2c3139291f3a2b393c29293d294d1f311f3a3b133c3b3b3d3f31392908390f39103a01393b3a3d391f3911393a313929173910291f3a3b1f3b11393e09313929173912000a1912213b39390b1f393b3930360f35393139391f3a121b3c3b3b393d2919393a191129393b0f48393139391f392b393b2916402948393134112931393913391f39392a5731393e3a570f3a363c293d3b293d3021101f3d17391f3917391f3a3e3a3d391f392d3f391e4b3e3a1f34403c2a1f483c3c393d3431393e3a570f41363a3d391f393b393a292c41002921393a1b121739392b393931393e3a3a16223a0f393e01371f3939292931283b01393a29213a391b2d3f390f39363031393e3a1f34393c2c4b3e3e3a3d391f393b393a292c41002921393a1b1217393911393931393e3a3c30223a4c393e01371f39393139391f392d3d3f1c133d571b2d3f393920314e39393e3a390f403431393e3a1f31393d19483057570241363a3d391f393b393a292c41002921393a1b1217393901393931393e3a3d16223a40393e01371f39393139391f392d3d3f1c133d571b2d3f393920314e3939311f393b393a2929004a292c41002921393a1b121739392d3d3d3c0f0b34291c2b3a392d3d22361f31392920403e29293d343c0f0b1f393b393a371f393929293d340a0f313a3a30403b1e0f323931393911392d3d3c1b292a393948391f392b4839393b313b2a2b393b292c493f1b1f483b31393e3a392f1711392d3d3c1b2948393b0f0b3b293b393a33393139311f323a1e4b351f39133f3a1f172931194b3e3a1f313f3b103010003c29393c293b393b291a4b4e4137133c1b01313b292041023139323a1f21333d3b3f0c0029213b3a1f172a4c1b29483a31393d17391f29103911393a29292a0931293d1f39133f3a1f1729311901393b292041021b2d3f391f21333d1d303e3e3c2939343b0f363931393d1139114839393b313c3a3d391f39133d3a19113d3a3139363a282d1b3639290b343139313539290b1f39290b1f393f0b1139132d3d293d3d393c0f0b3b293b393931393209342939393c293a3a4131213a33393139311f3e3e3c29391f392b1f3b393b313c2a2948393948393b293b39393139351f39103b53392d2d3d293b393a3339313931393209311f350c39393a3a282d213639290b1f392b1f3b3a3b3d3c31393e3a3a3f1710392b393c3c293d35391f0b343139363a392f17103a390b1f3a390e1039293d3b1e01393b29293a303129353b293932393913391f393d3d3c1b2d2d1f39132e013c29391f392d305739203d103a3936393139390c3939391f3a3d21363911393b29293e0a311f323a393d1b103901393929293e09311f3a3a394b3e3e3c293d1f391f48393b0f0b1f39482d3639290b3b293b39393429393931393e3a570f3e002a11393b29292a321b1f483931393e3a570f3e0029213f3b1039100b3129353c293b39393339313931393602311f2a3a1e4b351f3a3d3f3a1f172931194b3e3a1f313f3b103010003c293d1f393d3d3d19113d393139323a3a3f0b1139133d3c2b0f48393b0f0b1f39132d36393b393a291e403a1b2b3d3a3948391f392b3939342939392a1f2a39313939283b01393929293e093129391f39133d3a1901313b3c2939343b483d393b411b3c391f325339164012393d3d1f1901313d3239393b293b393a290e57575757575757575757570f3b3c311f363b1f313b391f313b390f3139401e2b393c29173b391f313b391f353c570f0f3a412e392a3931393e3b3a31211f393d31401131291039013939290e575757575757575757573c4c3511393d333a1f313b391f313b391f3910193a3d391f3948333a1f313b391f313b391f3539391e3b3d3b3c3931343139363b1f313b391f313b391f313a391e2b3d3b31393a3b1f313b391f313b391f313931102d31392d1f483a3139311f3948313a1f4b0f10391f0f3a3b0139392d3b393c29173b391f313b391f353c57570f3a2d3139363b1f313b391f313b390f285757393e3d1a2a292a3931393e3b3a31211f393d314011312a3b5757575757575757570f373c29173b391f313b391f313c40570f3b3d3129313539290c3b1f313b391f313b391f281257393b3d3b3139363b57575757575757570e57573c393e2136393d31393129311f3948310f11331b113a2d3f2a410f3a323c29391f3a3d3d291911393931393e3b5757575757575757284c363b1f313b391f313b390f393b3d311f311f3a2d3f3a410f3a0a3d3b401f3a3b39393139323a1f1e1f3931392e0a3d300f1f3a3b133c3b3d313d1011393d33293539311f3a3b2831113d3129311f3a3b133c3d3b393d33293521103d31392d09481f393d34575757575757575757570f533c103b313929173f391f313b391f313b393b3e173d293b393b291f3e403129313539290b1f393d33391f313b391f313b391f39113e291f3a2b3c29391f3913313a1f01393b1e3b3d3b3b01393d292b3a093239391f3911393a29173b391f313b391f313b391f30533c103440342a393d3a1e013539292a3a0a311f2d13393b393e31393d1f3911393c31392a3b1f313b391f313b391f313b391e4c2d29283b393e3329353931293d1f393b393e33293531360f35313139391f392c1b3c393b393e292a3a093239393409293d3a3920003d3939393939393939403c40103929323931393a3a1f3910373a3d3a3d39393939393939394c304010392b3939291e40282b392a3931393a3a570f1c0a31293935391f0c3d393939393939393940304010392b3939291e482031393a3a572a1c313f4830533c4a0b1039390f3a3b01393929213e4c2b1f48392a39393939393939393f393c31293d1f393d3f4c1b3d173d293b3939291b133019113d393c393d342a393939393939393939393931293d1f393d300f193b3939291e3a172b100c3a131f41093129393431393d1f393d30573a4a090c29122b3f0e4e313400393d3b3920403b1e133e573129353b293b3939291f3a2b31393e3b575757575757575757575757393135113a3d33391f313b391f313c39575740392e11393d29173b391f313b391f353c57570f3a2a3f0f48392929391f391334575757575757575757575740391f01313e29173b391f313b391f353c57570f3a2f31392e3b1f313b391f313b390f285757393e3d1a3c29391f393b393d31392f3d103e393d293d3d393c0f0b1f392b393b1f4831392f292a392929391f392b393b2d01393a3139322a3f0f483a3139391f392b393b10212a3b393e31283b013939291f3a2b31393d1f39142d1f392b393b2d2a0b36393b393931393d1f39172f3d291f3a2b312935343139353419293d3b1e013939291a0f17361f31393139391739111f103929363931393d3d293d3d393139391f392d3d3a1901313a29293248311f311f393b1f3b323f1717391f391f393b1f3b313b393b19111f3b393a3d3039390f3a3b0f0b1f393d3d1b1910393731393917391139293d3b3939333931133d3a391f393b1f3b353a39293139391739120f293d3b39393b0f133931393929111f3d293d390b32393b39393d341f3a3d3a39343c39391f393d3d3d19103a533f1139393b0f0f3931393a3a3b3f17291e10171f39390e57340f3d2a1e013539292b3a0a3110351339393257291e293a3d3a13113b392a573913391f3b3b313f3139391f392d3d3c1c3a3b323901313929293a353c29391f393d3d3b1c3b3d283948391f3a11392a29293248311f1c09311f3d17391f39103b11393a3139211f3c483d3b1c3b31291911313a33393139361f313931393d1f3b12213b393b393f31391c3a3a303209311f3d17391f39103b11393a3139211f3d3d3d3d1b151711392b1f3b393c213b393b393a3139174a391f391f3a113930292910011911313a333931393129171f392b393f313a3a3a3b303209311f3d17391f394a391f391f392b3933361f31393139211f3a483d351b151711392b1f3b393b3d3331393d1f3a113929292900011911313a33393139361f313931393d1f3b12213b393b392a29292a0931103d1f3c483d3d190131282b3948393b483d3a312a3d1f393d3d3a2c3948393948391f3a133d2919113d3f292939103c0f36393139211f3c483d3b1c3f1711392b393a33393139311f3e3a3c16223a57391c002921393119111f3b393d3d3f1c1330403a4b3e3a1f3a3a093339313929291f293b3b393a292a224a291e0f301b2d3f393b3f1717391f3a3a3a16223a57391c002921392919111f3b3930351f392d3d3f1c1330403a4b3e3a1f391009333931392929224a291e0f301b2d3f393d3f1717391f3a3a3d3a39311b01393a291e403a1b2d3d3b1c3d3f393b3f1717391f3a3a3a16223a57391c002921392919111f3b393d3d213d391002361f31393139413a392f17113c483d3d2a0f48393b01392a29293e0931103d1f393d1b3639390b3431393a3a393d1f3d293b39313d3a3a3a39390f3b3b0139313139394a390e393a31391f3e292939343b0131393a30401f3d01393b33293939360f3529313a351f391113393b3c1b3c3f3b393d292a3a283a3d391f3a3d3d3d1c113d2e2929391039293639313a351f39011339393c1b3c393b392c3139350839391f4b390f1f1f393b1f3b40393d103e3b3939333931353139351739390f1139133d211c3b393b2929104829213b3957391c001b11393b2929104a29213c53394b3d1f39133d211c1632011b01312829294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a3931312a311f393b1f3b3b3b393c33393931311f323a3f30291f39133d311c3d3f391f280f301b20311f39133d311c133f39571f36003139323a3f3022011b1635113d2d3d3f1c1330403a4b3e3a1f3a3a0933393139292a39293b3b3d3731393917391f291f39011f393a3b313b292a10483139323a3b302a3a1f313c403a4b3e013139323a3b30223a1f284c3c1b2b393b292a104a1b163202311f1c3a570f3e00292932482921392919111f3b393d3d213d391f103b2b393933393139313935173939391139133d211c3b393b2929104829213b3957391c001b11393b2929104a29213c53394b3d1f39133d211c1632011b01313429294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a3931312a391f3c483d3f1c1330403a4b3e3a1f3a3a0933393139292a39293b3b3d33313a3e3a570f3e00292932482921392919111f3b393d3d213d391f103a11393029294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a393131291f1f3b483d3f1c1330403a4b3e3a1f3a3a0933393139292a39293b3b3d3d3139413a570f3e00292932482921392919111f3b393d3d213d391f103911392a29294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a39313139413a3e16223a57391c002921392919111f3b3930351f3a483d3f1c1330403a4b3e3a1f3a3a0933393139292a39293b30351f3b48305739203e3a39162a3a1f3a3a0933393139292a1f293b30351f393b1f3b303035113c3d3d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3d283139391739101f1f3911393d31391f1f3d2d3d2f1c1330403a4b3e3a1f3a3a09333931391b4b36021b0131362929224a291e0f301b2d3f393d3f1717391f3a3a3d3a3931312a3d1f393b1f3b3e3b393f3139171f3d3b3930292a224a291e0f301b2d3f393d3f1717391f3a021b4b3602311f2e3a570f3e00292932482921392919111f3b393d3d213d391f103a013939333931293139131f3c11392b31390c3a3e16223a57391c002921392919111f3b393036021b4b35113b483d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3d293139003a3a16223a57391c002921392919111f3b393d3d293d391f103b113936291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39313129211f3a2d3d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3d3131390c3a3a16223a57391c002921392919111f3b393d3d293d391f103a3b3935291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39313129311f3c2d3d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3935292a224a291e0f301b2d3f393d3f1717391f3a0231392e3a3a16223a57391c002921392919111f3b393d3d293d39100231390c3a570f3e00292932482921392919111f3b393d3d213d3910023139391739110002311f003a3c16223a57391c002921392919111f3b393d3d313d391f103d113939333931173139311f3a3b39313139493a3e16223a57391c002921392919111f3b393036021b4b35113c2d3d3f1c1330403a4b3e3a1f3a3a0933393139292a39293b3b3d37313939173911291f3a113933313a391f3a2d3d2f1c1330403a4b3e3a1f3a3a09333931391b4b36021b01313e291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39313129131f393b1f3b313b3930313a3d1f3c013934292a224a291e0f301b2d3f393d3f1717391f3a021b4b3602311f0c3a3c16223a57391c002921392919111f3b393d3d313d391f103d3b39352929224a291e0f301b2d3f393d3f1717391f3a3a3d3a39313129171f3c2d305739203e3a39162a3a1f3a3a0933393139292a1f293b3b3d3f31392e3a3c16223a57391c002921392919111f3b393d3d313d391f103b3b39342929224a291e0f301b2d3f393d3f1717391f3a3a3d3a39313129291f3c3d305739203e3a39162a3a1f3a3a0933393139292a1f293b3b3d3b3139493a3c16223a57391c002921392919111f3b393d3d313d391f1f3c3d3d2f1c1330403a4b3e3a1f3a3a09333931391b01393e2929224a291e0f301b2d3f393d3f1717391f3a3a3d3a39311b013934291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39311b013939333931401b01313529294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a39313129401f393b1f3b373b393b3139291f3b3b3936292a224a291e0f301b2d3f393d3f1717391f3a021b4b3602311f493a3a16223a57391c002921392919111f3b393d3d293d391f103d2b3939333931483139211f3b11392931392e3a3e16223a57391c002921392919111f3b393036021b4b35113a2d305739203e3a39162a3a1f3a3a0933393139292a1f293b3b3d30313939173912391f3b2b3937313a311f3b483d2f1c1330403a4b3e3a1f3a3a09333931391b4b36021b01313429294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a3931312a391f3c3d3d3f1c1330403a4b3e3a1f3a3a0933393139292a39293b3b3d333139493a570f3e00292932482921392919111f3b393d3d213d391f103a11393e29294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a393131291f1f3b483d3f1c1330403a4b3e3a1f3a3a0933393139292a39293b3b3d3d3139003a570f3e00292932482921392919111f3b393d3d213d391f103911393629294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a39313139003a3e16223a57391c002921392919111f3b3930351f3a2d3d3f1c1330403a4b3e3a1f3a3a0933393139292a39293b30351f3b48305739203e3a39162a3a1f3a3a0933393139292a1f293b30351f393b1f3b2c3035113c3d3d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3d2b3139391739131f1f3911393d31391f1f3c2d3d2f1c1330403a4b3e3a1f3a3a09333931391b4b36021b0131362929224a291e0f301b2d3f393d3f1717391f3a3a3d3a393131294c1f393b1f3b2a3b393f3139171f3d3b393e292a224a291e0f301b2d3f393d3f1717391f3a021b4b3602311f2e3a570f3e00292932482921392919111f3b393d3d213d391f103b2b39393339323931391b1f3d2b392831390c3a3e16223a57391c002921392919111f3b393036021b4b35113b483d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3d293139003a3a16223a57391c002921392919111f3b393d3d293d391f103b113936291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39313129211f3a2d3d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3d3131390c3a3a16223a57391c002921392919111f3b393d3d293d391f103a3b3935291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39313129311f3c2d3d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3935292a224a291e0f301b2d3f393d3f1717391f3a0231392e3a3a16223a57391c002921392919111f3b393d3d293d39100231390c3a570f3e00292932482921392919111f3b393d3d213d3910023139391739140002311f003a3c16223a57391c002921392919111f3b393d3d313d391f103c013939333932213139311f3a3b39313139493a3e16223a57391c002921392919111f3b393036021b4b35113c2d3d3f1c1330403a4b3e3a1f3a3a0933393139292a39293b3b3d2a313939173914291f3a113933313a391f3a2d3d2f1c1330403a4b3e3a1f3a3a09333931391b4b36021b01313e291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a393131291b1f393b1f3b2d3b393231394c1f3d113934292a224a291e0f301b2d3f393d3f1717391f3a021b4b3602311f0c3a3c16223a57391c002921392919111f3b393d3d313d391f103d3b39352929224a291e0f301b2d3f393d3f1717391f3a3a3d3a39313129171f3c2d305739203e3a39162a3a1f3a3a0933393139292a1f293b3b3d3f31392e3a3c16223a57391c002921392919111f3b393d3d313d391f103b3b39342929224a291e0f301b2d3f393d3f1717391f3a3a3d3a39313129291f3c3d305739203e3a39162a3a1f3a3a0933393139292a1f293b3b3d3b3139493a3c16223a57391c002921392919111f3b393d3d313d391f1f3c3d3d2f1c1330403a4b3e3a1f3a3a09333931391b01393e2929224a291e0f301b2d3f393d3f1717391f3a3a3d3a39311b013934291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39311b0139393339320b1b01313529294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a3931312a311f393b1f3b193b393b3139291f3b3b3936292a224a291e0f301b2d3f393d3f1717391f3a021b4b3602311f493a3a16223a57391c002921392919111f3b393d3d293d391f103c113939333932133139211f3b11392931392e3a3e16223a57391c002921392919111f3b393036021b4b35113a2d305739203e3a39162a3a1f3a3a0933393139292a1f293b3b3d32313939173915391f3a01392a3139401f3b483d2f1c1330403a4b3e3a1f3a3a09333931391b4b36021b01313429294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a3931312a391f3c3d3d3f1c1330403a4b3e3a1f3a3a0933393139292a39293b3b3d333139493a570f3e00292932482921392919111f3b393d3d213d391f103a11393e29294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a393131291f1f3b483d3f1c1330403a4b3e3a1f3a3a0933393139292a39293b3b3d3d3139003a570f3e00292932482921392919111f3b393d3d213d391f103911393629294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a39313139003a3e16223a57391c002921392919111f3b3930351f3a2d3d3f1c1330403a4b3e3a1f3a3a0933393139292a39293b30351f3b48305739203e3a39162a3a1f3a3a0933393139292a1f293b30351f393b1f3b1e3035113c3d3d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3d283139391739161f1f3911393d31391f1f3c2d3d2f1c1330403a4b3e3a1f3a3a09333931391b4b36021b0131362929224a291e0f301b2d3f393d3f1717391f3a3a3d3a3931312a3d1f393b1f3b1c3b393f3139171f3d3b393e292a224a291e0f301b2d3f393d3f1717391f3a021b4b3602311f2e3a570f3e00292932482921392919111f3b393d3d213d391f103a0139393339320f3139131f3c11392b31390c3a3e16223a57391c002921392919111f3b393036021b4b35113c133d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3d293139003a3a16223a57391c002921392919111f3b393d3d293d391f103b113936291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39313129211f3a2d3d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3d3131394d3a3a16223a57391c002921392919111f3b393d3d293d391f103a3b3935291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39313129311f3c2d3d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3935292a224a291e0f301b2d3f393d3f1717391f3a0231392e3a3a16223a57391c002921392919111f3b393d3d293d39100231394d3a570f3e00292932482921392919111f3b393d3d213d3910023139391739170f3a1b01313229294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a3931313939173917393a31391b1f3d2b392831394d3a3e16223a57391c002921392919111f3b393036021b4b35113a483d2f1c1330403a4b3e3a1f3a3a09333931391b01393933393331392b393b3139291f3b3b3936292a224a291e0f301b2d3f393d3f1717391f3a021b4b3602311f2a3a3a16223a57391c002921392919111f3b393d3d293d391002313939173917293a3139211f3b11392931392e3a3e16223a57391c002921392919111f3b393036021b4b35113913305739203e3a39162a3a1f3a3a0933393139292a1f293b30351f393b1f3b13393e0231292d1f3a483d371c1330403a4b3e3a1f3a3a093339313929291f293b3b393b292a224a291e0f301b2d3f393d3f1717391f3a023139143a3a16223a57391c002921392919111f3b393d3d293d39100231392a3a570f3e00292932482921392919111f3b393d3d213d391002313939173908293a1b013d2b3139323a3c16223a57391c002921392919111f3b393d3d313d391f1f3a3d3d2f1c1330403a4b3e3a1f3a3a09333931391b0139302929224a291e0f301b2d3f393d3f1717391f3a3a3d3a39311b013932291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39311b01393933393321392035103c1f325731392a3a3c16223a57391c002921392919111f3b393d3d313d391f1f3b2d3d2f1c1330403a4b3e3a1f3a3a09333931391b01393b2929224a291e0f301b2d3f393d3f1717391f3a3a3d3a39311b013930291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39311b0139393339331b392035113b2b392d29290c313c2939193139143a3c16223a57391c002921392919111f3b393d3d313d391f103c0139372929224a291e0f301b2d3f393d3f1717391f3a3a3d3a3931312a3d1f3d13305739203e3a39162a3a1f3a3a0933393139292a1f293b3b3d3031392e3a3c16223a57391c002921392919111f3b393d3d313d391f103d3b39322929224a291e0f301b2d3f393d3f1717391f3a3a3d3a39313129171f3c13305739203e3a39162a3a1f3a3a0933393139292a1f293b3b3d3f313a323a3c16223a57391c002921392919111f3b393d3d313d391f103b3b393e2929224a291e0f301b2d3f393d3f1717391f3a3a3d3a39313129291f3b2d305739203e3a39162a3a1f3a3a0933393139292a1f293b3b3d3b31394d3a3c16223a57391c002921392919111f3b393d3d313d391f1f3b2d3d2f1c1330403a4b3e3a1f3a3a09333931391b01392b2929224a291e0f301b2d3f393d3f1717391f3a3a3d3a39311b01393e291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39311b0139393339330b392035113b2d3d371c1330403a4b3e3a1f3a3a093339313929291f293b3b39393339331f392b3930313a3d1f3c01393e292a224a291e0f301b2d3f393d3f1717391f3a021b4b3602311f1c3a3e16223a57391c002921392919111f3b3930351f393b1f3b09393d1f3911393d31391f1f3c133d2f1c1330403a4b3e3a1f3a3a09333931391b4b36021b01313d2929224a291e0f301b2d3f393d3f1717391f3a3a3d3a39311b01393933393313392b393f3139171f3d3b392b292a224a291e0f301b2d3f393d3f1717391f3a021b4b3602311f323a570f3e00292932482921392919111f3b393d3d213d39100231393917390a393a1b013d3e31391c3a3c16223a57391c002921392919111f3b393d3d313d391f1f39133d2f1c1330403a4b3e3a1f3a3a09333931391b0139322929224a291e0f301b2d3f393d3f1717391f3a3a3d3a39311b01393d291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39311b01393933393348392035103d11393b29294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a393131392a3a3e16223a57391c002921392919111f3b3930351f3a483d3f1c1330403a4b3e3a1f3a3a0933393139292a39293b30351f3b2d305739203e3a39162a3a1f3a3a0933393139292a1f293b30351f393b1f3b0d393e0231294c1f3a3d3d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3932292a224a291e0f301b2d3f393d3f1717391f3a023139323a3a16223a57391c002921392919111f3b393d3d293d39100231391c3a570f3e00292932482921392919111f3b393d3d213d39100231393917390a0f3a1b013132313a2a3a3c2d1f36393a171f3b2d3d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3d2831394d3a3a16223a57391c002921392919111f3b393d3d293d391f103d2b392b291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a393131291b1f3a2d3d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3d293139143a3a16223a57391c002921392919111f3b393d3d293d391f103b113937291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39313129211f3d133d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3d3131392e3a3a16223a57391c002921392919111f3b393d3d293d391f103a3b3932291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39313129311f3c133d371c1330403a4b3e3a1f3a3a093339313929291f293b3b3932292a224a291e0f301b2d3f393d3f1717391f3a02313a323a3a16223a57391c002921392919111f3b393d3d293d39100231392e3a570f3e00292932482921392919111f3b393d3d213d39100231393917390b0f3a1b01313229294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a393131393917390b393a31391b1f3d2b392831392e3a3e16223a57391c002921392919111f3b393036021b4b35113a483d2f1c1330403a4b3e3a1f3a3a09333931391b01393933393431392b393b3139291f3b3b3937292a224a291e0f301b2d3f393d3f1717391f3a021b4b3602311f2a3a3a16223a57391c002921392919111f3b393d3d293d39100231393917390b293a3139211f3b113929313a323a3e16223a57391c002921392919111f3b393036021b4b35113913305739203e3a39162a3a1f3a3a0933393139292a1f293b30351f393b1f3b48393e0231292d1f3a483d371c1330403a4b3e3a1f3a3a093339313929291f293b3b393b292a224a291e0f301b2d3f393d3f1717391f3a023139143a3a16223a57391c002921392919111f3b393d3d293d39100231392a3a570f3e00292932482921392919111f3b393d3d213d39100231393917390c293a1b013d2b3139323a3c16223a57391c002921392919111f3b393d3d313d391f1f3a3d3d2f1c1330403a4b3e3a1f3a3a09333931391b0139302929224a291e0f301b2d3f393d3f1717391f3a3a3d3a39311b013932291e403a1b2d3d3b1c3d3f393d3f1717391f3a3a3f3a39311b01393933393421392035103c11393d29294d4a291e0f301b2d3f393d3f1717391f3a3a3b3a39313139143a3e16223a57391c002921392919111f3b3930351f39133d3f1c1330403a4b3e3a1f3a3a0933393139292a39293b30351f3a48305739203e3a39162a3a1f3a3a0933393139292a1f293b30351f393b1f3b4b393e023b013d313139351f393b392d29292a481911313d33393139313a323a570f3e002921392119114839393b3931292a3a4a291e403a1b2d3f393f3f170c39393a3a3d30291f3a2d3d211c133f393f3f170c39393a3a3f302a0131394d3a3b30223a570f3e002921392119114839393d3d311c3032011b01313b292a10483139323a3b302a3a1f313c403a4b3e013139323a3b30223a1f284c3c1b2b393b292a104a1b16314a3939391f3901393d3339313d31394d3a570f3e002921392119114839393b393e292a3a4a291e403a1b2d3f393f3f170c39393a3a3d30291f3d133d211c133f393f3f170c39393a3a3f302a013139103a3b30223a570f3e002921392119114839393d3d311c3032011b01313b292a10483139323a3b302a3a1f313c403a4b3e013139323a3b30223a1f284c3c1b2b393b292a104a1b16314a3939291f3901393d333931313139103a570f3e002921392119114839393b392b292a3a4a291e403a1b2d3f393f3f170c39393a3a3d30291f3c133d211c133f393f3f170c39393a3a3f302a0131392e3a3b30223a570f3e002921392119114839393d3d311c3032011b01313b292a10483139323a3b302a3a1f313c403a4b3e013139323a3b30223a1f284c3c1b2b393b292a104a1b16314a39391f1f3901393d3339313531392e3a570f3e002921392119114839393b3937292a3a4a291e403a1b2d3f393f3f170c39393a3a3d30291f3b3d3d211c133f393f3f170c39393a3a3f302a01313a323a3b30223a570f3e002921392119114839393d3d311c3032011b01313b292a10483139323a3b302a3a1f313c403a4b3e013139323a3b30223a1f284c3c1b2b393b292a104a1b16314a3939003a393b3d3b3948391f3911393c1911313d3139290c3939391f3d483d291911393b191148393930354e3939391f39133d3a1911313b292a3a303c293934313a351f3d01133c3b3c1b3c3f3b392c313a3508390f394b3900391f39483d2919113d3c31393e3a392f1711392b392e2a0f48393b0f0b1f393a39292929393e292040343f11392c292b3a0932393934141f3d3a39164012393d3d29190131393239393b293b39392929000931393a3a3b3f1729390f4839291e2b3f392b3939333931352929324829292a093d3a1311392c213b393b393a2a29483931393917391f1f293f2b313a3a3d3a3a4131213a3339313931393917391f003a39162a092929394a391f3a3a4131213a3339313931393d2939132d3639290c3a4131213a2929394a391f393431393a3a3d3f1713393d30311f293e3a0e2a4c292e3a083a4a31213a291d113e392c213b393d3f29101f3e3a3312213b39390c2239293e573139391f393b1f3b2b3b313a29293e0a31393e01361f323131393917391f3911392d3d311b292a393139391f392d3d1f1b12213b393d3e573c0f0b1f393d3139360f313d3139391f393b1f3b343b313a361f311b3139391f392c213b3e3b393931393d1f393b1f3b353f174a39103a3a39390c40392932573139391f393b1f3b2b3b313a29293e0a31393e01361f3231313939173910291f393b1f3b303d1b3d293b393929293a3a393b3939333931133d2929393f1f0b1f393d3d39361f311b31393a3b393c1b3c3d3b393933393139311f3e3a3a303d3d293b393931393e3a3130314a391f3a3a1e0f40343139391f393b1f3b343b39393339310f1911313b361f31313139391f3912213b3a3b393a292a0c48292a41493b412d3b392932573913391f393b393a2a1f483931393d1f393b393b1911313d19483d393139323a39202a0a2c292a393139391f392b393b3d3d31193c0f0b1f393b393a1b483d3c1b2b3d3c3913393b293b393931393e323a3d391f390f483b31393a3a394b3e3e3c293d3c293b393b2a29483d3139391f392b4839393c1739393b393a29293e0931293d1f39133d3a19013d3b31393a3a392f1711393d3d3c1b2948393b0f0f3a3b0f323931393536393b393d292936003a3d393c293b393b2a29483e3139391f39133d3a1901313b1911313c31393d1f3915170c3939394e3939391f39483d3c1b2948393b0f0b1f39133d3c2c2948393948391f393b393b29292a0a311f320931393d1f39151717391f394a391f391f39133d3c2b0f48393b0f0b1f39132d36391f36393139391f39133d3a1901313b1911393a3139320934293939371f39393139313639390b35391f0b1f39133d3c2c2948393948391f393b393a33393139361f313931393e3a3a3f1710392b393929292a093129391f39133d3d1901313b292936343c2939343b01393b2a2948393948391f393b393a34293939371f393931393a3a392f1710393b393a29293e0931293d1f39133d3a1901313b3c2939343b0f0b2d393b393929290009311f391f393a3b2d392d3d3a19103b2c39290d343c393d3f1e01393931393e0931292d3b2939323931393917391f291139133d3a1b2948393139323a394b3e3e3c293d1f393b1f3b393b313b31393e0931293d3b293b39393139320a311f3a3a4f313d3a333931392a0f2a393139323a570f3e363a3d391f393b1f3b3b3b313d3139323a394b211139133d3c1c3d3f391f1f3e092a10171f393b1f3b3c3b313c31392a303c29323a4a313d3a291c113a392b1f3b393d3e533139324b1b2c213b39390f3c3b013939333931213129213b293b393931393917391f0f1139481b3d293b393933393131311f323a4e313d3a333931392b2a171f3911393c361f31353139351f3912213b3b390f3a3b0f323931393a3a3e3f171139111f3b393b313d3c29391f393d3d291911313b33393139311f2936393d3d393129353539290b3c293b393b31291b1f3a3b313c292a2a09311f3117391f39113a3948393139363a3d3f17103911393c33393129311f293639390b1f3a483d39361f31393b01393f2a29483b3913391f393b39393339311b311f2a3a39162a3a1131293a1911313b333931392a1f2a393139311f3902213b393b393c3c293e3a4b313d3a291c013a392b1f3b393d3e5331392a4b1b2c213b39390f3d3b01393f292a3a3a3e3b393f3339312931393a3f3f4a171f3902213b393b393c2a29483c3b01393c3139214a39101f1f393b1f3b3d3b313b3a3d391f3901393b361f31293139311f3902213b3f390b1f393b1f3b3e3b313b2a29483b3139351f3912213b3e3b393b3139354a39101f35391f0b1f3a2b1f3b3a3b313b29293600292936303c293e3a4c313d3a31393d4a391f391f3a2b393b29204d00361f313d3139391f392d3d3a1b12213b3a3b393e31393d4a391f39283b01393d3139354a391f0f1f3901393d361f31313b0f323931392d17391f291139133d3b1b2d2d3d293b393e291e3b3a392b1f3b393d213d293d300f1f293d1f393c213b393d30131f293e3a4d313d3a3339313931393e09311f3d4a391f391f393b393a29293e01361f313d31393a3a4f313d3a333931392a0f483c291d3b3a392d3d39361f3139291d013a392d3d39361f31393c0f0b1f3a2d300b1f293d17391f3a3f3a3d3a3a4f313d3a3139394a391f3a3a4c313d3a291d3b3a392b1f3b393b393a1911313a361f31393139391f392d3d3a1b12213b3a3b393931393e0931393d4a391f39283b01393b2920100031393e0931293d3b293b393b291e403a2c292a3931392d17391f1f113a3b393b2929364a311f323a394b2a3a1f31313a191321193139291f3a2b1f3b3c3b313c2a1f2a39291c113a392d30211f293d17391f3a3a1e11393b1c4b3d4a391f3935391f0b1f3a3b393c361f31353139351f3a3c213b3b390f3a3b01393e333931213129213b293b393e31392d17391f0f1139481b3d293b393e33393131311f323a4e313d3a333931392b2a171f3911393c361f31353139351f3912213b3b390f3a3b0f323931392e3a3e3f17113a3b1f3b393b313b3c29391f3a2d3d291911313d33393139311f3136393d3d393129353539290b3c293b393d31291b1f3911313c292a2a09311f2917391f3911391f48393139363a3d3f17103a3b393c33393129311f313639390b1f3a483d39361f31393b01393f2a2948393913391f3a2b393e3339311b311f2a3a39162a3a1131293a1911313b333931392a1f2a393139311f3902213b393b393c3c293e3a4b313d3a291c013a392b1f3b393d3e5331392a4b1b2c213b39390f3b3b01393f292a3a3a3e3b393f3339312931392e3f3f4a171f3902213b393b393c2a29483a3b01393c3139214a39101f1f3a2b1f3b3d3b313b3a3d391f3901393b361f31293139311f3902213b3f390b1f3a2b1f3b3e3b313b2a2948393139351f3912213b3e3b393b3139354a39101f343139391f392d3d3a1b12213b3a3b393931393e0931393d4a391f391f393d300b1f293d17391f3a303c293e3a4c313d3a31393d4a391f39283b01393e3139323a1e163d4a391f291f393b393a29293e01361f313d3139391f392f171f392c213b39390b1f392d3057392d483d293b393a2929364a311f323a394b2a3a1f31313a19113d3a3916413a4a313d3a33393139311f363a392b393b1c3b313b1b2d2d3d293d30211f293d1f3911393c1b12213b393b393a3c393d3431393d17391f1f343129311f392b3939361f31313139311f393c213b3c3b393931393d4a391f0f1f393b393b361f31313c0f0c3a30013d3b31393a3b393c1b3b3d3b393a291e5757570f1c363a3d391f392d3d311c11313b3139323a1f284c5719133d291c133d311b2b313d1c3b313b3139323a1f37391e19133d291c133d3d1b2b313c1c3b313b3139323a1f31392819133d291c133d3b1b2b313b1c3d3d281c11393c31392a01313932011901313b29293e4831393d1f39133d2e1916223a39203e01292a0009312931343139391f3912213b303b393b292932482921113d392f17103a0f323939133a3a4b313d3a33393139311f2a3a392b393b1c3b313c1b2d2d3d293d301b1f293d1f3901393d1b12213b393b39303139394a391f391f393b3930361f31213c393d3431393e3a393d3d223139323a3920220a3139323a3048211a1c3b3d3b31391b17391f3910390f3639313935113a3b1f3b3a3d3e4c1b2b393a2a1f483b3139323a302021103901393b29293e483129311f3a3b393c29292a0019113130292a3a0933393139311f353639390b1f3a013939361f31293139391f3a3c213b3f390b1f393b3939361f31353139391f393c213b3b39403431392917391f1f11392b3939361f31353139291f393c213b3b3b39392929394a39101f1f393b393d361f31353139391f392c213b3b390b342239391f393b393a2911113f29173b391f313b391f353c573931351f392d314c1017291f392d3121101333391f313b391f3739571f01393a291f113f29173b391f313c0f304c373d103b393a291f113129173b391f281f281f01393a2910113129173b3957391d3c103b393a2911113129173c53394c351f392d314c11312b3d103c1b3939390b28393b3939333931353f1139392929394a391f0f34100f3d3a3a304012393d3d291901313e32393912393d3d291901313c3239393b293b393a292f41363a3d393b293b393a292908363a3d391f393b393a3d3c171f393b3d3d3c393d343139391f392a3b2a392d3d3a1911313f3d3e40113a3a3a363139391f3a103a353139391f392a394d3b01393d31393d1f39103c4b392b393c2929394e3939401f392b393d1911393c292941093d3c291f39483d29191129393c393d343d3a1b393b01393e292a3a093239391f39390c2e3929325731393917391f29103a3932572929391f39132d36393a171f3a3d3d311c2b313e31392a3a39203e3e3c29391931393117391f391f3a2a3c3e39290b103a2b393933393139311f391f392b393b31392e093139363a3911393d292932003f013939333931393339311b3d291f393b0f483931393917391f391f392b1f3b393d1334310f391f393d3d39361f31353139391f392c213b3a3b393931393d4a391f391f393b393a29293e09361f3131313939340d0f3d3a394b4012393d3d291901313e3239391f3913300e575757573901313f31393e0a2c292a39313939293c2b3d303139393b1e01393a3139223a3920223a3d3f0c323a3d391f3a2b393a29293e48361f313131392d1f392b393b1912213b3c3b393e2929000931392e3a3b3f17291c111f3b393a3b3b39290f3a3b01393f29293e0a3b483d3a1911313f3d313d3a3129311f3a392a393139311f3a01393d3d303d343139351f3a3f0b11390f2a3931392a3a391629113a3b393b1911393d31391c09313935291b290b1f392d3d3a2a0f2a3931391b293d390b1f393b393b3d3d481f393b393f3d3d0f1f3a2d3d29191129393c0f0b293e0f39341039313a394b4012393d3d29190131313239391f3913300e575757573901313231393e3a1e4b36092c292a39313939293c2b3d333139393b1e01393a3139143a3920223a3d3f0c323a3d391f3b3b393a29293e48361f313131391f1f392b393b1912213b3c3b3931292900093139103a3b3f17291c111f3b393a3b3b39290f3a3b01393229293e0a3b483d3a191131323d313d3a3129311f3a392a393139311f3b11393d3d303d343139213d293b393d292932483139320931391b1f3a103a003b01393c3139291f3a2f080a311f353d293b393d29293248311f1b1f3915171f3a133d3b1c3f171f3a0139331911393e292932481911393c3d303d3431393e3a392d1b3d293b39333d3a39343139391f39103a363139391f3b2a3a353139391f3a3b393f1911393c191131393d3c131f3b3d3d39361f313d3139311f393d3d3b1c3f171f3b3d3d3d191039023139103a3d3f1713393940343d3a1b393b491f3a394b413a01313d3a3d394810394830311f293d293b2b3d3a310f3a3a3d3f0b11391129393139311f393c17393c483e573129391f39292a3931393d3d1e01393c3139310b39394029222b393a3d360f3a3a2d3d393b0131393139360a2920401f393a0b1039390b1f39133d2919112939313939341b393d3c1e013539292a3a0a311f3513393b393b292f41363a3d393b293b393b292908363a3d391f393b393b3d3c171f393b3d3d3c393d343139391f39103b2a392d3d3a1911313e3d3e40113a3a3a363139391f3a2a3a353139391f3910394d3b01393d31393d1f39103a2e3139363a393c17393c01393b31392a093139363a3c4a1729363b393c292a3a09323939283b00392039390b2b393b393a3a3d391f393b393b3d3f2d1f392a3a3f3f1f0b344f393d3a394b4012393d3d29190131313239391f39133e0e311f131f392d3e571b4a08363a3d391f393a39363129173b1e01393a3139143a3920223a3d3f0c323a3d391f3b3b393a29293e48361f313131391f1f392b393b1912213b3c3b3931292900093139103a3b3f17291c111f3b393a3b2a39290f3a3b01393229293e0a3b483d3a191131323d3e40103911393d3a3d391f39113933313929292e290b1f3a1f2a393139311f3a3f171f3a01393f3d3e2d343139351f3a3b393e19150b11390f2a393139311f3a3f171f3a15171f3a3b39331911393e1911393c3d3e2d3431393e3a3b131b3d293b39333d3a39343139391f39103a363139391f3b2a3a353139391f3a3b393f1911393c191131393d3c131f3b3d3d39371f39303139391f3915171f3b3d3d30191039483139103a3d3f1713393940343d3a1b393b01293a39204012393d3d291901313a3239391f392b3939361f313131393d17391f1f10393b393a292a3a093239391f39390b32393b39393d3a214a391f3934330f3d3a1e0139393339313d3129313c293b393a313932303a3d391f393a3a483f11393b29292a0a3129313539290b343139391f392c213b3a390b09393b3539292a3a0a311f3113393932393139391f392d213d293b39392929394e39301f3539290b1f392a39293b01393b292a3a09323939343039391f392d30575757575739480b3d293d304c303a3b2f391f393431393e3a39162929200f0b32393b393a2929394a391f3934361f3a3a0b322d3a333931393f133f0f14293d17391f3a3a0b322d3a3d30363a39162a093f133f0f14293d17391f3a3a0b322d3a3d30363a39162a093f133f0f14293d17391f39193b02483a39204012393d3d291901313b3239393b293b393934293a4c31393e3a30130c012a292a3931393a3a392c17391d390f3a3b01393b2929100931393d2957293d1039390b1f39133d2919112939313939342a293d3b1e013539292a3a0a311f3913393d3f0f14293d291c3a171f393d3057575757573902213b3c3b3939291e575757574030361f313131393a3a3c3f171f393d3d3119103b11392b1f3b393b3d3a31393a3a3d3f1713393b393a3b0f133931393929011f3d293d390b16393b393c31393517391f391f3911393a190131391901313b361f313931393a3a393d173d293b393b31393d1f393a3a3b3f1f0b343d39391f393b393a3d35483a3139391f3912213b3a390e3139293d3d1e013539292b3a0a311f2d13393b393e31393d083939394b3900391f3a2b393a33293931360f35213913391f39483d292b292a393139311039290f3a3b01393c29292a4a31291b1f39113d3a3948391f393b393e292a3a09311f1f1f3a3a3b16392b393d31393d2916293d1f3a3d3d2919113d3d31393e3a3d3f1710392b39313d370b3a3139223a392f17113a1139302a0f48393b0f0b1f3911393c1911393a1901313b3a3d391f393b393e292a3a0931392d29080f3e3a393b3d3f3948391f3a3b393e313922093429393931393d0c39393a02371f393931392a3a392f17103a3b393a29293e0931293d1f3a133d3a1911313f313932303c2939343b01393e292b3a09323939343e29391f393d304c480f394a391f391f393d3d29191039333f1139393b002d3931393a3a48363539361f313931393a3a3c3f17293b10171f39390b3d393d3d3d3b0f403931393917391f391f393b1f3b3a3c213b3a390c3939293257310f3a3a3d3f0b11392b293931393d1f393c213b3c3b393a2929100931393e3a3c3f17292d113d3929292a3a392d3021101f3d17391f3917391f391a3129311f393a3a2a31393e3a3d3f1713393b393b3b020f3a39204012393d3d291901313e3239391f3a2b393d361f313531392e3a3b3f171f3a2d3d3519103a2b3129291f393b393a3139311f39003b4b392b3d39313929292d2b393e292a3a093239391f39390b35393b393a3139310c3939394e393939343d1f391f3a3b393b361f313931391b1f3a2c213b393d3d3c3b011f3a3920401f393d300b481f394a391f393b293b393933393131311f3e3e3c29391f393b48393c3d2d36393b393a3d3a3934313939344d39133a3920403b293d304811393d0c39393a3a39203d36393d304811393d29323d2d3639393239291d1131392b4839393d3d3a1b294839291d1131392a39132a2948392919112e392a391a2919112e392d3021481f394a391f3912393d3d291901313a32393a3a0b322d3a291f394b390f391f392d3d39361f3135291a112e392b393a292900093d35483a291a112f392d3d39371f393931393e3a3d3f1713393a3b3a39133d1d2b292a393d3a1b393b483f0f14293e3a0b322d3a3d302a3a30103b393911313a361f3139291a2b2e392b393a361f3139291a3b2e392a3a3c31393e3a53393a09361f313929293929570f3e3a30103b2039133039141f3e3a15104c292e3a083a0b322d3a3d3e3910392d3f0f14293d291429323a0b322d3a31393d291439323a4032313a3d3a0c3a4032313a29212c1c393c213b393d300f131f3e3a0d311b3a3d3a1729303d304c131f3d293f48304c131f3e3a08364839361f3139291e112b392d3039100f3d293f10391b29213b2c392a391a2921012c392d3d39371f39392921112c392d3d39361f313929213b2c392d300b481f394a391f3a3a1132353a291a390133393139361f313929213b2c392d3f3d11293d293f10391b29223b2c392a391a29223b2c392d3029491f394a391f3a3a1332353a291e0131392a39193d3a003a1532353a3d3a0c3a1532353a291d2c20393c213b393d3f21130f3e3a1231133a3d3a1729303d3f1f130f3d293f483f1f130f3e3a17363539361f31392919112c392a392f361f313929193b2c392d3f2d11293d293f10391b291a3b2c392a391a291a3b2c392d304c4a39394a391f3a3a0b32353a29220132392a39193d3a003a0d32353a3d3a0c3a0d32353a291d0222393c213b393d3f4c130f3e3a0831133a3d3a1729303d3039130f3d293f483031130f3e3a0a0c1f39370f3d39291b3b2c392d3029480f394a391f3a3a0232353a3d3a3d19291b3b2c392d3f0b11293d293f10391b291c112c392a391a291d3b2c392d330d1f313b390f392d4b391f3a3a4a32353a291e122c393c213b393d3017130f3d293d2a083a4a32353a291a2b32392a39193d3a003a5332353a3d3a0c3a5332353a291b2c1c393c213b393d304c130f3e3a01311b3a3d3a1729303d3f3914393d293f483f3914393e3a0d364039361f313929213b2d392d3029100f3d293f10391b2921112d392a391a2921112d392d3f354c29394a391f3a3a1132293a291c1130392a39193d3a003a1332293a3d3a0c3a1332293a291e2c11393c213b393d3f2914393e3a4c311b3a3d3a1729303d3f2114393d293f483f2114393e3a02371739361f31392922112d392d3f3111393d293f10391b29193b2d392a391a29193b2d392d301f4e0f394a391f3a3a1732293a29223b31392a39193d3a003a0932293a3d3a0c3a0932293a291c2c0b393c213b393d3f1714393e3a15311f3a3d3a1729303d3f0f14393d293f483f0f14393e3a01374839361f3139291a3b2d392d3f1f11393d293f10391b291a112d392a391a291a112d392d3f404f1f394a391f3a3a0d32293a29191131392a39193d3a003a0f32293a3d3a0c3a0f32293a291d3c0e393c213b393d303914393e3a0b311f3a3d3a1729303d303114393d293f48303114393e3a10283d39361f3139291b112d392d3f4c11393d293f10391b291c3b2d392a391a291c3b2d392d3f17401f394a391f3a3a4832293a291b3b31392a39193d3a003a4a32293a3d3a0c3a4c32293a29223c40393c213b393d302114393e3a0e372939361f3139291d3b2d392d300b4d39394a391f3a3a4a32293a291d1130392a39193d3a003a4e32293a3d3a0c3a4032293a291a2c40393c213b393d301714393e3a00372139361f3139291e3b2d392d30484d1f394a391f3a3a4e32293a291e3b30392a39193d3a003a5332293a3d3a0c3a1f322d3a3d28173a291e112d392d3f0f4e39394a391f3a3a5332293a291e1130392a39193d3a003a11322d3a3d3a0c3a13322d3a3d28173a2921112e392d30354e29394a391f3a3a11322d3a29213b31392a39193d3a003a15322d3a3d3a0c3a15322d3a291b0202393c213b393d3f2114293e3a01311f3a3d3a1729303d3f1f14293d293f483f1f14293e3a00282939361f313929193b2e392d302911393d293f10391b291d3b31392d3f1714293d4a391f3a3a4d311f3a291d3b31392c213b393d301711393d29310f0c3a4f311f3a291d2b31392b1f3b393a3b293913300f11393e3a4f311f3a361f3139291e2b31392a39123b013939291e3b31392b1f3b393b1f3b393b3139361f313931393929021f3d343d0f391f393b393a33393139311f394a391f391f393a3c3739290b01393b3939333931393f11393933393139313939291b483d3b1c3f171931393917391f391f393a3a29292932481910171f393b1f3b393b39393d30363a39162a093f1f0b2c393b393931393917391f3a3a392f0b11393c213b393b39393b4a403a3916401f393d3021481f394a391f391f393d3d3119113d3a3948391f392a3a29313932343a3d391f392b393b3d301b17391f393d293b393a313931291c011f3b393a3b1239290b1f39133d3a19113d3b3c393d343b01393929221f3a191039333f11393a3d323d3b31393d17391f393d293b393a3d322d3b31393d291c3b393a3339313931393d291b003c4039290b1f39390b09393b3939333931393f11393933393139313939291b483d3b1c3f171931393917391f391931393917391f391f393a3a2929293248191017343c39391f393b3939333931393d280b3a3b4a313a394b413a3b3a3930311f3e3a48284039361f313931393e3a57284039361f313931393929131f3d1139133d3619103a1e311f363a393c213b3b3b393c3139314a391f291f3901393b361f313931393d1f39483d35191139393139323a392f17292912213b3a3b393a29190139392c213b393b393a291b0139392d3d3c3d3921393b4b313a394b4012393d3d291901313a3239391f392d3f0f14293d4a391f391f392d3f4814293d17391f39113912213b3a3b393a3139311f393d3d3b1c3f174a391f1f1f392b313c3339313d3129391f39011f3b3b3b3d3b3948391f393b393b2a1f2a39313935291129311f392d3d29191129393a2d3f0f14293d291c3b39393d284c3a3139351f393d3d3d19113139361f313d3c393d343b0f0b1f393b393929193c2c393c213b393b3939333931313d3a22303a3d391f393b1f3b3b3a3c2d391f0b1f39390b3d393d3e573b53313e39290857310f3a3a3d3f0b113d0129393139311f393c213b393b393c2921393d1b2b3d2e31391c3a391629103e1f3639313a2a3a3a3d213d293b39363d39143a392d0b3d293b392c31394829293c213b3b3b393b313a363a3b3f083a392a3b1e391139363d3f0f1f39111f3b393a3b13392c213b39390b1f39483f0f39203d1139483d292a0f2a3931393d1f39483d1f2a1f2a5731393117391f393e31393934361f31393b01392c292a3a093239393e3913393b293932393913393b2939323931391f1f3e3f170b393939373a29393a390f313d3a290b1f392b393b33393139361f31393c39293431393d1f39111f3b393c213b393b393f292b3929282b3d303139311f39111f3b393b312829292a09361f31393139401f3a02213b39390f3c3b0139363d3d133639113936292939290b293d17391f39103a01393b31393117391f39113c483d3d1912213b393b392831391b4a391f3935391f0b1f3c3a3a32313a2e3e1b1f483a3139311f3c3a3a3931390f291a3b393b333931393d33293a361f31393c393d3431393117391f39103e01393d313a2209311f29103a0f36393913391f3a2b39302c2948393139223a1f3a391f3a011f3b393a3a372a29483931391c3a3a3f17103a0f0f3a3b0f0b1f3c11312829293a333a3d393c293b392829293a353139291f3a4841012a292a3931391c3a3a3f0b113a011f3b393b3d293139311f39111f3b393b312a29292a09361f3139313a3d1f3d3c213b393b392829293e0a3129403539290b343139413a393d0f3d1e483d393a2b393f292c392928290b103d2936393139311f39111f3b393b312929292a09361f31393139413a393d173d293b3929313a3d4a391f391f3c483d3a19013d283c393d343b0139293139134a391f39343913391f3a3b39302a1f2a393139223a353a39413129401f3911393b3339313931103a3a3a3f17113a02213b393b39293139404a391f393539290b1f3b003a323a30413a1e0f2d1f3b483d393d390b0b39393934312a3a3a393b3d28292939103d1f36393139291f3a481b3d293932393139401f3d3d1b3d293b3928312a3d3539290b1f3911393b3339313931103a3a3a3f174a391f391f3d3b3933361f3139292939103d2b39343d39131f3d133d3a1911312b2c292a39313940103d390f3a3b013934313a31293b014839393d3057393d213d293d3e57312a393539290b1f3b01392b3d390b0b393939103d390b1f3a483d3d19013130333931393129401f3911393b333931393110103a3a3f174a391f391f3f3b3928361f3139313a3e3a392f17103c0f0f3a3b0f0b1f39111f3b393b3d303b01392031391b290a293d34313a2a3a392f17103e390f3a3b0f0b340829313a39204012393d3d29190131333239391f3b2932573139393d293b393b3d333d3b3129393b293b393a3a3d391f3b1139393d3f131f3901393333393139361f39393139171f393a3a173c393d343139171f393a3b14392b393c31391717391f394a3939391f3b1139393d3d173431391f1f3b103a20313917293b10171f3a3b39393d3d1f4a391f391f3a2b39393d3c1f4a391f391f3b1139393d3c1b1f3a1139333d3c391f3b1039333f113933313939292b013930313917292e0139333d39171931393929220f0f3a3b01393b3d33393b3129393b293b393a3a3d391f3b1139393d3f131f3901393333393139361f39393139171f393a3a173c393d343139171f393a3b14392b393c31391717391f394a3939391f3b1139393d3d173431391f1f3b103a20313917293b10171f3a3b39393d3d1f4a391f391f3a2b39393d3c1f4a391f391f3b1139393d3c1b1f3a1139333d3c391f3b1039333f113933313939292b013930313917292e0139333d39171931393929220f0b4a391f391f3b133d29191129393b41293e39290857310f3a3a3d3f0b113e3b29393139311f393c213b393b393c2921393d1b2b3d2f3948391f3e2d3d3d2a1f2a39313948293b2d3d3a2b0f2a39313a291f3c2a3a39361f31313139311f3e3d3d3119133d3a3d33213b313948291a11393b333931393d33293a361f31393b01393c291a393a1b2b313c292a3a303a3d391f392b393c292b3a3f3a30401f39111f3b39392d1f39390b4a391f3934313a2a3a3d3f1713393940343913393b293932393913393b2939323931391f1f3e2f170b393939373a29393a390f313d3a290b1f392b393b33393139361f31393c39293431393d1f39111f3b393c213b393b393f292b3929332b3d283139311f39111f3b393b312929293e09361f3139313a391f3c02173939390f3c3b0139363d3d133639113936292939293b014839393b3d283139311f39111f3b393b312929293e09361f3139313a391f3c02173939390f3b3b0139353d3d131f3e132e013c293d1f391139353d3d391f3c3a3a0d31393117391f392908393d4a391f393539290b1f39111f3b393b3d203139291f3a4a17113a3b3d2a3948393b293b393e313a3e363c29391f3a133f393d3b392a343939393d3d2a3e3c29391f3d2d3d3a19113d2a3c393d343b013937311f413a393d173d293936393139413a393d0f1f3a3b392a2c4b323e3a3d391f3d2d3d3a1901312a34293939312a391f3911393b333931393110323a392f174a391f391f3d113929371f39393139413a392f0b103c0f0f3a3b0f0b1f3c483d392c392a572929393e3139223a353a39083b013d2b3948391f3911393b3339313931103a3a392f174a391f391f3c483d392b1f2a39313a391f3d121739393b392829293e0a3129403539290b34313a391f3b2c173939390b3b293b393d313a3e3f3a3d391f3a133d0f3d3b13103c01393b31393117391f39113d3d3d3a1912213b393b39293139404e3939393539290b1f3b003a323a30413a1e0f2d1f3b483d393d390b0b39393934312a3a3a393b3d28292939103d0f36393139291f3d2d2136392932393139401f3d3d1b3d293b3928312a313539290b1f3911393b3339313931103a3a392f174a391f391f3d3b3933371f3939292939103d1139343d39131f3d483d3a1911312c2c292a39313940103d390f3a3b013934313a35293b014839393d3057393d213d293d3e57312a393539290b1f3b01392c3d390b0b393939103d390b1f3d2d3d3a1901312a342939393129401f3911393b333931393110103a392f174a391f391f3f3b3928371f3939313a323a392f17103c0f0f393b0f3934313a1b1f39111f3b393a3a4d3b01392e29293e09312a2d3539390b393b4e2d3b39293e57310f3a3a3d3f0b113b1129393139133b1e0139393a3d391f39103b1739113d393913391f39292a393139171f393a3a083139351f3b111f3b393c2139393b39333139392919390f3a3b0139333139392908293d1f3901393333393139361f39393139171f393a3a333b01393131391729353b39333d3917193139291f393a3a31371f393931392d1f393a394c371f39393139171f393a394b3139211f3b10390f313917293b10171f3b1139393d3d0b1f3a0139333d3c391f3b1039333f1139393d3f1b3539290b1f39103b1639113d393913391f39292a393139171f393a3a083139351f3b111f3b393c2139393b39333139392919390f3a3b0139333139392908293d1f3901393333393139361f39393139171f393a3a333b01393131391729353b39333d3917193139291f393a3a31371f393931392d1f393a394c371f39393139171f393a394b3139211f3b10390f313917293b10171f3b1139393d3d0b1f3a0139333d3c391f3b1039333f1139393d3f1b34361f31393139083a3d3f171339390b31393b3939333931392a290b4b39293e57310f3a3a3d3f0b11391129393139311f393b1f3b393c213b3b3b393b31393117391f1f1f392d3d3b1c3f174a391f1f1f39111f3b3b3b3d393139323a3d3f1713393b39393b0f173931393a3a15311f3a3d3f29343b1f391f393d3f1f11393d2922390b32393b393931393d290a1f3134300f3d3a1e01393a333931393d28173b3129311f393b393a33393139361f313d3139391f3912213b39390e003c0f3d331e013539291a393d190131343239391f3b013933361f33133a3b393431393d4a39091f3d31390c3a3612213b213b393431390c3a11393e0931390c3a13393e0931390c3a4c393a09311f3d293011312833393139311f174a3917293a31390b1f3b133f29394a174a3917393a31393d293d2b3d2a31390c3a48393a093d3d1b103c113934292d3a0a3d3d1b103c3b3934292c3a093d3d1b103c2b3934292b3a093d3d1b103d3b3539292a3a0a311f3d13393b39343916401f391f2a3931393d1f39003b103911313b3d3f131f3b01393a33393139361f3a4c31393d1f39103a173139481f392a3a2031393d293b10171f392b393b3d3d171f3c3b393a3d3e1b1f392a39333f113934313931292b3c213b1c3b393431393129373c213b1b3b393a313931293601392a31393d29353b393a3d39171931393d1f39103a3431394c1f392a3a2031393d293b10171f39103a163c393d3431393d1f39003b1f3911313b3d3f131f3b01393a33393139361f3a4c31393d1f39103a173139481f392a3a2031393d293b10171f392b393b3d3d171f3c3b393a3d3e1b1f392a39333f113934313931292b3c213b1c3b393431393129373c213b1b3b393a313931293601392a31393d29353b393a3d39171931393d1f39103a3431394c1f392a3a2031393d293b10171f39103a163b02213b303b393a292a3a093239391f3b2b393133393139361f313931392a3a1f392a003110323a3b2021103d483d3931293e3a393b3d3b3948391f39113d333913393b293932393913391f392d3d3d2a1f48393139391f3b483f173a3f172936132d36393d3d393129293b293932393913393b293932393913391f3b48304c393f171f392f170b393939373a293d393a39353e3b290b1f392d3d3c2a1f483031391c3a1f35393931393929312a3a373a3d391f3b483d29191139393d33353b313a391f3b011f3b3d3a3c3039290f3b3b01393e31392d17391f3a3a3a30314a391f3a3a393b3d393c39213431393e3a394821363a1f0b3c293b393931390c3a09392a093d3c223e3c29211f3a483f390f39391f393a39103d3d4d3e3c29211f3b483d29191139393d33353b313a391f3b011f3b3d3a3c3039290f393b0f393431390f293b2d3d39313948293b2f0c3f3c29293b293b39353d39133d293b39363d39133639290b1f3c3a39323129351f393a39103129311f390f2a3931390f293c2b1f3b393b393b2a1f2a3931393929322a171f3c3b393331390f293b2d3d3a2b000b10391f0f313b01393f29293d4e393939353a1f0b1f391139363d394817391f3a303c292d1f393a39143f11393f29293d4e3939391f3c2b3933313948293b2d3d3a2b000b10391f0f3f3b0139393d3b3d1f3c3a3936333931392a1f2a3931393929322a171f3c3b393331390f293b2d3d3a2b000b10391f0f3f3b0139393d3b3d1f3c2a3936333931392a1f2a3931393929322a171f3a133d3a371f39393139481f3b1139363d39143a392d0b1a312931353a1f0b1f3a2b393e3339313929292a01361f31392929391039390f3c3b01393331393e3a391314012a292a39292939103911392c31393e3a3913211f3b0148391d483d392a4b3e012a29483e3b01393431394c29293c213b3b3b3934292a3a0931390c3a3b3f172909393d10391f323931393e3e3c29391f392b3934191148391c483d3a2b0f48393948393b293b393431394c291a3c213b3b3b393b31390c3a3b3f17292f482d36393b393029213c39393b393b33393139333931393d3d4d3e3c29391f39103b2e39290f3a3b0f0b1f3b0139373d3d394a391f1f1f39111f3b393b39343339313119483d3b1c2b313b313a39293b2d483d293b3934313a39291a3c213b3b3b3934292910092929391f39150b29160f3110390139293d3f0f103a3b39373d3d39103e3b3539292b3a0a311f3113393b393b3139294a3910391f3911393c361f31213139311f3e3c213b3b3936393913391f39133d211911393b292a3a093d3e0b1139482d36393b393b333931213339313931393117391f1f17391f3a303c29391f39133d2119103b2e392b393b292910093d322d3a3c393d343b01393b292b3a093239391f39483d3a1b0f483a3b01393431394c29293c213b393b39342929100931390b2909393d1931390b1f3b011f3b3b3c213b3d390b1f3b01393433393129361f31313948393b293b393431394c291a3c213b393b39342929100931390b292f482d36393b393931390c3a09392a093d3c223e3c29391f393a391031390b17391f1f17391f3a303c29391f393a39143f113934292910093d322d3a3c393d343b01392b2a29483c31390b1f3c103a0b361f313931390c3a3b3f171f3b003a1a2a29483c31392d1f3a2b1f3b393d3d3d1b12213b393d3d3931293935391f0b3c293932393139391f3b483f173a3f172936132d363939325731391c3a1f3a391f393a3910311f31292c1f2a3931391317391f391139013934333933133a3d213d293b39313139131f3b483f133a3f1729101f3d1f3b2b1f3b393b3d3c3b0139323139363a3a3f174a391f391f3901393b361f313931392a3a392f173539290b1f3d2a39322a2b393d2a203136392b393b31390b1739163a303c293d1f3b011f3b10393d113911393433393339392d213d293b392831390c3a10393e0931390c3a1f393e093d31213a31390b173917293a3129313431390b1f39133d3d1912213b10393d1f3911393d361f3139292939343129291f393a39143f1f0f3a3b0f0b1f3a3d2d1f3b011f3b10393d1139113928333931392a16323e3a3d391f3b011f3b1f393d1f3913213d293b392831390c3a10393e0931390c3a1f393e093d31213a31390b173917293a3129313431390b1f39133d3d1912213b10393d1f3911393d361f31393b0f323931390b173910003a393d0f36393932393139391f3b483f173a3f1729333d2d3d293b39393d3b3d1f3b011f3b1c3d213639290b1f3a2b393e3339313929292a01361f31392929391039390f3c3b0f363931393929322a171f3b011f3b303d3d392c39483a3913391f393b393429191f3d191039172a292a3931391c3a1f3a391f393a39103d3d4c3639290b1f3a2b393e3339313929292a01361f31392929391039390f3d3b0139323339313931390b173909293d2a1f2a3931391f1f3b2b39342919293d19103b3f39290b1f393a39103129311f3b2b393233393139311f363a3a3f174a391f391f3901393b361f313931390b1f3b011f3b303d3d3a1902213b30390f393b0f393431391710391139313339313931391317391f3a303c29351f3a2b393e3339313929292a01361f31392929391039390f3a3b0f32393139083e3c293a3a392b3d3d3948391f3b10393231392a363c293d3b293b393931390c3a09392a093d3b103e3a3d391f393a39103139171f3a3a3b00392b1f3b393d213639290b1f3a2b393e3339313929292a01361f31392929391039390f3c3b0139393d3b2d1931392a3a392f17103a390f393b0f393429293d10393b39283339313931390b173917293a2a1f483929293910393b39342929394a3910391f3d2b39283339313931390b173917293a31390c3a3d3f1729342b3934333931293a3d391f3a2b393e3339313929292a01361f31393c393d3429293d1039390b1f3d3a39333f1139363d39171931390f293b10171f3c1039333f11392a3d39171931394029302b3934291a393d19112939313939283b0139333129313431393e3a392f171039290f393b0f3934300f391f393b393a3d33213a3d3b1b1f392a3b2f392b1f3b393b3d3a31393929141f3d1f392c213b39390b4839293e57310f3a3a3d3f0b11391129393139311f393b1f3b393c213b3b3b393b31393117391f1f1f392f174a391f1f1f39111f3b3b3b3d393139323a3d3f1713393b39393b0f173931393a3a11311f3a3d3f29343b1f391f393d3f2911393d2922390e3a39293d3f1e013539292a3a0a311f2913393b39393d32213a3339313931292d3b1e01393b3339313931393917391f3a0a311f363a57575757570f1c323a3d391f39483d3a1c390f3a3b483e573b01313c29293d1f39000b103901393a333931393129211f393b1f3b393b3d3031392e3a3613213d1e483d393a2b3939333931393b01393c3d324c3a311f1f3d293b393e292c22303a3d391f393a3b15392a173431392a3a362c213b3a3b393931392a3a3b3f171f3b3b393d29292a093d3a4c113a2a3b143911393e3d3a481f392b3939333931393139211f3a4a0c09361f31393139311f39013939333931391912213b393b393d292a3a09323939283b00392039390b1439293e5731393d17391f3929570f323a3f302a3a3f302d103911393931393d17391f394a391f291f393b393b371f39393b4d402939290857310f3a3a0b392a0a311f0b13393b39343139174a3909293d31390b1f392c213b0939291f3b483d4a361f321731390b1f3b483f31392f171f3b483f29392f171f3b483017393f1711392a391d311f4017391f39113b12213b10393d1f3b0139332922393c1912213b1f393d1f392a392a312a3d1f3b483021393f17293d2b3d3731390c3a01393a093d3a3d103c3b3934292c10093d3a3d103c2b3934292b10093d3a3d103d3b3539292a3a0a311f3d13393b39343916401f391f2a3931393d1f39003b173911313b3d3f131f3b01393a33393139361f3a4c31393d1f39103a173139481f392a390f31393d293b10171f392b393b3d3d171f3c3b393a3d3c391f392a39333f113934313931292b3c17391c01393431393129373c17391c11393a313931293601392a31393d29353b393a3d39171931393d1f39103a3431394c1f392a390f31393d293b10171f39103a163c393d3431393d1f39003b163911313b3d3f131f3b01393a33393139361f3a4c31393d1f39103a173139481f392a390f31393d293b10171f392b393b3d3d171f3c3b393a3d3c391f392a39333f113934313931292b3c17391c01393431393129373c17391c11393a313931293601392a31393d29353b393a3d39171931393d1f39103a3431394c1f392a390f31393d293b10171f39103a163b02213b323b393a292a3a093239391f3b2b393133393139361f313931392a3a1f392a003110323a3b2021103d483d3931293e3a393b3d3b3948391f39113d333913393b293932393913391f392d3d3d2a1f48393139391f3b483f173a3f1729352d2d36393d3d393129293b293932393913393b293932393913391f3b48304c393f171f392f170b393939373a293d393a39353e3b290b1f392d3d3c2a1f483031391c3a1f3539393139392930003a3d3a3d391f3b483d21191139393d33173b313a391f3b010f393f3a3b1039290f3b3b01393e31392d17391f3a3a3a30314a391f3a3a393b3d393c39213431393e3a394821363a1f0b3c293b393931390c3a09392a093d3c3e3e3c29211f3a483f390f39391f393a391e3d3d2a3e3c29211f3b483d21191139393d33173b313a391f3b010f393f3a3b1039290f393b0f393431390f293b2d3d39313948293b2f0c3f3c29293b293b39353d39133d293b39363d39133639290b1f3c3a39323129351f393a391e3129311f390f2a393139003a393a3934342939393139323a570f3e002a1f2a39313939293110171f3c3b393331390f293b2d3d3a2b000b10391f0f313b01393f29293d4e393939353a1f0b1f3c2d3d393d390b0c3939391f3913305739203e303c292d1f393a39113f11393f29293d4e3939391f3c2b3933313948293b2d3d3a2b000b10391f0f3f3b0139393d3a413a570f3e003139003a393a3934342939392a1f2a39313939293110171f3c3b393331390f293b2d3d3a2b000b10391f0f3f3b0139393d3a413a570f3e003139493a393a3934342939392a1f2a39313939293110171f3a133d3a371f39393139481f3b1139363d39143a392d0b1a312931353a1f0b1f3a2b393e3339313929292a01361f31392929391039390f3c3b01393331393e3a391314012a292a39292939103911392c31393e3a3913211f3b0148391d483d392a4b3e012a29483e3b01393431394c29293c213b3d3b3934292a100931390c3a3d3f172909393d10391f323931393e3e3c29391f392b3934191148391c483d3a2b0f48393948393b293b393431394c291a12213b3d3b393b31390c3a3d3f17292f482d36393b393029213c39393b393b33393139343939393d3d2a3e3c29391f39103b2039290f3a3b0f0b1f3b0139373d3d394a3910391f39111f3b393b3934333931291901313b313a39293b2d483d293b3934313a39291a12213b3d3b3934292a3a092929391f39150b29081f3110390139293d3f4c103a3b39373d3d39103e3b3539292b3a0a311f3113393b393b3139294a3910391f3911393c361f31213139311f3e3c213b3b3936393913391f39133d211911393b292a3a093d3e0b1139482d36393b393b333931213429393931393117391f1f0c39393a303c29391f39133d2119103b20392b393b292910093d321b3a3c393d343b01393b292b3a093239391f39483d3a1b0f483a3b01393431394c29293c213b3b3b3934292a3a0931390c3a3b3f172909393d1931390b1f3b011f3b3d3c213b3f390b1f3b01393433393121361f31293948393b293b393431394c291a12213b3b3b3934292a3a0931390c3a3b3f17292f482d36393b393931390c3a09392a093d3c3e3e3c29391f393a391e291e403a1b2b393433393129342939392a0f4839313939293110171f3b483d2919103b2039290f3a3b0f0b1f3d132d363901393431394c291a12213b3b3b3934292a3a0931390c3a3b3f17292f482d363901393e31392d17391f3a3a3a30314a391f3a3a393b3d393c3931343948393b293b393931390c3a09392a093d3c3e3e3c29393b1e01393029213929313939293001313b3d3d293d293b393233393139311f351f3b011f3b08392a3f3a3d391f3b3b393231390c3a08392a093d33133b31391317391f3910390f0b1f3b2b393c29293e09361f31393139351f39121739393b393d29293e093c393d34313a3d293b2d2d1f3a3d2e013c293d1f3b0148391c11393b291e403a1b2d1b36392b39343339333d392b313b31390b173917393a2a1f2a393139401f3b483f3d392f171f3b483f39392f1729101f3d1f3b011f3b10393d10391f0b1f3b01393b29292a09361f333d392b393b3139294a391f3a3a39390b103a3b39393d3b31193c393d343b01393d2a2b39343339333d392b313b31394017391f3a3f1b132d3d293b393433393339392b393b2a1f2a393139401f3b483f3d392f171f3b483f39392f1729101f3d1f3b011f3b10393d10391f0b1f3b01393b29292a09361f333d392b393b3139294a391f39343913391f3b011f3b323d3d392c3948393913391f393b393429191f3d191039152a292a39313939293048305739203d1f3b0148391c48213639290b1f3a2b393e3339313929292a01361f31392929391039390f3c3b0f3639313939293110171f3b011f3b323d3d392c39483a3913391f393b393429191f3d191039152a292a3931391c3a1f3a391f393a391e3d3d293639290b1f3a2b393e3339313929292a01361f31392929391039390f3d3b0139323339313931390b173909293d2a1f2a3931391f1f3b2b39342919293d19103b08391f0b1f393a391e3129311f3b2b393233393139311f363a392f174a391f391f3901393b371f393931390b1f3b011f3b323d3d3a1902213b32390f393b0f393431391710391139313339313931391317391f3a303c29351f3a2b393e3339313929292a01361f31392929391039390f3a3b0f32393139083e3c293a3a392b3d3d3948391f3b10393231392a363c293d3b293b393931390c3a09392a093d3b223e3a3d391f393a391e291e403a1b2b3933313929293b014839393d213639290b1f3a2b393e3339313929292a01361f31392929391039390f3c3b0139393d3b311931392a3a392f17103a390f393b0f393429293d10393b39283339313931390b173917293a2a1f483929293910393b39342929394a39101f1f3d2b39283339313931390b173917293a31390c3a3f3f1729342b3934333931213a3d391f3a2b393e3339313929292a01361f31393c393d3429293d1039390b1f3d3a39333f1139363d39171931390f293b10171f3c1039333f11392a3d39171931394029302b3934291a393d19112939313939283b0139333129313431393e3a392f171039290f393b0f39343c39391f393d3d3a292b48290d0f31193b0f0f3931393a3a392d3d0c3d37403a3f1f0b33393b393a31393a0a292932493b0f293931393d3436293d3a1e013539292a3a0a311f3113393b393b3139390c3939394e3939401f393b393a34293939371f393931393d1f39133d2819114839393c1739393b393b292a3a093239393422393d3a1e013539292a3a0a311f2113393b393f2929394e3939401f3a11393e371f39373139211f3a3c17393c2b393f292b2d4e39390f1f3a292a393139223a3c2f171f3a133d3719103b0f391f0b1f3911393a31393d1f39111f3b393a3c0d3911393f292900093139351f393b1f3b393a393a31393e09361f31393139223a3d3f171339390e0139293d3e1e013539292a3a0a311f3513393b393b291f394b3939391f39133139360f39313139351f392b13393b3c1b3c3b3b393c31393d083939394b390f393c293b393931392e093129223a393b3d3a3948391f3a114839393d3d3031393e0a1c133d3a1b292a393139311f39003b1c39290b1f390148393c013d303139363a3c3f17113a3b393c34293934292a41483139292914393e3a392022013d32353a3139363a3b3f17113a3b393c34293930292a41483139292914393e3a392022013d32353a3139363a3a3f17113a3b393c3429393c292a41483139292914393e3a392022013d32353a3139351f39003b2d392d3d3a1c103b2c392b393029293e003a3d391f3901393c34293939291d3d3a1b02173939390b1f392d3d3a1911313a292910303c29393431392e3a392f17113a2d3d292a0f48393b01393c292a3a09323939342929391f392b393b3139351f3a3d3d3d3d3e1f10392b393c3429393929292a002a292a393139391f392d30293c4a171f392d300b3c15171f392b393a291d29392b3a0b1f392d303e393d1f1a291d0f371902213b39390b342939391f3911393c31393a3a3b3f171f393b1f3b3b3b1f3b3a3a3d39393b313931393a3a1739320931392d1f3a3d3d393d34313a31393a0a311f3a3a160f32353a3d391f392b39392929000c2929000e361f31393b0f0c39393b393b3139351f393d3d311911393933393131333931393d293939311f391f393d3f17392f171f3a2b393d292939290b1f3d1f393f0b11393d3f16392d0f3d293b393a31393a3a3c3f493a3a4a404a391f39343b483d3931393d1f3911393c31392a3a3a3a3a2231293d1f39014839393d3d3d1b2d2d3d293b393931393e3a4839410931393e3a4f394d0931393d1f392d3013393d1f1a31393e3a00293a313f48300b3c150b4a391f39343b4839393139311f390139392929100931393917391f1f17391f292a39393911393b39392919393b1911393e31392a3a393a3b48392b3939190131392922403b2c392a3931393d1f393d3d351a2d3d351a02213b39390b342939391f3911393c31393a3a3b3f171f393b1f3b3b3b1f3b393a3d39393b313931393a3a09393e0931392d1f3a3d3d393d34293a31393a0a311f3a3a080f3e353a3d391f392b39392929000c29291c0e361f31393b0f0b3d393d3d3b3b4e403e39290857310f3a3a3d3f0b113b2b29393139212937013d333139131f3a103b35392b31363d3c1b1f3a2b393c361f31393913393b293b3939311f1b0c393939113a133d0a190f4c3c39393d3939290b1f3b11393f292a1048292a10493d3c48103a11393e31392d17391f39113a483d3d1912213b393b39303139214a391f391f393d3d3a19113d303b0f32393913391f39113930311f220a29293e353c29391f3a014839393d3d0f2a0f483931391b0c39393e3a3130323a53393a303c29391f3b133d0f3d3c48103a11393e31392d17391f39113b3d3d3d1912213b393b39313139214a391f391f3b1139303439393a3d3c48103a11393e31392d17391f39113b3d3d3d1912213b393b39313139214a391f391f3a483d3b191131303129213c293b393b313922363c29311f3a110f39393a392f3d361f3b2a29483b3139223a392f17103a1f0f393b0f39343948391f3911393f2c29483a3139210b393939103b3a392f3f1139313d3d2e3e3c293d1f3a133d3a19113d3f3c39393439390b3b293b39323d3d133d293b393331391b1f3a11393e333931393d3f351f3a2b393e333931393139211f3a4a0c3a39162a09361f31393c393d3431391b1f3a103a4d31394829373b3d3731391b103b3936393139211f3b3d483d293b393c31391b1f393f0c3a39162a0931392d17391f39290a293d3e3913391f3b2b39343d390b0b39393a3a393d0f36393b39353139131f3b003934343939392a0f483931392d1f3a2b1f3b393b313529292a09361f313931390f1f3c12213b393b393431390b1f3b2a393229293e0a2b2f17103b483d3931290f343139171f3b3b0f39393a39413129401f3a2b393e3339313931103a3a3a3f174a391f391f3d3b3928361f31393139103a392f17103b3b393529293e0931290f3539290b343b0f32393913393c293b393b313922363c293d1f3a114839393b3130292b4d303a3d391f3b113930292a1048292a10493d3c48103a01393e31392d17391f39113b3d3d3d1912213b393b393131391b4a391f391f3a133d3a19113d3f3c393d343b0139363d3d1f103a01393e31392d17391f39113b483d3d19113131361f313931390b1f3a02213b393b393f29293e093129213539290b1f3a2b1f3b393b3d313b0139333139211f391139313d3f351f3a2b393e333931393139311f3a150c3a39162a09311f2d4a391f391f3a3b393e3139351f392b393919483d3b1c3f171f392b393b2a100b4a391f391f3b2a39333f113932292a3a09323939340d393d3a3a204012393d3d291901313032393912393d3d291901313e3239393b293b393a291d57575757403c2c292a393913391f392d3d3a2c292a393139391f392a394e313939103a1f0f3a3b0139393139391f392a3b3b392d3d3a1911313c3d313d3a311f21292c2b3939313935292c3b393931393d2937290b1f3a113d3d31393d11390f2a573139353d293936393139291f3912213b393b393d29292a093129291f39483d3a1901313c3c2939343b483d393a2b393d3b00171f3a2d3d39361f31353139211f392d3d3b1c3f171f3a2d3d351910390231392e3a3d3f171339390f3a3b00392039390b1f3a483d29191129393139393415292d3a3b164012393d3d29190131323239391f3a1039013129171f3b2b393f3d314c3a311f48293601393e3139354a391f393b29393239313939113a014839393b313f292b0c0a3c1f35393929393a3b0139333139223a3f302a3a3f302d29332b3d3f31392d1f3a2b1f3b393b313029293e09361f313931391b1f3a121739393b393929293e0931291b343913393b293b393b31391b113a150c3a392d0f36393b393034293939292c3a303c29391f3a014839392d3d1f1b13304c393d1b36393b3933292c3929332b3d3f31392d1f3a2b1f3b393b313129293e09361f313931391f1f3a121739393b393331391b0b39393d29332b3d3f31392d1f3a2b1f3b393b313129293e09361f313931391f1f3a121739393b393029293209311f1b103a1f36393139311f3a1348363911393f343939393d3a21294a39323e3c29311f3a133d3a19113d3f3c39393439390b3c293b393b313922363c293d1f3a110f39393b3d313d3a211931391f292a2d2d36392b393f29293e093129213539390b393b0f3239313913292b292a393139171f3a01393f31392d17391f39291a01393e31392d17391f391f3a113930194a174a391f393539290b1f3a01393f3d30131f3c2a394c31294c1f3a013d313948391f3a1139312c292a393139351f3a013939194a171f3a2b1f3b393a3a4d3a2932393139131f3c3a39343439393929293a353c29391f3b01393231390f293b010f39393d1b36393b393e31392d17391f39113b483d3a1912213b393b393431394c4e3939391f3c3b3935313913293b2d3d3a194814093129003a393b3d343b01393331391f0b39393929332b3d2831392d1f3a2b1f3b393b312929293e09361f3139313a391f3c021739393b393129293e0931291f1f3b483d3a19113d343c393d343b0f0b3c293932393139311f3a130b3d293b393f34293939311f1c3a34131b36392b39363d3d1f103a01393e31392d17391f39113b3d3d3a1912213b393b393131391b4e3939391f3a133d3a19113d3f3b0139333139211f3911393e333931393d3f401f3a2b393e333931393139311f3a150c09311f2d4a391f391f3a3b393e3139351f392b3939194a171f392b393b2a100b4a391f391f3b2a39333f113932292a3a09323939283b01393331391c3a3f302a3a3f302d29332b3d3031392d1f3a2b1f3b393b313129293e09361f313931391f1f3a021739393b393f29293e093129213539390b393b57293a3929145731393d293c2b3d3d31393d293b2b3d30310f3a3a313f0b11392b29393913391f392d3d21191139393d31293c311f1f0c39393a3e3c29391f392d3d31191139393d35393a3129131f393b3939333931392929000a333931391911313e3339313d3129173b293d3e5731392d1139111f3b2c3a3a1d2a292a393139311739130f10391f0f3a3b01393b39164012393d3d291901313c3239391f39483d311911313f313931293c01393f3d3c323a313a39083129311f3a1039373139363a3d3f1713393b393b3b02213b2c390b1f39133d211c3d3d211c2b3d3b31393d1f3b2b1f3b393b393d3139291f3a4a17113901393d3139083a0b393e00292b3a3f3f01393c31392d1f39103a2f361f312931393d1739103936393b393931393917391f3a3a3c3f0b17391f3a0929292d291f393d3431391f291f1f351f392d3d1f191129393b02213a3916413a41393d293f2b313b3a30401f3911393931393e3a394b292911293511393d3d392b392a39313931293d3d3d393c0f0b1f39113939361f340f392b393b3a2b393c3b0f0d1c390f3d3b1e013539291d393b190131393239391f393b393b361f34293911393931393d4a390c1f3b31393529203b3d3f3139351f393d301f392f172915293d103a013939291c393a1911393c31393a3a023932093d321f3a31393a3a0f393e093d3a3d11392b393a3d3a35293c3b393931393e3a393a3934311f314a390a0f3a3139391f393d3d291912213b3c3b39392929394a391f1f3c2939323931393a3a4a39320931393a3a483932093d3c223e3c29391f393b1f3b0e393d1f392a3932313932092a1f2a3931393d293b2b3d3c31393d1f392a393229293e483d390f1f392b393a3d3a35293c3b39393139351f392d3d393d390b113915174a390a0f3a3b013939291c1f3b191039103139211f39113939291a0f3a191139392929100931393917390b0f3b31393a3a48393e0931393a3a3d3f171f393d3d35191139303d310b3a3c29391f393d302139151729322a173539290b343913391f393d3029392f17293b2d2d36393b393933393135311f351f393d3d2919150c3a160f3e333c29391f393b393c29292a09361f31353139351f393b1f3b3b3c213b39390b1f3a2b393b31393917390a0f3a3139291f3a103c303912213b393b3939291c393a19113939292a3a0931393917391f0f1f3a3a390c31393a3a4a39320931393a3a483932093d3b1f3d293b393d31392917391f3a3a3916314a391f393431393917390c1f3b3129311f392a39333f113939291c393a191039333f113939291d393b19112939313931342e393d3b1e013539292a3a0a311f3513393b393c2929314a391f0f1f3911393a3d3913113a3d0b3d293a392039390b1f392a393631293d1f3901393d3139320a361f313d3139391f392b393b1911393c292900093139363a3a3f1729171f3d17391f3929411f3d1f39483d29191129393b48313a39204012393d3d291901313c3239391f3901393a361f31353139351f3912213b3b3b393c3139363a3c3f17292d113d3a31393a3a40000b1f39011f3b3b3a3c1139113d3931393d292d2b393c292a3a093239391f39390b21393b393931393917391f3a3a3c3f0b17391f3a092929312a39393919313939340b29313b3a304c3e1e013539292b3a0a311f1f13393932393913393b293b393a313932303a3d3a3a49313d3a333931393129003a49313d3a2929394a391f3912393d3d2919013132323939293e101712393d3d291901313332393912393d3d29190131343239391f3b01393a3139103a303f083a39103c21392b3934332935393129291f3b11393433293531360f35313139171f3a3c1b3c393b3934292a3a093239391f3b11133c393b3d3d3139131f3b11133c3b3c1b3c3b3b39323139294b390f391f3b133d291911293931391308390f39103a3b393131391308390f1f4b3900391f3b3b393d360f35313139143a3d3f1713393b3931332935293129291f3b3b133c3b3b3d3e291c2b3a392b1f3b393b313a2a29483a31391f1739100f1f39131b363911393e3129211f3a3b3d3031393e3a00393a303c293535391f0b1f39483d3d361f31393c393134291c2b3a392b3935361f313931391f1739100f1f3913213639290b1f39483d3d361f3139313921103a2b3930312929343139391f3a2c1b3c393b39393139294b390f1f1f3b3d3d1f191129393b4f213a391f3240394b4012393d3d291901313e3239393b293932393913391f393b393a2a0f2a39291c2b3a392b1f3b393b3d30291c2b3a392d3d39361f31393d3a2119310f3a3a3d3f0b113a1129393139211f393b393e2929000929293d294a393d1f3a11133c393b393f332935313d36483a3129351f3a133d2919112939291c2b3a392b1f3b393b31392a29483a31392d17391f0f1f392d1b363911393c3129291f393d303d393d1b36390f0f3b3b01393b2929294a391f3935391f0c3a49313d3a31391b4a391f391f3a2b1f3b3c3b393a2a1f483a3b01393b2929294a391f391f3a3b3d3c3b01393e292a3a093239391f390f0d4a3929313b1e293657310f3a3a3d3f0b113a2b29393913393b293932393139391f392d1b3d293d302d1f293d17391f39103a48302d1f293e3a393c213b393a392f3f113539292a3a0a311f2113393b393f3139391f3a2d3d3519133d393d361f3a31392108390f391f3a11133c3b3a3c1339113d3c3139223a3d3f1713393d302d1f293d17391f3911393d2d36392b393e3339313531393e303c29311f39013d3d31393a3a00393a303c293535391f0b1f39133d3d361f31393c393134291c2b3a392b3930361f313931392d17391f0f1f392d213639290b1f39133d3d361f313931392910390f0b1f3a2d3d291911293931393534001f3d3b394b403a1e113539292a3a0a311f2913393932533913393b293b393931393e303a3d393b293932393139390c393939113a2d3d0c2a0f483931393a3a392f1711393b393a2a0f48393c393d34291c2b3a392b1f3b393b3d3f291c2b3a392d3d39361f31393139391f3a3d3d351911393c3d3a21294a293d103a0f3239291c2b3a392b1f3b393b31393a3d391f3a3b1f3b3c3b393a2a0f483a31393a3a00393a3f3c2929353a290c3a49313d3a3139214a391f391f3a3b1f3b3c3b393a2a1f483d3b0f0b343139323a3a3c213b393d31393c3931343139323a3a3c213b393d32573c393d34291f391f3a4b481f3a01393e292b493f3f0f0b103a01393d292a3a093239391f3a0f0e203929313c1e0f3e53310f3a3a3d3f0b113a3b29393916403b293932393913391f393b393a2a0f2a393913393b293b393934293939311f2e3a342d1b36393b393929293e09311f391f392d1b3639390f3a3b48302d1f293d17391f39103a13302d1f293e3a393c213b393b393931392a3a3c3f171f3900392f3d36133a31291b3b293d302d1f293d17391f391139392a3931392917391f0f1f392d1b36392b3939291b29392a1f483e3c392934291c2b3a392b393f361f313931392917391f0f1f392d2136390f0b343b01393b2929294a391f3a3a39390f3c3b013930290e5757575740282f39483a3b01393b2929294a391f3a3a1e0f0f3a3b483d3931391d16311f3a0a3139391f3a2d3d0c2a100b343129391f3a3d3d291911293931393934131f353a39204012393d3f2939150b11393b29393139391f3912213b1f39311f393b393a361f33313911393c3d3e0f103a113939291c393a1911393c31393a3a570f3e093d32173a31393a3a0f393e093d3a3d11392b393a3d3a35293c3b393931393e3a393a3934311f314a390a0f3a3139391f393d3d291912213b3c3b39392929394a391f1f3c2939323931393a3a1139320931393a3a1f3932093d3c3e3e3c29391f393b1f3b0e393d1f392a3932313932092a1f2a3931393d293b2b3d3c31393d1f392a393229293e483d390f1f392b393a3d3a35293c3b39393139351f392d3d393d390b113915174a390a0f3a3b01393929211f3b1910391e3139211f39113939291a0f3a19113939292910093139390b3928403a31393a3a48393e0931393a3a3d3f171f393d3d351913301f4839392912293d36393b393929211f3b191039113f1f0f3a3b0f0b3b293b3939291c393a191039322a29483931393917391f0f1139013939292a3a0919483f1e392d1736393b39393139363a3a3f174a391f0f1f3901393933393131361f31393b01393e3139311f393b1f3b0e393d1f3a3b393f3d351b3b361f313931393a3a48393e0931393a3a3d3f171f393b1f3b3c3b393d3d3b481f393d3f313915171f393d3f3939151729321f2a393139291f3a3b1f3b393d3d3b1b12213b39390b1f393b1f3b113931103911393a3d39171931393a3a48393e093d39171931393a3a133932093239391f391f0e1b3929313c1e0f3e53310f3a3a3d3f0b113a3b29393916403b293932393913391f393b393a2a0f2a393913393b293b393934293939311f2e3a342d1b36393b393929293e09311f391f392d1b3639390f3a3b48302d1f293d17391f39103a13302d1f293e3a393c213b393b393931392a3a3c3f171f3900392f3d36133a31291b3b293d302d1f293d17391f391139392a3931392917391f0f1f392d1b36392b3939291b29392a1f483e3c392934291c2b3a392b393f361f313931392917391f0f1f392d2136390f0b343b01393b2929294a391f3a3a39390f3c3b013930290e575739491f3639290b1f39133d3d361f3139291e5757390f0f3a3b483d3931391d16311f3a0a3139391f3a2d3d0c2a100b343129391f3a3d3d291911293931393a3a5757403c1b290d4a3929313a1e1f3257310f3a3a3d3f0b113a2b29393913393b293b393931393e303a3d3a3a49313d3a333931393129223a49313d3a2929394a391f391f393b393e29290009313935293e103c2839113d3d39133a3a49313d3a33393139311f393d293b393e3339313531393e303c293d1f393d303d393d2136390f0f3d3b48302d1f293d1f3a12213b393b393e3339313531393e3f3c2935343b01393b2929294a391f3a3b393b3d3d3c393d343139323a3a3c213b393b393d291f3a2e3a3d3a3b575757575757575757575757393b3d3d3c393d3429173b391f313b391f313b391f3040103a390b1f3a2d3d2919112939313929340f0f3d3b3916403a1e113539292a3a0a311f2913393932573913393b293b393931393e303a3d3a3a49313d3a3339313931292e3a49313d3a2929394a391f391f393b393d29290009313935293e103c2839113d3f39133a3a49313d3a33393139311f393d293b393d3339313531393e303c293d1f393d303d393d21363a390f3c3b48302d1f293d1f3a2c213b393b393d3339313531393e3f3c2931343b01393b2929294a391f3a3a39390f3b3b01393f29173b391f313a4c2d01393f290e5757575740302e203136393b393f080f0f3a3b01393b2929294a391f3a3a57575757570f1b1f3a1331392e2948393f133f391f313b391d390b10393b393d292a3a093239391f39390e15391f3d3d1e013939292d3a0a311f363a0e3b1f4a391f391f39483048312c213b393b3939291e0f14361f31393139363a083b214a391f391f393d3f293212213b3b3b3939291a291533393139311f3d4a391f391f393b393a2929000a3339313919133f4c32111f3b393c213b393b39392929394a391f291f393b3939333931392929000a333931391911313b2929394a3910291f3911393929290009311f3d4a39101f1f39133d39361f31353139323b1f093b391f373939360f313d3139311f392d2d4a3910391f39133d1f19133d39292b1f292a10171f39133d1b19103b283911393b2929394a39131f1f39133e57361f323531393a3a3b3f171139133f4032111f3b393b313d361f31393139311f3a3d3d3519011f3b393f083a0f3b2117391f394a391f391f393d3f0f32111f3b393b313b361f31393139391f39133d3519011f3b393f083a003b2117391f394a391f391f393d303132111f3b393c213b3b3b3939291e0f14361f31393139363a083b214a391f391f393d3f293212213b3b3b393a291a0f1e361f313931393e3a3a3f1729120f311f392d3139360f312131393e3b393c1b3b3d3b393a291f394b391f1f1f392d3f48312c213b393b393a292b3a093d3a3d1931393e3a3f3c213b353b393a2929394a39110f1f39390b33393b393a31393a0a2929000c3b4d293a39292a57310f3a3a3d3f0b113a2b293931393d1f39103b113911313d291d57575757403c2c292a393913391f3a3d3d3a2c292a393139391f3a3a394e31393910390f0f3a3b0139393139391f3a3a3b3b392d3d3a1911313f3d313d3a311f35292c2b3939313921292c3b39393139292937290b3c293b393a313932303a3d391f3901393a3d3c351f39483d3d19113d3c31393e3a3a3f171039290f3a3b0f0b1f3a2d3d39361f31353139351f3a2d3d351910390231392e3a3d3f1713393940343d3a1b393b0021393139391f392b393b29173b391f313b391f313b391f30402948393134131f293b3a4b403d1e113539292a3a0a311f1f13393932393913393b293b393b292b2a353a3d391f393b4839393b313e3c293d1f393b3d3d3c393134291c2b3a392d3d1b361f3139291f3910390f0f3b3b0139393129293b2939363931392e3a3f302a3a3f302d291b3d2d36392b393d3429393a31292d1f3a3d3d3a19113d3d31392d3639390b3539290b3b293b393d34293939311f2e3a334a0b37390f393a39393d342920413a393b393e292b493f3f013d3031392a3a392f17103a390b3b1e0f32393139323a1a4b3d36393b393d34293939292c3a303c293a3a392b3d323139290c39393e3a4b0f3e00291c1f392a1f2a3931392a3a391517103a3d3d293c39313431392a3a392f17103a3b393b29291f1f39100b3539290b1f39133d333139311a3b0131330a3b3d3529293910391f363939133a3a2d3b3d3e3913391f3a3b0f39393b313f292c3a0a291e403a1b2d3d332b2948392919145731292d1f3a133010393f0c3a570f3e00292a08323c293a3a2b2b3d3e3139223a0f293a0a291e403a1b2d3d222b0f483a3b01393e31392209311f211f3b134c36393b39313139003b393b3934291f392933483d3a31292d3b293b393133293531291f3a2b3c29391f3b0139351e1131363139190b311f4d3b1e4c2e2f3c29391f3c2b39371e3b3d3429293d103b2b393b31292d3431392a3a392f17103a3b393e3129313539290b3431393d3d293b393a3139291f393b39323f02213b39390b3b293932393139313d293d302d1f293e3a0039394a391f391f3a483d393139363b392135113c3e391a31291b1f39013d343c393d343139351f3b492136392b393c291f3f3c31290f343139011631391c012a292a39291c2b3a392d303d393c213b393b393c291f3e4131293535391f0b1f390139342f1f4839291c2b3a392d303d393c213b39390f3a3b01393431391d0b311f373e31393641312935343139103a3d3f1713393b393c3b023d3a3920413a4a31213a3339313931293d1f39392a39291c113f392d301710293d1f393b39392920413f3f02213b39390c3a1e01393a31393e3a4e312d3a2a100b340a291f3a3a20401f392b1f3b393b3d3d3913393b293932393913393b293932393913393b1e0f32393913393b293932393139363e3c29391f39011f3b393b313f2a29483931393a3e3a3d391f39113d3c3c3935343139363a393c213b393b393b3129353539290b3b293d3021101f3d17391f3917391f3a3e3a3d391f393d2d36392b393b2a294835313931103a1f36393139290b39393911390f2a393139391f394830570e0f3600361f313931393a3a3a3f1710393b393d29293e093129291f3a133d3a1901313f3c293d353c1f0b3431393a3a393c213b393b393a2929394a391f391f3911393f190f403431393110390139392a29483c3c392d3431392929131f3d283b483d3a31292d35390f0c3a39390f3a3b483d3a3b013d3e3948391f3a2d2d3d293b393d342939392929364a311f2e3a3d3f0b1f3a133d191c2b393e1916323a3a480b36390f325731392a3a392f17113a2b393f29213b391f3a3a002a2948393f11393e34293939291b393a1b2d3f39392d1b3d293b393d29293e0a312929353a0f0b1f3a3d3d3b1911313e3139223a1f31391f1b2d2d36393a171f3a2b4839393d303939203e3a1f393e303a3d391f3a3d3d3a19013d3d3c391b3431392a3a394a17343129291f39483d3a19013d3c29293d103a290f3a3b0f36393913391f3a3d3d3c1b2b393d34293939311f223a392f0c3a571f3a341b1f483931392917391f39113a133f3a1f1729311901393f1b133f391f21333d1d303d36393936393139363a3a3f0b103901393d3339313d3129211f3a3d3d3d19113d3d3139211f3a133f3a1f172931194b323a1f313f3b103010002a2948393b0f0b1f3a13305739203d113a2d3d3a19483053393d483d293b393c29293e0a3129351f3a3d3d3a19113d3d3c393d343b01393e291b313a1901313e292c32343c29351f3a3d3d3a19113d3d31392e3a39162a3a0f3b0c09333931393129223a393b3d3e3c39393439390b3c293b393e2a292a393139363e3c291b3c293932393913393b293b393d34293939311f2e3a392f0b113a483053393d0b3d293b393e3129213539290b1f3a3d3d3c1b2b393c29292e321b1f483a3913393c293b393d33393139311f223a1f21333d3b3f0b1f3a16323a1f313f3b103010003c293d1f393b393f291e403a1b2c213b393b39393139290c39393d4a391f291f393b393d3429393b361f31313139391f3a3b48393902213b3c3b3939292a3a093129391f3a3d3d3d19113d3d3139363a3a3f0b1139483d3d2b0f48393b01393d34293939312921343139223a570f3e00311f2e3a392f0b103a0f0b1f3a483053393d0b3639290b1f393b393e361f313931393a3a3a3f1710393b393d29293e093129291f39483d3a1901313c3c293d353b290b3431392e3a0f1f3e0a311f2e3a35130b363901393d29293e093129291f3a2d3d3b1c3d3039334a1717391f39103a133d3a31292d3539290b1f3a3b4839393b313e2929364a311f1c3a3d3f0b1f3a01393f292a08491916323a3a480b36392932393913393b1e01393d29293e09311f1b1f3a2d3f39392f0b1f3a133d3f1c3031113a2d3d392c1f48393f113930342939392921393a19013130292c41343c293d1f3a3d3d3b1911313131391b1f3a2d3d3f1c3031113a2d3d392c1f48393f113931342939392921393a19013130292c41343c293d1f3a01393e292922481b113d3e31392a3a394a17343129291f393b393e361f31393139363a392f0b103901393929292a093129393539290c3a49313d3a292a134a391f391f3a3d3d3a19013d3d3c392d34292939103a290f393b0f393431392a3a392f0b103a3b393f3c293d1f3a3b4839393b3d3f3b01393f291e403a1b2948393139393d293b39392929394a391f391f392d3d39361f31393b01393b3139360a3c0f0c3a49313d3a292a134a391f391f393d2d3639290b1f392b393d361f31393b483e573c0f0b1f392b393d361f313931393134310f3d3b1e01393931293d3c293b393a311f323a3a3f1710392b393b333931393c2939343139311f393f0c3a39162d343c1f391f393a3c1e391f2a39313939293d390b342d0f3d3d1e0f323931393e3a393d0f36393b393a29293e0a311f2a3e3c29393c293b393931393209311f350c393939103a2b393c3139391f39133d3a1b15171139014839393c1739393b393c31392d4e3939391f39133d3b1911313b31393e373c293d1f3911393d2a0f48393b0f0b3434393d3a1e013539292a3a0a311f3113393b393b31393d4a391f0f1f393d3013393d300d303b393a3d342d3a3129391f39133d29191129393139393433293d3a1e013539292a3a0a311f3113393b393b31393d4a391f0f1f393d3048303b393a3d37313b3129391f39133d2919112939313939343e1f391f393a3a3e29293a3031393a3a3130323a4c293a0a292922321b1f0d40391f393b293932393913393b293932393913393b293932393913393b2939323931393e3a3b2f0b373d1f39313b2917313b293d3b390f29333b2917333b39133e3a1f1b343139311f39111f3b393b313a29292a09361f31393139391f392b1f3b393c213b393940343139311f39111f3b393b313a29292a09361f31393139391f392c313a393c1b3c393940343139311f39111f3b393b313a29292a09361f31393139391f392c353a393c1b3c393940343139311f39111f3b393b313a29292a09361f31393139391f392c3939393c1b3c393940343139311f39111f3b393b313a29292a09361f31393139391f392c3d39393c1b3c393940343139311f39111f3b393d3d3019133e4c1b2b313a29291009361f31393139391f392b0b3c393c133c393940343139391f39133d023d2935393b0f40343139311f39111f3b393b313a29292a09361f31393139391f392c293b393c1b3c393940343139311f39111f3b393b313a29292a09361f31393139391f392c2d3b393c1b3c393940343139311f39111f3b393d3d3019133e4c1b2b313a29291009361f31393139391f392b133c393c1b3c39390e533e393d371e013539292d3a09311f3513393b393c2929394a3910391f39483d39361f31353139363a393c213b3b3b393c2929394a391f291f3901393c292a3a09311f294a3910291f3901393c29290009311f1f4a39101f1f39011f3b3e3a171f3901393c29291009311f174a39100f1f39011f3b3f3a171f3901393c29292a09311f214a3911391f39011f3b303a171f39011f3b313a1712393d3d29190131303239391f3a1139393429393b3139390c39393d1f393b483939303602292a1048292a1049311f2e3a3530351f3a2d3d3a1c3d3f1e1e4b320929293e09311f2d4a391f391f3b11393e2920410231393e0031392d1f392d3e571b0131351b2f0b113a2d3e531b11393e29204d0019133d3a1911313e361f31393139291f3a2a3922361f313931391f1f3a111f3b393b31323d3a134a391f393c29393239291a4b0d53193e5331292d3c293932393913391f3a2d3f404f0e15101e130f3d293b393e291d4b0b1037364d2a1f483a31392e3a11194b364a4b003f3c29311f3a2d3f311021341b1e3d1b3639013930292a3a09323939353a390b1f3a2d304a12171a2e3a3d1b3d293b393e2922091d1740133c2a1f2a39292939103b48300c4f312c121d2b3d3e3c39293431392e3a0e1d4f4d17204d303c29351f3a013932361f3131291e1937100c2d3d2922091d1740133c31391b17391f103a393d171a31292d35390f0b1f3a111f3b393b313e2920410231393e0031392d1f3c303e0a311f143a1e16351f3b2d3d3a1c3d3e401b2f171f393f170c39393d103c2b39313339313931392d1f3a011f3b3b3f0c093139391f3a011f3b3b3b313e2920410231393e0029293e4831393d1f3a20360a19114839393b3939313914092929320a34293939313949021b021739393b39303339313129293e0a312913353a390b1f3a013934361f31352921150c021c0c402921113e1f0c004031391717391f391f3a011f3b3c3d171a31292d3539290b1f3a3b1f3b393b3930333931351911393931391b17391f003a392f17113b4a170c3939394e39393a3a4f1d013d4c4b13103a290f393b0f39343b01393c31393517391f003a0a004c1f39011f3b3a3a3b53392c213b323d30360d0e191d3a2b3d393948393b293932393913393b293932393913393b293b3939291b0a0f0919313a2c392a3931393a3a571a20194f4b4d353a3d391f393d3f2a49210d2d1d4821363a013939291b4a2e4e41084f2a1f483c31393a3a1f363016572000303c29143a131c2f3414300b10393d3d3931293d353b290b1f393d30530c1c0a0e1e1321363a3b393929194e15485721392a1f483a31393a3a48193b4d3f3d1b363b3b393c333931293d3a391f39011f3b3c3a392931393517391139193139351739100f193139351739101f1931393517391029193139351739110f10393b393c292d3a0a3239391f3939403431393a3a4f4c2c0a412932353a3d391f393d303440331511392d21363a013939292102390117393b2a0f483131393517391039103b3b393c3339313131294d3a393b3d32292939103b133d3931292e3a393b3d30292939103b013539292a3a0a311f2913393d3f2b1537023c3a2d3f4f4f3401313a3b393b3f013d3f291c2d393129003a531f3d103c29363939133a3a4d09091e1d113d393948393b293932393913393b2939323931393a3a08362f3c411f3e353a3d391f393d301701083b4d1e3d0f3d293b3939291e114953280c4d2a1f483f31393a3a4d363b2f0c4b083f3c292d1f393d3f21411d4b371d2d1b363a01393d292a3a09323939353b390b1f393d300801083b4d1e3d2136392b3939291d1909164b08303c29211f3a3b3932361f313d3139291f3c2c17393b01393d31390f4e3939003a4e1b09290d20003a1528200c0216131f3a3b1f3b3a3b39372b3a0b1039390f3f3b013939291a3c0c110a133d2c392a3931393a3a081c2f3c411f3e3f3c29311f393d3f4f4f3401313a3d1b363a13304c0c1e124f1d2b3d393139290b3939481f3a3b1f3b3a3a3c1739113d333c39213431393a3a0b1d4a330d292a3f3c29311f393d3f2b1537023c3a2d1b363a2d304c0c1e124f1d2b3d393139290b3939481f3a3b1f3b3a3a3c1039113d333c392d342919202e1f57213a291a300c110a133d31392917391f2a3a3915413a392d211a312939353a390b1f3b3b393d3339313d19114839393b313e3139290c3939000231291c3a4d363b2f0c4b1710393b393d3429393431290b35390f0b1f3b3b393d3339313d19114839393b31343139290c39390c0231291c3a4d363b2f0c4b1710393b393d3429393531292d35391f0b1f3a3b3934371f39373139291f3a0217393c2b393d31392d4e3939401f3a113d393c393d343b01393131392917391f2a093139174e3939391f3a3b1f3b3a3d3d3a19113d323139290c393940103c3b393d342939373129483539290b34291e3b3d4e572d3b312939353b390b1f393d300f10370e4939132136391139392922122009083d3c2a1f483d31393a3a021a0a4a161f2e303c291c3a0a091a2c411f3a3a0222200a4a160b1f39011f3b323a0b1039390f303b483f350f35093939133036141d0e191d01393c33393135291a211d31393517391f29290e1f3d1a312939353a1f0b1f39011f3b3d3b3d3131393517391f1f103a2d3d393129083a393b3d36292939103a483d3931290c3a393b3d32292939103c3b3539292a3a0a311f2913393b393131392d294929323a0b091a1a110f2a3a0d0e533c1716131f39100b103a13302e393b3d37291e173a3129403c29393239291a2b2f481a173b3129393c293932393913393b293b3939291a372f481a173b2c392a3931393a3a081e30194a4b49353a3d391f393d3f4e574c37111d2d21363a3b39392922572d1608104f2a1f483c31393a3a4853114e4c4b10303c292d1f3b3b393e3d362d3b31392a3a3d3f171339390f3f3b01393929191a004a0c0c412a1f483a31393a3a1f4e19220a293e303c292a3a144c201b0e1f2a3a080e30194a4b481f3a3b1f3b3a3d3d3b1a483d3a2a100b1039390f3d3b0f32393913391f393d3f2f101c01533a3d0f3d293b3939291a2b2f481a173b2a1f483a31393a3a0b091a1a110f2a303c29223a574f3414140f2d10393b393d3439393631392917391f29294c2931103b1f0f3f3b01393929221d3e4b344c3d2a1f483a31393a3a574f3414140f2e303c292d1f3b3b393d3339313d1911393d34293935311f391f3b16351f393b3933292041021b2d3d3a1c3f0b4e3939391f3a3b1f3b3a3d3d3a19113d363139290c393940103c11393d34293937312940353a0f0b1f3a3b3936361f313d3139291f3c0217393b11393d31394c4e39390c3a1f4e19220a293e3a4853114e4c4b1f1f3a3b1f3b3a3b393e2b3a0b1039390f3d3b01393131392917391f2a0934293939311f1b1f3a3b48393b4b35103b483f1e49324e211d013d393139290c393917103b2b393d3429393331290f35390f0b1f3b3b393d3339313d19114839393b31323139290c3939080231290c3a16412b1d15300b10393b393d3429393431291b1f3a3b48393b013d353c3931343139291f3b0217393c2b393d31390f4e39390f1f3a3b3932371f39373139291f3a0217393c01393f3129393539290c3a574f3414140f2d10393b393d3439393631392917391f29294e3931103b1f0f393b0f39343b48300f10370e4939113d393c392d343139353b1e483d3931292912393d3d291901313f313935173910390b3939394a391f1f1f3a11393f33393131292b4133371f39373139211f3a111f3b3b3d3d4e2b3c17393c483f354c322b3b1d113d393948393b293b39392919021b104c104f2c392a3931393a3a141d0a3a0d16103f3a3d3a3a570f3d103a3d3f0c4b311d311d013d393c39353431393a3a12373b2d1f16083f3c293d1f393d3f4017371e341d131b363911393f33393131311f3a3a4c293a0231393a3a39202a3a0e204d0119133d3a1911313929293e48292a2a0031393a3a3b16360931292a3a0a1c013011300b1039390f3b3b01393929194b1b104c104f2a0f2a3931393a3a1509204c4e0f32303a3d391f393d30394c0a3c3b39481b363901393f33393131311f3a3a020f3e0131393a3a020f3e0019133d3a19113d3d29194b1b104c104f31293935390f0c3a0e333c16014b083a141d0a3a0d161f1f3a111f3b3b3d304f393d1f1a292220090f1a084c31392117391f103a4c393a333f013d393c39313431392a3a3f302a3a3f302d35391f0c3a0f37330f0f1f363a1509204c4e0f311f3a1148393c483d3a1b2a0c3a1509204c4e0f311f3a1148393c133d3a1b2a0b1039390f393b0f3934311f394a391f291f3901393c33393131311f211f393d3e571b4b3d1f393b393f292041021b2f0b113a133e531b11393f29204d0019133d3a1912213b333b393c313921293f2c213b343b393c31393a3a39202a3a39163d1f393d3d3a1b4a17293f2c213b353d3d39312a391f39011f3b333b393c3339310b19133d39371f393931393517391f291f39011f3b353f083a393c1739393d30530c1c0a0e1e113d393c3929343139351f3d3c213b373d3f21494e092a39483f39481d1e411e3b393c3339311731393517391210333f013d393c3935343139351739110f1f39011f3b373f171f39011f3b373b313929293e482929320131393a3a1e16360929293e093110391f39011f3b3d3f170c3939394e39393a3a570a20194f4b4c1039390f3b3b01393c31393517391f294a3912291f3901393a361f3140291b0e0f0919313a291c3f1f0d2a1f1f39011f3b363b393c333931402b100b1039390f3a3b01393c3339310f3139351739120009313935173910391f39011f3b3b3b393c33393148190131393139351739120f113920323a3920291f393b393a1b4a0c0934293939371f3939313935173912003a392f1710392d3f2a49210d2d1d013d393c39393439390c0a39292a5731393917391f390b393939292a2d2d3d293d3d393c0f0b3c293b3939333931393129363a1e013d3a3139323a023215024d1f3a363a3d3a3a1e01393c34393939292c3a0a311f291f39133d331a3b313a1911393d291e57575757403031393e0a2b100b1039290b1f393b393c29293e09361f313931393d103911393c3439393a3d3d2d3639390b1f39290e483d1f312a1e0f3e53310f3a3a48393a0a311f2d13393b393e31393d4a39130f1f3a2d3d4b19113d2d31392e3a373f17103d3d3d3931293d3b293932393913393b2939363931393e3a57575757570f1b1f3b4a0c333c293d1f392b393419113d3431392d1739130f113b113d3a3913393b293932393139170c393939113b292a393948393b293932393139143a570f3e00311f223e3a3d391f392b3d323c393d343139223a322d1b36392b393a3129133c293b393a3429393a292b2e303c293d1f3a2b393a29293209311f214a39130f1f3b2d3d3a19113d3231393d0c393931103b3b393f31293d1f3b3d3d142a1f48393b0f0b1f3b2b39331901313a291e57575757403031390c0a31102e333c291b1f39392a393139391f3b11393a3d3b173431393d363a133e5731294d3a392b3d3f31392d1739130f0b39393d292a2b3d3a31392d1739130f103b39323931393e3e3c29391f3b3b483939133d132a0f483931391f0b39393e3a353f0b103c133d3a312a323a39013d3f3b01393e3139211f3b3f1711392c213b2c3d3d3931290f3b293b393a3439393931103e3a313f0b113b3d3d1e2b0f2a3931393d103a1f0f3a3b01393a3129223a392b39311c3b31302921162a3a303e3e3c29393c293b393e31393e3a392f17113a12213b2c3b39303139000131290f1f392b0f39392b312a292b3a0a311f103a313d4036392b393f31293e3a392b39311c3b31302921162a3a303d3639390b343913391f3d2d3d092a1f2a3931392d3b1e0f32393139210b39393d292a2d2d36393b393e33393235311f3d0c3939323a323d1b36393b393a3439393a2929324831392a09291b393a19483d33361f313931393d0b39393e3a394b291f394a083a1f39360a333931393129493a392b3d2b31393e3a394a173539290b1f3d1f483f292939103d133d393129481f39392a393139311f39111f3b393b313a29292a09361f313931393d17391f39103c290b1f3a2b1f3b2c3d3d3a191f0b11392c213b2c3b393629293a373c293e3a393b393619013d363139003a1f3539391b113d353c393d3431392e3a02393a093d360b3b311f493a393d1f363b3b393e3339323531293d34292939103a133e5731291b3b1e483d3931393d0c39393a3a34131b36393a171f392b4839392d3d092a1f2a3931392d3b1e0f323931393d0b393931292a2d2d36393b393e33393235311f3d0c3939363a323d1b36393b393a3439393b2929324831392a09291b393a19483d33361f313931393d0b3939323a394b291f394a083a1f39360a3339313931291b1f392d3d3d191f0f3a3b01392b3c29211f39392a573139311f39111f3b393b313a29292a09361f313931393d17391f393e2929393431291b1f3a2b1f3b2c3d3d3b191f0b11392c213b2c3b393029204102292a414a3c393d3431392d1f392d3d3a1912213b2c3b393e291b0f3919103c1a39113d3031392d1739130f10392d3d3a3b013d2c3948391f3a113d28292a0f103b2b393a34393939291b3d3919483d4d2b0f483231392d1f392d3d3a1911312a361f323531393d0b393939103a11392a31293d1f3a113928292c080b19133f283415170c393939113a133d3a19483d312b2948393b0f32393913391f3a133d1a2a0f2a393139223e3c290b1f3c133d392c1f2a393139291f3c133d3b1c3f171f3a12213b393b393e3139351f3c133d3c1c3f1708390f394b39483935391f0b1f393d2d363b3b393e292d3a0a3139211f39103c223911393e33393235312a3d35391f0b1f3c133d392c1f48333b483d3931293d1f393d2d363a0f0b1f3c3d3057574b0c00311f1f1f3c3b393529213c3939303d1a3129223a393b3d35291d401931294c1f3d3b3d323913393b293932393916403b293932393913393b293932573913393b293932393913393b293932393913391f3d2d3d3a19010f39393b313a292e410031393d1f392d3d281b2d3d3c2a100b1f392b39283f01313a291c1f39190f4c103a3a292d3e3a292d3e3a292d3c1029283a1f4c373c10293f3e3a292d3e39313e3900292d3b2a293a3e3a293d39390b3b293b393a291b3d39190f4c303c1029343e394c373c1f393431393e3a480f3a3f3c2913353d0f0b1f3a2b133c293b3d2f291d40193c392d3429293910392932393913393b293932393913393b293932393139413a570f3e003c1f1f393929313c3a3a173e3a10173431392d173913391f3b02213b39390f223b01393e3339323931390b4a391f39353f390b1f3a2b1f3b293b39340a3c1b3c39390f203b01393e3339323931390b4f392939353e1f0b1f3a2b1f3b293b3934371f39393c3a2d3431392d173913391f3b02213b39390f2d3b01393e3339323931390d0b360f35393c3a353431391c3a3b3b3930292910343f013d303139223a3b3031103a13304c393b3d3a3b01392931291f1f392d3d1f1b2b3d2831392d08394839113e143a3e3a3d393c293b393129293e0a311f1f1f3e091c3a3c4b3e3a173c32093429393931394101371f3939313a223b3c4921103b11392f291f2b31312a211f3b1f48393b0f0b1f3b3b3d333139223a3b303e3e31392d0839483a291b1f483c31393e3a3a30223a4f00080931294d3a39113d353c393534313a3910392b393e33293639311022292a292a393948391f392d3d3a1901313a313a191629291c00292c3a01371f3939313a223b3a4921103b3b392f291f3731312a211f3b3948393b0f0b1f392b3d333139223a3b303e3e3c29311f3a0139293139080a311f3e3a392f171f392b39302b3a0b103a0f0f3b3b01393e332936393110223b393e353d293b393e291f391f3e1648113e121b3c293d3d3a3129003a4f00173539290b1f3a133f393d303d3d293d3d3a3129003a403a173539290c3a402a083a4f00171f3a133d3a1b2b31353f0f0b103c11392f313a3929120f3d103b1f0b1f3d483d3931391c3a393d1f1a3c294c1f3a133057574b0c003139211f3d000b103a11393e332936393110223b393e311f3a4b323e3a3d391f3d3b3d33292939103a0f0f353b013930313a2229313a391f3b150c09311f3d1f392b39302b3a0b103a0f0f343b01393e33393239311f3e3a1f3a401f392a0b113b11313229293a3a57575757570f1b1f3a01393029293a313f01313f3d360f3a311f3d1f3b2f0b1f3a11393a3f01313a313908093129131f3a483d392c1f2a3931391f103a11393a31291b353b0f0b1f3b3b3d3f31393d103a013932342939393c2948353b1f0b1f3a0f2a3931392d1739133935391f0c3a393b3d3a31393a3a313b39362929391f3a10390d3c39313431392e3a393c213b3c3b393e31392d0839483953391f1f1f3a2b393e29291009311f3d4a39133a3a1e013d3031393d343129143a393b3d3a3913393c293b393233393139311f103e3c293d1f3a2d3d3d191139313d364c3b311f083a393d1f113b3b393331391b1f392f0c341b132d3d293b393229292a093129131f3a01393a31390809311f3e343c293d35391f0b3431391f363c290c3a282b3d3231393e3a393d1f363b013939292b391f3c2b393a313921293411393a2a292a392929391039290f3a3b483d3931291b1f3a2b1f3b293b3d323948391f3b2b1f3b393b31312a29483a31392e3a3a3f171f3b3a3c1d3911313131391c09311f1b1f392d0b36392b393931392e3a3a3f171f3b3a39093139143a3a3f17103b2b393a31391c343c2939343b013939292b391f3c2b393a3139223a1f3539391b00390d3139481f392b393a313949313f013d3a3c391f34313a363a393b393029293a313f0f4831292c48103b2b393931392d0a3948391f3c2b39303139211f392d3d013d2a4839311f3e3a393d4c363a0f0f323b01393e31392d0839483940393c1c3a392b3d30313a29103b113931312921353a390b1f3a2b393a29293e09311f214a39130f1f392b4839392b3d323139211039290f393b0f3934313939363a01392b2a29483b29293d10392936393139291f392d3d3b1c3f1717391f391139392a393139351f392d3d3c1c3f171f393b393b3d36133b29293d103b01393a29293e09311f3e3a3b131b3639290f323b0f0c3a392b3d3431393e3a3b1340363a0f36393139291f392d3d3b1c3f1717391f3936392b393a29293e09311f3e3a3b131b3639390b353a0f0c3a303b3d323c3929343139131f3b150b113c01393031391b1f3c481f1a311f103a57575757570f1b1f3c3f0c333c29323a282b3d3231391f1f3c3f17113a01393631391b1f3c2d171a311f3d1f3e2d173639013939292b391f392b3930313921293411393931394c1f3c3a390931393a3a353b393a31391b1f3a133f391f392a023d3b4c1f393d3d0f31391f1f3c483d393d3b4c1f393b39333139402933113939292b391f392b39303139223a1f3539391b00390d3c393d343b483d3931290b35390f0c3a282b3d323b48302d1f293d1f3b2c213b39390c3a1e013d343b01393e291c39391911293931390b341e0f313a1e0f3e5331393b41311f363b36311116291e40281b2b313b291e40282a0f2a403139323e3a3d391f392b39392a393939393939393939393921292a572929393e31393a3d3939393939393939403d371131393d294b293110393b393a33393139292d3a093b02213b393b39393c0f0b1f392b393b291e4c301902213b393b393c290e575757575757575753301f30533c29173b391f313b391f313c0f284c2b573a2b39393b0f0b2b393b39392a292a39292939283b01393931393d294a1f3d343229391f393d3d392a013939291b1f0c2a4b3d1f393d301f342d1c0031393a3a1f311b3a2a4b3d1f393d3f21100f3e301b290e17391f3d3c1e0f323931393d0c39393936393d3f3330103c1a392b313a3a3d391f392b48393939483a3b0139392929000b2921390d19103c1a392b313a3a3d391f392b48393939483a3b483f2a30103c1a392b313a3a3d391f392b48393939483a3b483f1630113d3a3b0f32393948391f392b393b19114839393b313d2a2b393d292b413f1b132d3d293d3d203129291f39133d3a1911313b292a1c303c293d35391f0b34313931103a390c3a08004c10390f32393913393b293932393913391f392b4839393b313b292b4d3f3c29391f392b393d191148393939483931393d103901393b291b35392a0f483a3b01393c3429393a2a29483a3b01393c29191b1d3d34213a2a2948393139363a402a48290c1f3d3639290b1f393d2d3d293d3f13342b3d3b3139350c39393e3a34132136391f0c3a3939403429293910392d3040101f3d17391f3911391f2a393948391f3901393b292910093d34213a2a29483b3139311739113911391f48393b0f0c3a323a3922311f313d293b393b2919290c33293139360f31393139323a3b3f1711392b393c313929292910171f392b393d19133d39371f39393139323a5731213a33393139361f311f291e013f392b393b361f31393139311039290b1f392d3f13342b393931393e013f013d3b3b01393b3b01403931393d294f393111392b3939291e403a1b2b31391b2d3d3a1c3b393931393e0219113139292a2e0129293e4831393a3a3e20360a292a1048292a10493b4c481d391f41573a204c12393d3f29392f0b113a3b293931392a3a393d3f29392a3a3f311f363a1e02213b2c3b393c3139394a39110f1f39483d00361f311f3139351f393c213b2e3b393a3129291f39113d37310f3a3a0b39320a311f2113393b393c333932353f1f32393913393b2939323931393517391f2936393b393c3d37133a3f11393c3339313d3c29393539290b1f3a3b4839393b31392a29483b3913393c293932393913391f393d305739203d291b392a393948391f3a3b313929293e093129291f393b4839392a3a0f3c2939343139363b393a3a2c3948393b1e01393c3339313d311f3d1f39011f3b193d1b3d293b393c31393e3a392f174a391f291f392b483939390f3a3b01393c3d3a31343d30393639390b1f39011f3b3a3b3d3d31393508394b3a3b393e133d293b393c31392a3a392f0b113a3c213b3a390b1f3a3b393c3339310b194e0f1f3901133c1d3b392d1e300f103e390f3a3b0f32573913393b293b393d34293939292b2e3f3a3d391f3a3b4839392b3139292b083f3c293d1f393d3d142a0f483b3b01393c291f39292d0f32393139290c39393a3a322d213d293936393916401f39011f3b3a3b313931393517391510303a3d391f3901393929293e09361f313d3139390c3939393539290b1f3900392b3b0131393d30393639390b1f3a3d3d3a19113d3d3c393d3431393517391f2911393b393c333932172a0f2a393139351f393d3d3a1912213b3a3b3939342939393129393539290b1f3900392b312939343139290c3939391f393d1b3d293b393c3329360f291f3a223a3d391f3901393c3339313d29293e0a361f313d3b01393929293a373c29083a393b3d353139493e3c291f353b1f0b1f39011f3b3a3b393c3339310b194e0f1f3901133c1d3b392d1e300f103e3b393d31293935390f0c3a393b3d3b31392a3a3915173539290b3b293b39393d3d2e3e3c29391f3a3b483939133d132a0f48393139290c39393e3a353f0b10393b3539292a3a0a311f3d1f3c12213b3c3b393a31394c1f393d3d3b1c3d3d3d19483d3931393a3a392d0b1a1911313929292a09361f313131393917391f39103911393d292936093c393d3431394c17391f39103911393729292a0931294c1f3a3d3d3a191f0b10393d3d393129003a393b3d3d3139390c393939292a292a393948391f393b4839393b393d2929080b19133d0f19013d3d3139390c39393d10392b393929293e093129391f392a3a3e3c2939343b01393934293939311f2e3a4f293a303a30401f39392e3a393b3d323139323a393d1b103c3b39393429393a31292e3a393b3d3331393a3a392f1734311f3e3a392f1710393d3d3c31291b3b293932393913393b293932393913391f3a2d303a393f0b37371f29323a39133d3a3929323b291332390f13323b2913323b2929323b2913323a3913323a3913323b2913323a39133d3a39293d3a39393d3a29133a3b29293d3a3913323a39313d3b29133d3b2931323b01393a292932093139391f392b4839392d3017393d2111392a0b10393d3e532920401f392a0b103a0f0f3d3b01393a292932093139391f392b4839392d300b393d2111392a0b10393d3d3c29293d1f392a0b103a0f0f3c3b483d3a31291b35391f0c3a39113d303c393d34292939103a01393a3129393429293d1f3a01393934293939311f3e3a344b3e3a394821113a2a0b103c0f323931393e3a3130311f392b393e3f013134291c0b392a1f48393913391f3b48300d393d1b3d293b3934291d35392a0f483a31392a3a392b393d29293e333f013d3d3c3931343139311f3c01392d3d37353b3c3931343139363b393a3a2c3948393b1e01393c3339313d311f3d1f39011f3b193d1b3d293b393c31393e3a392f174a391f291f392b483939390f3a3b01393c3d3a31343d30393639390b1f39011f3b3a3b3d3a31393508394b3a3b393e133d293b393c31393e3a392f0b11392c213b3a390b1f392b393c3339310b194e0f1f3901133c1d3b392d1e300f103e390b1f3901393d0a3b312b3d3e353b293b393c3339313d311f3d1f39011f3b193d1b3d293b393c31393e3a392f174a391f293539290b1f3900392b29293a313c29293431393508394b3a3b393e133d293b393c31393517391f2a3a392f0b4a391f2934292a3910392932393913393b293932393913393b293932393913393b293932393913393b293b3934291c1f39190f4c103a1f0b34391f0b343b0f0b3439290b3b3a393d3a39290b3e3b0f0b343b0f0b3c3a1f0b34391f0b3d3b0f0b3f39390b1f3b48303a393f0b11392d3d3f2b483d3a31393e48291e3d391b2d2e013c2917343139223a3b3f171f39013928292939294d1f311f3901133c1d3d313931393517391f291f39011f3b343f0d0b1e2e3d363c01393b2a29483231392108390039103d11393f33293531312a351f3c0f4c3c3a2921303b290b1f3b48300e39203e3a4c0f3a3f3a3d391f3a133d1f19133e5729213d3b3d3d21193139223a393c1739313b3934291e35392a0f48313139223a393c1739292b393f2929394e393b4c1f3a133d39361f3d093c391f343139223a313f171f393b4839392b313a291c4c392a11313e29213d3b3d3d21193139223a393c1739313b39392929320931393a3a392f171f3a2a0b103b3932573913393b293b39392929323a392b393e3f4a170c39393911393d3d0c2a0f2a3931393a3a4b293a3f3c293d1f392d301d393d1b103a0139313c3935343139211f392d301d393d1b113a0217392c1f0f3a3b01393f31393e3a4b1f3a30311f1b4e39304c343139103a392f17343129393c293932393139390c39393911392d3d0c2a0f2a3931393e3e3c29401f392d301c393d1b3639290f333b483d0c31293d1f393b4839392b313e2a2b393e291c48392a163136393b393929293e0931291f3b293b393e31393a3a392f0b0c39393911393d483d293b393e31293d3539290b3c293b393929293e09311f391f3a133d1f1915171f3a021739393b393931391f0c39393911392d133639390b3431391f1039390b1f392b393f19113930371f391031393a3a392f171039390f393b0f393429291f1039290f3b3b483d3331293d3539290c3a393b3d3a3b483139312a323a393b3d3e292939103b3d3d3931291b12393d3d29190131293239393b293b393a29293e3031393e3a323d49002a292a39291c2b3a392d3d1b361f31393c393d343948393b1e01393c3339313d311f291f39011f3b193d1b3d293b393c31392a3a392f174a391f291f3a3b483939390f3a3b01393c3d3a3134311f29291b3948393b0f32393913391f3a3d3d0a190f4c3c39393d3939290c3a1e483d3931392a3a342d211a31291b1f39011f3b3a3b313d31393517391510303a3d391f3901393d29293e09361f313d3139290c393939103a390f3a3b01393c3d3a31103a390b3b293932393913393b293b393a292f410031392a3a353d1c012a292a393916401f39011f3b3a3b313d31393517391510303a3d391f3901393d29293e09361f313d3139290c3939393539290b1f3900392b3b01313d292e4100291c1f392a1f2a39292a39103929325731393517391f29113a3b393c333932172a0f2a393139351f3a3d3d3a1912213b3a3b393d342939393c393d34313935293d1f0b113a3d3f00332f170c39393a3a3d3d13363901393c3329360f291f3a223a3d391f3901393c3339313d29293e0a361f313d3b01393c291f39292d0f0f3f3b01393a3c293e3a3b3b3d3a3c39313431393e3a3b11393a3f01313a31392a3a0b2b1409342939392b0f483931393508394b3a3b393e133d293b393c31393517391f2a3a392f0b4a391f29343139363b393a3a2c291c2b3a392d3d1b361f31393c39293431393e3a3b131b36393b393d292c3a0a311f2e3a3b2d483d293d3d3931293d3c293b393a2929080b31392e09311f3e3a151a281502393e323916401f39011f3b3a3b313d31393517391510303a3d391f3901393d29293e09361f313d3139290c3939393539290b1f3900392b3b01313d292c3a0a311f2e3a3b2d49003c29393431393f0c312a31343913391f3a2d3d322b0f4839313a323b3b164c103d01393e0a2b3d2e3948393b1e01393c3339313d311f3d1f39011f3b193d1b3d293b393c31393e3a392f174a391f291f392b483939390f3a3b01393c3d3a3134311f2a3a353f0b113a2d3d322b01392c313a2e403110323b150a2815023215024d0b0f222f163136392b392b291f08533110351f3a1948113e2d3257102e1f3639390c3a3b113d3a3c39313429291710392b393e292914363c293d35391f0b1f392b393a29293e0a1b292a3931392a3a0b2b140934293939311f1f1f392d133d2939363931393d1f3a2f0f1f3b3f17113a2d30304c573d4c2b29325731393517391f29113a3b393c333932172a0f2a393139351f3a3d3d3a1912213b3a3b393d342939393c393d34313935293d1f0b113a3d3f00332f170c393939113b3b393a2b203d3639390b1f3a1948103d1f0b1f392b39312c29483a31393f0c312a353c293b392b313a365331102d1f3b33493b570f3f3c3110223b1e4c2e2f3c29311f3e2b392f1e3b3d2b31393d3b1e01393c3339313d311f291f39011f3b193d1b3d293b393c31392a3a392f174a391f291f3a3b483939390f3a3b01393c3d3a3134311f2a3a0b2b140934293939311f10363c29311f3d3b392c291f391f3d1331393d3b0b1f3d3b133c3b3e393639390b3539290b1f392d3d201a3d3d3e1c133d301b2d3f00334a170b393939103d2b393d291a3d0819114839393b313e31393e323a3d393c293b3931313a3e4831392e01311f103a1f313b390f393a323916401f39011f3b3a3b313d31393517391510303a3d391f3901393d29293e09361f313d3139290c3939393539290b1f3900392b3b01313d291a3d0819114839393b313e31393e321b2948393b0139310a2b3d2b3b01393a31392e363c293a3b1e01392a0a2b312c113b312e313a322d3c29393c293b393e0a2d34573921351f3d11392c101729103d11393a3916401f39011f3b3a3b313d31393517391510303a3d391f3901393d29293e09361f313d3139290c3939393539290b1f3900392b3b01313d291a3d0819114839393b313e2c29483a313a311f3e2e1f3639390b3431393d1f3a3d3f00332f170c39393a363c29393c293b393a3916401f39011f3b3a3b313d31393517391510303a3d391f3901393d29293e09361f313d3139290c3939393539290b1f3900392b3b483f00332f170c39393a343c293934291c2b3a392d303d393c213b393d3d3931291c3b1e013d2b3b01393c3329360f291f3a223a3d391f3901393c3339313d29293e0a361f313d3b483d39313a323b1e493d1f3a483d3a1b100b3d293d302d1f293e3a0039394a391f3a3b1e113d2b3c393d34313a311f3a4e0f113d4c2d1f3d4b48103d1f0b1f3d3d3d291911293931393508394b103b393b393c3339313d313935173911000a0a30492a3c29171f39132d1f3b48300f393d1c012a292a393139311f3d124c3b39390f3e3b01393b3139401f3d103c12391f0f3d3b01393b313a351f3d103c1339121f3b39390f3c3b01393b313a351f3d103c1c392c133c39390f3b3b01393b313a354b390f391f3911392b360f35313c393d3431392a3a392f083a30013934291d35392a11313e3f013d303913393b293b392829293e30311f103e3a3d391f39113d3a31390f3d293b3930292932483d3a1311392d2d363a1f0b1f3a133139360f371739133d393129293c293b393a3129173c2939325731393517391f2911392b393c333932172a0f2a393139351f392d3d3a1912213b3a3b393a342939393c393d34313935293d1f0b11392b393f19114839312d2d363901393f31393d4e393a0b1f3a133d1b1911393f292a0c0929293d1f3a133f17391517290c0f3d11392d3e532a1f4839292939103b2b393a2920413f3c29131f3b1f2a393139171f3a3d3d3b1c3f171f3a111f3b303c213b393b393d29293e093129293431390f1f3a3b39302a163e3e3c2939343139171f3a483d3a1c3d3d3a1b113130292932483d324c3a311f3d3639390b353a0f0b1f3c392a39292939103a3b39303d3a1311392d2d363a29363931393d103b2936393916401f39011f3b3a3b313a31393517391510303a3d391f3901393a29293e09361f313d31393d0c3939393539290b1f3900392b3b01313a31392209342939102a292a39292939103b1f0f3e3b01393d3139140931393d4e3939391f3a3d3d3a1911313d31391c303c293934292939103b11393231391c3a39202a3a392031113a003b1d392b313a3c2939343c391b34292939103a3b393b3a3d393c2939325731393517391f2911392b393c333932172a0f2a393139351f392d3d3a1912213b3a3b393a342939393c393d34313935293d1f0b11392b393f1911483931292a393139311f3a3f171f392c1739393b393d29293e093129293539292e3a393b3d33313931103b290f3d3b0f393439390b3c2939325731393517391f2911392b393c333932172a0f2a393139351f392d3d3a1912213b3a3b393a342939393c393d34313935293d1f0b1f3a15170c393b3d3639390c3a393b3d32292939103b1f0f3a3b483d393129131f3a133f173915173d1e01393f33393317391f2e3a39390b363a290b1f39011f3b3a3b3d3a31393508394b3a3b393e133d293b393c31393e3a392f0b11392c213b3a390b1f3901133c1d3b393a313935173911000a0a300f113d49391f3b483012393d211f3d11392c2d163e013c29213b293b39352a2948393139103e3a3d391f39113933361f31393c393d343139311f3b2c213b39390b1f3a2948393139173d293b393331392a3a39162a092929394a391f39343139143e3a3d3a3a393b3d323c393d343139291f3b2f083a393c173939390b1f39011f3b3a3b393c3339310b194e0f1f3901133c1d3b392d1e300f103e3b39363139323a393d1c093129483431393a3a392f17103a3b39393429393a311f393639290f3e3b0f0c3a393b3d32292939103b1f0b1f3c29483a3b483e57312948343139003e3c29391f3b2a3929313917293d390b1f3a133f0f39151713393b39363129391f39483f29392f1713393b39393b4835393913391f393d2d36393932393913393b2939323931393e3a391517373a1f393a391f313d390f29343139391f39120f39393940343139391f3912483a393940343139391f39124c3b393940343139391f39121b3c39390b340c39353b394b403a1e113539292b3a0a311f35133939323931393e3b575757575757575757575757393135113a2d33391f313b391f313c390f3c414131392e3b1f313b391f313b390f3457393930492d3a3d391f392d312211331b103a3b39392d3b393a290e5757570f533c311f2e3b1f313b393b3e291f3a2d33391f3139312d2a0c3e3a3d391f3a3d3f3a1f313b393a3f1710391f0f3b3b01393d29213b391f31393d19113d3b3139391f3a2d33391f31393110212a3b393e3136392b393b31392a3a39203e093129313539290b1f393e391f3a2d33391f313b391f313c39575740392e3b393e29173b391f313b391f353c57570f3a2a3f482d3d293b393a29101531084830575757403a1b2d3f391f313c533a4b3110391f0f3a3b483f391f313c403a013d3b31392e3b57575757575757570e4f5739393e2136393d3d393129311f3a2d310f11331b113a3d3f2a571f3a323c29391f39483d291911393931393e3b5757575757575757284c363b1f313b391f313b390f393b3d311f2d1f3a3d3f3a571f3a0a3d3b401f3901393931392e3a1f1e403931392a0a3d300f1f3901133c3b3b31392910153108013d3b31393508390f391f3901133c3d3b393c33293521103d31392d094a3d311f2e2931393a3b575757573c4c3511393d33391f3139312e3b393929173b391f39102a3f482d3d293b393b29293e093129313539290b1f3a2b393929173b391f39113e103d31392d1f48393139323a39203d1f39151710391f0b1f39483d1f191129393139311f392d311f11331c3a1f313b391f3010001b0a4c341f29293b394b403a1e1f32393913393b2939325731393917391f291139113939333932172a0f2a393139391f39133d3a1912213b3a3b393b342939393c393d34313939293d1f0b1139483d0a190f4c3c3929393a39390b1f39483d0f19013d3a3c393d343139363a342d21103a39323931393e3e3916401f393b1f3b3a3b313b31393917391510303a3d391f393b393b29293e09361f313d3139310c3939393539290b1f393a392b3b01313b292c3a0a311f3e3a3b1314013c29391f393b133c1b3d31392d0f48393139391f393b1f3b3a3d3d3a1902213b3a390b1f39113d3c3b0f323931393e3a3b13133d293d3d393129313c293b393c3139323a3b15000931293d3b1e0139393339313d311f311f393b1f3b193d1b3d293b39393139323a392f174a391f291f3911483939390f3a3b0139393d3a31343129351f392d3d0f19013d3b3139323a023215024d1f3a313139363a353f0b11392d3d322c203d3639390b1f39090f103a29323931393e3a3b134036393936393139370c31392e3b3b164d4029123a4131292d3b1e0139393339313d311f3d1f393b1f3b193d1b3d293b393931393e3a392f174a391f291f392b483939390f3a3b0139393d3a3134311f363a353f0b11392d3d322b0f483a31392e3b0a17533e49401e3b4e4e353a2d0f48393b0f0b1f392d3d332b292a393948393b1e0139393339313d311f3d1f393b1f3b193d1b3d293b393931393e3a392f174a391f291f392b483939390f3a3b0139393d3a3134292c3a0a292908323c2939343b0139393329360f291f3a223a3d391f393b39393339313d29293e0a361f313d3b48313931392e4131392d1f3a3a0b103a290f3a3b4833391f313b391f313b391f313a5731292d1f393b133c1b3d31392d0f48393139391f393b1f3b3a3d3d3a1902213b3a3d33391f313b391f313b391f313a573c0f0b1f3a290d1f351f35291e0f1c5339200f12393d3d0f190131353239393b293b393b292932363a3d391f39133d3b1c3b313b29220f0819111f3b393b3d283139323a133b14093339313931294c3c2939325731393d17391f29113911393a333932172a0f2a3931393d1f39133d3a1912213b3a3b393b342939393c393d3431393d293d1f0b1139103a0f3c29393429293d103a1f32393913391f39133d0a190f4c3c39393d3939290c3a1e483d3a3139323a342d211a3129211f392b1f3b3a3b313b31393d17391510303a3d391f392b393b29293e09361f313d3139310c39393910391f0f3a3b01393a3d3a3110391f0b3b293932393948391f3a2d3f333f15170b3939391f39133d1f1b13213d2939323931392e3a3a130b36393b393a3339313d311f311f392b1f3b193d1b3d293b393a3139323a392f174a391f291f39114839393b3d3b3c393d3431393d293d113d3b3b01393e29293e09311f2e3a3b3d1b3639290f3b3b0f0b1f3a2d3d3c2a0f2a3931392e3a3b3d2136392b393c2a2b393e29292a321b1f483b31392e3a3b3d213639290b1f392b133c1b3b312d291f3a223a3d391f392b393a3339313d29293e0a361f313d3b01393c2a2b393e29292a321b1f4839313a2a3b393e3510391f36393139323e3a3d391f392b393a3339313d29293e0a361f313d3b01393e29293e0a311f2e3a39480b3639390b34291f39103e3b3539292a3a0a311f31133939325331391901290f39391f30532d0e3b313c291e5757575740301b2b313a29213b391f392a0a291e575757571b302c292a3931393f0c2910153f29173b391f313b391f313c39284b0f3539290b1f394e493b3f21223b1f313b391f313b390f2857573931291f392d3f391f313c403a484036393a083b393b393a2a2948393f11393b31393f0c291f391f392f1b11392d302a393f17293401393b33293539312a291f3911133c3b3d33391f313b391f313c3939312e3a111e403931393e0a0a2d310f10172934312a2d1f3c3b392d360f353931390f1f3e2b393c29213b391f313a4c1b19493b3131193d360f35313139323a3d3f1713393b393533293531312a291f3c3b133c393b3d2e3c3931343913393b2939323931392d36393d3d3931292d3c293b393e291b1b1b19110f39393b393b292b3a012a0f483a3913391f3a2d3d3a2b0f483931393d17391f29113911393a333932172a0f2a3931393d1f39133d3a1912213b3a3b393b342939393129313539290b1f392a392b3129313431392e3a392f17113a2d3d3c2a0f48393b0f0f3a3b0f32393913391f3a294c3d39393d3a391f3d343913391f39133d0f2a0f48393916401f392b1f3b3a3b313e31393d17391510303a3d391f392b393e29293e09361f313d31392d0c3939393539290b1f392a392b3b483e1e1b2d3021393d213d293b3539291a393c1901313b3239393b1e01393a3339313d311f2d1f392b1f3b193d1b3d293b393a31392e3a392f174a391f291f3a2b483939390f3a3b01393a3d3a313431292d3b293932573948391f3a2d3d0f2a0f2a393913391f3a2d3d0d2a0f483d31393d17391f29113a2b393a333932172a1f483931393d1f3a2d3d3a1912213b3a3b393e342939393c3935343a2b393a3339313d311f2d1f392b1f3b193d1b3d1e483d3a3129171f392b393e29293e09361f313d31392d0c3939393e29293d103b11393a3d3a313431292d3539290b3431393d293d1f0b103a2d3d3a3129291f3a2d3d0f2a0f48393948391f3e48313a1e2b3d203916401f392b1f3b3a3b313e31393d17391510303a3d391f392b393e29293e09361f313d31392d0c3939393539290b1f392a392b3b01313e292c3a3f3c29393429293d103b1f0c3b1f313b391f313b390f284057312a2d3b293936393913391f3a2d3d1f1b113d343913393b293b393e292c3a0a311f103a3b131336393b393e292b4d3031390c3a4c293a0a292922281b29483d31392e3a34131b36393b393d3c29323a392b3d3d313a29103e0f0f3a3b013934291c1b391901393131392e3a372d171a31292d3b293b392d291f1c203a3d391f3a2b393229292a4819113d323c393d34313a2a3b303e1b3d293b393b292c3a0931392d29292b393b292b3a09313a131f3e2d313929173b391f313b391f353c41280039213139323a3d3f171f3911133c313b31223139310839011f113e2b393b3329350f3139310839021f293f3b393b313a211f3f3b393b332935293139310839001f29283b393b33293531312a1f1f3911133c393b3d2f3c393d3431392e3e31391c013c29391f39133029393f171f3f2b392e291f3a3b1f313b391f313b391f2840573d3a1f1f39133e391901392f313a1f1f3911133c2d3b393b332936213d3c0f1f3911133c2b3b3d2129293d103a01393b33293639312a2134313a2a3b39200f103e3d3d3a3129173431393d17391f29113a2b393a333932172a0f2a5731393d1f3a2d3d3a1912213b3a3b393e342939393a2b393a3d3a313431292d3539290b34292b4c103a290b3b1e1139332a292a393913393b293b393a3329360f291f3a223a3d391f392b393a3339313d311f2e3a392f0b4a391f291f39482d36392b393a31392e3a39150b4a391f291f3a3d2d363911393a31392e3a394a0b4a391f2935391f0b1f390f483a3b01393a291f39292d0f0b1f3913301f393f171f3a0a1c3d393939393939393939393b113d3e481f3911133c213b3d2f31393108394a1f3539290b1f3e3d31302e0f2a39313a29103e2936393139143a3a3029103b2b392e291f3e4031102e3b3b3e313639390b343913393b2939323931392e3a204b3e3a48393a3f3a3d391f392b393c3d372d3b31102e3b1f313b391f313b391f313b391e4931363901393c3a3d391f392b133c1b3d31392f29483b3c393534291f39103e11393a291f39292d4831393c392934291f39103e2b393a3329360f291f3a2c3c29313431393d1f392b1f3b3a3d3d3a1902213b3a390c3b393b3d2e3b0139322a292a393139323a40393a093139194b2a393939393939393939393917103a1c31393108394b39103e11393b3329364c3c393d34313a1b1f3e3b393d3f48313b1011392e1e3d311f1e2b312d2929391f3c4a0d0c2e292a39291c2b3a392d303d393c213b393b393b2919393a1911393f3d3d3d1f39133f29392f171f3911133c17393d1f3911133c09393e3b1e4834575757575757575357575740393d3a1f1f39133f39392f171f3911133c13393d1f3911133c15393e3b1e4834575757575757575357575740393d3a1f1f3911133c1f393d103e11393b3329373139290f3a3b013928291d313a194e0f1f3e3e1b3d293b393229293a373a3d393c293b393b2919393c1911392f313a103b393d33391f313b391f313c39574f41573d3c0f1f3e11392129173b391f313b391f313c5728003c1f392b3d3a3139323a13393609313a211f3f3b392f31393108394e393c31393e3a393d1f1139000b1f3f3b393b332937173901393c3f003940313a2a3b392048103e3b393b3329372139013d2131393108394d393c312a211f3b2d3d3a1c3b393a29293a371b11313229293a373c2939343b0f3253313a291f3c4e004129113a4031102f16311f3e3a393b393a29293a333f013937313a2d1f3c09492c3f01313a291e3d392c1f2a393139323a1f39360931392129292b393b3329373139013d2031393108394c393c312a143b39390f3a3b01393b291d393b19133f29392b393a19003c1e392a3a1c3139323a4839320931392129292b393b291e393b1911393b3329281f3911393b332928173911393b33292829391131223139310839411f3b31101b294e0f311f3911133c533931103f11393b3329280f391f0b103e2b393b291b393b191139323139143a39203e3e313a211f3f3d3139291f39291d483d392a01393a292b3a311b203d11392f172913393d1f39133f0f3915171f3f2b3920313931083940393b3139310839401f3b3d3a1f1f39133f293915171f3911133c0b39311f3911133c0d39311f3e2b39193d3c0f1f39133f1f3915083b393b392f31393d1a291f391f3f3b393a3f013922313a1b293f3b393b2921393b1911393b3329371f3911393b332937173911393b332937293911393b33293721391039403139323a40393e0931393108394c393b31393108394c1f3b313a2d1f3f103c1d392b393b3329280f392b312e3139310839571f3a31101c3b393d31393d300c3e3a3d3a3a49313d3a291b2939361f31393b01393b291d393a1911392e313a1b1f3e331b294e1f311f3911133c4c393d103e11393b3329281739290f3a3b48302d1f293e3a0039394a391f391f39133029392f171f3a103a3a3139323a0f393e09313931083941393a3139310839411f3a291f3a3b1f313b391f313b390f3939293f3b393b291a393a1911393b33292839392b393b33292831392d313929173b391f313b391f3539393d3a1f1f3911133c0b393d103e11393b3329374c39290b103e3b3935313a214b3900391f3c3b392d360f35213139323a0b3936093239391f3c3b133c3f3b3d2d31390f08390039103e290f3f3b01393a3329360f291f3a2c3c29391f392b393a3339313d29293e0a361f313d3b01393a31292d1f3a113d32313935103b133d393129223a393b3d3c310f3a3a133521391901313d32393a3a393b3937313941093110320a312a353b293932573948391f39133d0f2a0f2a393913391f39133d0d2a0f483d31392d17391f2911392b393e333932172a1f483931392d1f392d3d3a1912213b3a3b393a342939393c3935343a2b393e3339313d311f3d1f3a2b1f3b193d1b3d1e483d3a3129211f3a2b393a29293e09361f313d31393d0c3939393e29293d103a11393e3d3a31343129313539290b3431392d293d1f0b1039133d3a31291b1f39133d0f2a0f48393948391f3e3d313a1e2b3d2d3916401f3a2b1f3b3a3b313a31392d17391510303a3d391f3a2b393a29293e09361f313d31393d0c3939393539290b1f3a2a392b3b01313b292c3a3f3c29393429293d103a1f0b1f3a3d3d39361f33293a1f32533913393b293932393913393b293b393b292b4d3f311f3e3e3139323a353f0b113b3d3d322b4b3e3e3a3d393c2939323931393e3a39203d3d293b39302a292a39313a2d103e3d3d3a31291b35391f0b1f3a132d1039290f3d3b01392e291f3e40312a2d1f394830403c480f3d293b3936313a2f163139323a353d211a3129481f3a3d3f293a15171f39483d3b1c3f1711392b39343a30401f3911393a333931392929080b19133d0f190f2d1f3b390b4a391f3a3a392b3d3f2929391f3b483d3a1911313a31393e3a3b2d2111392a0b103b01393a313936093129353539290b1f39133d0f2a1f48393139291f3a3b1f3b1f3d223a3920314a39173a3f291c0128392b3d363b0f325731392d17391f2911392b393e333932172a0f2a3931392d1f392d3d3a1912213b3a3b393a342939393c393d3431392d293d1f0b1139133d0d2a11313a3139323a353f0b113b3d3d332b20313639390b34313a291f3e2b39303f013d2d3139223e3139323a204b3e3a00293a301b132d3d2939323931392d1f3b103c143911312f29173b391f313b391f313b391f30412b3c29391f3b132d363a2d3139312a211f3a2b133c1b3d31392d0f483931392d1f3a2b1f3b3a3d3d3a1902213b3a390b1f3a132d363901392d313a2240312a29353a290b1f3a132d10392b393b29293a313c293d3431392d08394b3a3b393e3536393b393e31392d17391f2a3a392f0b4a391f293431393e3e3c293134291c2b3a392d3d1b361f31393b483139312a2d1f3a2d31393d3e363b39390f3a3b01393d333933293a11313a2a292a393139291f3b1a1c3d393939393939393939393b113d3e481f3a3b133c393b3d2e31392908390f1f3539290b1f3e3b392e2d11392e291f142e1b113937292a4d352929391f392b39371c100c012a292a3931392a3a353f171f3b2a3a3a31392a3a313f171f392a3b29392b393d292a3a09313929083902391f3a3b133c373b393d3329351f3139290839011f293f3b393d33293529312a2d1f3a3b133c3f390f3a3b01392829204d0c0a2b392d2d0f2a39291c2b3a392d303d393c213b393b393d291d3939191139323d3d3d1f3a3d3029393f171f3a3b133c213b393d332936172916413b57575757575757570e575757393a392131392a3a293f0b1f3a3b133c2d3b393d332936212916413b57575757575757570e575757393a392131392908394839103e2b393d332936313c393d343139413a4c1f3e0a0a3b392d2e292a39291c2b3a392d303d393c213b393b393d2922393a191139323d3d3d1f3a3d3f39392f171f3a3b133c13393d1f3a3b133c15393e3b393d33391f313b391f313c39393a392131392a3a40393a0931392908394c393a31392908394c1f3a291f3a3b1f313b391f313b390f3939293f3b393d3329360f312a2d1f3a3b133c1d390f3a3b0139343a3d391f3b483d312c392a3931392a3a133922093139363a39162a09311f3d17391f39103a29363931392e3a3b150f103a2b393429293e09311f0c3a3b2d1b3639390b1f392b393e361f31393b01393c29293e09312935343913391f3c2b392d080131302b113936292914371b113930292a3e331b1f483931391c3a3b2d213d293b393d291b393a191139323d3d3d1f3a3d3f0f392f171f3a3b1f3b1339212913393d1f3a3d3f1f392f171f3a3b133c0f393d1f3a3b133c01393d1f3a3b133c0b393d1f3a3b133c0d393d293f3b393d3329371f392b3d2e31392908394e1f3a3c39313431391c3a3b3d0f3d293b393d2922393b191139323d3d3d1f3a3d3f393915171f3a3b1f3b1339212913393d1f3a3d300f392f171f3a3b133c1339311f3a3b133c1539311f3a3b133c1f39311f3a3b133c113931293f3b393d291d393a19133d3931391c0a292932482922390819111f3b393a3a3a31392a3a48393e09313929083957393a3139290839571f3a313929083953393a3139290839531f3a3d37133b313929083941393a312a2d1f3a3b133c4a393d35391f0b1f3c1139302920490b19133d1a1911313a292a4d352929391f3a3b1f3b133921113911393a1c100b36393b393d291d393b191139323d3d3d1f3a3d30293915171f39103b29392b393d291b393b1911393d3329281f3911393d332928173911393d332928293911393d332928213910392131392a3a0b39320931391c3a39162a3a013b1009333931393d3d3d1f3a3d3f1f3915171f3a3b133c0f39311f3a3b133c0139311f3a3b133c0b39311f3a3b133c0d3931293f3b393d3329371f39113d2e31392908394e1f3b3c393d343948391f3a3d3f293a15171f3901313b29293e0a311f363a39162a09333931392a2948393b483d3931290b3b293b39302929140e311f3e3e3a3d3a3a393b3d3a3c393d3431393d1f392d3d321911393029293a373f013d3c3913391f39132d3d293d3d3931293e3a393b3d3b3c393d3429213b2d4e410f3c2929391f394a0c3a39162a3a133b140933393139311f220c3129083a393b3d31292939103a2d3d3931293d3c293b393d2922393f1911393e292932481911313631391f1f3c2b1f3b393b31363139220d31103a09311f1f4a391f391f392d3d3a191330573c4b3d1f392b39312a2b393a31392e3f1b2b31313f013d3a31391c3a3b2f0b1f3a0139313f013d303139171f3c2b393f313a3a0b194a0f103b3b393e29293e09311f2d1f39131b3639390b1f3b3d2d36393b393d2922393f1911393b2929324819113931361f31393139323a392f1710391f0b1f3a01393c19483d3219113d303b0f36393913391f3a483d132c1f2a3931391c3a323d1b36392b393d2922393f1911393a2929324819111f3b393d302a4e1e133d2c0f483a3b01393b291e402819113d3f292939103b3936393139110c31392a3a133922093139223a570f4100311f363a39162a09311f2149391f3a3b3021224031102a3b1f222c0a4b39362d3a30413a39392d1f3e3b392d29173b2d4e410f3c1f3b312e29173b2d4e410f3c1e1648103e3b392e080f0b103b3b393f313a2b16311f214a391f391f3911393b3139311f3901393f3f01393a3139363f3f01393c3139323a392f0c3a570f41002a000b103911393c29293e0a3129211f392b393c2a0f48393b013934292a490a31290b1f3b3d2d36392b393b31393e3a392f0c3a570f4100311f3e3f3a3d391f3a3d3f293a1517113901393b291e4c28191330573c4b3e3a39162a09311f211f3a111f3b393b393b29293e0a291e40281b2b313b2929324831393609333931391b12213b39390b1f3a483d3219113d3031392a3a1339220931393e3a39162a0931391f4a391f393539290b343913393c293b393b29293e09291e40281b2b3d3c31392a3a133922093139323a392f0c3a570f41002929324819113d313948391f392b3d3f292939103a2932393913393c2939323931392d1f3a15083a570f4100311f3d1f39132136393b393d2922393f1911393a2929324819111f3b393b313a31392e3a39162a3a4c3b100933393139311f08323c29391f392b39332b0f483b31392e3a392f17113a2d3d3d2a0f483a3b0f0b1f3a483d132a0f4839291f39103e3d3d3931292e3b393b3d2e3948391f3911393e31392209291e40281b2b313a2a1f2a393139323a392f083a570f4100311f323a3916291f3a3f083a393c213b1239213431392a3a1f392209313a291f3e2d313929173b391f313c14150a1d370f3939293f3b393d291e393e1911393d2922393f1911393a2929324819111f3b393a3b29392b393d291d393e1911393d332937393a11393d332937313a11393d3329280f3a2b393d3329284c3a2a39403139290839531f3e312a2d1f3a3b133c4c392d103e3b393e29293e09311f2e3a3a3d1b3639390b1f3a3d30293a2f171f3b2a3a3a31392a3a0f392e09313a291f3e2b393d332928293a2b393d332928213a2a39213139290839401f3e312a2e3b393b3d2d313929083940393e312a211f3b483000393f17113a0139281901313c2929391f39483d392b100b1f3c11393c31394d31311f2d1a311f3e3a40393a353c293d353a390c3a3b2d3d3a31391c3a342d171a311f171f3b4a17103b01393f31393111392d2136392d3f3914370e1b390139331c113d362920401f3b162a3a1e4b35103d3d3d3931292d1f3a113d3a3948391f3a3d3f293a15171f3a133d3b1c3f17113d2b393e313a3d17391f39113d2b39331c1517113a2c213b393b393a29293e09291e40281b2b393a31392e3e31393d1f3a132200311f2d1a31293d1f3a483d321901393031392d1a31291b1f3d3b392a1b2b39361a3b3d3e3139223a392f083a570f4100311f211f39131b3639390b1f3a2d2d36392b393a313936303a3d391f3a3d3f293a15171f39133d3b1c3f171f3a2c213b393b393c31293135390f0b1f3b3b39313339313929293e01361f31393139351039290f3a3b0f0b3431392a3a13392e09291d3d3a31393e0a3d36403a3d3e481f3a3d3f0f3a2f171f3a3b133c13392d1f3a3b133c15392d1f3e11392e3d370b3b31392908394f1f3e312a131f3a3b133c0b392d103f3b393d2921393e19133000393b393a19003c1e392a3a1c31392a3a17392e09313a211f3e2b393d332937393a2b393d332937313a2a3c163911393d291e393d1911392f313a2d1f3a3b133c17392d113e3b393d332937173a2b31203d364c3a31392a3a4c392a09313a1f1f3f2b393d3329280f3a3b393d3329284c3a3a39403139290839531f3d312a2d1f3a3b133c4c3929103e1f0b3b293b393f29292a09291e40281b2b31333139323f3c29393b293b393d2922393f191139332929324819111f3b393b3133291e57320c1d4c3a2c292a393139083e3139223a3a2f083a570f41003139323f1b29483a31392a3a403936093139154b2a393939393939393936395717103a1c31392a3a4c393609313a291f3e01393d3329280f3901393d3329284c390039403139290839531f3c312a1b1f3a3b133c4c3935103e390f3a3b01393329213c330c1d4c3a2a0f2a3931392a3a48392a093139154b2a3939393939393939371f5717103a1c31392a3a0f392a09313a291f3e01393d332928293a3b393d332928213a3a39403139290839401f3d312a1b1f3a3b133c0f3929103e390f3a3b0139320c013d1a3139311f3a133d3e191330573c4b3e3f3a3d391f3a3d3f293a3f171f3f4829393939393939393c1f284e3129202b393d2921393d1911392d313a1b1f3a3b133c1339291f3a3b133c15392929283b393d332937313a3b3d2031392908394c393d312a293539290b1f3a3d3f0f3a3f171f3f4829393939393939393c17284e3129202b393d2919393d1911392d313a1b1f3a3b133c0b39291f3a3b133c0d392929283b393d332937173a3b3d2031392908394e393d312a293431393e3a4f0f3a333c29391f3a3d3029394a171f3e3b3920291f3a3b1f313b391f313b390f2840573d371b3b313929083941393c3139290839411f3c291f3a3b393a3a4f3c29391f3a3d3039394a171f3e3b3920291f3a3b1f313b391f313b390f2840573d3c0f1f3a3b133c013935103e01393d3329283939013d2d3b01393d291a393c1911392f313a2d1f3e3b39203d3c0f1f3a3d3f1f394a171f3a3b133c0b39351f3a3b133c0d39351f3f3b39223d364c3a31392908394e1f3c312a2d1f3a3b133c173935103e1f323929204c1f3d150b1f3a483057575757573a4b3e373c29391f3a3b392e290e57575757575757575757570f3b3c360f37213901393d313a214b394d393c31392a3a1f393609313a211f3e2d313929173b391f313b391f313c572800392131392908394d393c31101f1f3a3b133c153935113f2d33391f313b391f313b390d3539393d37393a3129311f3e2b393d332937313901393b29293a31311f211a312a2d1f3e11393d332937393901393f3f013d2f313a351f3b01393b29293a3719113134291d4c3919134c3d293b393e31392d1f392b393c2a4b3d1f3f3b392229173b391f313b391f313b4c0f3939294c393e3a393d1f1a29293e303c293d1f3e3b3920291f3a3b393a3a4f2a29483a3b48302d1f293e3a0039394a391f393431392a3a40393209313a211f3e2b39343d37173b313929083957393b312a2d1f3a3b133c53393134312a291f3c3b392e360f351f31390f1f3e3c1b3c333b393d29223c3f393f1713393b393533293517312a291f3c3b133c313b3d2e3c39293431393d08394b3a3b393e133d293b393a31393d17391f2a3a392f0b4a391f29343c393d343913393b1e01393a3339313d311f311f392b1f3b193d1b3d293b393a3139323a392f174a391f291f3911483939390f3a3b01393a3d3a3134292b103f3a3d3a3a392b3d3e3c393d3429173b391f313b391f373c57570f39103e3b393a3329360f291f3a2c3c29351f392b393a3339313d29293e0a361f313d3c3935343948393b1e01393a3339313d311f311f392b1f3b193d1b3d293b393a3139323a392f174a391f291f3911483939390f3a3b01393a3d3a3134311f323a353f0c3a3b13131f3913303a393f0c3a3f1314013139323a4b0f3a3f1b132d1f39133010393f0c3a3f1341002a292a3931392e3a392f17103a290f3a3b0f0c3b1f313b391f313b394c285757393b3d2d3139323a332d21363911393a3329360f31101c3b393e133d293b393a31393d17391f2a3a392f0b4a391f29343913391f390f2a3931392d3639290f3d3b0f0f3a3b0f363931392e3a392f0b103a2b3920291f3a223a3d391f392b393a3339313d29293e0a361f313d3b01393e3c2939343c393134291c2b3a392d3d1b361f313931393e3b393a3a2c3b483139312a29343139391f3e2c1b3c393b3939313a294b390f1f1f3c3d3d0f191129393b40173f391f2a57394b4c12393d3f39392f0b113a2b29393913393b293932393139351f3a3d3139291f39291d482d363939325731392a3b5757575757575757284c35103b29325731392a3b35311116291e575739203d113a133057570f3e303a3d3a3a3a3b393f3c293d192929323a3901393c3139153d2d3a0b35391f0b1f39013932103e39343b482d36393b393b29123b3108013131291e575739203d113a133057570f3e303c293d3431392e3a3d3f171f392b393b3139351f3a3a392131392d1f3a2b133c3d3b313a31392d0839001f113911393a313931294e29311f3a2b133c3b3b3d3b31392d08390f39103a390f3a3b01393a3139323b5757575757575757284c351f3a09493b3531193d311f171f3901393d290e5757575757575702533c31392a3b35311116291e575739203d113a4e493b3531193d311f13291d483d392c392a3931393d1f3b11393c313913291d0f2a3931393d103a390f3b3b01393e291e39391911393a3139323b393d31393d3a1f1f3a2b133c1d3b3d3b31392d08394b39103a390f3a3b01393f3a304c1f39292d1f3a2d301f393f171f392b3933291f3a3b1f313b391f313b390f340e39393a392131392d08394a1f113b13310f11331c3a53393a0a3129211f3a2b133c21390b103a3b39302a292a3931392e3a48393a093139351f3b2d313929173b391f313b391f353b4f0f3939293f3b393e33293621311f143b35311116291e1f3919013d3031392d0839493910390f0b1f3b2d345757575757575740571f4833391f313b391f313c39393129103b2b3933290e5757575757575702533c29173b391f313b391f353939103b3d333139211f3a48173d2939363939164c1f3b1139321e2b393c31392a2f0a2048113b4831392f292a3931390b1f3a3b393c1e2b313d103e393d293b393e292b3a0931393d1f39133139291f39293f3b393e332935173129311f3a2b133c313b3d3d3c392d3431390c3b3921211f3a3d31571131293539290b1f3b13313a1011393d2912533110390b103b11393d291f3f3f3129291f3a133d3a1901313f31391c333c29393431391b103a1f0b3b293b3933313914413139351f3a3e190c1e2b3132291f3a2c3a3d391f3b113d323c393d343139131f3a3b393c1e2b313d103d31392d1f483931392e3a353f171f392b393b291f3a3b393a392131392d0839021f103911393e3329350f3129293539290b1f3b2d345757575757575740572f392a393948391f3a3d3157113b3d3a3139223a392f0b103a11393d291f3f3f3129291f392b3932291f3f3f103b313229173b391f313b391f3539392e3948393b0f0b1f3b3d3f391f39320031291b1f3a133d392c392a3931392e3a293f0b1f3a3b3932290e5757575757575702533c3139223a53393a0931391c010a2d310f10172a3b393d33391f313b391f313c390f0240293f3b393e332936313129311f3a2b133c293b3d3d3c393d343139143b5757575757575757284c351f3a1139301b09493b3531193d312931343139391f3a3c1b3c393b39393139314b390f1f1f3a2d3f39392f171339390b01393b3939291e403a1b2b313931393d294f393111392d3e571b4b3e3a3920291f393b393a1b4a0b11393d3e091b2d3d3a1c3b3939292a2e0219483d211c3d3d211c290d093c0f313e1e0f4d53310f3a3a4839320a311f2d13393b393d290e5757575757575702533c31290b1f3913345757575757575740571f013d333139311f3a312e3b1f313b391f313b391f313b391e4c35103c2b393d29123b3108483057570f3e0031291f3b293932393139323b35311116291e575739203d113b2d3d3a19483041570f3e363a3d391f3b3d3d3a19483053570f3e323c293d3431393e293139323b575757575757575757575757393135113c3d33391f313b391f313c39575740392e3b393529173b391f313b391f353c57570f3a2a3f482d3d293b393b29173b391f313b391f3b3b3d31294835391f0b1f3949391f3a3d34575757575757575757575740391f01313b29173b391f313b391f353c57570f3a2d3139323b1f313b391f313b390f285757393e3d1a2a292a3931392a3b1f313b391f313b39313129103c2b393c31293d35391f0b1f392b393529173b391f313b391f353c57570f3b3e103e393d293b393c3139323b1f313b391f313b390f28575739312f3d2d392a39291f3910392d33391f313b391f313c1f5757403931294835390f0b1f3c2d33391f313b391f313c3957574039103b3d36291f391039290f3b3b01393c3139323b1f313b391f313b390f28575739312f3d2d392a39291f391039290f3b3b01393a3139013d2d392a3929173b391f313b391f373c57570f391f3c2b393b3139373d2d3a0b103c2d313931293d35391f0b1f3911393c103e393d293b393629173b391f313b391f353c57570f3b3d3129493b393b3d3a3c3931343139003b575757575757575728491f3d293b393e291b393b1911393a3139171f392b393331390829311f211a1d2b393f292922480a200116311f223a3c4a0b2934483d293139220a3129211f3a2b133c013931103b11393e3329283939113d3a3b01393b290e5757575757575702412f3c29391f3a2d3f0f3915171f390139343139351f3b0139342d3b31303f4b131f3a483d3f1c334940080131302929410a3d3b401f3a11393019133d2919013d3f31392d08394f1f3b31290b1f3a2b133c0b393110390f0b1f3a2d3f1f3915171f3b4833391f313b391f313c39393129113d1331281011393c29123f31103b313b291f3a3b1f313b391f343c150e313449393b393b1e2b313d291f39293301393e2922393b1913313931392d08394e1f3b1e2d313931392a3b393a390a31392e3a1f39320931392d08394d1f3b291f3f3f31392d08394d393b29125331103b313d291f391f391331393d3b0b1f3a2d300f392f171f3a3d3139291f391f3a2b133c11393241291f39293301393e291d393a1911393e3329284c392d313a1011393e3329280f392d3157113129113a3d31393139323b393a390a31392e3a48393e0931392a3b393d313931392d0839531f3a1e2d31393d3b0b1f3a2d3039392f171f3a2b133c4a393e3b3921211f3a2b133c48393e3b284c113d311f2a3b393b393b291f39293301393e291a393a1911393d291f3a3b393b393e332928313920493b393a390a31392e3a17393e093139323b393b393e3329374c392d313a1011393e3329370f392d315711312a3b39204811391331393d3b0b1f3a2d3f29392f171f39483128101331393139323b393a390a31392e3a40393a093139323b393d313931392d08394e1f3a31392d08394e393a311f0f1f3a2b133c15393e40311f291f3c3e2b0c1e3b393d291f3e2f0a200041291f39293301393e2921393a1913313a31392a41291f391f391331393d3b0b1f3a1139323139100a19113d3f3916401f3a2b133c1b3b312c291f3f3f311f4c1f3a2b133c11393d113c48313a1011393e33293739392d315711312a4031103a3b4d530f391e2b312d29113b31311f311f3b1333391f313b391f313c39393129113e2d311e113d3457575757573c4c35113a304c113d2b393a291f3f3f311f003b31311f113b013929313a2a2f0a2b3937313a3a2f0a2b393e3329364c291f3f3f313a363b284c113d3139413b284c10401e30003b392048113d48311f113b31291e160f113c11392a2e33481f3c113937313a363b57575757570f533c3110351f392d3157113b312f3139083b3921193d290e5757575740281f0131331e160f113c14190c1e3b393d313a3a531e3b393d313a365331103d1f3b1139291e160f113c01392a2e33493b3131211f3c48311f11312a4031394c1f3c11392829113b3f1e3b31372e09494031394c1f3c11392d290e5757575740281f01312d3139085331103d1f391139341e160f113c01392a2e33481f3c013928313a351f3c3d3453575757573c4c35113d204d40311f412f0a200040311f4d2f0a200f1f3c11393d313a2a5331101b1f3d3b392a1e160f113a3b393b313908531e3b313331390b1f3d4b4d4031103a3b31311f1f3b1139292e09481f3a3b39202e33481f3a3b39332e0949401e3d311f10172a40311f291f3c142b0c1e3b393d3139401f3911392a1e11313b31390b1f3e304d40311f0c3b31311f1f391139342e09493b3131193d1e3b313b3139412d0a2b393b313a3a3b313122403139322d0a200040311f311f3a3e2b0c1e3b313d290e575757575757575740392f392a39313a2e3b3921211f3e1729103e2b393e291c39391911393b3139291f3901392b3d3b0b1f392d31001011393e332936211e2b393e33293629311f3e3b393e330c1e2b3d33291f391f392048103b01393f291e4f57393f173539290b1f3a2d301f393f171f3a3d31571011393b291f3f31103b313b31392a3b39211f113a3b393c313a31293301393a29123b3f31392d08394a104131392d08394a39113c3d31392d0949413129083b393b39351e2b3d3431393d103c3b393f291e5757393f1734311f223a5757403a2c1f2a393139493b1f313b391f313b390f285757393129103c2d313931293d3539290b3b1e11393f29293a333a3d391f3b13313a1011393429125331103b3d3331392a3b5757575757575757284c351f3a09493b3531193d31290f1f3b48313a101f0f3a3b01393f292141572c392a39291f391039290f3b3b01393e292d3a0a3139311f3a3d3d3a3139220a3d300f1f3a2d3d0f19113935313a2d1f3a13300f393f17293401393e292b3a093139351f3d11393e33293639311f311f3a2b133c2b3b31353d3b0b1f3a2b133c373b393e33293517291f3f3f31392d0839013911392d315711312a4131392d08390239113a3b393a291f3f3f311f3e2d0a2048103b11393d31393e413b013d3d31392e3a3d3f171f3901392b291f363b393a390a31392d1f3901392b291f2e3b393a390a31390f1f3911393b3139351f3913313a1f01313a31392a40311f362d3139171f392b393c2e094940311f3d1f3d14211f392b392b2d2a0d0c1e3b313b2e094940311f291f3911393b31392a3b1f313b391f313b390f285757393e291f3901393e332935292e11393a31392d0839001f113a3e211f392b393d2d2a0c000a200f113914190c1e3b313d3139311f3a3d33391f313b391f313c39575740392e3b393c31392d08390f3a2f31393d1f3a2b133c3b3b313c2e11393a3139362a3f4b3f0c1e3b313a3139322d0a200f1f3c2129103c290b1f393b393a360f35393139391f3c2c1b3c3b3b393e291c393b191129393b4f403b39293e57310f3a3a48393a0a311f2913393932393139363a1f31393a2c1f2a3931392a3a313f171f392b393b291f3a3b1f313b391f313b391f285757393a39213139290839011f103911393d3329351f31293d1f39483057570f3e313a3d391f39483057570f3a0a31293535391f0b1f3a3d3d291911393a3139323b393d33391f313b391f313b39575740393d3a1f1f39483041570f311f39483041570f32313f483053570f3e0a3129351f3a3b133c3f3b3d3b313929083900391039290f3a3b01393c29213f391e481736393b393d292d3a0a31393d1f3913313929173b391f313b391f31394d3d3a1f1f3a3b133c2b3b3d3b3139290839483910392b393c291e2b391e13173d293b393c29214b57393f1710390f0f3a3b01393d292c3a0931393d1f3913313929173b391f313b391f31394d3d3a1f1f394830171f20481f394830171f2049333f483f19571f3e093129351f3a3b133c373b3d3b313929083902391039290b1f3a3b393a3139323b393b393c291e5757393f090c29123b3f3d3a1f1f393b393d33293531360f35313139391f3a3b133c393c1b3c393b393d291c3939191129393b022d393139391f392c1b3c393b39393139323b5757575757575757284c351f3a3d310f11331c3a1f31393b1b2b393b29123b3108483057570f3e001b09493b3531193d360f35313b4c4c3a39293657310f3a3a3d3f0b1039293639291d011b0a41403c3129313b293936393139323a4b1a1a100e39223f3c293d1f39133f2f024033533a3d1b3d293b393b291d011b0a41403c2a0f483a31393d1f393c213b3c3b393a3139354a391f103a140b573b0e1f2a3a4b1a1a100e39211f392b1f3b3c3a0b10391f0f3a3b0f0b1f392b1f3b3b3b313929293e482929320031393a3a392036093129351f392b1f3b3c3b393a3339313529293e0a1b2b3d393c393d343b01393a333931313b010f3931393917391f391931393917391f391f393a3b3e392f171931393917391f391f393a3b32392f171931393917391f391f393a3b3e392f17193b0f1b3931393d1f393f0b343b29391f393b393a3d374c3b3b010b3a3920401f393b1f3b393b313a3a3d391f392a3c4f39133e573d3e4d3e3a3d391f393b1f3b393d2d283b0139392929394a391f393429293d34330f3d3a1e01393933393139311f3d3d293b393a3d31393c2920402920132d3d293b3939333931392a29403431393a3a393c213b39390c3a39290b36393d3d393139391f393d3e573d3e4c1a3b4c483a39292a57310f3a3a3d3f0b113a2b293931393d1f39103c0e3911313d292f41363a3d393b293b393d292908363a3d391f393b393d3d3c171f393b3d3c3c393d343139391f3a3a3b2a392d3d3a1911313f3d3e401139003a363139391f3a103a353139391f3a3a394d3b0f363931393d1f39131b3d293b393c31393d29363b393c29293e093129351f392d3d3a19113d3a3c393d343b01393e2929394e3939401f3901393e292941093d3c291f3a2d3d29191129393c0f0b293e0f39344d29293a3a4b401f393b1f3b3a3b39393d3d3517391f3a303a3d3912393d3d291901313b3239391f39113939361f31393139311f393b1f3b3a3b313c361f313d3139311f39483d3a1912213b3b3b39393d3d351f39111f3b3a3b393a3d310f3b3139311f39111f3b3a3d3d3a1912213b3a3b393b3d31133b3139323a3d3f171339394034310f3a3a313f0b113a01293931393929290131313916401f3a483d3119113d3b3916401f393a3b32392d3d3a19113d3f310f3a3a3d3f0b113a2b293931392d1f3a12213b3c3b3539292a3a0a311f2913393b39393d3d351931392a3a1e02213b3c3b393d291e575757574030361f313131392a3a3c3f171f3a3d3d3119103b11392b1f3b393b3d3c31392a3a3d3f1713393b393c313922283a3d391f393a3b3e392b313d3139363a392022323a3d391f3a2b393d29293e48361f313131392e3a3b3f171f3a2d3d3519103a4a333931393129353431392e3a3d3f1713393b393c3c393d3429191b1a3d32213b39390b103a2b39393d31133a3129223a393b3d3c310f3a3a3d3f0b113a3b293931392a3a393c213b3c3b393b2929000931392a3a3c3f171f3b3a3b3d3911393e3a3d391f39111f3b3d3a171f3a2a3a1e312935343139311f3902213b393b393b3139351f3a1517113a12213b3b3b393b3139214a391f291f39103b3c392b393c31392e09361f313931392a3a3d3f1713393b393b333931313b01393a3d310f3b3139311f39111f3b3b3d3d3a1912213b3b3b39393d37483b31393929290139393339313931393917391f291f39133d3d1911313a3d31353b3139391f392a3a4931393a3a3a3f171f39133d3119103a49313939292901393b3d31353a3d302d1f3911393b3339313d361f31393139392911293d1931393917391f391931393917391f391f393a3b3e392f171931393917391f391f393a3b3e392f171931393917391f391931393117391f2911393b393b333931312a0f2a393948391f39111f3b3d3a171f3911393b3339313129293e0a361f313131393117391f1f1f393d1b3639390b3431393117391f393d293b393b333931293f11393b333931393129391f39103b3c392b1f3b393b393b333931391900171f393a39293b013930292b3a09323939343c0f391f393b39393339312131393e09361f31213b001b393139391f3912213b303b393931393d4a3910291f393b393a361f31213b49213a3916403b293b393933393139311f323e3c29393b1e01393b33393121311f351f39111f3b303d213d293b393b31393d1f39111f3b393b1f3b363a3d3b39390f3a3b01393b3139363a3a3f174a39101f1f3901393a361f313931393d342920402920132d36393b39392929394a391f39343b01213a3920403b293b393933393139311f323e3c29391f3911393a3d284c3b2920402920132d36393b39392929394a391f39343b0f1339313939294d393d293d390b0039293e5731393917391f0f11392b3939333931292a1f2a393139391f393b1f3b393b1f3b333a3d39393940343139391f392d3d3d1912213b3c3b393a333931393b011b3a3920401f393b1f3b3c3b313a3139391739103a3f3a3d391f393b393933393139333931133d2939393c0f0b1f392b1f3b39390b29393b39393d28393b31393d294039320229293e023b4c0b3d39292257310f3a3a313f0b11391129393139323a393c213b303b3539292b3a0a311f2913393b393b292a1009311f223a393c1739393b393931393917391f3a3a3c3f0b17391f3a093d34133a31292d1f393b3939333931392929000a3339313919113d3c3913391f3a292a393139351739131f3d293b393931393917391f3a3a3c3f0b17391f3a09333932313d31213c3b0f32393139391f393b1f3b393d3d3519011f3b393f1717391f2a3a1f3b3a002a29483931392a3a3f3f17113901393931393917391f3a3a3c3f0b17391f3a093d39401f3900390131291b1f3900393731392a3a3d3f171f393a3c39392b3d3c31392a3a3b3f1729102935103a2936393913391f3901393e3d3c3e3e3c29391f3a483f390f39391f3900391e3d3d2a3e3c29391f390039113f1f0f3a3b0f0b1f3901393e3d3b223e3c29391f393b3939333931392929000a3339313919133d3f3d31393a3b01393f3139391f393b1f3b393d3d3519011f3b393f17290d293d4e3939393539290b1f39483d3d3d31393a3b01393d292b3a093239391f3a11483939392a393139323a3d3f17113a3b393931393917391f3a3a3c3f0b17391f3a093d39401f3a3d3031100f3d29223b3d3c3139323a3b3f171f393a3c39392b3d3f31393129102935103a2b393c31392117391f391f3a2b1f3b393b393931393917391f3a3a3c3f0b17391f3a093139323a303f171f39133d2d1911393c33393139333931293d292d393f11393d3d394c1f392932573139311739102a3a1f313b391f3010313a3d391f3911393b3339311b29292a01361f311b29213b391f313a4c3c393d343139311739102a3a57575757570f1c333a3d391f3911393b3339311b29292a01361f311b291e5757575740303c393d343139311739102934361f31393139391f393b1f3b393d3d3519011f3b393f171f39111f3b303a3b3939290b1f39133d1f191129393b020b3a3920401f393b1f3b3f3b313b313939173910003f3a3d391f393b393a3d3f2d1f393b1f3b393b1f3b363a3d3b393940343139391f39133d3a1912213b3f3b393b31393d4e3939391f392a3a143b02353a3920401f393b1f3b3c3b313a3139391739103a3f3a3d391f393b393933393139333931173d2939393c0f0b1f393b393a29293e09361f313531393d0b3939392922290b0839293e5731393917391f0f11392b3939333931292a1f2a393139391f393b1f3b393b1f3b323a3d393939403431393d0b3939392922290b29393b39393d283d3b31393d294029320229293e023b4c483a39293e573913391f393b1f3b3a3b313a31393d17391f3a3a3c3f0b17391f3a09333931212a29483931393917391f2911392b393a333931392929000a3339313919103b4d392d2d36393b39393339313d311f3d1f392b1f3b393d3d3519011f3b393f1717391f2a3a1f3539391b2d2d36393b39393339313d311f3d1f392b1f3b393d3d3519011f3b393f171739101f291f0f363a1e481b36393b39393339313d311f391f393b1f3b393d3d3519011f3b393f083a392a3b3939290b343c0f391f393b393933393139333931213d2939393b492d393139391f392c213b3a3b39392929394e3939391f392b393a333931392929000a3339313919103b4d39292a3931393d1f392b1f3b393d3d3519011f3b393f171739131f3d293b393a31393d17391f3a3a3c3f0b17391f3a09333932313d31213c3b01393929293d4e39393934313939343b0f391f393d3d39361f3139313939341a1f3d3b1e013539292a3a0a311f3d13393b393931393917391f3a3a3c3f0b17391f3a09333931213a3d393b293b393a29291009313939291039351139114839393d2d36393b393931393917391f3a3a3c3f0b17391f3a09333931213d31353c292041303c29391f393b3939333931392929000a3339313919133d3a3d31393a3b01393b3d31313c3b01393a292a3a09323939343b29391f393a3c14392a39293b0f293929204034001f1f3a3a16401f393b393a33393939311f363a3f30291f39483d311c3d3f391f280f301b20311f39483d311c133f39571f36003139363a3f3022011b11313e361f31393139391f392b1f393a3b313c292a10483139363a3b302a3a1f313c403a4b3e013139363a3b30223a1f284c3c1b2b393c292a104a1b1631113a12213b3a3b393931393d1739391f1139483d211c3b393c2929104829213b3957391c001b11393c2929104a29213c53394b3d1f39483d211c163201311f1b4a391f1f1f393b393a33393935311f363a3f30291f39483d311c3d3f391f280f301b20311f39483d311c133f39571f36003139363a3f3022011b11313d361f31353913391f39133f39392d213d293d3d393129353c293b393931392a3a3e16223a57391c002921393119114839392b393d29294d4a291e0f301b2d3f393b3f1717391f3a3a3b302a3a1f313b391d303d1f3a20351f3a3d3d3f1c1330403a4b3e3a1f3910093429393b292a3a481b01393d291e403a1b2d3d3b1c3d3f393b3f170c39393e3a3b302a021b01393c2921391919114839393d3d211c3035113a2c213b3d3b393931392d1f3a1635113a12213b3e3b39393139211f3a4b35113a02213b3f3b39393139291f3a4b35113a3c213b303b3939292a3a0931293a3a3b113d3a3139363a392f171139483d332a0f48393b0f0f3a3b01393931393d17393a391139483d211c3b393c2929104829213b3957391c001b11393c2929104a29213c53394b3d1f39483d211c163201361f31293139391f392b1f393e3b313c292a10483139363a3b302a3a1f313c403a4b3e013139363a3b30223a1f284c3c1b2b393c292a104a1b1631113902213b3e3b393b291b393a2a1f2a3929293910392936393139391f39483d2f1c1330403a4b3e3a1f3910093429393a3139363a3c16223a57391c002921393119111f3b393d3d311c3d3f391f313a4c1b2b393e1b01393c2929224a291e0f301b2d3f393b3f170c3939323a3d302a023139363a570f3e00292932482921393119114839392d3d311c30360231393e3a1f3a080934293939292a10481b01313e361f31213139391f3a2b393f1b01313f361f311b3139391f3a1139301b013130361f311f3139391f3a3b39301b01313d361f311331393e3a3a48213d293d3d353c0f2d1f393b39393339312931392a02311f314a39111f1f393b393b31393602311f354a39110f1f392d3d3a19113d3a31393a3a3f3f171039390f3a3b0f393439390b1f393b393a33393921311f363a3f30291f39483d311c3d3f391f280f301b20311f39483d311c133f39571f36003139363a3f3022011b12213b3f3b393931393d17393a0f11392d3d211c3b393a2929104829213b3957391c001b11393a2929104a29213c53394b3d1f392d3d211c163201311f354a3910003a1e013d3a3139323a1f3932303c293a3a393b3d3b29294c10392936393139391f39483d2f1c1330403a4b3e3a1f3910093429393a3139363a3c16223a57391c002921393119111f3b393d3d311c3d3f391f313a4c1b2b393e1b01393c2929224a291e0f301b2d3f393b3f170c3939323a3d302a023139363a570f3e00292932482921393119114839392d3d311c3036023139323a1f3a080934293939292a10481b01313e361f311f3139391f3a2b393f1b01313f361f31133139391f3a1139301b013130361f31173139391f3a3b39301b01313d361f310b3139323a3a132136392b393931392a3a570f3e00292932482921393119114839392b39393339312931392a3a3e16223a57391c002921393119111f3b393d3d311c3d3f391f313a4c1b20351f3a3d3d371c1330403a4b3e3a1f3910093429393b292a3a481b01393d2929224a291e0f301b2d3f393b3f170c39393e3a3b302a021b013131361f310f3139391f3b3b39393339312d1b013131361f31483139391f393b1f3b3f3b39311b013131361f314c3139391f390139311b01313c361f31403139323a392f171039113939292b3a093129393539390b393b01393a3b014c393139391f393b1f3b393b1f3b323a3d39393d3e572a1f2a39292040283b01393931393917391f0f11393d3d3a1912213b3c3b3939343939393d3f2d343a393a3a1e0f0d5739293d3d1e013539292a3a0a311f2913393936393913391f3911393e2c3948393913391f393b1f3b3c3b313c31393917391039113a13133d293b393d291e575757574030361f31353139291f3a11393c1902213b3b3b393d3139311f3a2f0b4a391f291f3a3d3d351911393d2929100931392a3a3a3f17290d1f3d290d1f3d103901393a31393917391f0f1f39011f3b393b313c3d3e2d1f393b39393339313531393609361f31353c393d343139391f393b1f3b393b1f3b333a3d39393b313c2920413f3c293d1f392b393c3d320f3a371f393929293d10390f0b1f392b393c19113d3a3139351f3a2f17103a290f3a3b0f0b1f3a3d3d291911293931392d343b29391f393d32573d340b3a3b0f133931393a3b1e003b4f39290b3d393b39393b0f1339313939290e393d293d390b31393b39393d304c293d390b30393b3939333931353b003939310f391f393f0c3a1b303d11393b2939313939343a1f391f393b29393b0f2939310f39343c39391f393a3c3a392a171f393a39293b0f1339313939290f293d293d390b3e393d30533f0f0b1a393b393931393d17391f1f1f3a2a39533a3d391f392b393b3139351f3a3a3c3d39290b343739391f393b393a3339313131392d29281f2a3931393d1f3911393c3139292900393d283b01393933393131311f391f392b393b3139351f3a3b393e31393917391f39173910292a3b293934141f313a3a16401f393b393a3339313131392d29281f2a3931393d1f3911393c3139292900393d283b01393a3429394931291b1f393b1f3b3c3b3d3f31393e3a393c1739362b393a3429394831291f1f392d3d39371f394831393a3a3d3f17113b2b393a3139311f3901393d31392d290f1f3d1f3a01393a34293949311f080131291b1f3b3b393a34293948311f0c0131291f3b293b393f292932313c29391f3b2b393f2929364819113d3231393a3a3f3f17103a1f363931393d0c393c21363929323931390b3d293b393a3339312129293e3f3c29351f393b48393b3d3d3b1b29483a3c3935343139083e3c29391f393b48393b3d3d3a1b2d2d36391f0b1f392d3d39370f3d483139211f392b393b3139351f3a3b393e3d35313a31393d0c393c2d113b1139301b113d3031393d0c393c29113b0139311b113d313139223a3b3f17113a1139322b2948393b0f0b1f392b3930291e403a1b2d3d392a021739362b393a3139103a570f3e0029293a30371f39483b4d313a393b393931393d17391f1f1f3a3a39533a3d391f392b393b313935290f0f3d283b0f32393139391f392b1f3b393b393d3d3c4d3e3c29393b293b393b31393d1739103a303a3d391f392b1f3b3e3b393b2a0f483a3b01393c29293e303c293d1f392d3d3a361f311f3c0f0b1f392b393b361f312d31393d1f3902213b313b393a31393d173911103a392f174a39111f3b293b393a3339311329293e303c29391f392b1f3b3f3d3d3b2a0f483931393e3a392c1739361f0b1f392d3d3d361f310b3b0f0e023929391f393b393a3339313131392929281f2a3931393d1f3911393c3d35353a3c0f0b3b293b393931393d17391f391f3a3a39533a3d393b293b393b31393d1739103a303a3d391f392b1f3b3e3b393b2a0f483a3b01393c29293e303c29311f392d3d3a361f311f3c0f0b1f392b393c361f311f3913391f392b1f3b343d3d3d2a1f483931393e3a393c0b3a363b393933393131311f391f392b393b3139323a392b393d31393917391f39173910292a3b29391f392b483936292a3931393e3a3902213b343b393a342939482a29483a3c39353431393e3a3a3c213b34390b1f392b393b361f312d31393d1f392b1f3b333d3d3a1912213b333b393a3339311329293e303c293d1f392b1f3b3f3d3d3b2a0f483a31393e3a392c1739361f403431393917391f1f11393b393a3139311f3901393d31393917391f391739101f2a3b1f39343b4d483d392936573139391f392b1f3b3b3b393d3d3c4c3d293b393a3139311f39003c3c392940343913391f393b393a3339313931392929281f2a393913391f3911393a333931292a0f2a3931393d173910291f39131b3639290b1f39483d3a2a0f483b31393e3a392c213b3139403431393d1f3902213b313b393a3339310b29292a303a3d391f393d3d291911313e31393917391f003a394b2a0931291c3a393b3d3c31393d3b1e0f32393948393b293b393e31391c283c29391f392d3d39370f3d4831392d1f392b393b3139323a392b393d3d35313a31393d0c393c21363939323931393d0c393c2e3e3c29391f392b483936392a3929293d103901393a3339312129293e3f3c292a3a392b3d3f3139390c3939103a39163d3639290f3d3b483d3a3129211f393b48393b3d3d3a1b2d2d36390f0b1f3a2d3d3119113d3e3c393d343b483d3d3139223e3c293d193b483d3c3b02213b343b393c29293e003c29313431393d1f3912213b3e3b393a31393d173911103a392f174a39111f1f392b1f3b323d3d3a2a0f483a31393d173910103a39131b36392b393a29293d4e393c21283b0139393339313531292d1f393d3d291911313f31393d1f3911393c3139292917393d1f3a2d3d3b2b3948393139211f3a2d3d3c1c3f17103a113939292a100931292d3b293b393933393131311f3a3a39163e3e3a3d391f392b1f3b323d3d3a2a0f483a3b0f363931393d0c393c21363911393e31393d1f3911393c3139292917393d1f3a2d3d311911313e313922323c2939343c393d3431393a3a39203e3e3a3d393c293b393a3429394a3c29311f392b1f3b323d3d3a2a1f483b31392d1f392b393b3139351f3a3a3b1f392b393e29291009311f2d1f3a13133639390f3b3b0f39343948391f392b4839361f483a31393d1739112a3a392d213d293b393a3339312129293e3f3c29313431392d1f392b393b3139351f3a3a3b1f392b393e29291009311f2d1f3a13133639390b343b0f1b3931393917391f29341a0f3d3b1e01393931393d17391f103a393a39533a3d391f392b393b31393529001f3d283b013939333931353129291f393d3d291911313e31393d1f3911393c3d28393a3913391f3a3d3d3b2b39483931392d1f3a3d3d3c1c3f17103a3b3939292a10093129393c293b393931393d1f3911393c3d28393a31393d0c393c2136392b393929291009311f391f3a3d133639390b343b0231393139391f392b1f3b3b3d3d393d3c4c3d293b393a3139311f39003c3f3929403431393917391f1f11393b393a3139311f39013939333931393339311b3d291f393b0013393139391f392b1f3b3b3d3d393d3c4c3d293b393a3139311f39003c3f39290b340d1f353a3a204012393d3e391911313d3239393b1e483d3a3139391f392d3d393d3c4c36393a083a393b393a2a2948393f113539292d3a09311f3513393b393a33393139311f2e3a3a3f0b17391f39103a11393e2929100a3339313931291b1f39483d39361f312d3139363a0a284839361f31293139351f392c213b3c3b393c291c0241393c213b3b3d3d3931292d1f39483d2119133d39292b1b292a10171f392b393019113d3a3913391f3a13301b57293a3a393a39533a3d391f39483d3a361f314c3139211f39483d311911393a31393e3a392d3d3931392117391f39173910292a3b29391f392d3d393139351739113a3a392d211a31292d3539290b1f3a11393c2929100931393e3a392d3d3931392117391f391739101f2a3b1f393b293932393139351739110f37391f393a391f0b1f39011f3b303d3d39313935173911103a392d211a2929391f39011f3b323d3d3a2a100c3a393b393c3339310f29293e3f3f013d3e3c393d343139351739113a3a392d1b3d293b393c3339310f3c293d1f39011f3b323d3d3a2a0f483a313935173911103a392d1b3639290b1f39011f3b3f3b3d3e3b01393c292d3a0a32393a3a393b393e311f3e3e3c29391931392a3a3b3f171139483d3d1b133d39292c29292a10171f3a3d3d3a361f314c31392a3a1e02213b3e3b393d3139394a3910391f3a3b393a361f313131393d1f3901393b3339313929293d1f392b1f3b393b1f3b303a3d31393b393d3339311f311f3a3a392d213d293b393b3139291739101f4a391f393431393a3a392d21343129391f3a3d3e3919012939313939343a2939293e0f3934390f39393b0f1339291c0133392a39333f1f0b0e39393239291d1133392b4839393d3d3a1b294839291d1133392a39132a294839291c0133392d301f4929392910393e3a4e31173a3d3b3534291c013339290b32393d3035111f3d293b101734341f393b293d3021111f3d0c39393a3a39203d36393d3021111f3d29323d2d36393d3035111f3e3a4e100b292e3a083a4a31173a3d3b3534291b013339290b32393d3f40111f3d293b101734340f393b293d3031111f3d0c39393a3a39203d36393d3031111f3d29323d2d36393d3f40111f3e3a12362d393d31293a291b1133392a39123b483f40111f3d343b293a3a0a31173a3d3917193b014c3939133a3a0d31173a3429393929293e003c293a3a0d31173a3d3b2a3e3c293a3a0a31173a291c0f1c3d3e2919291a1133392a39123b483f0b111f3d343b293a3a1631173a3d3917193b01403939133a3a0931173a3429393929293e003c293a3a0931173a3d3b2a3e3c293a3a1631173a291d122d393a3b3d392d3f17111f3d29310f0c3a1631173a3b0f133929210133392a39333f1f0b0d3939323929221133392b4839393d3d3a1b29483929221133392a39132a29483929210133392d304b302a3a2d3f133f21111f3d29310f0c3a1231173a3b0f1339291e0132392a39333f1f0b0e3939323929211133392b4839393d3d3a1b29483929211133392a39132a294839291e0132392d303d4939392910393e3a1131173a3d3b3534291e013239290b32393d300b11293d293b101734341f393b293d304c11293d0c39393a3a39203d36393d304c11293d29323d2d36393d300b11293e3a4d1017292e3a083a5331133a3d3b3534291d013239290b1a393d3017131f3d103939363931393a3a3c3f0b293b113139291c3b2b392d1b3639390b341e29393b293d301711293d0c39393a3a39203d36393d301711293d29323d2d3639393239291d112b392b4839393d3d3a1b294839291d112b392a39132a294839291c3b2b392b3d393948391f393a3a3029290009311f3a3a4e32313a2a0f48393b483017131f3d29310f0c3a4832313a291e3c4f393a392d291c012b392d3040530f39293e3d301311293e3a4832313a361f3139291d1132392a39123b48301311293d17391f39343f0f3a3a0132313a3129393c293b39392929000a3d391711393d3f0f131f3e303c2939343b4b0b3939133a3a4c31133a3429393929293e003c293a3a4c31133a3d3b2a3e3c29393b293d3031131f3d0c39393a3a39203d36393d3031131f3d29323d2d36393d3f0f131f3d1039393639313939293d2d3d3519113139291b112b392d1b3639390c3a0132313a3d3b3534291a3b2b392d3f303010392e291a012b392d3f3d3010392e291c0132392d3f0f131f3d4a391f3a3a4c31133a3d3b3534291c0132392b1f3b39390b1a393d3f1f131f3d103939363931393a3a3c3f0b293b11313929213b29392d1b3639390b344a29313939133a3a4a31133a3429393929293e003c293a3a4a31133a3d3b2a3e3c29393b293d3f1f131f3d0c39393a3a39203d36393d3f1f131f3d29323d2d36393d3f3913393d1039393639313939292a483d351911313929193b2b392d1b3639390c3a1732313a3d3b353429213b29392d3017410f39293e3d3f3513393e3a11281f393d3a2a3a1532393a2919024c393a392d29192b29392d303d533939293e3d3f0f13393e3a4b281f393d3a2a3a0e32393a291d024c393a392d291b1129392d3f39532939293e3d302d13393e3a142813393d3a2a3a4c32393a291a3c4d393a392d291d0129392d3021532939293e3d304c13393e3a532813393d3a2a3a10323d3a2922024e393a392d29223b2a392d3039531f39293e3d3f1b13293e3a482817393d3a2a3a09323d3a291d3c4e393a392d291a2b2a392d300f531f39293e3d303913293e3a4b281f393d3a2a3a02323d3a29213c4f393a392d291c112a392d3f29530f39293e3d301313293e3a17280b393d3a2a3a40323d3a291a3c4f393a392d291e012a392d3039530f39293e3d3f31131f3e3a48280b393d3a2a3a1432313a291d3c4f393a392d291c2b32392d3f3913393d4a391f3a3a4a31133a3d3b3534291c2b32392b1f3b39390b1a393d300f120f3d103939363931393a3a3c3f0b293b113139291c3b36392d1b3639390b340f29313939133a3a4831133a3429393929293e003c293a3a4831133a3d3b2a3e3c29393b293d300f120f3d0c39393a3a39203d36393d300f120f3d29323d2d36393d302912293d1039393639313939293d2d3d3519113139291e3b28392d1b3639390c3a4031403a3d3b3534291c3b36392d3f1b3f10392e291c0136392d3f2c3f10392e291d1136392d301f303a392e291e2b36392d302f303a392e29213b37392d30113f10392e29210137392d3034302a392e29221137392d3f133f10392e29192b37392d3f2d3f00392e291a3b37392d3f573f00392e291a0137392d3f0d3f00392e291b1137392d3f4a3f00392e291c2b37392d30323f00392e291d3b37392d3034303a392e291d0137392d3021302a392e291e1137392d30113f00392e29212b28392d3f123f00392e29223b28392d30113f10392e29220128392d304e3f00392e29191128392d3028303a392e291a2b28392d3015303a392e291b3b28392d30153f00392e291b0128392d3f1a3f00392e291c1128392d3f353f00392e291d2b28392d302d302a392e291b0132392d302912293d4a391f3a3a4831133a3d3b3534291b0132392b1f3b39390b1a393d303112293d103939363931393a3a3c3f0b293b11313929193b35392d1b3639390b3441293d3939133a3a0131133a3429393929293e003c293a3a0131133a3d3b2a3e3c29393b293d303112293d0c39393a3a39203d36393d303112293d29323d2d36393d3f1f12393d1039393639313939292a483d3519113139291b1136392d1b3639390c3a0131483a3d3b353429193b35392d3f2d412939293e3d3f0b12393e3a0b282d393d3a2a3a0d310f3a291b0249393a392d291b2b35392d300b412939293e3d302912393e3a142821393d3a2a3a4b310f3a291a124a393a392d291d1135392d302d411f39293e3d304812393e3a532821393d3a2a3a1f31483a2921124b393a392d29210136392d3f21410f39293e3d3f2112293e3a09281b393d3a2a3a0831483a291a124b393a392d291a3b36392d3031410f39293e3d3f4012293e3a4a281b393d3a2a3a0031133a29193b35392c213b393d303111293d29310f0c3a0031133a333931393b000b3929221135392b3d393948391f393d3d3519003933311f3a3a4031173a2a0f48393b0f0e163929393b293d303911293d0c39393a3a39203d36393d303911293d29323d2d363939323929221135392b4839393d3d3a1b29483929221135392a39132a294839291e3b33392b3d393948391f393a392a29290009311f3a3a15310f3a2a0f48393b483f2112393d29310f0c3a4031173a291b48193d3a2e3a5731173a291c29193d3a2e3a11310b3a291a31193d3a2e3a14310b3a291a17193d3a2e3a17310b3a291913193d3a2e3a0a310b3a291c0b193d3a2e3a0d310b3a291b29193d3a2e3a00310b3a291e211a3d3a2e3a48310b3a291b351b3d3a2e3a4b310b3a291b3d1c3d3a2e3a4e310b3a291c391c3d3a2e3a41310b3a2922391a3d3a2e3a1f310f3a291c0f1b3d3a2e3a12310f3a2922401a3d3a2e3a0e31133a291e3b33392c213b393d303911293d29310f0c3a0e31133a333931393b0f0b3931393a3a0a3629393d31293a3b0f173931393a3a002a48292e3a17343b0f391f393d3f214939392910393d343b1f391f393d3f40302a3a2d3f1f0b35393b393931393e3a3d3f172948293d343c39391f393b393a292900093d363d3a3b0f1b393139390b393913343a0f391f393b0f393b390b32393b39393d31213b3d3a39343b29391f393a3b30391039293b53213c39292e5731393110393936393913391f3a3b39312c2b3939313936281b1f48393139390b393939113a13305739203d10392932393139223a393d4c3d293d3d3a3129211f392d3057574035392c29483a3c39313431393e3a0f1f3e323c293d1f392d301e392d483d293b393c31393a0a292932313c29311f393b4839392b313e291b393a1b2d3f39392d1b3639133d3b3129211f3a2d3d571b2b393a29292248291b39281b20323a5757573c393d483639290f3b3b0f32393913391f392d300e392d483d293b393c31393a0a292936313c29291f393b483939113d303139390c39393d103a2b393a291d483a2a1f483a31393e3a4c393e3f3a3d391f3a2d301f39203e3a17393e3f3c2935353a290b1f3a2d303939203e3a1f393e303c292935391f0b1f3901393919483d3d2b3b393a291e293a2b4b3136390139393429393c31291b1f393b483939113d323139390c39393d103a2932393913393b2939323931393e3a40393e0a3c1f2d39391f313b3929313431392e3a40393a09291e403a1b2d3d0f2b29483b3c39213431392e3a40393e002921393a2a1f483a3c392d3431392e3a0f393e002921393a2a0f483d3b013932291b393a1b2d3f39392d1b1f3a48303939203e3a1f393e301b1f483c292929103a113930292c41003139143a3a162a3a0f3a410031393e3a3d162a3a1f313c0f39303d1f3a2d3d571b2d3d351c3032011b133057574035392b0f483c3c39313431392e3a4c393e002921393a2a0f483b3b013930291b393a1b2d3f39392d1b36392d3d3c3129211f3a483d571b2b393a2929004829213c1f394b3d1f3a2d3d571b2d3d3f1c303201291e57570f0f3a343c293d343139103a392f17103b3b3939313922093129393539290b343139391f39150b344c1f293a3a204012393d3d29190131393239391f393b393b361f31353139391f3a2c213b3b3932573139391f3912213b3c3b393931392d4a391f1f3b293932393948393b293b393933393135311f311f39484036393b393933393131311f0f1f3a134036393b393b34393939311f2e3a570f3e0031293d3b293b393e29293a373a3d391f392d3057574035392c292a3929293d103a290f3b3b483d3b3c392134292931103b11393a291b313a2b29483c31393e3a4b0f3e363a3d391f3901393b19483d3b2b39483e3139310c39393d113b3d303939203e3a1f393e303c292a3a39113d3e3139103a284b3d1f392d3d3f1c3d30393c4b3e01311f3e3a5757573c393d483639290f3d3b01393a291d403a2c292a393139351f39150c3a39481f363a2b393b3429393b3129131f39114839392b3d313913393b293b393a291d483a2a0f2a3931393e3a4c393e303c293d1f3b3d301f39203e3a17393e3f3c2931353a0f0b1f3b3d301f39203e3a1f393e3f3c293d353a1f0b1f3b3d303939203e3a1f393e303c292d343139143a0f393e002921393a2a0f483d292935103a2b3932292c410031393e3a3c302a3a1f37393c1b2b3931292c4100292922481b163111392d3057574035392c29483a3c39293431393e3a41393e343c29351f3901393b19483d3d2b39483d3139310c393935103b2b393b3429393b31290b1f39114839392b3d313913393b293932393913391f392d300f392f0b373a29393b391f313a391f0b1f3b3d300f393f083a570f3e00292c3a323c2931353a1f0b1f3b3d300f39203e3a1f393e3f3c293d353a290b1f3b3d303939203e3a1f393e303c29293431390c3a0f393e002921393a2a013932291b393a1b2d3f39392d1c013c29363a3a3b3d3e3139143a284b3d1f3b483d3f1c3d3039304b3d1f392d3d2b1c3d3f391f2839391b2b3931292c4100292900481b163201311f3e3a5757573c393d0b36390f0b1f3c3b393a361f31393139391f3911393e1912213b3c3b393931393917391f103a3a3f174a391f1f3539290b343139311f394813103b1f0b1f3b1f0f3a3b483d3a3b013d3a3139291f393b1f3b3c3c213b393b393031393917391f1f4a391f391f393d3d291911293931393d34121f2939310f3a3a3d3f0b11393b29393139391f3912213b3c3b393931392d4a391f1f3b1e0139393139314a391f0f1f393b393e361f313131393917391f0f10392932393948391f392b393c2c0f2a3929293910391f0f3b3b483d3b3129311f392b1f3b393b313a29213a0f1b2d3f390b39363f31393e3a5757573c393d0c013c293d3b2939323931393e3a570f3a363a3d3a3a392b3d3b3139211f393b1f3b3b3b313e19483d392c39483d3139391f3a2d3d3a1912213b3b3b393e31393d4e3939393539290b1f392d30573c48483d293b393f31393917391f1f1139150c3a39131f36391139393139323a392f174a391f1f1f3911393a2929224a291b393a1b121739393b393931393917391f1f1139133d3a1912213b3b3b393b31393e3a284b3e3a1f393e01371f39393c393d343139211f393b1f3b3b3b313b19013d3e31393e3a5757403c2c292a3931392e3a39481f36391139393139323a392f174a391f1f1f3911393a2929004a291d393a1b121739393b393931393917391f1f1139133d3a1912213b3b3b393b31393e3a3a16223a284b3e3a1f393e01371f39393139391f393b1f3b3b3b313b29293e09361f31313139311f392d3d571b2d3f393920314e3939393539290b1f3a2d3d3d2b39483a3139391f39133d3a1912213b3b3b393b31393e3a3d16223a40393e01371f39393139391f393b1f3b3b3b313b29293e09361f31313139311f392d3d351c133d571b2d3f393920314e3939391f393b393933393131311f323a392f174a391f1f1f3911393a2929224a292c41002921393a1b121739393b393931393917391f1f1139133d3a1912213b3b3b393b31393e3a284b3e3a1f393e01371f39393b01393931393917391f003a3a3f1711392c213b3c390f3a3b0f0c3a39290f3a3b01393b3b013d3a3139291f393b1f3b3c3c213b393b393031393917391f1f4a391f391f393d3d291911293931393d344f1f353a3a30401f39113d393948393b293b393d313922363139391f394841013c29391f393b4839393b313a291e57570f0f3a343c29393b1e01393929293e0931393e3a3f302a3a3f302e3a393d4c36393a171f392d303b392d1336392b393a291c403a2c292a393139351f393f0c3a39131f36391139393429393a311f2e3a0f393e002921393a2a01393e292c410031393e3a3a162a3a0f3941001b133057574035392b4b313639113939292932093c393d343913393b293b393a291d403a2c292a393139351f393f0c3a39481f363a3b39393429393b31291b1f393b4839392b3d3e31393e3a4f293e3f3c293d1f392d301f392d213d293b393e291d393a1b2d3f1f392d2136390f0f3e3b01393e291b393a1b2d3f39392d1b363a390f3b3b01393c31393a0a29292a3131393e3a41393e341b11393d3139220a292932321b1f483c3139390c393935103a0139393429393b31291f1f393b4839392b3d3e3913393b293932393913391f392d300f392f0b373a29393b391f313a391f0b1f3a2d300f393f083a570f3e00292c3a323c2931353a1f0b1f3a2d300f39203e3a1f393e3f3c293d353a290b1f3a2d303939203e3a1f393e303c2929343139103a0f393e002921393a2a013930291b393a1b2d3f39392d1c0131391c3a284b3d1f3b3d3d3f1c3d3039304b3d1f392d3d2b1c3d3f391f2839391b2b393e292c4100292900481b163201291e57570f0f3a341b1f483c3139223a392f17103a11393929292a093c39313431392e3a4c393e002921393a2a0f483b3b013930291b393a1b2d3f39392d1b1f3a483d571b2b393a2929004829213c1f394b3d1f3a2d3d571b2d3d3f1c303201291e57570f0f3a341b1f483a31393a3a394a17343129391f3a133d3a19113d3f3c393d343b0139393139320a3b41353e39292a57310f3a3a3d3f0b11393b29393139391f3912213b3c3b393931392d4a391f1f3b1e0139393139314a391f0f1f393b393e361f31313913393b293932393948393b293b393933393135311f3d1f39484036393b393933393131311f2d1f3a134036393d3d3b3129171f392b4839393b313b291e57570f0f3a343c29291f393932573139323a3f302a3a3f302e3a393d4c3d293b393e3139314f3929391f392d3d3a191f0f3a3b01393b291b313a2b29483e3139323a4b0f3e363a3d391f3901393a19483d3b2b39483e31393d0c39393d113b3d303939203e3a1f393e303c29291f3b3d3d571b2b393b29292248291b39281b20311139133057574035392b0f483d31392d1f39120b3a393b393a292932093c393d343139323a4f0f3e363a3d391f3901393a19483d3c2b39483e31393d0c393931103b2b393a3429393a31291f3b293932393139323a4f293e303a3d391f3913301f392d1b36392b3931291d393a1b2d3f1f392d2136391f0f303b013931291d393a1b2d3f39392d213639290f3f3b013931291b393a1b2d3f39392d1b363a290b1f3b2d303939203e3a1f393e303c29291f3b2d3d571b2b3931292c4100292922483139323a3c302a011b11313b291e5757394b3e3a5757573c393d0b363a3b393e3139314f3929391f392d3d3c191f0f3a3b01393b291e293a2b0f483e29293d103b11393c31393e0a29292a313c29351f392b483939013d3231393d0c393931103b3b393a3429393a31293d3b293932393913393b293b393b291e393a190f4c3e3939313b391f3d3b3b01393a291e39391913305739203e3a353d40363b390f3b3b01393a291e393a1b2d3f39392d1b363a0f0f3a3b01393a291b393a1b2d3f39392d1b363a1f0b1f3b3d303939203e3a1f393e303139143a0f393e002921393a2a4b31363a2b393f31392e0a29292a313c29363a39113d333139143a284b3d113b2b393129292248311f0c3a0f3a410031393e3a3c302a3a1f3739281b2b393b29291c00311f323a3d162a011b16323a5757573c393d0b363901393e3139103a3a30223a394b3d1f392d3d3b1c3b313a291b393a1b2b393b292910481b11393a292c00001b16323a0f28403919133f390b393601370f3d393139391f3a2d3d3b1912213b3b3b393e31390c3a0f391c003139140129213b4c394b314f3929311f393b1f3b3c3d3d3d191f0b4a391f0f1f393b39393339313129293209361f31313c393d343b01393a313936323129173431391735391f0c3a39290f3a3b483d3b3b013d3a3139291f393b1f3b3c3c213b393b393031393917391f1f4a391f391f393d3d291911293931393d34531f2d3a39204012393d3d29190131393239391f393b393b361f31353139391f3a2c213b3b3932573139391f3912213b3c3b393931392d4a391f1f1f393b1f3b3c3b3d3b3913393b293936393139311f3948403d293d3d3931292d35390f0c3a39113d3e3139310e39293911392d3057574035392b0f483b3913393b293b393a291e40392c292a3929293d103a2b393f31393917391f1f1139150c3a393d0f363a2b39393139323a392f174a391f1f1f3911393a371f39393c393d3431393e3a570f41363a3d391f3a11393933393131311f320a292932313c29291f393b393b29293e09361f31313139311f392d3d3f1c1330393920314e3939391f393b393933393131311f323a392f174a391f1f1f3911393a292c41002921393a1b12173939390f3a3b01393a291e530e3948483d293b393f31393917391f1f1139150c3a39481f363a3b39393139323a392f174a391f1f1f3911393a2929004a291d393a1b121739393b393931393917391f1f1139133d3a1912213b3b3b393b31393e3a3a16223a284b3e3a1f393e01371f39393139391f393b1f3b3b3b313b29293e09361f31313139311f392d3d571b2d3f393920314e3939393539290b1f392d30570c0f36363a3d3a3a392b3d3e3139351f39150c3a3a3d1f363a2b393b340f3d3b311f103a1f281f3c1b2d3f390d3936303c29311f3a1139393339313119483d3d2b39483e3139103a570f1c0031393e3a3b162a3a1f281f3c1b2b393a291b39301b2b313e292908481b16323a1f31393d19133057574035392b0f483b3139391f39133d3b1912213b3c3b393931393917391f1f1139133d3a1912213b3b3b393b31392e3a3a16223a392f171139133d3b1c13300f3920314e3939391f393b393933393131311f2e3a392f174a391f1f1f3a2b393b29292a48292c3a0031393e3a3916223a3c4b3e012921393a1b121739393b393931393917391f1f1139133d3a1912213b3b3b393b3139103a3a16223a3c4b3d1f392d3d3d1c3d3d0f1b20323a1f393e01371f39393139391f393b1f3b3b3b313a29293e09361f313131393d1f3b3d3d571b2d3f393920314e3939393539290b1f392d3f390f3936323c29291f3a11393933393131311f320a292936313c29351f393b393b29293e09361f31313139311f392d3d351c13301f3920314e3939391f393b393933393131311f323a392f174a391f1f1f3911393a2929224a292c41002921393a1b121739393b393931393917391f1f1139133d3a1912213b3b3b393b31393e3a284b3e3a1f393e01371f39393b01393931393917391f003a391517113912213b3c390f3a3b0f0c3a391f0f3b3b483d3a3c393d3431392d3431293d1f3a3b393933393135361f313931391b1f393b1f3b3b3c213b393b3939292a3a093239391f39290b2e393b393933393131311f3a3e3a3d3a3a3929403431393929111f313413393d3a3a16403c293932393139311f3948211f3a3b39312c203136393d3d3a31291b1f393b1f3b3b3b3d3e310f3a3a3d3f0b113a1129393139211f3a2c213b3c3b393f292910093139223a3c3f17292d113d332929391f3911393c3139320a31393e3a0c311b3a31393d1a3d341b3a31292d1f3b103a2a3139223a3d3f1713393932393913391f3a2d3d3b191f4c3c391f313a39390b1f3a2b3d303b01393129293e0931291f1f3a01393219113d323139311f3a4a1710391f0f3a3b0f0b1f3b290c153929365731393917391f1f1039113539292a3a0a311f3d13393b393a3139314a391f0f1f392d3d311911393a292900093d3e311039113539292a3a0a311f3513393b393c292a3a0932393a3a393b3d3c313931292d2b393a292a3a093239391f390f2a572920403e31393917391f1f11393d2d3d293d3d3a3c0f0b1f393a3b3339133d3a2a1f0b34131f3d3a39204012393d3d291901313e3239391f3a3b393b361f31393916413a3911393e292900092929391f393b1f3b3b3a3c34392b313929293e09292932323c29391929293d1f393d3d3a1901313a3139351f3a3b1f3b393f0c343c29391931392e3a3c3f1710391f365731393d3d1e01393b342939393129391f3a3b393d33393139311f363a392f174a391f391f39013939371f393931393e3a392f0b10392b393b29293e093129313539292e3a39390b343b013d3b31392e3a3d3f1713393b393b3b400b3f39290057310f3a3a3d3f0b113d2b2939313931103b3936393913391f390139312a1f2a39313935103b390f3a3b013931342939392a2948393139103a392f17103b390f3a3b0f0b1f3a01393e361f31393139291f3912213b393936393913393b1e0f32393139311f3948211f3a2b393f2a163136393b392a31393d08391f394b390f1f1f393b1f3b3b3b3d32310f3a3a3d3f0b113d3b2939313a391f3b2c213b3c3b392929291009313a3a3a3c3f17292d113d2c31391f1f39150b103c2d3d3931291712393d3f293b3f0b113b01293931390b1f3a3b1f3b393b3137361f313531392d1f3b483d291911393e3f013d283913393b2939323931394d3e3139211f3a2f0c3a39162e3a1f39311f3a2a0b113c3d2e013c29393c293b39362929324a311f131f3c3d131f3c2d3f3c392d49003c29311f3c0139342929000931390f1f3b2b3932313900283f01393a3d36313b3110323a1e48213d293d3e573129083a393b3d3531390b17391f0f103c1f0f3b3b0139352929391f3d11392831390c3a3d3f083f3f01313219013d353139401f3b2d3d3b1c3f17103c01393631394d0931390b17391f0f113c150c3a393b39373f013d363139171f3d1517103b1139372a29483a31390f3639390b3431394d3e3c293d343139003e3139493e1b1f4839313917103b2936393913393b293b392831394c1f3c2b393a3d341b3a311f083a3915083a3913483d293932393913391f3b133d3a191f4c3b3a1f393a3b0139342929394a391f0f35391f0b1f392d3d39361f31393c393d3431390b1f3b011f3b3c3b393319113137361f31353139143a392f17103b2b393529293e0a311f0f3639290b1f3b2b3d333c3931343139413a3a3f17103c0139363139080a3129481f3b2b3d333139483639390b3431392d3d293b393d31390b17391f0f4a391f393431390c3a133910093239391f3b113d32313a35292d2b3929292a3a093239393b293932393913393b293b39322920413f3a3d393c2939323931391b1f3a2c213b393b393b31392917391f3a3f3c293a3a392b3d3f3913393b2939323931392d1f391139313139320a313a3e3a3b3f171f393b1f3b3b3a3b343911313a292932093c1f35313939313a3b01393d3139314a391f39353a290b1f392b3d3f3b01393b313922093129311f3a011f3b393d3d3d19113d3e3c393d343b01393d3139314a391f39353a290b1f3a013930333931393139143a39162a09311f2d4a391f391f3a2b393f2a1f483c31392917391f39103911393c3139103f3a3d391f39013d313c391f3431392d1f39133d3a31393d1f393b1f3b3b3a3b3439132d3639290c3a391f0f3d3b01393031391b17391f3a3a3a3f174a391f391f3a3b393d3339313929293e09311f314a391f391f39113d313948391f390139312a1f2a39313935103b390f3f3b013931342939392a29483e3139103a392f17103b390f393b0f39343139291f3912213b393d3d3a3c39313431392917391f3910391f0b1f3911393c2a0f0b10393b392a292a3a093239391f3939403431391b17391f39103a290f393b0f39340b0f2d3a3c304012393d3d29190131363239391f39113d313948393b293b393c3139103f3a3d391f39013d313c393d3431391f17391f3a3e3c29391f3b3d3d3d19113d313c393d343b01393031392d4a391f391f3a3b393b361f31393948393b293932393139311f3948211f3a2b393f2a16313d1e01393b3a2b393631393d08391f394b390f103a392b3d2931393917391f1f103b2b3539292a3a0a311f4c13393b39373139134a391f0f1f3c133d3119113937292900093d3e31103d01393f31392d113b2f0b103b133d3931294012393d3d291901312a3239393b293b393d33393139311f0c3e31391f1f39150c3a39162d113d132e013c29391f3b133d393139131a3129173c293b392a292900093139131f3b133d3d2b2a0b1f3b011f3b393a3c19392b31352920413f3a3d3a3a1e013d283c3931343139133d1e013933292936363a3d391f3b1139352b29483c3139131f3d2d3d35191139353d3d31193b0139333139000a3129171f3b2b3935191f2e3a39390b103b2b3934333931392a292a39292939103b0f0f3b3b013935313941093129401f3b483d3d19113d34313a323a392f0b113d1f48393b0f0b1f3b292a393139291f3b02213b39390b1f3d2d3d2919112939313940103b2b392c3d3e3d1f3c133d29191129393913393b293932393913393b293b393229293e093c1f31393a1f3d3431391b1f3a2c213b393936393913391f3911393d333931392a1f483931392d1f39111f3b393b3939333931313d350b3a311f3e3a1e482136393b393031391b17391f391f392f17113a2c213b393b393b29292a093129313539290b343139291f3912213b39390f3a3b01393031391b17391f391f3b2f17113a2c213b393b393e3139223f3c29311f390139312a1f2a3931392917391f39103911393c31291f353a0f0b1f3c2d3d3d19133d3931393917391f1f29010f3d113b3d3e572a0f483a3b483d3b312a3935390f0b1f3c2d3d3d19113d3b3139211f3a011f3b393f0b1f3b3d1336391f363931391f3d293b393b3429393931292d1f3a01393033393139311f143a392f174a391f391f3b2b393e371f39393139103a392f0b103b3b393b29293e093129313539290b343139291f3a3b1f3b393d3d3d1911313b361f3139313931103b3936393139351f3b3d213d293b393c31291f353a290b1f3b3b1f3b393d2d363a3b393129292a0931291f3539390b393b01393d333931393b01393c2a013d293b013936292a3a093239391f3d39403431391b17391f39103a290f393b0f39343b29391f393a3b21391039293b021b39310f3a3a3d3f0b11393b29393139391f3a3c213b3c3b39393139351f39150b4a391f1f1f393d3d3519113939292910093d33313a3339313931293d1f393d3d291911293931393d343639393c293b393a3139323f2a292a393139291f392b0f39393b31393139351f393d3d392c100b4e3939391f3a3d3d3a19113d3d31393e3a392f171039290f3a3b0f0b1f391f0b35393b393a3139311f392d3d392c100b34331f393c293b393a3139323f2a292a393139351f392b4839393c1739393b393c29293e093129351f392d3d3a19113d3a3c393d343b01393b3b4839393948391f392b393b2a0f2a3931393d1f392b0f39393b313929293a373a30413a483529393339313931393d0b39393a3a39162a09333931393a2b39393b021739393b393a29293e0931293d3539290b3431393134320f391f392d3d392c1f2a57291c3c3d393b1f3b393b393a291e403a1b2d3d3b1c3f1717391f393e31393d34292a1048292a10493b0240393948391f392b393b2a0f2a3931393d1f392b0f39393b313929293a373a30413a0f3c1f17391f391f392b0f39393d3d3b1c3f1717391f393e31393934371f393931393e3a392f171039290f3a3b0f0b1f391f0b15393b393a29293a373a30413a0f3c1f17391f391f392d305739203e3a39162a09333931393a2b393a3b483d211c3d3d211c290b32393b39393d314c3b3d3a39343629393c293b393a3139323f2a292a393139291f392b1f3b393b31393139351f393d3f39392d131a371f393931392a3a392f17103a3b393a29292a0931293d3539290b34313931343d0f391f392b393b31393e3a1f393e323f483d211c3d3d211c290b093939363931393d1f3913223e3a3d391f3901393a34393939361f31393139363a3a3f17103901393a29293e0931293d3539290b34313931342929393c293b393a313932303a3d391f392b393a33393139311f3a3a570f3a363a30413a483529393339313931393d17391f3a3a39162a09333931393a2b39393b02213b393b393a29292a0931293d3539290b3431393134301f391f392d3057393d483d1e48302900393917391f391f392d3d3b1c3f1717391f393e31393d343b4839393948391f392b393b2a0f2a3931393d1f392b1f3b393b3139291e40392c292a57291b394c3339313931393d17391f3a3a39162a09333931393a2b39393b02213b393b393a29292a0931293d3539290b34313931343029391f392d3057393d483d1e483039373b1f3b393b393a2929324819111f3b39392d1f39290b342a39393b293936393139311f394821363929323931393117391f3a3a570f3a343c293a3a0b3c3117391f391f39111f3b393d3d3a1c3f170e3929391f39203e3e3c29391f39133d3d19113d3b3c393d343b01393b3129353431393534290f393c293932393139311f39481b3d1e01393b33393139291e40392b0f483a291a39013339313931393117391f3a3a39202a09340f3d3931393e002a29483a3139313e313935343c0f0b1f39133d3d19113d3b3c39393439390c3e3939363931393d1f39131b3d293b393c31393d17391f3a3a570f3a363a30413a0b3c3117391f391f392b1f3b393d3d3a1c3f170e3929393e29293934370f3d393139363a391517103901393a29292a0931293d3539290b3431393134310f391f39133057393d483d1e483f0f35111f3b393b393b29293e481911403a393b393a1b2d3d392a0f2e3a39390b3429393d3b1e0139393339313933393139311f3917391f391f393b1f3b3b3b313b29293e4919113d3a31393917391f2910393b393a3139323a39203d3d1e01393a3339313931393a09333931393a2b39393b003d3a39390b28393b393931393917391f3917391f292a39293934300f391f39393257291e1131392d304c11393d17391f3a3a392f1711393c213b393b39393b02213b3a390b32393b39393d32353b3d3a393415393d39310f3a3a3d3f0b11390129393913391f3a2a39492a292a393139391f3a2b1f3b3b3c213b3b3b393931392d08391f394b391f393539290b1f3a2b1f3b393b3d3d3913393b2939323931392d17391f291139133d3a2c292a3931393910392b393931393129371f0f3a3b01393b291d57575757403c2b0f483a3139391f393b393b3d31313a29293e09311f2d291f293d11392a3a363139391f3a2a3a353139391f3910394d3b01393a3139291f39133d3a19103a003c393d343d3a1b393b0f0b1f39483d29191129393b0f13393139391f3a2a3c2a39290d3f390f3d311e013539291e393c190131393239391f393d3017394a17113a11393c3d39401f3a10394f3129171f3a2a39323a3d391f3a2d3d393d343d3a333931393139083a342a39412a113d343b01393b31390b1f393d3017394a171f393d301f394a171f393d301b394a171f393d3021394a171f393d3031394a17293d2b313531393a3a0d3936093d3d1b113a11393929191f3c19103a30311f1b1f393d3f13394a1729150f311f393d3d49361f312931393a3a3b3f083a393b3939292a3a09311f312930113d313913393b1e01393e3d39131f393b1f3b083936333a3d391f3a2a39323129131f393b1f3b083935103c2b39303d39131f3b2b393619483d3a1c3f171f3a1039321911393933393313394a083a392f173539290b1f3a003932313921293b2f171f393b1f3b08393609292932093b013132291d2d392b29483931391f1f3b2d3d3b1c3a39223d3b1b1f3b3b1f3b393b313b3c2939293e0f39343139311f393d3d3d1911393931393517391f291f3a2a393631392d293c2b393e3d39143a39162a093139171f3b013939291d393c191139393339341b3901393933393421390139353139211f3a0139393339331339003b193911393a3139311f393b1f3b3a3b3939333931393139351f3a3a3a1131293d1f3b3a391c31391b293b10171f3a1039333f1139353d39171931393a3a4e3936093d394c1f393d300f394a1713393b393a3b4f0b3d39290c57310f3a3a0b39100a311f3913393b393931392d4b3900391f393b393f360f35213139391f393d30393a4a17113a02213b0e391b1f3a013939292a3a093d36213b31291b1f393d3d49361f331f3a3b393929221f3d19133d3931393a3a17392a09311f132930113d3731393a3a362c213b1739291f393d3f293a3f083a393b39323d3a4c103b1f323931391c3a4d393a283a3d39293e113d303139391f3a2c1b3c393b39393139214b390f1f1f393d3f403a4a171f3a48300d303b39393d3e17113a483e572a1f483a31394c1f393b1f3b0e391b293201393331391c3a391629293f2a391631391729161f3136392b3933333931393129133431393a3a11392a09311f1f1f3900392831391f293701312a31393917390a0f30311f1f1f3a013931191139323d3f351f3a483d392b1f2a3931393917390a0f3034293939292b493f312940343139311f3c01393929211f3d191139392921393d19113939291e0f3c19113939291e1f3c19113939291d1f3c1910392a3110391f393d3021394a17292a01313131393a3a013936093d3d1b113b013939291b293c19103b1a39113939292c2d4a3912391f393d3d1719133d3931393a3a353f17113910391d31290f3b1e0139393339343d3901313631391c313a3d391f3b00393231391b1f3c2f0c3a39202a0931391f293b2f171f393b1f3b0039360929293e093c393d3431390b293b2b39313d39140931393917390b293c19133d3b191f0b113c2d3014393d403d293b39353139493a391629293f2a391631390f17391f391139132d3639290b1f39113939292b2a0931393a3a313f171f39011f3b3a3b39323139131f3a483d3b1c3f171f3d2b392831393a3a1f392a0931393917390e0f3c31393917390e1f3c313a391f3b3b393431393917390b293c3d32173b31393d1f3911393933393113313939173911391f3901393d3d3f3110392b39353d3a481f3b0039333f1139313d391719313a39293b10171f393d3f313a3f17293c1139333d3a481f3c10391c31393a3a0b3910093239391f392940343d3a1b393b574c3b39291057310f3a3a0f393e0a311f3913393b3939291a1f3a1911313f313935293c01393f3d3c31103b11393e3d39133d293b393e292939293b014839393b3933292b4829332d305739203e3f31290b343139311f3b013939291a1f3a19113939291a393a191139392919403a1911393929194c3a191139392919393a1910392a311f0f1f393d3f29392f17293d2b313f31393a3a1f393e093d3a3d113a013939291e0f3919103b1c39113939292c2d4a3910391f393d3d3119133d3931393a3a3d3f17113910391d31291f3b2939325731392d293b2b3939333932402b1f2a3931392d293b2b3d323139391739160f103c2b39303d39131f3b2b393619483d3a1c3f171f3a103932191139393339324019133d3a191f0f3a3b0139303d39131f3a103932191139393339324019133d3b191f0b113b2d3014393d1336393b3931313913293f2a391631391f17391f3911391f48393d3a1b393b01393b31393a3a3a3f171f393b393c3339313d31392d293c2b393e3d39481f3a2a39321911393331390b1f393d3f0f392f171f393b0f390a0f3d1f393b0f390a1f3d1f3c3b393f31391b1f393b1f3b1e3a3b1b3911393a3139311f393b1f3b3a3b3939333931393139351f3a3a3a2f31293d1f3b3a391c31391b293b10171f3a1039333f1139353d39171931393a3a0d393e093d394c1f393d3039392f1713393b393a3b4f313d39290c57310f3a3a4839360a311f3913393b393931392d4b3900391f393b393f360f35213139391f393d301f391517113a02213b4b39311f3a013939292a3a093d36213b31291b1f393d3d49361f340f392b3939291d1f3a19133d3931393a3a40393e09311f132930113d3731393a3a362c213b40393d1f393d301f392f083a393b39323d3a4c103b1f323931391c3a4d393a283a3d39293e113d303139391f3a2c1b3c393b39393139214b390f1f1f393d301b3915171f3a48300d303b39393d3e17113a483e572a1f483a31394c1f393b1f3b4b3931293201393331391b293f2a391631391729161f3136392b3933333931393129133431393a3a4a393e09311f1f1f3900392831391f293511312a31393917390c0f3b311f1f1f3a013931191139323d3f401f3a483d392b1f2a3931393917390c0f3b34293939292b493f312940343139311f3c013939291c1f3a19113939291c393a19113939291b403a19113939291b4c3a19113939291b393a1910392a3110391f393d3f0f392f17293d2b313131393a3a17393e093d3a3d113b01393929220f3a19103b1c39113939292c2d4a3912391f393d3d1719133d3931393a3a353f17113910391d31290f3b1e0139393339331b392b313631391c313a3d391f3b00393231391b1f3c2f0c3a39202a0931391f293b2f171f393b1f3b16393e0929293e093c393d3431390b293b2b39313d3914093139391739080f3a19133d3b191f0b113c2d3014393d403d293b3935313948293f2a391631390f17391f391139132d3639290b1f39113939292b2a0931393a3a313f171f39011f3b3a3b393231391b1f3b2f171f3d2b392831393a3a48393e093139390b3935403a3139390b39354c3a313a391f3b3b39343139391739080f3a3d320f3b31393d1f3911393933393113313939173911391f3901393d3d3e2110392b39353d3a481f3b0039333f1139313d391719313a39293b10171f393d3021392f17293c1139333d3a481f3c10391c31393a3a483936093239391f392940343d3a1b393b4e1b3e39293657310f3a3a0f39360a311f3913393b39393139314a390a393c3139391f392c213b0d39351f393d3d4a361f312d31393a3a3f3f171f393d3d1f19113939292a2a09311f1b2930113d3231393a3a3d3f1711392b393d3d39401f392a394f31291f1f393d3d39371f392831393a3a0d3936093139311f3901393a31392917391f291f3a2b39392929410931391f1f3b2b393031393a3a0b3936093d33293b3a3d3912393d3d291901313a3239393b293b393f3d3c2d3d293b393f333931393129311f392d3d39361f31353139311f392d3d35191039023139223a393a394d3c393d3431393e3a393c213b3b3b393f31393e3a3b3f17293501393f29293929371f0b1f392d3d29191129393139390c3939403d293b393f3139103a342a39413d351b3a3b013931292c3929282b3d3a31391317391f39103a3b39393339312d311f103a3a3f0b10391f36393913391f3911393d2c29483931392917391f391f392d1b36393b393d29292a093129293539290b34310f3a3a3d3f0b11392b2939313921293b2b3d3b31392129020f3d10390f32393139291f3b3a3b11391131302a294839313921293c2b393d2c292a573139291f3a103936313921293b2d3d3b1c3f08363a2d3d393b482d3d293b39303139351f39150c343a3d391f3a11393c3139311f3a4a171f394a0b1f3911393b3d28353a3b01393f3d39481f39133d3b1c3f1710390f36393139291f3b3d1b3d293b393c313929293501393d29292a093129291f39483d3d19113d3c3c393d343b01393a2929394a391f391f3901393a3d3c351f3a11393b31391c093d301f3539290b12393d3d291901313b3239391f392b393d31391f29021f311f39133d291911293931393d293c2b3d3131393d293b2b3d3b310f3a3a3d3f0b113a3b29393913391f3911393f3d35403a311f1b1f3a103932311f360a2c292a393139323e3c293d1f3a103936311f1b1f39483d3b1c3f171f3b3b393b3d303d1f3a11393b31393609311f31291d3b393d2929394a391f0f1f3a01393b292932481911393d292900093d3c353539290b1f3a1139303139311f394a171f3a4a0b1f3901393c2929391f391139313d28293a3b01393d292a3a093239391f392a39333f1f0b1f392d3d29191129393b013939291a1f3c19113939291a393c191039173a3d391f3a2b393e3339313929293201361f31393b0139393339334c39013d3a31393a3a3d3f17293c1139323d3a481f393d3039394a1713393b393a3b411b3c39293257310f3a3a40392a0a311f3913393b39393139314a390d393d3139391f392c213b4e39291f393d3d4a361f312931393a3a01393e0931393a3a48393e0931393a3a3d3f172930113d3a31393a3a0f393e09311f1b1f3a3a392831391b2937013d3131393a3a393c17390e0f3d3b293b3939291d1f3d1911393b3139351f3a01393d3339313d31392d1f393d3f57392f171f3b3b393a31393a3a00393e0931393a3a4c392a093d33293b2a29483931393a3a17004c173939394a39341b3a31393a3a163a4c083939394b394f393a31391f1f393d3f0f392f171f393d3f4e392f171f393d3f39392f172921013939292c2d4a3910391f393d3d3119133d3931393a3a3d3f17113910391d3129353b293b39393339343d392b393a3339313919483f3239484c3d293b393c31393917390b293a31393d17391f3a0a29293249292932093d3a13293201393c333931392a29483a31393517391f3910391f0b1f393b48390e0f3d3d293b393b292b484e3939391f39133d3a19113d3b3b01393a333931393129293c293b39393339343d392b393d2c292a393913391f39133d39371f39393139391f3a12213b393b3939292a3a0931393929490f323a392d1b36393b393c3d3a48353a390b3e3139311f393d3f0f392f171f393d3f39392f17113a013930292b100931392929481f3d1f3a4a0c3a39162e0934293939371f39393139323a392f17103911393d29292a093129293539290b343d3a1b393b00392039390b1f393d30173a3f171f393d301f3a3f172933392a3931392d1f3a2b1f3b393d3d3b1b12213b39390b1f393b1f3b4e39291039113939291b393a1910393731393d29302b3939291e393d191129393139313408392d3a394b4012393d3f1f392f0b11393b29393139391f3912213b13393d1f393b393a361f3321392b3939292c214a3910291f393d3d2119113939292b3a0931393a3a3e3f17113a00391d3129131f393d3d291911313a313929293c01393a3d3c31103b3b39392929394e3939401f393d3f21392f171f3911393c31393d1f3a3b1f3b3a3b393e31393a3a3c4a171f3b3b393231391b1f393d3f3d392f1729090f313d293b3539292a3a0a311f3d13393932393139212936292a3931392117391f39103911393a2929394e3939401f3911393a292941093d3c291f3a133d393d3c133539290b1f392d3d39371f39373139211f392d3d37191039483139223a393a394e3b01393a292a3a093239391f393b48393c0f2a393139211f3b3d3d0c3d3b132917293d343139103a353a390831293d1f3b2b1f3b393b3d3d31393917391029113b3d3d3a19013d3b31393e3a570f3e0031293d3c293932393139311f3a3d4836393b393d3429393931393e303c29391f3a3d3d3a19113d3d3c393d343b013539292a3a0a311f3d13393b393f3d3913103911393f3d3a3510390f32393139291f3b3a3c0e391131302a294839313921293c2b393d2c292a573139291f3a103936313921293b2f08363a2d3d393b482d3d293b39303139351f39150c343a3d391f3a11393c3139311f3a4a171f394a0b1f3911393b3d351f3a3b01393f3d39481f39151710390f36393139291f3b3d1b3d293b393c31392929363b393d29293e093129291f39483d3a19113d3c3c393d343b01393a2929394e3939401f3901393a292941093d3c291f3a11393b31391c093d301f3539290b12393d3d291901313b3239391f392b393d31391f29400f311f39133d291911293931393d293c2b3d3131393d293b2b3d3b310f3a3a3d3f0b113a3b29393913391f3911393f3d3a35113a01393f3d391311394a0c363a3d391f39132d36392b393f3d3948113a01393c19113931313931292e2b393f3139311f394a171139103a4c31392a3a393c17393c01393b31391c0931392a3a3c4a172936390f3a3b01393f31391b1f3911393c191139301901393c3139363a393b393b31391f2953393d3431392a3a3d3f1713393b393a3d3917193b01393a292a3a093239393431393a3a15393e0931393a3a13393e093d3b213d293b393e31392d17391f3a3a3916314a391f39343139391739081f3a31293d1f393d3d291910393731391329302b39392919393a1911293931393d340229353a39164012393d3f1f39150b11393b29393139391f3912213b1339311f393b393a361f332139113939292c214a3910391f393d3f21392f171f393d3f1f392f171f393d3d291910391d31293d1f393d3f29392f17113a01393d3d39401f3a00390131291f1f393d3d39371f3b283929323931393a3a153932093139311f3901393031392917391f291f3a2b39392921403a1911393131393d1f393d3f2d392f171f393d3f3d39151729090f323e3c29391f393d3f1230111f39393c2139100f3d1f393d3f1b30111339393c1b3c1f393d1f3b3b39392921393a191139392921173a19113939291e213919103a0e31393a3a362c213b3d3b3939292910092929391f393d3d291911313b3d3a4c10390f3239313939173908293a31393d17391f3a0a291d35392c1f2a393139351f393b1f3b14393d1f392b1f3b393f0c3a391517293f2a391631393517391f3a3e3c293d1f39011f3b393b3d3b3b01393934293b2839292a393139323a342c1739393b393b29293e093129313431393d17391f39103a393639313939173908293a31392a363a3d393b293b393b2929394e3939391f393b393f361f313931393a3a3d3f171f393a3c2039133d3a2a0f48393139352930290f3d3b0f2d1f39113939291e21391911313031391c3a3b15171f3a3a3c2e392b393919013939191148393b121739393b393b29293e093129311f3a3d3d3a19113d3d3c393d343b00392039390b293e0f393431393a3a1539320931393a3a133932093d3b213d293b393e31392d17391f3a3a3916314a391f39343139391739081f3b3129311f393d3f29392f17293c11393a3d3a481f393d3f1f39151713393b393b3b4d1f3b39293257310f3a3a1739360a311f1f13393b39313139103a17393609311f354a391f0f12393d3f29392f0b113a01293931391b1f3a483f3d392f174a39100f1f393d3d3119113930292b3a09311f311f3a483d1b1911393d31392d1f3a103b0039113930291f394b3900391f3a01393b361f31353139103a3d3f171139113931333931353d334c3b3129291f393b1f3b3b3b3d3e310f3a3a3d3f0b11393b29393139391f3a2c213b3c3b39392929100931393a3a3c3f17292d113d3e3139311f3a483d351911393d31391c3a3d3f1729481f31103a3b393e3d3e3d1f393d3d291911293931392a3a1e48213d293a392039390b1f3b3b393b31392a3a39162a09361f313531391c3a13393e093239391f3b3b1f3b3c3b3d3d310f3a3a3d3f0b11393b29393139391f392c213b3b3936393139311f3a3d1b3d293b39392929100931393117391f3929410f311f39133d3d19113d3b3c393d343b0139393339313131293d1f393d3d291911293931393513393b393a3b4c2d3a393b35392921393a1901313b3239391f3911393b291e29391912213b3c3b3939292910093139323a3d3f1711393b393b292900093139291f3a2b393f3d343d3b313939103a3b393b3339313531293512393d3d29190131393239391f393b393a361f31313948391f3901393d2a0f2a3931393a3a3b3f171f3a3b0f39393a3c4c3911393d29293e093129293539290b3431393917391f1f10392b3939292a3a093239391f39133f39392f1713393b393a3b53393539293e57310f3a3a293f17113a01293931391b1f392c213b373b393d2929394a391f391f3a01393c3d39401f3a00394f31291f1f3a0039373916403b293932393913393b293932393913393b293932393913393b293932393913393b293932393913393b293932393913393b293932393913393b293932393913393b293932393139223a0f293a0a3c121339392a1b3d3e0f2d203a1f1b203e001b333e001b203e0f4c283d3a1b203e00352e3e001b203e001b203e0f393a391f353c3e001b3a3e0f1f203e0f13343e0f0f203c2a1b343e001b2a3d10292f3b01393931392e3a3f3f171f3a483d4c1911393b3139291f3b3a3b49391f0f213b01393931392e3a3d3f171f3a483d4c1911393b3139291f3b3a3b48391f0f203b0139303139391f392b393b3139351f3a3b393e31393a3a3b3f171f393b1f3b3b3b1f3b3c3a3d39393b31393d39481f393a3936313939293b2d3d3b1c3f1729213c213b37390f2f3b013930292c10093139311f3a3b3931292931292f3b3d393913391f3a3b1f3b393b313a29292a0031393a3a393d000131393a3a304808012a292a3931392d1f393c213b3c390f3a3b01393d31393e3a3a30314a391f39343c3a2d3431391c3a0d363d3933293539360f352131391c3a0b363d3933293539360f352931391c3a09363d3933293539360f353131391c3a17363d3933293539360f353931391b1f393b393a3139311f3901393d31392d1f3a013930292b3a093d3f394a39121f353e390b1f3a48302148293908390f394b39001f1f3a48302948293908390f394b3900391f3a48303148293908390f394b390f1f1f3a48303948293908390f394b390f391f3a01393931393d1f3911393c3139291f3a2b393031391c3a313f1729213c213b37390f2c3b013930292c10093139311f3a3b3931292931292f3b3d393913391f3a3b1f3b393b313a29292a0031393a3a3e4808012a292a3931392d1f393c213b3b390f3a3b01393d31393e3a3a30314a391f39343c3a313431391c3a373f171f3911393d3139103a39103a213129393b293b393d33393139311f3e3a3a303d1f393d3d392c30311f393d3d352b16323e3a3d391f3a2b3939361f31313c393d343139291f392d3d3d1b12213b39390b353d290b1f3a483d4c1911393b3139291f3b3d3d3c3d3e1f103939323931392917391f3911392d3d3d1b2b3939291d483b2b16323e3a3d391f3a2b3939361f311b3c393d343139291f392d3d3d1b12213b39390b353d390b1f3a483d4c1911393b3139291f3b3d3d3b3d3e1f103939323931392917391f3911392d3d3d1b2b3939292900331b132d3d293b393e31393a3a392f0b4a3910393539290b1f3a3b393a29292a01361f31393b0f0f283b013930292c10093139311f3a3b3931292931292f3b3d393913391f3a3b1f3b393b313a29292a0031393a3a374808012a292a3931392d1f393c213b3a390f3a3b01393d31393e3a3a30314a391f39343c394c3431391c3a373f1710393b3539292a3a0a311f3d13393b393a3139314a391f1f3c293932393139391f392d3d311910394a2a2948393139103a1f35393931393929312a3a372a29483931393929322a173539290b343139391f392d3d31191039173a3d391f3a3b393d3339313929293201361f31393b01393a292a3a09323939353c290b1f3a483d4c19113d3a3913391f393d3d311911393933393131333931313d293939311f39293b2d3d3931393a3a3c3f17293b2f0c3f3a3d391f3a3b393d3339313929292a01361f31393c393d3431393d1f3911393931393a3a3f3f171f3b3b393d292939290b1f3d1f393f0b11392b393e33393131311f3a3a3c3d1c012a292a3931392e3a393c213b3b390f3a3b01393a2929003031393a3a3b4808012a292a3931392d1f393d3d351912213b3b390b343c390f3431391c3a4c363d39292b0f292911313f3139391f392b393b3139351f3a3b393e3139211f3a133d0b19103a1f361f314c3c390b3431391c3a1736313933393139361f312931391c3a1536313933293539360f353131391c3a1336313933293539360f353931391b1f393b393a3139311f3901393d31392d1f3a013930292a2a093d3f394a39121f353b1f0b1f3a483d4c1911393b3139291f3b3d3d3b3d3e1f103939323931392917391f3911392d3d3d1b2b3939292c00331b132d3d293b393e3139394a391f393539290b1f3a3b393a29292a01361f31393b0f0f323b013930291b122b393b133c393c1b3c3f3b3930291b3c2b393b133c393c1b3c3d3b3930291a122b393b133c393c1b3c3b3b3930291a3c2b393b133c393c1b3c393b39303139391f392b393b3139351f3a3b393e31391b1f3a483d1f19103a1f361f314c3c391f3431391c3a373f171f3911393d3139103a392a3a213129393b293b393d33393139311f3e3a3a303d1f393d3d3f2b16323e3a3d391f3a2b3939361f31213c393d343139291f392d3d3d1b12213b39390b353a0f0b1f393b393a3139311f3901393d31392d1f393b1f3b393b1f3b3e3a3d3e39390f303b0139303139391f392b393b3139351f3a3b393e31393a3a3b3f171f393b1f3b3b3b1f3b3f3a3d39393b31393d39481f393a3936313939293b2d3d3b1c3f1729213c213b37390f3e3b01393e292a2a0931391c3a373f171f3911393d31391f290b0f31353a390b1f3a483d4c1911393b3139291f3b3d3d3d3d3e1f10393b393d3429393929292a002a292a3931392d1f393d300b3c150b4a391029343c3935343139223a322d213639290b1f3a3b393d3339313929292a01361f31393c393d34310f3a3a3d3f0b11393b29393139391f3912213b3b3d3d3f31293d3b2939323931391c3a373f171139113939292910093d3b1f36393d3d3d31293d1f3b3b393b3d3b3d29100f3e3a322d1b36393d3d3b31293d1f3910391431393a3a3b3f1729333d2d3639290b1f3a3b393d3339313931393e01361f31393b013939292a3a093239393431391b1739121f343129391f3a483e3919012939313939342a0f3d3a1e013539292a3a0a311f2113393b393f31393d4a391f1f1f3a11393c3d39401f3a10394f31293d1f3a10393731392e3a3e3f171f3a133d311911393b3139291f392a3b023911393f333931313129391f3a133d2919112939313939342b293d3a1e013539292a3a0a311f2113393b393f31393d4a391f1f1f3a11393c3d39401f3a10394f31293d1f3a1039373139391f3a2d3d291911393f292910093139311f3a3b393a3d34293b31392117391f1f10393b393f292a3a093239391f39390c3239293e57310f3a3a3d3f0b113a1129393139211f392c213b3b3b393f313935293c01393f3d3c0b10392b393f3d394c1f393b393e292a10093139223a3b3f171f3911393d31393d290c29311f3a111f3b3b3b3d393139223a3d3f1713393b39393b0239393139391f392b393b3139351f3a3b393e31393a3a3b3f171f393b1f3b3b3b1f3b3e3a3d39393b31393d39481f393a3936313939293b2d3d3b1c3f172921390c1b39293e57310f3a3a313f0b113a1129393139223a0136313933293539360f35213139223a0f36313933293539360f35293139223a0d36313933293539360f35313139223a0b36313933293539360f35393139391f392b393b3139351f3a3b393e3139211f3a133d1f1911313a3d3f3910393b393a3239391f39390c3539293e57291b2b3a392d30391f293d1f39100b1f392c213b393b393a29293a333a3d3a3a17313d3a29213b3a392b393b3f013d3c29293910391f36393139311f394a171f393b393b19114839393c1739393b393b29293e09311f311f392d1b3639390b343b4d393539293257310f3a3a313f0b113a01293931391b1f392c213b3f3b393d2929394a391f391f3a483d3119113132313935293c0139323d3c31103b3b39323d394c3b1e0f32393913393b293932393913393b293932393913393b293932393913393b293932393913393b293932393913393b293932393913393b293932393913393b293932393913391f3a13303a393f0b373729393a3e0f29203a2a1b3f3a001b203e0f17203e001b203c1f40293e001b203d002d203e001b203e001b2039393d3b390f35203e0f3d203b3a1b203b290b203c3a1b363e0f0b203e003d2b3e3a21343139391f3a2d3d2119113930292a10093139311f3a3b39313d341f3b3c3a1f343139391f3a2d3d2919113930292a10093139311f3a3b39313d341b3b3c3a1b3431391b1f393b393a3139311f3901393d31392d1f393d3d311911393933393131333931353d293939311f39293c2b39393d39481f393a393219103a10361f31213c3a213431391c3a3f3f171f3911393d3139103a39103a223129393b293b393d33393139311f3e3a3a303d1f393d3d392c30311f393d3d1e2b16323e3a3d391f3a2b3939361f31353c393d343139291f392d3d3d1b12213b39390b353e290b1f3a4833144a0a4a080f0d0234130e1339360f353131391b1f393b393a3139311f3901393d31392d1f3a483d3119113930292a3a093d3f3d4a39101f353e390b1f3a4833140b0a2f0848094b34130d2939360f353131391b1f393b393a3139311f3901393d31392d1f3a483d3119113930292a3a093d3f3d4a39101f353d0f0b1f3a483d211911393b3139291f3b3d3d3b3d3e13103939323931392917391f3911392d3d3d1b2b3939292a1c331b132d3d293b393e3139394a391f1f3539290b1f3a3b393a29292a01361f31393b0f0f2b3b013930292a10093139311f3a3b3931292931292f2b3d393913391f3a3b1f3b393b313a29292a0031393a3a393d000131393a3a3c3d08012a292a3931392d1f393c213b3b390f3a3b01393d31393e3a3a30314a391f39343c3a3d3431391c3a3f3f171f3911393d3139103a39003a223129393b293b393d33393139311f3e3a3a303d1f393d300c391308012a292a3931392d1f393c213b30390f3a3b01393d31393e3a3a30314a391f39343c3a393431391c3a3f3f171f3911393d3139103a39103a223129393b293b393d33393139311f3e3a3a303d1f393d3d352b16323e3a3d391f3a2b393929293e0a361f31293c393d343139291f392d3d3d1b12213b39390b353c0f0b1f3a483d211911393b3139291f3b3d3d3b3d3e13103939323931392917391f3911392d3d3d1b2b3939292c0c331b132d3d293b393e3139394a391f293539290b1f3a3b393a29292a01361f31393b0f0f373b013930292a100931293912393d3d291901313a3239391f392b393b361f31313948393b293b393931393e3a3b3f1729352d2d36393b393129213c39393b39393d3a40292a3d2d36393b39393d3b31193c393d343b01393931393e3a3b3f1729321f2a393139291f3a3b1f3b393d3d3b1b12213b39390b1f392d3d29191129393c39483431391c3a3f3f17103929323931393a3a3b3f171f393b1f3b3b3b1f3b3b3a3d39393b31393d39143a393b3939292900093d39140a2a1f2a393139291f3a3b1f3b393d3d3d1b12213b39390f3a3b01393a3139311f393b3939292a100931391f1f3a3d3d393d34293a31393a0a311f3d1f3a2b1f3b3b3b3139292900301b132d3d293b393e2929394a391f1f3539290b1f392d3d352a01393929290c331b132d3d293b393e31393a3a3c3f174a391f1f343b0f0f353b01393029222c2a393b1f39393c21393c01393029214b2a393b1339393c1b3c3b3b39303139391f392b393b3139351f3a3b393e31391c3a3b3f171f3a483d2c19103a10361f31213c390b3431391c3a16363d3934293939371f393531391c3a15363d3933393939361f313131391b1f393b393a3139311f3901393d31392d1f3a483d3119113930292949093d3f3d4a39101f353b1f0b1f3a483d211911393b3139291f3b3d3d3b3d3e13103939323931392917391f3911392d3d3d1b2b3939292c00331b132d3d293b393e3139394a391f393539290b1f3a3b393a29292a01361f31393b0f0f323b01393029092f294e19162b011b4e2b480f394b390f1f1f3a01393931393d1f3911393c3139291f3a2b39302929100931391c3a3d3f1729212c213b3f390f313b013930292a10093139311f3a3b393129293d292f2b3d393913391f3a3b1f3b393b313a29292a0031393a3a3a1308012a292a3931392d1f393c213b3f390f3a3b01393d31393e3a3a30314a391f39343c391b343139391f392b393b3139351f3a3b393e31393917391f39173910292a3a2939353a0f0b1f3a01393931393d1f3911393c3139291f3a2b39392929100931393917391f1f1739101f2a39393911393a3936313939293c2b39393d3914093d3f3d4a39101f353a290b1f3a2d3d2d19113930292a10093139311f3a3b39313d34213b3c39293431391c3a3f3f171f3911393d3139103a3a3a3a223129391f3a3b4839393d3d3d1b2d2d3d293b393e31393a3a4f394d0a361f312d3b0f0f3c3b01393f292b2e3f3c293d343139291f3a3b1f3b393d3d3d1b12213b39390f3a3b013539292a3a0a311f3913393b39393139314a391f103a3a113d3a3913393b293b3930292a1009311f311f393d3d31191039153c293a3a3a3b3d3a31391f1f3910391e3d311f3a292b2e303c293a3a39113d3a3139312931113939292910093d3b223e3c293d343139291f3a3b1f3b393b393a1b12213b39390b1f393d3d29191129393b013930333931213b013d3931391c3a313f1713393b39393b481b3a39204012393d3d291901313f3239391f3a11393a361f31313139211f390039283139212935113d3a313921293c11393e292a2a093139223a3b3f171f3911393d31393d290c1f311f3a111f3b3b3b3d393139223a3d3f1713393b39393b48133a39204012393d3d291901313f3239391f3a11393a361f31313139211f390039283139212935113d3a313921293c11393931392e3a3d3f171f3a133d311911393b3139291f392a3b4b3911393f333931313129391f3a133d2919112939313939342b293d3a1e013539292a3a0a311f2113393b393f31393d4a391f1f1f3a11393c3d39401f3a10390131293d1f3a1039373139391f3a2d3d211911393f292910093139311f3a3b393a3d341f3b31392117391f1f10393b393f292a3a093239391f39390b0c393b393931393d1f3911393c3139291f3a2b39392929100931393917391f1f173910292a39393911393a3936313939293c2b39393d3914093d3f3d34280f3d3a1e013539292a3a0a311f2113393b393f29092f294e19162b011b4e2b480f394b390f1f1f393b393a3139311f3901393d31392d1f3a133d311911393f292a3a09311f3d29212b3d3931393d13393b39393b4e4c3a39292e57310f3a3a48393e0a311f3913393b393929210e2a393b4039393c0b3a02393d1f393d3f30482939173939394a390b1f3a3d3a21103a1139393139294a391f391f393d3f0f392f17113a01393031391c3a3e3b393f31393a3a01393e0931393929343b31311911313d3139312928013d3f31393a3a3d3f17113a2b393b3d39401f3a2a394f3129131f3a2a39373139131f3a01393d31392d292101393a31392d1f3b3d3d3b1c3b393e1911313a3139211f393f0c3a3916291f393f083a0b392e0a3139291f3a13211a31393d1f3911393c3d3f3110392b3939291c393a1911293931393d341f39293a3a4b4012393d3f0f394a0b11393b293931393a3b322c1b3c0939351f393d3f17394a083a3920323a12004c1f39111f3b3a3a3b0e392b3d313139391f393d3f39394a174a390e0f3b3d3a21103a1f325731391f3d293b393b3339313131291b1f393d3e391901393e360f35393139391f3a3c1b3c373b393931391b4a3912391f393d3f39394a083a3011393f31393a3a0939360931393a3a353f172934390f3a3b0139393139294b3949391f393b393e360f362131393a3a1f393609292a4c1f3a11393929191f3c19113939291c39391910390b3b013d3f31393a3a362c213b1f393d1f393d300f3915083a393b39392921393a1910391d3129131f393d3f39394a17113b113d303913391f3a133d1d2c1f2a393d3a21103a1f325731391f3d293b393b3339313131291b1f393b393e360f35293139391f3a3c1b3c3b3b393931391b4a391f391f393d30403915171f3a11393929191f3c191139393d3e173539290b1f393b393d360f351f3139391f3a2c1b3c333b3939291e0f3b1911393f31393a3a0939360931393a3a313f17292f1f0b113a133e572a1f483a3139131f393b1f3b57393129320139393339344039113d303b0139303139211f3a4a17113b01393b3d3c40103c3b3939292c2d4a3917393a31393a3a53393a092929391f393d3f39392f172930113d303913391f393b1f3b5739311f393d3f39394a083f3a3d391f393d3f39392f17103a1f0f3a3b01393f292936483d3a13113a132d36392b393031392129320139393339344039113d333b013939291d1f3919113131313931293c01393331390f1f3b01393f31393a3a41393a0931393a3a40393a0931391f290d1f311f3b3a393731393d1f3a11393933393248313939173916391f3911393c3d3f3110392b39303d3a481f3b2a391c31393a3a0b3936093239391f392940343d3a1b393b410f3c39291c57310f3a3a1f39360a311f3913393b393929112d4b39571f3b31393a3a5339320929293e012919291e31393117391f29290a0f3d103a01393931393a3a48393209361f34353910392f31292d3b1e0139303a3d391f39111f3b3b3b3d3f3139391f3a3c133c333b39393139214a3911391f393d30293915083a3011393e31393a3a5339320931393a3a313f172934390f3a3b0139393139294d3902391f393d30293915083a3011393e31393a3a5339320931393a3a353f172934390b103a2b3939292c2d4a3914391f393d30393915083a393b3939291c39391910391d31291f1f393d3029391517113b2b3d3f3913391f3a2d3d1d2c1f2a393d3a21103a29325731391b3d293b393b333931313129211f393b393d372935313139391f3a12213b393b3939291b0f3b1911393e31393a3a53393209313939292f1f0f3a3b0139393139294d3900391f393d30353915171f3a2b3939291e1f3b19113939292a3a093d3e1734311f2e3a1e482136392b393131393917390b0f3b3d3b1b1f393b1f3b023931103a1f0b1f3a11393e31392209311f171f3910395731290b1f393d3d49361f322931393a3a01393a092929391f393d3029393f172930113d3f3913391f393b1f3b0239311f393d30293915083f3a3d391f393d3029393f17103a290f3a3b01393e292936483d3a13113a2d2d36392b393f31392d29320139393339343539113d323b013939292c1009311f1b1f391039283139131f3b01393331392d1f393d303d393f171f393d3e39190139303d34173b31391b293c11393a31392d1f393b1f3b2a3b3939333932393139311f39003a1131293d1f3a10391c31391f29302b39392921393c1911293931393d283b00392039390d1139293d3d1e0135392921393b190131393239391f393d3114360f284c392b3939291e1f3a1911313f29293e01291c351b2929391f39111f3b3a3a3a0c3d3a21103a0139393139294b390f391f393d301f392f17113a2b393e292a1f1f3a01393f31393929343b393e191131303139312928013d3131393a3a3d3f17113a11393b3d39401f3a2b393131391b1f393d3d1f1911313e31393a3a303f171f393d3d211911393f3d334c3a313921293c11393a31392d1f393b1f3b303b3939333931213139311f39003a1131293d1f393d3f3939151713393b393a3b4f293a39293657310f3a3a17393e0a311f3913393b39392921202a393b4039393c0b3a16393d1f393d3f3a482939173939394a39081f3a31393a3a15393e09311f2e3a3920323a4a10003a393b393b3339313d3d3f48293e113d3f3139391f3a3c213b393b393929210b3a1911313d31392a3a3c2b393f31392d1f393a390b31392a09311f211f3910395731291b1f393d3d291911313e313931293c01393d31391b1f3a113939292b3a09311f291f393d3d1b19113939292a100931392d290a1f3d1f3a2a393731393d1f3a3b39393339311b3139391739101f1f3911393c3d3f3110392b39392919393a1911293931393d34171f3d3a3a304012393d3f3939150b11393b293931393a3b322c1b3c53393d1f393d304c392f17113a133d3a1b13302c303d3d3a31393117391f29291a2a392f31291b1f393b393d360f353931393a3a4c393e09311f2d1f3a2d3d2131391b1f3a1139393d3b0f1f3a2f17113a01393b3d3c40103b3b3939292a3a09311f211f3910392831392d1f3b3b393031393a3a313f17113a2b3939292a000931393a3a3f3f171f3a103b0d392b393f3d394c1f392b393e3139391739100f1f393b1f3b3f3b393b3139352921113d3a31393a3a1f3932093239391f39290b2f393d3f1f1f293e3a00313d3a333931393139311f393b393a3d37213a3b4f293a39293657310f3a3a17393e0a311f3913393b39392921202a393b4039393c0b3a16393d1f393d3f3a482939173939394a39081f3a31393a3a15393e09311f2e3a3920323a4a10003a392b393b3339313d3d3f48293e113d3f3139391f3a3c213b393b393929210b3a1911313d31392a3a3c2b393f31392d1f393a390b31392a09311f211f3910395731291b1f393d3d291911313e313931293c01393d31391b1f3a113939292b3a09311f291f393d3d1b19113939292a100931392d290a1f3d1f3a2a393731393d1f3a3b39393339311b3139391739101f1f3911393c3d3f3110392b39392919393a1911293931393d3402293d3a39204012393d3d0f1901313e3239391f3a2b393a361f31173913391f39111f3b3a3d3d3a1b2d2d3d293b393931393d1f3911393c3139291f393b1f3b393b1f3b3f3a3d3f393b3d3b3c393d3431392e3a3f3f1711393b393b3d39401f393a3b35392b3d3a313939293c1f32393139293d293b393e292a100931393d292b0f0f3a3b01393e292a100931393d292b1f0b1f3a2b393e292a10093d3d394a3910393c293b393e31392e3a3f3f17291a3c213b3b3b393e292a3a0931392e3a3b3f17292f0f2a3931392e3a333f171f3a2d3d291911313933393139333931393d281b3b3139392914293d3539292d1f3a2b1f3b333b3d3b31392e3a3f3f17293b1017343b0f0b1f3a2d3d0f191129393139313408393d3a3a204012393d301f393f0b11393b293931393a3a11413d39340f3939370f3e1b31393a3a10413d3933393939361f32213d3a21103a1139393139294a391f391f393d3e391901313031391b1f3a483d2d3139211f393d3021393f171f393a390b311f1009311f291f391039573129211f393d3d291911313e313931293c01393e3d3c31103b2b393e3d394c1f3b2b39303139291f3a2a3a0e31393d1f3a2b393e31391009311f3d1f3a1139391901393919133d0f1901393d3139223f3f01393a3139311f39003a2f31293d1f393d301f393f1713393b393a3b4c393d39291c57310f3a3a1f39320a311f3913393b393929112d4b39571f3a31393a3a53393e0929293e012921401d31393117391f29290a0f3d103b3b393931393a3a48393e09361f3435392a392f3129213b1e0139313a3d391f39111f3b3b3b3d3031393a3a293f0b1f3a2c1b3c393b39393139294b39021f1f393b3930361f310f31393a3a48393e09292a4c1f3a113939291e1f3a19113939292c3a093d3b0f3539290b1f393b393d360f36293139391f3a2c1b3c2f3b3939291c393a19133d1d3139211f393d304c392f171f393d3029393f172934390b103a113939292c2d4a3917393a31393a3a0f393e092929391f393d3f39392f172930113d3231393a3a48393e09311f17103a0f32393139223a30134c3d293a392f3129213b1e0139313a3d391f39111f3b3b3b3d303139391f3a2c1b3c3d3b39393139294b390f1f1f393b3930361f313931393a3a02393e093139211f393d304c392f171f393a3a193c393d343139391f3a3c1b3c313b393931392d4b39011f1f393d3035392f171f3a113939291e1f3a19113939292b3a093d3e1734311f223a1e482136392b393231393917390b0f3a3d3b1b1f393b1f3b02393d103a0f0b1f3a01393f31391c09311f0b1f3910395731290f1f393d3d49361f3339392b3939291e1f3919133d3931393a3a1f393e093d3a4c103a0f323931393917390b0f3a31393a3a48393e092a1f2a3931393a3a1f393e093129213539290b1f3a133d3a1c3a3922311f223e3c293d1f3a01393f3d3b1b1f393b1f3b02393d103b1f0b1f393d3017393f17113b3b393b3d39401f3b11393531390b1f3a113939291e293919113939291e3939191139313d340f3b31391f293c11393a3139211f393b1f3b1c3b39393339320f3139311f39003a2f31293d1f3a00391c31391329302b39392921393b1911293931393d283b00392039390e1b390f3d301e013539291c393a190131393239391f393d3114360f2831392b3939291b1f3a19133d3a1b133f133001393b3339313d3d33403a31291b1f393b39392919393a1912213b16393d293e113d3e3916401f3a0f2a3931393117391f1f103a1139393139294d39011f1f393b393f361f311f31393a3a17393e09292a4c1f3a2b3939291b1f3a19113939292b3a093d3b0f3539290b1f393b393d3729350f31393a3a17393e09292a4c1f3a2b3939291b1f3a19113939292c3a093d3b0f3431292d1f393d3d49361f322931393a3a13393e092929391f393d3029393f172930113d3131393a3a17393e09311f13103a1f323931392e3a30134c3d293a392f31292d3b1e0139303a3d391f39111f3b3b3b3d3f3139391f3a3c133c3b3b39393139214a391f391f393d3f1b392f171f3a2b3939291b1f3a191139393d3e173539290b1f393b393d3729352931393a3a16393e0931392d1f393d3031392f171f393d3d2919103a193b01313e2920413f3c293d1f3b3b39393339331b392a39163139391739080f3a312921343139211f3a2b393f191131333139312928013d3431393a3a362c213b2d3b3939291b1f3919133d3931393a3a48393a093d3a4c103a1f32393139391739080f3a31393a3a17393e092a1f2a3931393a3a48393a0931292d3539290b1f3a2d3d3a1c3a3922311f2e3e3c293d1f3a11393e3d3b1b1f393b1f3b16393d103b290b1f393d3d4c19113130313931293c01393231390b1f3b11393e31393a3a00393a0931393a3a293f0b1f3a003b40391139303d394c1f392b393e313939173913291f393b1f3b293b393b313935292e113d3a31392129302b39313d3a481f393d3029392f1713393b393a3c0f0b293e0f393417293d3a3a304012393d300f393f0b11393b293931393a3b322c1b3c193b3939291d1f391911313f29293e01291c351b2929391f39111f3b3a3a3a0c3d3a21103a0139393139294b390f391f393d3029393f17113a2b393e292a1f1f3a01393f31393929343b393e191131303139312928013d3131393a3a3d3f17113a11393b3d39401f3a2b393131391b1f393d3d1f1911313e31393a3a303f171f393d3d211911393f3d34393a313921293c11393a31392d1f393b1f3b303b3939333931213139311f39003a2f31293d1f393d300f393f1713393b393a3b4f3d3a39293657310f3a3a48393a0a311f3913393b39392921202a393b4039393c0b3a2c3b39392921302a393b1f39393c213b2b3b3939291b1f391911313e29293e01291c171b2929391f39111f3b3a3a3a0c3d3a21103a1139393139294a391f391f393d3d4f1911313d31392a3a3c2b393f31392d1f393a390b31392a09311f211f3910395731291b1f393d3d291911313e313931293c01393d31391b1f3a113939292b3a09311f291f393d3d1b19113939292a100931392d290b393d1f3a2a393731393d1f3a3b39393339311b3139391739101f1f3911393c3d3e2110392b3939291c39391911293931393d3417293d3a3a304012393d300f393f0b11393b293931393a3b322c1b3c193b3939291d1f391911313f29293e01291c351b29293d1f39111f3b3a3a3a0c3d3a21103a0139393139294b390f391f393d3029393f17113a2b393e292a1f1f3a01393f31393929343b393e191131303139312928013d3131393a3a3d3f17113a11393b3d39401f3a2b393131391b1f393d3d1f1911313e31393a3a303f171f393d3d211911393f3d34393a313921293c11393a31392d1f393b1f3b303b3939333931213139311f39003a2f31293d1f393d300f393f1713393b393a3b53482a39294d57310f3a3a0f39320a311f2113393b393f31393d1f39133d3a3d36173b361f332d3911393f313921173908293b3d32313a361f332139133f125331190a1e483f1b143534141e2b393d3f013d3731393a3e3129413a0b221e200d161710392936393913393b293932393913393b293932393913393b293932393913393b293932393913393b2939323931393d11393d300f0d0c4f1d392d0f3d293b3939291b11010c1c324f2c392a3931393a3a000b0d0a113008353a3d391f393d300c4d343f121d3d21363b0139392921013f084f004d2a1f483331393a3a1440021f412014303c2a311f3a111f3b0c39323a1f313d3a1911393f34293b1e39121739393d3f200a350f0831293d353d1f0b1f393d3f0014411d4e1d13213639113939291d0122080d324e2a1f483431393a3a00400d0a113008303c2a3d1f3a133039391517133939403431393a3a41341d494c164d353a3d391f393d30320b0a202b1d4821363a3b39392922012d0f0d2e412a1f483f31393a3a1228010a00304d303c2a3d353d390b1f393d30490c4f20111e1321363a3b39392919284c10090c572a1f483f31393a3a144e0235332d1b363d3b393f3339334839133d3a19113d3629212b494c402d3031293d353d390b1f393d3f0d4840023c3a2d0f3d293b3939291e2c300e0c1f3b2c392a3931394c10392b3939291e3f4e4b0c4c3a2a1f482a31393910392b3939291d284a0a084c3b2a0f482a3139223a17393e093d391719313921173909393b3f1f0f293b013939291e20300e0c1f3b2a1f483531393a3a48373c2e100f363f3c291b1f393d30134b1e374b3a3d1b363d3b393f3339334839133f1f1f293e093139210c3932403b371f393929221d0b023b131039290f293b013939291c01391034353f2c392a3931393a3a0a4128350f0f2e3f3c290b1f393d3f484a4d30353a2d21363c1139392922201f53364c3e2a0f4829291b2b3a392b393c361f3139291e3f4e4b0c4c3a31293d353d390b1f393d301c1f312b023a1321363c3b3939291c201e0f1e353f2a1f483a31393a3a1034201200291c303c29401f3a113936361f334839133f3510091d401d2d3f3557330e3d1e11393f333933483911393c2b3a0b1039290f283b483d3931291b1f3a11393d29293a33371f3b1c3913302e4b4030023a1330320b0a202b1d01393f34293b1c39133d3a1b2a0b10392b393f3339332d39113d333c394c343139223a11393209313921173908293b3d3e29113d3b3d33292939103b3d3d3931291312393d3d291901313a3239391f3b10393231290b12393d3d29190131303239391f3a13304c392f1711393d3139360f313931391c3a393c213b3c3b39392929100931391c3a3c3f172902293d1f3a483d29191129393913391f3b482d36393936393913391f3b1139323d390b0c39393a3a282d2136393b3933313913293b014839393b3130292b0c3f31391c3a3130323a4c293a0a292a08323a30413a39292d1f3a003a3e29293a303b483d392a4b311f3a483d0e2a16323e3c29391f3b483d3a19013d3431393e3a3c3f171f3b3f171f3b1139323d390b0c3939394e39393a3a393b3d303139103a392f17113b3d3d3d2a1f2a393948391f392d3d35191139301911313131391f0b3939392941293d4e3939391f3a483d3a1911313029292a303c29393431393d1f392b48393c01393a34293937311f1c3a3a162a09371f393431393d1f392b48393c2b313129292a4a2929360031393d0c3939003a39162a01371f393231393d1f3a483d3b1c133d281b2b393129292a481b1217393b133d393129103a393b3d303948391f393b393a2929140931391c093d28293b31391c3a392f17113a483d3c2a0f48393b0f0b1f3b2d3d3a19113d3231390b3639290b343139103e3c29391f3b3d3d3c2c392a3931393e3a3c3f171f3b3f083a393d3d3d3139100a3d3d21193b483d3931291b3c293b393a2929000931391c09311f131f3b2b0f39393a3c49392c1739393b393029293e09311f1c3a3a3d1b3639390b1f392b393a3429392831393d0c39394c113a483d3f1c3f174e39390b1f392b393a34293936311f143a3a30223a394b3d1f392b48393c3d3d3b1c30314e3939131f392b39302929324a292941003139143a3a302a01371f39333139103a39131f36393b393129293e0a3129103a393b3d303948391f393b393a2929140931391c093d28293b31391c3a392f17113a0139312a0f48393b0f0b1f392d3d29191129393139392911293d103d2b39393339313931290f1f3a133f0c30011f39393c213b40393d1f3a133f1430011339393c1b3c4e393d1f3a133139360f2821392b393f291f394b3941393a3139223b393c1b3c01393d1f3a133139360f2839392b393f291f394b394f1f3a3139223b393c1b3c0b393d1f393a3b32392b3d343139223a0b393e0931291712393d3d0f1901313a3239391f392d3d1f19113d3131392d1f3a3a3b53391131303a3d391f3b3d3139360f39393139103b393c1b393b3b393031391f1f3b3a3b1639290b1f3a133f57391517103d11393f291c393a19113d2c31391b3d1e013539292a3a0a311f1313393b393a292a3a09311f1f1f3a1113394e393d4b3939391f3b3b393f33393c0f392c21393b3b393129213b391f391f4a39390f1f3b2d3d2919112939310f3a3a3d3f0b113b2b293931390b3d293b393231391f083939394b390f391f3b2b393133293931360f3531313913294e0f3d1f3a01393231390f1f3b0139333d312d3b3b013932292a3a0932393912393d3d29190131323239391f392d3139360f393931393e3b393c1b393b3b393a292b3a09311f0f1f3d133d3931393d290e0f3d1f3c3b393331390b1f392a3b57392b3932291f39294f293d1f3b2d3d311b113934292936480a2a3c0c392b39353139143a3d3b393a3d34403a3139143a3d3f1713393b393031391f1f392d3d29313a35291029311f3a0039292929393e292040343f11393a292c3a093239391f393a3c0c39113939333931393a3d391f393b1f3b3a3b313a31393917391f39113a481b3d29393639313939292900171f3a01393a29293e0a311f3e303c2939343b01393931391b4a391f291f393a3a3c3f1139393339313931293d1f393a3b3e392a171f392a39293b0139293d391719292b3a3a3d3b392a292c3a3f3f013d30291b15010c1c324f31293d353c290b1f3a113928371f3b1d3911393f31391b4a390a393b3139211f3b12213b0a39323a411a1d494c164d3a141d3c4c4b1f2d1f3a114839161f323a39203d1a31293d353c390c3a0f313d3a3139354a391f3a3a401a0a1d4b1f3d1039290f343b4830294c362f3039483f125331190a1e01393f333933213911393c2a100b1039290f333b4830294c362f303948300c4d343f121d3b393f3339330f39133d292a100c3a4f1d2b00174b1f1f3a1148391629323a39203d1a31293d353b290c3a1034201200291b10392d3d39312948353b390b1f3a11393f3339330b3911393f333933483915170c3939394e3932403b3139210c3932403b3f133f2002373c491d2d30134b1e374b3a3b393f34293b1d39133d3a1b2a0b1039290f303b01393f3139223a17393e09311f394a3909393b313921173909393b3f1139393139211739090f3b3d3e2919291d0122080d324e31293e3a393b3d3b3c3921343139211f3912213b0d39323a0a4128350f0f2e3a4c57190d161f311f3a111f3b0d39311f39481f1a31293d353a290b1f3a11393f292a3a09311f394a3909293b313921173909293b3f1139393d350f3b3f11393f3139223a3c3f17113b3c213b0939311f3a111f3b09393119313921173909293b292910093d35313b3129131f3a133f0f392f1711392b393f2919393a1911393f3339334c39133d3a1c3a3c393911393231393d290e29311f392a39333f11393931391f295729323a411b1d534a39323a4b213b3d0b0f211f3a114839161f323a39203d1a31293d353a390b1f3a111f3b0d39323a1f313d3a1911393f33393135371f3939291a2c1a131b0f3e31293d35390f0b1f3a111f3b0d39323a17313d3a1911393f33393135371f3939291a2c1a131b0f3e31293d35391f0b1f3a111f3b093931193139223a3d3f1729111f3d19313921173909293b3f11393f3339334c3911313929293e482929320031393a3a392036093129323a4f3215154c16171039290f3a3b483030014e0d311d113d3a3c39393439390d0039293d3c1e013539291c3939190131393239391f393d3f3e4829390e3939394f392d0f1f393d3f3a482939173939394a39131f1f393d3031393f17113a2d3d3a1b133019303d3d3a31393117391f29291a2a392f3129211f393b393d361f313931393a3a374a17113a3b393d2929481f3a11393e31393929343b393d1911313f3139312928013d3031393a3a3d3f17113a2b393b3d39401f3a3b39303139211f393d3d1f1911313d31393a3a303f171f393d3d211911393e3d34393a31392d293c11393a3139291f393b1f3b303b3939333931213139311f39003a2f31293d1f393d3029393f1713393b393a3b40483a39293e57310f3a3a353f0b113a2b293931392d1f392c213b3339323931393117391f2a3a39203e3e3a3d391f393b393a3139311f3901393d31393917391f391739101f2a3a1f3910391f0f3a3b01393e292a1009311f391f3910392831393929121f3d10392b39393d394c3b293b393d3a3d391f3a2d3d211911393a3d3d0b3539290b1f3a2d3d211911393a3d3d173431392d1f3a2d3d2119103a39361f31293948391f3a2b393e292a10093d3f4c4a391f1f1f3a2d3d291911393e292910093d3e0b3d293b393e292b100931392e3a3d3f1711393b1f3b393b0f39393a3c4c391139393d321b3a3c393d3e31392d1739111f103911393e292a10093d3917193b0f0b3431392e3a353f1713393b393b3b57313b39293e57310f3a3a4c39320a311f3913393b39393139314a390c393b3139391f392c213b4a39311f393d3029392f17293d2b3d3f31393a3a3d3f17113911393c3d39401f3910394f291d3c29393d304e4839391f393d301f392f17292101393b3d394c1f393d3039392f17293d2b313c313935293d0039353139391f39483d393d390b11392c213b0e393d1f393b393b361f313531393a3a393c213b3b3936393913391f393d30213915171f393d30293915172936132d36393b393933393340392b393c3d39131f392f083f3a3d391f390039323129311f3901393c3d39143a392029293c3b393c313935293d0039353139391f3911393c292939293b01313a1912213b0e393d3431393a3a4a3932093d3b3e3a3d3b393a31393a3a0e393e0931393a3a3b3f083a393b393f31393a3a3d3f171f393d3d3519113939291d393a19103b343929483931393a3a4a3932093d3b2d193c393d343b01393c31393917390a0f3a31393e0a3d390f1f39003936312931293e113d3a3139391f3a2c213b393b393b31393d1f393a3c3a39133d3a2a0f2a3931392a3a3a3c213b39390b1f393d30213915171f393d30293915172933392a393139291f3a3b1f3b393d3d3b1b12213b39390b1f393b1f3b4a393110392b393c3d391719313921293b10171f393d301f39151713393b393a3b41313c39293e53310f3a3a1f39360a311f3913393b39393139314a390e393b3139391f392c213b5339311f393d3021392f171f39013939291e393a19113939291d0f3a19113939291d1f3a19103c2d392b3939291b1f3a1910392a311f3d1f392a392c3d390f1f393b393a292939293b01313b361f343d392b393931393a3a313f174a39100f1f393d3d39361f312131393a3a392c17393e013939291b2d39371f392f3948393b293b3939291e1f3b19113939291e393b1910394a2a29483931393917390b293a31393d293b2b393b1913213d293b393a3d3913103901393a31393d293b2d3d3a1c3a393531393d1f392a392c3d390f1f393b393c31393e3a393a3934311f3209361f343d39290b1f393d304c39151729312b3939292a1c0931393a3a3e15171f39113939291b293a191139393339340b392b393933393417392b3939291c1f3a19113939292b3a0931393a3a303f171f393d3d2119113939291e393a19103c2c3929483931393a3a533932093d3b2d193c393d343b0f323931393a3a4a393e093d39143e3c29391f393b48393e482d36393b39393339311b311f351f393d3d1f19150c3a160f3e333c29391f393b393c29292a09361f311b3139351f393b1f3b3f3c213b39390b1f393b393b31393917390b293a313929290f0f311f393b133c393b3d3f31392d1f393b133c3b3c1b3c3b3b393e3139214b390f391f393d3021392f171f393d3d1f191139393339311b31392929342b3939291e1f3b19113939291e393b191039173a3d391f3a3b393d3339313929293201361f31393b0139393339344c39113d3b31393d293b10171f393d3021392f17293b10171f393d3f39394a1713393b393b3b4f0b3c393b3539291e393b190131393239391f393b393b361f341f3911393931393d4a390d1f3b31393a3a01393e093139351f393d301f392f171f393d301b392f171f393d3021392f172949393d1f393d3f4c392f17293d2b313a31393d293d0039353139391f392d3d393d390b113912213b0c393d1f393b3939292a3a09361f313531393a3a393c213b3b3b393929293d4e39391b1f393d303e393c17393a1f36393913391f393d30173915171f393d301f3915172936132d36393b393933393348392b393a3d39131f3915083f3a3d391f392a39323129351f392b393a3d39143a392029293c3b393a31393d293d0039353139391f3901393a292939293b01313b1912213b0c393d3431393a3a4e3932093d3b3d1f393d3d3019113939292922093139311f393d3f48392f171f393b1f3b4b393d1f393b1f3b4a393d1f393d3031392f171f393d3d29191139392929000931393a3a3b3f171f393d301f392f1729480f3d36393b3939291d1f3b191039143f1f0f3a3b0f0b3b293b3939291b1f3a191039322a2948393139390c39391c3e3c29391f393b1f3b3c3b313c31393a3a3d3f080a2922403a2b1f48393139391f39483d3d1912213b3c3b393c31393917391f1f4a391f393431392d1f3911393933393348392b393d3d35293b3729353931393a3a01393e0931393a3a3d3f171f393b1f3b3c3b393d3d3b481f393d30173915171f393d301f3915172933392a393139291f3a3b1f3b393d3d3b1b12213b39390b1f393b1f3b4e3931103911393a3d39171931393a3a01393e093d39171931393a3a403932093239391f391f0d4f390f3912393d300f39150b11393b29393139391f3912213b4c39311f393b393a361f341739113939291b1f3a1911393c31393a3a4c393e0931393a3a4b393e0931393a3a4a393e093d36293a31393a3a0d393e093d3a3d11392b393a3d3a35293c3b393931393e3a393a3934311f314a390a293a3139391f393d3d291912213b3c3b39392929394a391f1f1f393d3d3a371f393031393a3a0029394e3939213c2939323931393a3a4e39320931393a3a4c3932093d3c223e3c29391f393b1f3b0c393d1f392a3932313932092a1f2a3931393d293b2b3d3c31393d1f392a393229293e483d390f1f392b393a3d3a35293c3b39393139351f392d3d393d390b113915174a390a293a3b013939291d1f3b1910391031393a3a3a4a171f393d3d3f1911393b31393a3a0c393e0931393917390c0f3a31393917390c1f3a31393a3a01393e0931393a3a3d3f171f393d3d35191139392929100931393a3a4c393e093d36353a3c29391f393d301739151729322a173539290b343913391f393d3031392f17293b2d2d36393b3939342939302a29483931393917391f0f1139013939292a3a0919483f1e392d1736393b39393139363a3a3f174a391f0f1f3901393933393131361f31393b01393e3139311f393b1f3b0c393d1f3a3a3c3e39121f3b393b3939291b1f3a19113939292a3a0931393917391f0f1f3a3a390c31393a3a4e39320931393a3a4c3932093d3b1f3d293b393d31392917391f3a3a3916314a391f393431393917390d1f3b3129311f392a39333f113939291b1f3a191039333f113939291e393b19112939313931341629353a39164012393d301f39150b11393b29393139391f3912213b4839311f393b393a361f34213911393c3d3e0f103a11393c31393a3a4c393e093d32133a31291b1f393d3029392f171f39013939291b0f3b19103b21392b3939291b393a1910392a311f3d1f392a392c3d390f1f393b393a292939293b01313b361f3340392b393931393a3a3d3f174a391f0f1f393d3d39361f31313948393b293b3939291c1f3b19113939291c393b1910394a2a29483931393917390a0f3a31393d293b2b393b1913213d293b393a3d3913103901393a31393d293b2d3d3a1c3a393531393d1f392a392c3d390f1f393b393c31393e3a393a3934311f3209361f334039290b1f393d302139151729312b393f3139311f393d3f40392f171f393d3d31191139393339343539113939291c393a19113939292a3a0931393a3a3c3f171f3a003b343929483931393a3a4a3932093d3b2d193c393d343b0f323931393a3a48393e093d39143e3c29391f393b1f3b3c3b313c31393a3a3d3f080a2922403a2b1f48393139391f39483d3d1912213b3c3b393c31393917391f1f4a391f393431392d1f3911393933393340392b393d31392129001f314b390f391f393d3029392f171f393d3d29191139393339313531392929342b3939291c1f3b19113939291c393b191039173a3d391f3a3b393d3339313929293201361f31393b0139393339342139113d3b31393d293b10171f393d3029392f17293b10171f393d301f39151713393b393b3b4d483c39293257310f3a3a4c39320a311f3913393b39393139314a390c393b3139391f392c213b4a39311f39003a1b3129211f39013939291d393a19103b22392b3d3031393a3a48393e093139351f393d30353915172915393d1f393d3039392f17293d2b313a31393d293d0039353139391f392d3d393d390b113912213b0e393d1f393b3939292a3a09361f313531393a3a393c213b3b3936393913391f393d30213915171f393d30293915172936132d36393b393933393340392b393a3d39131f3915083f3a3d391f392a39323129351f392b393a3d39143a392029293c3b393a31393d293d0039353139391f3901393a292939293b01313b1912213b0e393d3431393a3a4a3932093d3b3d1f3a11393b31393a3a0e393e0931393a3a3b3f171f393b1f3b0239311f393d3029392f171f393d3d29191139392929000931391b29110f3d36393b3939291c1f3b191039143f1f0f3a3b0f0b3b293b3939291c393a191039322a29483931393917391f0f1139013939292a3a0919483f1e392d1736393b39393139363a3a3f174a391f0f1f3901393933393131361f31393b01393e3139311f393b1f3b0e393d1f3a3b393f3d35133b370f3d3931393a3a48393e0931393a3a3d3f171f393b1f3b3c3b393d3d3b481f393d30213915171f393d30293915172933392a393139291f3a3b1f3b393d3d3b1b12213b39390b1f393b1f3b4a3931103911393a3d39171931393a3a48393e093d39171931393a3a4c3932093239391f391f0d1c390f3d3b1e013539291d393b190131393239391f393b393b361f34293911393931393d4a390c1f3b31393529203b3d3f3139351f393d301f392f172915293d103a013939291c393a1911393c31393a3a023932093d321f3a31393a3a0f393e093d3a3d11392b393a3d3a35293c3b393931393e3a393a3934311f314a390a0f3a3139391f393d3d291912213b3c3b39392929394a391f1f3c2939323931393a3a4a39320931393a3a483932093d3c223e3c29391f393b1f3b0e393d1f392a3932313932092a1f2a3931393d293b2b3d3c31393d1f392a393229293e483d390f1f392b393a3d3a35293c3b39393139351f392d3d393d390b113915174a390a0f3a3b013939291c1f3b191039103139211f39113939291a0f3a191139392929100931393917390b0f3b31393a3a48393e0931393a3a3d3f171f393d3d35191139303d310b3a3c29391f393d302139151729322a173539290b343913391f393d3029392f17293b2d2d36393b393933393135311f351f393d3d2919150c3a160f3e333c29391f393b393c29292a09361f31353139351f393b1f3b3b3c213b39390b1f3a2b393b31393917390a0f3a3139291f3a103c3339121b3c393b3939291c393a19113939292a3a0931393917391f0f1f3a3a390c31393a3a4a39320931393a3a483932093d3b1f3d293b393d31392917391f3a3a3916314a391f393431393917390c1f3b3129311f392a39333f113939291c393a191039333f113939291d393b19112939313931341629353a39164012393d301f39150b11393b29393139391f3912213b4839311f393b393a361f34213911393c3d3e0f103a11393c31393a3a4c393e093d32133a31291b1f393d3029392f171f39013939291b0f3b19103b21392b3939291b393a1910392a311f3d1f392a392c3d390f1f393b393a292939293b01313b361f3340392b393931393a3a3d3f174a391f0f1f393d3d39361f31313948393b293b3939291c1f3b19113939291c393b1910394a2a29483931393917390a0f3a31393d293b2b393b1913213d293b393a3d3913103901393a31393d293b2d3d3a1c3a393531393d1f392a392c3d390f1f393b393c31393e3a393a3934311f3209361f334039290b1f393d302139151729312b393f3139311f393d3f40392f171f393d3d31191139393339343539113939291c393a19113939292a3a0931393a3a3c3f171f3a003b343929483931393a3a4a3932093d3b2d193c393d343b0f323931393a3a48393e093d39143e3c29391f393b1f3b3c3b313c31393a3a3d3f080a2922403a2b1f48393139391f39483d3d1912213b3c3b393c31393917391f1f4a391f393431392d1f3911393933393340392b393d31392129010f314a391f391f393d3029392f171f393d3d29191139393339313531392929342b3939291c1f3b19113939291c393b191039173a3d391f3a3b393d3339313929293201361f31393b0139393339342139113d3b31393d293b10171f393d3029392f17293b10171f393d301f39151713393b393b3b530f3a39293e57310f3a3a313f0b113a1129393139211f392c213b3f39323931393517391f2a3a39203e3e3a3d391f3a133e57361f31393139211f393b393a3139311f3901393d3139211f393b1f3b393b1f3b3d3a3d3e393b313a361f31213913393b2939323931392117391f3937391f393a391f0b1f3a2d3d39371f39393c39353431392e3a392c173939390f3b3b01393e29293d4e3939391f3a3d3d3d361f31393c393d343139211f390039283139212937013d3a313921293c11393f313935293c01393f3d310f3a3129391f3a1039373139211f393a3a343139223a3c30311f393a3a3331392d1f3a133d211911313c3139311f3a11393c31393d1f3a3d3d3a3d34313a3139223f371f39393139211739101f10392936393139363a3c3f0b293b11313c313922303c2939343b01393f292b3a093239391f39290e01391f3d3a1e0135392922393b190131393239391f393b393b361f33393911393931393d4a39171f3b31393a3a48393e093d3a3d103a113939292a3a09311f311f39003928313931293513301f48393a3a530c393931393a3a4c393e093d3f401f3910393731393a3a0f393e093d3a3d113901393c3d3a35293c3b39393139363a393a3934311f3d4a390a0f3a3139391f3912213b3c3b39392929394a391f1f3c2939323931393a3a1139320931393a3a1f3932093d3c3e3e3c29391f393b1f3b0e393d1f3900393231393e092a1f2a39313935293b2b3d3b3139351f3900393229293e483d390f1f3901393c3d3a35293c3b39393139311f39483d393d390b11392f174a390a0f3a3b01393929211f3b1910391e292a391f392b3939291a0f3a19113939292910092929391f3a113939292a3a0931393a3a3c3f171f393d301f392f172912293d36393b393929211f3b191039113f1f0f3a3b0f0b1f3901393933393340392b393a19003935313935293c2b3d3b3d3a2110392b393931392d4a391f391f3911393a313939290f29323a392d1b3d293b393d2929294a391f393431393a3a1139320931393a3a1f3932093d3b213d293b393d31392917391f3a3a3916314a391f39343139391739171f3b31293d1f390039333f11393f3d39171931393a3a133932093239391f39290e2b390f3d3a1e1135392919393b190131393239391f393b393b361f33293911393931393d4a39081f3b31393a3a4c393e093139351f393d300f392f171f393d300e392f171f393d300d392f1729490f3d1f393d3029392f17293d2b313a31393d293d0039353139391f392d3d393d390b113912213b02393d1f393b3939292b3a09361f311b31393a3a393c213b3f3b393929293d4e393a1b1f393d303e393c17393e1f36393913391f393d3f213915171f393d3f2939151729352d2d36393b393933393435392b393a3d39131f3915083f3a3d391f392a39323129351f392b393a3d39143a392029293c3b393a31393d293d0039353139391f3901393a292939293b01313b1912213b02393d3431393a3a153932093d3a401f393d3d2019113939292a22093139311f393d3035392f171f393b0f394f0f3d1f393b0f394f1f3d1f393d301f392f171f393d3d1f19113939292a000931393a3a3f3f171f393d300f392f1729491f3d36393b393929221f3b191039113f1f0f3a3b0f0b3b293b3939291d393a191039322a2948393139390c393a1c3e3c29391f393b1f3b303b313c31393a3a313f080a2922403a2b1f48393139391f39483d3d1912213b303b393c3139391739101f4a391f39343139391f3911393933393435392b393d3d35353b31393908390f39103a11393e31393908390f1f4b390f1f1f3a2b393f360f353931393a3a4c393e0931393a3a313f171f393b1f3b303b393d3d3b481f393d3f213915171f393d3f2939151729321f2a393139291f3a3b1f3b393d3d3b1b12213b39390b1f393b1f3b153931103911393a3d39171931393a3a4c393e093d39171931393a3a173932093239391f391f0d4f390f3912393d3f2939150b11393b29393139391f3912213b1f39311f393b393a361f333139113939291c393a1911393c31393a3a4c393e0931393a3a4b0f3e0931393a3a4b1f3e093d361b3a31393a3a0f393e093d3a3d11392b393a3d3a35293c3b393931393e3a393a3934311f314a390a0f3a3139391f393d3d291912213b3c3b39392929394a391f1f1f393d3d3a371f393031393a3a0029394e3939213c2939323931393a3a1139320931393a3a1f3932093d3c3e3e3c29391f393b1f3b0e393d1f392a3932313932092a1f2a3931393d293b2b3d3c31393d1f392a393229293e483d390f1f392b393a3d3a35293c3b39393139351f392d3d393d390b113915174a390a0f3a3b01393929211f3b1910391e31393a3a3a4a171f393d3d3f1911393b31393a3a0e393e093139390b3936403a3139390b39364c3a31393a3a48393e0931393a3a3d3f171f393d3d35191139392929100931393a3a4c393e093d36213a3c29391f393d3f31391517293110173539290b343913391f393d3029392f17293b2d2d36393b3939342939302a29483931393917391f0f1139013939292a3a0919483f1e392d1736393b39393139363a3a3f174a391f0f1f3901393933393131361f31393b01393e3139311f393b1f3b0e393d1f3a3a3c3d3912133c393b3939291c393a19113939292a3a0931393917391f0f1f3a3a390c31393a3a1139320931393a3a1f3932093d3b213d293b393d31392917391f3a3a3916314a391f39343139391739171f3b3129311f392a39333f113939291c393a191039333f1139392922393b19112939313931340d0f3539310f3a3a1339320a311f3913393b39393139314a3917393b3139391f392c213b1139311f393d3029392f171f39013939291d393a19113939291c403a19113939291c4c3a19103c20392b3939291b393a1910392a311f3d1f392a392c3d390f1f393b393a292939293b01313b361f3340392b393931393a3a3d3f174a391f0f1f393d3d39361f313131393a3a392c17393a013939291b2d39371f393f3948393b293b393929211f3b191139392921393b191039002a29483931393917390a0f3a31393d293b2b393b1913213d293b393a3d3913103901393a31393d293b2d3d3a1c3a393531393d1f392a392c3d390f1f393b393c31393e3a393a3934311f3209361f334039290b1f393d3f31391517293001393929291c0931393a3a3a15171f39113939291a0f3a1911393934393c1e392b393934393c1d392b3939291c393a19113939292a3a0931393a3a3c3f171f393d3d3119113939291d393a19103c2f3929483931393a3a113932093d3b31193c393d343b0f323931393a3a48393e093d39143e3c29391f393b48393a482d36393b393933393135311f351f393d3d2919150c3a160f3e333c29391f393b393c29292a09361f31353139351f393b1f3b3b3c213b39390b1f3a2b393b31393917390a0f3a313929290029314c391f391f393d3029392f171f393d3d29191139393339313531392929342b393929211f3b191139392921393b191039153a3d391f3a3b393d3339313929293201361f31393b0139393339333139113d3b31393d293b10171f393d3029392f17293b10171f393d3f2939151713393b393b3b4d313c39293e57310f3a3a1339320a311f3913393b39393139314a3917393b3139391f392c213b1139311f39003a1b3129211f393d3029392f171f39013939291e403a19103b19392b3939291b393a1910392a311f3d1f392a392c3d390f1f393b393a292939293b01313b361f3340392b393931393a3a3d3f174a391f0f1f393d3d39361f31313948393b293b393929211f3b191139392921393b191039002a29483931393917390a0f3a31393d293b2b393b1913213d293b393a3d3913103901393a31393d293b2d3d3a1c3a393531393d1f392a392c3d390f1f393b393c31393e3a393a3934311f3209361f334039290b1f393d3f31391517293001393f3139311f393d3f40392f171f393d3d311911393934393c57392b3939291c393a19113939292a3a0931393a3a3c3f083a4c3639393d31483a3c29391f393d3f31391517293110173539290b343913391f393d3029392f17293b2d2d36393b393933393135311f351f393d3d2919150c3a160f3e333c29391f393b393c29292a09361f31353139351f393b1f3b3b3c213b39390b1f3a2b393b31393917390a0f3a3139291f3a103c3f39121b3c393b3939291c393a19113939292a3a0931393917391f0f1f3a3a390c31393a3a1139320931393a3a1f3932093d3b213d293b393d31392917391f3a3a3916314a391f39343139391739171f3b3129311f392a39333f113939291c393a191039333f1139392922393b19112939313931343229391f393b1f3b3a3a171f393b39393339313d291a2e571b2c213b3a3b393931393917391f2a3a3b30314a391f291f39390d2b390f3d3a1e0135392922393b190131393239391f393b393b361f33393911393931393d4a39171f3b31393529203b3d3f31393a3a48393e093139351f393d3057392f1729151f3d1f393d3039392f17293d2b313a31393d293d0039353139391f392d3d393d390b113912213b0e393d1f393b3939292a3a09361f313531393a3a393c213b3b3936393913391f393d3f313915171f393d3f3939151729352d2d36393b393933393340392b393a3d39131f3915083f3a3d391f392a39323129351f392b393a3d39143a392029293c3b393a31393d293d0039353139391f3901393a292939293b01313b1912213b0e393d3431393a3a113932093d3a401f3a11393b31393a3a0e393e0931393a3a3b3f171f393b0f39570f3d1f393d3029392f171f393d3d291911393929290009291d3c29393a3b363929483931393a3a113932093d3b31193c393d343b0f323931393a3a48393e093d39143e3c29391f393b1f3b3c3b313c31393a3a3d3f080a2922403a2b1f48393139391f39483d3d1912213b3c3b393c31393917391f1f4a391f393431392d1f3911393933393340392b393d313921290129314f3929391f393d3029392f171f393d3d29191139393339313531392929342b393929211f3b191139392921393b191039153a3d391f3a3b393d3339313929293201361f31393b0139393339333139113d3b31393d293b10171f393d3029392f17293b10171f393d3f2939151713393b393b3b4d313c39293e57310f3a3a1339320a311f3913393b39393139314a3917393b3139391f392c213b1139311f39003a1b3129211f393d3029392f171f39013939291e403a19103b19392b3939291b393a1910392a311f3d1f392a392c3d390f1f393b393a292939293b01313b361f3340392b393931393a3a3d3f174a391f0f1f393d3d39361f31313948393b293b393929211f3b191139392921393b191039002a29483931393917390a0f3a31393d293b2b393b1913213d293b393a3d3913103901393a31393d293b2d3d3a1c3a393531393d1f392a392c3d390f1f393b393c31393e3a393a3934311f3209361f334039290b1f393d3f31391517293001393f3139311f393d3f40392f171f393d3d311911393934393c57392b3939291c393a19113939292a3a0931393a3a3c3f083a4c3639393d31483a3c29391f393d3f31391517293110173539290b343913391f393d3029392f17293b2d2d36393b393933393135311f351f393d3d2919150c3a160f3e333c29391f393b393c29292a09361f31353139351f393b1f3b3b3c213b39390b1f3a2b393b31393917390a0f3a3139291f3a103c3339121b3c393b3939291c393a19113939292a3a0931393917391f0f1f3a3a390c31393a3a1139320931393a3a1f3932093d3b213d293b393d31392917391f3a3a3916314a391f39343139391739171f3b3129311f392a39333f113939291c393a191039333f1139392922393b1911293931393134131f353a39204012393d3f2939150b11393b29393139391f3912213b1f39311f393b393a361f33313911393c3d3e0f103a113939291c393a1911393c31393a3a570f3e093d32173a31393a3a0f393e093d3a3d11392b393a3d3a35293c3b393931393e3a393a3934311f314a390a0f3a3139391f393d3d291912213b3c3b39392929394a391f1f3c2939323931393a3a1139320931393a3a1f3932093d3c3e3e3c29391f393b1f3b0e393d1f392a3932313932092a1f2a3931393d293b2b3d3c31393d1f392a393229293e483d390f1f392b393a3d3a35293c3b39393139351f392d3d393d390b113915174a390a0f3a3b01393929211f3b1910391e3139211f39113939291a0f3a19113939292910093139390b3928403a31393a3a48393e0931393a3a3d3f171f393d3d351913301f4839392912293d36393b393929211f3b191039113f1f0f3a3b0f0b3b293b3939291c393a191039322a29483931393917391f0f1139013939292a3a0919483f1e392d1736393b39393139363a3a3f174a391f0f1f3901393933393131361f31393b01393e3139311f393b1f3b0e393d1f3a3b393f3d350b3b361f313931393a3a48393e0931393a3a3d3f171f393b1f3b3c3b393d3d3b481f393d3f313915171f393d3f3939151729321f2a393139291f3a3b1f3b393d3d3b1b12213b39390b1f393b1f3b113931103911393a3d39171931393a3a48393e093d39171931393a3a133932093239391f391f0e2e3a293d311e013539291c393a1901313f3239391f3900392231291b1f3a11393b361f3340392b393f31391b4a390a1f3a291a1d08150d2240291d164b400e324d31392e3a3d3d211a291d164b400e324d3139363a313d211a31290b1f3a133d1f19113d3539483a3a010e1e15410f3110391f36393913393b293932393913393b293932393913393b293b393b291a0e2c091a3a412c392a393139323a1f0b3717121600353a3d391f3913301653311d4d1d3d21363911393b291c2b4b530b3a4c2a1f483e3139323a4e1e1e01401614303c29083a1f40371712160f1039133d3931291b353b1f0b1f39133f3c0f4e11371e3d21363a01393b29214e3e0b0d2a402a1f483e3139323a0c4e15194d1600303c29131f3a11393f29191f3a1911313b361f3439392b393f33393439392a171f3911393f3339334c392a3a2d3f133f37101a34131e3b3d3b292939103b390f323b01393b2921153b0c374c3b2b1f483a3139323a0e3637080b30493f3c29311f3913302b4c4f012b391321363a2b393b291d2f575332403b2a0f48313139223a09393e093d39171931392117390b393a3f1f0c3a111733484f1f3110391f0f303b01393b291b0a4b4d0e1b3b2a0f2a393139323a080b1e2e081f2a3f3c29211f39133f331f0a2c0d39131b363a01393f3339334c392a39293139223a48393e09323939283b01393f3139174a390b293a291c2b4b530b3a4c291a022c091a3a4131392117390b293a313936313f013d3b3c392134291b2b3a392b393e361f31393139391f392b393d31392117390a1f3a313935294d1f3d1f3b013d3b3c392d3431392117390a1f3a31392117390b293a1911393f33393340392b393f3339343d392f170c3939394e3939391f3a111f3b00393e3a392f17103b1f0f3e3b01393f31391f4a390b1f3a291c34120e32313b291d2f575332403b31392117390b1f3a31392e313f013d3b3c3935343139223a3f3f17113c2a3c3539113d3b31390f290f1f31103b3b393f29291009311f131f3a133f17392f171f3a111f3b01393e3a392029290f39311f3b3b39323d34483b313913293b10171f3c2b39323d28483b31392117390b1f3a29193b3a392f171f3a111f3b3b3c1739393b393b3d31173a3f11393f33393431392d3d3a19113d3129214e3e0b0d2a4031293135391f0b1f3a113930361f3435392d3f1500412f153a3d301653311d4d1d3b393f33393435392b393e2b3a0b10391f0f3a3b01393f33393435392d3f1f1f293e0931392117390a1f3a31392117390b0f3a19114839393c1739393b393f33393435392d3d3a19113d302921283c09314d403129313539390b393b0f39344f393d3a39204012393d3d1f1901313f3239391f3a11393a361f31213913391f39011f3b3a3d3d3a1b2d2d3d293b393f2920404a391f391f3a11393931393d1f3911393c3139291f3a11393933393139333931293d292d39311f3d4a39101f3b293932393913391f3a111f3b39394c3b39393d3b3b01393e2929394e39393935390f0b1f3a2d3d3a371f39393c39313431392e3a392c1739393b393d2929294a391f393539290b1f3a11393c3d39401f3a10390131293d1f3a1039373139211f3900392831392129121f3d10393b393f3d394c1f3a1139393d3d0b1f3a133d351b1139393d3d171f3a2b393f292a1009311f351f3911393f3139351f392b393d29293d290c393d1f3a13214e3939391f3a111f3b3f3b3d3a3948391f39483d3519003933311f351f3a131b3639390b343139223a313f1713393b393a3b48393a3920413a393b3d39394b401f392b393b2a1f2a573139393e31393d17391f391f393d3d3d1c3f1711393d3f391f313b391e4b3d1139483d211c11393c1b1139391b013d3931393e3a3a3f171039290f3a3b0f0b343f0f3912393d3d291901313a3239391f393b393b31393529021f311f392d3d29191129393b49293a3916403b293936393139351f3a3d1b3d293d3e573129391f392b393b2a1f483b31393d17391f39113a2b393c33393139311f22313c29311f3a2b393f2b1f2a3929293d283a2b393c29292a093129351f392d3d3d19113d3a3c39313439390b3431393d1f39131b1039390b1f39390c3939293e57292939103939365731393d1f3913213d1e0139393a2b393a3439393931393a3a3a302a09311f3a3a1f313b391f304100311f363a3f30211f394b311f39303510393b393a29293e0931293d3539290b343b571b3a3929365731393a3e3a3d3a3a0f313d3a3339313931293912393d3d1f1901313d32393a3a1f313d3a313939290e1f31113a292a573139291f39011339393c1b3c3d3b393d3139350839391f4b39001f1f391f2a393948391f3a2b393d292a3a0931392929080f3d1f39133d293139323a3d3d131a3129363a393b3d393948391f393b393a1911313f3139210c3939391f393b393d191148393930354e3939391f393d3d3a19113139313936303c2939343139311f394a0b103911393a3139360931293e3a3c013d393948393b293b3939311f351f3a3d3d2919151711393b39393429393929293e09311f394e3939391f393d305739203d36393b393c29293e0a3129391f390f483a3b0f0b1f391f48393b0f0b1f3a2a39292929393e292040343f11393d292b3a09323939283b483f1f1f293e3a00313d3a333931393139351f392b393b3d37213a3b000b39310f3a3a3d3f0b11392b29393139391f3911393c3d28353b31393e3a3d3f171339390c1d3929365731393d1f3a3b393c194a17103a2932393948391f3901393d2a0f2a3929204010393b393a3139323f3c29311f392b0f39393b313f3139350b393939113a481f363911393f31391c333a3d3a3a3929403e3139363a392f17103901393a29293e0931293d35391f0b393b0f0b1f3911393e2a013d393b0139393b4e133a39292a57313939173914291139011f3b3a3b313e313939173910291f393b1f3b303b313f1901313d3139291f3a2d0b1a311f293d293b393c333931393139211f3a3a3a3b3f11393c31393517391f391f3a3f174a391f391f3901393c3339313d31392a0a311f2d4a391f293431393517391f39103a3b393e3139311f3911393e2b000b113a292a393139291f392b393e3d3d31193139351f39011f3b393b393e1911313d361f31393139351f39011f3b3a3b393e1902213b3a390b1f3a3d3d39371f39393139391f393b1f3b343b313a361f311b3139391f392c213b3e3b393b3b01133931393d1f392b1f3b393d3d3019133e4c1b2b313a292a3a09361f31393139391f392b133c393b393a332935313d36483a372935393b4f29213900325739200f3b1e113539291a393d190131343239391f3b483d39361f310b3913391f391a48113f2d31392d0f2a3929293d103d3d304d3f113d2c31393f19311f3f41312a133539290b1f3a3d3f393d303d3d293d3d3a312a3a3a573a17103d0f0f3a3b4830573f13304e3f11393d29293e003110391a312a351f3d3d2d103e390b3b293b392229173b391f313b391f313c4c570f3b3c29173b391f313b391f313c4c570f3a2a3a3d391f393d3d1f3139311f3d3d3d3c1911313c31392a3a5757414f1b2a390d3139391f3d0139293d3b171f393d3030303d3f393011393e292b3a00311f2d1a291d171b2922211d31392d1a31393d1f392f311a2929352933113939292b391f3911393c31392a3a1f3539391b00390d3139311f3901393b313936333f013d323c393d3431390c3a3d3f17103d2932393916403b293b393a31390c3a343f17294b293111392b393a173b313a2a3939393939393939393939211f2a3931390b1f3b011f3b343b313f29293e0a361f310b31392e3a313031113c133010393d1b3639290f3c3b01393e292b3a01311f4d3a4c293a3f3c29311f3b011f3b343b3d332929211f3901393c29293a313f0f0f3a3b0139343139223a302f0b113b12213b343b393a2a3939393939393939343a3a17113d3a2929211f3901393c29293a313f0f0b103c3b3934292c3a0931390c3a483932093139083a393d1f1a311f48103a0f363931391b3b1e01393a2a3939393939393939283a3a2101393a2a393939393939393939393922163d3d293b393a090f0f3a3b483d393b01313c361f313931391c3a3a3f17103a01393a3139374c172d293939393939221b4b3629193111392d29393939393939393939393f313639390b3b293b393329293a353a3d391f3b113d3c31391b103a11393631291f3539290b1f3c2b3d3131391710390f36393139363a302b393c292a49313f013d3c3913391f3a483d3d1901313f313910323c29391f394e48103f133139312a133c293b393f313a143b57575757570f533c31392149391f391f3f1722403110131f3f2d333914370e1b394c39113f2d333914370e1b394b4d41281f31393139223a3a3f0b113a1139312c0f48393b0139220801313f2a2948393139103a3a3f0b113b3b393f361f31393b0f363931391f1f3a01313f2b292a393139223a3a3f0b113a011f3b393d2d3639290b3431390b1f3b011f3b343b393c1901313c361f310b313921103a01393c29293a333c2939343b013935292a14092929140d31291b1f39483d392b392a3931391c3a392f17103d113937291d21392a113d2e39483a3a393b393c1901313c2929131f39483d322b3a0b103b2932393139211f3b3d0b3d293d3f3914370e1b390139321c113d2f2920401f3b202a3a1e4b35103c483d393129351f3b3b3d303948391f3a01393c31391b17391f39113e0139321c15174a391f391f3c0139201b2b392f1a3b3d3c31391c3a3a3f17113a01393f2b2948393b0139313339313931291b1f39482d36392b393f3139354a391f391f3a133d3d19113d3f3c393d3431391f17391f39103a0f0b1f3b0139343339310b31391409311f354a39110f1f3c2b393131391c3e2929324819113131313a2d1a311f1b1f3d133d3b1c3f171f3a11393f31391c0a29293249313a32333f013d3f3139363a393d1f3639390b3429293910390f32393139211f3b3d4836393b39363139100a292932492929140b3129363a3b113d3031391f17391f39113b2d3d332b2948393948391f39483d3a19113d3c3139131f3a483d331a3b31302c0f48393b0f0b1f3c3d3d393139351f3c133015393d211a19013937291d1b392a11393529293a301b2f0b113a01393f3139490a292932492929140b2929140a2b392a3929292a3a0839311f3b133d392b3a0b1f3b4a171f3a483f3901393a09311f143a3b2f48113c483d3b1c3f083a483a410a3129083a3b113d303139131f3c483d321a3f0b113b2d3d302c392a393948391f3a483d331a3b3d303139143a392f17113b2d3d312a0f48393b0f0b3b293b3933333931393110311f3d1139301a11312e31391c0b190131322a2b393329292a09311f401f3a1322003c29393b293b392e29293e002a292a392a39393939393939393d3a3c31293d1f3a483f3914370e1b39481b1f3b3b39332c4b3136392b393329292a0a3429393929293e002a29483a3b48293a3939393939393a3929013d3a3b4829393939393939393c1f284829393939393939393c0f284829393939393939393c4c2801393f3139413f3f4829393939393939393c4c2801393231391c3a392021113c48211a3139131f3c48131a312a1f3b293b392d3c29391f3d014839393d3d0c2a0f4839313a1119312a1f1f3922171039290b1f3b11392b3139140a311f134a391f391f392b3921173b393a212948393139171f3a0139321911313c361f31393139363a1f322c0a4b3936283a3d393c293b39332929394a391f391f3b3b393329292a0a311f08343a3d391f3b3d3d3d190131312929394a391f39343139171f3b111f3b393d3d3a1911313c361f31393139363a574d280a4b3936343c2939343b0139363139100a292932492929140b3129363a3b113d3031391f17391f39113b2d3d332b2948393948391f39483d3a19113d3c3139131f3a483d331a3b31302c0f48393b0f0b1f3b133d3d191131303139211f3a1139302b000b103a1f0b3c293b393f311f1b1f3b3d48113b2d2d3d293b393029292a0a311f2117391f3a3e3c293d343b0f323931394d3a4d0f3a303a3d391f3a3d3d311b2b3d333c393d343139363a1e4b363a1e01393529293d1f3c3a0b113a11393c2b11393c29200c331b2b31333f01393f19113d352920413a1e1139333f01393e19113d3e31392a3a3b303d113b1f483929201b103a1f323931391336393b393029292a0a33393139311f4d3e3c293a3a3b113d32292939103a1139372929080f3c29393c293b393f311f083a392f17103a1139373139143a3b150f113b203a3e3c2939343139083a1e4b35103a1f0b1f3a01393619483d3b1c2d3d321a3b3d3231392e3a204b3e3a001f3a3f3a3d3a3a393b3d3331390f1f3a11393219133d321901313f2929391f3a133d392b100b113a11393f313900333f013d353c393d34292939103b1139353139351f3b2f171f3a15083a3b2f0b113a133d393139223a393d171a311f211f3a1139352b100b103c390c3a1e013d323139003a571e5757570f1c3a570e5757570f1b1f3b1139351b11313f3f481736392b39353139223a393d1b113d15083a392f17103c1f323931392e3a204b3d113e3d303f393d213d293b393c291e57575757403031394d0a2b1f483c3139363a393b393c29293a333f013d3f3c393d34313a3d1f3901393c292a4149311f2209313922020a2b392a3d31403a311f220a29293e353a3d393c293b393f29293e0a311f223a353c1739393b392a3139220a292932313c2939343b01393f2929320a311f401f3a2c1739393b393f29293e0a292b493a3301393c29293a313f021739393b392a3139410a311f223a57575757570f1b1f3c150c333c2931343139211f3c15171139013929291e5757575740301b481736392b3939292b391f3911393c313a3a09311f2d1f3a3a390d3139391f3d0139293d3b171f393d3d0f3139311f3a2b393d29213b393a303529341f32393913393b293b392d291b21392a1f2a3931390c3a3d3f17113a133d311b113d3c3139223a3b2031103b11393631391f1f3b3b39362b000b113b2b3d313948391f3b3c2d3b393b39333d31403a3129213b293b3931313914303a3d391f3a113934292a3a092c29483a3948391f3a133d3a1901313f292c394e3939391f3a113934292a3a092b0f48393b0f0f3a3b01393f313908303c29391f3b483d0f371f3921313935103a1f0b1f393b393f3139171f3a150b293311393129292a09311f1f1f3c2d483639390c3a393b3d3f313a323e3c29311f393d305330133d3a3d3b171f3c3d3d392c3b3930313910361b1f483a3948391f3b3c2d3b393b39333d31403a311f211f3b483d2919130b3d293936393139223a392f0b113a133d0f371f39393139211f3b483d2919130b3639390b343139391f3a1139352929131f3c3d3d322b3a0b29331139352929140a3129211f3b3d3d3d1911313131391c283c29351f3c3d3d322b113d3c313921103c3b393c3c2939343c3931343913391f3c3d3d392b39483931391b1f3b3d3d3d19113930313910343f013d3231390c3a3d3f171139483d321b113d363139363a3b3031103901393131291b3c293b393631391b49391f391f3c2a3b28392b313f2a1f2a3931390c3a353c17393f3b393c312921343913391f3a0139312a0f2a393139211f3b483d2919134836392936393139223a392f0b113a133d0f371f39393139211f3b483d2919130b3639390b3539290b1f393b393f29293d293311393f29293e093129223a393b393529293a353139171a3c29391f393d305330133d3a3d3b17343139391f3a1139363139220a311f211f3c3b393f313900313f00390931390f1f3a150b103c3b393029292a09311f1b1f3b2d4036392b393529293a373c2939343b013939292c391f3c3d3d2b19133d2b29293929341139393139401f3d2b3928190039093c39313431390f103a1f0b1f393d3d0f3139223a3b2f083a3b2d3d393d3b4c3431393a3a313b393b31392d1f3a3d3f390f393a023d3b4c1f3911393e3139311f3a2d171a3129133539290b1f3d01393e292a0848292a41492929140019113d353913391f39483d342b0f483929290f1f394a0b103a132939393939393939390f293b3d213948391f3f3d2939393939393939390f293331103f3b393f29293e0a311f213639390b1f3c3b4839393d3d0c2a1f2a39313a1f1f3922171f3f333f1f15113d3a3c393d3431393d1f3f33391f3f333d1039290b1f3d2b39343339310b311f211f3a133d1e1c2b313f1911393f1b4e481f3d2a3b28392b313f2a1f2a3931390c3a353c17393c0139342929410931292134313a3a3a391631103b11393e292b3a0031291f1f3b011f3b343b3d303139223a39150b113c2b393e29294109371f39393139223a392f0c3a342d3d0a31391c3a393d1f1a371f393931392a3a3b303d103a113934292a3a0931291b3c293b3930311f2d3b1e01393a152d29393939393939393c1f292f353d293b393a091f0f3a3b483f391f313b391d390b113a483f1f3515170c3939391f3b30314e39393a3a392b393c29293a3331393d1f3a4f1d102a39393939393939393c3a391711313a2a39393939393939393939392116311f3a100c3e31392e3a392f17113a013934292a3a0919483d3a2a4b323e3a3d391f3a2d3d0d371f393a31392e3a391517103a0f0b1f392d29393939393939393939393f313639390c3a1e013d32291e4b57575740303139171f3d2b39361901313e1911313f1901393c2b39483931393a3a313b393b3139213b1e0f32393139363e3c29391f3a013934292a3a09190131312929320a313936373c29391f39483d3b191f0f3a3b01393031390c3a3d3f080a311f1f34311f1c09311f351f3a3a390d3139391f3c3b39333d3b171f393d3d0f3139311f3901393d29213b393a3035293411393931390c3a3d3f171f3b3a390931393a3a353b39303139100a29293a3a393a390d3139391f3c2b393e3d3b171f393d3d1f3139311f3901393d29213c39393035293411393b3139351f3911393c2b100b103b290b1f3b483f0f3a3f1713393b39323b49293a3916401f392b39393339322d311f3d1f392d3d393139323a1f393209311f35294b393d113a3b393a1901393c3139291a311f351f3911393b313936343f01313b3d3d31193139391f392b393c1911313c361f322d3139391f3902213b3b3b393931393d1f3915174a391f291f391f0b32393b39393d373d3a3d3a39343d0f391f393b3939333931392929000a3339313919103c1139290b2c393b393931393917391f3a3a3c3f0b17391f3a093d31173a3b0f173931393a3a3b3f0b294c1f3d343b1f391f393d3d3119003b3339290b19393b393931393d1f3911133c3b3d3d393139351f392b1f3b393b1f3b3d3a3d2f39390b32393b39393d36393a3d3a39341439313b3920403c1e11393a3339312131393d17391100343a3d391f392b393a33393121361f310b3b48325731291f3b293b393d292a1000311f2e3e31392e3a3f3d211f39483d3a2a163e013c29391f392b1f3b343b313e3a3d391f3a2b393a292b3a093d39490a0a3b3d3f3b0f32393913393b293b393c3c1f353b39393d3c3b01393d292910003a3d391f392b1f3b3c3b393a33393131194e0f103a0f0f3b3b01393a3339312131393d1739102a0a0a3b3d303c393d34313921103a0f0b1f391139301e3b313b291f3a2c3139311f3a142e013c29391f3a3d3d311b2b3d3c3913391f39143936393b393c3a3d391f392b1f3b3c3d2d36391f0b1f3a3d3d291b2d2d36393b393a333931212a29483a3b01393c3a3d391f392b393a3339313131393d17391f1f1f39091c0931393d1739110f29150f3d3431392a3a3d303d3d293b393a31393d173910291f392b1f3b303a3c4a3911393a313933163d282d3b3b01393b31291f343139391f3b3a3b4f39290d3c391f3d321e013539292a3a0a311f35133939325731393e3a1e003a1d2a292a3931393917391f0f103a3b39393339313131292d1f393b1f3b3f3b39393339311b2a1f2a392920401f393b4839353d3d291b2d2d363910171f393b1f3b3f3b3d3f31393917391029103a0139393339310b31291f1f393b1f3b3e3b3d3231393a3a313f171139133d393d333d3a3139311f3910392c3d390f1f393b393b3d3948113b11393b3d39131f3b151729411f311f393b393f31391c0a3d282d3b3139391f393b1f3b3e3b39313139140a1912213b34390b1f390139393339312129293e09361f31353139391f39483d3519113939292b00093d302117391f394a39110f1f393b4839353d3d311b292a393139391f393d3d1f19103936311f311f3911393d31392e0a191139393339310b3d320b3a3b01393931393d2916393d29571f313539290b1f392a3c01391f0b10393b393c292a3a093239391f39390d1f39293d3a1e0139393339312131393917391100343a3d391f393b393933393121361f310b3b0f323931393917391f1f1f393b1f3b3c3d4036393b393a29204029201f2a393139391f393b1f3b3b3b39393339313529293e0a3139391739110f29150f3d1f392a3c01391f40343139390c393c3a3a3d303e3e3a3d391f392a3b1b392b39393339313529293e0a343939393d3e4d3e3c293d343139391f393b1f3b3b3b39393339313529293e0a3139391739110f29150f3d1f392a3b1b392b3d3b31393917391f0f1f39121739393b393a3c0f0c3a1e0f0c13393b39393339312131393917391100343a3d391f393b393933393121361f310b3b0f32393139390c393c3a3a3b303e3e3c29391f393b1f3b3d3b39393339310b2b292a393139391f393b1f3b3b3b3939333931353139391739110f29150f3d3431393917391f0f1f393b1f3b3d3d4036393b393933393135343939393d3f2d283b483e573b0f1b3931393917391f1f343d0f391f393b3939333931392929000a3339313919103c1239290b33393b39392929100a3d37353a3b0035393139391f393b1f3b393d3d3519011f3b393f17290d393d343b1f391f393d3d3119003b4c39290b2c393b393931393917391f3a3a3c3f0b17391f3a093d28133b3b0035393139391f393b1f3b393d3d3519011f3b393f17294d393d343b293a3a01313d3a3d3917193b0035393139391f393b1f3b393d3d3519011f3b393f1729100f35343d0f391f393b3939333931392929000a3339313919103c1439290d0c39293d3d1e013539292a3a0a311f2d13393936393913391f3911393d2c3948393139391739101f11390139393339311b311f22283a3d391f393b393a343939393d3f2d1f393b1f3b393b1f3b363a3d3b393d3e572a1f483a31392a3a392f17103a3b393a29293e0931293d3e31392d1f3a11393c1902213b3c3b393e3139311f3a3f0b4a391f1f1f3a2d3d351911393e292910093d34173a3129351f393b1f3b3f3b393a31393517391f391139003a2e3139391f39013939333931211912213b3f3b393c31392a093129291f392b393c19113d3a3b0f0f3a3b0f0b1f3a2d3d2919112939313929343b573211311f3a3a1f391f340b012f14214a283f103000405332144b1c534e361d4b0e4a3c1e3401574f490a194119001a4a571d2e35203e132e390f353f393c39293d3b092f1c160216480a33492122570e4f16210c1e200c1d190a09484a191c161a0b2a1b0a33124d4a3b1f104139011b1532104b49415310204e530d570a2f2e1501012d1c30121f0e0f40280e0b0a19493a22412c2d0b574a11171457090a4e413e0e4d011b31571d13083e372f1b1634132f403c391540334b0c4b2d1b571e4b100a08372c282f1715321300193612220b292c40571e1f344b41572e280235013c203c294819282b14082e3d484d1d202a3b283000532236001b1d32024a36110a2d023d002112402e3e2b17353a3929312d0b1e30142f2d123148221d0f40371c333a1f2135333f2f14121b283a292d330c220919340f13303a0f4c4a3d103113154c3b393f024b114c0c40154e530e36192b1b162c0b4a010b16531e1c2020093f0f13323d084e3c1f004948343b002134101719363b481a3f0219011a154f1b4f1408190c280d1f173e0e4a2d1433132c2c0b4f1c15302f490a1e370b4f36411d0113082d124f124c4149003401411d144c2b3d3d572e2c2d4e2217481c3f4d39393939393b020c4f1b3e1f313b3a39305702404c4011000b20160c2f490d4a0e150809493d1a34014c4b220e0a4d162b02134d1b0c4d332b082c2d2c3d01214e3e10210b3d0a28024c2e0a48363b4f330d570e001d2f090913402f53570e0c002d363c100c1c362c22082e3502361514312f3e3d1b413e2a211729531e16083a1f313b3a313e571e574f0f2d3e3b1f2a3c0f401d34091e160120120933103440493e2a170e4e1217494b39293d3b39111753283a194a2b13125340162248102b3c1f4c1b392c49411e301e0e3400120f1a194a1c4b20194a094112312b3e3b353a3929313a0a5757532d37405728411a1c342b0e48023602213d2d3c390f21362a352c3211570b4f3528102049535317081d20361b003d2a311f4d3e001b0d2e402c3d1357331608492f3b1e164f402a0248411d09001322351216202e4a4e3300132235082e021b53191f213f3c3915313f3a3f1c3e282c4d4d574b360112221131112a304c0933142b0a1332394f1f4c11313b40083f2a170f084f0d4f30484f114c19020f2d3e3b104d4b0c4e164c144d1d0e3a48343b00224a4a410d0c37533c1f4a49210135152a3737120848301f17333e360c322b2231333a1f21351a3b29132b372a1b2034101c0f0b331e1a0c282c0e1d530b0a3d37152115343d09323f2a37192b2e142c3d4b4d372c2c114b144d401234164d412e3c013511342f2c1b4b1a0a1c0c1a1c09351221483a2236202e0b1c32372c08021f091914320c3f000b4a28082f2e090f3041282c02321d0a09024e4114221b09371d160a484e194e0d2a001f313b3a3c2e0d0a080e1130104c403f4014322d080134114d1b323a0f1b37283f1508141e300c342a022d1b1a3f140128174e350c404b1c4a1016302a484e3b3d1e30024f1c2b480d2f4b344a4121211934110f4a3e1117172813303a0f4c3d31532816023d0c1a2e0009152215023610312b32393e390f353f391e1a4a410031373c100112212f303b20022d49190e14202e4e4f290d1a14081321193f3e49123a0f221316302a484e0d224e1d320212104c1c132c5328120a0b4d11213302352a3d2b334f192f162b1b36162209211537121f1d16143229020c080d1a342b311d3012012b104c1b2e31371608012d163702171e572e2e2f091d3b1f172d300a1e4b4e2f2812310f3c53333f102f213b32112913203c2948194a0a5357222c30154d0c1e3f2913333d0d3f10174835363a2921330f152213081c01480c2f103d283c004f340b343a4f573e2a2d0936194f0d4a484e3e10210b2d331e482d2e361429204f3c083a1b1914144c16370b0c0a09020e002a22481e0949124e0a32353c4c480c2e5312391f4115494a0a223e4a02311f142c39344957361e142c411e34330b2f392a3c2d15124e36110c2d14190b1c4d163f4f171415394f092a1d30395714483b1c2b573c3d0e3a351f1937202a174b3f531c360a4d495328394d2f1b1310200a1d154a574a14142b142b4a3c0e0c2c2c31202a21332f161f2b2d2c3101214d09111b32491d301537413f0b532f32161c1b1a13160c1357100e101d0c11283a150a3b3c320c3c0a371e2a10334b4a373b352a0a14213c362a14482e572d4a341f1c4a2b0010334d0a0d00011f1f1e4e2d330f124d2f3f10311b3a16412a2153301a364e2d0c57104f2d11282c1b4e0e1139130c012e4c401e4c01090a2e2f213033370d0139403349344d084f002119143b3c1e2c40171b17353433140e01374e191f353b2031312f4f2b0b1b024c092b0c30151640283130404e3011192d4f3641360814491a4c3e3a10411136363f3357091a3d162e350d36333a2e404e31014c21173e1c1d0e4a083c160b1f0f0d094f4a3a393a08410020143d291a0a4b4d11113d5328291a1c14094c3e280c493f0e1d22360c21492d13292e1c00303e0e4939213d57002e29213b2c4f153a15204e1a4b2f023d363911201d1d4a2f1d41290d110f11310d323a02101a3f1d1e1a4f0b104d2a0f0840171d13282916023230172c4c393939393931373f1f3914314f2b0b010a30392a30134d012f15024f570f4f412e12113e3c004f2e0a124816372b484a223613283b113f15203f122a2e3e0d1a37114c4a32343e163b1f0f284d491d2c48081a0d0c324e2a15000c28001b3b3917113c1b212f14341c49172f3f10311b3b0a092c4c0d2d0917353a3c4c3b3140302a1b1a3d1f0b363b294e0c004c0e010d19114a341b110830102b3e3f1e3e202c391c490a4f0e1c151d4f41213053121601213a414f02491b14023e374a223d36304f4f2f4b2108294c0e1b001128341928020c0c1528004d3412334b3c30203d312e12291339111400351f3d1b193d1e2b2a33101e1f410d41312a350e150d1a193d0800480b0e16104b023534341b4f3e333f3c1c3c120f201c0b3e0a350a151a140f091e0831143a3d112237143000310240093a175740333c213430492f4f4d3902310b1c372b211e3a482c122257093433123c2134493212281f1e2f1533364d4e082b19370c4109130e4e48574d32484e34394a2b1d3e3b1a023e4109211322532e35312c121e1a170d361129200e1b4d340e2f0e0f4c33531f3e4a1e1e3228291919130c492f53023d112028374d150b01331c413f3a3a0d214d02171d4f0b4f4a0f144c320b4b483f3e140d391a1d194f3311192c4c36141a0820151e0d1a57091f12280e3b30154e3a200e4a220e160d0b4c4a1a480a2d3b2257094916010f33195301083c3d003102400935322b14000b3a1517122d4b0e3d4d48080b093b57343c291337392e4a331b022b081f3d401e1e194f3d3d372d3549573457192a3e4c4b2f2c2022360b37413c2e3d4a090236403d140d2c120c1c3f1d3f4c10092c341f1e34353e572d2f2e3f3a37081d162e484912393e021c311e4e34133d345349171c224f362b480c0d2b354921294e2a363049154a35211c1d191d1f0110364c4c2d533e1532283a280a4f111d0802122032211a1e0c4d2a021028343e301d14161e48080f571b57322e1d1b4c2d3f34404b004b2809021e1c2c2f4e0a4120002a0e281c533f4a482a4c1f1e370e01124f3d1934130b363b294c20483b120f16343c302a2135321d334011481340333d3f2e3c1e410039191f4d4b0a35353b3202130c3611290f2e221321212c341d4b3b4a350c2e48203f003129141d4c483e3132190c2d0f36092d4c0e483b121617300249570c404c02153b1501575710022b3729482c3d4b0d16342e300d2d35091a3b31024b0d2c322d34290e0a3c2c1f1f0d172f21174a2b2b011c140d112b2f4a34482b2e0153282213101511213e0c2b132035001c221a192b1a303a312d284b0c0d1c081d3e2d2220084c4a1c10323c21090f3b350e36353341532a213a1a11022a291a29343a4e2801124028390b3f0e0e29353a3d4c080a37083d2a292d41164b370920400b573740342c151b4d190b1c3b34160a2c2f3e4c0e134b4e3a00494b4a4d30402a0800302b163e112f534b211f4e093f344c1a573e21532b401a2b1d2b3b194a403c531d354919413a571c093c37313a401b000b2a31292f2b1d394f3e411f2d2053083f1a2e333c2b4b141d08532c0122020e1737394f2c194c09411a3c314e4f0b401f493722212a1b0a3a304e4e1c4121154c2f132d21492d103c30483a391f29313d3b3a391f3a0b4a192f4d15192f4d081c3013392a152e111b162e101b1613392b153e0d1c2f3e011d293a331c2f004d393e2a171c203202223f3e4d393e2a4922203613212013392e4a2e131a152e02223f3e4d393e36101c302e01223f3e4d393e36491a152a101d293a361a4a4d13212013392a163208223f3e4d393d49101d2939141a2b4014223b40141d29390c3301391f313c3a2135301f39342c3a2133023a21313c3a21342c3a4c33023a4c313c3a4c393d4d0e1c1f3a2d19302d3929202e161c203648393d41121c393a2c2120293929203a0139302214214b2a0e1b1f3a28214b2a0e21152e01393d4d0e1c152e0c21152e01393e36141b302a141a2f32141b1f3a3d222f36141a2f32141b1f3a081a4b361e21153e02222c174e214a0014212031392c2f3e01393e36141b3939142b2c17142c2c17142d0139141b393a2c1c2f4c392b162e0d39303648223c174e2220101222203a48192f410d393e411e214b1010204a1c4921203213204a3e121b202e081b152d1f223f2e48222f3648222f291f1b152e121c20320219202214313f140d19202a08212f00081d153e48192f410d393d490e1a1f3a0d212f4c392b153e0d393d08491a393a0b1a393a3a1b3032081a393a3f1b1513392c2f3e01214a1f3929202e16393f140d221f391434123a35221f39142c3f2139212f000b1a4a36101c3f4101283e2953371208101a3f000e214a3e48222b100219200814204b291f1a11131f324a4c16313f2e4c214a2e142230351f1a2f3e4c192f49491a2b3a021c203a0f1a4b3248222f291f1b4a144e22293a481b162e14393e2a4922293a15212f000222293a331c2f4d14393e1c1422393a3d222f35392a152e11393b2e10313b2e11313b2e13313b2e3137112e3637112e2c313b2e22393e3a282d481421393b2e3137112e3637112e2c393d4d3a2c1f3a292c293a3a2c293a352949413a2c3d0f392c3d3e372a0f3a322c132139290f390f352c3102363c2d4a36021f4d393d350d2e2e2a3f342c1f3921203a0f204b210139301c142114414a351f3a3a2913363d2a2d22302b3d14332b4800362c1341292d2e322c2e3e2e2f2e4910222f153e11214a2a1422151c17192f080a1a3f490d1a4b3a001b1636481c20224b1d30144e353c3d013502294936121b4c372b0b0e393b4c39333f4d491a3f0f08393e3a491b152d1f1c1514011c302e101a3b3a151c2f4d121c3f140e1a113a12212f000b222f2910393e0c172a2d0d1b09534d30011f2c483a2939393939393939393a173d2939393a39393939392d393939393f393939393a0f393939391f3939393932393939393b1f393939390b3939393935393939393c29393939394c3939393928393939393d393939393a3d393939393139393939393939393933392a3939392b393939393d0f3939392812575757574c57575757173a3d39393a29393939392e39393939393a3939393a29293939393d393939393939393939371f2a3939392f393939393e0f39393928025757575740575757574e3a3d39393a1f393939392239393939353a3939393d29293939393539393939393939393931392b39393919393939393f0f39393939293939393c4c575757571f3a3139393a0f393939391c393939394128575757572c57575753393d1f3939301f3939393a403939393a1f3d3939393c3a3139393b392b393939483d1f39392b3a313939311f2939393a483d393939393939393937292b3939391f3939393931293939393921393939393039393939311f3939393b353939393933393939393b0f393939390f3939393913393939393c1f3939393b2d393939392939393939321f393939393939393939173d293939320f3939393b1f3939393a372d4b290220494001372f32101b4a1412204a140e1b4814122c14361e352c3e12193f3e01204b2a01212f14481b4814122a2d2e3e2a293939393a1f5739393c403d3939392f3a2939393d4d2c1c3c361e20023100362f32101b4a1412204b36481b152e101a2f3249221314122c14361e352c3e12193f3e01204b2a01212f14481b4814122a2d2e3e2a29393939393c0f281f3939363a3d39393d4d2c1c3c361e20023100354a32101b4a1412204a14021c303214212f493221484d2c20023d00214a10101b1441481b153e081c30363221482e3e2a2d2d393930295739393a0f3d2939393939393939393d39393939173d29393939572c5757484d2c1c3c361e20023100354a32101b4a1412204a41021c303214212f493221484d2c20023d00214a10101b1441481b153e081c30363221482e3e2a2d2d393930295739393b4c3d2939393939393939393d39393939173d29393939572c57570f0f393939393939393939173a3d39393a31393939392c393939394128575757572c575757531f3d2939393e393939393a2d393939393d393939393939393939371f2a3939392f393939393e0f39393928025757575740575757574e3a3d39393a1f3939393922393939392c1436483549411e35123d4821153e02192f361e192f41021c303214212f493221484d2c20023d00214a10101b1441481b153e081c30363221482e3e2a2d2d391c3c4039393e392b3939393c39393939391f39393933392a3939393b393939394e3a3d393939313139393a372d4b290220494001352c2e1121203608214941021c3032081a151c111c2f223221484d2c20023d00214a10101b1441481b153e081c30363221482e3e2c14361e372f3e0b1a3f411221202a0e1b1314122a2d2e3e2a293939393a1f5739393b1f3d1f3939193a3d39393d39393939393939393939333a2939393b133939393909393939393739393939281257575740173e393939330f3939393b0f3939393c39575757570f28575757011f2d3939390c39393939341f393939280f2b39393a1f3d0f3939163a35393934392c39393c3d3d0f39394a3a353939311f2c39393a483d0f3939323a3539393a392c39393a3939393939393939393931392b39393919393939393f0f3939393c1f3939393c4c575757571f3a3139393a0f393939391c393939390f28575757403c57575753393d1f3939301f3939393a403939393a3939393939393939393933392a3939392b393939393d0f393939353c575757573957575757173a3d39393a29393939392e39393939373939393939393939393c173d2939393e1f3939393a1b3939393c31575757570128575757531f2a39393921393939393f293939393d4d2c1c3c361e20023100373f32101b4a1412204b36481b15140d224b36481b152e101a2d14122c14361e352c3e12193f3e01204b2a01212f14481b4814122a2d2e372d49404d212f000b1a4a36101c3f41012b2f363e2a2d2e3e39393939393a1f5739393c1f3d0f39391f3a31393939393939393a213e393939340f3939393c393939393a372d4b290220494001373f140e1b494111212036142a2939393928395339393a3d3e39393948202b1d393e1d1c0e2b09391b3e312857574053320f173939393a13393939394e393539393a391639393b1f101f3d39293d312839313b2f153939394c1e2d3e3f393939393c2d3939393a00393939391957575757404f4f5757532b0e575757393939393939393939393c575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575739393d3b390f293e3a1f1b313b1e575757575757575740333b0f0f363c1f40293d2a312c3e3a2d2f3e001f223f100b1b302a4c1e313b3d113157575757575757570f17343c3948373c00392a3d10352d3e2a21203f3a13193f000f1c3010401f312b31125757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757570f393a391f2930390f213e3939393939393939393931393935393c39393c393a3939390f392d393935393f39393c393a0f39390f391f393935393239393c393b1f39390f390b393935393539393c393c2939390f394c393935392839393c393d3939390f3a3d393935392b39393c393d0f39390f3a29393935392e39393c393e1f39390f3a1b393935392139393c393f2939390f3a17393935391a39393c39303939390f3a48393935391d39393c39300f39390f3939393934353a39393c3c391f39390f0f35393935353d39393c3c3a2939390f0f21393935353039393c3c3b3939390f0f13393935353339393c3c3b0f39390f0f0f393935353639393c2c3c1f39390f0f4039393535393939014f392939350f0f31393c35353c3939023c3a3939354a0f393939393c1d3d1f2b2e3939393939285757575757575757575757575757574d392f3939392d3939393929014d2e2e3d210c37393a3a4c3b48343909292f393d3f39341f0c302c3d361e29492a222d3d2d39393939392c3d361e2c142e362a2e3232290f39392c3d361e2e3d14362a293939393939392c3d361e294841352c3d3e2d2a2939392c3d361e2c2d41372a2e2a3a2d1413392c3d361e2c2d2e2c2d483e302a2e3539291c390d3b483d22393917393f2a13223939393939392d3939393939393939323939393939390b393939393939393939393a13393d2917223f2a133c3b1f1b39392939323b001f393939133f3b0f39393b0f393f3f293939393a13223f293a3a172b403431294c393939393939393939393a13393b1f48223f2a13393c293939391f39323c1f3939393913393c1f39393c1f3a3a4a01403439290f39291d1b0e3b002d2c39393939393a3539393939393b290f393939393939390f3939390f3929222d0f3b0f3d29393d3f1035390b2e3c0f3939393929283939393939391329393939393939392939393929393d302835390b3a3d1f3a3a4a02393430103d39393939393d293939393939323d1f3939393939393d1f39393d1f39393f1f3939393a17193f1f3a3a13123d343c101739393939193f1017393939393939393932393d303c35290b3a3e393a3a02023d343e2a1b39393939393e0f3939393939323e393939393939393e3939393e393a3a572c3d34392a2139292113013b01132e39393939393a2d39393939393b2a213939393939393a2139393a2139393c390035123548362c214b373c143a2913363d2a2d22393f1f3a3a0f3c2934570f3d3b39393139391f393b39393139391f393b39393139391f393c3139311f3911393b3139311f391f393b39393139391f393b39393139391f393b39393139391f393b39393139391f393b39393139391f393b39393139392f393d0f392c393a35393d0f392c393a35393d0f392c393a35393d0f392c393a35393d0f392c393a3539314a3912213b361f314a3912213b361f314a3912213b361f314a392c393a35393d0f392c393a35393d0f392c393b362d314929122e3b362d314929122e3b352d310029123e3b352d310029123e3b352d310029123e3b352d310029123e3b352d310029123e3b352d310029123e3b352d3100292c393a35393d0f392c393a35393d0f39122f3b362131491f122f3b362131491f123f3b352131001f123f3b352131001f123f3b352131001f123f3b352131001f123f3b352131001f123f3b352131001f123f3b35213d0f392c393a35393d0f393139291b394c3b0f3229301f3a3a493c0f345329353a39393939391f3939393935393939393d393939393a2939393939213939393930393939393b3939393939133939393933393939393b0f393939390f3939393936393939393c1f39393939403939393929393939393d293939393a31393939392c393939393e393939393a2d393939392f393939393e0f3939393a1f3939393922393939393f1f3939393a0b393939391b3939393930293939393a4c393939391e3939393931393939393b3d393939391139393939310f3939393b29393939391439393939321f3939393b1b39393939173939393933293939393b17393939390a3939393934393939393b48393939390d39393939340f3939393c39393939390039393939351f3939393c3539393939483939393936293939393c21393939394b3939393937393939393c13393939394e39393939370f3939393c0f393939394139393939281f3939393c403939393a393939393929293939393d313939393a3c393939392a393939393d2d3939393a3f393939392a0f3939393d1f3939393a32393939392b1f3939393d0b3939393a35393939392c293939393d4c3939393a28393939392d393939393e3d3939393a2b393939392d0f3939393e293939393a2e393939392e1f3939393e1b3939393a21393939392f293939393e173939393a1a3939393920393939393e483939393a1d39393939200f3939393f393939393a3a39393939291f3939393d353939393a3d393939392a293939393d213939393a30393939392b393939393d133939393a33393939392b0f3939393d0f3939393a36393939392c1f3939393d403939393a29393939392d293939393e313939393a2c393939392e393939393e2d3939393a2f393939392e0f3939393e1f3939393a22393939392f1f393939300b3939393a40393939391e29393939304c3939393a57393d30290039393439153913393d3013013939345329353a39393939391f3939393935393939393d393939393a2939393939213939393930393939393b3939393939133939393933393939393b0f393939390f3939393936393939393c1f39393939403939393929393939393d293939393a31393939392c393939393e393939393a2d393939392f393939393e0f3939393a1f3939393922393939393f1f3939393a0b393939391b3939393930293939393a4c393939391e3939393931393939393b3d393939391139393939310f3939393b29393939391439393939321f3939393b1b39393939173939393933293939393b17393939390a3939393934393939393b48393939390d39393939340f3939393c39393939390039393939351f3939393c3539393939483939393936293939393c21393939394b3939393937393939393c13393939394e39393939370f3939393c0f393939394139393939281f3939393c403939393a393939393921293939393f313939393a123939393922393939393f2d3939393a1539393939220f3939393f1f3939393a0839393939191f3939393f0b3939393a0b393939391a293939393f4c3939393a0e393939391b39393939303d3939393a01393939391b0f39393930293939393a49393939391c1f393939301b3939393a4c393939391d2939393930173939393a1a3939393920393939393e483939393a1d39393939200f3939393f393939393a1039393939211f3939393f353939393a133939393922293939393f213939393a163939393919393939393f133939393a0939393939190f3939393f0f3939393a0c393939391a1f3939393f403939393a0f393939391b2939393930313939393a02393939391c39393939302d3939393a4a393939391c0f393939301f3939393a4d393939391d1f393939300b3939393a40393939391e29393939304c3939393a57393d301f483939340f293d0f352c3102363c2d4a36021f4d212f3212223f2e15292d323c2a3d2e3f1d3e1f0a34203a29192d140d2c1f391439393939393939141b393939393939142b2c17142c2c17142d0139141b3b2e3137112e363939393932293939393f48393939390e3939393932293939393f29393939390e39393939322939393930133939393914393939392f293939393b483939393914393939391a293939393b4839393939143939393922393939393b2d3939393a3239393939371f3939393b2d3939393a3639393939371f3939393b2d3939393a2c3939393931393939393b2d3939393a0f3939393939393939393b2d3939393a3139393939371f3939393b2d3939393a36393d3f0f481f39344a293514393939392b393939393c173939393914393939392c293939393c173939393914393939392d0f39393939393939393b48342939392a0f3939393d1f3939393a323939393939393939393a290d39393a33393939392b0f3939393d133939393a35393939392c293939393d4c3939393a28393939392d393939393e3d3939393a2b393939392d0f39393939393939393a40342939392e393939393e2d3939393a32393939392e1f3939393e1b3939393a21393939392f293939393e173939393a1a39393939203939393939393939393a35341f393920293939393e4c3939393a3239393939200f3939393f393939393a1039393939211f3939393f353939393939393939391b3b4c39393f293939393a14393939392b293939393f213939393a163939393919393939393f133939393a09393939391c3939393930313939393a4939393939222939393939393939393a153939393921293939393f0f3939393a0239393939222939393939393939393914393939391a293939393b4039393939143939393922393939393b403939393914393939391d2939393939393939393914393939392b393939393c173939393914393939392c293939393c173939393914393939392d0f393939393939393939143939393921293939393b39393939391439393939211f3939393b3939393939143939393922393939393b393939393914393939392b393939393c173939393914393939392c293939393c173939393914393939392d0f3939393b393939393914393939392f2939393939393939393914393939392b293939393c173939393914393939392c293939393c173939393914393939392d0f3939393b393939393914393939391b393a3a143621393b4d2132283b0b39393f0b3939393a0b393939392b293939393d4d2c1c3c361e2002314a1a3f4112212f0014362f2210214a2e482a293939393a1f5739393913330f39391f3c4c393939393939393b40330f3939190f3939393f483939393a32393939391a1f3939393f403939393a0f393939391b2939393930313939393a02393939391c39393939302d3939393a4a393939391c0f393939301f3939393a4d393939392c1436483549411e35122e121c30140f222d144b2a2d2d392c1436483549411e35123d0f214b2a4d1b3f2e1e21153e02222d2d393928395339393b1d330f39391c3c403939310f0a3939393939393939391f3939393c0f0a3939393b393939390c3b0b393939313939393939393939392d3b0f39393f0b3939393a4e393939392b29393939300b3939393a40393939391e29393939304c3939393a57393939391f39393939313d3939393a372d4b290220494001364a360e223f2e121c162a32214a3500352e411e1a2f32021c3f3e48222e41482a2d2d392c1436483549411e35123d01214a4113222f364a1c3e4111212036142a29393939393c0f281f393934110f39393029573939393534393939393939393939313939393940330f3939391f3939393d1f0b3939393b39393939393939393935290b39393a0a393939391f1f3939393d133939393b3c393939391039393939312d3939393b3f39393939100f393939311f3939393b32393939392c1436483549411e35121c121a4a2a14214b22482b2d2a0221023d002049410c2116364821202a14204b2a3e2a2939391c3c40393933390b3939393939393939391f3939393c0f0a3939393b393939392b3b0f39393931393939393939393939373b4839393f0b3939393b33393939392b29393939310b3939393b35393939391229393939314c3939393b28393939391339393939323d3939393a372d4b290220494001364a360e223f2e121c162a322a3f1412352c3e1e204a49111b4b2a101c3f2e1e1c3d2e3e39393a48280f39393e3b4839393939393939393b39393939283b0b393939313939393a3134393939391f3939393d4d2c1c3c361e2002314b214a4113222f364a1c3d144b21023d002049410c2116364821202a14204b2a3e2a2939393930295739393a2134293939393939393939313939393940330f3939391f3939393d1f0b3939393b393939392c1436483549411e3512220b1a4a36101a3f2d49204941081a203a3e393939393f3c403939320f0c39393940330f39392c1436483549411e35121c121a4a000b21202a142b2f363e2a293921280f39390f3b4839393c0f0a39393a372d4b290220494001364a360e1a3f00101c3f2e321c482e3e393a1f5739393c1f34293939283b0b39393d4d2c1c3c361e20023149214b2a4d1b3f2e3221482e3e393939391c3c40393939390d3939393939393939391f3939393c0f0a3939393b393939390c3b0b393939313939393a372d4b290220494001373f4d491a203a491a1536482b2f363e2a29393939393921280f3939363b4c39393c0f0a39393a372d4b290220494001373f4d491a203a491a1536482b201c3e2a29393939393921280f39392f3b4c39393c0f0a3939393939393939493b48393932313939393b2c393939392b2939393932293939393b2e39393939141f39393939393939393c4834293939140f393939321f3939393a3239393939152939393932173939393b1a39393939393939393932390e39393a0a3939393916393939393d133939393b1c39393939161f39393932403939393b1f39393939172939393933313939393b12393939390839393939332d3939393b1539393939080f3939393d4d2c1c3c361e2002314b1a162e0c204a1c141c3d14122c14361e352c14081b4b2a01222f3e0c21162e15204a1448222032101c3f41012b2f36372d494000352f36172120321e1c30321019202a022b2f363e2a2d2e3e2a2d2d392c1436483549411e3512141e204a4d491a2e411622202a3221482e3e393d4d2c1c3c361e20023100363e411e1a162e0c204a1c141c3e4111212036142a293939403c4c39393e210e39393a48280f3939293b4039393939393939393a393939391b3b40393939393939393a48280f3939573b4c39393939393939393b39393939283b0b393939313939393a4c340f3a3a0c3640393b40173a223c3939393f0b3939393b17393939392b2939393933133939393b0939393939090f393939330f3939393b0c393939390a1f39393933403939393b0f393939390b2939393934313939393b02393939392c1436483549411e35121c0d1c2f491e224a2e482b201c372d494000372f14021c303214212f49111c2f221e19202a141b153e481a4b32321c484d2c20023d00214a10101b1441481b153e081c3036321c482e3e2a2d2e3e2a293a372d4b290220494001372e411e1a162e0c204a1c141c3d144b2a2d2d3939393a48280f3939363c3939393939393939393a393939391b3b40393939393939393a48280f3939403b4039393939393939393b39393939283b0b393939313939393a3535393a3a11373d393b414c3a2c3c3d39393f0b3939393b48393939392b29393939342d3939393b4a393939390c0f393939341f3939393b4d393939390d1f393939340b3939393b40393939392c1436483549411e35121c0d1c2f491e1b302e482b2f36372d494000372f41021c303214212f49111c2f221e19202a141b153e481a4b323221484d2c20023d00214a10101b1441481b153e081c30363221482e3e2a2d2e3e2a293a372d4b290220494001372e411e1a162e0c204b3a491c3d14122a2d2d392c1436483549411e35123d482049410d1c2f491e1b302e48204a32101b4a2e3e39393c0f281f39393d123d393930295739393c40353939393939393939393d393939390b35293939393939393930295739393b4c35393939393939393939313939393940330f3939391f3939393c2900393d300f4c1f39340e1f3d2d351f3939190f39393934483939393a32393939390e1f39393934403939393c39393939390f2939393935313939393c3c393939390039393939352d3939393a372d4b290220494001364a4d491a2e410f1c202a321c484d2c20023d4d1a4b36481b152e101a2f3249221441081c3f2e0121202a0e1b13144b2c14361e352c3e12193f3e01204b2a01212f14481b48144b2a2d2e3e2a2d2e3e393d4d2c1c3c361e2002314d2049410d1c2f491e1b302e482b201c3e2a2939393930295739393c13352939393939393939393d393939390b35293939393939393930295739393b1f35293939393939393939313939393940330f3939391f393939280f00393d3f4c4d393934151f0b2d350f3939001f393939351b3939393a3239393939013939393935133939393c3339393939010f393939350f3939393c3639393939021f3939392812575757402d350f3939020f39393936393939393c2a39393939481f39393936353939393c2d3939393949293939393d4d2c1c3c361e2002314c1c3f140c222e411622202a3221484d2c20023d4d192036481b152e101a2f3249221441081c3f2e0121202a0e1b1314122c14361e352c3e12193f3e01204b2a01212f14481b4814122a2d2e3e2a2d2e3e393d4d2c1c3c361e2002314d1c3f140c222e4111212036142a293c0f281f3939022c3139393d4d2c1c3c361e20023101353e411e1c3f140c222e411622202a1e214941021c3f4101212f1c142b2f363e2a2939393928395339393c17351f39391c3c403939311f013939393939393939390f3939393c0f0a3939393b393939394c3c31393939313939393935350f393939391f39393939393939393936393939491f393939361b3939393a32393939394a3939393936133939393c19393939394a0f393939360f3939393c1c393939394b1f39393928125757574039363939394b0f39393937393939393c10393939394c1f39393937353939393c13393939394d293939393d4d2c1c3c361e2002314c1c3f140c222e411622202a321c484d2c20023d4d192036481b152e101a2f3249221441081c3f2e0121202a0e1b13144b2c14361e352c3e12193f3e01204b2a01212f14481b48144b2a2d2e3e2a2d2e3e393d4d2c1c3c361e20023101353e411e1c3f140c222e411622202a1e214941021c3f4101212f1c142b201c3e2a293939403c4c3939362d0239393a48280f3939133c3539393939393939393c39393939283b0b393939313939393c1f351f3939391f393939281f02393939393b393939393939393933294839393c15393939394d0f3939393d133939393c17393939392c1436483549411e35121048192f4914204b3a491c3d14122c14361e352c140e1b4b2a01222f3e0c21162e15204a1448222032101c3f41012b2f36372d494000352f36172120321e1c30321019202a022b2f363e2a2d2e3e2a2d2d392c1436483549411e35123d0f20494148192f4914204b3a491c3d2d3939393c0f281f3939102c29393930295739393a3936393939393939393939313939393940330f3939391f393939320f48393939393b39393939393939393b294939393c08393939394e1f3939393d133939393c0a393939392c1436483549411e35121048192f4914204b3a491c3d144b2c14361e352c140e1b4b2a01222f3e0c21162e15204a1448222032101c3f41012b201c372d494000352f36172120321e1c30321019202a022b201c3e2a2d2e3e2a2d2d39393939391c3c403939360f483939393939393939391f3939393c0f0a3939393b39393939163c29393939393139393939393939390d3c2d39393f0b3939393c0b393939392b2939393937483939393c0d393939394f0f39393928393939393c0039393939401f39393928353939393c483939393941293939393d4d2c1c3c361e20023100353f490e1a152e4d1b302e0d214b2a3221480011353d2e3e2a293a372d4b290220494001352c3a0c1a4a4d141d2e4111212036142a29393939393c0f281f3939153c2d393930295739393a4036293939393939393939313939393940330f3939391f3939393439493939393b3939393939393939393b0f4a39393a0a39393939411f3939393d133939393c4b39393939533939393928133939393c4e39393939530f393939280f3939393c4139393939571f39393928403939393a372d4b290220494001352c3a0c1a4a4d141d203a491a1536482b2f363521123e3e2a2d2d391c3c4039393a394a3939393939393939391f3939393c0f0a3939393b393939390b3c2d39393931393939393939393939173c2139393f0b3939393939392939392b29393939393d3a3939393b39293939390f3d393939293a3939393e392939393a1f3d3939391b3a39393931392939393b293d39393d4d2c1c3c361e20023100353f490e1a152e4d1b302e0d214b2a321c480011353d2e3e2a293a48280f3939103c2139393939393939393b39393939283b0b393939313939393b0f36293939391f3939393939393939392d360f3939190f39393939173a39393a32393939393b0f3d3939390f3a39393936392939393c1f3d393939403a39393929392939393d293d39393a313a3939392c392939392c1436483549411e35123d0f1a2f410d2220140f1c2f4d121c3d144b2c3f31002a2d2e3e3930295739393c4c361f3939393939393939313939393940330f3939391f3939393439493939393b393939393939393939341f4b39393a0a393939393e393d39393d13393939392e392939393e1f3d39393d4d2c1c3c361e2002314d1a2f410d2220141e224a2e482b2f36372d494000372f14021c303214212f49111c2f221e19202a141b153e481a4b323221484d2c20023d00214a10101b1441481b153e081c30363221482e3e2a2d2e3e2a293a372d4b290220494001352c3e1e204a490e1a152e4d204a1c141c3d14122a2d2d393928395339393b2f360f39391c3c4039393e394b3939393939393939391f3939393c0f0a3939393b393939390b3c1b39291c020e39390d19392e0f4c39393a0a393939393e0f3d39393d133939393921392939393f293d39393d4d2c1c3c361e2002314d1a2f410d2220141e224a2e482b201c372d494000372f14021c303214212f49111c2f221e19202a141b153e481a4b32321c484d2c20023d00214a10101b1441481b153e081c3036321c482e3e2a2d2e3e2a293a372d4b290220494001352c3e1e204a490e1a152e4d204a1c141c3d144b2a2d2d39392839533939394e373939391c3c40393928294b3939393939393939391f3939393c0f0a3939393b393939392e3c1f392921300039390d22392c1339393f0b3939393919392939392b293939393a0b3a3939391b392939392c1436483549411e3512140c1a4a4d141d2e410f1c202a3221484d2c20023d4d1a4b36481b152e101a2f3249221441081c3f2e0121202a0e1b1314122c14361e352c3e12193f3e01204b2a01212f14481b4814122a2d2e3e2a2d2e3e393d4d2c1c3c361e20023100352e411e1a2f410d2220141e1b302e482b2f363e2a293939403c4c3939364c4c39393a48280f3939153c1f39393939393939393b39393939283b0b393939313939393c4c37393a3a082831393b4d173a083c1339393f0b393939391c392939392b293939393a4c3a3939391e392939392c1436483549411e3512140c1a4a4d141d2e410f1c202a321c484d2c20023d4d1a4b36481b152e101a2f3249221441081c3f2e0121202a0e1b13144b2c14361e352c3e12193f3e01204b2a01212f14481b48144b2a2d2e3e2a2d2e3e393d4d2c1c3c361e20023100352e411e1a2f410d2220141e1b302e482b201c3e2a293939403c4c393931314d39393a48280f3939283c1339393939393939393b39393939283b0b393939313939393b1b37293a3a012835393b4f1331303c1739393f0b393939391f392939392b293939393b3d3a3939391139293939310f3d39393d4d2c1c3c361e2002314c1a2f2e021b4a3e162220363221482e3e393d4d2c1c3c361e20023100354a49141b4b3610224a2e02204a32101b4a2e3e393939393928395339393c4d372939391c3c40393937294d3939393939393939391f3939393c0f0a3939393b393939393e3c17393939313939393939393939391c3c1739393f0b3939393913392939392b293939393b2d3a3939391539293939320f3d39393d4d2c1c3c361e2002314c1a2f2e021b4a3e16222036321c482e3e393939393930295739393a1b371f3939393939393939313939393940330f3939391f3939393a294e3939393b393939392d0f393939302d3939393a0d3939393922393939393f3d3939393a4d3939393939393939393d483939393a0e393939391a1f3939393f293939393a10393939391d2939393939393939393a2d393939391c293939393f2d3939393a023939393922393939393f3d3939393a4d3939393939393939393e1b3939393a143939393922393939393f4c3939393a14393939391b0f3939393f293939393a10393939391d2939393939393939393a2d393939391939393939302d3939393a01393939391b0f3939393f293939393a10393939391d2939393939393939393a3f393939391b1f3939393f133939393a1339393939212939393930133939393939393939392d0f3939393f3d3939393a48393939391c2939393930313939393a1339393939212939393930133939393939393939392d0f393939302d3939393a0d3939393939393939393d483939393a0e393939391a1f39393939393939393a2d393939391c293939393f2d3939393939393939392e0f3939393f2d3939393a133939393939393939393e293939393a17393939391c2939393939393939393a3f393939391b1f3939393f133939393939393939392d0f3939393f3d3939393a483939393939393939393d173939393a10393939391a1f393939302d3939393a10393939391b1f39393930133939393939393939392a1f3939393f2d3939393a11393939391b1f393939302d3939393a10393939391b1f39393930133939393939393939392c293939393f3d3939393a0139393939210f3939393f1f393939393939393939292939393930393939393a013939393919293939393f0f3939393939393939392c293939393f3d3939393a4d3939393939393939393d173939393a49393939391a1f3939393f2d3939393939393939392b1f393939302d3939393a0b393939391d2939393939393939393a3a393939391c293939393f1b3939393a49393939391b0f39393930293939393939393939392d0f3939393f2d3939393a0f393939391c393939393f2d3939393a0c39393939211f3939393f2d3939393a013939393939393939393d403939393a12393939391c393939393f403939393a1139393939222939393930313939393939393939392c1f3939393f403939393a4a3939393922293939393f483939393a1139393939222939393930313939393939393939392a393939393f2d3939393a123939393922293939393f483939393a1139393939222939393930313939393939393939392b1f3939393f3d3939393a0d3939393939393939393d213939393a1439393939211f39393939393939393a363939393921293939393031393939393939393939292939393930393939393a013939393939393939393d173939393a49393939391a1f39393939393939393a33393939391c293939393f0f3939393939393939392929393939302d3939393a163939393939393939393e353939393a14393939391b3939393939393939393a2839393939210f39393930293939393939393939392c1f3939393f403939393a4a3939393939393939393d293939393a1439393939210f39393939393939393a3a393939392c2939393939393939393a29393939392c293a3a12280f393b53313d3c3c35393935403939393c2939393939482939393936313939393c2c393939394939393939362d393939393939393939533c35393936403939393c1f393939394c2939393937313939393c12393939394d39393939372d3939393939393939391f3c4c39393b1f3a3939390839293939331f3d39393d4d2c1c3c361e20023100363e411e1b4a10101b152e13204a360e1c2f4d482a29393939393c0f281f3939223c4c39393d4c00353e411e214b104c212f32081c123d003614411e1b4a10081a2e41481d203a14204a140d2215413e39393939393a1f5739393b31281f3939193d3939393d4c00353e411e214b104c212f32081c123d003649411e214a00101b4b361e1c30140f222e41081a15220e2a293939393a1f5739393b4c281f39390a3c4c393939393939393c1b281f3939330f3d39393b0f3a3939390c39293939341f3d39393b403a3939390f3929393935293d39393c313a3939393939393939213c4039393b0b3a393939023929393934293d39393b4c3a3939390e3929393936393d39393c2d3a3939394a392939392c123d0f204941121d3010102115144a352c310f20494102192e41121a3f3e021b4941481d203a14204a140d2215413e39393939393a1f573939394c280f39394b3c4c393939393939393b40280f3939330f3d39393c1b3a3939390c39293939341f3d39393b403a3939394c3929393937293d39393c173a39393a37352c3a1e204a364c1d3f3e111920210035123e1e204b220c192e41121a3f3e021b4941481d203a14204a140d2215413e393939393f3c40393932295739393c1b281f39393939393939370f573939394f3929393928393d39393c483a39393a2c1c3c14141d3f36141b302a081a4a4c3939393939403c4c3939360f5739393939393939393f3d3939393935393939395339293939280f3d39393e3648352c3e0b1a4a1c08214941141b16320e1b1f3921280f39393b3d393939370f5739393939393939392c3d39393939353939393a3939293939280f3d39393e3648352c320b222f4d161c3f101e222032011a4b3139393939393f3c4039393c103939393921293939392d4b294d1c30140f222e41081a15220e393939393928395339393a2129393a3a4031393a3b0f331f190f4545071d0008170a0c0b0f11160b0c19160c11190c1d2f190b1506190b0b111f160e56570c10110b56080a171f0a19150814171b190c11171604100a1d1e0711161c1d00371e051a14171a42060b0d1a0b0c0a0623475b2556520b14190b0c31161c1d00371e01570417081d16033f3d2c0b190a0a19011a0d1e1e1d0a0c0a1d0b0817160b1d2c01081d040b1d161c080a1d0b0817160b1d05080a11160c0314171f041a11161c08080a11160c3d0a0a040f190a1609190a1f0d151d160c0b0b0c10110b280a171f0a191504090d110c0a0f190b153a1116190a010d16173d00110c2a0d160c11151d06171a121d1b0c090d161c1d1e11161d1c1f16175816190c110e1d580f190b15580b0d0808170a0c581c1d0c1d1b0c1d1c040d0c1e40080b0d1a190a0a1901061c1d1b171c1d0c1e0a17153b10190a3b171c1d030b1d0c05303d39284006303d3928494e06303d39284b4a06303d39282d4007303d39282d494e07303d39282d4b4a07303d39283e4b4a07303d39283e4e4c0e3136312c31393427353d35372a21071716391a170a0c08391a170a0c1d1c5001512b56583a0d11141c580f110c1058550b58392b2b3d2a2c3137362b4549581e170a5815170a1d5811161e17560c2a0d160c11151d3d0a0a170a251c190c194219080814111b190c11171657171b0c1d0c550b0c0a1d1915431a190b1d4e4c542f1a170c1058190b01161b5819161c580b01161b581e1d0c1b1011161f58171e580c101d580f190b15581e1911141d1c050b10111e0c041e0d161b06160d151a1d0a03190a1f061d001b280c0a03080c0a080b1d0c270c01081d081f1d0c270c01081d0e0b1d0c271c1d0b0c0a0d1b0c170a0e1f1d0c271c1d0b0c0a0d1b0c170a0c0b1d0c270a1d1e1b170d160c0a0b1d0c271b190d1f100c0a1f1d0c271b190d1f100c0c0b1d0c270a1d0c100a170f160c1f1d0c270a1d0c100a170f16041116110c07191c1c270a1d1e0b0a1d141d190b1d270a1d1e041f0a170f0a1a010c1d341d161f0c10061a0d1e1e1d0a0f080a1d1417191c1d1c3115191f1d0b0f080a1d1417191c1d1c390d1c11170b07190f560f190b150a14171b190c1d3e11141d070b0c0a11161f0b080f1d1a270d0b1d0a042d2b3d2a0734373f3639353d0428392c3003282f3c0e571017151d570f1d1a270d0b1d0a043037353d091419161f0d191f1d0b013b0155012706562d2c3e5540043439363f04080d0b100145071f1d0c2c11151d0b1f1d0c3e0d1414211d190a081f1d0c3517160c10071f1d0c3c190c1d070b1d0c3c190c1d080b1d0c3517160c100b0b1d0c3e0d1414211d190a0110011f01190a1b1708012f110c101116011e0a4a494c4f4c404b4e4c400348564a0315111603151900011d071e170a3d191b10011b011c060c15270b1d1b060c1527151116070c152710170d0a070c1527151c1901060c1527151716070c1527011d190a070c15270f1c1901070c1527011c1901080c1527110b1c0b0c090c15271f150c171e1e070c15270217161d145d19585d1a585d1c585d30425d35425d2b585d21025d1b085d15575d1c575d01025d3c085d21555d15555d1c025d3e025d1a025d100b5d31425d35425d2b585d08025d0a055d30425d35025d2a085d30425d35425d2b025d2c025d00025d20035d3d1b025d3b035d3d3b035d3d00035d3d20025d01035d3d01025d21035d3d21025d1c035d371c025d1d035d371d025d30035d3730025d31035d3731025d15035d3715025d35035d3735025d2b035d372b025d0d035d370d025d2d035d372d025d2e035d372e025d0f035d370f025d2f035d372f035d3701062b0d161c1901063517161c1901072c0d1d0b1c1901092f1d1c161d0b1c1901082c100d0a0b1c1901063e0a111c1901082b190c0d0a1c1901073219160d190a01083e1d1a0a0d190a010535190a1b100539080a11140335190104320d161d04320d140106390d1f0d0b0c092b1d080c1d151a1d0a07371b0c171a1d0a0836170e1d151a1d0a083c1d1b1d151a1d0a080c172b0c0a11161f0148061f1d0c3c1901090b0d1a0b0c0a11161f025d19025d39025d3a0158025d1f025d3f025d120172025d16023935022835025d080171025d0c041b1d1114024849024848024d4b03191a0b01530448484848050b14111b1d025d02025d22015d025d5d0811161b140d1c1d0b011a03190b150111010c0112070d160b10111e0c16151716110c170a2a0d163c1d081d161c1d161b111d0b070a1d0b17140e1d0b0b19151d55170a111f11160b1b0a1d1c1d160c1119140b021713241e1911141d1c580c17581417191c580f190b15581a1116190a01581e11141d58190c585f015f051b190c1b10271e1911141d1c580c1758190b01161b100a1716170d0b140158080a1d08190a1d580f190b1542583335171c0d141d5611160b0c19160c11190c1d2f190b15581b1914141a191b13581e1911141d1c580f110c10581d0a0a170a42581f0f190b15580b0c0a1d191511161f581b17150811141d581e1911141d1c4258291e19141411161f581a191b13580c1758390a0a19013a0d1e1e1d0a5811160b0c19160c11190c111716122727270f190b15271b191414271b0c170a0b0519080814010113072715191414171b011405271e0a1d1d0115082717081d163a1700011609271c1d0b1b0a01080c01170f271c1d0b1b0a01080c331c0b331d0101080b271c1d1b0a01080c331d0101090c271c1d0b1b0a01080c3b3a3b010a08270a1d141d190b1d010b07270b1d0c2a190f010d090b0c191b132b190e1d010e0c0b0c191b132a1d0b0c170a1d010f0a0b0c191b13391414171b091b1914141d1c2a0d161417162a0d160c11151d3116110c11191411021d1c0708170b0c2a0d1606080a1d2a0d16090b1d0c2b0c190c0d0b0a2a0d161611161f5656561211160c390a0a19013e0a17152b0c0a11161f060b0c0a11161f05190a0a1901071a1717141d1916051b1b1914140c2d2c3e402c172b0c0a11161f0c191414171b190c1d2d2c3e40030a0d1607080a1d3116110c03081708050a1d191c010d0f110c102a1d0b17140e1d0a0b060a1d121d1b0c07080a1715110b1d03131d01050e19140d1d083b3d363b27333d210730342b27333d210615171c0d141d0b1c1d0b1b0a01080c331d0104190c171a081c1d0b1b0a01080c0e1c1d0b1b0a01080c331c0b331d010b1c1d0b1b0a01080c3b3a3b060b1d0c2a190f071c1d0b0c0a1701014101020a1b17160e1d0a0c331d010a1b17160e1d0a0c341d16041217111606151d0c10171c09151d0c10171c341d16024949024a4a091908081c1d0e111b1d090f1d1a1c1d0e111b1d06190808270e4a060f1d1a270e4a051511003116051b1417161d0b1b17160b0c0a0d1b0c170a061b0a1d190c1d0a1a010c1d371e1e0b1d0c050f170a1c0b080b111f3a010c1d0b090b0c0a11161f111e01061b17161b190c051b141915080a4c4a414c414e4f4a414d041b191414060a19161c17150a4c4a414c414e4f4a414e0348564d0508190a0b1d143519141e170a151d1c582d2c3e5540581c190c190e271511163a0d1e1e1d0a2b11021d050a1d0b1d0c05271c190c190b27163c190c193a010c1d0b07271908081d161c0827080a171b1d0b0b091a14171b132b11021d0f271c17280a171b1d0b0b3a14171b13060b0814111b1d031b1e1f08271c172a1d0b1d0c060d081c190c1d081e1116191411021d0b271c173e1116191411021d0d271b0a1d190c1d301d14081d0a11271b0a1d190c1d3015191b301d14081d0a072710190b101d0a052717331d01052711331d0104271519080448564f4d061b10190a390c0b270a1d0e1d0a0b1d35190841393a3b3c3d3e3f303132333435363728292a2b2c2d2e2f202122191a1b1c1d1e1f101112131415161708090a0b0c0d0e0f00010248494a4b4c4d4e4f4041535745030b11160a4c484a4b4a4b4b4c494f0a4a4d4e4a4b404b49484a052710190b100a4c4a4f404a4d4d4b4e48051e1417170a07131d012b11021d0610190b101d0a0a110c1d0a190c1117160b071b1715080d0c1d0a27001e170a1535171c1d0427131d0107080a171b1d0b0b0f1b0a1d190c1d3d161b0a01080c170a0f273d363b27203e372a352735373c3d0f1b0a1d190c1d3c1d1b0a01080c170a0f273c3d3b27203e372a352735373c3d071d161b0a01080c071c1d1b0a01080c06110e2b11021d07271b1108101d0a0327110e093d161b0a01080c170a093c1d1b0a01080c170a0a27080a1d0e3a14171b130c080a171b1d0b0b3a14171b130c1d161b0a01080c3a14171b130c1c1d1b0a01080c3a14171b130308191c050d1608191c0415171c1d0708191c1c11161f02110e052715171c1d0927271b0a1d190c170a091e170a15190c0c1d0a0a1b1108101d0a0c1d000c040b19140c0919141f170a110c1015061e170a15190c062708190a0b1d071d001d1b0d0c1d03131c1e0827162a170d161c0b0e27131d01280a11170a2a1d0b1d0c0c27131d012b1b101d1c0d141d0f2711160e331d012b1b101d1c0d141d0d271c173b0a01080c3a14171b13050b0814110c0142071d161b3c190c1909080a170c170c01081d07110b390a0a1901060a1d1c0d1b1d0126142356525347265c0305505104232425245724242503245c5e2f0c172b0c0a11161f04501e0d161b0c11171651565247504745242424505104581e170a585653475047452424242551055c49565247015c040c1d0b0c06110b2e111d0f060b0d1a0c141d05191d0b312e07393d2b553b3a3b041619151d081f1d0c2d11160c40091d000819161c331d0109111508170a0c331d01030a190f0a14171f3d16191a141d1c110b171e0c0f190a1d3c1d1b0a01080c1d0a0d0a1d151911161c1d0a3c190c19091b0d0a0a1d160c312e0d1b0d0a0a1d160c2a1d0b0d140c09190f351916191f1d0a0b0f190b15280a1715110b1d120a1d15170e1d28333b2b4f28191c1c11161f061b17161e111f061b0a01080c170c0f1d1a13110c2b0d1a0c141d111d16191a141d2b171e0c0f190a1d393d2b06110b2b01161b051e140d0b1011080a110e190c1d331d013c1d1b0a01080c0415190a13040f0a190804161d000c04080a1d0e031d161c024955020c48100f1d1a3b0a01080c173c1d1b0a01080c090c191f341d161f0c10041c190c19040b1d160c06191a0a0d080c060a1d0c0d0a16040b0c170815080a110e190c1d331d013c1d1b0a01080c2f190b15132b0c0a11161f2c17390a0a19013a0d1e1e1d0a0b3a190b1d4e4c2c17301d000f0b171e0c0f190a1d3c1d1b0a01080c0714171f37161b1d0e322b58393d2b581c1d1b0a01080c0d1f1d0c2e1914111c3b100d1613170f1d1a1b0a01080c17581b101d1b13581e1911140d0a1d37231c1d1b0a01080c1d0a560c0b2542582f1d1a3b0a01080c17583d0a0a170a54581c110b191a141d582f1d1a3b0a01080c1758392831421017162f1d1a3b0a01080c173d0a0a170a0a271c1d1b0a01080c1d0a0f1c1d1b0a01080c581e1911140d0a1d",{get 0(){return"undefined"!=typeof Buffer?Buffer:void 0},get 1(){return"undefined"!=typeof atob?atob:void 0},2:Error,3:Uint8Array,4:WebAssembly,get 5(){return"undefined"!=typeof fetch?fetch:void 0},6:ArrayBuffer,7:Object,get 8(){return self},get 9(){return XMLHttpRequest},get 10(){return console},get 11(){return"undefined"!=typeof TextDecoder?TextDecoder:void 0},12:String,13:Int8Array,14:Int16Array,15:Int32Array,16:Uint16Array,17:Uint32Array,18:Float32Array,19:Float64Array,get 20(){return"undefined"!=typeof navigator?navigator:void 0},21:Date,22:Array,23:Math,24:RegExp,25:Promise,get 26(){return setTimeout},27:Boolean,28:Number,29:Uint8ClampedArray,30:parseInt,31:decodeURIComponent,get 32(){return escape},get 33(){return unescape},34:encodeURIComponent,35:Function,36:DataView,get 37(){return Pa},get 38(){return _a},get 39(){return ya},get 40(){return ma},get 41(){return wa},get 42(){return Ra},get 43(){return va},get 44(){return Aa},get 45(){return pa},get 46(){return Da},get 47(){return qa.aes4js},get 48(){return qa.TRANSFORM_IV},get 49(){return qa.util},get 50(){return Ua},set 50(a){Ua=a},get 51(){return Na},set 51(a){Na=a},get 52(){return Fa},set 52(a){Fa=a},get 53(){return Ga},set 53(a){Ga=a},get 54(){return Va},set 54(a){Va=a}},void 0);var za="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...a)=>console.error("SEMVER",...a):()=>{};var Ka={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},Ha={exports:{}};!function(a,e){const{MAX_SAFE_COMPONENT_LENGTH:f,MAX_SAFE_BUILD_LENGTH:d,MAX_LENGTH:t}=Ka,b=za,r=(e=a.exports={}).re=[],c=e.safeRe=[],n=e.src=[],i=e.safeSrc=[],o=e.t={};let s=0;const u="[a-zA-Z0-9-]",l=[["\\s",1],["\\d",t],[u,d]],h=(a,e,f)=>{const d=(a=>{for(const[e,f]of l)a=a.split(`${e}*`).join(`${e}{0,${f}}`).split(`${e}+`).join(`${e}{1,${f}}`);return a})(e),t=s++;b(a,t,e),o[a]=t,n[t]=e,i[t]=d,r[t]=new RegExp(e,f?"g":void 0),c[t]=new RegExp(d,f?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${u}*`),h("MAINVERSION",`(${n[o.NUMERICIDENTIFIER]})\\.(${n[o.NUMERICIDENTIFIER]})\\.(${n[o.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${n[o.NUMERICIDENTIFIERLOOSE]})\\.(${n[o.NUMERICIDENTIFIERLOOSE]})\\.(${n[o.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${n[o.NUMERICIDENTIFIER]}|${n[o.NONNUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${n[o.NUMERICIDENTIFIERLOOSE]}|${n[o.NONNUMERICIDENTIFIER]})`),h("PRERELEASE",`(?:-(${n[o.PRERELEASEIDENTIFIER]}(?:\\.${n[o.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${n[o.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${n[o.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${u}+`),h("BUILD",`(?:\\+(${n[o.BUILDIDENTIFIER]}(?:\\.${n[o.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${n[o.MAINVERSION]}${n[o.PRERELEASE]}?${n[o.BUILD]}?`),h("FULL",`^${n[o.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${n[o.MAINVERSIONLOOSE]}${n[o.PRERELEASELOOSE]}?${n[o.BUILD]}?`),h("LOOSE",`^${n[o.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${n[o.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${n[o.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${n[o.XRANGEIDENTIFIER]})(?:\\.(${n[o.XRANGEIDENTIFIER]})(?:\\.(${n[o.XRANGEIDENTIFIER]})(?:${n[o.PRERELEASE]})?${n[o.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${n[o.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[o.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[o.XRANGEIDENTIFIERLOOSE]})(?:${n[o.PRERELEASELOOSE]})?${n[o.BUILD]}?)?)?`),h("XRANGE",`^${n[o.GTLT]}\\s*${n[o.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${n[o.GTLT]}\\s*${n[o.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${f}})(?:\\.(\\d{1,${f}}))?(?:\\.(\\d{1,${f}}))?`),h("COERCE",`${n[o.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",n[o.COERCEPLAIN]+`(?:${n[o.PRERELEASE]})?(?:${n[o.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",n[o.COERCE],!0),h("COERCERTLFULL",n[o.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${n[o.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",h("TILDE",`^${n[o.LONETILDE]}${n[o.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${n[o.LONETILDE]}${n[o.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${n[o.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",h("CARET",`^${n[o.LONECARET]}${n[o.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${n[o.LONECARET]}${n[o.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${n[o.GTLT]}\\s*(${n[o.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${n[o.GTLT]}\\s*(${n[o.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${n[o.GTLT]}\\s*(${n[o.LOOSEPLAIN]}|${n[o.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${n[o.XRANGEPLAIN]})\\s+-\\s+(${n[o.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${n[o.XRANGEPLAINLOOSE]})\\s+-\\s+(${n[o.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(Ha,Ha.exports);var $a=Ha.exports;const Wa=Object.freeze({loose:!0}),Ya=Object.freeze({});var Xa=a=>a?"object"!=typeof a?Wa:a:Ya;const Qa=/^[0-9]+$/,Ja=(a,e)=>{const f=Qa.test(a),d=Qa.test(e);return f&&d&&(a=+a,e=+e),a===e?0:f&&!d?-1:d&&!f?1:a<e?-1:1};var Za={compareIdentifiers:Ja,rcompareIdentifiers:(a,e)=>Ja(e,a)};const ae=za,{MAX_LENGTH:ee,MAX_SAFE_INTEGER:fe}=Ka,{safeRe:de,safeSrc:te,t:be}=$a,re=Xa,{compareIdentifiers:ce}=Za;const ne=class a{constructor(e,f){if(f=re(f),e instanceof a){if(e.loose===!!f.loose&&e.includePrerelease===!!f.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>ee)throw new TypeError(`version is longer than ${ee} characters`);ae("SemVer",e,f),this.options=f,this.loose=!!f.loose,this.includePrerelease=!!f.includePrerelease;const d=e.trim().match(f.loose?de[be.LOOSE]:de[be.FULL]);if(!d)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+d[1],this.minor=+d[2],this.patch=+d[3],this.major>fe||this.major<0)throw new TypeError("Invalid major version");if(this.minor>fe||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>fe||this.patch<0)throw new TypeError("Invalid patch version");d[4]?this.prerelease=d[4].split(".").map((a=>{if(/^[0-9]+$/.test(a)){const e=+a;if(e>=0&&e<fe)return e}return a})):this.prerelease=[],this.build=d[5]?d[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(ae("SemVer.compare",this.version,this.options,e),!(e instanceof a)){if("string"==typeof e&&e===this.version)return 0;e=new a(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof a||(e=new a(e,this.options)),ce(this.major,e.major)||ce(this.minor,e.minor)||ce(this.patch,e.patch)}comparePre(e){if(e instanceof a||(e=new a(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let f=0;do{const a=this.prerelease[f],d=e.prerelease[f];if(ae("prerelease compare",f,a,d),void 0===a&&void 0===d)return 0;if(void 0===d)return 1;if(void 0===a)return-1;if(a!==d)return ce(a,d)}while(++f)}compareBuild(e){e instanceof a||(e=new a(e,this.options));let f=0;do{const a=this.build[f],d=e.build[f];if(ae("build compare",f,a,d),void 0===a&&void 0===d)return 0;if(void 0===d)return 1;if(void 0===a)return-1;if(a!==d)return ce(a,d)}while(++f)}inc(a,e,f){if(a.startsWith("pre")){if(!e&&!1===f)throw new Error("invalid increment argument: identifier is empty");if(e){const a=new RegExp(`^${this.options.loose?te[be.PRERELEASELOOSE]:te[be.PRERELEASE]}$`),f=`-${e}`.match(a);if(!f||f[1]!==e)throw new Error(`invalid identifier: ${e}`)}}switch(a){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",e,f);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",e,f);break;case"prepatch":this.prerelease.length=0,this.inc("patch",e,f),this.inc("pre",e,f);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",e,f),this.inc("pre",e,f);break;case"release":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const a=Number(f)?1:0;if(0===this.prerelease.length)this.prerelease=[a];else{let d=this.prerelease.length;for(;--d>=0;)"number"==typeof this.prerelease[d]&&(this.prerelease[d]++,d=-2);if(-1===d){if(e===this.prerelease.join(".")&&!1===f)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(a)}}if(e){let d=[e,a];!1===f&&(d=[e]),0===ce(this.prerelease[0],e)?isNaN(this.prerelease[1])&&(this.prerelease=d):this.prerelease=d}break}default:throw new Error(`invalid increment argument: ${a}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};var ie,oe,se,ue,le,he=Ma(((a,e,f=!1)=>{if(a instanceof ne)return a;try{return new ne(a,e)}catch(d){if(!f)return null;throw d}})),pe={exports:{}};ie=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,oe=/^(?=([^\/?#]*))\1([^]*)$/,se=/(?:\/|^)\.(?=\/)/g,ue=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,pe.exports=le={buildAbsoluteURL:function(a,e,f){if(f=f||{},a=a.trim(),!(e=e.trim())){if(!f.alwaysNormalize)return a;var d=le.parseURL(a);if(!d)throw new Error("Error trying to parse base URL.");return d.path=le.normalizePath(d.path),le.buildURLFromParts(d)}var t=le.parseURL(e);if(!t)throw new Error("Error trying to parse relative URL.");if(t.scheme)return f.alwaysNormalize?(t.path=le.normalizePath(t.path),le.buildURLFromParts(t)):e;var b=le.parseURL(a);if(!b)throw new Error("Error trying to parse base URL.");if(!b.netLoc&&b.path&&"/"!==b.path[0]){var r=oe.exec(b.path);b.netLoc=r[1],b.path=r[2]}b.netLoc&&!b.path&&(b.path="/");var c={scheme:b.scheme,netLoc:t.netLoc,path:null,params:t.params,query:t.query,fragment:t.fragment};if(!t.netLoc&&(c.netLoc=b.netLoc,"/"!==t.path[0]))if(t.path){var n=b.path,i=n.substring(0,n.lastIndexOf("/")+1)+t.path;c.path=le.normalizePath(i)}else c.path=b.path,t.params||(c.params=b.params,t.query||(c.query=b.query));return null===c.path&&(c.path=f.alwaysNormalize?le.normalizePath(t.path):t.path),le.buildURLFromParts(c)},parseURL:function(a){var e=ie.exec(a);return e?{scheme:e[1]||"",netLoc:e[2]||"",path:e[3]||"",params:e[4]||"",query:e[5]||"",fragment:e[6]||""}:null},normalizePath:function(a){for(a=a.split("").reverse().join("").replace(se,"");a.length!==(a=a.replace(ue,"")).length;);return a.split("").reverse().join("")},buildURLFromParts:function(a){return a.scheme+a.netLoc+a.path+a.params+a.query+a.fragment}};var ve=Ma(pe.exports);function ye(a,e){var f=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);e&&(d=d.filter((function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable}))),f.push.apply(f,d)}return f}function me(a){for(var e=1;e<arguments.length;e++){var f=null!=arguments[e]?arguments[e]:{};e%2?ye(Object(f),!0).forEach((function(e){Te(a,e,f[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(f)):ye(Object(f)).forEach((function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(f,e))}))}return a}function ge(){ge=function(){return a};var a={},e=Object.prototype,f=e.hasOwnProperty,d=Object.defineProperty||function(a,e,f){a[e]=f.value},t="function"==typeof Symbol?Symbol:{},b=t.iterator||"@@iterator",r=t.asyncIterator||"@@asyncIterator",c=t.toStringTag||"@@toStringTag";function n(a,e,f){return Object.defineProperty(a,e,{value:f,enumerable:!0,configurable:!0,writable:!0}),a[e]}try{n({},"")}catch(I){n=function(a,e,f){return a[e]=f}}function i(a,e,f,t){var b=e&&e.prototype instanceof u?e:u,r=Object.create(b.prototype),c=new x(t||[]);return d(r,"_invoke",{value:E(a,f,c)}),r}function o(a,e,f){try{return{type:"normal",arg:a.call(e,f)}}catch(I){return{type:"throw",arg:I}}}a.wrap=i;var s={};function u(){}function l(){}function h(){}var p={};n(p,b,(function(){return this}));var v=Object.getPrototypeOf,y=v&&v(v(T([])));y&&y!==e&&f.call(y,b)&&(p=y);var m=h.prototype=u.prototype=Object.create(p);function g(a){["next","throw","return"].forEach((function(e){n(a,e,(function(a){return this._invoke(e,a)}))}))}function _(a,e){function t(d,b,r,c){var n=o(a[d],a,b);if("throw"!==n.type){var i=n.arg,s=i.value;return s&&"object"==typeof s&&f.call(s,"__await")?e.resolve(s.__await).then((function(a){t("next",a,r,c)}),(function(a){t("throw",a,r,c)})):e.resolve(s).then((function(a){i.value=a,r(i)}),(function(a){return t("throw",a,r,c)}))}c(n.arg)}var b;d(this,"_invoke",{value:function(a,f){function d(){return new e((function(e,d){t(a,f,e,d)}))}return b=b?b.then(d,d):d()}})}function E(a,e,f){var d="suspendedStart";return function(t,b){if("executing"===d)throw new Error("Generator is already running");if("completed"===d){if("throw"===t)throw b;return{value:void 0,done:!0}}for(f.method=t,f.arg=b;;){var r=f.delegate;if(r){var c=k(r,f);if(c){if(c===s)continue;return c}}if("next"===f.method)f.sent=f._sent=f.arg;else if("throw"===f.method){if("suspendedStart"===d)throw d="completed",f.arg;f.dispatchException(f.arg)}else"return"===f.method&&f.abrupt("return",f.arg);d="executing";var n=o(a,e,f);if("normal"===n.type){if(d=f.done?"completed":"suspendedYield",n.arg===s)continue;return{value:n.arg,done:f.done}}"throw"===n.type&&(d="completed",f.method="throw",f.arg=n.arg)}}}function k(a,e){var f=e.method,d=a.iterator[f];if(void 0===d)return e.delegate=null,"throw"===f&&a.iterator.return&&(e.method="return",e.arg=void 0,k(a,e),"throw"===e.method)||"return"!==f&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+f+"' method")),s;var t=o(d,a.iterator,e.arg);if("throw"===t.type)return e.method="throw",e.arg=t.arg,e.delegate=null,s;var b=t.arg;return b?b.done?(e[a.resultName]=b.value,e.next=a.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,s):b:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,s)}function S(a){var e={tryLoc:a[0]};1 in a&&(e.catchLoc=a[1]),2 in a&&(e.finallyLoc=a[2],e.afterLoc=a[3]),this.tryEntries.push(e)}function w(a){var e=a.completion||{};e.type="normal",delete e.arg,a.completion=e}function x(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(S,this),this.reset(!0)}function T(a){if(a){var e=a[b];if(e)return e.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var d=-1,t=function e(){for(;++d<a.length;)if(f.call(a,d))return e.value=a[d],e.done=!1,e;return e.value=void 0,e.done=!0,e};return t.next=t}}return{next:A}}function A(){return{value:void 0,done:!0}}return l.prototype=h,d(m,"constructor",{value:h,configurable:!0}),d(h,"constructor",{value:l,configurable:!0}),l.displayName=n(h,c,"GeneratorFunction"),a.isGeneratorFunction=function(a){var e="function"==typeof a&&a.constructor;return!!e&&(e===l||"GeneratorFunction"===(e.displayName||e.name))},a.mark=function(a){return Object.setPrototypeOf?Object.setPrototypeOf(a,h):(a.__proto__=h,n(a,c,"GeneratorFunction")),a.prototype=Object.create(m),a},a.awrap=function(a){return{__await:a}},g(_.prototype),n(_.prototype,r,(function(){return this})),a.AsyncIterator=_,a.async=function(e,f,d,t,b){void 0===b&&(b=Promise);var r=new _(i(e,f,d,t),b);return a.isGeneratorFunction(f)?r:r.next().then((function(a){return a.done?a.value:r.next()}))},g(m),n(m,c,"Generator"),n(m,b,(function(){return this})),n(m,"toString",(function(){return"[object Generator]"})),a.keys=function(a){var e=Object(a),f=[];for(var d in e)f.push(d);return f.reverse(),function a(){for(;f.length;){var d=f.pop();if(d in e)return a.value=d,a.done=!1,a}return a.done=!0,a}},a.values=T,x.prototype={constructor:x,reset:function(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!a)for(var e in this)"t"===e.charAt(0)&&f.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function(a){if(this.done)throw a;var e=this;function d(f,d){return r.type="throw",r.arg=a,e.next=f,d&&(e.method="next",e.arg=void 0),!!d}for(var t=this.tryEntries.length-1;t>=0;--t){var b=this.tryEntries[t],r=b.completion;if("root"===b.tryLoc)return d("end");if(b.tryLoc<=this.prev){var c=f.call(b,"catchLoc"),n=f.call(b,"finallyLoc");if(c&&n){if(this.prev<b.catchLoc)return d(b.catchLoc,!0);if(this.prev<b.finallyLoc)return d(b.finallyLoc)}else if(c){if(this.prev<b.catchLoc)return d(b.catchLoc,!0)}else{if(!n)throw new Error("try statement without catch or finally");if(this.prev<b.finallyLoc)return d(b.finallyLoc)}}}},abrupt:function(a,e){for(var d=this.tryEntries.length-1;d>=0;--d){var t=this.tryEntries[d];if(t.tryLoc<=this.prev&&f.call(t,"finallyLoc")&&this.prev<t.finallyLoc){var b=t;break}}b&&("break"===a||"continue"===a)&&b.tryLoc<=e&&e<=b.finallyLoc&&(b=null);var r=b?b.completion:{};return r.type=a,r.arg=e,b?(this.method="next",this.next=b.finallyLoc,s):this.complete(r)},complete:function(a,e){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&e&&(this.next=e),s},finish:function(a){for(var e=this.tryEntries.length-1;e>=0;--e){var f=this.tryEntries[e];if(f.finallyLoc===a)return this.complete(f.completion,f.afterLoc),w(f),s}},catch:function(a){for(var e=this.tryEntries.length-1;e>=0;--e){var f=this.tryEntries[e];if(f.tryLoc===a){var d=f.completion;if("throw"===d.type){var t=d.arg;w(f)}return t}}throw new Error("illegal catch attempt")},delegateYield:function(a,e,f){return this.delegate={iterator:T(a),resultName:e,nextLoc:f},"next"===this.method&&(this.arg=void 0),s}},a}function _e(a){return(_e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a})(a)}function Ee(a,e,f,d,t,b,r){try{var c=a[b](r),n=c.value}catch(i){return void f(i)}c.done?e(n):Promise.resolve(n).then(d,t)}function ke(a){return function(){var e=this,f=arguments;return new Promise((function(d,t){var b=a.apply(e,f);function r(a){Ee(b,d,t,r,c,"next",a)}function c(a){Ee(b,d,t,r,c,"throw",a)}r(void 0)}))}}function Se(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function we(a,e){for(var f=0;f<e.length;f++){var d=e[f];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,Be(d.key),d)}}function xe(a,e,f){return e&&we(a.prototype,e),f&&we(a,f),Object.defineProperty(a,"prototype",{writable:!1}),a}function Te(a,e,f){return(e=Be(e))in a?Object.defineProperty(a,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):a[e]=f,a}function Ae(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),e&&De(a,e)}function Ie(a){return(Ie=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)})(a)}function De(a,e){return(De=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,e){return a.__proto__=e,a})(a,e)}function Oe(a,e){if(null==a)return{};var f,d,t=function(a,e){if(null==a)return{};var f,d,t={},b=Object.keys(a);for(d=0;d<b.length;d++)f=b[d],e.indexOf(f)>=0||(t[f]=a[f]);return t}(a,e);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(a);for(d=0;d<b.length;d++)f=b[d],e.indexOf(f)>=0||Object.prototype.propertyIsEnumerable.call(a,f)&&(t[f]=a[f])}return t}function Re(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function Le(a){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(a){return!1}}();return function(){var f,d=Ie(a);if(e){var t=Ie(this).constructor;f=Reflect.construct(d,arguments,t)}else f=d.apply(this,arguments);return function(a,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return Re(a)}(this,f)}}function Ce(a,e){return function(a){if(Array.isArray(a))return a}(a)||function(a,e){var f=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=f){var d,t,b,r,c=[],n=!0,i=!1;try{if(b=(f=f.call(a)).next,0===e){if(Object(f)!==f)return;n=!1}else for(;!(n=(d=b.call(f)).done)&&(c.push(d.value),c.length!==e);n=!0);}catch(o){i=!0,t=o}finally{try{if(!n&&null!=f.return&&(r=f.return(),Object(r)!==r))return}finally{if(i)throw t}}return c}}(a,e)||je(a,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pe(a){return function(a){if(Array.isArray(a))return Me(a)}(a)||function(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}(a)||je(a)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function je(a,e){if(a){if("string"==typeof a)return Me(a,e);var f=Object.prototype.toString.call(a).slice(8,-1);return"Object"===f&&a.constructor&&(f=a.constructor.name),"Map"===f||"Set"===f?Array.from(a):"Arguments"===f||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(f)?Me(a,e):void 0}}function Me(a,e){(null==e||e>a.length)&&(e=a.length);for(var f=0,d=new Array(e);f<e;f++)d[f]=a[f];return d}function Be(a){var e=function(a,e){if("object"!=typeof a||null===a)return a;var f=a[Symbol.toPrimitive];if(void 0!==f){var d=f.call(a,e||"default");if("object"!=typeof d)return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(a)}(a,"string");return"symbol"==typeof e?e:String(e)}function Ue(a,e){var f=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);e&&(d=d.filter((function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable}))),f.push.apply(f,d)}return f}function Ne(a){for(var e=1;e<arguments.length;e++){var f=null!=arguments[e]?arguments[e]:{};e%2?Ue(Object(f),!0).forEach((function(e){$e(a,e,f[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(f)):Ue(Object(f)).forEach((function(e){Object.defineProperty(a,e,Object.getOwnPropertyDescriptor(f,e))}))}return a}function Fe(){Fe=function(){return a};var a={},e=Object.prototype,f=e.hasOwnProperty,d=Object.defineProperty||function(a,e,f){a[e]=f.value},t="function"==typeof Symbol?Symbol:{},b=t.iterator||"@@iterator",r=t.asyncIterator||"@@asyncIterator",c=t.toStringTag||"@@toStringTag";function n(a,e,f){return Object.defineProperty(a,e,{value:f,enumerable:!0,configurable:!0,writable:!0}),a[e]}try{n({},"")}catch(I){n=function(a,e,f){return a[e]=f}}function i(a,e,f,t){var b=e&&e.prototype instanceof u?e:u,r=Object.create(b.prototype),c=new x(t||[]);return d(r,"_invoke",{value:E(a,f,c)}),r}function o(a,e,f){try{return{type:"normal",arg:a.call(e,f)}}catch(I){return{type:"throw",arg:I}}}a.wrap=i;var s={};function u(){}function l(){}function h(){}var p={};n(p,b,(function(){return this}));var v=Object.getPrototypeOf,y=v&&v(v(T([])));y&&y!==e&&f.call(y,b)&&(p=y);var m=h.prototype=u.prototype=Object.create(p);function g(a){["next","throw","return"].forEach((function(e){n(a,e,(function(a){return this._invoke(e,a)}))}))}function _(a,e){function t(d,b,r,c){var n=o(a[d],a,b);if("throw"!==n.type){var i=n.arg,s=i.value;return s&&"object"==typeof s&&f.call(s,"__await")?e.resolve(s.__await).then((function(a){t("next",a,r,c)}),(function(a){t("throw",a,r,c)})):e.resolve(s).then((function(a){i.value=a,r(i)}),(function(a){return t("throw",a,r,c)}))}c(n.arg)}var b;d(this,"_invoke",{value:function(a,f){function d(){return new e((function(e,d){t(a,f,e,d)}))}return b=b?b.then(d,d):d()}})}function E(a,e,f){var d="suspendedStart";return function(t,b){if("executing"===d)throw new Error("Generator is already running");if("completed"===d){if("throw"===t)throw b;return{value:void 0,done:!0}}for(f.method=t,f.arg=b;;){var r=f.delegate;if(r){var c=k(r,f);if(c){if(c===s)continue;return c}}if("next"===f.method)f.sent=f._sent=f.arg;else if("throw"===f.method){if("suspendedStart"===d)throw d="completed",f.arg;f.dispatchException(f.arg)}else"return"===f.method&&f.abrupt("return",f.arg);d="executing";var n=o(a,e,f);if("normal"===n.type){if(d=f.done?"completed":"suspendedYield",n.arg===s)continue;return{value:n.arg,done:f.done}}"throw"===n.type&&(d="completed",f.method="throw",f.arg=n.arg)}}}function k(a,e){var f=e.method,d=a.iterator[f];if(void 0===d)return e.delegate=null,"throw"===f&&a.iterator.return&&(e.method="return",e.arg=void 0,k(a,e),"throw"===e.method)||"return"!==f&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+f+"' method")),s;var t=o(d,a.iterator,e.arg);if("throw"===t.type)return e.method="throw",e.arg=t.arg,e.delegate=null,s;var b=t.arg;return b?b.done?(e[a.resultName]=b.value,e.next=a.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,s):b:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,s)}function S(a){var e={tryLoc:a[0]};1 in a&&(e.catchLoc=a[1]),2 in a&&(e.finallyLoc=a[2],e.afterLoc=a[3]),this.tryEntries.push(e)}function w(a){var e=a.completion||{};e.type="normal",delete e.arg,a.completion=e}function x(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(S,this),this.reset(!0)}function T(a){if(a){var e=a[b];if(e)return e.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var d=-1,t=function e(){for(;++d<a.length;)if(f.call(a,d))return e.value=a[d],e.done=!1,e;return e.value=void 0,e.done=!0,e};return t.next=t}}return{next:A}}function A(){return{value:void 0,done:!0}}return l.prototype=h,d(m,"constructor",{value:h,configurable:!0}),d(h,"constructor",{value:l,configurable:!0}),l.displayName=n(h,c,"GeneratorFunction"),a.isGeneratorFunction=function(a){var e="function"==typeof a&&a.constructor;return!!e&&(e===l||"GeneratorFunction"===(e.displayName||e.name))},a.mark=function(a){return Object.setPrototypeOf?Object.setPrototypeOf(a,h):(a.__proto__=h,n(a,c,"GeneratorFunction")),a.prototype=Object.create(m),a},a.awrap=function(a){return{__await:a}},g(_.prototype),n(_.prototype,r,(function(){return this})),a.AsyncIterator=_,a.async=function(e,f,d,t,b){void 0===b&&(b=Promise);var r=new _(i(e,f,d,t),b);return a.isGeneratorFunction(f)?r:r.next().then((function(a){return a.done?a.value:r.next()}))},g(m),n(m,c,"Generator"),n(m,b,(function(){return this})),n(m,"toString",(function(){return"[object Generator]"})),a.keys=function(a){var e=Object(a),f=[];for(var d in e)f.push(d);return f.reverse(),function a(){for(;f.length;){var d=f.pop();if(d in e)return a.value=d,a.done=!1,a}return a.done=!0,a}},a.values=T,x.prototype={constructor:x,reset:function(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!a)for(var e in this)"t"===e.charAt(0)&&f.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function(a){if(this.done)throw a;var e=this;function d(f,d){return r.type="throw",r.arg=a,e.next=f,d&&(e.method="next",e.arg=void 0),!!d}for(var t=this.tryEntries.length-1;t>=0;--t){var b=this.tryEntries[t],r=b.completion;if("root"===b.tryLoc)return d("end");if(b.tryLoc<=this.prev){var c=f.call(b,"catchLoc"),n=f.call(b,"finallyLoc");if(c&&n){if(this.prev<b.catchLoc)return d(b.catchLoc,!0);if(this.prev<b.finallyLoc)return d(b.finallyLoc)}else if(c){if(this.prev<b.catchLoc)return d(b.catchLoc,!0)}else{if(!n)throw new Error("try statement without catch or finally");if(this.prev<b.finallyLoc)return d(b.finallyLoc)}}}},abrupt:function(a,e){for(var d=this.tryEntries.length-1;d>=0;--d){var t=this.tryEntries[d];if(t.tryLoc<=this.prev&&f.call(t,"finallyLoc")&&this.prev<t.finallyLoc){var b=t;break}}b&&("break"===a||"continue"===a)&&b.tryLoc<=e&&e<=b.finallyLoc&&(b=null);var r=b?b.completion:{};return r.type=a,r.arg=e,b?(this.method="next",this.next=b.finallyLoc,s):this.complete(r)},complete:function(a,e){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&e&&(this.next=e),s},finish:function(a){for(var e=this.tryEntries.length-1;e>=0;--e){var f=this.tryEntries[e];if(f.finallyLoc===a)return this.complete(f.completion,f.afterLoc),w(f),s}},catch:function(a){for(var e=this.tryEntries.length-1;e>=0;--e){var f=this.tryEntries[e];if(f.tryLoc===a){var d=f.completion;if("throw"===d.type){var t=d.arg;w(f)}return t}}throw new Error("illegal catch attempt")},delegateYield:function(a,e,f){return this.delegate={iterator:T(a),resultName:e,nextLoc:f},"next"===this.method&&(this.arg=void 0),s}},a}function Ge(a){return(Ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a})(a)}function Ve(a,e,f,d,t,b,r){try{var c=a[b](r),n=c.value}catch(i){return void f(i)}c.done?e(n):Promise.resolve(n).then(d,t)}function qe(a){return function(){var e=this,f=arguments;return new Promise((function(d,t){var b=a.apply(e,f);function r(a){Ve(b,d,t,r,c,"next",a)}function c(a){Ve(b,d,t,r,c,"throw",a)}r(void 0)}))}}function ze(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function Ke(a,e){for(var f=0;f<e.length;f++){var d=e[f];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,rf(d.key),d)}}function He(a,e,f){return e&&Ke(a.prototype,e),f&&Ke(a,f),Object.defineProperty(a,"prototype",{writable:!1}),a}function $e(a,e,f){return(e=rf(e))in a?Object.defineProperty(a,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):a[e]=f,a}function We(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),e&&Xe(a,e)}function Ye(a){return(Ye=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)})(a)}function Xe(a,e){return(Xe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,e){return a.__proto__=e,a})(a,e)}function Qe(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(a){return!1}}function Je(a,e,f){return(Je=Qe()?Reflect.construct.bind():function(a,e,f){var d=[null];d.push.apply(d,e);var t=new(Function.bind.apply(a,d));return f&&Xe(t,f.prototype),t}).apply(null,arguments)}function Ze(a){var e="function"==typeof Map?new Map:void 0;return Ze=function(a){if(null===a||(f=a,-1===Function.toString.call(f).indexOf("[native code]")))return a;var f;if("function"!=typeof a)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(a))return e.get(a);e.set(a,d)}function d(){return Je(a,arguments,Ye(this).constructor)}return d.prototype=Object.create(a.prototype,{constructor:{value:d,enumerable:!1,writable:!0,configurable:!0}}),Xe(d,a)},Ze(a)}function af(a,e){if(null==a)return{};var f,d,t=function(a,e){if(null==a)return{};var f,d,t={},b=Object.keys(a);for(d=0;d<b.length;d++)f=b[d],e.indexOf(f)>=0||(t[f]=a[f]);return t}(a,e);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(a);for(d=0;d<b.length;d++)f=b[d],e.indexOf(f)>=0||Object.prototype.propertyIsEnumerable.call(a,f)&&(t[f]=a[f])}return t}function ef(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}function ff(a){var e=Qe();return function(){var f,d=Ye(a);if(e){var t=Ye(this).constructor;f=Reflect.construct(d,arguments,t)}else f=d.apply(this,arguments);return function(a,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return ef(a)}(this,f)}}function df(){return df="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(a,e,f){var d=function(a,e){for(;!Object.prototype.hasOwnProperty.call(a,e)&&null!==(a=Ye(a)););return a}(a,e);if(d){var t=Object.getOwnPropertyDescriptor(d,e);return t.get?t.get.call(arguments.length<3?a:f):t.value}},df.apply(this,arguments)}function tf(a,e){(null==e||e>a.length)&&(e=a.length);for(var f=0,d=new Array(e);f<e;f++)d[f]=a[f];return d}function bf(a,e){var f="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!f){if(Array.isArray(a)||(f=function(a,e){if(a){if("string"==typeof a)return tf(a,e);var f=Object.prototype.toString.call(a).slice(8,-1);return"Object"===f&&a.constructor&&(f=a.constructor.name),"Map"===f||"Set"===f?Array.from(a):"Arguments"===f||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(f)?tf(a,e):void 0}}(a))||e&&a&&"number"==typeof a.length){f&&(a=f);var d=0,t=function(){};return{s:t,n:function(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){throw a},f:t}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var b,r=!0,c=!1;return{s:function(){f=f.call(a)},n:function(){var a=f.next();return r=a.done,a},e:function(a){c=!0,b=a},f:function(){try{r||null==f.return||f.return()}finally{if(c)throw b}}}}function rf(a){var e=function(a,e){if("object"!=typeof a||null===a)return a;var f=a[Symbol.toPrimitive];if(void 0!==f){var d=f.call(a,e||"default");if("object"!=typeof d)return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(a)}(a,"string");return"symbol"==typeof e?e:String(e)}var cf,nf=function(){function a(){ze(this,a)}return He(a,null,[{key:"start",value:function(a){return a&&a.length?1===a.length&&a.end(0)-a.start(0)<1e-6||1===a.length&&a.start(0)<0?0:a.start(0):0}},{key:"end",value:function(a){return a&&a.length?1===a.length&&a.end(0)-a.start(0)<1e-6?0:a.end(a.length-1):0}},{key:"get",value:function(a){if(a)try{return a.buffered}catch(e){}}},{key:"buffers",value:function(a,e){if(!a||!a.length)return[];for(var f=[],d=0,t=a.length;d<t;d++){var b=f.length;if(b&&e){var r=f[b-1],c=r[1];if(a.start(d)-c<=e){var n=a.end(d);n>c&&(r[1]=n)}else f.push([a.start(d),a.end(d)])}else f.push([a.start(d),a.end(d)])}return f}},{key:"totalLength",value:function(a){return a&&a.length?a.reduce((function(a,e){return a+(e[1]-e[0])}),0):0}},{key:"info",value:function(e){var f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,d=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!e||!e.length)return{start:0,end:0,buffers:[]};for(var t=0,b=0,r=0,c=0,n=0,i=0,o=0,s=a.buffers(e,d),u=0,l=s.length;u<l;u++){var h=s[u];if(f+d>=h[0]&&f<=h[1])t=h[0],b=h[1],r=u;else{if(f+d<h[0]){c=h[0],n=h[1];break}f+d>h[1]&&(i=h[0],o=h[1])}}return{start:t,end:b,index:r,buffers:s,nextStart:c,nextEnd:n,prevStart:i,prevEnd:o,currentTime:f,behind:f-t,remaining:b?b-f:0,length:a.totalLength&&a.totalLength(s)}}},{key:"isBuffered",value:function(e,f){if(e){var d=a.get(e);if(null!=d&&d.length)for(var t=0;t<d.length;t++)if(f>=d.start(t)&&f<=d.end(t))return!0}return!1}}]),a}(),of="undefined"!=typeof window,sf="manifest",uf="network",lf="network_timeout",hf="network_forbidden",pf="network_notfound",vf="network_range_not_satisfiable",yf="demux",mf="remux",gf="media",_f="drm",Ef="other",kf="runtime",Sf={FLV:"FLV",HLS:"HLS",MP4:"MP4",FMP4:"FMP4",MSE_ADD_SB:"MSE_ADD_SB",MSE_APPEND_BUFFER:"MSE_APPEND_BUFFER",MSE_OTHER:"MSE_OTHER",MSE_FULL:"MSE_FULL",MSE_CHANGE_TYPE:"MSE_CHANGE_TYPE",OPTION:"OPTION",DASH:"DASH",LICENSE:"LICENSE",CUSTOM_LICENSE:"CUSTOM_LICENSE",MSE_HIJACK:"MSE_HIJACK",EME_HIJACK:"EME_HIJACK",SIDX:"SIDX",NO_CANPLAY_ERROR:"NO_CANPLAY_ERROR",BUFFERBREAK_ERROR:"BUFFERBREAK_ERROR",WAITING_TIMEOUT_ERROR:"WAITING_TIMEOUT_ERROR",MEDIA_ERR_ABORTED:"MEDIA_ERR_ABORTED",MEDIA_ERR_NETWORK:"MEDIA_ERR_NETWORK",MEDIA_ERR_DECODE:"MEDIA_ERR_DECODE",MEDIA_ERR_SRC_NOT_SUPPORTED:"MEDIA_ERR_SRC_NOT_SUPPORTED",MEDIA_ERR_CODEC_NOT_SUPPORTED:"MEDIA_ERR_CODEC_NOT_SUPPORTED",MEDIA_ERR_URL_EMPTY:"MEDIA_ERR_URL_EMPTY"},wf=($e(cf={},sf,{HLS:1100,DASH:1200}),$e(cf,uf,2100),$e(cf,lf,2101),$e(cf,hf,2103),$e(cf,pf,2104),$e(cf,vf,2116),$e(cf,yf,{FLV:3100,HLS:3200,MP4:3300,FMP4:3400,SIDX:3410}),$e(cf,mf,{FMP4:4100,MP4:4200}),$e(cf,gf,{MEDIA_ERR_ABORTED:5101,MEDIA_ERR_NETWORK:5102,MEDIA_ERR_DECODE:5103,MEDIA_ERR_SRC_NOT_SUPPORTED:5104,MEDIA_ERR_CODEC_NOT_SUPPORTED:5105,MEDIA_ERR_URL_EMPTY:5106,MSE_ADD_SB:5200,MSE_APPEND_BUFFER:5201,MSE_OTHER:5202,MSE_FULL:5203,MSE_HIJACK:5204,MSE_CHANGE_TYPE:5205,EME_HIJACK:5301}),$e(cf,_f,{LICENSE:7100,CUSTOM_LICENSE:7200}),$e(cf,Ef,8e3),$e(cf,kf,{NO_CANPLAY_ERROR:9001,BUFFERBREAK_ERROR:9002,WAITING_TIMEOUT_ERROR:9003}),cf),xf=function(a){We(f,a);var e=ff(f);function f(a,d,t,b,r){var c;return ze(this,f),(c=e.call(this,r||(null==t?void 0:t.message))).errorType=a===lf?uf:a,c.originError=t,c.ext=b,c.errorCode=wf[a][d]||wf[a],c.errorMessage=c.message,c.errorCode||(c.errorType=Ef,c.errorCode=wf[c.errorType]),c}return He(f,null,[{key:"create",value:function(a,e,d,t,b){return a instanceof f?a:(a instanceof Error&&(d=a,a=""),a||(a=Ef),new f(a,e,d,t,b))}},{key:"network",value:function(a){var e;return new f(null!=a&&a.isTimeout?lf:uf,null,a instanceof Error?a:null,{url:null==a?void 0:a.url,response:null==a?void 0:a.response,httpCode:null==a||null===(e=a.response)||void 0===e?void 0:e.status})}}]),f}(Ze(Error)),Tf={DEBUG:1,LOG:2,WARN:3,ERROR:4},Af=["Boolean","Number","String","Undefined","Null","Date","Object"],If=function(){function a(e,f){ze(this,a),this.name=e||"",this._prefix="[".concat(this.name,"]"),this.logCacheLevel=(null==f?void 0:f.logCacheLevel)||3,this.logMaxSize=(null==f?void 0:f.logMaxSize)||204800,this.logSize=0,this.logTextArray=[]}return He(a,[{key:"debug",value:function(){for(var e,f=arguments.length,d=new Array(f),t=0;t<f;t++)d[t]=arguments[t];this.logCache.apply(this,[Tf.DEBUG].concat(d)),a.disabled||(e=console).debug.apply(e,["[".concat(Df(),"]"),this._prefix].concat(d))}},{key:"log",value:function(){for(var e,f=arguments.length,d=new Array(f),t=0;t<f;t++)d[t]=arguments[t];this.logCache.apply(this,[Tf.LOG].concat(d)),a.disabled||(e=console).log.apply(e,["[".concat(Df(),"]"),this._prefix].concat(d))}},{key:"warn",value:function(){for(var e,f=arguments.length,d=new Array(f),t=0;t<f;t++)d[t]=arguments[t];this.logCache.apply(this,[Tf.WARN].concat(d)),a.disabled||(e=console).warn.apply(e,["[".concat(Df(),"]"),this._prefix].concat(d))}},{key:"error",value:function(){for(var e,f=arguments.length,d=new Array(f),t=0;t<f;t++)d[t]=arguments[t];this.logCache.apply(this,[Tf.ERROR].concat(d)),a.disabled||(e=console).error.apply(e,["[".concat(Df(),"]"),this._prefix].concat(d))}},{key:"logCache",value:function(a){if(!(a<this.logCacheLevel)){var e="";try{for(var f=arguments.length,d=new Array(f>1?f-1:0),t=1;t<f;t++)d[t-1]=arguments[t];var b=d.map((function(a){return Rf(a)}));e="[".concat(Df(),"]")+this._prefix+JSON.stringify(b)}catch(c){return}if(a>=this.logCacheLevel&&(this.logSize+=e.length,this.logTextArray.push(e)),this.logSize>this.logMaxSize){var r=this.logTextArray.shift();this.logSize-=r.length}}}},{key:"getLogCache",value:function(){var a=this.logTextArray.join("\n");return this.reset(),a}},{key:"reset",value:function(){this.logTextArray=[],this.logSize=0}},{key:"table",value:function(){var e;a.disabled||(console.group(this._prefix),(e=console).table.apply(e,arguments),console.groupEnd())}},{key:"setLogLevel",value:function(a){this.logCacheLevel=a}}],[{key:"enable",value:function(){a.disabled=!1}},{key:"disable",value:function(){a.disabled=!0}}]),a}();function Df(){return(new Date).toLocaleString()}function Of(a){if("object"!==Ge(a))return a;var e=Object.prototype.toString.call(a).slice(8,-1);switch(e){case"Array":case"Uint8Array":case"ArrayBuffer":return e+"["+a.length+"]";case"Object":return"{}";default:return e}}function Rf(a,e,f){f||(f=1),e||(e=2);var d={};if(!a||"object"!==Ge(a))return a;var t=Object.prototype.toString.call(a).slice(8,-1);if(!Af.includes(t))return t;if(!(f>e)){for(var b in a)Object.prototype.hasOwnProperty.call(a,b)&&(f===e?d[b]=Of(a[b]):"object"===Ge(a[b])?d[b]=Rf(a[b],e,f+1):d[b]=a[b]);return d}}function Lf(){var a,e,f=new Promise((function(f,d){a=f,e=d}));return f.used=!1,f.resolve=function(){return f.used=!0,a.apply(void 0,arguments)},f.reject=function(){return f.used=!0,e.apply(void 0,arguments)},f}function Cf(){try{return parseInt(performance.now(),10)}catch(a){return(new Date).getTime()}}$e(If,"disabled",!0);var Pf=function(a){try{return JSON.stringify(a)}catch(e){return""}};function jf(){var a=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];try{return of?a&&"undefined"!=typeof ManagedMediaSource?ManagedMediaSource:window.MediaSource:null}catch(e){}}function Mf(a){return/ManagedMediaSource/gi.test(Object.prototype.toString.call(a))}var Bf="appendBuffer",Uf="removeBuffer",Nf="updateDuration",Ff=function(){function a(e,f){var d=this;ze(this,a),$e(this,"media",null),$e(this,"mediaSource",null),$e(this,"_openPromise",Lf()),$e(this,"_queue",Object.create(null)),$e(this,"_sourceBuffer",Object.create(null)),$e(this,"_mseFullFlag",{}),$e(this,"_st",0),$e(this,"_opst",0),$e(this,"_logger",null),$e(this,"_config",null),$e(this,"_url",null),$e(this,"_onStartStreaming",(function(){d._logger.debug("startstreaming")})),$e(this,"_onEndStreaming",(function(){d._logger.debug("endstreaming")})),$e(this,"_onSBUpdateEnd",(function(a){var e=d._queue[a];if(e){var f=e[0];if((null==f?void 0:f.opName)!==Nf&&e.shift(),f){var t,b,r=Cf()-d._opst;d._logger.debug("UpdateEnd(".concat(a,"/").concat(f.opName,")"),Pf(function(a){var e=[];if(a instanceof TimeRanges)for(var f=0;f<a.length;f++)e.push({start:a.start(f),end:a.end(f)});return e}(null===(t=d._sourceBuffer[a])||void 0===t?void 0:t.buffered)),r,f.context),f.promise.resolve({name:f.opName,context:f.context,costtime:r});var c=null===(b=f.context)||void 0===b?void 0:b.callback;c&&"function"==typeof c&&c(f.context),d._startQueue(a)}}})),$e(this,"_onSBUpdateError",(function(a,e){var f=d._queue[a];if(f){var t=f[0];t&&(d._logger.error("UpdateError",a,t.opName,t.context),t.promise.reject(new xf(gf,Sf.MSE_APPEND_BUFFER,e)))}})),this._config=Object.assign(a.getDefaultConfig(),f),e&&this.bindMedia(e),this._logger=new If("MSE"),this._config.openLog&&If.enable()}var e,f,d;return He(a,[{key:"isOpened",get:function(){var a;return"open"===(null===(a=this.mediaSource)||void 0===a?void 0:a.readyState)}},{key:"hasOpTasks",get:function(){var a=this,e=!1;return Object.keys(this._queue).forEach((function(f){var d=a._queue[f];Array.isArray(d)&&(e||(e=d.length>0))})),e}},{key:"url",get:function(){return this._url}},{key:"duration",get:function(){var a;return(null===(a=this.mediaSource)||void 0===a?void 0:a.duration)||-1}},{key:"isEnded",get:function(){return!!this.mediaSource&&"ended"===this.mediaSource.readyState}},{key:"streaming",get:function(){return!Mf(this.mediaSource)||this.mediaSource.streaming}},{key:"isFull",value:function(e){return e?this._mseFullFlag[e]:this._mseFullFlag[a.VIDEO]}},{key:"updateDuration",value:function(a){var e=this,f=this.mediaSource&&this.mediaSource.duration>a;if(this.mediaSource&&this.mediaSource.duration>a){var d=0;if(Object.keys(this._sourceBuffer).forEach((function(a){try{d=Math.max(e.bufferEnd(a)||0,d)}catch(f){}})),a<d)return Promise.resolve()}return this._enqueueBlockingOp((function(){e.isEnded?e._logger.debug("setDuration but ended"):e.mediaSource&&(e.mediaSource.duration=a,e._logger.debug("setDuration",a))}),Nf,{isReduceDuration:f})}},{key:"open",value:function(){var a=this;if(this._openPromise.used&&!this.isOpened&&this.mediaSource){var e=this.mediaSource;e.addEventListener("sourceopen",(function f(){var d=Cf()-a._st;a._logger.debug("sourceopen",d),e.removeEventListener("sourceopen",f),a._openPromise.resolve({costtime:d})})),this._openPromise=Lf()}return this._openPromise}},{key:"bindMedia",value:(d=qe(Fe().mark((function a(e){var f,d,t,b,r=this;return Fe().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(!this.mediaSource&&!this.media){a.next=3;break}return a.next=3,this.unbindMedia();case 3:if(f=jf(this._config.preferMMS),e&&f){a.next=6;break}throw new Error("Param media or MediaSource does not exist");case 6:return this.media=e,d=this.mediaSource=new f,t=Mf(d),this._st=Cf(),b=function a(){var f=Cf()-r._st;r._logger.debug("sourceopen"),d.removeEventListener("sourceopen",a),URL.revokeObjectURL(e.src),r._openPromise.resolve({costtime:f})},d.addEventListener("sourceopen",b),t&&(d.addEventListener("startstreaming",this._onStartStreaming),d.addEventListener("endstreaming",this._onEndStreaming)),this._url=URL.createObjectURL(d),e.src=this._url,e.disableRemotePlayback=t,a.abrupt("return",this._openPromise);case 17:case"end":return a.stop()}}),a,this)}))),function(a){return d.apply(this,arguments)})},{key:"unbindMedia",value:(f=qe(Fe().mark((function a(){var e,f,d,t=this;return Fe().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(this._openPromise.used||this._openPromise.resolve(),e=this.mediaSource){if(Object.keys(this._queue).forEach((function(a){var e=t._queue[a];e&&e.forEach((function(a){var e,f;return null===(e=a.promise)||void 0===e||null===(f=e.resolve)||void 0===f?void 0:f.call(e)}))})),f=!!this.media&&this.media.readyState>=1,d="open"===e.readyState,f&&d)try{e.endOfStream()}catch(b){}Object.keys(this._sourceBuffer).forEach((function(a){try{e.removeSourceBuffer(t._sourceBuffer[a])}catch(b){}})),Mf(e)&&(e.removeEventListener("startstreaming",this._onStartStreaming),e.removeEventListener("endstreaming",this._onEndStreaming))}if(this.media){this.media.disableRemotePlayback=!1,this.media.removeAttribute("src");try{this.media.load()}catch(b){}this.media=null}this.mediaSource=null,this._openPromise=Lf(),this._queue=Object.create(null),this._sourceBuffer=Object.create(null);case 8:case"end":return a.stop()}}),a,this)}))),function(){return f.apply(this,arguments)})},{key:"createSource",value:function(a,e){if(!this._sourceBuffer[a]&&this.mediaSource){var f;try{f=this._sourceBuffer[a]=this.mediaSource.addSourceBuffer(e)}catch(d){throw new xf(gf,Sf.MSE_ADD_SB,d)}f.mimeType=e,f.addEventListener("updateend",this._onSBUpdateEnd.bind(this,a)),f.addEventListener("error",this._onSBUpdateError.bind(this,a))}}},{key:"changeType",value:function(a,e){var f=this,d=this._sourceBuffer[a];return this.mediaSource&&d&&d.mimeType!==e?"function"!=typeof d.changeType?Promise.reject(new xf(gf,Sf.MSE_CHANGE_TYPE,new Error("changeType is not a function"))):this._enqueueOp(a,(function(){try{d.changeType(e)}catch(t){throw new xf(gf,Sf.MSE_CHANGE_TYPE,t)}d.mimeType=e,f._onSBUpdateEnd(a)}),"changeType",{mimeType:e}):Promise.resolve()}},{key:"createOrChangeSource",value:function(a,e){return this.createSource(a,e),this.changeType(a,e)}},{key:"append",value:function(a,e,f){var d=this;return e&&e.byteLength&&this._sourceBuffer[a]?this._enqueueOp(a,(function(){var t;d.mediaSource&&!d.media.error&&(d._logger.debug("MSE APPEND START",f),d._opst=Cf(),null===(t=d._sourceBuffer[a])||void 0===t||t.appendBuffer(e))}),Bf,f):Promise.resolve()}},{key:"remove",value:function(a,e,f,d){var t=this,b=!1;return this._mseFullFlag[a]&&(b=!0),this._enqueueOp(a,(function(){if(t.mediaSource&&!t.media.error){var b=t._sourceBuffer[a];e>=f||!b?t._onSBUpdateEnd(a):(t._opst=Cf(),t._logger.debug("MSE REMOVE START",a,e,f,d),b.remove(e,f))}}),Uf,d,b)}},{key:"clearBuffer",value:function(a,e){var f,d=this;return Object.keys(this._sourceBuffer).forEach((function(t){f=d.remove(t,a,e)})),f||Promise.resolve()}},{key:"clearAllBuffer",value:function(){var a,e=this;return Object.keys(this._sourceBuffer).forEach((function(f){var d=e._sourceBuffer[f];a=e.remove(f,0,nf.end(nf.get(d)))})),a}},{key:"clearOpQueues",value:function(a,e){var f;this._logger.debug("MSE clearOpQueue START");var d=this._queue[a];if(e&&d)this._queue[a]=[];else if(d&&d[a]&&!(d.length<5)){var t=[];d.forEach((function(a){a.context&&a.context.isinit&&t.push(a)})),this._queue[a]=d.slice(0,2),t.length>0&&(f=this._queue[a]).push.apply(f,t)}}},{key:"endOfStream",value:function(a){var e=this;return this.mediaSource&&"open"===this.mediaSource.readyState?this._enqueueBlockingOp((function(){var f=e.mediaSource;f&&"open"===f.readyState&&(e._logger.debug("MSE endOfStream START"),a?f.endOfStream(a):f.endOfStream())}),"endOfStream"):Promise.resolve()}},{key:"setLiveSeekableRange",value:function(a,e){var f=this.mediaSource;a<0||e<a||null==f||!f.setLiveSeekableRange||"open"!==f.readyState||f.setLiveSeekableRange(a,e)}},{key:"getSourceBuffer",value:function(a){return this._sourceBuffer[a]}},{key:"buffered",value:function(a){return nf.get(this._sourceBuffer[a])}},{key:"bufferStart",value:function(a){return nf.start(this.buffered(a))}},{key:"bufferEnd",value:function(a){return nf.end(this.buffered(a))}},{key:"_enqueueOp",value:function(a,e,f,d,t){var b=this;if(!this.mediaSource)return Promise.resolve();var r=this._queue[a]=this._queue[a]||[],c={exec:e,promise:Lf(),opName:f,context:d};return t?(r.splice(0,0,c),this._mseFullFlag[a]=!1,this._startQueue(a)):r.push(c),this.isOpened||this.isEnded?1===r.length&&this._startQueue(a):this._openPromise.then((function(){1===r.length&&b._startQueue(a)})),c.promise}},{key:"_enqueueBlockingOp",value:(e=qe(Fe().mark((function a(e,f,d){var t,b,r=this;return Fe().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(this.mediaSource){a.next=2;break}return a.abrupt("return",Promise.resolve());case 2:if((t=Object.keys(this._sourceBuffer)).length){a.next=5;break}return a.abrupt("return",e());case 5:return b=[],t.forEach((function(a){var e=r._queue[a],t=Lf();b.push(t),e.push({exec:function(){t.resolve()},promise:t,opName:f,context:d}),1===e.length&&r._startQueue(a)})),a.abrupt("return",Promise.all(b).then((function(){try{return e()}finally{t.forEach((function(a){var e=r._queue[a],f=r._sourceBuffer[a];null==e||e.shift(),f&&f.updating||r._startQueue(a)}))}})));case 8:case"end":return a.stop()}}),a,this)}))),function(a,f,d){return e.apply(this,arguments)})},{key:"_startQueue",value:function(a){var e=this._queue[a];if(e){var f=e[0];if(f&&!this._mseFullFlag[a])try{f.exec()}catch(b){var d,t;if(b&&b.message&&b.message.indexOf("SourceBuffer is full")>=0)this._mseFullFlag[a]=!0,f.context&&"object"===Ge(f.context)&&(f.context.isFull=!0),this._logger.error("[MSE error], context,",f.context," ,name,",f.opName,",err,SourceBuffer is full"),null==f||null===(d=f.promise)||void 0===d||d.reject(new xf(gf,Sf.MSE_FULL,b));else this._logger.error(b),null==f||null===(t=f.promise)||void 0===t||t.reject(b.constructor===xf?b:new xf(gf,Sf.MSE_OTHER,b)),e.shift(),this._startQueue(a)}}}},{key:"setTimeoffset",value:function(a,e,f){var d=this;return this._enqueueOp(a,(function(){e<0&&(e+=.001),d._sourceBuffer[a].timestampOffset=e,d._onSBUpdateEnd(a)}),"setTimeoffset",f)}},{key:"abort",value:function(a,e){var f=this;return this.isOpened?this._enqueueOp(a,(function(){f._sourceBuffer[a].abort(),f._onSBUpdateEnd(a)}),"abort",e):Promise.resolve()}}],[{key:"isSupported",value:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'video/mp4; codecs="avc1.42E01E,mp4a.40.2"',e=jf();if(!e)return!1;try{return e.isTypeSupported(a)}catch(f){return this._logger.error(a,f),!1}}},{key:"isMMSOnly",value:function(){return"undefined"!=typeof ManagedMediaSource&&"undefined"==typeof MediaSource}},{key:"getDefaultConfig",value:function(){return{openLog:!1,preferMMS:!1}}}]),a}();$e(Ff,"VIDEO","video"),$e(Ff,"AUDIO","audio");var Gf="fetch",Vf="xhr",qf="arraybuffer",zf="text",Kf="json",Hf=function(a){We(f,a);var e=ff(f);function f(a,d,t,b){var r;return ze(this,f),$e(ef(r=e.call(this,b)),"retryCount",0),$e(ef(r),"isTimeout",!1),$e(ef(r),"loaderType",Gf),$e(ef(r),"startTime",0),$e(ef(r),"endTime",0),$e(ef(r),"options",{}),r.url=a,r.request=d,r.response=t,r}return He(f)}(Ze(Error)),$f=Object.prototype.toString;function Wf(a){if("[object Object]"!==$f.call(a))return!1;var e=Object.getPrototypeOf(a);return null===e||e===Object.prototype}function Yf(a){if(a&&null!==a[0]&&void 0!==a[0]&&(0!==a[0]||null!==a[1]&&void 0!==a[1])){var e="bytes="+a[0]+"-";return a[1]&&(e+=a[1]),e}}function Xf(a){return encodeURIComponent(a).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Qf(a,e){if(a){if(!e)return a;var f,d=Object.keys(e).map((function(a){if(null!=(f=e[a]))return Array.isArray(f)?a+="[]":f=[f],f.map((function(e){var f;return f=e,"[object Date]"===$f.call(f)?e=e.toISOString():function(a){return null!==a&&"object"===Ge(a)}(e)&&(e=JSON.stringify(e)),"".concat(Xf(a),"=").concat(Xf(e))})).join("&")})).filter(Boolean).join("&");if(d){var t=a.indexOf("#");-1!==t&&(a=a.slice(0,t)),a+=(-1===a.indexOf("?")?"?":"&")+d}return a}}function Jf(a,e,f,d,t,b,r,c,n,i,o){return t=null!=t?parseFloat(t):null,d=parseInt(d||"0",10),Number.isNaN(d)&&(d=0),{data:a,done:e,options:{range:n,vid:i,index:c,contentLength:d,age:t,startTime:b,firstByteTime:r,endTime:Date.now(),priOptions:o},response:f}}function Zf(a,e){return Math.round(8*a*1e3/e/1024)}var ad={ERROR:"error",TTFB:"core.ttfb",LOAD_START:"core.loadstart",LOAD_RESPONSE_HEADERS:"core.loadresponseheaders",LOAD_COMPLETE:"core.loadcomplete",LOAD_RETRY:"core.loadretry",SOURCEBUFFER_CREATED:"core.sourcebuffercreated",MEDIASOURCE_OPENED:"core.mediasourceopened",ANALYZE_DURATION_EXCEEDED:"core.analyzedurationexceeded",APPEND_BUFFER:"core.appendbuffer",REMOVE_BUFFER:"core.removebuffer",BUFFEREOS:"core.buffereos",KEYFRAME:"core.keyframe",CHASEFRAME:"core.chaseframe",METADATA_PARSED:"core.metadataparsed",SEI:"core.sei",SEI_IN_TIME:"core.seiintime",FLV_SCRIPT_DATA:"core.flvscriptdata",LOWDECODE:"core.lowdecode",SWITCH_URL_SUCCESS:"core.switchurlsuccess",SWITCH_URL_FAILED:"core.switchurlfailed",SPEED:"core.speed",HLS_MANIFEST_LOADED:"core.hlsmanifestloaded",HLS_LEVEL_LOADED:"core.hlslevelloaded",DEMUXED_TRACK:"core.demuxedtrack",STREAM_EXCEPTION:"core.streamexception",LARGE_AV_FIRST_FRAME_GAP_DETECT:"LARGE_AV_FIRST_FRAME_GAP_DETECT",LARGE_VIDEO_DTS_GAP_DETECT:"LARGE_VIDEO_DTS_GAP_DETECT",LARGE_AUDIO_DTS_GAP_DETECT:"LARGE_AUDIO_DTS_GAP_DETECT",AUDIO_GAP_DETECT:"AUDIO_GAP_DETECT",AUDIO_OVERLAP_DETECT:"AUDIO_OVERLAP_DETECT",MAX_DTS_DELTA_WITH_NEXT_SEGMENT_DETECT:"MAX_DTS_DELTA_WITH_NEXT_SEGMENT_DETECT",REAL_TIME_SPEED:"real_time_speed"},ed={exports:{}};!function(a){var e=Object.prototype.hasOwnProperty,f="~";function d(){}function t(a,e,f){this.fn=a,this.context=e,this.once=f||!1}function b(a,e,d,b,r){if("function"!=typeof d)throw new TypeError("The listener must be a function");var c=new t(d,b||a,r),n=f?f+e:e;return a._events[n]?a._events[n].fn?a._events[n]=[a._events[n],c]:a._events[n].push(c):(a._events[n]=c,a._eventsCount++),a}function r(a,e){0==--a._eventsCount?a._events=new d:delete a._events[e]}function c(){this._events=new d,this._eventsCount=0}Object.create&&(d.prototype=Object.create(null),(new d).__proto__||(f=!1)),c.prototype.eventNames=function(){var a,d,t=[];if(0===this._eventsCount)return t;for(d in a=this._events)e.call(a,d)&&t.push(f?d.slice(1):d);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(a)):t},c.prototype.listeners=function(a){var e=f?f+a:a,d=this._events[e];if(!d)return[];if(d.fn)return[d.fn];for(var t=0,b=d.length,r=new Array(b);t<b;t++)r[t]=d[t].fn;return r},c.prototype.listenerCount=function(a){var e=f?f+a:a,d=this._events[e];return d?d.fn?1:d.length:0},c.prototype.emit=function(a,e,d,t,b,r){var c=f?f+a:a;if(!this._events[c])return!1;var n,i,o=this._events[c],s=arguments.length;if(o.fn){switch(o.once&&this.removeListener(a,o.fn,void 0,!0),s){case 1:return o.fn.call(o.context),!0;case 2:return o.fn.call(o.context,e),!0;case 3:return o.fn.call(o.context,e,d),!0;case 4:return o.fn.call(o.context,e,d,t),!0;case 5:return o.fn.call(o.context,e,d,t,b),!0;case 6:return o.fn.call(o.context,e,d,t,b,r),!0}for(i=1,n=new Array(s-1);i<s;i++)n[i-1]=arguments[i];o.fn.apply(o.context,n)}else{var u,l=o.length;for(i=0;i<l;i++)switch(o[i].once&&this.removeListener(a,o[i].fn,void 0,!0),s){case 1:o[i].fn.call(o[i].context);break;case 2:o[i].fn.call(o[i].context,e);break;case 3:o[i].fn.call(o[i].context,e,d);break;case 4:o[i].fn.call(o[i].context,e,d,t);break;default:if(!n)for(u=1,n=new Array(s-1);u<s;u++)n[u-1]=arguments[u];o[i].fn.apply(o[i].context,n)}}return!0},c.prototype.on=function(a,e,f){return b(this,a,e,f,!1)},c.prototype.once=function(a,e,f){return b(this,a,e,f,!0)},c.prototype.removeListener=function(a,e,d,t){var b=f?f+a:a;if(!this._events[b])return this;if(!e)return r(this,b),this;var c=this._events[b];if(c.fn)c.fn!==e||t&&!c.once||d&&c.context!==d||r(this,b);else{for(var n=0,i=[],o=c.length;n<o;n++)(c[n].fn!==e||t&&!c[n].once||d&&c[n].context!==d)&&i.push(c[n]);i.length?this._events[b]=1===i.length?i[0]:i:r(this,b)}return this},c.prototype.removeAllListeners=function(a){var e;return a?(e=f?f+a:a,this._events[e]&&r(this,e)):(this._events=new d,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=f,c.EventEmitter=c,a.exports=c}(ed);var fd=Ma(ed.exports),dd=2097152,td=function(a){We(d,a);var e,f=ff(d);function d(){var a;return ze(this,d),$e(ef(a=f.call(this)),"_abortController",null),$e(ef(a),"_timeoutTimer",null),$e(ef(a),"_reader",null),$e(ef(a),"_response",null),$e(ef(a),"_aborted",!1),$e(ef(a),"_index",-1),$e(ef(a),"_range",null),$e(ef(a),"_receivedLength",0),$e(ef(a),"_running",!1),$e(ef(a),"_logger",null),$e(ef(a),"_vid",""),$e(ef(a),"_onProcessMinLen",0),$e(ef(a),"_onCancel",null),$e(ef(a),"_priOptions",null),a}return He(d,[{key:"load",value:function(a){var e,f=this,d=a.url,t=a.vid,b=a.timeout,r=a.responseType,c=a.onProgress,n=a.index,i=a.onTimeout,o=a.onCancel,s=a.range,u=a.transformResponse,l=a.request,h=a.params,p=a.logger,v=a.method,y=a.headers,m=a.body,g=a.mode,_=a.credentials,E=a.cache,k=a.redirect,S=a.referrer,w=a.referrerPolicy,x=a.onProcessMinLen,T=a.priOptions;this._logger=p,this._aborted=!1,this._onProcessMinLen=x,this._onCancel=o,this._abortController="undefined"!=typeof AbortController&&new AbortController,this._running=!0,this._index=n,this._range=s||[0,0],this._vid=t||d,this._priOptions=T||{};var A={method:v,headers:y,body:m,mode:g,credentials:_,cache:E,redirect:k,referrer:S,referrerPolicy:w,signal:null===(e=this._abortController)||void 0===e?void 0:e.signal},I=!1;clearTimeout(this._timeoutTimer),d=Qf(d,h);var D=Yf(s);D&&(y=l?l.headers:A.headers=A.headers||(Headers?new Headers:{}),Headers&&y instanceof Headers?y.append("Range",D):y.Range=D),b&&(this._timeoutTimer=setTimeout((function(){if(I=!0,f.cancel(),i){var a=new Hf(d,A,null,"timeout");a.isTimeout=!0,i(a,{index:f._index,range:f._range,vid:f._vid,priOptions:f._priOptions})}}),b));var O=Date.now();return this._logger.debug("[fetch load start], index,",n,",range,",s),new Promise((function(a,e){fetch(l||d,l?void 0:A).then(function(){var t=qe(Fe().mark((function t(b){var i,o,l,h;return Fe().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(clearTimeout(f._timeoutTimer),f._response=b,!f._aborted&&f._running){t.next=4;break}return t.abrupt("return");case 4:if(u&&(b=u(b,d)||b),b.ok){t.next=7;break}throw new Hf(d,A,b,"bad network response");case 7:if(i=Date.now(),r!==zf){t.next=15;break}return t.next=11,b.text();case 11:o=t.sent,f._running=!1,t.next=37;break;case 15:if(r!==Kf){t.next=22;break}return t.next=18,b.json();case 18:o=t.sent,f._running=!1,t.next=37;break;case 22:if(!c){t.next=29;break}return f.resolve=a,f.reject=e,f._loadChunk(b,c,O,i),t.abrupt("return");case 29:return t.next=31,b.arrayBuffer();case 31:o=t.sent,o=new Uint8Array(o),f._running=!1,l=Date.now()-O,h=Zf(o.byteLength,l),f.emit(ad.REAL_TIME_SPEED,{speed:h,len:o.byteLength,time:l,vid:f._vid,index:f._index,range:f._range,priOptions:f._priOptions});case 37:f._logger.debug("[fetch load end], index,",n,",range,",s),a(Jf(o,!0,b,b.headers.get("Content-Length"),b.headers.get("age"),O,i,n,s,f._vid,f._priOptions));case 39:case"end":return t.stop()}}),t)})));return function(a){return t.apply(this,arguments)}}()).catch((function(a){var t;clearTimeout(f._timeoutTimer),f._running=!1,f._aborted&&!I||((a=a instanceof Hf?a:new Hf(d,A,null,null===(t=a)||void 0===t?void 0:t.message)).startTime=O,a.endTime=Date.now(),a.isTimeout=I,a.options={index:f._index,range:f._range,vid:f._vid,priOptions:f._priOptions},e(a))}))}))}},{key:"cancel",value:(e=qe(Fe().mark((function a(){return Fe().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(!this._aborted){a.next=2;break}return a.abrupt("return");case 2:if(this._aborted=!0,this._running=!1,!this._response){a.next=14;break}if(a.prev=5,!this._reader){a.next=9;break}return a.next=9,this._reader.cancel();case 9:a.next=13;break;case 11:a.prev=11,a.t0=a.catch(5);case 13:this._response=this._reader=null;case 14:if(this._abortController){try{this._abortController.abort()}catch(e){}this._abortController=null}this._onCancel&&this._onCancel({index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions});case 16:case"end":return a.stop()}}),a,this,[[5,11]])}))),function(){return e.apply(this,arguments)})},{key:"_loadChunk",value:function(a,e,f,d){var t=this;if(!a.body||!a.body.getReader){this._running=!1;var b=new Hf(a.url,"",a,"onProgress of bad response.body.getReader");return b.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},void this.reject(b)}this._onProcessMinLen>0&&(this._cache=new Uint8Array(dd),this._writeIdx=0);var r,c,n,i=this._reader=a.body.getReader(),o=function(){var b=qe(Fe().mark((function b(){var s,u,l,h,p,v,y,m;return Fe().wrap((function(b){for(;;)switch(b.prev=b.next){case 0:return c=Date.now(),b.prev=1,b.next=4,i.read();case 4:r=b.sent,n=Date.now(),b.next=13;break;case 8:return b.prev=8,b.t0=b.catch(1),n=Date.now(),t._aborted||(t._running=!1,b.t0.options={index:t._index,range:t._range,vid:t._vid,priOptions:t._priOptions},t.reject(b.t0)),b.abrupt("return");case 13:if(u=(null===(s=t._range)||void 0===s?void 0:s.length)>0?t._range[0]:0,l=u+t._receivedLength,!t._aborted){b.next=19;break}return t._running=!1,e(void 0,!1,{range:[l,l],vid:t._vid,index:t._index,startTime:c,endTime:n,st:f,firstByteTime:d,priOptions:t._priOptions},a),b.abrupt("return");case 19:h=r.value?r.value.byteLength:0,t._receivedLength+=h,t._logger.debug("【fetchLoader,onProgress call】,task,",t._range,", start,",l,", end,",u+t._receivedLength,", done,",r.done),t._onProcessMinLen>0?t._writeIdx+h>=t._onProcessMinLen||r.done?((p=new Uint8Array(t._writeIdx+h)).set(t._cache.slice(0,t._writeIdx),0),h>0&&p.set(r.value,t._writeIdx),t._writeIdx=0,t._logger.debug("【fetchLoader,onProgress enough】,done,",r.done,",len,",p.byteLength,", writeIdx,",t._writeIdx)):h>0&&t._writeIdx+h<dd?(t._cache.set(r.value,t._writeIdx),t._writeIdx+=h,t._logger.debug("【fetchLoader,onProgress cache】,len,",h,", writeIdx,",t._writeIdx)):h>0&&(v=new Uint8Array(t._writeIdx+h+2048),t._logger.debug("【fetchLoader,onProgress extra start】,size,",t._writeIdx+h+2048,", datalen,",h,", writeIdx,",t._writeIdx),v.set(t._cache.slice(0,t._writeIdx),0),h>0&&v.set(r.value,t._writeIdx),t._writeIdx+=h,delete t._cache,t._cache=v,t._logger.debug("【fetchLoader,onProgress extra end】,len,",h,", writeIdx,",t._writeIdx)):p=r.value,(p&&p.byteLength>0||r.done)&&e(p,r.done,{range:[t._range[0]+t._receivedLength-(p?p.byteLength:0),t._range[0]+t._receivedLength],vid:t._vid,index:t._index,startTime:c,endTime:n,st:f,firstByteTime:d,priOptions:t._priOptions},a),r.done?(y=Date.now()-f,m=Zf(t._receivedLength,y),t.emit(ad.REAL_TIME_SPEED,{speed:m,len:t._receivedLength,time:y,vid:t._vid,index:t._index,range:t._range,priOptions:t._priOptions}),t._running=!1,t._logger.debug("[fetchLoader onProgress end],task,",t._range,",done,",r.done),t.resolve(Jf(r,!0,a,a.headers.get("Content-Length"),a.headers.get("age"),f,d,t._index,t._range,t._vid,t._priOptions))):o();case 25:case"end":return b.stop()}}),b,null,[[1,8]])})));return function(){return b.apply(this,arguments)}}();o()}},{key:"receiveLen",get:function(){return this._receivedLength}},{key:"running",get:function(){return this._running},set:function(a){this._running=a}}],[{key:"isSupported",value:function(){return!("undefined"==typeof fetch)}}]),d}(fd);var bd=function(a){We(f,a);var e=ff(f);function f(){var a;return ze(this,f),$e(ef(a=e.call(this)),"_xhr",null),$e(ef(a),"_aborted",!1),$e(ef(a),"_timeoutTimer",null),$e(ef(a),"_range",null),$e(ef(a),"_receivedLength",0),$e(ef(a),"_url",null),$e(ef(a),"_onProgress",null),$e(ef(a),"_index",-1),$e(ef(a),"_headers",null),$e(ef(a),"_currentChunkSizeKB",384),$e(ef(a),"_timeout",null),$e(ef(a),"_xhr",null),$e(ef(a),"_withCredentials",null),$e(ef(a),"_startTime",-1),$e(ef(a),"_loadCompleteResolve",null),$e(ef(a),"_loadCompleteReject",null),$e(ef(a),"_runing",!1),$e(ef(a),"_logger",!1),$e(ef(a),"_vid",""),$e(ef(a),"_responseType",void 0),$e(ef(a),"_credentials",void 0),$e(ef(a),"_method",void 0),$e(ef(a),"_transformResponse",void 0),$e(ef(a),"_firstRtt",void 0),$e(ef(a),"_onCancel",null),$e(ef(a),"_priOptions",null),a}return He(f,[{key:"load",value:function(a){var e=this;clearTimeout(this._timeoutTimer),this._logger=a.logger,this._range=a.range,this._onProgress=a.onProgress,this._index=a.index,this._headers=a.headers,this._withCredentials="include"===a.credentials||"same-origin"===a.credentials,this._body=a.body||null,a.method&&(this._method=a.method),this._timeout=a.timeout||null,this._runing=!0,this._vid=a.vid||a.url,this._responseType=a.responseType,this._firstRtt=-1,this._onTimeout=a.onTimeout,this._onCancel=a.onCancel,this._request=a.request,this._priOptions=a.priOptions||{},this._logger.debug("【xhrLoader task】, range",this._range),this._url=Qf(a.url,a.params);var f=Date.now();return new Promise((function(a,f){e._loadCompleteResolve=a,e._loadCompleteReject=f,e._startLoad()})).catch((function(a){if(clearTimeout(e._timeoutTimer),e._runing=!1,!e._aborted)throw(a=a instanceof Hf?a:new Hf(e._url,e._request)).startTime=f,a.endTime=Date.now(),a.options={index:e._index,vid:e._vid,priOptions:e._priOptions},a}))}},{key:"_startLoad",value:function(){var a=null;if(this._responseType===qf&&this._range&&this._range.length>1)if(this._onProgress){this._firstRtt=-1;var e=1024*this._currentChunkSizeKB,f=this._range[0]+this._receivedLength,d=this._range[1];e<this._range[1]-f&&(d=f+e),a=[f,d],this._logger.debug("[xhr_loader->],tast :",this._range,", SubRange, ",a)}else a=this._range,this._logger.debug("[xhr_loader->],tast :",this._range,", allRange, ",a);this._internalOpen(a)}},{key:"_internalOpen",value:function(a){var e=this;try{this._startTime=Date.now();var f=this._xhr=new XMLHttpRequest;f.open(this._method||"GET",this._url,!0),f.responseType=this._responseType,this._timeout&&(f.timeout=this._timeout),f.withCredentials=this._withCredentials,f.onload=this._onLoad.bind(this),f.onreadystatechange=this._onReadyStatechange.bind(this),f.onerror=function(a){var f,d,t;e._running=!1;var b=new Hf(e._url,e._request,null==a||null===(f=a.currentTarget)||void 0===f?void 0:f.response,"xhr.onerror.status:"+(null==a||null===(d=a.currentTarget)||void 0===d?void 0:d.status)+",statusText,"+(null==a||null===(t=a.currentTarget)||void 0===t?void 0:t.statusText));b.options={index:e._index,range:e._range,vid:e._vid,priOptions:e._priOptions},e._loadCompleteReject(b)},f.ontimeout=function(a){e.cancel();var f=new Hf(e._url,e._request,{status:408},"timeout");e._onTimeout&&(f.isTimeout=!0,e._onTimeout(f,{index:e._index,range:e._range,vid:e._vid,priOptions:e._priOptions})),f.options={index:e._index,range:e._range,vid:e._vid,priOptions:e._priOptions},e._loadCompleteReject(f)};var d=this._headers||{},t=Yf(a);t&&(d.Range=t),d&&Object.keys(d).forEach((function(a){f.setRequestHeader(a,d[a])})),this._logger.debug("[xhr.send->] tast,",this._range,",load sub range, ",a),f.send(this._body)}catch(b){b.options={index:this._index,range:a,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(b)}}},{key:"_onReadyStatechange",value:function(a){2===a.target.readyState&&this._firstRtt<0&&(this._firstRtt=Date.now())}},{key:"_onLoad",value:function(a){var e,f=a.target.status;if(f<200||f>299){var d=new Hf(this._url,null,Ne(Ne({},a.target.response),{},{status:f}),"bad response,status:"+f);return d.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(d)}var t,b=null,r=!1,c=(null===(e=this._range)||void 0===e?void 0:e.length)>0?this._range[0]:0;if(this._responseType===qf){var n,i=new Uint8Array(a.target.response);if(t=c+this._receivedLength,i&&i.byteLength>0){this._receivedLength+=i.byteLength;var o=Date.now()-this._startTime,s=Zf(this._receivedLength,o);this.emit(ad.REAL_TIME_SPEED,{speed:s,len:this._receivedLength,time:o,vid:this._vid,index:this._index,range:[t,c+this._receivedLength],priOptions:this._priOptions})}b=i,r=!((null===(n=this._range)||void 0===n?void 0:n.length)>1&&this._range[1]&&this._receivedLength<this._range[1]-this._range[0]),this._logger.debug("[xhr load done->], tast :",this._range,", start",t,"end ",c+this._receivedLength,",dataLen,",i?i.byteLength:0,",receivedLength",this._receivedLength,",index,",this._index,", done,",r)}else r=!0,b=a.target.response;var u={ok:f>=200&&f<300,status:f,statusText:this._xhr.statusText,url:this._xhr.responseURL,headers:this._getHeaders(this._xhr),body:this._xhr.response};this._transformResponse&&(u=this._transformResponse(u,this._url)||u),this._onProgress&&this._onProgress(b,r,{index:this._index,vid:this._vid,range:[t,c+this._receivedLength],startTime:this._startTime,endTime:Date.now(),priOptions:this._priOptions},u),r?(this._runing=!1,this._loadCompleteResolve&&this._loadCompleteResolve(Jf(this._onProgress?null:b,r,u,u.headers["content-length"],u.headers.age,this._startTime,this._firstRtt,this._index,this._range,this._vid,this._priOptions))):this._startLoad()}},{key:"cancel",value:function(){if(!this._aborted)return this._aborted=!0,this._runing=!1,df(Ye(f.prototype),"removeAllListeners",this).call(this),this._onCancel&&this._onCancel({index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions}),this._xhr?this._xhr.abort():void 0}},{key:"receiveLen",get:function(){return this._receivedLength}},{key:"running",get:function(){return this._running},set:function(a){this._running=a}},{key:"_getHeaders",value:function(a){var e,f={},d=bf(a.getAllResponseHeaders().trim().split("\r\n"));try{for(d.s();!(e=d.n()).done;){var t=e.value.split(": ");f[t[0].toLowerCase()]=t.slice(1).join(": ")}}catch(b){d.e(b)}finally{d.f()}return f}}],[{key:"isSupported",value:function(){return"undefined"!=typeof XMLHttpRequest}}]),f}(fd),rd=["retry","retryDelay","onRetryError","transformError"],cd=function(){function a(e,f){ze(this,a),this.promise=Lf(),this.alive=!!f.onProgress,!f.logger&&(f.logger=new If("Loader")),this._loaderType=e,this._loader=e===Gf&&"undefined"!=typeof fetch?new td:new bd,this._config=f,this._retryCount=0,this._retryTimer=null,this._canceled=!1,this._retryCheckFunc=f.retryCheckFunc,this._logger=f.logger}var e;return He(a,[{key:"exec",value:function(){var a=this,e=this._config,f=e.retry,d=e.retryDelay,t=e.onRetryError,b=e.transformError,r=af(e,rd),c=function(){var e=qe(Fe().mark((function e(){var n,i,o;return Fe().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,a._loader.load(r);case 3:n=e.sent,a.promise.resolve(n),e.next=27;break;case 7:if(e.prev=7,e.t0=e.catch(0),a._loader.running=!1,a._logger.debug("[task request catch err]",e.t0),!a._canceled){e.next=13;break}return e.abrupt("return");case 13:if(e.t0.loaderType=a._loaderType,e.t0.retryCount=a._retryCount,i=e.t0,b&&(i=b(i)||i),t&&a._retryCount>0&&t(i,a._retryCount,{index:r.index,vid:r.vid,range:r.range,priOptions:r.priOptions}),a._retryCount++,o=!0,a._retryCheckFunc&&(o=a._retryCheckFunc(e.t0)),!(o&&a._retryCount<=f)){e.next=26;break}return clearTimeout(a._retryTimer),a._logger.debug("[task request setTimeout],retry",a._retryCount,",retry range,",r.range),a._retryTimer=setTimeout(c,d),e.abrupt("return");case 26:a.promise.reject(i);case 27:case"end":return e.stop()}}),e,null,[[0,7]])})));return function(){return e.apply(this,arguments)}}();return c(),this.promise}},{key:"cancel",value:(e=qe(Fe().mark((function a(){return Fe().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return clearTimeout(this._retryTimer),this._canceled=!0,this._loader.running=!1,a.abrupt("return",this._loader.cancel());case 4:case"end":return a.stop()}}),a,this)}))),function(){return e.apply(this,arguments)})},{key:"running",get:function(){return this._loader&&this._loader.running}},{key:"loader",get:function(){return this._loader}}]),a}();function nd(){for(var a=arguments.length,e=new Array(a),f=0;f<a;f++)e[f]=arguments[f];if((e=e.filter(Boolean)).length<2)return e[0];var d=new Uint8Array(e.reduce((function(a,e){return a+e.byteLength}),0)),t=0;return e.forEach((function(a){d.set(a,t),t+=a.byteLength})),d}function id(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((function(e){return setTimeout(e,a)}))}var od=function(a){We(d,a);var e,f=ff(d);function d(a){var e;return ze(this,d),$e(ef(e=f.call(this,a)),"type",Gf),$e(ef(e),"_queue",[]),$e(ef(e),"_alive",[]),$e(ef(e),"_currentTask",null),$e(ef(e),"_finnalUrl",""),$e(ef(e),"_config",void 0),e._config=function(a){return Ne({loaderType:Gf,retry:0,retryDelay:0,timeout:0,request:null,onTimeout:void 0,onProgress:void 0,onRetryError:void 0,transformRequest:void 0,transformResponse:void 0,transformError:void 0,responseType:zf,range:void 0,url:"",params:void 0,method:"GET",headers:{},body:void 0,mode:void 0,credentials:void 0,cache:void 0,redirect:void 0,referrer:void 0,referrerPolicy:void 0,integrity:void 0,onProcessMinLen:0},a)}(a),e._config.loaderType!==Vf&&td.isSupported()||(e.type=Vf),e.log=a.logger,e}return He(d,[{key:"isFetch",value:function(){return this.type===Gf}},{key:"load",value:function(a){var e=this,f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};"string"!=typeof a&&a?f=a:f.url=a||f.url||this._config.url,(f=Object.assign({},this._config,f)).params&&(f.params=Object.assign({},f.params)),f.headers&&Wf(f.headers)&&(f.headers=Object.assign({},f.headers)),f.body&&Wf(f.body)&&(f.body=Object.assign({},f.body)),f.transformRequest&&(f=f.transformRequest(f)||f),f.logger=this.log;var d=new cd(this.type,f);return d.loader.on(ad.REAL_TIME_SPEED,(function(a){e.emit(ad.REAL_TIME_SPEED,a)})),this._queue.push(d),1!==this._queue.length||this._currentTask&&this._currentTask.running||this._processTask(),d.promise}},{key:"cancel",value:(e=qe(Fe().mark((function a(){var e;return Fe().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return e=this._queue.map((function(a){return a.cancel()})).concat(this._alive.map((function(a){return a.cancel()}))),this._currentTask&&e.push(this._currentTask.cancel()),this._queue=[],this._alive=[],a.next=6,Promise.all(e);case 6:return a.next=8,id();case 8:case"end":return a.stop()}}),a,this)}))),function(){return e.apply(this,arguments)})},{key:"_processTask",value:function(){var a=this;if(this._currentTask=this._queue.shift(),this._currentTask){this._currentTask.alive&&this._alive.push(this._currentTask);var e=this._currentTask.exec().catch((function(a){}));e&&"function"==typeof e.finally&&e.finally((function(){var e,f;null!==(e=a._currentTask)&&void 0!==e&&e.alive&&(null===(f=a._alive)||void 0===f?void 0:f.length)>0&&(a._alive=a._alive.filter((function(e){return e&&e!==a._currentTask}))),a._processTask()}))}}}],[{key:"isFetchSupport",value:function(){return td.isSupported()}}]),d}(fd),sd=function(){function a(){ze(this,a),$e(this,"_prevCurrentTime",0)}return He(a,[{key:"do",value:function(a){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,f=arguments.length>2?arguments[2]:void 0,d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;if(a){var t=a.currentTime,b=0;if(this._prevCurrentTime===t){var r=nf.info(nf.get(a),t);if(!r.buffers.length)return;f&&r.nextStart||r.nextStart&&r.nextStart-t<e?b=r.nextStart+.1:r.end&&r.end-t>d&&!a.seeking&&(b=t+.1)}this._prevCurrentTime=t,b&&t!==b&&(a.currentTime=b)}}}]),a}(),ud=function(){function a(e){var f=this;ze(this,a),$e(this,"_seiSet",new Set),this.emitter=e,e.on(ad.SEI,(function(a){a&&f._seiSet.add(a)}))}return He(a,[{key:"throw",value:function(a,e){var f=this;if(null!=a&&this._seiSet.size){var d=a-.2,t=a+.2,b=[];this._seiSet.forEach((function(a){a.time>=d&&a.time<=t&&b.push(a)})),b.forEach((function(a){f._seiSet.delete(a),f.emitter.emit(ad.SEI_IN_TIME,a)})),e&&this._seiSet.forEach((function(e){e.time<a-5&&f._seiSet.delete(e)}))}}},{key:"reset",value:function(){this._seiSet.clear()}}]),a}(),ld=function(){function a(e){ze(this,a),$e(this,"_chunkSpeed",0),$e(this,"_chunkCache",[]),$e(this,"_speeds",[]),$e(this,"_totalSize",0),$e(this,"_totalCost",0),this._opts=e||{}}return He(a,[{key:"addRecord",value:function(a,e){a&&e&&(this._speeds.push(8e3*a/e),this._speeds=this._speeds.slice(-3))}},{key:"addChunkRecord",value:function(a,e){var f,d;if(a&&e&&!(a<((null===(f=this._opts)||void 0===f?void 0:f.skipChunkSize)||1e3))){this._totalSize+=a,this._totalCost+=e,this._chunkSpeed=8e3*a/e,this._chunkCache.push({size:a,duration:e,timestamp:performance.now()});var t=(null===(d=this._opts)||void 0===d?void 0:d.chunkCountForSpeed)||50;this._chunkCache.length>t&&(this._chunkCache=this._chunkCache.slice(-t))}}},{key:"getAvgSpeed",value:function(){var a;if(!this._chunkCache.length&&!this._speeds.length)return 0;if(this._speeds.length)return this._speeds.reduce((function(a,e){return a+e}))/this._speeds.length;var e=this._chunkCache[this._chunkCache.length-1],f=performance.now()-e.timestamp;return f>((null===(a=this._opts)||void 0===a?void 0:a.longtimeNoReceived)||3e3)&&this._chunkCache.push({size:0,duration:f,timestamp:performance.now()}),8e3*this._chunkCache.reduce((function(a,e){return a+e.size}),0)/this._chunkCache.reduce((function(a,e){return a+e.duration}),0)}},{key:"getLatestSpeed",value:function(){return this._chunkCache.length||this._speeds.length?this._speeds.length?this._speeds[this._speeds.length-1]:this._chunkSpeed:0}},{key:"getTotalSize",value:function(){return this._totalSize}},{key:"getTotalCost",value:function(){return this._totalCost}},{key:"reset",value:function(){this._chunkCache=[],this._speeds=[],this._totalSize=0,this._totalCost=0}}]),a}(),hd=function(){function a(e){ze(this,a),$e(this,"encodeType",""),$e(this,"audioCodec",""),$e(this,"videoCodec",""),$e(this,"domain",""),$e(this,"fps",0),$e(this,"bitrate",0),$e(this,"width",0),$e(this,"height",0),$e(this,"samplerate",0),$e(this,"channelCount",0),$e(this,"gop",0),$e(this,"_bitsAccumulateSize",0),$e(this,"_bitsAccumulateDuration",0),$e(this,"_startGopId",-1),this._timescale=e}return He(a,[{key:"getStats",value:function(){return{encodeType:this.encodeType,audioCodec:this.audioCodec,videoCodec:this.videoCodec,domain:this.domain,fps:this.fps,bitrate:this.bitrate,width:this.width,height:this.height,samplerate:this.samplerate,channelCount:this.channelCount,gop:this.gop}}},{key:"setEncodeType",value:function(a){this.encodeType=a}},{key:"setFpsFromScriptData",value:function(a){var e,f=a.data,d=null==f||null===(e=f.onMetaData)||void 0===e?void 0:e.framerate;d&&d>0&&d<100&&(this.fps=d)}},{key:"setVideoMeta",value:function(a){if(this.width=a.width,this.height=a.height,this.videoCodec=a.codec,this.encodeType=a.codecType,a.fpsNum&&a.fpsDen){var e=a.fpsNum/a.fpsDen;e>0&&e<100&&(this.fps=e)}}},{key:"setAudioMeta",value:function(a){this.audioCodec=a.codec,this.samplerate=a.sampleRate,this.channelCount=a.channelCount}},{key:"setDomain",value:function(a){this.domain=a.split("/").slice(2,3)[0]}},{key:"updateBitrate",value:function(a){var e=this;if((!this.fps||this.fps>=100)&&a.length){var f=a.reduce((function(a,e){return a+e.duration}),0)/a.length;this.fps=Math.round(this._timescale/f)}a.forEach((function(a){-1===e._startGopId&&(e._startGopId=a.gopId),a.gopId===e._startGopId&&e.gop++,e._bitsAccumulateDuration+=a.duration/(e._timescale/1e3),e._bitsAccumulateSize+=a.units.reduce((function(a,e){return a+e.length}),0),e._bitsAccumulateDuration>=1e3&&(e.bitrate=8*e._bitsAccumulateSize,e._bitsAccumulateDuration=0,e._bitsAccumulateSize=0)}))}}]),a}(),pd=function(){function a(e){var f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;ze(this,a),$e(this,"_core",null),$e(this,"_samples",[]),this._core=e,this._timescale=f,this._stats=new hd(f),this._bindEvents()}return He(a,[{key:"getStats",value:function(){var a,e,f,d,t,b,r,c,n,i,o,s=(null===(a=this._core)||void 0===a?void 0:a.media)||{},u=s.currentTime,l=void 0===u?0:u,h=s.decodeFps,p=void 0===h?0:h;return Ne(Ne({},this._stats.getStats()),{},{downloadSpeed:(null===(e=this._core)||void 0===e||null===(f=e.speedInfo)||void 0===f?void 0:f.call(e).speed)||0,avgSpeed:(null===(d=this._core)||void 0===d||null===(t=d.speedInfo)||void 0===t?void 0:t.call(d).avgSpeed)||0,totalReceivedByte:(null===(b=this._core)||void 0===b||null===(r=b.speedInfo)||void 0===r?void 0:r.call(b).totalSize)||0,totalReceivedCost:(null===(c=this._core)||void 0===c||null===(n=c.speedInfo)||void 0===n?void 0:n.call(c).totalCost)||0,currentTime:l,bufferEnd:(null===(i=this._core)||void 0===i||null===(o=i.bufferInfo())||void 0===o?void 0:o.remaining)||0,decodeFps:p})}},{key:"_bindEvents",value:function(){var a=this;this._core.on(ad.DEMUXED_TRACK,(function(e){var f=e.videoTrack;return a._stats.updateBitrate(f.samples)})),this._core.on(ad.FLV_SCRIPT_DATA,(function(e){a._stats.setFpsFromScriptData(e)})),this._core.on(ad.METADATA_PARSED,(function(e){"video"===e.type?a._stats.setVideoMeta(e.track):a._stats.setAudioMeta(e.track)})),this._core.on(ad.TTFB,(function(e){a._stats.setDomain(e.responseUrl)}))}},{key:"reset",value:function(){this._samples=[],this._stats=new hd(this._timescale)}}]),a}();function vd(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}function yd(a,e){for(var f=0;f<e.length;f++){var d=e[f];d.enumerable=d.enumerable||!1,d.configurable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,Id(d.key),d)}}function md(a,e,f){return e&&yd(a.prototype,e),f&&yd(a,f),Object.defineProperty(a,"prototype",{writable:!1}),a}function gd(a,e,f){return(e=Id(e))in a?Object.defineProperty(a,e,{value:f,enumerable:!0,configurable:!0,writable:!0}):a[e]=f,a}function _d(a){return(_d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(a){return a.__proto__||Object.getPrototypeOf(a)})(a)}function Ed(a,e){return(Ed=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(a,e){return a.__proto__=e,a})(a,e)}function kd(a,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a}(a)}function Sd(a){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(a){return!1}}();return function(){var f,d=_d(a);if(e){var t=_d(this).constructor;f=Reflect.construct(d,arguments,t)}else f=d.apply(this,arguments);return kd(this,f)}}function wd(a,e){return function(a){if(Array.isArray(a))return a}(a)||function(a,e){var f=null==a?null:"undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=f){var d,t,b,r,c=[],n=!0,i=!1;try{if(b=(f=f.call(a)).next,0===e){if(Object(f)!==f)return;n=!1}else for(;!(n=(d=b.call(f)).done)&&(c.push(d.value),c.length!==e);n=!0);}catch(o){i=!0,t=o}finally{try{if(!n&&null!=f.return&&(r=f.return(),Object(r)!==r))return}finally{if(i)throw t}}return c}}(a,e)||Td(a,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xd(a){return function(a){if(Array.isArray(a))return Ad(a)}(a)||function(a){if("undefined"!=typeof Symbol&&null!=a[Symbol.iterator]||null!=a["@@iterator"])return Array.from(a)}(a)||Td(a)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Td(a,e){if(a){if("string"==typeof a)return Ad(a,e);var f=Object.prototype.toString.call(a).slice(8,-1);return"Object"===f&&a.constructor&&(f=a.constructor.name),"Map"===f||"Set"===f?Array.from(a):"Arguments"===f||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(f)?Ad(a,e):void 0}}function Ad(a,e){(null==e||e>a.length)&&(e=a.length);for(var f=0,d=new Array(e);f<e;f++)d[f]=a[f];return d}function Id(a){var e=function(a,e){if("object"!=typeof a||null===a)return a;var f=a[Symbol.toPrimitive];if(void 0!==f){var d=f.call(a,e||"default");if("object"!=typeof d)return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(a)}(a,"string");return"symbol"==typeof e?e:String(e)}var Dd="video",Od="audio",Rd="metadata",Ld="av1",Cd="avc",Pd="hevc",jd="aac",Md="g7110a",Bd="g7110m",Ud="opus",Nd="mp3",Fd="LARGE_AV_SHIFT",Gd="LARGE_VIDEO_GAP",Vd="LARGE_VIDEO_GAP_BETWEEN_CHUNK",qd="LARGE_AUDIO_GAP",zd="AUDIO_FILLED",Kd="AUDIO_DROPPED",Hd=function(){function a(){vd(this,a),gd(this,"id",1),gd(this,"type",Dd),gd(this,"codecType",Cd),gd(this,"pid",-1),gd(this,"hvcC",void 0),gd(this,"codec",""),gd(this,"timescale",0),gd(this,"formatTimescale",0),gd(this,"sequenceNumber",0),gd(this,"baseMediaDecodeTime",0),gd(this,"baseDts",0),gd(this,"duration",0),gd(this,"warnings",[]),gd(this,"samples",[]),gd(this,"pps",[]),gd(this,"sps",[]),gd(this,"vps",[]),gd(this,"fpsNum",0),gd(this,"fpsDen",0),gd(this,"sarRatio",[]),gd(this,"width",0),gd(this,"height",0),gd(this,"nalUnitSize",4),gd(this,"present",!1),gd(this,"isVideoEncryption",!1),gd(this,"isAudioEncryption",!1),gd(this,"isVideo",!0),gd(this,"lastKeyFrameDts",0),gd(this,"kid",null),gd(this,"pssh",null),gd(this,"ext",void 0)}return md(a,[{key:"reset",value:function(){this.sequenceNumber=this.width=this.height=this.fpsDen=this.fpsNum=this.duration=this.baseMediaDecodeTime=this.timescale=0,this.codec="",this.present=!1,this.pid=-1,this.pps=[],this.sps=[],this.vps=[],this.sarRatio=[],this.samples=[],this.warnings=[],this.hvcC=null}},{key:"firstDts",get:function(){return this.samples.length?this.samples[0].dts:null}},{key:"firstPts",get:function(){return this.samples.length?this.samples[0].pts:null}},{key:"samplesDuration",get:function(){if(this.samples.length>0){var a=this.samples[0],e=this.samples[this.samples.length-1];return e.dts-a.dts+e.duration}return 0}},{key:"exist",value:function(){return!!/av01/.test(this.codec)||!!(this.pps.length&&this.sps.length&&this.codec)}},{key:"hasSample",value:function(){return!!this.samples.length}},{key:"isEncryption",get:function(){return this.isVideoEncryption}}]),a}(),$d=function(){function a(){vd(this,a),gd(this,"id",2),gd(this,"type",Od),gd(this,"codecType",jd),gd(this,"pid",-1),gd(this,"codec",""),gd(this,"container",""),gd(this,"sequenceNumber",0),gd(this,"sampleDuration",0),gd(this,"timescale",0),gd(this,"formatTimescale",0),gd(this,"baseMediaDecodeTime",0),gd(this,"duration",0),gd(this,"warnings",[]),gd(this,"samples",[]),gd(this,"baseDts",0),gd(this,"sampleSize",16),gd(this,"sampleRate",0),gd(this,"channelCount",0),gd(this,"objectType",0),gd(this,"sampleRateIndex",0),gd(this,"config",[]),gd(this,"present",!1),gd(this,"isVideoEncryption",!1),gd(this,"isAudioEncryption",!1),gd(this,"kid",null),gd(this,"ext",void 0)}return md(a,[{key:"reset",value:function(){this.sequenceNumber=0,this.timescale=0,this.sampleDuration=0,this.sampleRate=0,this.channelCount=0,this.baseMediaDecodeTime=0,this.present=!1,this.pid=-1,this.codec="",this.samples=[],this.config=[],this.warnings=[]}},{key:"exist",value:function(){return!(!this.sampleRate||!this.channelCount||!this.codec&&!this.container||this.codecType!==jd&&this.codecType!==Md&&this.codecType!==Bd&&this.codecType!==Ud&&this.codecType!==Nd)}},{key:"hasSample",value:function(){return!!this.samples.length}},{key:"isEncryption",get:function(){return this.isAudioEncryption}},{key:"firstDts",get:function(){return this.samples.length?this.samples[0].dts:null}},{key:"firstPts",get:function(){return this.samples.length?this.samples[0].pts:null}},{key:"samplesDuration",get:function(){if(this.samples.length>0){var a=this.samples[0],e=this.samples[this.samples.length-1];return e.dts-a.dts+e.duration}return 0}}]),a}(),Wd=function(){function a(e,f,d){vd(this,a),gd(this,"flag",{}),gd(this,"keyframe",!1),gd(this,"gopId",0),gd(this,"duration",0),gd(this,"size",0),gd(this,"units",[]),gd(this,"chromaFormat",420),this.originPts=this.pts=e,this.originDts=this.dts=f,d&&(this.units=d)}return md(a,[{key:"cts",get:function(){return this.pts-this.dts}},{key:"setToKeyframe",value:function(){this.keyframe=!0,this.flag.dependsOn=2,this.flag.isNonSyncSample=0}}]),a}(),Yd=md((function a(e,f,d,t){vd(this,a),gd(this,"duration",1024),gd(this,"flag",{dependsOn:2,isNonSyncSample:0}),gd(this,"keyframe",!0),this.originPts=this.pts=this.dts=e,this.data=f,this.size=f.byteLength,this.sampleOffset=t,d&&(this.duration=d)})),Xd=function(a){!function(a,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),Object.defineProperty(a,"prototype",{writable:!1}),e&&Ed(a,e)}(f,a);var e=Sd(f);function f(){return vd(this,f),e.apply(this,arguments)}return md(f)}(md((function a(e,f){vd(this,a),gd(this,"time",0),this.data=e,this.originPts=this.pts=f}))),Qd=function(){function a(){vd(this,a),gd(this,"id",3),gd(this,"type",Rd),gd(this,"timescale",0),gd(this,"flvScriptSamples",[]),gd(this,"seiSamples",[])}return md(a,[{key:"exist",value:function(){return!(!this.flvScriptSamples.length&&!this.seiSamples.length||!this.timescale)}},{key:"reset",value:function(){this.timescale=0,this.flvScriptSamples=[],this.seiSamples=[]}},{key:"hasSample",value:function(){return!(!this.flvScriptSamples.length&&!this.seiSamples.length)}}]),a}(),Jd=function(){function a(e){vd(this,a),this.name=e||"",this._prefix="[".concat(this.name,"]")}return md(a,[{key:"warn",value:function(){var e;if(!a.disabled){for(var f=arguments.length,d=new Array(f),t=0;t<f;t++)d[t]=arguments[t];(e=console).warn.apply(e,[this._prefix].concat(d))}}}],[{key:"enable",value:function(){a.disabled=!1}},{key:"disable",value:function(){a.disabled=!0}}]),a}();gd(Jd,"disabled",!0);var Zd="undefined"!=typeof window,at=Zd&&navigator.userAgent.toLocaleLowerCase(),et=Zd&&/^((?!chrome|android).)*safari/.test(at),ft=Zd&&at.includes("firefox"),dt=Zd&&at.includes("android"),tt=function(){function a(){vd(this,a)}return md(a,null,[{key:"getRateIndexByRate",value:function(e){return a.FREQ.indexOf(e)}},{key:"parseADTS",value:function(e,f){for(var d=e.length,t=0;t+2<d&&(255!==e[t]||240!=(246&e[t+1]));)t++;if(!(t>=d)){var b=t,r=[],c=(60&e[t+2])>>>2,n=a.FREQ[c];if(!n)throw new Error("Invalid sampling index: ".concat(c));for(var i,o,s=1+((192&e[t+2])>>>6),u=(1&e[t+2])<<2|(192&e[t+3])>>>6,l=a._getConfig(c,u,s),h=l.config,p=l.codec,v=0,y=a.getFrameDuration(n);t+7<d;)if(255===e[t]&&240==(246&e[t+1])){if(!(o=(3&e[t+3])<<11|e[t+4]<<3|(224&e[t+5])>>5)||d-t<o)break;i=2*(1&~e[t+1]),r.push({pts:f+v*y,data:e.subarray(t+7+i,t+o)}),v++,t+=o}else t++;return{skip:b,remaining:t>=d?void 0:e.subarray(t),frames:r,samplingFrequencyIndex:c,sampleRate:n,objectType:s,channelCount:u,codec:p,config:h,originCodec:"mp4a.40.".concat(s)}}}},{key:"parseAudioSpecificConfig",value:function(e){if(e.length){var f=e[0]>>>3,d=(7&e[0])<<1|e[1]>>>7,t=(120&e[1])>>>3,b=a.FREQ[d];if(b){var r=a._getConfig(d,t,f);return{samplingFrequencyIndex:d,sampleRate:b,objectType:f,channelCount:t,config:r.config,codec:r.codec,originCodec:"mp4a.40.".concat(f)}}}}},{key:"getFrameDuration",value:function(a){return 1024*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4)/a}},{key:"_getConfig",value:function(a,e,f){var d,t,b=[];return ft?a>=6?(d=5,t=a-3):(d=2,t=a):dt?(d=2,t=a):(d=5,t=a,a>=6?t=a-3:1===e&&(d=2,t=a)),b[0]=d<<3,b[0]|=(14&a)>>1,b[1]=(1&a)<<7,b[1]|=e<<3,5===d&&(b[1]|=(14&t)>>1,b[2]=(1&t)<<7,b[2]|=8,b[3]=0),{config:b,codec:"mp4a.40.".concat(d)}}},{key:"getSilentFrame",value:function(a,e){if("mp4a.40.2"===a){if(1===e)return new Uint8Array([0,200,0,128,35,128]);if(2===e)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===e)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===e)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===e)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}}]),a}();function bt(){for(var a=arguments.length,e=new Array(a),f=0;f<a;f++)e[f]=arguments[f];e=e.filter(Boolean);var d=new Uint8Array(e.reduce((function(a,e){return a+e.byteLength}),0)),t=0;return e.forEach((function(a){d.set(a,t),t+=a.byteLength})),d}gd(tt,"FREQ",[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350]);var rt=Math.pow(2,32);function ct(a){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(a[e]<<8)+(a[e+1]||0)}function nt(a){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(a[e]<<24>>>0)+(a[e+1]<<16)+(a[e+2]<<8)+(a[e+3]||0)}function it(a){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return nt(a,e)*rt+nt(a,e+4)}function ot(a){for(var e,f="avc1.",d=0;d<3;d++)(e=a[d].toString(16)).length<2&&(e="0".concat(e)),f+=e;return f}function st(a){if(!Array.isArray(a)){for(var e=[],f="",d=0;d<a.length;d++)d%2&&(f=a[d-1]+a[d],e.push(parseInt(f,16)),f="");return e}return a.map((function(a){return parseInt(a,16)}))}function ut(a,e){return Number(a+"."+e)}var lt=function(){function a(){vd(this,a)}return md(a,null,[{key:"parseAnnexB",value:function(a){var e=a.byteLength-1,f=0;do{if(0!==a[e])break;f++,e--}while(e>0);f>=3&&(a=a.subarray(0,e+1));for(var d=a.length,t=2,b=0;null!==a[t]&&void 0!==a[t]&&1!==a[t];)t++;if((b=++t+2)>=d)return[];for(var r=[];b<d;)switch(a[b]){case 0:if(0!==a[b-1]){b+=2;break}if(0!==a[b-2]){b++;break}if(b<d-1&&1!==a[b+1]){b++;break}t!==b-2&&r.push(a.subarray(t,b-2));do{b++}while(1!==a[b]&&b<d);b=(t=b+1)+2;break;case 1:if(0!==a[b-1]||0!==a[b-2]){b+=3;break}t!==b-2&&r.push(a.subarray(t,b-2)),b=(t=b+1)+2;break;default:b+=3}return t<d&&r.push(a.subarray(t)),r}},{key:"parseAvcC",value:function(a){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(!(a.length<4)){for(var f,d=a.length,t=[],b=0;b+e<d;)if(f=nt(a,b),3===e&&(f>>>=8),b+=e,f){if(b+f>d)break;t.push(a.subarray(b,b+f)),b+=f}return t}}},{key:"parseSEI",value:function(a,e){for(var f=a.length,d=e?2:1,t=0,b=0,r="";255===a[d];)t+=255,d++;for(t+=a[d++];255===a[d];)b+=255,d++;if(b+=a[d++],5===t&&f>d+16)for(var c=0;c<16;c++)r+=a[d].toString(16),d++;return{payload:a.subarray(d,d+b),type:t,size:b,uuid:r}}},{key:"removeEPB",value:function(a){for(var e=a.byteLength,f=[],d=1;d<e-2;)0===a[d]&&0===a[d+1]&&3===a[d+2]?(f.push(d+2),d+=2):d++;if(!f.length)return a;var t=e-f.length,b=new Uint8Array(t),r=0;for(d=0;d<t;r++,d++)r===f[0]&&(r++,f.shift()),b[d]=a[r];return b}}]),a}(),ht=function(){function a(e){if(vd(this,a),gd(this,"_bytesAvailable",void 0),gd(this,"_bitsAvailable",0),gd(this,"_word",0),!e)throw new Error("ExpGolomb data params is required");this._data=e,this._bytesAvailable=e.byteLength,this._bytesAvailable&&this._loadWord()}return md(a,[{key:"bitsAvailable",get:function(){return this._bitsAvailable}},{key:"_loadWord",value:function(){var a=this._data.byteLength-this._bytesAvailable,e=Math.min(4,this._bytesAvailable);if(0===e)throw new Error("No bytes available");var f=new Uint8Array(4);f.set(this._data.subarray(a,a+e)),this._word=new DataView(f.buffer).getUint32(0),this._bitsAvailable=8*e,this._bytesAvailable-=e}},{key:"skipBits",value:function(a){if(this._bitsAvailable>a)this._word<<=a,this._bitsAvailable-=a;else{a-=this._bitsAvailable;var e=Math.floor(a/8);a-=8*e,this._bytesAvailable-=e,this._loadWord(),this._word<<=a,this._bitsAvailable-=a}}},{key:"readBits",value:function(a){if(a>32)throw new Error("Cannot read more than 32 bits");var e=Math.min(this._bitsAvailable,a),f=this._word>>>32-e;return this._bitsAvailable-=e,this._bitsAvailable>0?this._word<<=e:this._bytesAvailable>0&&this._loadWord(),(e=a-e)>0&&this._bitsAvailable?f<<e|this.readBits(e):f}},{key:"skipLZ",value:function(){var a;for(a=0;a<this._bitsAvailable;++a)if(this._word&2147483648>>>a)return this._word<<=a,this._bitsAvailable-=a,a;return this._loadWord(),a+this.skipLZ()}},{key:"skipUEG",value:function(){this.skipBits(1+this.skipLZ())}},{key:"readUEG",value:function(){var a=this.skipLZ();return this.readBits(a+1)-1}},{key:"readEG",value:function(){var a=this.readUEG();return 1&a?1+a>>>1:-1*(a>>>1)}},{key:"readBool",value:function(){return 1===this.readBits(1)}},{key:"readUByte",value:function(){return this.readBits(8)}},{key:"skipScalingList",value:function(a){for(var e=8,f=8,d=0;d<a;d++)0!==f&&(f=(e+this.readEG()+256)%256),e=0===f?e:f}}]),a}(),pt=function(){function a(){vd(this,a)}return md(a,null,[{key:"parseAVCDecoderConfigurationRecord",value:function(e){if(!(e.length<7)){for(var f,d,t=1+(3&e[4]),b=[],r=[],c=6,n=31&e[5],i=0;i<n;i++)if(d=e[c]<<8|e[c+1],c+=2,d){var o=e.subarray(c,c+d);c+=d,b.push(o),f||(f=a.parseSPS(lt.removeEPB(o)))}var s,u=e[c];c++;for(var l=0;l<u;l++)s=e[c]<<8|e[c+1],c+=2,s&&(r.push(e.subarray(c,c+s)),c+=s);return{sps:f,spsArr:b,ppsArr:r,nalUnitSize:t}}}},{key:"parseSPS",value:function(a){var e=new ht(a);e.readUByte();var f=e.readUByte(),d=e.readUByte(),t=e.readUByte();e.skipUEG();var b=420;if(100===f||110===f||122===f||244===f||44===f||83===f||86===f||118===f||128===f||138===f||144===f){var r=e.readUEG();if(r<=3&&(b=[0,420,422,444][r]),3===r&&e.skipBits(1),e.skipUEG(),e.skipUEG(),e.skipBits(1),e.readBool())for(var c=3!==r?8:12,n=0;n<c;n++)e.readBool()&&(n<6?e.skipScalingList(16):e.skipScalingList(64))}e.skipUEG();var i=e.readUEG();if(0===i)e.readUEG();else if(1===i){e.skipBits(1),e.skipUEG(),e.skipUEG();for(var o=e.readUEG(),s=0;s<o;s++)e.skipUEG()}e.skipUEG(),e.skipBits(1);var u=e.readUEG(),l=e.readUEG(),h=e.readBits(1);0===h&&e.skipBits(1),e.skipBits(1);var p,v,y,m,g,_=0,E=0,k=0,S=0;if(e.readBool()&&(_=e.readUEG(),E=e.readUEG(),k=e.readUEG(),S=e.readUEG()),e.readBool()){if(e.readBool())switch(e.readUByte()){case 1:p=[1,1];break;case 2:p=[12,11];break;case 3:p=[10,11];break;case 4:p=[16,11];break;case 5:p=[40,33];break;case 6:p=[24,11];break;case 7:p=[20,11];break;case 8:p=[32,11];break;case 9:p=[80,33];break;case 10:p=[18,11];break;case 11:p=[15,11];break;case 12:p=[64,33];break;case 13:p=[160,99];break;case 14:p=[4,3];break;case 15:p=[3,2];break;case 16:p=[2,1];break;case 255:p=[e.readUByte()<<8|e.readUByte(),e.readUByte()<<8|e.readUByte()]}if(e.readBool()&&e.readBool(),e.readBool()&&(e.readBits(4),e.readBool()&&e.readBits(24)),e.readBool()&&(e.readUEG(),e.readUEG()),e.readBool()){var w=e.readBits(32),x=e.readBits(32);v=e.readBool(),g=(y=x)/(m=2*w)}}return{codec:ot(a.subarray(1,4)),profileIdc:f,profileCompatibility:d,levelIdc:t,chromaFormat:b,width:Math.ceil(16*(u+1)-2*(_+E)),height:(2-h)*(l+1)*16-(h?2:4)*(k+S),sarRatio:p,fpsNum:y,fpsDen:m,fps:g,fixedFrame:v}}}]),a}(),vt=function(){function a(){vd(this,a)}return md(a,null,[{key:"parseHEVCDecoderConfigurationRecord",value:function(e){var f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e.length<23)){f=f||{};for(var d,t,b,r,c,n=1+(3&e[21]),i=[],o=[],s=[],u=23,l=e[22],h=0;h<l;h++){b=63&e[u],r=e[u+1]<<8|e[u+2],u+=3;for(var p=0;p<r;p++)if(c=e[u]<<8|e[u+1],u+=2,c){switch(b){case 32:var v=e.subarray(u,u+c);d||(d=a.parseVPS(lt.removeEPB(v),f)),s.push(v);break;case 33:var y=e.subarray(u,u+c);t||(t=a.parseSPS(lt.removeEPB(y),f)),i.push(y);break;case 34:o.push(e.subarray(u,u+c))}u+=c}}return{hvcC:f,sps:t,spsArr:i,ppsArr:o,vpsArr:s,nalUnitSize:n}}}},{key:"parseVPS",value:function(e,f){f=f||{};var d=new ht(e);d.readUByte(),d.readUByte(),d.readBits(12);var t=d.readBits(3);return f.numTemporalLayers=Math.max(f.numTemporalLayers||0,t+1),d.readBits(17),a._parseProfileTierLevel(d,t,f),f}},{key:"parseSPS",value:function(e){var f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};f=f||{};var d=new ht(e);d.readUByte(),d.readUByte(),d.readBits(4);var t=d.readBits(3);f.numTemporalLayers=Math.max(t+1,f.numTemporalLayers||0),f.temporalIdNested=d.readBits(1),a._parseProfileTierLevel(d,t,f),d.readUEG();var b=f.chromaFormatIdc=d.readUEG(),r=420;b<=3&&(r=[0,420,422,444][b]);var c=0;3===b&&(c=d.readBits(1));var n,i,o,s,u=d.readUEG(),l=d.readUEG(),h=d.readBits(1);(1===h&&(n=d.readUEG(),i=d.readUEG(),o=d.readUEG(),s=d.readUEG()),f.bitDepthLumaMinus8=d.readUEG(),f.bitDepthChromaMinus8=d.readUEG(),1===h)&&(u-=(1!==b&&2!==b||0!==c?1:2)*(i+n),l-=(1===b&&0===c?2:1)*(s+o));return{codec:"hev1.1.6.L93.B0",width:u,height:l,chromaFormat:r,hvcC:f}}},{key:"_parseProfileTierLevel",value:function(a,e,f){var d=f.generalTierFlag||0;f.generalProfileSpace=a.readBits(2),f.generalTierFlag=Math.max(a.readBits(1),d),f.generalProfileIdc=Math.max(a.readBits(5),f.generalProfileIdc||0),f.generalProfileCompatibilityFlags=a.readBits(32),f.generalConstraintIndicatorFlags=[a.readBits(8),a.readBits(8),a.readBits(8),a.readBits(8),a.readBits(8),a.readBits(8)];var t=a.readBits(8);d<f.generalTierFlag?f.generalLevelIdc=t:f.generalLevelIdc=Math.max(t,f.generalLevelIdc||0);var b=[],r=[];if(e>a.bitsAvailable)throw new Error("maxSubLayersMinus inavlid size ".concat(e));for(var c=0;c<e;c++)b[c]=a.readBits(1),r[c]=a.readBits(1);e>0&&a.readBits(2*(8-e));for(var n=0;n<e;n++)0!==b[n]&&(a.readBits(2),a.readBits(1),a.readBits(5),a.readBits(16),a.readBits(16),a.readBits(4),a.readBits(16),a.readBits(16),a.readBits(12)),0!==r[n]&&a.readBits(8)}}]),a}(),yt=9e4,mt=45e4,gt=9e4,_t=function(){function a(e,f,d,t){vd(this,a),this.videoTrack=e,this.audioTrack=f,this.metadataTrack=d,this._baseDts=-1,this._baseVideoDts=-1,this._baseAudioDts=-1,this._baseDtsInited=!1,this._audioNextPts=void 0,this._videoNextDts=void 0,this._audioTimestampBreak=!1,this._videoTimestampBreak=!1,this._lastAudioExceptionGapDot=0,this._lastAudioExceptionOverlapDot=0,this._lastAudioExceptionLargeGapDot=0,this._needForceFixLargeGap=null==t?void 0:t.forceFixLargeGap,this._largeGapThreshold=(null==t?void 0:t.largeGapThreshold)||45e4}return md(a,[{key:"fix",value:function(){var a=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,f=arguments.length>1&&void 0!==arguments[1]&&arguments[1],d=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e=Math.round(9e4*e);var t=this.videoTrack,b=this.audioTrack,r=t.samples,c=b.samples;if(r.length||c.length){var n=r[0],i=c[0],o=0;if(r.length&&c.length&&(o=n.dts-i.pts),this._baseDtsInited||this._calculateBaseDts(this.audioTrack,this.videoTrack),f&&(this._calculateBaseDts(this.audioTrack,this.videoTrack),this._baseDts-=e,this._baseAudioDts-=e,this._baseVideoDts-=e),!d){this._videoNextDts=o>0?e+o:e,this._audioNextPts=o>0?e:e-o,this._needForceFixLargeGap&&(this._videoNextDts=0,this._audioNextPts=0);var s=n?n.dts-this._baseDts-this._videoNextDts:0,u=i?i.pts-this._baseDts-this._audioNextPts:0;Math.abs(s||u)>gt&&(this._calculateBaseDts(this.audioTrack,this.videoTrack),this._baseDts-=e)}if(this._resetBaseDtsWhenStreamBreaked(),this._fixAudio(b),this._fixVideo(t),this.metadataTrack.exist()){var l=this.metadataTrack.timescale;this.metadataTrack.seiSamples.forEach((function(e){e.pts=e.originPts-a._baseDts,e.time=Math.max(0,e.pts)/l}))}t.samples.length&&(t.baseMediaDecodeTime=t.samples[0].dts),b.samples.length&&(b.baseMediaDecodeTime=b.samples[0].pts*b.timescale/9e4)}}},{key:"_fixVideo",value:function(a){var e=this,f=a.samples;if(f.length){if(f.forEach((function(a){a.dts-=e._needForceFixLargeGap?e._baseVideoDts:e._baseDts,a.pts-=e._needForceFixLargeGap?e._baseVideoDts:e._baseDts})),void 0===this._videoNextDts){var d=f[0];this._videoNextDts=d.dts}var t,b,r=f.length,c=0,n=f[0],i=f[1],o=this._videoNextDts-n.dts;if(Math.abs(o)>45e3)if(a.warnings.push({type:Vd,nextDts:this._videoNextDts/90,firstSampleDts:n.dts/90,nextSampleDts:((null===(t=f[1])||void 0===t?void 0:t.dts)||0)/90,sampleDuration:o/90}),n.dts+=o,n.pts+=o,i&&Math.abs(i.dts-n.dts)>gt)this._videoTimestampBreak=!0,f.forEach((function(a,e){0!==e&&(a.dts+=o,a.pts+=o)}));else for(var s=1;s<r-1;s++){var u,l=null===(u=f[s])||void 0===u?void 0:u.dts,h=f[s-1].dts;l&&l-h<0&&(f[s].dts+=o,f[s].pts+=o)}if(a.fpsNum&&a.fpsDen&&(b=a.timescale*(a.fpsDen/a.fpsNum)),b<900&&(b=0),!b){var p=a.samples[0],v=a.samples[1];b=1===r?9e3:Math.floor(v.dts-p.dts)}for(var y=0;y<r;y++){var m=f[y].dts,g=f[y+1];if((c=y<r-1?g.dts-m:f[y-1]?Math.min(m-f[y-1].dts,b):b)>gt||c<0){this._videoTimestampBreak=!0,c=this._audioTimestampBreak?b:Math.max(c,2700);var _=this._audioNextPts||0;g&&g.dts>_&&(c=b),a.warnings.push({type:Gd,time:m/a.timescale,dts:m,originDts:f[y].originDts,nextDts:this._videoNextDts,sampleDuration:c,refSampleDuration:b})}f[y].duration=c,this._videoNextDts+=c}}}},{key:"_fixAudio",value:function(a){var e=this,f=a.samples;if(f.length)if(a.codecType!==Nd)f.forEach((function(a){a.pts-=e._needForceFixLargeGap?e._baseAudioDts:e._baseDts,a.dts=a.pts})),this._doFixAudioInternal(a,f,9e4);else{this.lastAudioSample&&f.unshift(this.lastAudioSample);for(var d=0;d<f.length;d++){var t=f[d];if(!f[d+1])break;t.duration=f[d+1].pts-t.pts,t.pts-=this._baseDts,t.dts=t.pts}this.lastAudioSample=f.pop()}}},{key:"_calculateBaseDts",value:function(a,e){var f=a.samples,d=e.samples;if(!f.length&&!d.length)return!1;var t=1/0,b=1/0;f.length&&(a.baseDts=t=f[0].pts,this._baseAudioDts=t),d.length&&(e.baseDts=b=d[0].dts,this._baseVideoDts=b),this._baseDts=Math.min(t,b);var r=b-t,c=!1;return Number.isFinite(r)&&Math.abs(r)>45e3&&e.warnings.push({type:Fd,videoBaseDts:b,audioBasePts:t,baseDts:this._baseDts,delta:r}),Number.isFinite(r)&&Math.abs(r)>this._largeGapThreshold*yt&&(c=!0),this._baseDtsInited||(c&&this._needForceFixLargeGap?this._needForceFixLargeGap=!0:this._needForceFixLargeGap=!1),this._baseDtsInited=!0,!0}},{key:"_resetBaseDtsWhenStreamBreaked",value:function(){if(this._baseDtsInited&&this._videoTimestampBreak&&this._audioTimestampBreak){if(!this._calculateBaseDts(this.audioTrack,this.videoTrack))return;this._baseDts-=Math.min(this._audioNextPts,this._videoNextDts),this._audioLastSample=null,this._videoLastSample=null,this._videoTimestampBreak=!1,this._audioTimestampBreak=!1}}},{key:"_doFixAudioInternal",value:function(a,e,f){a.sampleDuration||(a.sampleDuration=tt.getFrameDuration(a.timescale,f));var d=a.sampleDuration;if(void 0===this._audioNextPts){var t=e[0];this._audioNextPts=t.pts}for(var b=0;b<e.length;b++){var r=this._audioNextPts,c=e[b],n=c.pts-r;if(!this._audioTimestampBreak&&n>=3*d&&n<=yt&&!et){var i=tt.getSilentFrame(a.codec,a.channelCount)||e[0].data.subarray(),o=Math.floor(n/d);Math.abs(c.pts-this._lastAudioExceptionGapDot)>mt&&(this._lastAudioExceptionGapDot=c.pts),a.warnings.push({type:zd,pts:c.pts/90,originPts:c.originPts,count:o,nextPts:r/90,refSampleDuration:d});for(var s=0;s<o;s++){var u=new Yd(Math.floor(r),i);u.originPts=Math.floor(this._baseDts+r),e.splice(b,0,u),this._audioNextPts+=d,b++}b--}else n<=-3*d&&n>=-9e4?(Math.abs(c.pts-this._lastAudioExceptionOverlapDot)>mt&&(this._lastAudioExceptionOverlapDot=c.pts,a.warnings.push({type:Kd,pts:c.pts/90,originPts:c.originPts,nextPts:r/90,refSampleDuration:d})),e.splice(b,1),b--):(Math.abs(n)>=yt&&(this._audioTimestampBreak=!0,Math.abs(c.pts-this._lastAudioExceptionLargeGapDot)>mt&&(this._lastAudioExceptionLargeGapDot=c.pts,a.warnings.push({type:qd,time:c.pts/1e3,pts:c.pts/90,originPts:c.originPts,nextPts:r/90,sampleDuration:n,refSampleDuration:d}))),c.dts=c.pts=r,this._audioNextPts+=d)}}}]),a}(),Et=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],kt=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],St=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],wt=[0,1,1,4],xt=null,Tt=function(){function a(){vd(this,a)}return md(a,null,[{key:"isHeader",value:function(a,e){return e+1<a.length&&255===a[e]&&!(224&~a[e+1])&&!!(6&a[e+1])}},{key:"appendFrame",value:function(e,f,d,t,b){if(!(d+24>f.length)){var r=a.parseHeader(f,d);if(r&&d+r.frameLength<=f.length){var c=t+b*(9e4*r.samplesPerFrame/r.sampleRate),n={data:f.subarray(d,d+r.frameLength),pts:c,dts:c};return n.size=n.data.byteLength,e.config=[],e.channelCount=r.channelCount,e.sampleRate=r.sampleRate,ft?e.codec="mp3":e.container="audio/mpeg",e.samples.push(n),{length:r.frameLength}}}}},{key:"parseHeader",value:function(a,e){var f=a[e+1]>>3&3,d=a[e+1]>>1&3,t=a[e+2]>>4&15,b=a[e+2]>>2&3;if(1!==f&&0!==t&&15!==t&&3!==b){var r=a[e+2]>>1&1,c=a[e+3]>>6,n=1e3*Et[14*(3===f?3-d:3===d?3:4)+t-1],i=kt[3*(3===f?0:2===f?1:2)+b],o=3===c?1:2,s=St[f][d],u=wt[d],l=8*s*u,h=Math.floor(s*n/i+r)*u;if(null===xt){var p=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);xt=p?parseInt(p[1]):0}return!!xt&&xt<=87&&2===d&&n>=224e3&&0===c&&(a[e+3]=128|a[e+3]),{sampleRate:i,channelCount:o,frameLength:h,samplesPerFrame:l}}}}]),a}(),At=new Jd("TsDemuxer"),It=function(){function a(e,f,d){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};vd(this,a),gd(this,"_pmtId",-1),gd(this,"_remainingPacketData",null),gd(this,"_videoPesData",[]),gd(this,"_audioPesData",[]),gd(this,"_gopId",0),this.videoTrack=e||new Hd,this.audioTrack=f||new $d,this.metadataTrack=d||new Qd,this._fixer=new _t(this.videoTrack,this.audioTrack,this.metadataTrack,t)}return md(a,[{key:"demux",value:function(a){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],f=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],d=this.audioTrack,t=this.videoTrack,b=this.metadataTrack;e&&(this._pmtId=-1,t.reset(),d.reset(),b.reset()),!f||e?(this._remainingPacketData=null,this._videoPesData=[],this._audioPesData=[]):(t.samples=[],d.samples=[],b.seiSamples=[],t.warnings=[],d.warnings=[],this._remainingPacketData&&(a=bt(this._remainingPacketData,a),this._remainingPacketData=null));var r=a.length,c=r%188;c&&(this._remainingPacketData=a.subarray(r-c),r-=c);for(var n=t.pid,i=d.pid,o=0;o<r;o+=188){if(71!==a[o])throw new Error("TS packet did not start with 0x47");var s=!!(64&a[o+1]),u=((31&a[o+1])<<8)+a[o+2],l=void 0;if((48&a[o+3])>>4>1){if((l=o+5+a[o+4])===o+188)continue}else l=o+4;switch(u){case 0:s&&(l+=a[l]+1),this._pmtId=(31&a[l+10])<<8|a[l+11];break;case this._pmtId:s&&(l+=a[l]+1);var h=l+3+((15&a[l+1])<<8|a[l+2])-4;for(l+=12+((15&a[l+10])<<8|a[l+11]);l<h;){var p=(31&a[l+1])<<8|a[l+2];switch(a[l]){case 15:d.pid=i=p;break;case 3:case 4:-1===d.pid&&(d.pid=i=p,d.codecType=Nd);break;case 27:if(-1!==n)break;t.codecType=Cd,t.pid=n=p;break;case 36:if(-1!==n)break;t.codecType=Pd,t.pid=n=p;break;default:At.warn("Unsupported stream. type: ".concat(a[l],", pid: ").concat(p))}l+=5+((15&a[l+3])<<8|a[l+4])}break;case n:s&&this._videoPesData.length&&this._parseVideoData(),this._videoPesData.push(a.subarray(l,o+188));break;case i:s&&this._audioPesData.length&&this._parseAudioData(),this._audioPesData.push(a.subarray(l,o+188));break;case 17:case 8191:break;default:At.warn("Unknown pid: ".concat(u))}}return this._parseVideoData(),this._parseAudioData(),d.formatTimescale=t.formatTimescale=t.timescale=b.timescale=9e4,d.timescale=d.sampleRate||0,{videoTrack:t,audioTrack:d,metadataTrack:b}}},{key:"fix",value:function(a,e,f){return this._fixer.fix(a,e,f),{videoTrack:this.videoTrack,audioTrack:this.audioTrack,metadataTrack:this.metadataTrack}}},{key:"demuxAndFix",value:function(a,e,f,d){return this.demux(a,e,f),this.fix(d,e,f)}},{key:"_parseVideoData",value:function(){if(this._videoPesData.length){var e=a._parsePES(bt.apply(void 0,xd(this._videoPesData)));if(e){var f=lt.parseAnnexB(e.data);f?this._createVideoSample(f,e.pts,e.dts):At.warn("Cannot parse avc units",e),this._videoPesData=[]}else At.warn("Cannot parse video pes",this._videoPesData)}}},{key:"_createVideoSample",value:function(a,e,f){var d=this;if(a.length){var t=this.videoTrack,b=t.codecType===Pd,r=new Wd(e,f);a.forEach((function(a){var f=b?a[0]>>>1&63:31&a[0];switch(f){case 5:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:if(!b&&5!==f||b&&5===f)break;r.setToKeyframe(),d._gopId++;break;case 6:case 39:case 40:if(!b&&6!==f||b&&6===f)break;return void d.metadataTrack.seiSamples.push(new Xd(lt.parseSEI(lt.removeEPB(a),b),e));case 32:if(!b)break;if(!t.vps.length){var c=vt.parseVPS(lt.removeEPB(a),t.hvcC);t.hvcC=t.hvcC||c,t.vps=[a]}break;case 7:case 33:if(!b&&7!==f||b&&7===f)break;if(!t.sps.length){var n=lt.removeEPB(a),i=b?vt.parseSPS(n,t.hvcC):pt.parseSPS(n);t.sps=[a],t.hvcC=t.hvcC||i.hvcC,t.codec=i.codec,t.width=i.width,t.height=i.height,t.sarRatio=i.sarRatio,t.fpsNum=i.fpsNum,t.fpsDen=i.fpsDen}break;case 8:case 34:if(!b&&8!==f||b&&8===f)break;t.pps.length||(t.pps=[a]);break;case 9:case 35:break;case 38:if(b){for(var o=!1,s=2;s<a.byteLength;s++)if(255===a[s]){o=!0;break}if(!o)return}}r.units.push(a)})),r.gopId=this._gopId,this._pushVideoSample(t,r)}}},{key:"_pushVideoSample",value:function(a,e){if(e.units.length)if(null===e.pts||void 0===e.pts){At.warn("Video sample no pts",e);var f=a.samples[a.samples.length-1];f?(e.pts=f.pts,e.dts=f.dts):At.warn("Drop video sample",e)}else a.samples.push(e)}},{key:"_parseAudioData",value:function(){if(this._audioPesData.length){var e=a._parsePES(bt.apply(void 0,xd(this._audioPesData)));if(e){switch(this.audioTrack.codecType){case jd:this._parseAacData(e);break;case Nd:this._parseMPEG(e)}this._audioPesData=[]}else At.warn("Cannot parse audio pes",this._audioPesData)}}},{key:"_parseAacData",value:function(a){var e=this.audioTrack,f=a.pts;if(null==f){if(At.warn("AAC pes not pts",e),!e.samples.length||!e.sampleRate)return;f=e.samples[e.samples.length-1].pts+tt.getFrameDuration(e.sampleRate)}var d,t=tt.parseADTS(a.data,f);t?(e.codec=t.codec,e.channelCount=t.channelCount,e.sampleRate=t.sampleRate,e.objectType=t.objectType,e.sampleRateIndex=t.samplingFrequencyIndex,e.config=t.config,(d=e.samples).push.apply(d,xd(t.frames.map((function(a){return new Yd(a.pts,a.data)})))),t.skip&&At.warn("Skip aac adts ".concat(t.skip," bits")),t.remaining&&At.warn("Remaining aac adts ".concat(t.remaining," bits"))):At.warn("Cannot parse aac adts",a)}},{key:"_parseMPEG",value:function(a){var e=a.data,f=e.length,d=0,t=0,b=a.pts;if(void 0!==b)for(;t<f;)if(Tt.isHeader(e,t)){var r=Tt.appendFrame(this.audioTrack,e,t,b,d);if(!r)break;t+=r.length,d++}else t++;else At.warn("[tsdemuxer]: MPEG PES unknown PTS")}}],[{key:"probe",value:function(a){return!!a.length&&(71===a[0]&&71===a[188]&&71===a[376])}},{key:"_parsePES",value:function(a){var e=a[8];if(!(null==e||a.length<e+9)&&1===(a[0]<<16|a[1]<<8|a[2])){var f=(a[4]<<8)+a[5];if(!(f&&f>a.length-6)){var d,t,b=a[7];return 192&b&&(d=536870912*(14&a[9])+4194304*(255&a[10])+16384*(254&a[11])+128*(255&a[12])+(254&a[13])/2,64&b?d-(t=536870912*(14&a[14])+4194304*(255&a[15])+16384*(254&a[16])+128*(255&a[17])+(254&a[18])/2)>54e5&&(d=t):t=d),{data:a.subarray(9+e),pts:d,dts:t}}}}}]),a}(),Dt=function(){function a(e,f,d){vd(this,a),this.dv=new DataView(e),this.start=this.offset=f||this.dv.byteOffset,this.end=d?this.start+d:this.start+this.dv.byteLength}return md(a,[{key:"buffer",get:function(){return this.dv.buffer}},{key:"unreadLength",get:function(){return Math.max(this.end-this.offset,0)}},{key:"size",get:function(){return this.end-this.start}},{key:"readFloat",value:function(a){var e=0;switch(a){case 4:e=this.dv.getFloat32(this.offset);break;case 8:e=this.dv.getFloat64(this.offset);break;default:throw new Error("read ".concat(a,"-byte float is not supported"))}return this.offset+=a,e}},{key:"back",value:function(a){this.offset-=a}},{key:"skip",value:function(a){this.offset+=a}},{key:"readInt",value:function(a){var e=this.offset;switch(this.offset+=a,a){case 1:return this.dv.getInt8(e);case 2:return this.dv.getInt16(e);case 4:return this.dv.getInt32(e);default:throw new Error("read ".concat(a,"-byte integers is not supported"))}}},{key:"read",value:function(a){var e=this.offset;switch(this.offset+=a,a){case 1:return this.dv.getUint8(e);case 2:return this.dv.getUint16(e);case 3:return(this.dv.getUint16(e)<<8)+this.dv.getUint8(e+2);case 4:return this.dv.getUint32(e);default:return this.back(a-4),this.read(a-4)+this.dv.getUint32(e)*Math.pow(256,a-4)}}},{key:"write",value:function(a,e){var f=this.offset;switch(this.offset+=a,a){case 1:return this.dv.setUint8(f,e);case 2:return this.dv.setUint16(f,e);case 3:return this.dv.setUint8(f,e>>>16),this.dv.setUint16(f+1,65535&e);case 4:return this.dv.setUint32(f,e);default:throw new Error("write ".concat(a,"-byte integers is not supported"))}}},{key:"readToBuffer",value:function(a){var e;return e=this.offset||a?this.dv.buffer.slice(this.offset,a?this.offset+a:this.end):this.dv.buffer,this.offset+=e.byteLength,e}},{key:"readToUint8",value:function(a){var e=new Uint8Array(this.dv.buffer,this.offset,a||this.unreadLength);return this.offset+=e.byteLength,e}},{key:"readString",value:function(a){for(var e=0,f="";e<a;e++)f+=String.fromCharCode(this.dv.getUint8(this.offset)),this.offset++;return f}}],[{key:"fromUint8",value:function(e){return new a(e.buffer,e.byteOffset,e.byteLength)}},{key:"concatUint8s",value:function(a){var e=new Uint8Array(a.reduce((function(a,e){return a+e.byteLength}),0)),f=0;return a.forEach((function(a){e.set(a,f),f+=a.byteLength})),e}},{key:"concatUint8",value:function(){for(var a=arguments.length,e=new Array(a),f=0;f<a;f++)e[f]=arguments[f];return this.concatUint8s(e)}}]),a}(),Ot=function(){function a(e,f){vd(this,a),this.offset=0,this.val=e,this.size=f}return md(a,[{key:"skip",value:function(a){this.offset+=a}},{key:"read",value:function(a){var e=this.size-this.offset-a;if(e>=0){var f=0,d=0;if(this.offset+=a,this.size>31){for(;d<a;d++)f+=Math.pow(2,d);return this.val/Math.pow(2,e)&f}for(;d<a;d++)f+=1<<d;return this.val>>>e&f}throw new Error("the number of the read operation exceeds the total length limit of bits")}}],[{key:"fromByte",value:function(e,f){return new a(e.read(f),f<<3)}}]),a}(),Rt=function(){function a(){vd(this,a)}return md(a,null,[{key:"findBox",value:function(e,f){var d=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,t=[];if(!e)return t;for(var b=0,r="",c=0;e.length>7;){if(b=nt(e),r=String.fromCharCode.apply(null,e.subarray(4,8)),c=8,1===b?(b=it(e,8),c+=8):b||(b=e.length),!f[0]||r===f[0]){var n=e.subarray(0,b);if(!(f.length<2))return a.findBox(n.subarray(c),f.slice(1),d+c);t.push({start:d,size:b,headerSize:c,type:r,data:n})}d+=b,e=e.subarray(b)}return t}},{key:"tfhd",value:function(a){return jt(a,!0,(function(a,e){a.trackId=nt(e);var f=4,d=1&a.flags,t=2&a.flags,b=8&a.flags,r=16&a.flags,c=32&a.flags;d&&(f+=4,a.baseDataOffset=nt(e,f),f+=4),t&&(a.sampleDescriptionIndex=nt(e,f),f+=4),b&&(a.defaultSampleDuration=nt(e,f),f+=4),r&&(a.defaultSampleSize=nt(e,f),f+=4),c&&(a.defaultSampleFlags=nt(e,f))}))}},{key:"sidx",value:function(a){return jt(a,!0,(function(a,e){var f=0;a.reference_ID=nt(e,f),f+=4,a.timescale=nt(e,f),f+=4,0===a.version?(a.earliest_presentation_time=nt(e,f),f+=4,a.first_offset=nt(e,f),f+=4):(a.earliest_presentation_time=it(e,f),f+=8,a.first_offset=it(e,f),f+=8),f+=2,a.references=[];var d=ct(e,f);f+=2;for(var t=0;t<d;t++){var b={};a.references.push(b);var r=nt(e,f);f+=4,b.reference_type=r>>31&1,b.referenced_size=2147483647&r,b.subsegment_duration=nt(e,f),r=nt(e,f+=4),f+=4,b.starts_with_SAP=r>>31&1,b.SAP_type=r>>28&7,b.SAP_delta_time=268435455&r}}))}},{key:"moov",value:function(e){return jt(e,!1,(function(e,f,d){e.mvhd=a.mvhd(a.findBox(f,["mvhd"],d)[0]),e.trak=a.findBox(f,["trak"],d).map((function(e){return a.trak(e)})),e.pssh=a.pssh(a.findBox(f,["pssh"],d)[0])}))}},{key:"mvhd",value:function(a){return jt(a,!0,(function(a,e){var f=0;1===a.version?(a.timescale=nt(e,16),a.duration=it(e,20),f+=28):(a.timescale=nt(e,8),a.duration=nt(e,12),f+=16),a.nextTrackId=nt(e,f+76)}))}},{key:"trak",value:function(e){return jt(e,!1,(function(e,f,d){e.tkhd=a.tkhd(a.findBox(f,["tkhd"],d)[0]),e.mdia=a.mdia(a.findBox(f,["mdia"],d)[0])}))}},{key:"tkhd",value:function(a){return jt(a,!0,(function(a,e){var f=Dt.fromUint8(e);1===a.version?(f.read(8),f.read(8),a.trackId=f.read(4),f.read(4),a.duration=f.read(8)):(f.read(4),f.read(4),a.trackId=f.read(4),f.read(4),a.duration=f.read(4)),f.skip(16),a.matrix=[];for(var d=0;d<36;d++)a.matrix.push(f.read(1));f.back(36);for(var t,b=[],r=0;r<3;r++)b.push(ut(f.readInt(2),f.readInt(2))),b.push(ut(f.readInt(2),f.readInt(2))),t=f.readInt(4),b.push(ut(t>>30,1073741823&t));a.rotation=function(a){if(a.length<5)return 0;var e=Math.hypot(a[0],a[3]),f=Math.hypot(a[1],a[4]);return 0===e||0===f?0:180*Math.atan2(a[1]/f,a[0]/e)/Math.PI}(b),a.width=f.read(4),a.height=f.read(4)}))}},{key:"mdia",value:function(e){return jt(e,!1,(function(e,f,d){e.mdhd=a.mdhd(a.findBox(f,["mdhd"],d)[0]),e.hdlr=a.hdlr(a.findBox(f,["hdlr"],d)[0]),e.minf=a.minf(a.findBox(f,["minf"],d)[0])}))}},{key:"mdhd",value:function(a){return jt(a,!0,(function(a,e){var f=0;1===a.version?(a.timescale=nt(e,16),a.duration=it(e,20),f+=28):(a.timescale=nt(e,8),a.duration=nt(e,12),f+=16);var d=ct(e,f);a.language=String.fromCharCode(96+(d>>10&31),96+(d>>5&31),96+(31&d))}))}},{key:"hdlr",value:function(a){return jt(a,!0,(function(a,e){0===a.version&&(a.handlerType=String.fromCharCode.apply(null,e.subarray(4,8)))}))}},{key:"minf",value:function(e){return jt(e,!1,(function(e,f,d){e.vmhd=a.vmhd(a.findBox(f,["vmhd"],d)[0]),e.smhd=a.smhd(a.findBox(f,["smhd"],d)[0]),e.stbl=a.stbl(a.findBox(f,["stbl"],d)[0])}))}},{key:"vmhd",value:function(a){return jt(a,!0,(function(a,e){a.graphicsmode=ct(e),a.opcolor=[ct(e,2),ct(e,4),ct(e,6)]}))}},{key:"smhd",value:function(a){return jt(a,!0,(function(a,e){a.balance=ct(e)}))}},{key:"stbl",value:function(e){return jt(e,!1,(function(e,f,d){var t,b,r;e.stsd=a.stsd(a.findBox(f,["stsd"],d)[0]),e.stts=a.stts(a.findBox(f,["stts"],d)[0]),e.ctts=a.ctts(a.findBox(f,["ctts"],d)[0]),e.stsc=a.stsc(a.findBox(f,["stsc"],d)[0]),e.stsz=a.stsz(a.findBox(f,["stsz"],d)[0]),e.stco=a.stco(a.findBox(f,["stco"],d)[0]),e.stco||(e.co64=a.co64(a.findBox(f,["co64"],d)[0]),e.stco=e.co64);var c=null===(t=e.stsd.entries[0])||void 0===t||null===(b=t.sinf)||void 0===b||null===(r=b.schi)||void 0===r?void 0:r.tenc.default_IV_size;e.stss=a.stss(a.findBox(f,["stss"],d)[0]),e.senc=a.senc(a.findBox(f,["senc"],d)[0],c)}))}},{key:"senc",value:function(a){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return jt(a,!0,(function(a,f){var d=0,t=nt(f,d);d+=4,a.samples=[];for(var b=0;b<t;b++){for(var r={InitializationVector:[]},c=0;c<e;c++)r.InitializationVector[c]=f[d+c];if(d+=e,2&a.flags){r.subsamples=[];var n=ct(f,d);d+=2;for(var i=0;i<n;i++){var o={};o.BytesOfClearData=ct(f,d),d+=2,o.BytesOfProtectedData=nt(f,d),d+=4,r.subsamples.push(o)}}a.samples.push(r)}}))}},{key:"pssh",value:function(a){return jt(a,!0,(function(a,e){for(var f=[],d=[],t=0,b=0;b<16;b++)d.push(Mt(e[t+b]));if(t+=16,a.version>0){var r=nt(e,t);t+=4;for(var c=0;c<(""+r).length;c++)for(var n=0;n<16;n++){var i=e[t];t+=1,f.push(Mt(i))}}var o=nt(e,t);a.data_size=o,t+=4,a.kid=f,a.system_id=d,a.buffer=e}))}},{key:"stsd",value:function(e){return jt(e,!0,(function(e,f,d){e.entryCount=nt(f),e.entries=a.findBox(f.subarray(4),[],d+4).map((function(e){switch(e.type){case"av01":return a.av01(e);case"avc1":case"avc2":case"avc3":case"avc4":return a.avc1(e);case"hvc1":case"hev1":return a.hvc1(e);case"mp4a":return a.mp4a(e);case"alaw":case"ulaw":return a.alaw(e);case"enca":return jt(e,!1,(function(e,f,d){e.channelCount=ct(f,16),e.samplesize=ct(f,18),e.sampleRate=nt(f,24)/65536,f=f.subarray(28),e.sinf=a.sinf(a.findBox(f,["sinf"],d)[0]),e.esds=a.esds(a.findBox(f,["esds"],d)[0])}));case"encv":return jt(e,!1,(function(e,f,d){e.width=ct(f,24),e.height=ct(f,26),e.horizresolution=nt(f,28),e.vertresolution=nt(f,32),f=f.subarray(78),e.sinf=a.sinf(a.findBox(f,["sinf"],d)[0]),e.avcC=a.avcC(a.findBox(f,["avcC"],d)[0]),e.hvcC=a.hvcC(a.findBox(f,["hvcC"],d)[0]),e.pasp=a.pasp(a.findBox(f,["pasp"],d)[0])}))}})).filter(Boolean)}))}},{key:"tenc",value:function(a){return jt(a,!1,(function(a,e){var f=6;a.default_IsEncrypted=e[f],f+=1,a.default_IV_size=e[f],f+=1,a.default_KID=[];for(var d=0;d<16;d++)a.default_KID.push(Mt(e[f])),f+=1}))}},{key:"schi",value:function(e){return jt(e,!1,(function(e,f,d){e.tenc=a.tenc(a.findBox(f,["tenc"],d)[0])}))}},{key:"sinf",value:function(e){return jt(e,!1,(function(e,f,d){e.schi=a.schi(a.findBox(f,["schi"],d)[0]),e.frma=a.frma(a.findBox(f,["frma"],d)[0])}))}},{key:"frma",value:function(a){return jt(a,!1,(function(a,e){a.data_format="";for(var f=0;f<4;f++)a.data_format+=String.fromCharCode(e[f])}))}},{key:"colr",value:function(a){return jt(a,!1,(function(e,f){var d=Dt.fromUint8(f);e.data=a.data,e.colorType=d.readString(4),"nclx"===e.colorType?(e.colorPrimaries=d.read(2),e.transferCharacteristics=d.read(2),e.matrixCoefficients=d.read(2),e.fullRangeFlag=d.read(1)>>7):"rICC"!==e.colorType&&"prof"!==e.colorType||(e.iccProfile=f.readToUint8())}))}},{key:"av01",value:function(e){return jt(e,!1,(function(e,f,d){var t=Ct(e,f),b=f.subarray(t);d+=t,e.av1C=a.av1C(a.findBox(b,["av1C"],d)[0]),e.colr=a.colr(a.findBox(b,["colr"],d)[0])}))}},{key:"av1C",value:function(a){return jt(a,!1,(function(e,f){e.data=a.data;var d,t=Dt.fromUint8(f),b=Ot.fromByte(t,4);e.marker=b.read(1),e.version=b.read(7),e.seqProfile=b.read(3),e.seqLevelIdx0=b.read(5),e.seqTier0=b.read(1),e.highBitdepth=b.read(1),e.twelveBit=b.read(1),e.monochrome=b.read(1),e.chromaSubsamplingX=b.read(1),e.chromaSubsamplingY=b.read(1),e.chromaSamplePosition=b.read(2),e.reserved=b.read(3),e.initialPresentationDelayPresent=b.read(1),e.initialPresentationDelayPresent?e.initialPresentationDelayMinusOne=b.read(4):e.initialPresentationDelayMinusOne=0,e.configOBUs=t.readToUint8(),2===e.seqLevelIdx0&&1===e.highBitdepth?d=1===e.twelveBit?"12":"10":e.seqProfile<=2&&(d=1===e.highBitdepth?"10":"08"),e.codec=["av01",e.seqProfile,(e.seqLevelIdx0<10?"0"+e.seqLevelIdx0:e.seqLevelIdx0)+(e.seqTier0?"H":"M"),d].join(".")}))}},{key:"avc1",value:function(e){return jt(e,!1,(function(e,f,d){var t=Ct(e,f),b=f.subarray(t);d+=t,e.avcC=a.avcC(a.findBox(b,["avcC"],d)[0]),e.pasp=a.pasp(a.findBox(b,["pasp"],d)[0])}))}},{key:"avcC",value:function(a){return jt(a,!1,(function(e,f){e.data=a.data,e.configurationVersion=f[0],e.AVCProfileIndication=f[1],e.profileCompatibility=f[2],e.AVCLevelIndication=f[3],e.codec=ot([f[1],f[2],f[3]]),e.lengthSizeMinusOne=3&f[4],e.spsLength=31&f[5],e.sps=[];for(var d=6,t=0;t<e.spsLength;t++){var b=ct(f,d);d+=2,e.sps.push(f.subarray(d,d+b)),d+=b}e.ppsLength=f[d],d+=1,e.pps=[];for(var r=0;r<e.ppsLength;r++){var c=ct(f,d);d+=2,e.pps.push(f.subarray(d,d+=c)),d+=c}}))}},{key:"hvc1",value:function(e){return jt(e,!1,(function(e,f,d){var t=Ct(e,f),b=f.subarray(t);d+=t,e.hvcC=a.hvcC(a.findBox(b,["hvcC"],d)[0]),e.pasp=a.pasp(a.findBox(b,["pasp"],d)[0])}))}},{key:"hvcC",value:function(a){return jt(a,!1,(function(e,f){e.data=a.data,e.codec="hev1.1.6.L93.B0",e.configurationVersion=f[0];var d=f[1];e.generalProfileSpace=d>>6,e.generalTierFlag=(32&d)>>5,e.generalProfileIdc=31&d,e.generalProfileCompatibility=nt(f,2),e.generalConstraintIndicatorFlags=f.subarray(6,12),e.generalLevelIdc=f[12],e.avgFrameRate=ct(f,19),e.numOfArrays=f[22],e.vps=[],e.sps=[],e.pps=[];for(var t=23,b=0,r=0,c=0,n=0;n<e.numOfArrays;n++){b=63&f[t],r=ct(f,t+1),t+=3;for(var i,o=[],s=0;s<r;s++)c=ct(f,t),t+=2,o.push(f.subarray(t,t+c)),t+=c;if(32===b)(i=e.vps).push.apply(i,o);else if(33===b){var u;(u=e.sps).push.apply(u,o)}else if(34===b){var l;(l=e.pps).push.apply(l,o)}}}))}},{key:"pasp",value:function(a){return jt(a,!1,(function(a,e){a.hSpacing=nt(e),a.vSpacing=nt(e,4)}))}},{key:"mp4a",value:function(e){return jt(e,!1,(function(e,f,d){var t=Pt(e,f);e.esds=a.esds(a.findBox(f.subarray(t),["esds"],d+t)[0])}))}},{key:"esds",value:function(a){return jt(a,!0,(function(a,e){a.codec="mp4a.";for(var f=0,d=0,t=0,b=0;e.length;){for(b=e[f=0],d=e[f+1],f+=2;128&d;)t=(127&d)<<7,d=e[f],f+=1;if(t+=127&d,3===b)e=e.subarray(f+3);else{if(4!==b){if(5===b){var r=a.config=e.subarray(f,f+t),c=(248&r[0])>>3;return 31===c&&r.length>=2&&(c=32+((7&r[0])<<3)+((224&r[1])>>5)),a.objectType=c,a.codec+=c.toString(16),void("."===a.codec[a.codec.length-1]&&(a.codec=a.codec.substring(0,a.codec.length-1)))}return void("."===a.codec[a.codec.length-1]&&(a.codec=a.codec.substring(0,a.codec.length-1)))}a.codec+=(e[f].toString(16)+".").padStart(3,"0"),e=e.subarray(f+13)}}}))}},{key:"alaw",value:function(a){return jt(a,!1,(function(a,e){Pt(a,e)}))}},{key:"stts",value:function(a){return jt(a,!0,(function(a,e){for(var f=nt(e),d=[],t=4,b=0;b<f;b++)d.push({count:nt(e,t),delta:nt(e,t+4)}),t+=8;a.entryCount=f,a.entries=d}))}},{key:"ctts",value:function(a){return jt(a,!0,(function(a,e){var f=nt(e),d=[],t=4;if(1===a.version)for(var b=0;b<f;b++)d.push({count:nt(e,t),offset:nt(e,t+4)}),t+=8;else for(var r=0;r<f;r++)d.push({count:nt(e,t),offset:-(1+~nt(e,t+4))}),t+=8;a.entryCount=f,a.entries=d}))}},{key:"stsc",value:function(a){return jt(a,!0,(function(a,e){for(var f=nt(e),d=[],t=4,b=0;b<f;b++)d.push({firstChunk:nt(e,t),samplesPerChunk:nt(e,t+4),sampleDescriptionIndex:nt(e,t+8)}),t+=12;a.entryCount=f,a.entries=d}))}},{key:"stsz",value:function(a){return jt(a,!0,(function(a,e){var f=nt(e),d=nt(e,4),t=[];if(!f)for(var b=8,r=0;r<d;r++)t.push(nt(e,b)),b+=4;a.sampleSize=f,a.sampleCount=d,a.entrySizes=t}))}},{key:"stco",value:function(a){return jt(a,!0,(function(a,e){for(var f=nt(e),d=[],t=4,b=0;b<f;b++)d.push(nt(e,t)),t+=4;a.entryCount=f,a.entries=d}))}},{key:"co64",value:function(a){return jt(a,!0,(function(a,e){for(var f=nt(e),d=[],t=4,b=0;b<f;b++)d.push(it(e,t)),t+=8;a.entryCount=f,a.entries=d}))}},{key:"stss",value:function(a){return jt(a,!0,(function(a,e){for(var f=nt(e),d=[],t=4,b=0;b<f;b++)d.push(nt(e,t)),t+=4;a.entryCount=f,a.entries=d}))}},{key:"moof",value:function(e){return jt(e,!1,(function(e,f,d){e.mfhd=a.mfhd(a.findBox(f,["mfhd"],d)[0]),e.traf=a.findBox(f,["traf"],d).map((function(e){return a.traf(e)}))}))}},{key:"mfhd",value:function(a){return jt(a,!0,(function(a,e){a.sequenceNumber=nt(e)}))}},{key:"traf",value:function(e){return jt(e,!1,(function(e,f,d){e.tfhd=a.tfhd(a.findBox(f,["tfhd"],d)[0]),e.tfdt=a.tfdt(a.findBox(f,["tfdt"],d)[0]),e.trun=a.trun(a.findBox(f,["trun"],d)[0])}))}},{key:"trun",value:function(a){return jt(a,!0,(function(a,e){var f=a.version,d=a.flags,t=e.length,b=a.sampleCount=nt(e),r=4;if(t>r&&1&d&&(a.dataOffset=-(1+~nt(e,r)),r+=4),t>r&&4&d&&(a.firstSampleFlags=nt(e,r),r+=4),a.samples=[],t>r)for(var c,n=0;n<b;n++)c={},256&d&&(c.duration=nt(e,r),r+=4),512&d&&(c.size=nt(e,r),r+=4),1024&d&&(c.flags=nt(e,r),r+=4),2048&d&&(c.cts=f?-(1+~nt(e,r+4)):nt(e,r),r+=4),a.samples.push(c)}))}},{key:"tfdt",value:function(a){return jt(a,!0,(function(a,e){1===a.version?a.baseMediaDecodeTime=it(e):a.baseMediaDecodeTime=nt(e)}))}},{key:"probe",value:function(e){return!!a.findBox(e,["ftyp"])}},{key:"parseSampleFlags",value:function(a){return{isLeading:(12&a[0])>>>2,dependsOn:3&a[0],isDependedOn:(192&a[1])>>>6,hasRedundancy:(48&a[1])>>>4,paddingValue:(14&a[1])>>>1,isNonSyncSample:1&a[1],degradationPriority:a[2]<<8|a[3]}}},{key:"moovToTrack",value:function(a,e,f){var d,t,b=a.trak;if(b&&b.length){var r=b.find((function(a){var e,f;return"vide"===(null===(e=a.mdia)||void 0===e||null===(f=e.hdlr)||void 0===f?void 0:f.handlerType)})),c=b.find((function(a){var e,f;return"soun"===(null===(e=a.mdia)||void 0===e||null===(f=e.hdlr)||void 0===f?void 0:f.handlerType)}));if(r&&e){var n,i,o,s,u,l,h,p=e,v=null===(n=r.tkhd)||void 0===n?void 0:n.trackId;null!=v&&(p.id=r.tkhd.trackId),p.tkhdDuration=r.tkhd.duration,p.mvhdDurtion=a.mvhd.duration,p.mvhdTimecale=a.mvhd.timescale,p.timescale=p.formatTimescale=r.mdia.mdhd.timescale,p.duration=r.mdia.mdhd.duration||p.mvhdDurtion/p.mvhdTimecale*p.timescale,p.rotation=r.tkhd.rotation,p.matrix=r.tkhd.matrix;var y,m,g,_,E,k,S,w,x=r.mdia.minf.stbl.stsd.entries[0];if(p.width=x.width,p.height=x.height,x.pasp&&(p.sarRatio=[x.pasp.hSpacing,x.pasp.vSpacing]),x.av1C)p.codecType=Ld,p.codec=x.av1C.codec,p.av1C=x.av1C.data,p.colr=x.colr.data;else if(x.hvcC)p.codecType=Pd,p.codec=x.hvcC.codec,p.vps=x.hvcC.vps,p.sps=x.hvcC.sps,p.pps=x.hvcC.pps,p.hvcC=x.hvcC.data;else{if(!x.avcC)throw new Error("unknown video stsd entry");p.codec=x.avcC.codec,p.sps=x.avcC.sps,p.pps=x.avcC.pps}if(p.present=!0,p.ext={},p.ext.stss=null===(i=r.mdia)||void 0===i||null===(o=i.minf)||void 0===o||null===(s=o.stbl)||void 0===s?void 0:s.stss,p.ext.ctts=null===(u=r.mdia)||void 0===u||null===(l=u.minf)||void 0===l||null===(h=l.stbl)||void 0===h?void 0:h.ctts,x&&"encv"===x.type)p.isVideoEncryption=!0,x.default_KID=null===(y=x.sinf)||void 0===y||null===(m=y.schi)||void 0===m?void 0:m.tenc.default_KID,x.default_IsEncrypted=null===(g=x.sinf)||void 0===g||null===(_=g.schi)||void 0===_?void 0:_.tenc.default_IsEncrypted,x.default_IV_size=null===(E=x.sinf)||void 0===E||null===(k=E.schi)||void 0===k?void 0:k.tenc.default_IV_size,p.videoSenc=r.mdia.minf.stbl.senc&&r.mdia.minf.stbl.senc.samples,x.data_format=null===(S=x.sinf)||void 0===S||null===(w=S.frma)||void 0===w?void 0:w.data_format,p.useEME=a.useEME,p.kidValue=a.kidValue,p.pssh=a.pssh,p.encv=x}if(c&&f){var T,A,I,D,O,R,L,C,P,j=f,M=null===(T=c.tkhd)||void 0===T?void 0:T.trackId;null!=M&&(j.id=c.tkhd.trackId),j.tkhdDuration=c.tkhd.duration,j.mvhdDurtion=a.mvhd.duration,j.mvhdTimecale=a.mvhd.timescale,j.timescale=j.formatTimescale=c.mdia.mdhd.timescale,j.duration=c.mdia.mdhd.duration||j.mvhdDurtion/j.mvhdTimecale*j.timescale;var B,U,N,F,G,V,q,z,K=c.mdia.minf.stbl.stsd.entries[0];switch(j.sampleSize=K.sampleSize,j.sampleRate=K.sampleRate,j.channelCount=K.channelCount,j.present=!0,K.type){case"alaw":j.codecType=j.codec=Md,j.sampleRate=8e3;break;case"ulaw":j.codecType=j.codec=Bd,j.sampleRate=8e3;break;default:j.sampleDuration=tt.getFrameDuration(j.sampleRate,j.timescale),j.sampleRateIndex=tt.getRateIndexByRate(j.sampleRate),j.objectType=(null===(d=K.esds)||void 0===d?void 0:d.objectType)||2,K.esds&&(j.config=Array.from(K.esds.config)),j.codec=(null===(t=K.esds)||void 0===t?void 0:t.codec)||"mp4a.40.2"}if(j.sampleDuration=tt.getFrameDuration(j.sampleRate,j.timescale),j.objectType=(null===(A=K.esds)||void 0===A?void 0:A.objectType)||2,K.esds&&(K.esds.config?j.config=Array.from(K.esds.config):console.warn("esds config is null")),j.codec=(null===(I=K.esds)||void 0===I?void 0:I.codec)||"mp4a.40.2",j.sampleRateIndex=tt.getRateIndexByRate(j.sampleRate),j.ext={},j.ext.stss=null===(D=c.mdia)||void 0===D||null===(O=D.minf)||void 0===O||null===(R=O.stbl)||void 0===R?void 0:R.stss,j.ext.ctts=null===(L=c.mdia)||void 0===L||null===(C=L.minf)||void 0===C||null===(P=C.stbl)||void 0===P?void 0:P.ctts,j.present=!0,K&&"enca"===K.type)j.isAudioEncryption=!0,K.data_format=null===(B=K.sinf)||void 0===B||null===(U=B.frma)||void 0===U?void 0:U.data_format,K.default_KID=null===(N=K.sinf)||void 0===N||null===(F=N.schi)||void 0===F?void 0:F.tenc.default_KID,K.default_IsEncrypted=null===(G=K.sinf)||void 0===G||null===(V=G.schi)||void 0===V?void 0:V.tenc.default_IsEncrypted,K.default_IV_size=null===(q=K.sinf)||void 0===q||null===(z=q.schi)||void 0===z?void 0:z.tenc.default_IV_size,j.audioSenc=c.mdia.minf.stbl.senc&&c.mdia.minf.stbl.senc.samples,j.useEME=a.useEME,j.kidValue=a.kidValue,j.enca=K}if(f&&(f.isVideoEncryption=!!e&&e.isVideoEncryption),e&&(e.isAudioEncryption=!!f&&f.isAudioEncryption),null!=e&&e.encv||null!=f&&f.enca){var H,$,W=null==e||null===(H=e.encv)||void 0===H?void 0:H.default_KID,Y=null==f||null===($=f.enca)||void 0===$?void 0:$.default_KID,X=W||Y?(W||Y).join(""):null;e&&(e.kid=X),f&&(f.kid=X)}return e&&(e.flags=3841),f&&(f.flags=1793),{videoTrack:e,audioTrack:f}}}},{key:"evaluateDefaultDuration",value:function(a,e,f){var d,t=null==e||null===(d=e.samples)||void 0===d?void 0:d.length;return t?1024*t/e.timescale*a.timescale/f:1024}},{key:"moofToSamples",value:function(e,f,d){var t={};return e.mfhd&&(f&&(f.sequenceNumber=e.mfhd.sequenceNumber),d&&(d.sequenceNumber=e.mfhd.sequenceNumber)),e.traf.forEach((function(e){var b=e.tfhd,r=e.tfdt,c=e.trun;if(b&&c){r&&(f&&f.id===b.trackId&&(f.baseMediaDecodeTime=r.baseMediaDecodeTime),d&&d.id===b.trackId&&(d.baseMediaDecodeTime=r.baseMediaDecodeTime));var n=b.defaultSampleSize||0,i=b.defaultSampleDuration||a.evaluateDefaultDuration(f,d,c.samples.length||c.sampleCount),o=c.dataOffset||0,s=0,u=-1;if(!c.samples.length&&c.sampleCount){t[b.trackId]=[];for(var l=0;l<c.sampleCount;l++)t[b.trackId].push({offset:o,dts:s,duration:i,size:n}),s+=i,o+=n}else t[b.trackId]=c.samples.map((function(a,e){return(a={offset:o,dts:s,pts:s+(a.cts||0),duration:a.duration||i,size:a.size||n,gopId:u,keyframe:0===e||null!==a.flags&&void 0!==a.flags&&(65536&a.flags)>>>0!=65536}).keyframe&&(u++,a.gopId=u),s+=a.duration,o+=a.size,a}))}})),t}},{key:"moovToSamples",value:function(a){var e=a.trak;if(e&&e.length){var f=e.find((function(a){var e,f;return"vide"===(null===(e=a.mdia)||void 0===e||null===(f=e.hdlr)||void 0===f?void 0:f.handlerType)})),d=e.find((function(a){var e,f;return"soun"===(null===(e=a.mdia)||void 0===e||null===(f=e.hdlr)||void 0===f?void 0:f.handlerType)}));if(f||d){var t,b;if(f){var r,c,n=null===(r=f.mdia)||void 0===r||null===(c=r.minf)||void 0===c?void 0:c.stbl;if(!n)return;var i=n.stts,o=n.stsc,s=n.stsz,u=n.stco,l=n.stss,h=n.ctts;if(!(i&&o&&s&&u&&l))return;t=Lt(i,o,s,u,h,l)}if(d){var p,v,y,m=null===(p=d.mdia)||void 0===p||null===(v=p.minf)||void 0===v?void 0:v.stbl;if(!m)return;var g=null===(y=d.mdia.mdhd)||void 0===y?void 0:y.timescale,_=m.stts,E=m.stsc,k=m.stsz,S=m.stco;if(!(g&&_&&E&&k&&S))return;b=Lt(_,E,k,S)}return{videoSamples:t,audioSamples:b}}}}}]),a}();function Lt(a,e,f,d,t,b){var r,c,n,i=[],o=null==t?void 0:t.entries,s=e.entries,u=d.entries,l=f.entrySizes,h=null==b?void 0:b.entries;h&&(r={},h.forEach((function(a){r[a-1]=!0}))),o&&(c=[],o.forEach((function(a){for(var e=a.count,f=a.offset,d=0;d<e;d++)c.push(f)})));var p=-1,v=0,y=0,m=0,g=0,_=0,E=s[0].samplesPerChunk,k=s[1]?s[1].firstChunk-1:1/0;return a.entries.forEach((function(a){for(var e=a.count,d=a.delta,t=0;t<e;t++)n={dts:v,duration:d,size:l[y]||f.sampleSize,offset:u[m]+_,index:y},h&&(n.keyframe=r[y],n.keyframe&&p++,n.gopId=p),c&&y<c.length&&(n.pts=n.dts+c[y]),i.push(n),v+=d,++y<E?_+=n.size:(m++,_=0,m>=k&&(g++,k=s[g+1]?s[g+1].firstChunk-1:1/0),E+=s[g].samplesPerChunk)})),i}function Ct(a,e){return a.dataReferenceIndex=ct(e,6),a.width=ct(e,24),a.height=ct(e,26),a.horizresolution=nt(e,28),a.vertresolution=nt(e,32),a.frameCount=ct(e,40),a.depth=ct(e,74),78}function Pt(a,e){return a.dataReferenceIndex=ct(e,6),a.channelCount=ct(e,16),a.sampleSize=ct(e,18),a.sampleRate=nt(e,24)/65536,28}function jt(a,e,f){if(a){if(a.size!==a.data.length)throw new Error("box ".concat(a.type," size !== data.length"));var d={start:a.start,size:a.size,headerSize:a.headerSize,type:a.type};return e&&(d.version=a.data[a.headerSize],d.flags=function(a){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(a[e]<<16)+(a[e+1]<<8)+(a[e+2]||0)}(a.data,a.headerSize+1),d.headerSize+=4),f(d,a.data.subarray(d.headerSize),d.start+d.headerSize),d}}var Mt=function(){for(var a=[],e=arguments.length,f=new Array(e),d=0;d<e;d++)f[d]=arguments[d];return f.forEach((function(e){a.push(function(a,e,f){for(var d=String(f),t=0|e,b=Math.ceil(t/d.length),r=[],c=String(a);b--;)r.push(d);return r.join("").substring(0,t-c.length)+c}(Number(e).toString(16),2,0))})),a[0]},Bt=function(){function a(e,f,d){vd(this,a),gd(this,"__loadedMoofWraps",[]),gd(this,"__lastRemainData",null),gd(this,"__lastRemainDataStart",0),gd(this,"__nextMoofStart",-1),this.videoTrack=e||new Hd,this.audioTrack=f||new $d,this.metadataTrack=d||new Qd}return md(a,[{key:"demuxPart",value:function(a,e,f){var d=this,t=this.videoTrack,b=this.audioTrack,r=t.exist(),c=b.exist(),n=/av01/.test(t.codec);t.samples=[],b.samples=[];var i=a,o=e;if(this.__lastRemainData){var s=this.__lastRemainDataStart+this.__lastRemainData.byteLength;if(e<=s&&e>this.__lastRemainDataStart&&e+a.byteLength>s){var u=a.subarray(this.__lastRemainData.byteLength+this.__lastRemainDataStart-e);i=bt(this.__lastRemainData,u),o=this.__lastRemainDataStart,this.__lastRemainData=null}else this.__lastRemainData=null,this.__lastRemainDataStart=0,this.__nextMoofStart=-1}if(!f){var l=Rt.findBox(i,["moov"])[0];if(!l)throw new Error("cannot found moov box");f=Rt.moov(l)}if(i){var h=o+i.byteLength;r||c||Rt.moovToTrack(f,t,b);var p=[];this.__nextMoofStart<0?Rt.findBox(i,["moof"],o).forEach((function(a){return p.push(a)})):this.__nextMoofStart>=o&&this.__nextMoofStart<=h-8&&Rt.findBox(i.subarray(this.__nextMoofStart-o),["moof"],this.__nextMoofStart).forEach((function(a){return p.push(a)})),p.filter((function(a){return a.size<=a.data.length})).forEach((function(a){var e=Rt.moof(a);d.__nextMoofStart=e.start+Math.max.apply(Math,xd(e.traf.map((function(a){return a.trun.samples.reduce((function(a,e){return a+e.size}),a.trun.dataOffset||0)})))),d.__loadedMoofWraps.push({start:e.start,nextMoofStart:d.__nextMoofStart,moof:e}),d.__loadedMoofWraps.sort((function(a,e){return a.start-e.start}))}));var v,y=function(a,e){var f="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!f){if(Array.isArray(a)||(f=Td(a))||e&&a&&"number"==typeof a.length){f&&(a=f);var d=0,t=function(){};return{s:t,n:function(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){throw a},f:t}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var b,r=!0,c=!1;return{s:function(){f=f.call(a)},n:function(){var a=f.next();return r=a.done,a},e:function(a){c=!0,b=a},f:function(){try{r||null==f.return||f.return()}finally{if(c)throw b}}}}(this.__loadedMoofWraps);try{var m=function(){var a=v.value;if(a.start>h||a.nextMoofStart<o)return"continue";var e,f=a.start,r=Rt.moofToSamples(a.moof,t,b),c=t.baseMediaDecodeTime,s=b.baseMediaDecodeTime;Object.keys(r).forEach((function(a){t.id==a?r[a].some((function(a){var b=a.offset+=f;if(!(b<o)){if(b+a.size>h)return!0;var r=new Wd((a.pts||a.dts)+c,a.dts+c);r.duration=a.duration,r.gopId=a.gopId,a.keyframe&&r.setToKeyframe();var s=i.subarray(b-o,b-o+a.size);if(r.data=s,!n)for(var u=0,l=s.length-1;u<l;)e=nt(s,u),u+=4,r.units.push(s.subarray(u,u+e)),u+=e;d.__lastRemainDataStart=b+a.size,t.samples.push(r)}})):b.id==a&&r[a].some((function(a){var e=a.offset+f;if(!(e<o)){if(e+a.size>h)return!0;var t=i.subarray(e-o,e-o+a.size);b.samples.push(new Yd(a.dts+s,t,a.duration)),d.__lastRemainDataStart=e+a.size}}))}))};for(y.s();!(v=y.n()).done;)m()}catch(g){y.e(g)}finally{y.f()}}return this.__lastRemainDataStart>o&&this.__lastRemainDataStart<i.byteLength+o?this.__lastRemainData=i.subarray(this.__lastRemainDataStart-o):(this.__lastRemainData=i,this.__lastRemainDataStart=o),t.samples.length&&(t.baseMediaDecodeTime=t.samples[0].pts),b.samples.length&&(b.baseMediaDecodeTime=b.samples[0].pts),{videoTrack:t,audioTrack:b,metadataTrack:this.metadataTrack}}},{key:"demux",value:function(a,e){var f=this.videoTrack,d=this.audioTrack,t=f.exist(),b=d.exist();if(f.samples=[],d.samples=[],e){if(!b){var r=Rt.findBox(e,["moov"])[0];if(!r)throw new Error("cannot found moov box");Rt.moovToTrack(Rt.moov(r),null,d)}var c=Rt.findBox(e,["moof"])[0];if(c){var n=Rt.moofToSamples(Rt.moof(c),null,d)[d.id],i=d.baseMediaDecodeTime;if(n){var o=c.start;n.map((function(a){a.offset+=o;var f=e.subarray(a.offset,a.offset+a.size);d.samples.push(new Yd(a.dts+i,f,a.duration))}))}}}if(a){if(!t&&!b){var s=Rt.findBox(a,["moov"])[0];if(!s)throw new Error("cannot found moov box");Rt.moovToTrack(Rt.moov(s),f,d)}var u=Rt.findBox(a,["moof"])[0];if(u){var l,h=Rt.moofToSamples(Rt.moof(u),f,d),p=f.baseMediaDecodeTime,v=d.baseMediaDecodeTime,y=u.start;Object.keys(h).forEach((function(e){f.id==e?h[e].map((function(e){e.offset+=y;var d=new Wd((e.pts||e.dts)+p,e.dts+p);d.duration=e.duration,d.gopId=e.gopId,e.keyframe&&d.setToKeyframe();var t=a.subarray(e.offset,e.offset+e.size);d.data=t;for(var b=0,r=t.length-1;b<r;)l=nt(t,b),b+=4,d.units.push(t.subarray(b,b+l)),b+=l;f.samples.push(d)})):d.id==e&&h[e].map((function(e){e.offset+=y;var f=a.subarray(e.offset,e.offset+e.size);d.samples.push(new Yd(e.dts+v,f,e.duration))}))}))}}return{videoTrack:f,audioTrack:d,metadataTrack:this.metadataTrack}}},{key:"reset",value:function(){this.videoTrack.reset(),this.audioTrack.reset(),this.metadataTrack.reset()}}],[{key:"probe",value:function(a){return Rt.probe(a)}}]),a}();var Ut=function(){function a(){vd(this,a),this.buffer=new Uint8Array(0)}return md(a,[{key:"write",value:function(){for(var a=this,e=arguments.length,f=new Array(e),d=0;d<e;d++)f[d]=arguments[d];f.forEach((function(e){e?a.buffer=function(a){for(var e=0,f=arguments.length,d=new Array(f>1?f-1:0),t=1;t<f;t++)d[t-1]=arguments[t];d.forEach((function(a){e+=a.length}));var b=new a(e),r=0;return d.forEach((function(a){b.set(a,r),r+=a.length})),b}(Uint8Array,a.buffer,e):window.console.warn(e)}))}}],[{key:"writeUint16",value:function(a){return new Uint8Array([a>>8&255,255&a])}},{key:"writeUint32",value:function(a){return new Uint8Array([a>>24,a>>16&255,a>>8&255,255&a])}}]),a}(),Nt=Math.pow(2,32)-1,Ft=function(){function a(){vd(this,a)}return md(a,null,[{key:"box",value:function(a){for(var e=arguments.length,f=new Array(e>1?e-1:0),d=1;d<e;d++)f[d-1]=arguments[d];var t=8+(f=f.filter(Boolean)).reduce((function(a,e){return a+e.byteLength}),0),b=new Uint8Array(t);b[0]=t>>24&255,b[1]=t>>16&255,b[2]=t>>8&255,b[3]=255&t,b.set(a,4);var r=8;return f.forEach((function(a){b.set(a,r),r+=a.byteLength})),b}},{key:"ftyp",value:function(e){return e.find((function(a){return a.type===Dd&&a.codecType===Pd}))?a.FTYPHEV1:a.FTYPAVC1}},{key:"initSegment",value:function(e){return bt(a.ftyp(e),a.moov(e))}},{key:"pssh",value:function(e){var f=new Uint8Array([1,0,0,0].concat([16,119,239,236,192,178,77,2,172,227,60,30,82,226,251,75],[0,0,0,1],st(e.kid),[0,0,0,0]));return a.box(a.types.pssh,f)}},{key:"moov",value:function(e){if(e[0].useEME&&(e[0].encv||e[0].enca)){e[0].pssh||(e[0].pssh={kid:e[0].kid});var f=this.pssh(e[0].pssh);return a.box.apply(a,[a.types.moov,a.mvhd(e[0].mvhdDurtion||e[0].duration,e[0].mvhdTimecale||e[0].timescale),a.mvex(e)].concat(xd(e.map((function(e){return a.trak(e)}))),[f]))}return a.box.apply(a,[a.types.moov,a.mvhd(e[0].mvhdDurtion||e[0].duration,e[0].mvhdTimecale||e[0].timescale)].concat(xd(e.map((function(e){return a.trak(e)}))),[a.mvex(e)]))}},{key:"mvhd",value:function(e){var f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4;return a.box(a.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,f>>24&255,f>>16&255,f>>8&255,255&f,e>>24&255,e>>16&255,e>>8&255,255&e,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}},{key:"trak",value:function(e){return a.box(a.types.trak,a.tkhd(e.id,e.tkhdDuration||0,e.width,e.height),a.mdia(e))}},{key:"tkhd",value:function(e,f){var d=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return a.box(a.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,e>>24&255,e>>16&255,e>>8&255,255&e,0,0,0,0,f>>24&255,f>>16&255,f>>8&255,255&f,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,d>>8&255,255&d,0,0,t>>8&255,255&t,0,0]))}},{key:"mdia",value:function(e){return a.box(a.types.mdia,a.mdhd(e.duration,e.timescale),a.hdlr(e.type),a.minf(e))}},{key:"mdhd",value:function(e){var f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4;return a.box(a.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,f>>24&255,f>>16&255,f>>8&255,255&f,e>>24&255,e>>16&255,e>>8&255,255&e,85,196,0,0]))}},{key:"hdlr",value:function(e){return a.box(a.types.hdlr,a.HDLR_TYPES[e])}},{key:"minf",value:function(e){return a.box(a.types.minf,e.type===Dd?a.VMHD:a.SMHD,a.DINF,a.stbl(e))}},{key:"stbl",value:function(e){var f=[];return e&&e.ext&&e.ext.stss&&f.push(a.stss(e.ext.stss.entries)),a.box(a.types.stbl,a.stsd(e),a.STTS,f[0],a.STSC,a.STSZ,a.STCO)}},{key:"stsd",value:function(e){var f;return f="audio"===e.type?e.useEME&&e.enca?a.enca(e):e.codecType===Ud?a.opus(e):a.mp4a(e):e.useEME&&e.encv?a.encv(e):e.av1C?a.av01(e):a.avc1hev1(e),a.box(a.types.stsd,new Uint8Array([0,0,0,0,0,0,0,1]),f)}},{key:"enca",value:function(e){var f=e.enca.channelCount,d=e.enca.sampleRate,t=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,f,0,16,0,0,0,0,d>>8&255,255&d,0,0]),b=a.esds(e.config),r=a.sinf(e.enca);return a.box(a.types.enca,t,b,r)}},{key:"encv",value:function(e){var f,d,t=e.sps.length>0?e.sps[0]:[],b=e.pps.length>0?e.pps[0]:[],r=e.width,c=e.height,n=e.sarRatio[0],i=e.sarRatio[1],o=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,r>>8&255,255&r,c>>8&255,255&c,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),s=new Uint8Array((f=(d=[1,t[1],t[2],t[3],255,225,t.length>>>8&255,255&t.length]).concat.apply(d,xd(t)).concat([1,b.length>>>8&255,255&b.length])).concat.apply(f,xd(b))),u=new Uint8Array([0,0,88,57,0,15,200,192,0,4,86,72]),l=a.sinf(e.encv),h=new Uint8Array([n>>24,n>>16&255,n>>8&255,255&n,i>>24,i>>16&255,i>>8&255,255&i]);return a.box(a.types.encv,o,a.box(a.types.avcC,s),a.box(a.types.btrt,u),l,a.box(a.types.pasp,h))}},{key:"schi",value:function(e){var f=new Uint8Array([]),d=a.tenc(e);return a.box(a.types.schi,f,d)}},{key:"tenc",value:function(e){var f=new Uint8Array([0,0,0,0,0,0,255&e.default_IsEncrypted,255&e.default_IV_size].concat(st(e.default_KID)));return a.box(a.types.tenc,f)}},{key:"sinf",value:function(e){var f=new Uint8Array([]),d=new Uint8Array([e.data_format.charCodeAt(0),e.data_format.charCodeAt(1),e.data_format.charCodeAt(2),e.data_format.charCodeAt(3)]),t=new Uint8Array([0,0,0,0,99,101,110,99,0,1,0,0]),b=a.schi(e);return a.box(a.types.sinf,f,a.box(a.types.frma,d),a.box(a.types.schm,t),b)}},{key:"av01",value:function(e){return a.box(a.types.av01,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,e.width>>8&255,255&e.width,e.height>>8&255,255&e.height,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),e.av1C,e.colr)}},{key:"avc1hev1",value:function(e){var f=e.codecType===Pd,d=f?a.types.hvc1:a.types.avc1,t=f?a.hvcC(e):a.avcC(e),b=[new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,e.width>>8&255,255&e.width,e.height>>8&255,255&e.height,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),t];return f?b.push(a.box(a.types.fiel,new Uint8Array([1,0]))):e.sarRatio&&e.sarRatio.length>1&&b.push(a.pasp(e.sarRatio)),a.box.apply(a,[d].concat(b))}},{key:"avcC",value:function(e){var f,d,t,b=[],r=[];return e.sps.forEach((function(a){t=a.byteLength,b.push(t>>>8&255),b.push(255&t),b.push.apply(b,xd(a))})),e.pps.forEach((function(a){t=a.byteLength,r.push(t>>>8&255),r.push(255&t),r.push.apply(r,xd(a))})),a.box(a.types.avcC,new Uint8Array((f=(d=[1,b[3],b[4],b[5],255,224|e.sps.length]).concat.apply(d,b).concat([e.pps.length])).concat.apply(f,r)))}},{key:"hvcC",value:function(e){var f=e.hvcC;if(f instanceof ArrayBuffer||f instanceof Uint8Array)return f;var d,t=e.vps,b=e.sps,r=e.pps;if(f){var c=f.generalProfileCompatibilityFlags,n=f.generalConstraintIndicatorFlags,i=(t.length&&1)+(b.length&&1)+(r.length&&1);d=[1,f.generalProfileSpace<<6|f.generalTierFlag<<5|f.generalProfileIdc,c>>>24,c>>>16,c>>>8,c,n[0],n[1],n[2],n[3],n[4],n[5],f.generalLevelIdc,240,0,252,252|f.chromaFormatIdc,248|f.bitDepthLumaMinus8,248|f.bitDepthChromaMinus8,0,0,f.numTemporalLayers<<3|f.temporalIdNested<<2|3,i];var o=function(a){var e;d.push(a.length>>8,a.length),(e=d).push.apply(e,xd(a))};t.length&&(d.push(160,0,t.length),t.forEach(o)),b.length&&(d.push(161,0,b.length),b.forEach(o)),r.length&&(d.push(162,0,r.length),r.forEach(o))}else d=[1,1,96,0,0,0,144,0,0,0,0,0,93,240,0,252,253,248,248,0,0,15,3,160,0,1,0,24,64,1,12,1,255,255,1,96,0,0,3,0,144,0,0,3,0,0,3,0,93,153,152,9,161,0,1,0,45,66,1,1,1,96,0,0,3,0,144,0,0,3,0,0,3,0,93,160,2,128,128,45,22,89,153,164,147,43,154,128,128,128,130,0,0,3,0,2,0,0,3,0,50,16,162,0,1,0,7,68,1,193,114,180,98,64];return a.box(a.types.hvcC,new Uint8Array(d))}},{key:"pasp",value:function(e){var f=wd(e,2),d=f[0],t=f[1];return a.box(a.types.pasp,new Uint8Array([d>>24,d>>16&255,d>>8&255,255&d,t>>24,t>>16&255,t>>8&255,255&t]))}},{key:"mp4a",value:function(e){return a.box(a.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,e.sampleRate>>8&255,255&e.sampleRate,0,0]),e.config.length?a.esds(e.config):void 0)}},{key:"esds",value:function(e){var f=e.length;return a.box(a.types.esds,new Uint8Array([0,0,0,0,3,23+f,0,0,0,4,15+f,64,21,0,6,0,0,0,218,192,0,0,218,192,5].concat([f]).concat(e).concat([6,1,2])))}},{key:"opus",value:function(e){var f=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,e.sampleRate>>8&255,255&e.sampleRate,0,0]),d=e.config.length?a.dOps(e):[];return a.box(a.types.Opus,f,d)}},{key:"dOps",value:function(e){if(e.config)return e.config[4]=e.sampleRate>>>24&255,e.config[5]=e.sampleRate>>>16&255,e.config[6]=e.sampleRate>>>8&255,e.config[7]=255&e.sampleRate,a.box(a.types.dOps,e.config)}},{key:"mvex",value:function(e){return a.box.apply(a,[a.types.mvex].concat(xd(e.map((function(e){return a.trex(e.id)})))))}},{key:"trex",value:function(e){return a.box(a.types.trex,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}},{key:"trex1",value:function(e){return a.box(a.types.trex,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e,0,0,0,1,0,0,2,0,0,0,0,0,0,1,0,0]))}},{key:"trex2",value:function(e){return a.box(a.types.trex,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e,0,0,0,1,0,0,4,0,0,0,0,0,2,0,0,0]))}},{key:"moof",value:function(e){return a.box.apply(a,[a.types.moof,a.mfhd(e[0].samples?e[0].samples[0].gopId:0)].concat(xd(e.map((function(e){return a.traf(e)})))))}},{key:"mfhd",value:function(e){return a.box(a.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e]))}},{key:"traf",value:function(e){var f=a.tfhd(e.id),d=a.tfdt(e,e.baseMediaDecodeTime),t=0;if(e.isVideo&&e.videoSenc&&e.videoSenc.forEach((function(a){t+=8,a.subsamples&&a.subsamples.length&&(t+=2,t+=6*a.subsamples.length)})),e.videoSencLength=t,e.useEME&&(e.isVideoEncryption||e.isAudioEncryption)){if(e.isVideoEncryption){if(e.isVideo){var b=a.saiz(e),r=a.saio(e),c=a.trun1(e),n=a.senc(e);return a.box(a.types.traf,f,d,b,r,c,n)}if(e.isAudioEncryption){var i=a.sbgp(),o=a.saiz(e),s=a.saio(e),u=a.senc(e),l=a.trun1(e);return a.box(a.types.traf,f,d,i,o,s,u,l)}var h=a.sbgp(),p=a.trun1(e);return a.box(a.types.traf,f,d,h,p)}if(e.isVideo){var v=a.trun1(e);return a.box(a.types.traf,f,d,v)}var y=a.sbgp(),m=a.saiz(e),g=a.saio(e),_=a.senc(e),E=a.trun1(e);return a.box(a.types.traf,f,d,y,m,g,_,E)}var k=a.sdtp(e);return a.box(a.types.traf,f,d,k,a.trun(e.samples,k.byteLength+76))}},{key:"sdtp",value:function(e){var f=new Ut;return e.samples.forEach((function(a){f.write(new Uint8Array(e.isVideo?[a.keyframe?32:16]:[16]))})),a.box(a.types.sdtp,this.extension(0,0),f.buffer)}},{key:"trun1",value:function(e){var f=new Ut,d=Ut.writeUint32(e.samples.length),t=null;if(e.isVideo){var b=e.videoSencLength;t=Ut.writeUint32(16*e.samples.length+b+149),!e.isVideoEncryption&&e.isAudioEncryption&&(t=Ut.writeUint32(16*e.samples.length+92))}else{var r=12*e.samples.length+124;e.isAudioEncryption&&(r=12*e.samples.length+8*e.audioSenc.length+177),t=Ut.writeUint32(r)}return e.samples.forEach((function(a){f.write(Ut.writeUint32(a.duration)),f.write(Ut.writeUint32(a.size)),f.write(Ut.writeUint32(a.keyframe?33554432:65536)),e.isVideo&&f.write(Ut.writeUint32(a.cts?a.cts:0))})),a.box(a.types.trun,this.extension(0,e.flags),d,t,f.buffer)}},{key:"senc",value:function(e){var f=new Ut,d=e.samples.length,t=e.isVideo?16:8,b=e.isVideo?2:0,r=[],c=0;return e.isVideo?(r=e.videoSenc,c=e.videoSencLength):r=e.audioSenc,c=c||t*d,f.write(Ut.writeUint32(16+c),a.types.senc,this.extension(0,b)),f.write(Ut.writeUint32(d)),r.forEach((function(a){for(var e=0;e<a.InitializationVector.length;e++)f.write(new Uint8Array([a.InitializationVector[e]]));a.subsamples&&a.subsamples.length&&(f.write(Ut.writeUint16(a.subsamples.length)),a.subsamples.forEach((function(a){f.write(Ut.writeUint16(a.BytesOfClearData)),f.write(Ut.writeUint32(a.BytesOfProtectedData))})))})),f.buffer}},{key:"saio",value:function(e){var f=12*e.samples.length+141;!e.isVideo&&e.isAudioEncryption&&(f=149);var d=new Uint8Array([1,0,0,0,0,0,0,1,0,0,0,0,f>>24&255,f>>16&255,f>>8&255,255&f]);return a.box(a.types.saio,d)}},{key:"saiz",value:function(e){var f=e.samples.length,d=new Uint8Array([0,0,0,0,16,f>>24&255,f>>16&255,f>>8&255,255&f]);return a.box(a.types.saiz,d)}},{key:"sbgp",value:function(){var e=new Uint8Array([114,111,108,108,0,0,0,1,0,0,1,25,0,0,0,1]);return a.box(a.types.sbgp,this.extension(0,0),e)}},{key:"extension",value:function(a,e){return new Uint8Array([a,e>>16&255,e>>8&255,255&e])}},{key:"tfhd",value:function(e){return a.box(a.types.tfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e]))}},{key:"tfdt",value:function(e,f){var d=Math.floor(f/(Nt+1)),t=Math.floor(f%(Nt+1));return e.useEME&&(e.isVideoEncryption||e.isAudioEncryption)?a.box(a.types.tfdt,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t])):a.box(a.types.tfdt,new Uint8Array([1,0,0,0,d>>24,d>>16&255,d>>8&255,255&d,t>>24,t>>16&255,t>>8&255,255&t]))}},{key:"trun",value:function(e,f){var d=e.length,t=12+16*d;f+=8+t;var b=new Uint8Array(t);b.set([0,0,15,1,d>>>24&255,d>>>16&255,d>>>8&255,255&d,f>>>24&255,f>>>16&255,f>>>8&255,255&f],0);for(var r=0;r<d;r++){var c=e[r],n=c.duration,i=c.size,o=c.flag,s=void 0===o?{}:o,u=c.cts,l=void 0===u?0:u;b.set([n>>>24&255,n>>>16&255,n>>>8&255,255&n,i>>>24&255,i>>>16&255,i>>>8&255,255&i,s.isLeading<<2|(null===s.dependsOn||void 0===s.dependsOn?1:s.dependsOn),s.isDependedOn<<6|s.hasRedundancy<<4|s.paddingValue<<1|(null===s.isNonSyncSample||void 0===s.isNonSyncSample?1:s.isNonSyncSample),61440&s.degradationPriority,15&s.degradationPriority,l>>>24&255,l>>>16&255,l>>>8&255,255&l],12+16*r)}return a.box(a.types.trun,b)}},{key:"moovMP4",value:function(e){return a.box.apply(a,[a.types.moov,a.mvhd(e[0].duration,e[0].timescale)].concat(xd(e.map((function(e){return a.trackMP4(e)})))))}},{key:"trackMP4",value:function(e){return a.box(a.types.trak,a.tkhd(e.id,e.duration,e.width,e.height),a.mdiaMP4(e))}},{key:"mdiaMP4",value:function(e){return a.box(a.types.mdia,a.mdhd(e.duration,e.timescale),a.hdlr(e.type),a.minfMP4(e))}},{key:"minfMP4",value:function(e){return a.box(a.types.minf,e.type===Dd?a.VMHD:a.SMHD,a.DINF,a.stblMP4(e))}},{key:"stblMP4",value:function(e){var f=e.ext,d=[a.stsd(e),a.stts(f.stts),a.stsc(f.stsc),a.stsz(f.stsz),a.stco(f.stco)];return f.stss.length&&d.push(a.stss(f.stss)),f.ctts.length&&d.push(a.ctts(f.ctts)),a.box.apply(a,[a.types.stbl].concat(d))}},{key:"stts",value:function(e){var f=e.length,d=new Uint8Array(8*f),t=0;return e.forEach((function(a){var e=a.value,f=a.count;d.set([f>>24,f>>16&255,f>>8&255,255&f,e>>24,e>>16&255,e>>8&255,255&e],t),t+=8})),a.box(a.types.stts,bt(new Uint8Array([0,0,0,0,f>>24,f>>16&255,f>>8&255,255&f]),d))}},{key:"stsc",value:function(e){var f=e.length,d=new Uint8Array(12*f),t=0;return e.forEach((function(a){var e=a.firstChunk,f=a.samplesPerChunk,b=a.sampleDescIndex;d.set([e>>24,e>>16&255,e>>8&255,255&e,f>>24,f>>16&255,f>>8&255,255&f,b>>24,b>>16&255,b>>8&255,255&b],t),t+=12})),a.box(a.types.stsc,bt(new Uint8Array([0,0,0,0,f>>24,f>>16&255,f>>8&255,255&f]),d))}},{key:"stsz",value:function(e){var f=e.length,d=new Uint8Array(4*f),t=0;return e.forEach((function(a){d.set([a>>24,a>>16&255,a>>8&255,255&a],t),t+=4})),a.box(a.types.stsz,bt(new Uint8Array([0,0,0,0,0,0,0,0,f>>24,f>>16&255,f>>8&255,255&f]),d))}},{key:"stco",value:function(e){var f=e.length,d=new Uint8Array(4*f),t=0;return e.forEach((function(a){d.set([a>>24,a>>16&255,a>>8&255,255&a],t),t+=4})),a.box(a.types.stco,bt(new Uint8Array([0,0,0,0,f>>24,f>>16&255,f>>8&255,255&f]),d))}},{key:"stss",value:function(e){var f=e.length,d=new Uint8Array(4*f),t=0;return e.forEach((function(a){d.set([a>>24,a>>16&255,a>>8&255,255&a],t),t+=4})),a.box(a.types.stss,bt(new Uint8Array([0,0,0,0,f>>24,f>>16&255,f>>8&255,255&f]),d))}},{key:"ctts",value:function(e){var f=e.length,d=new Uint8Array(8*f),t=0;return e.forEach((function(a){var e=a.value,f=a.count;d.set([f>>24,f>>16&255,f>>8&255,255&f,e>>24,e>>16&255,e>>8&255,255&e],t),t+=8})),a.box(a.types.ctts,bt(new Uint8Array([0,0,0,0,f>>24,f>>16&255,f>>8&255,255&f]),d))}},{key:"styp",value:function(){return a.box(a.types.styp,new Uint8Array([109,115,100,104,0,0,0,0,109,115,100,104,109,115,105,120]))}},{key:"sidx",value:function(e){var f=e.timescale,d=e.samples[0].duration,t=d*e.samples.length,b=e.samples[0].sampleOffset*d,r=8;e.samples.forEach((function(a){r+=a.size}));var c=0;if(e.isVideo){var n,i=0;e.videoSenc&&(n=e.videoSenc),e.isVideo&&n.forEach((function(a){i+=8,a.subsamples&&a.subsamples.length&&(i+=2,i+=6*a.subsamples.length)})),e.videoSencLength=i,c=r+141+16*e.samples.length+i,e.useEME&&e.isAudioEncryption&&!e.isVideoEncryption&&(c=r+16*e.samples.length+84)}else c=r+116+12*e.samples.length,e.useEME&&e.isAudioEncryption&&(c=r+169+12*e.samples.length+8*e.audioSenc.length);var o=new Uint8Array([0,0,0,0,0,0,0,255&e.id,f>>24&255,f>>16&255,f>>8&255,255&f,b>>24&255,b>>16&255,b>>8&255,255&b,0,0,0,0,0,0,0,1,0,c>>16&255,c>>8&255,255&c,t>>24&255,t>>16&255,t>>8&255,255&t,144,0,0,0]);return a.box(a.types.sidx,o)}},{key:"mdat",value:function(e){return a.box(a.types.mdat,e)}}]),a}();gd(Ft,"types",["Opus","dOps","av01","av1C","avc1","avcC","hvc1","hvcC","dinf","dref","esds","ftyp","hdlr","mdat","mdhd","mdia","mfhd","minf","moof","moov","mp4a","mvex","mvhd","pasp","stbl","stco","stsc","stsd","stsz","stts","tfdt","tfhd","traf","trak","trex","tkhd","vmhd","smhd","ctts","stss","styp","pssh","sidx","sbgp","saiz","saio","senc","trun","encv","enca","sinf","btrt","frma","tenc","schm","schi","mehd","fiel","sdtp"].reduce((function(a,e){return a[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)],a}),Object.create(null))),gd(Ft,"HDLR_TYPES",{video:new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),audio:new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0])}),gd(Ft,"FTYPAVC1",Ft.box(Ft.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]))),gd(Ft,"FTYPHEV1",Ft.box(Ft.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,104,101,118,49]))),gd(Ft,"DINF",Ft.box(Ft.types.dinf,Ft.box(Ft.types.dref,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1])))),gd(Ft,"VMHD",Ft.box(Ft.types.vmhd,new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]))),gd(Ft,"SMHD",Ft.box(Ft.types.smhd,new Uint8Array([0,0,0,0,0,0,0,0]))),gd(Ft,"StblTable",new Uint8Array([0,0,0,0,0,0,0,0])),gd(Ft,"STTS",Ft.box(Ft.types.stts,Ft.StblTable)),gd(Ft,"STSC",Ft.box(Ft.types.stsc,Ft.StblTable)),gd(Ft,"STSZ",Ft.box(Ft.types.stsz,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]))),gd(Ft,"STCO",Ft.box(Ft.types.stco,Ft.StblTable));var Gt=function(){function a(e,f){vd(this,a),this.name=e||"",this._prefix="[".concat(this.name,"]"),a.disabled=f}return md(a,[{key:"debug",value:function(){var e;if(!a.disabled){for(var f=arguments.length,d=new Array(f),t=0;t<f;t++)d[t]=arguments[t];(e=console).debug.apply(e,[this._prefix].concat(d))}}},{key:"log",value:function(){var e;if(!a.disabled){for(var f=arguments.length,d=new Array(f),t=0;t<f;t++)d[t]=arguments[t];(e=console).log.apply(e,[this._prefix].concat(d))}}},{key:"warn",value:function(){var e;if(!a.disabled){for(var f=arguments.length,d=new Array(f),t=0;t<f;t++)d[t]=arguments[t];(e=console).warn.apply(e,[this._prefix].concat(d))}}},{key:"error",value:function(){var e;if(!a.disabled){for(var f=arguments.length,d=new Array(f),t=0;t<f;t++)d[t]=arguments[t];(e=console).error.apply(e,[this._prefix].concat(d))}}},{key:"table",value:function(){var e;a.disabled||(console.group(this._prefix),(e=console).table.apply(e,arguments),console.groupEnd())}}],[{key:"enable",value:function(){a.disabled=!1}},{key:"disable",value:function(){a.disabled=!0}}]),a}();gd(Gt,"disabled",!0);var Vt=function(){function a(e,f,d){vd(this,a),this.videoTrack=e,this.audioTrack=f;var t=/Chrome\/([^.]+)/.exec(navigator.userAgent);this.forceFirstIDR=t&&Number(t[1])<50,this.log=new Gt("FMP4Remuxer",!d||!d.openLog||!d.openLog)}return md(a,[{key:"remux",value:function(){var a,e,f,d,t,b=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=this.videoTrack,n=this.audioTrack,i=c.exist(),o=n.exist(),s=[];return b&&(r&&r.initMerge?(i&&s.push(this.videoTrack),o&&s.push(this.audioTrack),f=Ft.initSegment(s)):(i&&(a=Ft.initSegment([this.videoTrack])),o&&(e=Ft.initSegment([this.audioTrack])))),i&&c.hasSample()&&(d=this._remuxVideo()),o&&n.hasSample()&&(t=this._remuxAudio()),c.samples=[],n.samples=[],{initSegment:f,videoInitSegment:a,audioInitSegment:e,videoSegment:d,audioSegment:t}}},{key:"_remuxVideo",value:function(){var a=this.videoTrack;this.forceFirstIDR&&(a.samples[0].flag={dependsOn:2,isNonSyncSample:0});var e=a.samples,f=/av01/.test(a.codec),d=0;f?e.forEach((function(a){d+=a.data.byteLength})):e.forEach((function(a){d+=a.units.reduce((function(a,e){return a+e.byteLength}),0),d+=4*a.units.length}));var t=new Uint8Array(d);if(f)for(var b,r=0,c=e.length,n=0;r<c;r++)b=e[r],t.set(b.data,n),b.size=b.data.byteLength,n+=b.size;else for(var i,o=new DataView(t.buffer),s=function(a,f){f=e[u];var d=0;f.units.forEach((function(e){o.setUint32(a,e.byteLength),a+=4,t.set(e,a),a+=e.byteLength,d+=4+e.byteLength})),f.size=d,h=a,i=f},u=0,l=e.length,h=0;u<l;u++)s(h,i);var p=Ft.mdat(t);return bt(Ft.moof([a]),p)}},{key:"_remuxAudio",value:function(){var a=this.audioTrack,e=new Uint8Array(a.samples.reduce((function(a,e){return a+e.size}),0));a.samples.reduce((function(a,f){return e.set(f.data,a),a+f.size}),0);var f=Ft.mdat(e);return bt(Ft.moof([a]),f)}},{key:"reset",value:function(){this.videoTrack.reset(),this.audioTrack.reset()}}]),a}(),qt=function(){function a(){Se(this,a);var e=window.crypto||window.msCrypto;this.subtle=e&&(e.subtle||e.webkitSubtle),this.externalDecryptor=null}var e,f;return xe(a,[{key:"destroy",value:function(){var a;null!==(a=this.externalDecryptor)&&void 0!==a&&a.destroy&&this.externalDecryptor.destroy()}},{key:"decrypt",value:function(a,e){if(a||e){var f=[];return a&&(f[0]=this._decryptSegment(a)),e&&(f[1]=this._decryptSegment(e)),Promise.all(f)}}},{key:"_decryptSegment",value:(f=ke(ge().mark((function a(e){var f;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(f=e.data,!e.key){a.next=5;break}return a.next=4,this._decryptData(e.data,e.key,e.keyIv);case 4:f=a.sent;case 5:if(e.map){a.next=7;break}return a.abrupt("return",f);case 7:return a.abrupt("return",nd(e.map,f));case 8:case"end":return a.stop()}}),a,this)}))),function(a){return f.apply(this,arguments)})},{key:"_decryptData",value:(e=ke(ge().mark((function a(e,f,d){var t;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(!this.externalDecryptor){a.next=6;break}return a.next=3,this.externalDecryptor.decrypt(e,f,d);case 3:return a.abrupt("return",a.sent);case 6:if(this.subtle){a.next=8;break}throw new Error("crypto is not defined");case 8:return a.next=10,this.subtle.importKey("raw",f,{name:"AES-CBC"},!1,["encrypt","decrypt"]);case 10:return t=a.sent,a.t0=Uint8Array,a.next=14,this.subtle.decrypt({name:"AES-CBC",iv:d},t,e);case 14:return a.t1=a.sent,a.abrupt("return",new a.t0(a.t1));case 16:case"end":return a.stop()}}),a,this)}))),function(a,f,d){return e.apply(this,arguments)})}]),a}(),zt=me(me({},ad),{},{STREAM_PARSED:"core.streamparsed",NO_AUDIO_TRACK:"core.noaudiotrack",SUBTITLE_SEGMENTS:"core.subtitlesegments",SUBTITLE_PLAYLIST:"core.subtitleplaylist",SEI_PAYLOAD_TIME:"core.seipayloadtime",APPEND_COST:"core.appendcost"}),Kt=new If("Transmuxer"),Ht=function(){function a(e,f,d,t){Se(this,a),Te(this,"_initSegmentId",""),this.hls=e,this._demuxer=f?new Bt:new It(null,null,null,t),this._isMP4=f,d&&(this._remuxer=new Vt(this._demuxer.videoTrack,this._demuxer.audioTrack))}return xe(a,[{key:"transmux",value:function(a,e,f,d,t,b){var r=this._demuxer;try{this._isMP4?r.demux(a,e):r.demuxAndFix(nd(a,e),f,d,t)}catch(_){throw new xf(yf,Sf.HLS,_)}var c=r.videoTrack,n=r.audioTrack,i=r.metadataTrack,o={codec:c.codec,timescale:c.timescale,firstDts:c.firstDts/c.timescale,firstPts:c.firstPts/c.timescale,duration:c.samplesDuration/c.timescale},s={codec:n.codec,timescale:n.timescale,firstDts:n.firstDts/c.timescale,firstPts:n.firstPts/c.timescale,duration:n.samplesDuration/c.timescale,container:n.container},u="".concat(c.codec,"/").concat(c.width,"/").concat(c.height,"/").concat(n.codec,"/").concat(n.config);if(u!==this._initSegmentId&&(this._initSegmentId=u,b=!0),this._fireEvents(c,n,i,f||b),this.hls.emit(zt.DEMUXED_TRACK,{videoTrack:c,audioTrack:n}),!this._remuxer)return[c,n];b&&this.hls.isLive&&!this.hls.config.mseLowLatency&&(c.duration=this.hls.totalDuration*c.timescale,n.duration=this.hls.totalDuration*n.timescale);try{var l=this._remuxer.remux(b),h=l.videoInitSegment,p=l.videoSegment,v=l.audioInitSegment,y=l.audioSegment,m=nd(h,p),g=nd(v,y);return[m?me(me({},o),{},{data:m}):void 0,g?me(me({},s),{},{data:g}):void 0]}catch(_){throw new xf(mf,Sf.FMP4,_)}}},{key:"_fireEvents",value:function(a,e,f,d){var t=this,b=[a,e],r="discontinuity: ".concat(d);b.forEach((function(a){var e;null!==(e=a.samples)&&void 0!==e&&e.length&&(r+="; ".concat(a.samples.length," ").concat(a.type===Dd?"video":"audio"," samples, firstDts/firstPts/duration: ").concat((a.firstDts/a.timescale).toFixed(3),"/").concat((a.firstPts/a.timescale).toFixed(3),"/").concat((a.samplesDuration/a.timescale).toFixed(3))),d&&a.exist()&&t.hls.emit(zt.METADATA_PARSED,{type:a.type,track:a,meta:me({codec:a.codec,timescale:a.timescale,baseDts:a.baseDts},a.type===Dd?{width:a.width,height:a.height,sarRatio:a.sarRatio}:{codec:a.codec,channelCount:a.channelCount,sampleRate:a.sampleRate})})})),Kt.debug(r),a.warnings.forEach((function(a){var e;switch(a.type){case Fd:e=zt.LARGE_AV_FIRST_FRAME_GAP_DETECT;break;case Gd:e=zt.LARGE_VIDEO_DTS_GAP_DETECT;break;case Vd:e=zt.MAX_DTS_DELTA_WITH_NEXT_SEGMENT_DETECT}e&&t.hls.emit(zt.STREAM_EXCEPTION,me(me({},a),{},{type:e})),Kt.warn("video exception",a)})),e.warnings.forEach((function(a){var e;switch(a.type){case qd:e=zt.LARGE_AUDIO_DTS_GAP_DETECT;break;case zd:e=zt.AUDIO_GAP_DETECT;break;case Kd:e=zt.AUDIO_OVERLAP_DETECT}e&&t.hls.emit(zt.STREAM_EXCEPTION,me(me({},a),{},{type:e})),Kt.warn("audio exception",a)})),a.samples.forEach((function(a){a.keyframe&&t.hls.emit(zt.KEYFRAME,{pts:a.pts})})),f.seiSamples.forEach((function(a){t.hls.emit(zt.SEI,me(me({},a),{},{originPts:a.originPts/90,sei:{code:a.data.type,content:a.data.payload,dts:a.pts}}))}))}}]),a}(),$t=["data"],Wt=["data"],Yt=new If("BufferService"),Xt=function(){function a(e){var f=this;Se(this,a),Te(this,"_decryptor",new qt),Te(this,"_transmuxer",null),Te(this,"_mse",null),Te(this,"_softVideo",null),Te(this,"_sourceCreated",!1),Te(this,"_needInitSegment",!0),Te(this,"_directAppend",!1),this.hls=e,e.config.softDecode?this._softVideo=e.media:(this._mse=new Ff(null,{preferMMS:e.config.preferMMS}),e.config.url&&this._mse.bindMedia(e.media).then((function(a){f.hls.emit(ad.MEDIASOURCE_OPENED,a)}))),e.config.decryptor&&(this._decryptor.externalDecryptor=e.config.decryptor)}var e,f,d,t,b,r,c,n,i,o;return xe(a,[{key:"baseDts",get:function(){var a,e,f;return null===(a=this._transmuxer)||void 0===a||null===(e=a._demuxer)||void 0===e||null===(f=e._fixer)||void 0===f?void 0:f._baseDts}},{key:"nbSb",get:function(){var a;return null!==(a=this._mse)&&void 0!==a&&a._sourceBuffer?Object.keys(this._mse._sourceBuffer).length:0}},{key:"msIsOpened",get:function(){var a;return null===(a=this._mse)||void 0===a?void 0:a.isOpened}},{key:"msHasOpTasks",get:function(){var a;return null===(a=this._mse)||void 0===a?void 0:a.hasOpTasks}},{key:"msStreaming",get:function(){var a;return null===(a=this._mse)||void 0===a?void 0:a.streaming}},{key:"updateDuration",value:(o=ke(ge().mark((function a(e){return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(Yt.debug("update duration",e),!this._mse){a.next=9;break}if(this._mse.isOpened){a.next=5;break}return a.next=5,this._mse.open();case 5:return a.next=7,this._mse.updateDuration(e);case 7:a.next=10;break;case 9:this._softVideo&&(this._softVideo.duration=e);case 10:case"end":return a.stop()}}),a,this)}))),function(a){return o.apply(this,arguments)})},{key:"createSource",value:function(a,e,f,d){if(!this._sourceCreated){var t=a||e;if(t){if(It.probe(t))this._transmuxer||(this._transmuxer=new Ht(this.hls,!1,!this._softVideo,this.hls.config.fixerConfig));else{if(!Rt.probe(t))throw new xf(Ef,null,null,null,"unsupported stream");if(this._softVideo)this._transmuxer||(this._transmuxer=new Ht(this.hls,!0,null,this.hls.config.fixerConfig));else{this._directAppend=!0;var b=!1;a&&!f&&Rt.findBox(a,["moov","trak"]).forEach((function(a){var e=Rt.findBox(a.data,["trak","mdia","minf","stbl","stsd"])[0];if(e){var t=Rt.stsd(e).entries[0];if(t)if(t.hvcC)f=t.hvcC.codec||"hev1.1.6.L93.B0";else if(t.avcC)f=t.avcC.codec;else if(t.sampleRate||t.esds){var r;d=(null===(r=t.esds)||void 0===r?void 0:r.codec)||"mp4a.40.2",b=!0}}})),e&&!d&&Rt.findBox(e,["moov","trak","mdia","minf","stbl","stsd"]).forEach((function(a){var e=Rt.stsd(a).entries[0];e&&e.esds&&(d=e.esds.codec)})),a&&!f&&(f="avc1.42e01e"),e&&!d&&(d="mp4a.40.2"),b&&(f+=", ".concat(d),d=""),this._createMseSource(f,d)}}this._softVideo&&(this._sourceCreated=!0)}}}},{key:"appendBuffer",value:(i=ke(ge().mark((function a(e,f,d,t,b,r,c){var n,i,o,s,u,l,h,p,v,y,m,g,_,E,k,S=this;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(null!=d&&d.length||null!=t&&t.length){a.next=2;break}return a.abrupt("return");case 2:if(n=function(){var a,f;null!==(a=S.hls)&&void 0!==a&&a.emit&&(null===(f=S.hls)||void 0===f||f.emit(ad.APPEND_BUFFER,{start:e.start,end:e.end}))},!this._directAppend){a.next=8;break}return i=[],d&&i.push(this._mse.append(Ff.VIDEO,d)),t&&i.push(this._mse.append(Ff.AUDIO,t)),a.abrupt("return",Promise.all(i).then(n));case 8:if(o=this._needInitSegment||b,s=this._transmuxer.transmux(d,t,o,r,c,this._needInitSegment||b),u=Ce(s,2),l=u[0],h=u[1],t&&f&&(null==f||f.setTrackExist(!1,!0)),t&&e&&(null==e||e.setTrackExist(!0,!1)),f||null==e||e.setTrackExist(!!l,!!h),l&&!h&&this.hls.emit(zt.NO_AUDIO_TRACK),!this._softVideo){a.next=20;break}this._softVideo.appendBuffer(l,h),this._needInitSegment=!1,n(),a.next=32;break;case 20:if(!this._mse){a.next=32;break}return(p=!this._sourceCreated)&&this._createMseSource(null==l?void 0:l.codec,null==h?void 0:h.codec,null==h?void 0:h.container),this._needInitSegment=!1,v=this._mse,y=[],o&&!p&&this._handleCodecChange(l,h).forEach((function(a){return y.push(a)})),l&&(m=l.data,g=Oe(l,$t),y.push(v.append(Ff.VIDEO,m,g))),h&&(_=h.data,E=Oe(h,Wt),y.push(v.append(Ff.AUDIO,_,E))),(k=Promise.all(y)).then(n),a.abrupt("return",k);case 32:case"end":return a.stop()}}),a,this)}))),function(a,e,f,d,t,b,r){return i.apply(this,arguments)})},{key:"removeBuffer",value:(n=ke(ge().mark((function a(){var e,f,d,t=this,b=arguments;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(e=b.length>0&&void 0!==b[0]?b[0]:0,f=b.length>1&&void 0!==b[1]?b[1]:1/0,d=this.hls.media,!(!this._mse||!d||e<0||f<e||e>=this._mse.duration)){a.next=5;break}return a.abrupt("return");case 5:return a.abrupt("return",this._mse.clearBuffer(e,f).then((function(){return t.hls.emit(ad.REMOVE_BUFFER,{start:e,end:f,removeEnd:f})})));case 6:case"end":return a.stop()}}),a,this)}))),function(){return n.apply(this,arguments)})},{key:"evictBuffer",value:(c=ke(ge().mark((function a(e){var f,d,t;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(f=this.hls.media,this._mse&&f&&e&&!(e<0)){a.next=3;break}return a.abrupt("return");case 3:if(d=f.currentTime,!((t=d-e)<=0)){a.next=7;break}return a.abrupt("return");case 7:if(!(nf.start(nf.get(f))+1>=t)){a.next=10;break}return a.abrupt("return");case 10:return a.abrupt("return",this.removeBuffer(0,t));case 11:case"end":return a.stop()}}),a,this)}))),function(a){return c.apply(this,arguments)})},{key:"clearAllBuffer",value:(r=ke(ge().mark((function a(){return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(!this._mse){a.next=2;break}return a.abrupt("return",this._mse.clearAllBuffer());case 2:case"end":return a.stop()}}),a,this)}))),function(){return r.apply(this,arguments)})},{key:"decryptBuffer",value:function(a,e){return this._decryptor.decrypt(a,e)}},{key:"reset",value:(b=ke(ge().mark((function a(){var e,f=arguments;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(e=f.length>0&&void 0!==f[0]&&f[0],!this._mse||e){a.next=8;break}return this._transmuxer=null,this._sourceCreated=!1,a.next=6,this._mse.unbindMedia();case 6:return a.next=8,this._mse.bindMedia(this.hls.media);case 8:this._needInitSegment=!0,this._directAppend=!1;case 10:case"end":return a.stop()}}),a,this)}))),function(){return b.apply(this,arguments)})},{key:"endOfStream",value:(t=ke(ge().mark((function a(){return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(!this._mse){a.next=5;break}if(!this._sourceCreated){a.next=5;break}return a.next=4,this._mse.endOfStream();case 4:this.hls.emit(ad.BUFFEREOS);case 5:this._softVideo&&this._softVideo.endOfStream();case 6:case"end":return a.stop()}}),a,this)}))),function(){return t.apply(this,arguments)})},{key:"setLiveSeekableRange",value:(d=ke(ge().mark((function a(e,f){return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:this._mse&&this._mse.setLiveSeekableRange(e,f);case 1:case"end":return a.stop()}}),a,this)}))),function(a,e){return d.apply(this,arguments)})},{key:"detachMedia",value:(f=ke(ge().mark((function a(){return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(!this._mse){a.next=3;break}return a.next=3,this._mse.unbindMedia();case 3:case"end":return a.stop()}}),a,this)}))),function(){return f.apply(this,arguments)})},{key:"destroy",value:(e=ke(ge().mark((function a(){var e;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return null===(e=this._decryptor)||void 0===e||e.destroy(),a.next=3,this.detachMedia();case 3:this._decryptor=null,this._mse=null,this._softVideo=null;case 6:case"end":return a.stop()}}),a,this)}))),function(){return e.apply(this,arguments)})},{key:"_createMseSource",value:function(a,e,f){Yt.debug("create mse source, videoCodec=".concat(a,", audioCodec=").concat(e));var d=this._mse;d&&(a&&(d.createSource(Ff.VIDEO,"video/mp4;codecs=".concat(a)),this._sourceCreated=!0),e?(d.createSource(Ff.AUDIO,"audio/mp4;codecs=".concat(e)),this._sourceCreated=!0):f&&(d.createSource(Ff.AUDIO,"".concat(f,';codecs=""')),this._sourceCreated=!0),this.hls.emit(ad.SOURCEBUFFER_CREATED))}},{key:"_handleCodecChange",value:function(a,e){var f=[],d=this._mse;return[{type:Ff.VIDEO,codecs:null==a?void 0:a.codec},{type:Ff.AUDIO,codecs:null==e?void 0:e.codec}].filter((function(a){return!!a.codecs})).forEach((function(a){var e=a.type,t=a.codecs,b=d.getSourceBuffer(e);if(b){var r=t.split(",")[0];new RegExp(r,"ig").test(b.mimeType)||f.push(d.changeType(e,"".concat(e,"/mp4;codecs=").concat(t)))}})),f}},{key:"seamlessSwitch",value:function(){this._needInitSegment=!0}},{key:"isFull",value:function(){var a,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ff.VIDEO;return null===(a=this._mse)||void 0===a?void 0:a.isFull(e)}}]),a}();var Qt=xe((function a(){Se(this,a),Te(this,"version",0),Te(this,"streams",[]),Te(this,"isMaster",!0)})),Jt="AUDIO",Zt="SUBTITLE",ab={CLEAR_KEY:"org.w3.clearkey",FAIRPLAY:["urn:uuid:94ce86fb-07ff-4f43-adb8-93d2fa968ca2","com.apple.streamingkeydelivery"],WIDEVINE:["urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed","com.widevine.alpha","com.widevine"],PLAYREADY:["urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95","com.microsoft.playready"]};function eb(a){for(var e=[],f=0;f<a.length;f++)Array.isArray(a[f])?e=e.concat(eb(a[f])):e.push(a[f]);return e}var fb=xe((function a(){Se(this,a),Te(this,"id",0),Te(this,"url",""),Te(this,"default",!1),Te(this,"autoSelect",!1),Te(this,"forced",!1),Te(this,"group",""),Te(this,"name",""),Te(this,"lang",""),Te(this,"segments",[]),Te(this,"endSN",0)})),db=function(a){Ae(f,a);var e=Le(f);function f(){var a;Se(this,f);for(var d=arguments.length,t=new Array(d),b=0;b<d;b++)t[b]=arguments[b];return Te(Re(a=e.call.apply(e,[this].concat(t))),"mediaType",Jt),Te(Re(a),"channels",0),a}return xe(f)}(fb),tb=function(a){Ae(f,a);var e=Le(f);function f(){var a;Se(this,f);for(var d=arguments.length,t=new Array(d),b=0;b<d;b++)t[b]=arguments[b];return Te(Re(a=e.call.apply(e,[this].concat(t))),"mediaType",Zt),a}return xe(f)}(fb),bb=xe((function a(){Se(this,a),Te(this,"id",0),Te(this,"bitrate",0),Te(this,"width",0),Te(this,"height",0),Te(this,"name",""),Te(this,"url",""),Te(this,"audioCodec",""),Te(this,"videoCodec",""),Te(this,"textCodec",""),Te(this,"audioGroup",""),Te(this,"audioStreams",[]),Te(this,"subtitleStreams",[]),Te(this,"closedCaptionsStream",[])})),rb=xe((function a(){Se(this,a),Te(this,"version",0),Te(this,"url",""),Te(this,"type",""),Te(this,"startCC",0),Te(this,"endCC",0),Te(this,"startSN",0),Te(this,"endSN",0),Te(this,"totalDuration",0),Te(this,"targetDuration",0),Te(this,"partTargetDuration",0),Te(this,"canSkipUntil",0),Te(this,"canSkipDateRanges",!1),Te(this,"skippedSegments",0),Te(this,"canBlockReload",!1),Te(this,"partHoldBack",0),Te(this,"live",!0),Te(this,"lowLatency",!1),Te(this,"endPartIndex",0),Te(this,"segments",[]),Te(this,"dateRanges",{}),Te(this,"skippedSegments",0)})),cb=function(){function a(e){Se(this,a),Te(this,"sn",0),Te(this,"cc",0),Te(this,"url",""),Te(this,"parentUrl",""),Te(this,"title",""),Te(this,"start",0),Te(this,"duration",0),Te(this,"dataTime",""),Te(this,"key",null),Te(this,"byteRange",null),Te(this,"isInitSegment",!1),Te(this,"initSegment",null),Te(this,"isLast",!1),Te(this,"hasAudio",!1),Te(this,"hasVideo",!1),Te(this,"independent",!1),Te(this,"partIndex",0),this.parentUrl=e}return xe(a,[{key:"end",get:function(){return this.start+this.duration}},{key:"setTrackExist",value:function(a,e){this.hasVideo=a,this.hasAudio=e}},{key:"setByteRange",value:function(a,e){this.byteRange=[0];var f=a.split("@");1===f.length&&e&&e.byteRange?(this.byteRange[0]=e.byteRange[1]||0,this.byteRange[0]&&(this.byteRange[0]+=1)):this.byteRange[0]=parseInt(f[1]),this.byteRange[1]=this.byteRange[0]+parseInt(f[0])-1}}]),a}(),nb=function(){function a(e){Se(this,a),Te(this,"method",""),Te(this,"url",""),Te(this,"iv",null),Te(this,"keyFormat",""),Te(this,"keyFormatVersions",""),e instanceof a&&(this.method=e.method,this.url=e.url,this.keyFormat=e.keyFormat,this.keyFormatVersions=e.keyFormatVersions,e.iv&&(this.iv=new Uint8Array(e.iv)))}return xe(a,[{key:"clone",value:function(e){var f=new a(this);return null!=e&&f.setIVFromSN(e),f}},{key:"setIVFromSN",value:function(a){if(!this.iv&&"AES-128"===this.method&&"number"==typeof a&&this.url){this.iv=new Uint8Array(16);for(var e=12;e<16;e++)this.iv[e]=a>>8*(15-e)&255}}},{key:"isSegmentEncrypted",value:function(){return"AES-128"===this.method}},{key:"isValidKeySystem",value:function(){return eb([ab.CLEAR_KEY,ab.FAIRPLAY,ab.WIDEVINE,ab.PLAYREADY]).indexOf(this.keyFormat)>-1&&!!(["SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)>-1)}},{key:"isSupported",value:function(){return!!this.method&&(!!this.isSegmentEncrypted()||!!this.isValidKeySystem())}}]),a}(),ib=function(){function a(e,f,d){Se(this,a),this.msn=e,this.part=f,this.skip=d}return xe(a,[{key:"addDirectives",value:function(a){var e=new self.URL(a);return void 0!==this.msn&&e.searchParams.set("_HLS_msn",this.msn.toString()),this.part&&e.searchParams.set("_HLS_part",this.part.toString()),this.skip&&e.searchParams.set("_HLS_skip",this.skip),e.href}}]),a}(),ob=/^#(EXT[^:]*)(?::(.*))?$/,sb=/([^=]+)=(?:"([^"]*)"|([^",]*))(?:,|$)/g,ub=/^(?:[a-zA-Z0-9+\-.]+:)?\/\//,lb=/^((?:[a-zA-Z0-9+\-.]+:)?\/\/[^/?#]*)?([^?#]*\/)?/;function hb(a){var e=a.match(ob);if(e&&e[1])return[e[1].replace("EXT-X-",""),e[2]]}function pb(a){for(var e={},f=sb.exec(a);f;)e[f[1]]=f[2]||f[3],f=sb.exec(a);return e}function vb(a,e){if(!e||!a||ub.test(a))return a;var f=lb.exec(e);return f?"/"===a[0]?f[1]+a:f[1]+f[2]+a:a}var yb={audio:[/^mp4a/,/^vorbis$/,/^opus$/,/^flac$/,/^[ae]c-3$/],video:[/^avc/,/^hev/,/^hvc/,/^vp0?[89]/,/^av1$/],text:[/^vtt$/,/^wvtt/,/^stpp/]};function mb(a,e){var f=yb[a];if(f&&e&&e.length)for(var d=0;d<f.length;d++)for(var t=0;t<e.length;t++)if(f[d].test(e[t]))return e[t]}function gb(a,e){var f;if(e)for(var d in e)if(Object.prototype.hasOwnProperty.call(e,d)&&a[d]!==e[d]){f=d;break}var t=null;a.DURATION&&(t=parseFloat(a.DURATION),Number.isFinite(t)?a._endDate&&(t=(a._endDate.getTime()-a._startDate.getTime())/1e3):t=null);var b,r,c=(b=a.CUE||a["X-CUE"],r={pre:!1,post:!1,once:!1},(b?b.split(/[ ,]+/):[]).reduce((function(a,e){return a[e.toLowerCase()]=!0,a}),r));return!!a.ID&&!f&&Number.isFinite(a._startDate.getTime())&&(null===t||t>=0)&&(!("YES"===a.END_ON_NEXT)||!!a.CLASS)&&(!a.CUE||!c.pre&&!c.post||c.pre!==c.post)&&(!("com.apple.hls.interstitial"===a.CLASS)||"X-ASSET-URI"in a||"X-ASSET-LIST"in a)}var _b=function(){function a(){Se(this,a)}return xe(a,null,[{key:"parse",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",f=arguments.length>1?arguments[1]:void 0,d=arguments.length>2?arguments[2]:void 0;if(!e.includes("#EXTM3U"))throw new Error("Invalid m3u8 file");var t=function(a){return a.split(/[\r\n]/).map((function(a){return a.trim()})).filter(Boolean)}(e);return a.isMediaPlaylist(e)?function(a,e,f){var d=new rb;d.url=e;for(var t,b=new cb(e),r=null,c=null,n=0,i=0,o=0,s=0,u=!1,l=0;t=a[s++];)if("#"===t[0]){var h=hb(t);if(h){var p=Ce(h,2),v=p[0],y=p[1];switch(v){case"VERSION":d.version=parseInt(y);break;case"PLAYLIST-TYPE":d.type=null==y?void 0:y.toUpperCase();break;case"TARGETDURATION":d.targetDuration=parseFloat(y);break;case"PART-INF":f&&(d.lowLatency=!0);var m=pb(y);m["PART-TARGET"]&&(d.partTargetDuration=parseFloat(m["PART-TARGET"]));break;case"SERVER-CONTROL":var g=pb(y);d.canBlockReload="YES"===g["CAN-BLOCK-RELOAD"],d.partHoldBack=parseFloat(g["PART-HOLD-BACK"]||0),d.canSkipUntil=parseFloat(g["CAN-SKIP-UNTIL"]||0),d.canSkipDateRanges=d.canSkipUntil>0&&"YES"===g["CAN-SKIP-DATERANGES"];break;case"ENDLIST":u=!0;break;case"MEDIA-SEQUENCE":i=d.startSN=parseInt(y);break;case"DISCONTINUITY-SEQUENCE":o=d.startCC=parseInt(y);break;case"DISCONTINUITY":o++;break;case"BYTERANGE":b.setByteRange(y,d.segments[d.segments.length-1]);break;case"PART":if(!d.lowLatency)break;var _=pb(y);b.duration=parseFloat(_.DURATION),b.independent="YES"===_.INDEPENDENT,b.sn=i,b.cc=o,b.partIndex=l,b.start=n,b.duration=parseFloat(_.DURATION),n+=b.duration,b.url=vb(_.URI,e),c&&(b.key=c.clone(i)),r&&(b.initSegment=r),d.segments.push(b),b=new cb(e),l++;break;case"PRELOAD-HINT":var E=pb(y);if(d.preloadHint=E,"PART"===E.TYPE&&E.URI){var k=E.URI.split(".ts")[0].split("-");d.nextSN=k[3],d.nextIndex=k[k.length-1]}break;case"PROGRAM-DATE-TIME":b.dataTime=y;break;case"EXTINF":if(d.lowLatency){l=0;break}var S=Ce(y.split(","),2),w=S[0],x=S[1];b.start=n,b.duration=parseFloat(w),n+=b.duration,b.title=x;break;case"KEY":var T=pb(y);if("NONE"===T.METHOD){c=null;break}if((c=new nb).method=T.METHOD,c.url=/^blob:/.test(T.URI)?T.URI:vb(T.URI,e),c.keyFormat=T.KEYFORMAT||"identity",c.keyFormatVersions=T.KEYFORMATVERSIONS,!c.isSupported())throw new Error("encrypt ".concat(T.METHOD,"/").concat(T.KEYFORMAT," is not supported"));if(T.IV){var A=T.IV.slice(2);A=(1&A.length?"0":"")+A,c.iv=new Uint8Array(A.length/2);for(var I=0,D=A.length/2;I<D;I++)c.iv[I]=parseInt(A.slice(2*I,2*I+2),16)}break;case"MAP":var O=pb(y);b.url=vb(O.URI,e),O.BYTERANGE&&b.setByteRange(O.BYTERANGE),b.isInitSegment=!0,b.sn=0,c&&(b.key=c.clone(0)),r=b,b=new cb(e);break;case"SKIP":var R=pb(y),L=parseInt(R["SKIPPED-SEGMENTS"],10);L<=Number.MAX_SAFE_INTEGER&&(d.skippedSegments+=L,i+=L);break;case"DATERANGE":var C=pb(y),P=d.dateRanges[C.ID];C._startDate=P?P._startDate:new Date(C["START-DATE"]);var j=(null==P?void 0:P._endDate)||new Date(C.END_DATE);Number.isFinite(j)&&(C._endDate=j),(gb(C,P)||d.skippedSegments)&&(d.dateRanges[C.ID]=C)}}}else{if(d.lowLatency){i++;continue}b.sn=i,b.cc=o,b.url=vb(t,e),c&&(b.key=c.clone(i)),r&&(b.initSegment=r),d.segments.push(b),b=new cb(e),i++}d.segments=d.segments.filter((function(a){return 0!==a.duration}));var M=d.segments[d.segments.length-1];return M&&(u&&(M.isLast=!0),d.endSN=M.sn,d.endPartIndex=M.partIndex),u&&(d.live=!1),d.totalDuration=n,d.endCC=o,d}(t,f,d):function(a,e){for(var f,d=new Qt,t=0,b=[],r=[];f=a[t++];){var c=hb(f);if(c){var n=Ce(c,2),i=n[0],o=n[1];if("VERSION"===i)d.version=parseInt(o);else if("MEDIA"===i&&o){var s=pb(o),u=void 0;switch(s.TYPE){case"AUDIO":u=new db;break;case"SUBTITLES":u=new tb;break;default:u=new fb}u.url=vb(s.URI,e),u.default="YES"===s.DEFAULT,u.autoSelect="YES"===s.AUTOSELECT,u.group=s["GROUP-ID"],u.name=s.NAME,u.lang=s.LANGUAGE,s.CHANNELS&&(u.channels=Number(s.CHANNELS.split("/")[0]),Number.isNaN(u.channels)&&(u.channels=0)),"AUDIO"===s.TYPE&&s.URI&&b.push(u),"SUBTITLES"===s.TYPE&&r.push(u)}else if("STREAM-INF"===i&&o){var l=new bb,h=pb(o);if(l.bitrate=parseInt(h["AVERAGE-BANDWIDTH"]||h.BANDWIDTH),l.name=h.NAME,l.url=vb(a[t++],e),h.RESOLUTION){var p=Ce(h.RESOLUTION.split("x"),2),v=p[0],y=p[1];l.width=parseInt(v),l.height=parseInt(y)}if(h.CODECS){var m=h.CODECS.split(/[ ,]+/).filter(Boolean);l.videoCodec=mb("video",m),l.audioCodec=mb("audio",m),l.textCodec=mb("text",m)}l.audioGroup=h.AUDIO,l.subtitleGroup=h.SUBTITLES,d.streams.push(l)}}}return d.streams.forEach((function(a,e){a.id=e})),b.length&&(b.forEach((function(a,e){a.id=e})),d.streams.forEach((function(a){a.audioGroup&&(a.audioStreams=b.filter((function(e){return e.group===a.audioGroup})))}))),r.length&&(r.forEach((function(a,e){a.id=e})),d.streams.forEach((function(a){a.subtitleGroup&&(a.subtitleStreams=r.filter((function(e){return e.group===a.subtitleGroup})))}))),d}(t,f)}},{key:"isMediaPlaylist",value:function(a){return a.includes("#EXTINF:")||a.includes("#EXT-X-TARGETDURATION:")}}]),a}(),Eb=function(){function a(e){var f=this;Se(this,a),Te(this,"_emitOnLoaded",(function(a,e){var d=a.response,t=a.options||{},b=t.firstByteTime,r=t.startTime,c=t.endTime,n=t.contentLength,i=c-r;f.hls.emit(ad.SPEED,{time:i,byteLength:n,url:e}),f.hls.emit(ad.LOAD_COMPLETE,{url:e,elapsed:i||0}),f.hls.emit(ad.TTFB,{url:e,responseUrl:d.url,elapsed:b-r}),f.hls.emit(ad.LOAD_RESPONSE_HEADERS,{headers:d.headers,url:e})})),Te(this,"_onLoaderRetry",(function(a,e){f.hls.emit(zt.LOAD_RETRY,{error:xf.network(a),retryTime:e})})),this.hls=e,this._timer=null,this._useLowLatency=e.config.useLowLatency;var d=this.hls.config,t=d.retryCount,b=d.retryDelay,r=d.manifestLoadTimeout,c=d.fetchOptions;this._loader=new od(me(me({},c),{},{responseType:"text",retry:t,retryDelay:b,timeout:r,onRetryError:this._onLoaderRetry})),this._audioLoader=new od(me(me({},c),{},{responseType:"text",retry:t,retryDelay:b,timeout:r,onRetryError:this._onLoaderRetry})),this._subtitleLoader=new od(me(me({},c),{},{responseType:"text",retry:t,retryDelay:b,timeout:r,onRetryError:this._onLoaderRetry}))}var e;return xe(a,[{key:"load",value:(e=ke(ge().mark((function a(e,f,d){var t,b,r,c,n,i,o,s,u,l,h,p,v,y,m,g,_,E,k,S;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return t=[this._loader.load(e)],f&&t.push(this._audioLoader.load(f)),d&&t.push(this._subtitleLoader.load(d)),a.prev=3,a.next=6,Promise.all(t);case 6:if(s=a.sent,u=Ce(s,3),l=u[0],h=u[1],p=u[2],l){a.next=13;break}return a.abrupt("return",[]);case 13:this._emitOnLoaded(l,e),b=l.data,n=l.response.url||e,f?(r=null==h?void 0:h.data,c=null==p?void 0:p.data,i=(null==h||null===(v=h.response)||void 0===v?void 0:v.url)||f,o=(null==p||null===(y=p.response)||void 0===y?void 0:y.url)||d,r&&this._emitOnLoaded(h,f),c&&this._emitOnLoaded(p,d)):(c=null==h?void 0:h.data,o=(null==h||null===(m=h.response)||void 0===m?void 0:m.url)||d,c&&this._emitOnLoaded(h,d)),a.next=22;break;case 19:throw a.prev=19,a.t0=a.catch(3),xf.network(a.t0);case 22:if(g=this.hls.config.onPreM3U8Parse,a.prev=23,g&&(b=g(b)||b,r&&(r=g(r,!0)||r),c&&(c=g(c,!0)||c)),_=_b.parse(b,n,this._useLowLatency),!1!==(null===(S=_)||void 0===S?void 0:S.live)||!_.segments||_.segments.length){a.next=28;break}throw new Error("empty segments list");case 28:r&&(E=_b.parse(r,i,this._useLowLatency)),c&&(k=_b.parse(c,o,this._useLowLatency)),a.next=35;break;case 32:throw a.prev=32,a.t1=a.catch(23),new xf(sf,Sf.HLS,a.t1);case 35:return _&&(_.isMaster?this.hls.emit(zt.HLS_MANIFEST_LOADED,{playlist:_}):(this._useLowLatency&&(_.canBlockReload?this.deliveryDirectives=new ib(_.nextSN,_.nextIndex,""):this.deliveryDirectives=null),this.hls.emit(zt.HLS_LEVEL_LOADED,{playlist:_}))),a.abrupt("return",[_,E,k]);case 37:case"end":return a.stop()}}),a,this,[[3,19],[23,32]])}))),function(a,f,d){return e.apply(this,arguments)})},{key:"parseText",value:function(a,e){var f,d=this.hls.config.onPreM3U8Parse;try{var t;if(d&&(a=d(a)||a),!1===(null===(t=f=_b.parse(a,e,this._useLowLatency))||void 0===t?void 0:t.live)&&f.segments&&!f.segments.length)throw new Error("empty segments list")}catch(b){throw new xf(sf,Sf.HLS,b)}return f&&(f.isMaster?this.hls.emit(zt.HLS_MANIFEST_LOADED,{playlist:f}):this.hls.emit(zt.HLS_LEVEL_LOADED,{playlist:f})),[f]}},{key:"poll",value:function(a,e,f,d,t,b){var r=this;clearTimeout(this._timer),b=b||3e3;var c=this.hls.config.pollRetryCount,n=function(){var i=ke(ge().mark((function i(){var o,s;return ge().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return clearTimeout(r._timer),o=a,i.prev=2,r.deliveryDirectives&&(o=r.deliveryDirectives.addDirectives(a)),i.next=6,r.load(o,e,f);case 6:if((s=i.sent)[0]){i.next=9;break}return i.abrupt("return");case 9:c=r.hls.config.pollRetryCount,d(s[0],s[1],s[2]),i.next=17;break;case 13:i.prev=13,i.t0=i.catch(2),--c<=0&&t(i.t0);case 17:r._timer=setTimeout(n,b);case 18:case"end":return i.stop()}}),i,null,[[2,13]])})));return function(){return i.apply(this,arguments)}}();this._timer=setTimeout(n,b)}},{key:"stopPoll",value:function(){return clearTimeout(this._timer),this.cancel()}},{key:"cancel",value:function(){return Promise.all([this._loader.cancel(),this._audioLoader.cancel()])}}]),a}();function kb(a,e,f){return e>f&&(f=e),Math.min(Math.max(a,e),f)}var Sb=new If("playlist"),wb=function(){function a(e,f,d){Se(this,a),Te(this,"live",void 0),Te(this,"id",0),Te(this,"bitrate",0),Te(this,"width",0),Te(this,"height",0),Te(this,"name",""),Te(this,"url",""),Te(this,"audioCodec",""),Te(this,"videoCodec",""),Te(this,"textCodec",""),Te(this,"startCC",0),Te(this,"endCC",0),Te(this,"startSN",0),Te(this,"endSN",-1),Te(this,"totalDuration",0),Te(this,"targetDuration",0),Te(this,"partTargetDuration",0),Te(this,"canSkipUntil",0),Te(this,"canSkipDateRanges",!1),Te(this,"skippedSegments",0),Te(this,"canBlockReload",!1),Te(this,"partHoldBack",0),Te(this,"lowLatency",!1),Te(this,"endPartIndex",0),Te(this,"snDiff",null),Te(this,"segments",[]),Te(this,"audioStreams",[]),Te(this,"subtitleStreams",[]),Te(this,"closedCaptions",[]),Te(this,"currentAudioStream",null),Te(this,"currentSubtitleStream",null),this.update(this._setLLPlaybackPoint(e),f,d)}return xe(a,[{key:"lastSegment",get:function(){return this.segments.length?this.segments[this.segments.length-1]:null}},{key:"segmentDuration",get:function(){var a;return this.targetDuration||(null===(a=this.segments[0])||void 0===a?void 0:a.duration)||0}},{key:"liveEdge",get:function(){return this.endTime},set:function(a){this.endTime=a}},{key:"endTime",get:function(){var a;return(null===(a=this.lastSegment)||void 0===a?void 0:a.end)||0},set:function(a){var e=this.lastSegment;e&&(e.duration=a-e.start)}},{key:"currentSubtitleEndSn",get:function(){var a;return(null===(a=this.currentSubtitleStream)||void 0===a?void 0:a.endSN)||0}},{key:"clearOldSegment",value:function(a,e){return this.currentAudioStream&&this._clearSegments(a,e),this._clearSegments(a,e)}},{key:"getAudioSegment",value:function(a){if(a&&this.currentAudioStream){var e=a.sn-this.snDiff;return this.currentAudioStream.segments.find((function(a){return a.sn===e}))}}},{key:"update",value:function(a,e){this.url=a.url,Array.isArray(a.segments)?(null!==this.live&&void 0!==this.live||(this.live=a.live),this._updateSegments(a,this),this.startCC=a.startCC,this.endCC=a.endCC,this.startSN=a.startSN,this.endSN=a.endSN||-1,this.totalDuration=a.totalDuration,this.targetDuration=a.targetDuration,this.live=a.live,this.lowLatency=a.lowLatency,this.canBlockReload=a.canBlockReload,this.canSkipDateRanges=a.canSkipDateRanges,this.canSkipUntil=a.canSkipUntil,this.partHoldBack=a.partHoldBack,this.partTargetDuration=a.partTargetDuration,this.skippedSegments=a.skippedSegments,this.endPartIndex=a.endPartIndex,e&&this.currentAudioStream&&Array.isArray(e.segments)&&(this._updateSegments(e,this.currentAudioStream),(null===this.snDiff||void 0===this.snDiff)&&a.segments.length&&e.segments.length&&(this.snDiff=a.segments[0].sn-e.segments[0].sn))):(this.id=a.id,this.bitrate=a.bitrate,this.width=a.width,this.height=a.height,this.name=a.name,this.audioCodec=a.audioCodec,this.videoCodec=a.videoCodec,this.textCodec=a.textCodec,this.audioStreams=a.audioStreams,this.subtitleStreams=a.subtitleStreams,!this.currentAudioStream&&this.audioStreams.length&&(this.currentAudioStream=this.audioStreams.find((function(a){return a.default}))||this.audioStreams[0]),!this.currentSubtitleStream&&this.subtitleStreams.length&&(this.currentSubtitleStream=this.subtitleStreams.find((function(a){return a.default}))||this.subtitleStreams[0]))}},{key:"updateSubtitle",value:function(a){var e=this;if(a&&this.currentSubtitleStream&&Array.isArray(a.segments)){var f=this._updateSegments(a,this.currentSubtitleStream),d=this.currentSubtitleStream.segments;if(d.length>100&&(this.currentSubtitleStream.segments=d.slice(100)),f)return f.map((function(a){return{sn:a.sn,url:a.url,duration:a.duration,start:a.start,end:a.end,lang:e.currentSubtitleStream.lang}}))}}},{key:"switchSubtitle",value:function(a){var e=this.subtitleStreams.find((function(e){return e.lang===a})),f=this.currentSubtitleStream;e&&(this.currentSubtitleStream=e,f.segments=[])}},{key:"_setLLPlaybackPoint",value:function(a){if(!a.lowLatency||!a.segments.length)return a;for(var e=a.totalDuration-a.partHoldBack,f=a.segments,d=0,t=0,b=f.length;t<b;t++)f[t].start<=e&&f[t].independent&&(d=t);var r=f.slice(d),c=0;return r.forEach((function(a){a.start=c,c=a.end})),a.segments=r,a.totalDuration=c,a.startSN=r[0].sn,a.startCC=r[0].cc,Sb.log("set ll-hls playback point: SN=".concat(a.startSN," partIndex=").concat(r[0].partIndex,", duration=").concat(c)),a}},{key:"_clearSegments",value:function(a,e){for(var f=0,d=this.segments,t=0,b=d.length;t<b;t++)if(d[t].end>=a){f=t;break}return f>e&&(f=e),f&&(this.segments=this.segments.slice(f),this.currentAudioStream&&(this.currentAudioStream.segments=this.currentAudioStream.segments.slice(f))),e-f}},{key:"_updateSegments",value:function(a,e){var f=e.segments;if(this.live){var d,t=a.lowLatency,b=f[f.length-1],r=null!==(d=null==b?void 0:b.sn)&&void 0!==d?d:-1,c=(null==b?void 0:b.partIndex)||0,n=r<a.endSN&&a.segments.length;if(t&&(n=n||c<a.endPartIndex),n){Sb.log("update segments: endSN:".concat(r,", partIndex:").concat(c," --\x3e endSN:").concat(a.endSN,", partIndex:").concat(a.endPartIndex));var i=a.segments.findIndex((function(a){return a.sn===r&&a.partIndex===c})),o=i<0?a.segments:a.segments.slice(i+1);if(f.length&&o.length){var s=b.end,u=s;o.forEach((function(a){a.start=s,s=a.end})),Sb.log("liveEdge: ".concat(u," -> ").concat(s));var l=(null==b?void 0:b.cc)||-1;l>o[0].cc&&o.forEach((function(a){return a.cc+=l}))}return e.endSN=a.endSN,e.segments=f.concat(o),o}}else e.segments=a.segments}}]),a}(),xb=function(){function a(e){Se(this,a),Te(this,"streams",[]),Te(this,"currentStream",null),Te(this,"dvrWindow",0),Te(this,"_segmentPointer",-1),this.hls=e}return xe(a,[{key:"lowLatency",get:function(){var a;return null===(a=this.currentStream)||void 0===a?void 0:a.lowLatency}},{key:"lastSegment",get:function(){var a;return null===(a=this.currentStream)||void 0===a?void 0:a.lastSegment}},{key:"currentSegment",get:function(){var a;return null===(a=this.currentSegments)||void 0===a?void 0:a[this._segmentPointer]}},{key:"nextSegment",get:function(){var a;return null===(a=this.currentSegments)||void 0===a?void 0:a[this._segmentPointer+1]}},{key:"currentSegments",get:function(){var a;return null===(a=this.currentStream)||void 0===a?void 0:a.segments}},{key:"currentSubtitleEndSn",get:function(){var a;return null===(a=this.currentStream)||void 0===a?void 0:a.currentSubtitleEndSn}},{key:"liveEdge",get:function(){var a;return null===(a=this.currentStream)||void 0===a?void 0:a.liveEdge},set:function(a){this.currentStream&&(this.currentStream.liveEdge=a)}},{key:"totalDuration",get:function(){var a;return(null===(a=this.currentStream)||void 0===a?void 0:a.totalDuration)||0}},{key:"seekRange",get:function(){var a=this.currentSegments;if(a&&a.length)return[a[0].start,a[a.length-1].end]}},{key:"nbSegments",get:function(){var a;return(null===(a=this.currentSegments)||void 0===a?void 0:a.length)||0}},{key:"isEmpty",get:function(){var a;return!(null!==(a=this.currentSegments)&&void 0!==a&&a.length)}},{key:"isLive",get:function(){var a;return null===(a=this.currentStream)||void 0===a?void 0:a.live}},{key:"hadSegmentLoaded",get:function(){return-1!==this._segmentPointer}},{key:"hasSubtitle",get:function(){var a;return!(null===(a=this.currentStream)||void 0===a||!a.currentSubtitleStream)}},{key:"getAudioSegment",value:function(a){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.getAudioSegment(a)}},{key:"moveSegmentPointer",value:function(a){var e;null==a&&(a=this._segmentPointer+1),this._segmentPointer=kb(a,-1,null===(e=this.currentSegments)||void 0===e?void 0:e.length)}},{key:"reset",value:function(){this.streams=[],this.currentStream=null,this.dvrWindow=0,this._segmentPointer=-1}},{key:"getSegmentByIndex",value:function(a){var e;return null===(e=this.currentSegments)||void 0===e?void 0:e[a]}},{key:"setNextSegmentByIndex",value:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._segmentPointer=a-1}},{key:"setNextSegmentBySN",value:function(){var a,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,f=null===(a=this.currentSegments)||void 0===a?void 0:a.findIndex((function(a){return a.sn===e}));return-1!==f&&this.setNextSegmentByIndex(f+1),f}},{key:"findSegmentIndexByTime",value:function(a){var e=this.currentSegments;if(e){for(var f,d=0,t=e.length;d<t;d++)if(a>=(f=e[d]).start&&a<f.end)return d;var b=e[e.length-1];if(Math.abs(a-(null==b?void 0:b.end))<.2)return e.length-1}}},{key:"upsertPlaylist",value:function(a,e,f){var d=this;if(a){if(a.isMaster)this.streams.length=a.streams.length,a.streams.filter((function(a){return a.url})).forEach((function(a,e){d.streams[e]?d.streams[e].update(a):d.streams[e]=new wb(a)})),this.currentStream=this.streams[0];else if(Array.isArray(a.segments)){var t=this.currentStream;if(t){t.update(a,e,f);var b=t.updateSubtitle(f);b&&this.hls.emit(zt.SUBTITLE_SEGMENTS,{list:b})}else this.reset(),this.currentStream=this.streams[0]=new wb(a,e,f)}this.currentStream&&this.hls.isLive&&!this.dvrWindow&&(this.dvrWindow=this.currentSegments.reduce((function(a,e){return a+=e.duration}),0))}}},{key:"updateSegmentsRanges",value:function(a,e){var f;(null===(f=this.currentSegments)||void 0===f?void 0:f.filter((function(e){return e.sn>=a}))).forEach((function(a){a.start=e,e=a.end}))}},{key:"switchSubtitle",value:function(a){var e;null===(e=this.currentStream)||void 0===e||e.switchSubtitle(a)}},{key:"clearOldSegment",value:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.hls.config.maxPlaylistSize||50,e=this.currentStream;if(this.dvrWindow&&e){var f=e.endTime-this.dvrWindow;if(!(f<=0))e.segments.length<=a||(this._segmentPointer=e.clearOldSegment(f,this._segmentPointer))}}},{key:"checkSegmentTrackChange",value:function(a,e){var f=this.findSegmentIndexByTime(a),d=this.getSegmentByIndex(f);if(d&&(d.hasAudio||d.hasVideo)){if(2!==e&&d.hasAudio&&d.hasVideo)return d;if(!(d.end-a>.3)){var t=this.getSegmentByIndex(f+1);if(t&&(t.hasAudio||t.hasVideo))return t.hasAudio!==d.hasAudio||t.hasVideo!==d.hasVideo?t:void 0}}}},{key:"feedbackLiveEdge",value:function(a,e){var f;this.currentSegments&&((null===(f=this.lastSegment)||void 0===f?void 0:f.sn)===a.sn?this.liveEdge=e:this.updateSegmentsRanges(a.sn+1,e))}}]),a}(),Tb=function(){function a(e){var f=this;Se(this,a),Te(this,"error",null),Te(this,"_emitOnLoaded",(function(a,e){var d=a.data,t=a.response,b=a.options||{},r=b.firstByteTime,c=b.startTime,n=b.endTime,i=b.contentLength,o=n-c;f._bandwidthService.addRecord(i||d.byteLength,o),f.hls.emit(ad.SPEED,{time:o,byteLength:i,url:e}),f.hls.emit(ad.LOAD_COMPLETE,{url:e,elapsed:o||0}),f.hls.emit(ad.TTFB,{url:e,responseUrl:t.url,elapsed:r-c}),f.hls.emit(ad.LOAD_RESPONSE_HEADERS,{headers:t.headers,url:e})})),Te(this,"_onLoaderRetry",(function(a,e){f.hls.emit(ad.LOAD_RETRY,{error:xf.network(a),retryTime:e})})),this.hls=e,this._bandwidthService=new ld,this._mapCache={},this._keyCache={};var d=this.hls.config,t=d.retryCount,b=d.retryDelay,r=d.loadTimeout,c=d.fetchOptions;this._segmentLoader=new od(me(me({},c),{},{responseType:"arraybuffer",retry:t,retryDelay:b,timeout:r,onRetryError:this._onLoaderRetry})),this._audioSegmentLoader=new od(me(me({},c),{},{responseType:"arraybuffer",retry:t,retryDelay:b,timeout:r,onRetryError:this._onLoaderRetry})),this._keyLoader=new od(me(me({},c),{},{responseType:"arraybuffer",retry:t,retryDelay:b,timeout:r,onRetryError:this._onLoaderRetry}))}var e,f;return xe(a,[{key:"speedInfo",value:function(){return{speed:this._bandwidthService.getLatestSpeed(),avgSpeed:this._bandwidthService.getAvgSpeed()}}},{key:"load",value:function(a,e,f){var d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:f,t=[];return a&&(t[0]=this.loadVideoSegment(a,f)),e&&(t[1]=this.loadAudioSegment(e,d)),Promise.all(t)}},{key:"loadVideoSegment",value:function(a,e){return this._loadSegment(this._segmentLoader,a,e)}},{key:"loadAudioSegment",value:function(a,e){return this._loadSegment(this._audioSegmentLoader,a,e)}},{key:"_loadSegment",value:(f=ke(ge().mark((function a(e,f,d){var t,b,r,c,n,i,o,s,u,l,h,p,v,y,m,g=this;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return o=[],this.hls.emit(ad.LOAD_START,{url:f.url}),o[0]=e.load(f.url),d&&f.initSegment&&(u=f.initSegment.url,(b=this._mapCache[u])||(this.hls.emit(ad.LOAD_START,{url:u}),o[1]=e.load(u).then((function(a){a&&(Object.keys(g._mapCache)>30&&(g._mapCache={}),b=g._mapCache[u]=a.data,g._emitOnLoaded(a,u))}))),(l=null===(s=f.initSegment.key)||void 0===s?void 0:s.url)&&(i=f.initSegment.key.iv,(n=this._keyCache[l])||(this.hls.emit(ad.LOAD_START,{url:l}),o[2]=this._keyLoader.load(l).then((function(a){a&&(n=g._keyCache[l]=a.data,g._emitOnLoaded(a,l))}))))),(h=null===(t=f.key)||void 0===t?void 0:t.url)&&f.key.isSegmentEncrypted()&&(c=f.key.iv,(r=this._keyCache[h])||(this.hls.emit(ad.LOAD_START,{url:h}),o[3]=this._keyLoader.load(h).then((function(a){a&&(r=g._keyCache[h]=a.data,g._emitOnLoaded(a,h))})))),a.next=8,Promise.all(o);case 8:if(p=a.sent,v=Ce(p,1),y=v[0]){a.next=13;break}return a.abrupt("return");case 13:return m=y.data,this._emitOnLoaded(y,f.url),a.abrupt("return",{data:m,map:b,key:r,mapKey:n,keyIv:c,mapKeyIv:i});case 16:case"end":return a.stop()}}),a,this)}))),function(a,e,d){return f.apply(this,arguments)})},{key:"reset",value:function(){this.error=null,this._mapCache={},this._keyCache={},this._bandwidthService.reset()}},{key:"cancel",value:(e=ke(ge().mark((function a(){return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,Promise.all([this._keyLoader.cancel(),this._segmentLoader.cancel(),this._audioSegmentLoader.cancel()]);case 2:case"end":return a.stop()}}),a,this)}))),function(){return e.apply(this,arguments)})}]),a}(),Ab=new If("hls"),Ib=function(a){Ae(y,a);var e,f,d,t,b,r,c,n,i,o,s,u,l,h,p,v=Le(y);function y(a){var e,f,d;return Se(this,y),Te(Re(e=v.call(this)),"version",y.version),Te(Re(e),"media",null),Te(Re(e),"config",null),Te(Re(e),"_manifestLoader",null),Te(Re(e),"_segmentLoader",null),Te(Re(e),"_playlist",null),Te(Re(e),"_bufferService",null),Te(Re(e),"_gapService",null),Te(Re(e),"_seiService",null),Te(Re(e),"_stats",null),Te(Re(e),"_prevSegSn",null),Te(Re(e),"_prevSegCc",null),Te(Re(e),"_tickTimer",null),Te(Re(e),"_tickInterval",500),Te(Re(e),"_segmentProcessing",!1),Te(Re(e),"_reloadOnPlay",!1),Te(Re(e),"_switchUrlOpts",null),Te(Re(e),"_isProcessQuotaExceeded",!1),Te(Re(e),"_loadSegment",ke(ge().mark((function a(){var f,d,t,b,r,c,n,i;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(!e._segmentProcessing&&e.media){a.next=2;break}return a.abrupt("return");case 2:if(f=e._playlist,d=f.nextSegment,t=f.lastSegment,b=Re(e),r=b.config,c=Math.min(Math.max((null==t?void 0:t.duration)-.008||0,.016),.1),d){a.next=8;break}return a.abrupt("return");case 8:if(e.isLive){a.next=18;break}if(n=e.bufferInfo(),e.media.paused&&!e.media.currentTime&&(n=e.bufferInfo(n.nextStart||.5)),i=Math.abs(n.end-e.media.duration)<c,!(n.remaining>=r.preloadTime||i)){a.next=15;break}return e._tryEos(),a.abrupt("return");case 15:if(!r.preferMMSStreaming||e._bufferService.msStreaming){a.next=17;break}return a.abrupt("return");case 17:!e._urlSwitching&&e._prevSegSn!==d.sn-1&&n.end&&Math.abs(d.start-n.end)>1&&e._playlist.setNextSegmentByIndex(e._playlist.findSegmentIndexByTime(n.end+.1));case 18:return a.abrupt("return",e._loadSegmentDirect());case 19:case"end":return a.stop()}}),a)})))),Te(Re(e),"_onLoadeddata",(function(){e.isLive&&!e.config.mseLowLatency&&e.media.duration!==1/0&&e._bufferService.updateDuration(1/0).catch((function(a){}))})),Te(Re(e),"_onPlay",ke(ge().mark((function a(){return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(!e.media.seeking||0!==e.media.currentTime){a.next=3;break}return Ab.debug("replay currentTime 0, return"),a.abrupt("return");case 3:if(clearTimeout(e._disconnectTimer),!e._reloadOnPlay){a.next=9;break}e._reloadOnPlay=!1,e.replay(!0),a.next=12;break;case 9:return a.next=11,e._loadSegment();case 11:e._startTick();case 12:case"end":return a.stop()}}),a)})))),Te(Re(e),"_onPause",(function(){if(e.isLive){if(!e._reloadOnPlay){var a=e.config.disconnectTime;if(null==a&&(a=e._playlist.dvrWindow),!Number.isFinite(a))return;clearTimeout(e._disconnectTimer),e._disconnectTimer=setTimeout((function(){e._reloadOnPlay=!0,e._clear()}),a||0)}}else e._stopTick()})),Te(Re(e),"_onSeeking",ke(ge().mark((function a(){var f,d,t,b,r,c,n;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(e.media){a.next=2;break}return a.abrupt("return");case 2:if(e._onCheckQuotaExceeded(),f=e.media.currentTime,!(d=e._playlist.seekRange)){a.next=10;break}if(!((t=kb(f,d[0],e.isLive?d[1]:e.media.duration))>=0&&Math.abs(f-t)>=.1)){a.next=10;break}return e.media.currentTime=t,a.abrupt("return");case 10:if(b=e._playlist.currentSegment,r=nf.info(nf.get(e.media),f,.1),!b){a.next=17;break}if(!(r.end&&Math.abs(r.end-b.end)<.2)){a.next=15;break}return a.abrupt("return");case 15:if(!e.isLive||!r.end){a.next=17;break}return a.abrupt("return");case 17:if(c=e._playlist.findSegmentIndexByTime(f),n=e._playlist.getSegmentByIndex(c),null!=c&&n&&(!e._segmentProcessing||n!==e._playlist.nextSegment)){a.next=21;break}return a.abrupt("return");case 21:return Ab.debug("seek to",f,n),e._playlist.setNextSegmentByIndex(c),e._stopTick(),a.next=26,e._segmentLoader.cancel();case 26:if(e._segmentProcessing=!1,r.end&&!e.isLive){a.next=30;break}return a.next=30,e._loadSegmentDirect(!0);case 30:e._startTick();case 31:case"end":return a.stop()}}),a)})))),Te(Re(e),"_onTimeupdate",(function(){if(e.media){var a,f=e.config;if(f.isLive&&f.maxLatency&&f.targetLatency){var d=e._playlist.liveEdge;if(!d)return;var t=d-e.media.currentTime;t>=f.maxLatency&&(Ab.debug("latency jump, currentTime:".concat(e.media.currentTime,", liveEdge:").concat(d,", latency=").concat(t)),e.media.currentTime=d-f.targetLatency)}if(f.seiInTime)null===(a=e._seiService)||void 0===a||a.throw(e.media.currentTime);f.allowedStreamTrackChange&&!f.softDecode&&e.media.readyState&&e._checkStreamTrackChange(e.media.currentTime)}})),Te(Re(e),"_tick",(function(){if(e.media){e._startTick();var a=e.media,f=e._segmentLoader.error;if(e._onCheckQuotaExceeded(),e._isProcessQuotaExceeded&&(e._bufferService.isFull()||(e._isProcessQuotaExceeded=!1,e._segmentProcessing=!1)),f){(!a.readyState||e.bufferInfo(.5).remaining<1)&&(f.fatal=!0,e._emitError(xf.network(f)))}else a.readyState&&(!function(a){return a&&!a.paused&&!a.ended&&0!==a.playbackRate&&0!==a.readyState}(a)?a.readyState<2&&e._gapService&&e._gapService.do(a,e.config.maxJumpDistance,!a.currentTime||e.isLive):(e._loadSegment(),e._gapService&&e._gapService.do(a,e.config.maxJumpDistance,e.isLive))),e.isLive||e._tryEos()}})),e.config=(d=(null==(f=a)?void 0:f.media)||document.createElement("video"),a=me(me({maxPlaylistSize:50,retryCount:3,retryDelay:1e3,pollRetryCount:2,loadTimeout:1e4,manifestLoadTimeout:1e4,preloadTime:30,softDecode:!1,bufferBehind:10,maxJumpDistance:3,startTime:0,useLowLatency:!0,targetLatency:10,maxLatency:20,allowedStreamTrackChange:!0,seiInTime:!1,manifestList:[],minSegmentsStartPlay:3,preferMMS:!1,preferMMSStreaming:!1,mseLowLatency:!0,fixerConfig:{forceFixLargeGap:!1,largeGapThreshold:5}},f),{},{media:d})),e.media=e.config.media,e._manifestLoader=new Eb(Re(e)),e._segmentLoader=new Tb(Re(e)),e._playlist=new xb(Re(e)),e._bufferService=new Xt(Re(e)),a.seiInTime&&(e._seiService=new ud(Re(e))),a.softDecode||(e._gapService=new sd),e._stats=new pd(Re(e),9e4),e.media.addEventListener("loadeddata",e._onLoadeddata),e.media.addEventListener("play",e._onPlay),e.media.addEventListener("pause",e._onPause),e.media.addEventListener("seeking",e._onSeeking),e.media.addEventListener("timeupdate",e._onTimeupdate),e}return xe(y,[{key:"isLive",get:function(){return this._playlist.isLive}},{key:"streams",get:function(){return this._playlist.streams}},{key:"currentStream",get:function(){return this._playlist.currentStream}},{key:"hasSubtitle",get:function(){return this._playlist.hasSubtitle}},{key:"totalDuration",get:function(){return this._playlist.totalDuration}},{key:"baseDts",get:function(){var a;return null===(a=this._bufferService)||void 0===a?void 0:a.baseDts}},{key:"abrSwitchPoint",get:function(){var a=this._urlSwitching?this._playlist.currentSegment:this._playlist.nextSegment;return a?a.start+a.duration/2:null}},{key:"speedInfo",value:function(){return this._segmentLoader.speedInfo()}},{key:"bufferInfo",value:function(){var a,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.1;return nf.info(nf.get(this.media),null===(a=this.media)||void 0===a?void 0:a.currentTime,e)}},{key:"getStats",value:function(){return this._stats.getStats()}},{key:"playbackQuality",value:function(){return function(a){if(!a)return{};if("function"==typeof a.getVideoPlaybackQuality){var e=a.getVideoPlaybackQuality();return{droppedVideoFrames:e.droppedVideoFrames||e.corruptedVideoFrames,totalVideoFrames:e.totalVideoFrames,creationTime:e.creationTime}}return{droppedVideoFrames:a.webkitDroppedFrameCount,totalVideoFrames:a.webkitDecodedFrameCount,creationTime:performance.now()}}(this.media)}},{key:"load",value:(p=ke(ge().mark((function a(){var e,f,d,t=arguments;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return e=t.length>0&&void 0!==t[0]?t[0]:"",d="boolean"==typeof(f=t.length>1&&void 0!==t[1]?t[1]:{})?f:!(null==f||!f.reuseMse),"object"===_e(f)&&null!=f&&f.clearSwitchStatus&&(this._urlSwitching=!1,this._switchUrlOpts=null,this.config.startTime=void 0),e&&(this.config.url=e),e=this.config.url,a.next=8,this._reset(d);case 8:return a.next=10,this._loadData(e);case 10:this._startTick();case 11:case"end":return a.stop()}}),a,this)}))),function(){return p.apply(this,arguments)})},{key:"_loadData",value:(h=ke(ge().mark((function a(e){var f,d,t,b,r,c,n,i,o,s,u,l,h;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:try{e&&(e=e.trim())}catch(p){}if(e){a.next=3;break}throw this._emitError(new xf(Ef,Sf.OPTION,null,null,"m3u8 url is missing"));case 3:return a.next=5,this._loadM3U8(e);case 5:if(f=a.sent,d=this._playlist.currentStream,!this._urlSwitching){a.next=23;break}if(!this.isLive){a.next=14;break}t=this._playlist.setNextSegmentBySN(this._prevSegSn),Ab.log("segment nb=".concat(this._prevSegSn," index of ").concat(t," in the new playlist")),-1===t&&(this._prevSegCc=null,this._prevSegSn=null),a.next=23;break;case 14:if(0===d.bitrate&&null!==(b=this._switchUrlOpts)&&void 0!==b&&b.bitrate&&(d.bitrate=null===(n=this._switchUrlOpts)||void 0===n?void 0:n.bitrate),i="number"==typeof(null===(r=this._switchUrlOpts)||void 0===r?void 0:r.startTime)?null===(c=this._switchUrlOpts)||void 0===c?void 0:c.startTime:this._getSeamlessSwitchPoint(),this.config.startTime=i,o=this._playlist.findSegmentIndexByTime(i),!(s=this._playlist.getSegmentByIndex(o+1))){a.next=23;break}return u=s.start,a.next=23,this._bufferService.removeBuffer(u);case 23:if(f){a.next=25;break}return a.abrupt("return");case 25:if(!this.isLive){a.next=36;break}if(this._bufferService.setLiveSeekableRange(0,4294967295),Ab.log("totalDuration first time got:",this._playlist.totalDuration),Ab.log("nb segments got:",this._playlist.nbSegments),this.config.targetLatency<this._playlist.totalDuration&&(this.config.targetLatency=this._playlist.totalDuration,this.config.maxLatency=1.5*this.config.targetLatency),f.isMaster||this._pollM3U8(e),!(this._playlist.nbSegments<this.config.minSegmentsStartPlay)){a.next=33;break}return a.abrupt("return");case 33:return a.next=35,this._loadSegment();case 35:return a.abrupt("return");case 36:return a.next=38,this._bufferService.updateDuration(d.totalDuration);case 38:return(l=this.config.startTime)&&(null!==(h=this._switchUrlOpts)&&void 0!==h&&h.seamless||(this.media.currentTime=l),this._playlist.setNextSegmentByIndex(this._playlist.findSegmentIndexByTime(l)||0)),a.next=42,this._loadSegment();case 42:case"end":return a.stop()}}),a,this)}))),function(a){return h.apply(this,arguments)})},{key:"replay",value:(l=ke(ge().mark((function a(e){return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return this.config.startTime=0,this._urlSwitching=!1,this._switchUrlOpts=null,a.next=5,this.load();case 5:return this._reloadOnPlay=!1,a.abrupt("return",this.media.play(!e));case 7:case"end":return a.stop()}}),a,this)}))),function(a){return l.apply(this,arguments)})},{key:"switchURL",value:(u=ke(ge().mark((function a(e){var f,d,t,b,r,c,n,i=arguments;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:f=i.length>1&&void 0!==i[1]?i[1]:{},d={seamless:!1,startTime:0,bitrate:0},a.t0=_e(f),a.next="number"===a.t0?5:"boolean"===a.t0?7:"object"===a.t0?9:11;break;case 5:return f={startTime:f},a.abrupt("break",12);case 7:return f={seamless:f},a.abrupt("break",12);case 9:for(t in f)void 0!==f[t]&&null!==f[t]||delete f[t];return a.abrupt("break",12);case 11:throw"unsupported switchURL args: ".concat(f);case 12:if(f=Object.assign({},d,f),r=(b=f).seamless,c=b.startTime,this.config.url=e,this.config.startTime=c,this._switchUrlOpts=f,r){a.next=38;break}if(a.prev=18,!this.config.softDecode){a.next=23;break}a.t1=this.load(e),a.next=26;break;case 23:return a.next=25,this.load(e);case 25:a.t1=a.sent;case 26:n=a.t1,a.next=33;break;case 29:throw a.prev=29,a.t2=a.catch(18),this.emit(zt.SWITCH_URL_FAILED,a.t2),a.t2;case 33:return this._reloadOnPlay=!1,n&&this.emit(zt.SWITCH_URL_SUCCESS,{url:e}),a.abrupt("return",this.media.play(!0));case 38:return this._urlSwitching=!0,this.isLive||(this._prevSegSn=null,this._prevSegCc=null),this._playlist.reset(),this._bufferService.seamlessSwitch(),a.next=44,this._clear();case 44:return a.next=46,this._loadData(e);case 46:this._startTick();case 47:this._switchUrlOpts=null;case 48:case"end":return a.stop()}}),a,this,[[18,29]])}))),function(a){return u.apply(this,arguments)})},{key:"switchStream",value:(s=ke(ge().mark((function a(e){var f,d,t,b,r,c=arguments;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(f=!(c.length>1&&void 0!==c[1])||c[1],d=this.currentStream,t=this.streams,d&&d.id!==e&&t&&!(t.length<2)){a.next=5;break}return a.abrupt("return");case 5:if(b=t.find((function(a){return a.id===e}))){a.next=8;break}return a.abrupt("return");case 8:return a.prev=8,a.next=11,this._clear();case 11:if(!f){a.next=14;break}return a.next=14,this._bufferService.clearAllBuffer();case 14:a.next=19;break;case 16:throw a.prev=16,a.t0=a.catch(8),this._emitError(xf.create(a.t0));case 19:if(d.currentAudioStream&&b.audioStreams.length>2&&(r=d.currentAudioStream.id,b.currentAudioStream=b.audioStreams.find((function(a){return a.id===r}))||b.currentAudioStream),this._playlist.currentStream=b,a.prev=21,!this.isLive&&b.segments.length){a.next=25;break}return a.next=25,this._refreshM3U8();case 25:return this._playlist.setNextSegmentByIndex(this._playlist.findSegmentIndexByTime(this.media.currentTime)||0),this._prevSegCc=null,a.next=29,this._loadSegmentDirect();case 29:a.next=35;break;case 31:throw a.prev=31,a.t1=a.catch(21),this._playlist.currentStream=d,a.t1;case 35:return this._startTick(),a.abrupt("return",b);case 37:case"end":return a.stop()}}),a,this,[[8,16],[21,31]])}))),function(a){return s.apply(this,arguments)})},{key:"switchAudioStream",value:(o=ke(ge().mark((function a(e){var f,d,t,b,r=arguments;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(f=!(r.length>1&&void 0!==r[1])||r[1],d=this.currentStream){a.next=4;break}return a.abrupt("return");case 4:if((t=d.currentAudioStream)&&t.id!==e&&!(d.audioStreams.length<2)){a.next=7;break}return a.abrupt("return");case 7:if(b=d.audioStreams.find((function(a){return a.id===e}))){a.next=10;break}return a.abrupt("return");case 10:return a.prev=10,a.next=13,this._clear();case 13:if(!f){a.next=16;break}return a.next=16,this._bufferService.clearAllBuffer();case 16:a.next=21;break;case 18:throw a.prev=18,a.t0=a.catch(10),this._emitError(xf.create(a.t0));case 21:if(d.currentAudioStream=b,a.prev=22,!this.isLive&&b.segments.length){a.next=26;break}return a.next=26,this._refreshM3U8();case 26:return this._playlist.setNextSegmentByIndex(this._playlist.findSegmentIndexByTime(this.media.currentTime)||0),this._prevSegCc=null,a.next=30,this._loadSegmentDirect();case 30:a.next=36;break;case 32:throw a.prev=32,a.t1=a.catch(22),d.currentAudioStream=t,a.t1;case 36:return this._startTick(),a.abrupt("return",b);case 38:case"end":return a.stop()}}),a,this,[[10,18],[22,32]])}))),function(a){return o.apply(this,arguments)})},{key:"switchSubtitleStream",value:(i=ke(ge().mark((function a(e){return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return this._playlist.switchSubtitle(e),a.next=3,this._manifestLoader.stopPoll();case 3:return a.next=5,this._refreshM3U8();case 5:case"end":return a.stop()}}),a,this)}))),function(a){return i.apply(this,arguments)})},{key:"detachMedia",value:(n=ke(ge().mark((function a(){return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(!this._bufferService){a.next=3;break}return a.next=3,this._bufferService.detachMedia();case 3:case"end":return a.stop()}}),a,this)}))),function(){return n.apply(this,arguments)})},{key:"destroy",value:(c=ke(ge().mark((function a(){var e;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(this.media){a.next=2;break}return a.abrupt("return");case 2:return this.removeAllListeners(),this._playlist.reset(),this._segmentLoader.reset(),null===(e=this._seiService)||void 0===e||e.reset(),this.media.removeEventListener("loadeddata",this._onLoadeddata),this.media.removeEventListener("play",this._onPlay),this.media.removeEventListener("pause",this._onPause),this.media.removeEventListener("seeking",this._onSeeking),this.media.removeEventListener("timeupdate",this._onTimeupdate),a.next=13,Promise.all([this._clear(),this._bufferService.destroy()]);case 13:this.media=null;case 14:case"end":return a.stop()}}),a,this)}))),function(){return c.apply(this,arguments)})},{key:"_loadM3U8",value:(r=ke(ge().mark((function a(e){var f,d,t,b,r,c,n;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(a.prev=0,!(b=null===(d=this.config.manifestList)||void 0===d||null===(t=d.filter((function(a){return a.url===e}))[0])||void 0===t?void 0:t.manifest)){a.next=6;break}a.t0=this._manifestLoader.parseText(b,e),a.next=9;break;case 6:return a.next=8,this._manifestLoader.load(e);case 8:a.t0=a.sent;case 9:r=a.t0,c=Ce(r,1),f=c[0],a.next=17;break;case 14:throw a.prev=14,a.t1=a.catch(0),this._emitError(xf.create(a.t1));case 17:if(f){a.next=19;break}return a.abrupt("return");case 19:if(this._playlist.upsertPlaylist(f),!f.isMaster){a.next=24;break}return null!==(n=this._playlist.currentStream.subtitleStreams)&&void 0!==n&&n.length&&this.emit(zt.SUBTITLE_PLAYLIST,{list:this._playlist.currentStream.subtitleStreams}),a.next=24,this._refreshM3U8();case 24:return this.emit(zt.STREAM_PARSED),a.abrupt("return",f);case 26:case"end":return a.stop()}}),a,this,[[0,14]])}))),function(a){return r.apply(this,arguments)})},{key:"_refreshM3U8",value:function(){var a,e,f=this,d=this._playlist.currentStream;if(!d||!d.url)throw this._emitError(xf.create(null,null,new Error("m3u8 url is not defined")));var t=d.url,b=null===(a=d.currentAudioStream)||void 0===a?void 0:a.url,r=null===(e=d.currentSubtitleStream)||void 0===e?void 0:e.url;return this._manifestLoader.load(t,b,r).then((function(a){var e=Ce(a,3),d=e[0],c=e[1],n=e[2];d&&(f._playlist.upsertPlaylist(d,c,n),f.isLive&&f._pollM3U8(t,b,r))})).catch((function(a){throw f._emitError(xf.create(a))}))}},{key:"_pollM3U8",value:function(a,e,f){var d,t,b=this,r=this._playlist.isEmpty;this._playlist.lowLatency?d=1e3*(this._playlist.currentStream.partTargetDuration||0):d=1e3*((null===(t=this._playlist.lastSegment)||void 0===t?void 0:t.duration)||0);this._manifestLoader.poll(a,e,f,(function(a,e,f){b._playlist.upsertPlaylist(a,e,f),b._playlist.clearOldSegment(),(a&&r&&!b._playlist.isEmpty||!b._playlist.hadSegmentLoaded&&b._playlist.nbSegments>=b.config.minSegmentsStartPlay)&&b._loadSegment(),r&&(r=b._playlist.isEmpty)}),(function(a){b._emitError(xf.create(a))}),d)}},{key:"_loadSegmentDirect",value:(b=ke(ge().mark((function a(e){var f,d,t,b,r,c;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(f=this._playlist.nextSegment){a.next=3;break}return a.abrupt("return");case 3:return d=!1,t=null,a.prev=5,this._segmentProcessing=!0,Ab.log("load segment, sn:".concat(f.sn,", [").concat(f.start,", ").concat(f.end,"], partIndex:").concat(f.partIndex)),a.next=10,this._reqAndBufferSegment(f,this._playlist.getAudioSegment(f));case 10:d=a.sent,a.next=16;break;case 13:a.prev=13,a.t0=a.catch(5),t=a.t0;case 16:return a.prev=16,this._segmentProcessing=!1,a.finish(16);case 19:if(!t){a.next=26;break}if(!this._bufferService.isFull()){a.next=25;break}return Ab.log("load segment, sn:".concat(f.sn,", partIndex:").concat(f.partIndex)),this._segmentProcessing=!0,this._isProcessQuotaExceeded=!0,a.abrupt("return",!1);case 25:return a.abrupt("return",this._emitError(xf.create(t)));case 26:return d&&(r=this.bufferInfo().end,this.isLive&&!this.media.seeking&&r&&Math.abs(f.end-r)>1&&(Ab.warn("segment: ".concat(f.sn," expected end=").concat(f.end,", real end=").concat(r)),this._playlist.feedbackLiveEdge(f,r)),c=(null===(b=this._playlist.currentStream)||void 0===b?void 0:b.url)===f.parentUrl,this._urlSwitching&&!c&&(Ab.warn("pre playlist segment appended!"),this._bufferService.seamlessSwitch()),this.isLive&&this._urlSwitching&&c&&(this._urlSwitching=!1,this.emit(zt.SWITCH_URL_SUCCESS,{url:this.config.url})),this._playlist.moveSegmentPointer(),f.isLast?this._end():e||this._loadSegment()),a.abrupt("return",d);case 28:case"end":return a.stop()}}),a,this,[[5,13,16,19]])}))),function(a){return b.apply(this,arguments)})},{key:"_reqAndBufferSegment",value:(t=ke(ge().mark((function a(e,f){var d,t,b,r,c,n,i,o,s,u,l;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return t=e?e.cc:f.cc,b=this._prevSegCc!==t,r=[],a.prev=3,a.next=6,this._segmentLoader.load(e,f,b);case 6:r=a.sent,a.next=14;break;case 9:throw a.prev=9,a.t0=a.catch(3),a.t0.fatal=!1,this._segmentLoader.error=a.t0,a.t0;case 14:if(r[0]){a.next=16;break}return a.abrupt("return");case 16:return a.next=18,(d=this._bufferService).decryptBuffer.apply(d,Pe(r));case 18:if(c=a.sent){a.next=21;break}return a.abrupt("return");case 21:return n=e?e.sn:f.sn,i=e?e.start:f.start,o=this._playlist.currentStream,this._bufferService.createSource(c[0],c[1],null==o?void 0:o.videoCodec,null==o?void 0:o.audioCodec),s=Date.now(),u=this._prevSegSn===n-1,this.isLive&&this._urlSwitching&&(l=this.bufferInfo().end,this._playlist.updateSegmentsRanges(n,l),Ab.warn("update the new playlist liveEdge, segment id=".concat(n,", buffer start=").concat(l,", liveEdge=").concat(this._playlist.liveEdge)),i=l),a.next=30,this._bufferService.appendBuffer(e,f,c[0],c[1],b,u,i);case 30:return this.emit(zt.APPEND_COST,{elapsed:Date.now()-s,url:e.url}),a.next=33,this._bufferService.evictBuffer(this.config.bufferBehind);case 33:return this._prevSegCc=t,this._prevSegSn=n,a.abrupt("return",!0);case 36:case"end":return a.stop()}}),a,this,[[3,9]])}))),function(a,e){return t.apply(this,arguments)})},{key:"_onCheckQuotaExceeded",value:(d=ke(ge().mark((function a(){var e,f,d,t,b,r;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:e=this.media.currentTime,f=this.media.buffered,d=!1,t=0;case 4:if(!(t<f.length)){a.next=11;break}if(!(f.start(0)>=e&&e<f.end(t))){a.next=8;break}return d=!0,a.abrupt("break",11);case 8:t++,a.next=4;break;case 11:if(!this._bufferService.isFull()){a.next=17;break}if(b=d?this.config.bufferBehind:5,!((r=this.media.currentTime)-b>0)){a.next=17;break}return a.next=17,this._bufferService.removeBuffer(0,r-b);case 17:case"end":return a.stop()}}),a,this)}))),function(){return d.apply(this,arguments)})},{key:"_checkStreamTrackChange",value:function(a){var e=this._playlist.checkSegmentTrackChange(a,this._bufferService.nbSb);e&&this.switchURL(this.config.url,e.start+.2)}},{key:"_clear",value:(f=ke(ge().mark((function a(){return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return clearTimeout(this._disconnectTimer),this._stopTick(),a.next=4,Promise.all([this._segmentLoader.cancel(),this._manifestLoader.stopPoll()]);case 4:this._segmentProcessing=!1;case 5:case"end":return a.stop()}}),a,this)}))),function(){return f.apply(this,arguments)})},{key:"_reset",value:(e=ke(ge().mark((function a(){var e,f,d=arguments;return ge().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return f=d.length>0&&void 0!==d[0]&&d[0],this._reloadOnPlay=!1,this._prevSegSn=null,this._prevSegCc=null,this._switchUrlOpts=null,this._playlist.reset(),this._segmentLoader.reset(),null===(e=this._seiService)||void 0===e||e.reset(),this._stats.reset(),a.next=11,this._clear();case 11:return a.abrupt("return",this._bufferService.reset(f));case 12:case"end":return a.stop()}}),a,this)}))),function(){return e.apply(this,arguments)})},{key:"_end",value:function(){this._clear(),this._bufferService.endOfStream(),(this.media.readyState<=2||this.media.buffered.length>1)&&this._startTick()}},{key:"_stopTick",value:function(){this._tickTimer&&clearTimeout(this._tickTimer),this._tickTimer=null}},{key:"_startTick",value:function(){this._stopTick(),this._tickTimer=setTimeout(this._tick,this._tickInterval)}},{key:"_emitError",value:function(a){var e,f,d,t,b=arguments.length>1&&void 0!==arguments[1]&&arguments[1];!1===(null===(e=a.originError)||void 0===e?void 0:e.fatal)?Ab.warn(a):(Ab.table(a),Ab.error(a),Ab.error(null===(f=this.media)||void 0===f?void 0:f.error),null!==(d=this.media)&&void 0!==d&&d.readyState&&this.media.pause(),this._stopTick(),this._urlSwitching&&(this._urlSwitching=!1,this.emit(zt.SWITCH_URL_FAILED,a)),this.emit(zt.ERROR,a),b&&this._end(),null===(t=this._seiService)||void 0===t||t.reset());return a}},{key:"_getSeamlessSwitchPoint",value:function(){var a=this.media,e=a.currentTime;if(!a.paused){var f,d=this._playlist.findSegmentIndexByTime(a.currentTime),t=this._playlist.getSegmentByIndex(d),b=null===(f=this._stats)||void 0===f?void 0:f.getStats().downloadSpeed;if(b&&t)e+=t.duration*this._playlist.currentStream.bitrate/b+1;else e+=5}return e}},{key:"_tryEos",value:function(){var a,e,f=this.media,d=this._playlist,t=d.nextSegment,b=d.lastSegment;if((!t||b&&nf.isBuffered(f,b.start+b.duration/2))&&f.readyState&&f.duration>0&&(null===(a=this._bufferService)||void 0===a?void 0:a.msIsOpened)&&!(null!==(e=this._bufferService)&&void 0!==e&&e.msHasOpTasks)){var r=this.bufferInfo();f.paused&&!f.currentTime&&(r=this.bufferInfo(r.nextStart||.5)),(Math.abs(r.end-f.duration)<.1||!this.isLive&&b&&r.end>=b.start+b.duration)&&this._bufferService.endOfStream()}}}],[{key:"isSupported",value:function(a){return a&&"video"!==a&&"audio"!==a?"undefined"!=typeof WebAssembly:Ff.isSupported()}},{key:"enableLogger",value:function(){If.enable(),Jd.enable()}},{key:"disableLogger",value:function(){If.disable(),Jd.disable()}}]),y}(fd);Te(Ib,"version","3.0.21");try{localStorage.getItem("xgd")?Ib.enableLogger():Ib.disableLogger()}catch(Cr){}var Db=function(){function a(e,f){var d=this;Se(this,a),Te(this,"_opts",null),Te(this,"_plugin",null),Te(this,"_onLowDecode",(function(){var a,e,f,t,b=d._opts,r=b.media,c=b.innerDegrade;null===(a=d._plugin)||void 0===a||null===(e=a.player)||void 0===e||e.emit("lowdecode",r.degradeInfo),null===(f=d._plugin)||void 0===f||null===(t=f.player)||void 0===t||t.emit("core_event",me(me({},r.degradeInfo),{},{eventName:zt.LOWDECODE})),1===c&&d._degrade(r.src)})),Te(this,"_degrade",(function(a){var e=d._plugin.player,f=e.video;if(!f||"MVideo"===f.TAG){var t=e.video.degradeVideo;e.video=t,f.degrade(a),a&&(e.config.url=a);var b=e.root.firstChild;"MVideo"===b.TAG&&e.root.replaceChild(t,b);var r=d._plugin.constructor.pluginName.toLowerCase();e.unRegisterPlugin(r),e.once("canplay",(function(){e.play()}))}})),Te(this,"forceDegradeToVideo",(function(a){1===d._opts.innerDegrade&&d._degrade(a)})),this._opts=e,this._plugin=f,this._init()}return xe(a,[{key:"_init",value:function(){var a=this._opts,e=a.media,f=a.preloadTime,d=a.innerDegrade,t=a.isLive;e&&(t||!e.setPlayMode?(d&&e.setAttribute("innerdegrade",d),f&&e.setAttribute("preloadtime",f),this._bindEvents()):e.setPlayMode("VOD"))}},{key:"_bindEvents",value:function(){this._opts.media.addEventListener("lowdecode",this._onLowDecode)}},{key:"destroy",value:function(){var a,e;null===(a=this._opts)||void 0===a||null===(e=a.media)||void 0===e||e.removeEventListener("lowdecode",this._onLowDecode),this._plugin=null}}]),a}(),Ob=["currentTime"];function Rb(a,e){var f={startTime:e.player.currentTime};switch(_e(a)){case"boolean":f.seamless=a;break;case"object":var d=a.currentTime,t=Oe(a,Ob);Object.assign(f,t),"number"==typeof d&&(f.startTime=d)}return f}var Lb=function(a){Ae(f,a);var e=Le(f);function f(){var a;Se(this,f);for(var d=arguments.length,t=new Array(d),b=0;b<d;b++)t[b]=arguments[b];return Te(Re(a=e.call.apply(e,[this].concat(t))),"logger",Ab),Te(Re(a),"hls",null),Te(Re(a),"pluginExtension",null),Te(Re(a),"getStats",(function(){var e;return null===(e=a.hls)||void 0===e?void 0:e.getStats()})),Te(Re(a),"_onSwitchSubtitle",(function(e){var f,d=e.lang;null===(f=a.hls)||void 0===f||f.switchSubtitleStream(d)})),Te(Re(a),"_keepPauseStatus",(function(){a.player.paused&&a.player.once("canplay",(function(){a.player.pause()}))})),a}return xe(f,[{key:"core",get:function(){return this.hls}},{key:"version",get:function(){var a;return null===(a=this.hls)||void 0===a?void 0:a.version}},{key:"softDecode",get:function(){var a,e,f=null===(a=this.player)||void 0===a||null===(e=a.config)||void 0===e?void 0:e.mediaType;return!!f&&"video"!==f&&"audio"!==f&&"offscreen-video"!==f}},{key:"beforePlayerInit",value:function(){var a=this,e=this.player.config,f=this.player.media||this.player.video,d=e.hls||{};if((e.url||e.__allowHlsEmptyUrl__)&&(this.softDecode||d.preferMMS||!Ff.isMMSOnly())){this.hls&&this.hls.destroy();var t=Object.getOwnPropertyDescriptor(this.player,"switchURL");t&&!t.writable||(this.player.switchURL=function(e,f){return new Promise((function(d,t){var b=a.player,r=a.hls;if(r){var c,n,i=Rb(f,a);b.config.url=e,r.switchURL(e,i).then((function(){return d(!0)})).catch(t),!i.seamless&&null!==(c=a.player.config)&&void 0!==c&&null!==(n=c.hls)&&void 0!==n&&n.keepStatusAfterSwitch&&a._keepPauseStatus()}else t()}))});var b,r=this.player.switchURL;if(this.player.handleSource=!1,d.innerDegrade=d.innerDegrade||e.innerDegrade,null!==d.disconnectTime&&void 0!==d.disconnectTime||(d.disconnectTime=0),this.hls=new Ib(me({softDecode:this.softDecode,isLive:e.isLive,media:f,startTime:e.startTime,url:e.url},d)),this.softDecode||ua.BasePlugin.defineGetterOrSetter(this.player,{url:{get:function(){var e,f;return null===(e=a.hls)||void 0===e||null===(f=e.media)||void 0===f?void 0:f.src},configurable:!0}}),this.softDecode&&(this.pluginExtension=new Db(me({isLive:e.isLive,media:f},d),this),this.player.forceDegradeToVideo=function(){for(var e,f=arguments.length,d=new Array(f),t=0;t<f;t++)d[t]=arguments[t];return null===(e=a.pluginExtension)||void 0===e?void 0:e.forceDegradeToVideo.apply(e,d)}),e.isLive)null===(b=this.player)||void 0===b||b.useHooks("replay",(function(){var e;return null===(e=a.hls)||void 0===e?void 0:e.replay()}));this.on(ua.Events.URL_CHANGE,r),this.on(ua.Events.SWITCH_SUBTITLE||"switch_subtitle",this._onSwitchSubtitle),this.on(ua.Events.DESTROY,this.destroy.bind(this)),this._transError(),this._transCoreEvent(ad.TTFB),this._transCoreEvent(ad.LOAD_START),this._transCoreEvent(ad.LOAD_RESPONSE_HEADERS),this._transCoreEvent(ad.LOAD_COMPLETE),this._transCoreEvent(ad.LOAD_RETRY),this._transCoreEvent(ad.SOURCEBUFFER_CREATED),this._transCoreEvent(ad.MEDIASOURCE_OPENED),this._transCoreEvent(ad.APPEND_BUFFER),this._transCoreEvent(ad.REMOVE_BUFFER),this._transCoreEvent(ad.BUFFEREOS),this._transCoreEvent(ad.KEYFRAME),this._transCoreEvent(ad.METADATA_PARSED),this._transCoreEvent(ad.DEMUXED_TRACK),this._transCoreEvent(ad.SEI),this._transCoreEvent(ad.SEI_IN_TIME),this._transCoreEvent(ad.SPEED),this._transCoreEvent(ad.HLS_MANIFEST_LOADED),this._transCoreEvent(ad.HLS_LEVEL_LOADED),this._transCoreEvent(ad.STREAM_EXCEPTION),this._transCoreEvent(ad.SWITCH_URL_SUCCESS),this._transCoreEvent(ad.SWITCH_URL_FAILED),this._transCoreEvent(zt.NO_AUDIO_TRACK),this._transCoreEvent(zt.STREAM_PARSED),this._transCoreEvent(zt.SUBTITLE_SEGMENTS),this._transCoreEvent(zt.SUBTITLE_PLAYLIST),this._transCoreEvent(zt.APPEND_COST),e.url&&this.hls.load(e.url,{reuseMse:!0}).catch((function(a){}))}}},{key:"destroy",value:function(){var a;this.hls&&(this.hls.destroy(),this.hls=null),null===(a=this.pluginExtension)||void 0===a||a.destroy(),this.pluginExtension=null}},{key:"_transError",value:function(){var a=this;this.hls.on(zt.ERROR,(function(e){a.player&&a.player.emit(ua.Events.ERROR,new ua.Errors(a.player,e))}))}},{key:"_transCoreEvent",value:function(a){var e=this;this.hls.on(a,(function(f){e.player&&(e.player.emit("core_event",me(me({},f),{},{eventName:a})),a===ad.SEI_IN_TIME&&e.hls.hasSubtitle&&e._emitSeiPaylodTime(f))}))}},{key:"_emitSeiPaylodTime",value:function(a){try{var e=JSON.parse(Array.from(a.data.payload).map((function(a){return String.fromCharCode(a)})).join("").slice(0,-1));if(!e.rtmp_dts)return;this.player.emit("core_event",{eventName:zt.SEI_PAYLOAD_TIME,time:e.rtmp_dts})}catch(f){}}}],[{key:"pluginName",get:function(){return"hls"}},{key:"isSupported",value:function(a,e){return Ib.isSupported(a,e)}}]),f}(ua.BasePlugin);Te(Lb,"Hls",Ib),Te(Lb,"EVENT",zt);const Cb="4.1.12-rc.8";var Pb=function(a){return a.GetKeyByKeyTokenFail="Get key by keyToken fail",a}(Pb||{}),jb=function(a){return a[a.KDS=0]="KDS",a[a.DRM=1]="DRM",a}(jb||{});function Mb(){var a=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=window.MediaSource=window.MediaSource||(a?window.ManagedMediaSource:void 0)||window.WebKitMediaSource;return e&&"function"==typeof e.isTypeSupported}function Bb(a,e,f,d){a.once(d,(function t(){a.off(e,f),a.off(d,t)}))}var Ub={getBrowserVersion:function(){var a=navigator.userAgent;if(a.toLowerCase().indexOf("mobile")>-1)return"Unknown";function e(e){return((a.match(e)||[""])[0].match(/[\d]+/)||["0"])[0]}if(a.indexOf("Firefox")>-1)return"Firefox ".concat(e(/firefox\/[\d.]+/gi));if(a.indexOf("Edge")>-1)return"Edge ".concat(e(/edge\/[\d.]+/gi));if(a.indexOf("rv:11")>-1)return"IE 11";if(a.indexOf("Opera")>-1||a.indexOf("OPR")>-1){if(a.indexOf("Opera")>-1)return"Opera ".concat(e(/opera\/[\d.]+/gi));if(a.indexOf("OPR")>-1)return"Opera ".concat(e(/opr\/[\d.]+/gi))}else{if(a.indexOf("Chrome")>-1)return"Chrome ".concat(e(/chrome\/[\d.]+/gi));if(a.indexOf("Safari")>-1)return"Safari ".concat(e(/safari\/[\d.]+/gi));if(!(a.indexOf("MSIE")>-1||a.indexOf("Trident")>-1))return"Unknown";if(a.indexOf("MSIE")>-1)return"IE ".concat(e(/msie [\d.]+/gi));if(a.indexOf("Trident")>-1){var f=e(/trident\/[\d.]+/gi),d=parseInt(f)+4;return"IE ".concat(d)}}},parseUrl:function(a){var e=a.split("?")[1],f={};return e&&e.split("&").forEach((function(a){var e=a.split("=");f[e[0]]=decodeURIComponent(e[1])})),f},isBase64:function(a){return/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/.test(a)},isRelativeURL:function(a){return/^:?\/\//i.test(a)},isMobile:function(){var a=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=!1;return navigator.userAgent.toLocaleLowerCase().indexOf("ipad")>-1?(navigator.userAgent.toLocaleLowerCase().indexOf("mobile")>-1&&"Win32"!==navigator.platform||!Mb(a))&&(e=!0):navigator.userAgent.toLocaleLowerCase().indexOf("mobile")>-1&&"Win32"!==navigator.platform&&!Mb(a)&&(e=!0),e},checkMediaSourceSupport:Mb,getAbsoluteURL:function(a){var e=new Image;return e.src=a,a=e.src},offInDestroy:Bb,on:function(a,e,f,d){if(d)a.on(e,f),Bb(a,e,f,d);else{var t=function(f){t(f),a.off(e,t)};a.on(e,t)}},once:function(a,e,f,d){if(d)a.once(e,f),Bb(a,e,f,d);else{var t=function(f){t(f),a.off(e,t)};a.once(e,t)}}};function Nb(a){var e=a.url,f=a.method,d=void 0===f?"GET":f,t=a.type,b=a.timeout,r=void 0===b?1e4:b,c=a.body,n=a.xhrSetup,i=a.cache,o=void 0===i||i;return new Promise((function(a,f){var b=new window.XMLHttpRequest;if("GET"!==(d=d.toUpperCase())&&"POST"!==d)throw new Error("XHR ".concat(d," is not allowed"));if(t&&(b.responseType=t),r&&(b.timeout=r),b.onload=function(){200===b.status||206===b.status?a(b):f(b)},b.onerror=function(){f(b)},b.ontimeout=function(){f(b)},b.onabort=function(){f(b)},"GET"===d&&!o){var i=/\?/gi.test(e)?"&":"?";e+="".concat(i,"_=").concat((new Date).getTime())}if(b.open(d,"".concat(e),!0),n)try{n(b,e)}catch(s){console.error("xhr setup failure: ".concat((null==s?void 0:s.stack)||(null==s?void 0:s.message)))}switch(d){case"POST":"text"===t&&b.setRequestHeader("Content-type","application/x-www-form-urlencoded"),b.send(c);break;case"GET":b.send()}}))}var Fb=Ub.getBrowserVersion();function Gb(a){return Vb.apply(this,arguments)}function Vb(){return Vb=pa(Da().mark((function a(e){var f,d,t,b,r=arguments;return Da().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(f=r.length>1&&void 0!==r[1]?r[1]:{},a.prev=1,t=f.payload?JSON.stringify(f.payload):void 0,b=/^blob:/.test(e),"IE 11"===Fb){a.next=10;break}return a.next=7,Nb({url:e,type:f.type||"text",cache:b,body:t,method:f.method});case 7:d=a.sent,a.next=13;break;case 10:return a.next=12,new Promise((function(a,d){var b=new XMLHttpRequest;f.type&&(b.responseType=f.type),b.open(f.method||"get",e),b.send(t),b.onload=function(){200===b.status||206===b.status?a(b):d(b.status)}}));case 12:d=a.sent;case 13:a.next=18;break;case 15:a.prev=15,a.t0=a.catch(1),console.error("error",a.t0);case 18:return a.abrupt("return",d);case 19:case"end":return a.stop()}}),a,null,[[1,15]])}))),Vb.apply(this,arguments)}function qb(a,e){return zb.apply(this,arguments)}function zb(){return(zb=pa(Da().mark((function a(e,f){var d,t,b,r,c,n,i,o,s,u,l;return Da().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return d=e.config,t=e.isNativeMode,b=f.url,r="",a.next=5,Gb(b);case 5:if(!(c=a.sent)){a.next=28;break}if(a.prev=7,n=JSON.parse(c.responseText),"TOP"!==d.getKeyType){a.next=13;break}r=n.Result.SecretKey,a.next=23;break;case 13:if(!t){a.next=22;break}if(i=Va(n.data)){a.next=17;break}throw new Error("parse key data failed");case 17:o=i.encData,s=i.key,u=i.iv,l=Na(o,s,u),r=window.btoa(l),a.next=23;break;case 22:r=window.btoa(n.data);case 23:a.next=28;break;case 25:a.prev=25,a.t0=a.catch(7),r=Ub.isBase64(c.responseText)?c.responseText:window.btoa(c.responseText);case 28:return a.abrupt("return",r);case 29:case"end":return a.stop()}}),a,null,[[7,25]])})))).apply(this,arguments)}function Kb(a,e){return Hb.apply(this,arguments)}function Hb(){return(Hb=pa(Da().mark((function a(e,f){var d;return Da().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:d=void 0,a.t0=f.system,a.next=a.t0===jb.KDS?4:8;break;case 4:return a.next=6,qb(e,f);case 6:return d=a.sent,a.abrupt("break",9);case 8:console.error("wrong key system:",f.system);case 9:return a.abrupt("return",d);case 10:case"end":return a.stop()}}),a)})))).apply(this,arguments)}function $b(a,e){return Wb.apply(this,arguments)}function Wb(){return(Wb=pa(Da().mark((function a(e,f){var d,t,b,r,c,n,i,o,s;return Da().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return d=f.config,t={},a.next=4,Nb({url:e,xhrSetup:function(a){d.netAllowCredentials&&(a.withCredentials=!0)}});case 4:return b=a.sent,(r=b.responseText).match(/#EXT-X-KEY:(\w+=\w+)+/)&&(c=r.match(/,URI="([^"]+)"/),n=c?c[1]:"",null!=(i=Ub.parseUrl(n))&&i.ak&&("TOP"===d.getKeyType?(o=/^https?:/.test(d.playDomain)?d.playDomain:"//".concat((d.playDomain||"").replace(/^\/\//gi,"")),s=Ub.isBase64(d.keyToken)?window.atob(d.keyToken):d.keyToken,n="".concat(o,"?").concat(s,"&Source=jarvis&Ak=").concat(i.ak)):n="".concat(d.keyDomain||"","/kds/api/v3/keys?source=jarvis&ak=").concat(i.ak,"&token=").concat(d.keyToken||"")),t.keyUrl=n,t.responseText=r),a.abrupt("return",t);case 8:case"end":return a.stop()}}),a)})))).apply(this,arguments)}function Yb(){Promise.withResolvers||(Promise.withResolvers=function(){var a={};return a.promise=new Promise((function(e,f){a.resolve=e,a.reject=f})),a})}var Xb=function(){return _a((function a(){ya(this,a)}),null,[{key:"install",value:function(){if(window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame,window.cancelAnimationFrame=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.cancelRequestAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame,!window.requestAnimationFrame){var a=Date.now();window.requestAnimationFrame=function(e){var f=Date.now(),d=Math.max(16.7-(f-a),0),t=setTimeout(e,d);return a=f+d,t}}window.cancelAnimationFrame||(window.cancelAnimationFrame=function(a){clearTimeout(a)})}}])}(),Qb=function(){return _a((function a(){ya(this,a),this.fps=0,this.isStoped=!0,this.ticks=[],this.isSupport=!0,this.maxFps=0,this.step=this._step.bind(this),this.rafId=null}),[{key:"_step",value:function(a){var e=this.ticks;if(e.unshift(a),e.length>10){var f=e.pop();f&&(this.fps=Math.floor(1e4/(a-f)),this.updateFpsInfo())}this.isStoped||(this.rafId=window.requestAnimationFrame(this.step))}},{key:"updateFpsInfo",value:function(){this.fps>this.maxFps&&(this.maxFps=this.fps)}},{key:"start",value:function(){void 0!==window.requestAnimationFrame&&(this.isStoped=!1,this.rafId=window.requestAnimationFrame(this.step))}},{key:"stop",value:function(){window.cancelAnimationFrame(this.rafId),this.isStoped=!0}}],[{key:"install",value:function(){Xb.install()}}])}(),Jb=Zb&&!function(){var a="_localstorage_support_test";try{return localStorage.setItem(a,!0),localStorage.removeItem(a),!1}catch(e){return!0}}();function Zb(){try{return"undefined"!=typeof localStorage&&"setItem"in localStorage&&!!localStorage.setItem}catch(a){return!1}}var ar={length:Jb?localStorage.length:0,clear:function(a){try{for(var e=localStorage.length-1;e>=0;e--){var f=localStorage.key(e);0===f.indexOf(a)&&localStorage.removeItem(f)}}catch(Cr){}},getItem:function(a){try{return localStorage.getItem(a)}catch(Cr){return null}},key:function(a){try{return localStorage.key(a)}catch(Cr){return null}},setItem:function(a,e){try{localStorage.setItem(a,e)}catch(Cr){}},removeItem:function(a){try{localStorage.removeItem(a)}catch(Cr){}},isSupport:Jb},er=function(){return _a((function a(){var e,f;ya(this,a);var d=new Promise((function(a,d){e=a,f=d}));return d.resolve=e,d.reject=f,d}),[{key:"resolve",value:function(a){}},{key:"reject",value:function(a){}}])}();!function(a,e,f){function d(a,e){var f=parseInt(a.slice(e,e+2),16);return f>>>7==0?[1,f]:f>>>6==2?(f=(63&f)<<8,[2,f+=parseInt(a.slice(e+2,e+4),16)]):(f=(63&f)<<16,[3,f+=parseInt(a.slice(e+2,e+6),16)])}var t,b=0,r=[];for(t=0;t<4;++t)b+=(3&parseInt(a.slice(8+2*t,10+2*t),16))<<2*t;var c=parseInt(a.slice(16,24),16),n=2*parseInt(a.slice(32,40),16);for(t=40;t<n+40;t+=2)r.push(parseInt(a.slice(t,t+2),16));var i=n+40,o=parseInt(a.slice(i,i+4),16);for(i+=4,t=0;t<o;++t){var s=d(a,i);i+=2*s[0];for(var u=0;u<s[1];++u){var l=d(a,i);String.fromCharCode(b^l[1]),i+=2*l[0]}}e.p=null,function a(e,f,d,t,b){var c,n,i,o,s,u=-1,l=[],h=null,p=[f];for(n=Math.min(f.length,d),i=0;i<n;++i)p.push(f[i]);p.p=t;for(var v=[];;)try{switch(r[e++]){case 66:l[++u]=null;break;case 28:l[++u]=void 0;break;case 13:for(n=r[e++],i=r[e++],o=p;n>0;--n)o=o.p;l[++u]=o[i];break;case 0:for(n=l[u--],i=null;o=v.pop();)if(2===o[0]||3===o[0]){i=o;break}if(i)e=i[2],i[0]=0,v.push(i);else{if(!h)return n;e=h[1],b=h[2],p=h[3],v=h[4],l[++u]=n,h=h[0]}break;case 44:u-=c=r[e++],i=l.slice(u+1,u+c+1),n=l[u--],o=l[u--],n._u===a?(n=n._v,h=[h,e,b,p,v],e=n[0],null==o&&(o=function(){return this}()),b=o,(p=[i].concat(i)).length=Math.min(n[1],c)+1,p.p=n[2],v=[]):(s=n.apply(o,i),l[++u]=s);break;case 29:--u;break;default:throw new Error("ioe")}}catch(y){for(;(c=v.pop())&&!c[0];);if(!c){a:for(;h;){for(n=h[4];c=n.pop();)if(c[0])break a;h=h[0]}if(!h)throw y;e=h[1],b=h[2],p=h[3],v=h[4],h=h[0]}1===(n=c[0])?(e=c[2],c[0]=0,v.push(c),l[++u]=y):2===n?(e=c[2],c[0]=0,v.push(c)):(e=c[3],c[0]=2,v.push(c),l[++u]=y)}}(c,[],0,e,f)}("504B01019cde6b95000000009669dc9d00000009420d01002c001d1c000000",{get 0(){return Yb}},void 0);var fr=["module"],dr="danger_d_speed";var tr={stall_penalty:11,switch_penalty:4,interval:1e3,startInterval:1e3,decodeUnderflowBuffer:1,decodeUnderflowMode:1,decodeUnderflowCount:1},br=function(){return _a((function a(e,f,d,t){var b=this,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{logger:function(){},openLog:!1};ya(this,a),this._wasmPromise=new er,this._hasDeviceInfoChanged=!0,this.uuid=(new Date).getTime().toString(36).slice(4),this._defaultMaxBitrate=0,this._underflowBitrate=0,this._minBitrate=1/0,this.config=e,this.segment_duration=t||5e3,this.logger=function(){for(var a=arguments.length,e=new Array(a),f=0;f<a;f++)e[f]=arguments[f];r.logger.apply(r,["abr(".concat(b.uuid,")::")].concat(e))},this.openLog=r.openLog,this.autoBitrateOpts=Object.assign({},tr,e.autoBitrateOpts),this.stall_penalty=this.autoBitrateOpts.stall_penalty,this.switch_penalty=this.autoBitrateOpts.switch_penalty,this.interval=this.autoBitrateOpts.interval;var c=e.progressTimer||1e3,n=this.autoBitrateOpts.startInterval||c;this.initInterval=.8*n,this._preloadMethod=e.preloadmethod||0,this._videoWidth=0,this._videoHeight=0,this._maxDefinition=this.autoBitrateOpts.maxDefinition||null,this._underflowDefinition=this.autoBitrateOpts.underflowDefinition||null,this.updateBitrate(f),this.updateMediaInfos(d,!1)}),[{key:"_onLoadWasm",value:function(){var a=this,e=this.autoBitrateOpts.module,f=this.autoBitrateOpts;f.module;var d=Ia(f,fr),t=this.autoBitrateOpts.isClassic||!1;e&&(t?this.module=new e(Aa({promise:this._wasmPromise},d)):e(this.module={onRuntimeInitialized:function(){a._wasmPromise.resolve()}}));return this._wasmPromise}},{key:"updateMediaInfos",value:function(a){var e=this,f=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this._heightToDefinitionConfig=new Map,this._bitrateToDefinitionConfig=new Map,this._definitionToDefitionConfig=new Map,a?(a.dynamic_video_list.forEach((function(a){var f,d;null===(f=e._heightToDefinitionConfig)||void 0===f||f.set(a.height||a.vheight,a);var t,b=a.bandwidth||a.bitrate;(b<e._minBitrate&&(e._minBitrate=b),null===(d=e._bitrateToDefinitionConfig)||void 0===d||d.set(b,a),a.definition)&&(null===(t=e._definitionToDefitionConfig)||void 0===t||t.set(a.definition,a))})),this._maxDefinition&&(this._defaultMaxBitrate=this._getBitrate(this._maxDefinition)),this._underflowDefinition&&(this._underflowBitrate=this._getBitrate(this._underflowDefinition)),this.mediaInfos=a):f&&console.error("baseAbr mediaInfos null")}},{key:"_getBitrate",value:function(a){var e;return(null===(e=this._definitionToDefitionConfig)||void 0===e||null===(e=e.get(a))||void 0===e?void 0:e.bandwidth)||-1}},{key:"transformMediaInfo",value:function(){if(this.setDebugModel(this.openLog),this.mediaInfos){this.logger("mediaInfos",this.mediaInfos);try{for(var a,e=[],f=this.mediaInfos.dynamic_video_list,d=0;d<f.length;d++){var t=f[d];e.push({stream_id:"s".concat(d),bandwidth:t.bitrate||t.bandwidth,width:t.vwidth||t.width,height:t.vheight||t.height,codec:t.codecs||t.codec_type||"h264",frame_rate:Number(t.fps)||-1,segment_duration:this.segment_duration,definition:t.qualityType})}var b={v_adaptation:e},r=JSON.stringify(b);null===(a=this.module)||void 0===a||a.ccall("parseMPD","null",["string"],[r])}catch(Cr){}}else console.warn("mediaInfos is null")}},{key:"_getDefaultSpeed",value:function(a){var e=0,f=navigator.connection;if(f&&f.downlink)e=1024*f.downlink/8,this.logger("initSpeed connect",e);else try{e=parseFloat(ar.getItem(dr)||"")||0,this.logger("initSpeed connect",e)}catch(Cr){}return 0===e&&(e=a&&a.historyAvspeed||0,this.logger("initSpeed history",e)),e}},{key:"setDebugModel",value:function(a){var e,f;null===(e=this.module)||void 0===e||null===(f=e._setDebugModel)||void 0===f||f.call(e,a)}},{key:"updateBitrate",value:function(a){var e,f,d=this;(this.bitrate=a,a>0)&&(this.module?null===(e=(f=this.module).updateBitrate)||void 0===e||e.call(f,a):this.readyPromise().then((function(){var e,f;null===(e=d.module)||void 0===e||null===(f=e.updateBitrate)||void 0===f||f.call(e,a)})))}},{key:"getPreloadBitrate",value:function(){return null}},{key:"_updateDeviceInfo",value:function(a){try{if(this._hasDeviceInfoChanged){var e,f=window.devicePixelRatio||1;null===(e=this.module)||void 0===e||e._updateDeviceInfo(this._videoWidth||Number(this.config.width),this._videoHeight||Number(this.config.height),f,a||-1)}this._hasDeviceInfoChanged=!1}catch(Cr){}}},{key:"readyPromise",value:function(){return this._wasmPromise}}])}();br.SPPED_CACHE=dr;var rr=function(a){return a.ABR_CHANGE="ABR_CHANGE_A",a.ABR_UPDATE_SPEC="ABR_UPDATE_SPEC",a.START_ABR="START_ABR",a.UPDATE_AUTO_DESC="UPDATE_AUTO_DESC",a.ABR_START_PROGRESS="ABR_START_PROGRESS",a.MAX_BUFFER_CHANGE="MAX_BUFFER_CHANGE",a.NEXT_SEGMENT_PREDICT="NEXT_SEGMENT_PREDICT",a.ABR_STAT="ABR_STAT",a.ABR_DEFINITION_REAL_CHANGE="ABR_DEFINITION_REAL_CHANGE",a.ABR_LIMIT_BITRATE="ABR_LIMIT_BITRATE",a}(rr||{}),cr={PLAYBACK_BITRATE:"avg_play_bitrate",DOWNLOAD_BITRATE:"avg_download_bitrate",DOWNLOAD_NETWORK_SPEED:"avg_download_speed",PREDICT_NETWORK_SPEED:"avg_predict_speed",BUFFER_LENGTH:"avg_buffer_length",QOE:"avg_qoe"},nr=function(a){function e(a,f,d,t,b){var r,c,n,i,o,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{logger:function(){},openLog:!1};ya(this,e),(r=va(this,e,[f,d,t,b,s]))._bufferRange=new Map,r._sortedBufferRange=[],r._lastCheckResolutionStamp=0,r._currentDefinition=null,r._isSeeking=!1,r._waitingStartTime=0,r._stallCount=0,r._seekState=0,r._stallState=0,r._videoCurrentTime=0,r._hasStart=!1,r._isPaused=!1,r._hasAddFragment=!1,r._eventInfo={local_time_ms:0,internet_speed:0,buffer_length:0,last_bitrate:0,now_bitrate:0,play_speed:1},r._bitrateSet=[],r._generalInfo={},r._currentInAbr=!1,r._hasCalcTimelineLog=!1,r._abr_play_info={start_play_time_ms:0,is_hint:0,playback_info:{internet_speed_record:[],play_bitrate_record:[],buffer_length_record:[],play_speed_record:[],qoe_record:[],qoe_a_record:[],qoe_b_record:[],qoe_c_record:[]}},r._tickCount=0,r._fps=30,r.startTime=performance.now(),r._prevDefinitionItem=null,r._currentItem=null,r._switchCount=0,r._switchBitrate=0,r._avgStatItems={},r._qoeArgs=[0,0,0,0],r._abrUsed=-1,r._abrAlwaysOn=1,r._preloadInfo=null,r._hasLogStartInfo=!1,r._hasExecuteAbrAlgo=!1,r._lastExecuteTimeInMs=0,r._isSegmentDrive=!1,r._prevCurrentTime=-1,r._abrChangeTimeMap={},r._underFlowDecodeCount=0,r._onSegmentPredict=function(a){if(r.isCurrentInAbr&&r._isSegmentDrive){var e=Math.floor(r.player.downloadSpeed);a.isInitSegment||"video"!==a.mediaType||r._loopAbr(e,a.start,a.fix?a.end:0,a)}},r._onPlay=function(){r._hasStart=!0,r.logger("onplay")},r._onSeeking=function(){var a,e;r._isSeeking=!0,r.player.currentTime<r._videoCurrentTime?r._seekState=-1:r._seekState=1,null===(a=r.module)||void 0===a||null===(e=a._updateSeekInfo)||void 0===e||e.call(a,r._seekState),r.logger("seekState",r._seekState)},r._onSeekEnd=function(){r._isSeeking=!1,r.checkRestart()},r._onWaiting=function(){if(!(r._isSeeking||r._waitingStartTime>0)){for(var a=r.player.video.buffered,e=r.player.currentTime,f=!0,d=0;d<a.length;d++){var t=a.start(d),b=a.end(d);if(t<=e&&e<b-(r.autoBitrateOpts.decodeUnderflowBuffer||1)&&r.player.readyState<HTMLVideoElement.HAVE_ENOUGH_DATA){r._underFlowDecodeCount++,f=!1;break}}var c=r._underFlowDecodeCount>=(r.autoBitrateOpts.decodeUnderflowCount||1),n=r._defaultMaxBitrate>0||r._underflowBitrate>0,i=1===r.autoBitrateOpts.decodeUnderflowMode&&r._isSegmentDrive;if(c&&(n||i)){var o=!0;if(i){var s=r._maxBitrate;r._maxBitrate=r._minBitrate,o=r._maxBitrate!==s}r.player.emit("ABR_LIMIT_BITRATE",{removed:o}),r._underflowBitrate>0&&(r._maxBitrate=r._underflowBitrate)}r._waitingStartTime=(new Date).getTime(),r._stallId=setTimeout((function(){var a,e;clearTimeout(r._stallId),r._stallCount++,r._stallState=1,null===(a=r.module)||void 0===a||null===(e=a.updateWaitingState)||void 0===e||e.call(a,f)}),200)}},r._onPlaying=function(){r._waitingStartTime=0,r._stallState=0,clearTimeout(r._stallId),r.checkRestart()},r._onTimeUpdate=function(a){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(r._sortedBufferRange&&0!==r._sortedBufferRange.length&&r._currentInAbr&&r.player){r._videoCurrentTime=r.player.currentTime;var f=Date.now();if(!(f-r._lastCheckResolutionStamp<1e3&&0!==r._lastCheckResolutionStamp)||e){r._lastCheckResolutionStamp=f;for(var d=r.player.currentTime,t=0,b=r._sortedBufferRange.length-1,c=null;t<=b;){var n=Math.floor(t+(b-t)/2),i=r._sortedBufferRange[n];if(d<i.start)b=n-1;else{if(!(d>=i.end)){c=i;break}t=n+1}}if(c){var o,s=null===(o=r._bitrateToDefinitionConfig)||void 0===o?void 0:o.get(c.bandwidth),u=null==s?void 0:s.definition;if(r._currentDefinition===u&&!e||!u)return void(u||r.logger("error definition, mpd配置与接口配置不一致"));r._currentDefinition=u,r._prevDefinitionItem=r._currentItem,r._currentFps=s.fps,r._currentItem=s,r._emitAutoDescChange(u,!1,r._currentFps,s),r._prevDefinitionItem&&r._currentDefinition&&r._prevDefinitionItem.definition!==r._currentDefinition.definition&&r._emitDefinitionRealChange(c)}}}},r._onCanPlay=function(){r._currentInAbr&&r._currentDefinition&&(r._updateId=setTimeout((function(){clearTimeout(r._updateId),r._emitAutoDescChange(r._currentDefinition,!1,r._currentFps,r._currentItem)}),0))},r._onBufferRangeUpdate=function(a){if(void 0!==a.start){null===r._currentItem&&r._onTimeUpdate(null,!0);var e=a.start;r._hasAddFragment=!0,r._bufferRange.set(e,a);var f=La(r._bufferRange.values());r._sortedBufferRange=f.sort((function(a,e){return a.start-e.start})),r.avgStat(cr.DOWNLOAD_BITRATE,a.bandwidth)}},r._onReplay=function(){r.checkRestart()},r._onEnded=function(){r.stop()},r._onError=function(){r.stop()},r.start=function(){if(r.logger("start"),r._isPaused=!1,!r._hasCalcTimelineLog){var a=1===Math.floor(100*Math.random());r._abr_play_info.is_hint=a?1:0}r._hasCalcTimelineLog=!0,r._loop()},r.stop=function(){!0===(arguments.length>0&&void 0!==arguments[0]&&arguments[0])&&(r._abrAlwaysOn=-1),clearTimeout(r.timerId),r._isPaused=!0,r.logger("stop")},r.logger("constructor",f,d,t,b,r.bitrate),r.player=a,r.isOpenAutoDefi=!!r.autoBitrateOpts.isOpenAutoDefi,r._isSegmentDrive=1===r.autoBitrateOpts.abrDriveMode,r.onPlayRateChange=r._onPlayrateChange.bind(r),r._onWinSizeChange=(c=r.onWinElemSizeChange.bind(r),n=1e3,i=!1,function(){for(var a=this,e=arguments.length,f=new Array(e),d=0;d<e;d++)f[d]=arguments[d];var t=f,b=i&&!o;clearTimeout(o),o=setTimeout((function(){o=null,i||c.apply(a,t)}),n),b&&c.apply(a,t)}),r._maxDefinition=r.autoBitrateOpts.maxDefinition||null,r._maxBitrate=-1,r.listeners=[{evt:"MAX_BUFFER_CHANGE",handler:r._onMaxBufferChange.bind(r)},{evt:"playbackrateChange",handler:r.onPlayRateChange},{evt:"replay",handler:r._onReplay},{evt:"ended",handler:r._onEnded},{evt:"error",handler:r._onError},{evt:"timeupdate",handler:r._onTimeUpdate},{evt:"addVideoBufferEnd",handler:r._onBufferRangeUpdate},{evt:"canplay",handler:r._onCanPlay},{evt:"play",handler:r._onPlay},{evt:"seeking",handler:r._onSeeking},{evt:"seeked",handler:r._onSeekEnd},{evt:"waiting",handler:r._onWaiting},{evt:"playing",handler:r._onPlaying},{evt:"video_resize",handler:r._onWinSizeChange},{evt:"NEXT_SEGMENT_PREDICT",handler:r._onSegmentPredict}],r.listeners.forEach((function(a){var e=a.evt,f=a.handler;r.player.on(e,f)})),r._abrMethod=r.autoBitrateOpts.method||0,r._loopInterval=r.initInterval,Qb.install(),r._maxCacheTimeVideo=r.config.preloadTime||5,r._maxCacheTimeAudio=r._maxCacheTimeVideo;for(var u=Object.keys(cr),l=0;l<u.length;l++){var h=u[l],p=cr[h];r._avgStatItems[p]=new ir}return r}return wa(e,a),_a(e,[{key:"init",value:function(a){return this._mediaList=a,this.isOpenAutoDefi?this._onLoadWasm():this._wasmPromise.resolve(),this._wasmPromise}},{key:"execute",value:function(){return this.listenSize(),this.initFps(),this.onWinElemSizeChange(),this._execDecision()}},{key:"initFps",value:function(){this.fpsDetection=new Qb,this.fpsDetection.start(),this._fps=this.fpsDetection.fps,this._hasDeviceInfoChanged=!0}},{key:"listenSize",value:function(){window.removeEventListener("resize",this._onWinSizeChange),window.addEventListener("resize",this._onWinSizeChange)}},{key:"onWinElemSizeChange",value:function(){var a,e,f=(null===(a=this.player)||void 0===a?void 0:a.media)||(null===(e=this.player)||void 0===e?void 0:e.video);if(f){var d=f.getBoundingClientRect();this._videoWidth=Math.floor(d.width),this._videoHeight=Math.floor(d.height),this._hasDeviceInfoChanged=!0}}},{key:"execTimeUpdate",value:function(){var a=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._onTimeUpdate(null,a)}},{key:"_onMaxBufferChange",value:function(a){var e=a.videoCacheTime,f=a.audioCacheTime;this._maxCacheTimeAudio=f,this._maxCacheTimeVideo=e}},{key:"_emitAutoDescChange",value:function(a,e,f,d){var t;this.logger("[ABR],emitAutoDescChange, definition, ",a,",item,",d,",pre_item,",this._prevDefinitionItem),null===(t=this.player)||void 0===t||t.emit("UPDATE_AUTO_DESC",{definition:a,reset:e,fps:f,item:d,pre_item:this._prevDefinitionItem})}},{key:"_emitDefinitionRealChange",value:function(a){var e,f=0,d=a.start;this._abrChangeTimeMap[d]&&(this._abrChangeTimeMap[d]=0,delete this._abrChangeTimeMap[d],f=1),null===(e=this.player)||void 0===e||e.emit("ABR_DEFINITION_REAL_CHANGE",{orgDefinition:this._prevDefinitionItem.definition,orgBitrate:this._prevDefinitionItem.bitrate||this._prevDefinitionItem.bandwidth,currentDefinition:this._currentItem.definition,currentBitrate:this._currentItem.bitrate||this._currentItem.bandwidth,abrChange:f})}},{key:"_onPlayrateChange",value:function(){this.module&&this.updateBufferInfo()}},{key:"_execDecision",value:function(){if(!this.isOpenAutoDefi)return 0;var a=0;try{this.logger("exec decision"),this.updateSwitchInfo(),this.transformMediaInfo(),this.updateDeviceInfo();var e=!!this.autoBitrateOpts.isPlayAutoDefi;if(this.isOpenAutoDefi&&e){this._abrUsed=1;var f=this._getDefaultSpeed(this.player);this._isSegmentDrive||(a=this._loopAbr(f)),this.start(),this._changeLoopInterval(),this.logger("time start progress",(new Date).getTime()),this.logger("time costTime",performance.now()-this.startTime)}}catch(Cr){this.logger("decision error",Cr),this.logger("time costTime err",performance.now()-this.startTime)}return a}},{key:"_changeLoopInterval",value:function(){var a=this;this.startTimer&&(clearTimeout(this.startTimer),this.startTimer=null),this.startTimer=setTimeout((function(){a._loopInterval=a.interval,a.startTimer&&clearTimeout(a.startTimer),a.logger("interval change")}),5e3)}},{key:"_loop",value:function(){var a=this;this._isPaused||this._isSegmentDrive||(clearTimeout(this.timerId),this.timerId=setTimeout((function(){var e,f=a.player,d=a.config;if(a._hasStart&&null!==(e=d.autoBitrateOpts)&&void 0!==e&&e.stillRunWhenPaused||!f.paused||!f.config.autoplay&&!a._hasStart){var t=a._hasAddFragment?void 0:a._getDefaultSpeed(f);a._loopAbr(t)}a._loop()}),this._loopInterval))}},{key:"checkRestart",value:function(){var a;null!==(a=this.config.autoBitrateOpts)&&void 0!==a&&a.autoRestartAbr&&this._currentInAbr&&this._isPaused&&this.start()}},{key:"updateDeviceInfo",value:function(){try{if(this.fpsDetection){var a=this.fpsDetection.fps;a!==this._fps&&(this._fps=a,this._hasDeviceInfoChanged=!0)}this._updateDeviceInfo(this._fps)}catch(Cr){}}},{key:"updateBufferInfo",value:function(a){var e,f,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,b=this.player.playbackRate,r=this.bufferLength;t>0&&(this.player&&(r=t-this.player.video.currentTime));var c=a||Math.floor(this.player.downloadSpeed);this._tickCount<5&&0===c&&(c=this._getDefaultSpeed(this.player),this.logger("initSpeed fix"));var n=-1===this._maxBitrate?this._defaultMaxBitrate:this._maxBitrate;return this.logger("downloadSpeed:",c,"buffer:",r,"maxCacheTimeAudio:",this._maxCacheTimeAudio,"maxCacheVideoTime",this._maxCacheTimeVideo,"seekState",this._seekState,"stallState",this._stallState,"segmentBufferStart",d,"segmentBufferEnd",t),null===(e=this.module)||void 0===e||e._updateBufferInfo(b,this._maxCacheTimeAudio,this._maxCacheTimeVideo,r,this._isSegmentDrive?t:r,c,this._seekState,null===(f=this.player)||void 0===f?void 0:f.currentTime,this._stallState,n),this._seekState=0,this._eventInfo={internet_speed:c,buffer_length:r,last_bitrate:this.bitrate,play_speed:b},this.logger("playRate:",b,"buff:",r,"downloadSpeed:",c),{buffer:r,downloadSpeed:c}}},{key:"updateSwitchInfo",value:function(){var a,e,f=(new Date).getTime();this._openTimeMs=f,this._abr_play_info.start_play_time_ms=f;var d,t,b=(null===(a=this.player)||void 0===a?void 0:a.config.preloadTime)||50,r=(t=(d=f).toString(16)).length<=8?{high:0,low:d}:{high:parseInt(t.substr(0,t.length-8),16),low:parseInt(t.substr(t.length-8),16)},c=this.autoBitrateOpts.noStallCheckTime||5,n=this.openLog;this.logger("openTime:",f,"this.logger",n),null===(e=this.module)||void 0===e||e._updateSwitchInfo(r.low,r.high,c,n,this.stall_penalty,this.switch_penalty);var i=this._mediaList.video,o=i.map((function(a){var e=a.bandwidth,f=a.bitrate;return e||f}));this._bitrateSet=o.map((function(a,e){return{bitrate:a,codecs:i[e].codecs||i[e].codec_type||""}})),this._generalInfo={max_cache_time:b,bitrate_set:this._bitrateSet,segment_duration:this.segment_duration,preload_info:{},startup_info:{}}}},{key:"updatePreloadCacheInfo",value:function(a){try{this._preloadInfo=a,this.logger("update preloadInfo",a),a&&a.item_num!==a.items.length&&(this.logger("preloadInfo invalid"),this._preloadInfo=null)}catch(e){this.logger("updatePreloadCacheInfo",e),this._preloadInfo=null}}},{key:"updatePreloadLogInfo",value:function(a){this._generalInfo.preload_info=a||{}}},{key:"_loopAbr",value:function(a){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this._tickCount++;var t=-1,b=[];if(!this.module||!this.player)return this.bitrate;try{var r,c=(new Date).getTime(),n=this.player;this.updateDeviceInfo();var i=this.updateBufferInfo(a,e,f),o=i.downloadSpeed,s=i.buffer;if(this.module.updateDropFrame&&n.video.getVideoPlaybackQuality){var u,l=n.video.getVideoPlaybackQuality(),h=l.droppedVideoFrames/l.totalVideoFrames;null===(u=this.module)||void 0===u||u.updateDropFrame(h)}t=this.module._getPredictedBitrate(this.bitrate,this._abrMethod);for(var p=0;p<7;p++)b.push(this.module.HEAP32[t/Int32Array.BYTES_PER_ELEMENT+p]);var v=b[0],y=1===b[1];this._eventInfo.now_bitrate=v,this._eventInfo.local_time_ms=(new Date).getTime();var m=0;if(v!==this.bitrate&&0!==v||this.autoBitrateOpts.reportVerboseAbrLog){var g=this.player.currentTime;if(this.module.getStat){var _=this.module.getStat();n.emit("ABR_STAT",Aa(Aa({v_time:g,diff_current_position:-1===this._prevCurrentTime?0:g-this._prevCurrentTime,net_speed:8*o,costTime:(new Date).getTime()-c,download_time:null==d?void 0:d.costTime},_),{},{gop_size:null==d?void 0:d.gopSize,audio_buffer:null==d?void 0:d.audioBuffer})),this._abrChangeTimeMap[_.download_position]=1}this._prevCurrentTime=g}if(v!==this.bitrate&&0!==v){var E=this.bitrate;m=Math.abs(E-v);for(var k=[],S=(n.media||n.video).buffered,w=0;w<S.length;w++)k.push({start:S.start(w),end:S.end(w)});var x=this._videoWidth||Number(this.config.width),T=this._videoHeight||Number(this.config.height),A=(new Date).getTime(),I={speed:"".concat(o," KB/s"),buffer_length:"".concat(s," s"),video_pos:n.currentTime,all_buffers:k,seek_state:this._seekState,stall_state:this._stallState,screen_width:x,screen_height:T,dpr:window&&window.devicePixelRatio,playbackRate:n.playbackRate,bitrateSet:this._bitrateSet,abrMethod:this._abrMethod,delta:this._hasExecuteAbrAlgo?A-this._lastExecuteTimeInMs:0};this._lastExecuteTimeInMs=A,this._hasExecuteAbrAlgo=!0,this.logger("abr predicate: ".concat(v,", prevBitrate: ").concat(E,","),"willStall: ".concat(y,", switchBitrate: ").concat(m)),this.updateBitrate(v),n.emit("ABR_CHANGE_A",E,v,y,JSON.stringify(I))}this._hasLogStartInfo||(this._hasLogStartInfo=!0,this._generalInfo.startup_info={predict_bitrate:v,download_speed:o,screen_width:this._videoWidth||Number(this.config.width),screen_height:this._videoHeight||Number(this.config.height),device_pixel_ratio:window&&window.devicePixelRatio,screen_fps:this._fps,startup_method:this._abrMethod}),null===(r=this.player)||void 0===r||r.emit("ABR_LOOP"),this.onAbrLoop(o,b[2],m,b.slice(3))}catch(Cr){this.logger("abr error",Cr),console.error("loopAbr error",Cr)}finally{t>-1&&this.module._free(t)}return this.bitrate}},{key:"destroy",value:function(){var a,e=this;this.stop(),this.listeners.forEach((function(a){var f,d=a.evt,t=a.handler;null===(f=e.player)||void 0===f||f.off(d,t)})),this._maxBitrate=-1,this.player=null,this._heightToDefinitionConfig=null,this._bitrateToDefinitionConfig=null,this._bitrateToDefinitionConfig=null,this._bufferRange.clear(),this._sortedBufferRange=[],this.module=null,clearTimeout(this._stallId),clearTimeout(this._updateId),this.startTimer&&clearTimeout(this.startTimer),window.removeEventListener("resize",this._onWinSizeChange),null===(a=this.fpsDetection)||void 0===a||a.stop()}},{key:"eventInfo",get:function(){return this._eventInfo}},{key:"generalInfo",get:function(){return this._generalInfo}},{key:"bufferLength",get:function(){var a,e,f=(null===(a=this.player)||void 0===a?void 0:a.getBufferedRange())||[],d=((null===(e=this.player)||void 0===e?void 0:e.video)||{currentTime:0}).currentTime,t=f[1]-Math.max(f[0],d),b=Math.max(0,t).toFixed(2);return parseFloat(b)}},{key:"downloadSpeed",get:function(){return Math.floor(this.player.downloadSpeed)}},{key:"nowBitrate",get:function(){return this.bitrate}},{key:"openTimeMs",get:function(){return this._openTimeMs}},{key:"isCurrentInAbr",get:function(){return this._currentInAbr},set:function(a){this._currentInAbr=a}},{key:"onAbrLoop",value:function(a){var e,f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,d=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];if(this._qoeArgs=t,this._currentItem&&this.avgStat(cr.PLAYBACK_BITRATE,this._currentItem.bitrate),this.avgStat(cr.DOWNLOAD_NETWORK_SPEED,1e3*a*8),this.avgStat(cr.PREDICT_NETWORK_SPEED,f),this.avgStat(cr.BUFFER_LENGTH,this.bufferLength),this.avgStat(cr.QOE,this.getQoeRelValue(0)),d>0&&(this._switchCount++,this._switchBitrate+=d),this._abr_play_info.is_hint){var b=((new Date).getTime()-this.openTimeMs)/1e3;b=parseFloat(b.toFixed(2)),this._abr_play_info.playback_info.internet_speed_record.push([b,this.downloadSpeed]),this._abr_play_info.playback_info.play_bitrate_record.push([b,this.nowBitrate]),this._abr_play_info.playback_info.buffer_length_record.push([b,this.bufferLength]),this._abr_play_info.playback_info.play_speed_record.push([b,(null===(e=this.player)||void 0===e?void 0:e.playbackRate)||-1]),this._abr_play_info.playback_info.qoe_record.push([b,this.getQoeRelValue(0)]),this._abr_play_info.playback_info.qoe_a_record.push([b,this.getQoeRelValue(1)]),this._abr_play_info.playback_info.qoe_b_record.push([b,this.getQoeRelValue(2)]),this._abr_play_info.playback_info.qoe_c_record.push([b,this.getQoeRelValue(3)])}}},{key:"getQoeRelValue",value:function(a){return this._qoeArgs[a]/100}},{key:"avgStat",value:function(a,e){var f=this._avgStatItems[a];f&&f.add(e)}},{key:"getAbrPlayInfo",value:function(){return this._abr_play_info}},{key:"updateAbrMethod",value:function(a){this._abrMethod=a}},{key:"getAbrMethod",value:function(){return this._abrMethod}},{key:"updateSegmentDuration",value:function(a){var e;this.segment_duration=a,null!==(e=this.module)&&void 0!==e&&e.updateSegmentDuration&&this.module.updateSegmentDuration(a)}},{key:"getAbrVVStats",value:function(){for(var a={},e=Object.keys(cr),f=0;f<e.length;f++){var d=e[f],t=cr[d],b=this._avgStatItems[t];a[t]=b.avg()}return a.switch_counts=this._switchCount,a.avg_switch_bitrate=0===this._switchCount?0:this._switchBitrate/this._switchCount,a.abr_qoe=this.getQoeRelValue(0),a.abr_qoe_a=this.getQoeRelValue(1),a.abr_qoe_b=this.getQoeRelValue(2),a.abr_qoe_c=this.getQoeRelValue(3),a.abr_method=this._abrMethod,a.abr_used=this._abrUsed,a.abr_always_on=this._abrAlwaysOn,this.logger("abrVVStats",a),a}}])}(br),ir=function(){return _a((function a(){ya(this,a),this.total=0,this.count=0}),[{key:"add",value:function(a){this.total+=a,this.count++}},{key:"avg",value:function(){if(0===this.count)return 0;var a=this.total/this.count;return Math.floor(a)}}])}();!function(a,e){function f(a,e){var f=parseInt(a.slice(e,e+2),16);return f>>>7==0?[1,f]:f>>>6==2?(f=(63&f)<<8,[2,f+=parseInt(a.slice(e+2,e+4),16)]):(f=(63&f)<<16,[3,f+=parseInt(a.slice(e+2,e+6),16)])}var d,t=0,b=[];for(d=0;d<4;++d)t+=(3&parseInt(a.slice(8+2*d,10+2*d),16))<<2*d;var r=parseInt(a.slice(16,24),16),c=2*parseInt(a.slice(32,40),16);for(d=40;d<c+40;d+=2)b.push(parseInt(a.slice(d,d+2),16));var n=c+40,i=parseInt(a.slice(n,n+4),16);for(n+=4,d=0;d<i;++d){var o=f(a,n);n+=2*o[0];for(var s=0;s<o[1];++s){var u=f(a,n);String.fromCharCode(t^u[1]),n+=2*u[0]}}e.p=null,function(a,e,f,d){var t,r,c,n,i=-1,o=[],s=null,u=[e];for(r=Math.min(e.length,0),c=0;c<r;++c)u.push(e[c]);u.p=d;for(var l=[];;)try{switch(b[a++]){case 28:o[++i]=void 0;break;case 0:for(r=o[i--],c=null;n=l.pop();)if(2===n[0]||3===n[0]){c=n;break}if(c)a=c[2],c[0]=0,l.push(c);else{if(!s)return r;a=s[1],s[2],u=s[3],l=s[4],o[++i]=r,s=s[0]}break;default:throw new Error("ioe")}}catch(h){for(;(t=l.pop())&&!t[0];);if(!t){a:for(;s;){for(r=s[4];t=r.pop();)if(t[0])break a;s=s[0]}if(!s)throw h;a=s[1],s[2],u=s[3],l=s[4],s=s[0]}1===(r=t[0])?(a=t[2],t[0]=0,l.push(t),o[++i]=h):2===r?(a=t[2],t[0]=0,l.push(t)):(a=t[3],t[0]=2,l.push(t),o[++i]=h)}}(r,[],0,e)}("504B01019cde6b95000000009669dc9d000000021c000000",{});var or=function(){try{return"undefined"!=typeof localStorage&&"setItem"in window.localStorage&&!!window.localStorage.setItem}catch(a){return!1}}()&&!function(){var a="_localstorage_support_test";try{return window.localStorage.setItem(a,"true"),window.localStorage.removeItem(a),!1}catch(e){return!0}}(),sr=function(){if(or)try{return!!window.localStorage.getItem("playerlog")}catch(a){return!1}return!1}();!function(){if(or)try{return!!window.localStorage.getItem("playertestlog")}catch(a){return!1}}();var ur={1:"debug",2:"log",3:"warn",4:"error"};function lr(a,e,f){for(var d=ur[e],t=arguments.length,b=new Array(t>3?t-3:0),r=3;r<t;r++)b[r-3]=arguments[r];if(d&&a&&a[d])a[d].apply(a,[f].concat(b));else if(sr&&console.log){var c;(c=console).log.apply(c,["[logger]",f].concat(b))}}function hr(a,e,f){for(var d=arguments.length,t=new Array(d>3?d-3:0),b=3;b<d;b++)t[b-3]=arguments[b];if(1===arguments.length)lr(console,2,a);else lr.apply(void 0,[a,2,f||""].concat(t))}function pr(a){return"auto"===a||"自动"===a}var vr=function(){return _a((function a(e,f){var d=this;ya(this,a),this._startPlay=!1,this.bitrateMap={},this.defIdMap={},this.canplayHandler=function(){d._startPlay=!0},this.updateABRDownSpeed=function(a){a.eventName===zt.SPEED&&(d._abrInstance.updateBufferInfo(),d._abrInstance.getPreloadBitrate())},this._onAbrChange=function(a,e,f,t){var b=d._plugin,r=b.player,c=b.core,n=d.bitrateMap[a],i=d.bitrateMap[e],o=null==n?void 0:n.definition,s=i&&i.definition?i.definition:o,u=r.getBufferedRange(),l=Array.isArray(u)?u[1]:r.currentTime;null===(null==c?void 0:c.abrSwitchPoint)||o===s||!d._startPlay||r.duration>0&&r.duration-l<2?d.abrInstance.bitrate!==a&&d.abrInstance.updateBitrate(a):(d._abrSwitchHandler(i),r.emit("ABR_CHANGE",{prev:o,cur:s,prevName:n.definitionName,curName:i.definitionName,abrInfo:t}))},this._onAutoDescChange=function(a){var e=a.definition,f=a.reset,t=a.fps,b=a.item;d.updateAutoDefiDesc(e,f,t,b)};var t=e.player;this._plugin=e,this._abrSwitchHandler=f;var b=e.config.autoBitrateOpts||{};this.isPlayAutoDef=!!b.isPlayAutoDefi,this.isOpenAutoDef=!!b.isOpenAutoDefi,this.isCurrentAutoDef=this.isOpenAutoDef&&this.isPlayAutoDef,t.once("playing",this.canplayHandler)}),[{key:"abrInstance",get:function(){return this._abrInstance}},{key:"bitrate",get:function(){return this._abrInstance.bitrate},set:function(a){this._abrInstance.updateBitrate(a)}},{key:"init",value:(a=pa(Da().mark((function a(e){var f,d,t,b,r,c=this;return Da().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(this.isOpenAutoDef){a.next=2;break}return a.abrupt("return",{type:"FIXED"});case 2:return f=this._plugin,d=f.player,t=f.config,b=t.autoBitrateOpts||{},d.on(rr.UPDATE_AUTO_DESC,this._onAutoDescChange),d.on(rr.ABR_CHANGE,this._onAbrChange),this.bitrateMap={},this.defIdMap={},r=e.video.map((function(a){return{bandwidth:a.bitrate,height:a.height,width:a.width,codecs:a.codecs,definition:a.definition}})),"boolean"!=typeof b.autoRestartAbr&&(b.autoRestartAbr=!0),"boolean"!=typeof b.stillRunWhenPaused&&(b.stillRunWhenPaused=!0),this._abrInstance=new nr(d,t,0,{dynamic_video_list:La(r)},5e3,{logger:function(a){for(var e=arguments.length,f=new Array(e>1?e-1:0),d=1;d<e;d++)f[d-1]=arguments[d];hr.apply(void 0,[c._plugin.logger,1,a].concat(f))},openLog:sr}),a.next=14,this._abrInstance.init(e);case 14:this._abrInstance.isCurrentInAbr=this.isCurrentAutoDef;case 15:case"end":return a.stop()}}),a,this)}))),function(e){return a.apply(this,arguments)})},{key:"execute",value:function(){var a=this._abrInstance.execute();return{bitrate:a,type:-1===a?"FIXED":"AUTO"}}},{key:"enable",value:function(){this._abrInstance.start(),this.isCurrentAutoDef=!0,this._abrInstance.isCurrentInAbr=!0,this._abrInstance.execTimeUpdate(!0)}},{key:"disable",value:function(){this._abrInstance&&(this.updateAutoDefiDesc("",!0),this.isCurrentAutoDef=!1,this._abrInstance.isCurrentInAbr=!1,this._abrInstance.stop(!0))}},{key:"isCurrentInAbr",value:function(){var a;return(null===(a=this._abrInstance)||void 0===a?void 0:a.isCurrentInAbr)||!1}},{key:"updateAutoDefiDesc",value:function(a){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0,t=this._plugin,b=t.player,r=(t.config.autoBitrateOpts||{}).autoDefiText||"auto";this.curDefinition={definition:"自动 ".concat(a),item:d},b.emit("ABR_AUTO_DESC_CHANGE",r,e?void 0:a,f,d)}},{key:"updateAbrCacheData",value:function(){var a,e=this,f=this._plugin,d=f.player,t=f.config,b=f.playerConfig,r=t.autoBitrateOpts||{},c=(null===(a=b.definition)||void 0===a?void 0:a.list)||[],n=!1;if(c.forEach((function(a){var f=e.isAutoDefValue(a.definition);f&&(n=!0),a.bitrate&&(f||e.bitrateMap[a.bitrate]||(e.bitrateMap[a.bitrate]={url:a.url,definition:a.definition,definitionName:a.text},e.defIdMap[a.definition]={bitrate:a.bitrate,definition:a.definition}))})),this.isOpenAutoDef&&!n&&b.definition&&d.curDefinition){var i,o=r.autoDefiText||"auto",s={definition:"auto",bitrate:d.curDefinition.bitrate,text:o,url:"__auto__",selected:this.isPlayAutoDef,name:"自动",vwidth:d.curDefinition.vwidth,vheight:d.curDefinition.vheight};null===(i=b.definition)||void 0===i||i.list.push(s)}}},{key:"isAutoDefValue",value:function(a){return pr(a)}},{key:"destroy",value:function(){var a=this._plugin.player;a.off(rr.ABR_CHANGE,this._onAbrChange),a.off("playing",this.canplayHandler),a.off("core_event",this.updateABRDownSpeed),this._abrInstance&&(a.off(rr.UPDATE_AUTO_DESC,this._onAutoDescChange),this._abrInstance.destroy()),this.defIdMap={},this.bitrateMap={}}}]);var a}();function yr(a){a.root&&ua.Util.addClass(a.root,"xgplayer-is-enter")}function mr(a){a.root&&ua.Util.removeClass(a.root,"xgplayer-is-enter")}function gr(a,e,f){if(a&&e&&f){var d=Object.getOwnPropertyDescriptor(a,e);null!=d&&d.configurable?delete a[e]:d&&!d.writable||(a[e]=f)}}var _r=function(a){var e={};function f(d){if(e[d])return e[d].exports;var t=e[d]={i:d,l:!1,exports:{}};return a[d].call(t.exports,t,t.exports,f),t.l=!0,t.exports}return f.m=a,f.c=e,f.d=function(a,e,d){f.o(a,e)||Object.defineProperty(a,e,{enumerable:!0,get:d})},f.r=function(a){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(a,"__esModule",{value:!0})},f.t=function(a,e){if(1&e&&(a=f(a)),8&e)return a;if(4&e&&"object"==typeof a&&a&&a.__esModule)return a;var d=Object.create(null);if(f.r(d),Object.defineProperty(d,"default",{enumerable:!0,value:a}),2&e&&"string"!=typeof a)for(var t in a)f.d(d,t,function(e){return a[e]}.bind(null,t));return d},f.n=function(a){var e=a&&a.__esModule?function(){return a.default}:function(){return a};return f.d(e,"a",e),e},f.o=function(a,e){return Object.prototype.hasOwnProperty.call(a,e)},f.p="",f(f.s=22)}([function(a,e,f){var d=a.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=d)},function(a,e,f){var d=f(12)("wks"),t=f(13),b=f(0).Symbol,r="function"==typeof b;(a.exports=function(a){return d[a]||(d[a]=r&&b[a]||(r?b:t)("Symbol."+a))}).store=d},function(a,e,f){var d=a.exports={version:"2.6.12"};"number"==typeof __e&&(__e=d)},function(a,e,f){var d=f(4);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,e,f){var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};a.exports=function(a){return"object"===(void 0===a?"undefined":d(a))?null!==a:"function"==typeof a}},function(a,e,f){var d=f(6);a.exports=function(a,e,f){if(d(a),void 0===e)return a;switch(f){case 1:return function(f){return a.call(e,f)};case 2:return function(f,d){return a.call(e,f,d)};case 3:return function(f,d,t){return a.call(e,f,d,t)}}return function(){return a.apply(e,arguments)}}},function(a,e,f){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,e,f){a.exports=!f(15)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(a,e,f){var d={}.toString;a.exports=function(a){return d.call(a).slice(8,-1)}},function(a,e,f){var d=f(3),t=f(26),b=f(27),r=Object.defineProperty;e.f=f(7)?Object.defineProperty:function(a,e,f){if(d(a),e=b(e,!0),d(f),t)try{return r(a,e,f)}catch(c){}if("get"in f||"set"in f)throw TypeError("Accessors not supported!");return"value"in f&&(a[e]=f.value),a}},function(a,e,f){a.exports=!1},function(a,e,f){var d=f(8),t=f(1)("toStringTag"),b="Arguments"==d(function(){return arguments}());a.exports=function(a){var e,f,r;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(f=function(a,e){try{return a[e]}catch(f){}}(e=Object(a),t))?f:b?d(e):"Object"==(r=d(e))&&"function"==typeof e.callee?"Arguments":r}},function(a,e,f){var d=f(2),t=f(0),b=t["__core-js_shared__"]||(t["__core-js_shared__"]={});(a.exports=function(a,e){return b[a]||(b[a]=void 0!==e?e:{})})("versions",[]).push({version:d.version,mode:f(10)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(a,e,f){var d=0,t=Math.random();a.exports=function(a){return"Symbol(".concat(void 0===a?"":a,")_",(++d+t).toString(36))}},function(a,e,f){var d=f(9),t=f(28);a.exports=f(7)?function(a,e,f){return d.f(a,e,t(1,f))}:function(a,e,f){return a[e]=f,a}},function(a,e,f){a.exports=function(a){try{return!!a()}catch(e){return!0}}},function(a,e,f){var d=f(4),t=f(0).document,b=d(t)&&d(t.createElement);a.exports=function(a){return b?t.createElement(a):{}}},function(a,e,f){var d=f(0),t=f(14),b=f(18),r=f(13)("src"),c=f(29),n=(""+c).split("toString");f(2).inspectSource=function(a){return c.call(a)},(a.exports=function(a,e,f,c){var i="function"==typeof f;i&&(b(f,"name")||t(f,"name",e)),a[e]!==f&&(i&&(b(f,r)||t(f,r,a[e]?""+a[e]:n.join(String(e)))),a===d?a[e]=f:c?a[e]?a[e]=f:t(a,e,f):(delete a[e],t(a,e,f)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[r]||c.call(this)}))},function(a,e,f){var d={}.hasOwnProperty;a.exports=function(a,e){return d.call(a,e)}},function(a,e,f){a.exports={}},function(a,e,f){var d,t,b,r=f(5),c=f(38),n=f(39),i=f(16),o=f(0),s=o.process,u=o.setImmediate,l=o.clearImmediate,h=o.MessageChannel,p=o.Dispatch,v=0,y={},m=function(){var a=+this;if(y.hasOwnProperty(a)){var e=y[a];delete y[a],e()}},g=function(a){m.call(a.data)};u&&l||(u=function(a){for(var e=[],f=1;arguments.length>f;)e.push(arguments[f++]);return y[++v]=function(){c("function"==typeof a?a:Function(a),e)},d(v),v},l=function(a){delete y[a]},"process"==f(8)(s)?d=function(a){s.nextTick(r(m,a,1))}:p&&p.now?d=function(a){p.now(r(m,a,1))}:h?(b=(t=new h).port2,t.port1.onmessage=g,d=r(b.postMessage,b,1)):o.addEventListener&&"function"==typeof postMessage&&!o.importScripts?(d=function(a){o.postMessage(a+"","*")},o.addEventListener("message",g,!1)):d="onreadystatechange"in i("script")?function(a){n.appendChild(i("script")).onreadystatechange=function(){n.removeChild(this),m.call(a)}}:function(a){setTimeout(r(m,a,1),0)}),a.exports={set:u,clear:l}},function(a,e,f){var d=f(6);function t(a){var e,f;this.promise=new a((function(a,d){if(void 0!==e||void 0!==f)throw TypeError("Bad Promise constructor");e=a,f=d})),this.resolve=d(e),this.reject=d(f)}a.exports.f=function(a){return new t(a)}},function(a,e,f){a.exports=f(23)},function(a,e,f){Object.defineProperty(e,"__esModule",{value:!0}),f(24);var d,t=(d=f(48))&&d.__esModule?d:{default:d};e.default={url:t.default},a.exports=e.default},function(a,e,f){var d,t,b,r,c=f(10),n=f(0),i=f(5),o=f(11),s=f(25),u=f(4),l=f(6),h=f(30),p=f(31),v=f(37),y=f(20).set,m=f(40)(),g=f(21),_=f(41),E=f(42),k=f(43),S=n.TypeError,w=n.process,x=w&&w.versions,T=x&&x.v8||"",A=n.Promise,I="process"==o(w),D=function(){},O=t=g.f,R=!!function(){try{var a=A.resolve(1),e=(a.constructor={})[f(1)("species")]=function(a){a(D,D)};return(I||"function"==typeof PromiseRejectionEvent)&&a.then(D)instanceof e&&0!==T.indexOf("6.6")&&-1===E.indexOf("Chrome/66")}catch(d){}}(),L=function(a){var e;return!(!u(a)||"function"!=typeof(e=a.then))&&e},C=function(a,e){if(!a._n){a._n=!0;var f=a._c;m((function(){for(var d=a._v,t=1==a._s,b=0,r=function(e){var f,b,r,c=t?e.ok:e.fail,n=e.resolve,i=e.reject,o=e.domain;try{c?(t||(2==a._h&&M(a),a._h=1),!0===c?f=d:(o&&o.enter(),f=c(d),o&&(o.exit(),r=!0)),f===e.promise?i(S("Promise-chain cycle")):(b=L(f))?b.call(f,n,i):n(f)):i(d)}catch(s){o&&!r&&o.exit(),i(s)}};f.length>b;)r(f[b++]);a._c=[],a._n=!1,e&&!a._h&&P(a)}))}},P=function(a){y.call(n,(function(){var e,f,d,t=a._v,b=j(a);if(b&&(e=_((function(){I?w.emit("unhandledRejection",t,a):(f=n.onunhandledrejection)?f({promise:a,reason:t}):(d=n.console)&&d.error&&d.error("Unhandled promise rejection",t)})),a._h=I||j(a)?2:1),a._a=void 0,b&&e.e)throw e.v}))},j=function(a){return 1!==a._h&&0===(a._a||a._c).length},M=function(a){y.call(n,(function(){var e;I?w.emit("rejectionHandled",a):(e=n.onrejectionhandled)&&e({promise:a,reason:a._v})}))},B=function(a){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=a,e._s=2,e._a||(e._a=e._c.slice()),C(e,!0))},U=function a(e){var f,d=this;if(!d._d){d._d=!0,d=d._w||d;try{if(d===e)throw S("Promise can't be resolved itself");(f=L(e))?m((function(){var t={_w:d,_d:!1};try{f.call(e,i(a,t,1),i(B,t,1))}catch(b){B.call(t,b)}})):(d._v=e,d._s=1,C(d,!1))}catch(t){B.call({_w:d,_d:!1},t)}}};R||(A=function(a){h(this,A,"Promise","_h"),l(a),d.call(this);try{a(i(U,this,1),i(B,this,1))}catch(e){B.call(this,e)}},(d=function(a){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=f(44)(A.prototype,{then:function(a,e){var f=O(v(this,A));return f.ok="function"!=typeof a||a,f.fail="function"==typeof e&&e,f.domain=I?w.domain:void 0,this._c.push(f),this._a&&this._a.push(f),this._s&&C(this,!1),f.promise},catch:function(a){return this.then(void 0,a)}}),b=function(){var a=new d;this.promise=a,this.resolve=i(U,a,1),this.reject=i(B,a,1)},g.f=O=function(a){return a===A||a===r?new b(a):t(a)}),s(s.G+s.W+s.F*!R,{Promise:A}),f(45)(A,"Promise"),f(46)("Promise"),r=f(2).Promise,s(s.S+s.F*!R,"Promise",{reject:function(a){var e=O(this);return(0,e.reject)(a),e.promise}}),s(s.S+s.F*(c||!R),"Promise",{resolve:function(a){return k(c&&this===r?A:this,a)}}),s(s.S+s.F*!(R&&f(47)((function(a){A.all(a).catch(D)}))),"Promise",{all:function(a){var e=this,f=O(e),d=f.resolve,t=f.reject,b=_((function(){var f=[],b=0,r=1;p(a,!1,(function(a){var c=b++,n=!1;f.push(void 0),r++,e.resolve(a).then((function(a){n||(n=!0,f[c]=a,--r||d(f))}),t)})),--r||d(f)}));return b.e&&t(b.v),f.promise},race:function(a){var e=this,f=O(e),d=f.reject,t=_((function(){p(a,!1,(function(a){e.resolve(a).then(f.resolve,d)}))}));return t.e&&d(t.v),f.promise}})},function(a,e,f){var d=f(0),t=f(2),b=f(14),r=f(17),c=f(5),n=function a(e,f,n){var i,o,s,u,l=e&a.F,h=e&a.G,p=e&a.P,v=e&a.B,y=h?d:e&a.S?d[f]||(d[f]={}):(d[f]||{}).prototype,m=h?t:t[f]||(t[f]={}),g=m.prototype||(m.prototype={});for(i in h&&(n=f),n)s=((o=!l&&y&&void 0!==y[i])?y:n)[i],u=v&&o?c(s,d):p&&"function"==typeof s?c(Function.call,s):s,y&&r(y,i,s,e&a.U),m[i]!=s&&b(m,i,u),p&&g[i]!=s&&(g[i]=s)};d.core=t,n.F=1,n.G=2,n.S=4,n.P=8,n.B=16,n.W=32,n.U=64,n.R=128,a.exports=n},function(a,e,f){a.exports=!f(7)&&!f(15)((function(){return 7!=Object.defineProperty(f(16)("div"),"a",{get:function(){return 7}}).a}))},function(a,e,f){var d=f(4);a.exports=function(a,e){if(!d(a))return a;var f,t;if(e&&"function"==typeof(f=a.toString)&&!d(t=f.call(a)))return t;if("function"==typeof(f=a.valueOf)&&!d(t=f.call(a)))return t;if(!e&&"function"==typeof(f=a.toString)&&!d(t=f.call(a)))return t;throw TypeError("Can't convert object to primitive value")}},function(a,e,f){a.exports=function(a,e){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:e}}},function(a,e,f){a.exports=f(12)("native-function-to-string",Function.toString)},function(a,e,f){a.exports=function(a,e,f,d){if(!(a instanceof e)||void 0!==d&&d in a)throw TypeError(f+": incorrect invocation!");return a}},function(a,e,f){var d=f(5),t=f(32),b=f(33),r=f(3),c=f(34),n=f(36),i={},o={},s=a.exports=function(a,e,f,s,u){var l,h,p,v,y=u?function(){return a}:n(a),m=d(f,s,e?2:1),g=0;if("function"!=typeof y)throw TypeError(a+" is not iterable!");if(b(y)){for(l=c(a.length);l>g;g++)if((v=e?m(r(h=a[g])[0],h[1]):m(a[g]))===i||v===o)return v}else for(p=y.call(a);!(h=p.next()).done;)if((v=t(p,m,h.value,e))===i||v===o)return v};s.BREAK=i,s.RETURN=o},function(a,e,f){var d=f(3);a.exports=function(a,e,f,t){try{return t?e(d(f)[0],f[1]):e(f)}catch(r){var b=a.return;throw void 0!==b&&d(b.call(a)),r}}},function(a,e,f){var d=f(19),t=f(1)("iterator"),b=Array.prototype;a.exports=function(a){return void 0!==a&&(d.Array===a||b[t]===a)}},function(a,e,f){var d=f(35),t=Math.min;a.exports=function(a){return a>0?t(d(a),9007199254740991):0}},function(a,e,f){var d=Math.ceil,t=Math.floor;a.exports=function(a){return isNaN(a=+a)?0:(a>0?t:d)(a)}},function(a,e,f){var d=f(11),t=f(1)("iterator"),b=f(19);a.exports=f(2).getIteratorMethod=function(a){if(null!=a)return a[t]||a["@@iterator"]||b[d(a)]}},function(a,e,f){var d=f(3),t=f(6),b=f(1)("species");a.exports=function(a,e){var f,r=d(a).constructor;return void 0===r||null==(f=d(r)[b])?e:t(f)}},function(a,e,f){a.exports=function(a,e,f){var d=void 0===f;switch(e.length){case 0:return d?a():a.call(f);case 1:return d?a(e[0]):a.call(f,e[0]);case 2:return d?a(e[0],e[1]):a.call(f,e[0],e[1]);case 3:return d?a(e[0],e[1],e[2]):a.call(f,e[0],e[1],e[2]);case 4:return d?a(e[0],e[1],e[2],e[3]):a.call(f,e[0],e[1],e[2],e[3])}return a.apply(f,e)}},function(a,e,f){var d=f(0).document;a.exports=d&&d.documentElement},function(a,e,f){var d=f(0),t=f(20).set,b=d.MutationObserver||d.WebKitMutationObserver,r=d.process,c=d.Promise,n="process"==f(8)(r);a.exports=function(){var a,e,f,i=function(){var d,t;for(n&&(d=r.domain)&&d.exit();a;){t=a.fn,a=a.next;try{t()}catch(b){throw a?f():e=void 0,b}}e=void 0,d&&d.enter()};if(n)f=function(){r.nextTick(i)};else if(!b||d.navigator&&d.navigator.standalone)if(c&&c.resolve){var o=c.resolve(void 0);f=function(){o.then(i)}}else f=function(){t.call(d,i)};else{var s=!0,u=document.createTextNode("");new b(i).observe(u,{characterData:!0}),f=function(){u.data=s=!s}}return function(d){var t={fn:d,next:void 0};e&&(e.next=t),a||(a=t,f()),e=t}}},function(a,e,f){a.exports=function(a){try{return{e:!1,v:a()}}catch(e){return{e:!0,v:e}}}},function(a,e,f){var d=f(0).navigator;a.exports=d&&d.userAgent||""},function(a,e,f){var d=f(3),t=f(4),b=f(21);a.exports=function(a,e){if(d(a),t(e)&&e.constructor===a)return e;var f=b.f(a);return(0,f.resolve)(e),f.promise}},function(a,e,f){var d=f(17);a.exports=function(a,e,f){for(var t in e)d(a,t,e[t],f);return a}},function(a,e,f){var d=f(9).f,t=f(18),b=f(1)("toStringTag");a.exports=function(a,e,f){a&&!t(a=f?a:a.prototype,b)&&d(a,b,{configurable:!0,value:e})}},function(a,e,f){var d=f(0),t=f(9),b=f(7),r=f(1)("species");a.exports=function(a){var e=d[a];b&&e&&!e[r]&&t.f(e,r,{configurable:!0,get:function(){return this}})}},function(a,e,f){var d=f(1)("iterator"),t=!1;try{var b=[7][d]();b.return=function(){t=!0},Array.from(b,(function(){throw 2}))}catch(r){}a.exports=function(a,e){if(!e&&!t)return!1;var f=!1;try{var b=[7],r=b[d]();r.next=function(){return{done:f=!0}},b[d]=function(){return r},a(b)}catch(c){}return f}},function(a,e,f){Object.defineProperty(e,"__esModule",{value:!0});var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};e.default=function(a,e,f){if(a&&e){var t=void 0;try{t=(0,b.getUri)(a,e,f)}catch(c){return Promise.reject(c.message)}return new r.default({type:"json",method:"GET",url:t}).then((function(a){return a&&a.response?"string"==typeof a.response?JSON.parse(a.response).Result:"object"===d(a.response)?a.response.Result:a.response:a}))}return Promise.reject("vid, host and token can't be empty")};var t,b=f(49),r=(t=f(51))&&t.__esModule?t:{default:t};a.exports=e.default},function(a,e,f){Object.defineProperty(e,"__esModule",{value:!0}),e.getUri=function(a,e){var f=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{a=JSON.parse((0,d.decode)(a))}catch(c){throw new Error("base64 decode error: "+c.message)}var t=[];for(var b in f)t.push(b+"="+f[b]);var r=(/^http/.test(e)?e:"//"+e)+"?"+a.GetPlayInfoToken+"&ssl=true";return t.length>0&&(r+="&"+t.join("&")),r};var d=f(50)},function(a,e,f){Object.defineProperty(e,"__esModule",{value:!0}),e.decode=function(a){var e,f,d,t,b,r,c,n=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1];for(r=a.length,b=0,c="";b<r;){do{e=n[255&a.charCodeAt(b++)]}while(b<r&&-1===e);if(-1===e)break;do{f=n[255&a.charCodeAt(b++)]}while(b<r&&-1===f);if(-1===f)break;c+=String.fromCharCode(e<<2|(48&f)>>4);do{if(61==(d=255&a.charCodeAt(b++)))return c;d=n[d]}while(b<r&&-1===d);if(-1===d)break;c+=String.fromCharCode((15&f)<<4|(60&d)>>2);do{if(61==(t=255&a.charCodeAt(b++)))return c;t=n[t]}while(b<r&&-1===t);if(-1===t)break;c+=String.fromCharCode((3&d)<<6|t)}return c}},function(a,e,f){Object.defineProperty(e,"__esModule",{value:!0}),e.default=function a(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},f=e.url,d=e.method,t=void 0===d?"GET":d,b=(e.type,e.data),r=void 0===b?{}:b,c=e.headers,n=void 0===c?{}:c;return function(a,e){if(!(a instanceof e))throw new TypeError("Cannot call a class as a function")}(this,a),new Promise((function(a,e){var d=new window.XMLHttpRequest,b=t.toUpperCase(),c=[];for(var i in r)c.push(i+"="+r[i]);if("GET"!==b)throw new Error("xhr "+b+" is not supported");for(var o in d.open(b,""+f,!0),d.responseType="",n)d.setRequestHeader(o,""+n[o]);d.send(),d.onload=function(){200===d.status||206===d.status?a(d):e(d)},d.onerror=function(){e(d)},d.ontimeout=function(){e(d)}}))},a.exports=e.default}]),Er=Ma(_r);function kr(a,e){return Sr.apply(this,arguments)}function Sr(){return(Sr=pa(Da().mark((function a(e,f){return Da().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.abrupt("return",new Promise((function(a){hr("service request: ".concat(f,", ").concat(e)),Er.url(e,f).then((function(e){var f=[],d=(null==e?void 0:e.Data)||e;hr("service response: ".concat(d?JSON.stringify({Status:d.Status,vid:d.VideoID}):void 0)),null!=d&&d.PlayInfoList&&d.PlayInfoList.length>0?(f=d.PlayInfoList,a({videoList:f,vid:d.VideoID,rawData:e})):(console.error("HAS NO VIDEO INFORMATION CORRECTLY, PLEASE CHECK THE TOKEN."),a({videoList:[],rawData:e}))}))})));case 1:case"end":return a.stop()}}),a)})))).apply(this,arguments)}function wr(a){if(a.sort((function(a,e){return e.Bitrate-a.Bitrate})),a[0].Bitrate){var e=0;a.every((function(f,d){return a[0].Bitrate===f.Bitrate&&(e=d,!0)})),e>0&&a.splice(e)}return a}function xr(a,e,f){var d=f||[];if(a.sort((function(a,e){return e.Bitrate-a.Bitrate})),a[0].Bitrate){var t=0;a.every((function(e,f){return a[0].Bitrate===e.Bitrate&&(t=f,!0)})),t>0&&a.splice(t)}a.forEach((function(a){var e,f,t={name:a.Definition||"标清",definition:a.Definition,url:a.MainPlayUrl||a.src||"",backupUrl:a.BackupPlayUrl,bitrate:a.Bitrate,size:a.Size,kid:a.PlayAuthID,codec:a.Codec,width:a.Width,height:a.Height,playAuth:a.PlayAuth,drmType:a.DrmType},b=function(a,e){for(var f=0;f<e.length;f++)if(a.Definition.toLocaleLowerCase()===e[f].definition.toLocaleLowerCase())return f;return-1}(a,d);b>=0?(e=t,(f=d[b])||(f=e),Object.keys(e).map((function(a){f[a]=e[a]}))):d.push(t)}));var b=-1;if(e)for(var r=0;r<a.length;r++)a[r].Definition.toLocaleLowerCase()===e.toLocaleLowerCase()&&(b=r);return b<0&&(b=0),f[b]&&(f[b].selected=!0),{index:b,list:d}}var Tr=function(){return _a((function a(e,f){ya(this,a),this.timeID=void 0,this.func=e,this.frequency=f}),[{key:"repeat",value:function(){var a=this,e=this.func,f=this.frequency;e&&f&&(this.timeID=setTimeout((function(){e(),a.repeat()}),f))}},{key:"cancel",value:function(){this.timeID&&(clearTimeout(this.timeID),this.timeID=void 0)}}])}();function Ar(a,e,f){function d(a,e){var f=parseInt(a.slice(e,e+2),16);return f>>>7==0?[1,f]:f>>>6==2?(f=(63&f)<<8,[2,f+=parseInt(a.slice(e+2,e+4),16)]):(f=(63&f)<<16,[3,f+=parseInt(a.slice(e+2,e+6),16)])}var t,b=0,r=[],c=[];for(t=0;t<4;++t)b+=(3&parseInt(a.slice(8+2*t,10+2*t),16))<<2*t;var n=parseInt(a.slice(16,24),16),i=2*parseInt(a.slice(32,40),16);for(t=40;t<i+40;t+=2)r.push(parseInt(a.slice(t,t+2),16));var o=i+40,s=parseInt(a.slice(o,o+4),16);for(o+=4,t=0;t<s;++t){var u=d(a,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=d(a,o);l+=String.fromCharCode(b^p[1]),o+=2*p[0]}c.push(l)}return e.p=null,function a(e,f,d,t,b){var n,i,o,s,u,l=-1,h=[],p=[0,null],v=null,y=[f];for(i=Math.min(f.length,d),o=0;o<i;++o)y.push(f[o]);y.p=t;for(var m=[];;)try{switch(r[e++]){case 52:n=r[e++],h[++l]=n<<24>>24;break;case 30:n=((n=((n=r[e++])<<8)+r[e++])<<8)+r[e++],h[++l]=(n<<8)+r[e++];break;case 5:n=(r[e]<<8)+r[e+1],e+=2,h[++l]=c[n];break;case 28:h[++l]=void 0;break;case 16:h[++l]=b;break;case 21:n=(r[e]<<8)+r[e+1],e+=2,l=l-n+1,i=h.slice(l,l+n),h[l]=i;break;case 42:h[++l]={};break;case 59:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],o=h[l--],h[l][i]=o;break;case 13:for(i=r[e++],o=r[e++],s=y;i>0;--i)s=s.p;h[++l]=s[o];break;case 11:n=(r[e]<<8)+r[e+1],e+=2,i=c[n],h[l]=h[l][i];break;case 25:i=h[l--],h[l]=h[l][i];break;case 54:for(i=r[e++],o=r[e++],s=y;i>0;--i)s=s.p;s[o]=h[l--];break;case 50:i=h[l--],h[l]+=i;break;case 56:i=h[l--],h[l]=h[l]===i;break;case 73:i=h[l--],h[l]=h[l]!==i;break;case 75:i=h[l--],h[l]=h[l]>i;break;case 58:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,h[l]?--l:e+=n;break;case 15:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,h[l]?e+=n:--l;break;case 33:n=r[e++],i=h[l--],(o=function a(){var e=a._v;return(0,a._u)(e[0],arguments,e[1],e[2],this)})._v=[i,n,y],o._u=a,h[++l]=o;break;case 14:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,(i=m[m.length-1])[1]=e+n;break;case 45:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,(i=m[m.length-1])&&!i[1]?(i[0]=3,i.push(e)):m.push([1,0,e]),e+=n;break;case 70:if(o=(i=m.pop())[0],s=p[0],1===o)e=i[1];else if(0===o)if(0===s)e=i[1];else{if(1!==s)throw p[1];if(!v)return p[1];e=v[1],b=v[2],y=v[3],m=v[4],h[++l]=p[1],p=[0,null],v=v[0]}else e=i[2],i[0]=0,m.push(i);break;case 0:for(i=h[l--],o=null;s=m.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)p=[1,i],e=o[2],o[0]=0,m.push(o);else{if(!v)return i;e=v[1],b=v[2],y=v[3],m=v[4],h[++l]=i,p=[0,null],v=v[0]}break;case 44:l-=n=r[e++],o=h.slice(l+1,l+n+1),i=h[l--],s=h[l--],i._u===a?(i=i._v,v=[v,e,b,y,m],e=i[0],null==s&&(s=function(){return this}()),b=s,(y=[o].concat(o)).length=Math.min(i[1],n)+1,y.p=i[2],m=[]):(u=i.apply(s,o),h[++l]=u);break;case 43:for(n=r[e++],s=[void 0],u=n;u>0;--u)s[u]=h[l--];o=h[l--],u=new(i=Function.bind.apply(o,s)),h[++l]=u;break;case 46:e+=2+(n=(n=(r[e]<<8)+r[e+1])<<16>>16);break;case 69:n=(n=(r[e]<<8)+r[e+1])<<16>>16,e+=2,(i=h[l--])||(e+=n);break;case 29:--l;break;case 39:i=h[l],h[++l]=i;break;default:throw new Error("ioe")}}catch(g){for(p=[0,null];(n=m.pop())&&!n[0];);if(!n){a:for(;v;){for(i=v[4];n=i.pop();)if(n[0])break a;v=v[0]}if(!v)throw g;e=v[1],b=v[2],y=v[3],m=v[4],v=v[0]}1===(i=n[0])?(e=n[2],n[0]=0,m.push(n),h[++l]=g):2===i?(e=n[2],n[0]=0,m.push(n),p=[3,g]):(e=n[3],n[0]=2,m.push(n),h[++l]=g)}}(n,[],0,e,f)}var Ir=["eventName"],Dr=null,Or=null,Rr=function(){function a(){var e;return ya(this,a),(e=va(this,a,arguments)).abrService=null,e}return wa(a,Lb),_a(a,[{key:"versionNum",get:function(){return Rr.semver.major}},{key:"beforePlayerInit",value:function(){var e=this;this.log("beforePlayerInit");var f,d=this.player,t=this.playerConfig,b=this.config,r=Ub.isMobile(b.preferMMS);this.isNativeMode=!(!r&&(void 0===b.useHls||b.useHls)),this.getUrlTime=(new Date).getTime()/1e3,this.hlsOpts=b.hlsOpts||{},this.hlsTimer=new Tr((function(){e._detectExpires()}),b.checkExpireInterval),t.hls||(t.hls={}),t.hls.preferMMS=!!b.preferMMS,t.hls.preferMMSStreaming=!!b.preferMMSStreaming,t.hls.fetchOptions||(t.hls.fetchOptions={}),b.netAllowCredentials&&(t.hls.fetchOptions.credentials="include"),b.maxBufferLength>0&&(t.hls.preloadTime=b.maxBufferLength),this.isNativeMode||t.hls.decryptor||(t.hls.decryptor=new Ua({enableSoftwareAES:!!this.hlsOpts.enableSoftwareAES})),Dr||(Dr=this.player._startInit),Or||(Or=this.player.playNext),ua.BasePlugin.defineGetterOrSetter(d,(f=this,{downloadSpeed:{get:function(){return f.core.speedInfo().speed/8e3},configurable:!0},historyAvspeed:{get:function(){return f.core.speedInfo().avgSpeed/8e3},configurable:!0},abrInstance:{get:function(){var a;return null===(a=f.abrService)||void 0===a?void 0:a.abrInstance},configurable:!0},logCache:{get:function(){if(f.logger)return f.logger.getLogCache()},configurable:!0},currentDefinitionFromPlayer:{get:function(){var a;return null!=f&&null!==(a=f.abrService)&&void 0!==a&&a.isCurrentInAbr()?f.abrService.curDefinition:f.player.curDefinition},configurable:!0}})),ua.BasePlugin.defineMethod(d,function(a){var e=a.player,f=a.playerConfig,d=Object.getOwnPropertyDescriptor(e,"switchURL");return null!=d&&d.configurable&&delete e.switchURL,{playNext:function(d){var t,b=e.paused;e.pause(),e.hasStart=!1,e.curDefinition=null,["url","vid","kid","playAuthToken","keyToken","startTime","secretKey"].forEach((function(e){a.config[e]=void 0})),f.url=void 0,f.definition&&(f.definition={list:[]}),Object.keys(d).map((function(e){e.toLocaleLowerCase()===a.pluginName.toLocaleLowerCase()?"Object"===ua.Util.typeOf(d[e])&&Object.keys(d[e]).map((function(f){a.config[f]=d[e][f]})):f[e]=d[e]})),f.autoplay="boolean"==typeof d.autoplay?d.autoplay:!b,a.getUrlTime=(new Date).getTime()/1e3,null===(t=a.abrService)||void 0===t||t.destroy(),a.abrService=null,a.isNativeMode?a.start():a.hls.detachMedia().then((function(){a.start()}))},_startInit:function(){a.start()},switchURL:function(e,f){return pa(Da().mark((function d(){var t,b,r,c,n,i;return Da().wrap((function(d){for(;;)switch(d.prev=d.next){case 0:if(t=a.player,b=a.hls,r=a.isNativeMode,c=t.paused,n=Rb(f,a),!b&&!r){d.next=8;break}return t.config.url=e,n.seamless||(yr(t),r&&((i=t.media||t.video).removeAttribute("src"),i.load(),n.startTime>0&&(t.currentTime=n.startTime))),d.next=8,a.start(e,{switchUrlArgs:n});case 8:return d.abrupt("return",new Promise((function(a){var e=function(){mr(t),c?t.once("playing",(function(){t.pause(),a()})):a()};n.seamless?a():(ua.Sniffer.os.isAndroid?t.once("timeupdate",(function(){e()})):t.once("canplay",(function(){e()})),r&&!c&&t.play())})));case 9:case"end":return d.stop()}}),d)})))()},changeDefinition:function(e,f){var d,t,b,r,c,n,i,o,s,u,l,h=arguments.length>2&&void 0!==arguments[2]&&arguments[2],p=a.player,v=a.playerConfig,y=a.abrService,m=a.isNativeMode,g=p.config.definition,_="自动"===(null===(d=e)||void 0===d?void 0:d.definition)||"auto"===(null===(t=e)||void 0===t?void 0:t.definition);if(!f&&p.curDefinition&&(f=p.curDefinition),Array.isArray(null==g?void 0:g.list)&&g.list.forEach((function(a){var f,d;h?!pr(a.definition)&&(null===(f=e)||void 0===f?void 0:f.bitrate)===a.bitrate&&p.curDefinition&&(p.curDefinition.bitrate=a.bitrate,"number"==typeof a.height&&"number"==typeof a.width&&(p.curDefinition.height=a.height,p.curDefinition.width=a.width)):(null===(d=e)||void 0===d?void 0:d.definition)===a.definition&&(p.curDefinition=a)})),null!==(b=e)&&void 0!==b&&b.bitrate&&"number"!=typeof e.bitrate&&(e.bitrate=parseInt(e.bitrate,10)||0),!h&&!_){var E,k=null===(E=v.definition)||void 0===E?void 0:E.list;if(k&&(!e.bitrate||!e.uri||!e.size||!e.duration))for(var S=0;S<k.length;S++)if(e.definition===k[S].definition){var w;e.bitrate=k[S].bitrate,e.uri=k[S].uri||(null===(w=f)||void 0===w?void 0:w.uri),e.size=k[S].size,e.duration=k[S].duration||v.duration;break}}h?a.log("[switchBitrate:ABR] switch bitrate to ".concat(e.definition,", ").concat(null===(n=f)||void 0===n?void 0:n.bitrate,"->").concat(e.bitrate),a.core.abrSwitchPoint,_):(p.emit(ua.Events.DEFINITION_CHANGE,{from:f,to:e}),_&&p.curDefinition&&pr(null===(o=e=p.curDefinition)||void 0===o?void 0:o.definition)&&"number"==typeof(null===(s=f)||void 0===s?void 0:s.bitrate)&&f.bitrate>0&&(e.bitrate=null===(u=f)||void 0===u?void 0:u.bitrate),_?(null==y||y.enable(),y&&"number"==typeof(null===(l=f)||void 0===l?void 0:l.bitrate)&&f.bitrate>0&&(y.bitrate=f.bitrate)):null==y||y.disable(),a.log("[switchBitrate:CBS] switch bitrate to ".concat(e.definition,", ").concat(null===(i=f)||void 0===i?void 0:i.bitrate,"->").concat(e.bitrate)));if(!(!h&&_||h&&!a.core.abrSwitchPoint||h&&(null===(r=e)||void 0===r?void 0:r.bitrate)===(null===(c=f)||void 0===c?void 0:c.bitrate)))if(p.hasStart){h||(p.curDefinition=e);var x=h?a.core.abrSwitchPoint:p.currentTime,T=p.getBufferedRange(),A=Array.isArray(T)?T[1]:-1;a.log("beforeSwitchURL: ".concat(e.url,", isAbrSwitch: ").concat(h,", targetTime: ").concat(x),"duration: ".concat(p.duration,", bufferEnd: ").concat(A));var I=p.switchURL(e.url,Aa({seamless:!m&&(!1!==(null==g?void 0:g.seamless)&&"undefined"!=typeof MediaSource&&"function"==typeof MediaSource.isTypeSupported||h),currentTime:x},e));I&&I.then?I.then((function(){h||p.emit(ua.Events.AFTER_DEFINITION_CHANGE,{from:f,to:e})})):h||p.emit(ua.Events.AFTER_DEFINITION_CHANGE,{from:f,to:e})}else p.config.url=e.url}}}(this)),!this.isNativeMode&&this._mseEnvValid()&&(t.url&&(b.url=t.url,t.url=""),t.__allowHlsEmptyUrl__=!0,Ra(a,"beforePlayerInit",this,3)([])),this._bindEvents()}},{key:"_bindEvents",value:function(){var a=this,e=this.config,f=this.player;this.isNativeMode||f.once("playing",(function(){var a=f.media||f.video,e=!1,d=a.querySelector("track");d&&("hidden"===d.track.mode&&(e=!0),d.track.mode="hidden",a.removeChild(d)),f.config.textTrack&&f.config.textTrack.length>0&&f.config.textTrack.some((function(f){if(f.src&&f.label&&f.default){var d=document.createElement("track");return d.src=f.src,d.kind=f.kind,d.label=f.label,d.srclang=f.srclang,d.default=!0,a.appendChild(d),e&&(d.track.mode="hidden"),!0}}))})),e.checkHlsOffline&&Ub.on(this,"timeupdate",(function(){a._checkOffline()}),"destroy"),Ub.on(f,"loadeddata",(function(){var e,f;a.isNativeMode||(null!==(e=a.abrService)&&void 0!==e&&e.isCurrentInAbr()&&a.abrService.enable(),null===(f=a.abrService)||void 0===f||f.execute())}),"destroy"),Ub.on(f,"error",(function(){var e;null===(e=a.hlsTimer)||void 0===e||e.cancel()}),"destroy"),Ub.on(f,"core_event",(function(e){var d=e.eventName,t=Ia(e,Ir);switch(d){case zt.STREAM_PARSED:var b,r,c=null===(b=a.core)||void 0===b?void 0:b.currentStream;c&&!c.bitrate&&null!==(r=f.curDefinition)&&void 0!==r&&r.bitrate&&(c.bitrate=f.curDefinition.bitrate);break;case zt.APPEND_BUFFER:var n,i;(null===(n=a.core)||void 0===n?void 0:n.currentStream)&&f.emit("addVideoBufferEnd",{start:t.start,end:t.end,bandwidth:null===(i=f.curDefinition)||void 0===i?void 0:i.bitrate})}}),"destroy")}},{key:"destroy",value:function(){var e;Ra(a,"destroy",this,3)([]),this.hlsTimer&&(this.hlsTimer.cancel(),this.hlsTimer=void 0),gr(this.player,"_startInit",Dr),gr(this.player,"playNext",Or),this._playOriginalUrl=null,null===(e=this._secretKey)||void 0===e||e.destroy()}},{key:"log",value:function(a){for(var e=arguments.length,f=new Array(e>1?e-1:0),d=1;d<e;d++)f[d-1]=arguments[d];hr.apply(void 0,[this.logger,2,a].concat(f))}},{key:"_mseEnvValid",value:function(){var a=this.player,e=this.config,f=!1;return qa.checkMSEValid(e.preferMMS)?f=!0:a.emit("error",{msg:"MediaSource or SourceBuffer hijack",errorCode:-9995}),f}},{key:"start",value:(r=pa(Da().mark((function a(){var e,f,d,t,b,r,c,n,i,o,s,u,l,h,p,v,y,m,g,_=arguments;return Da().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(d=_.length>0&&void 0!==_[0]?_[0]:"",t=_.length>1&&void 0!==_[1]?_[1]:{},this.log("_start"),b=this.player,(r=/^blob:/i.test(d))||(this._playOriginalUrl=null),a.prev=6,d){a.next=17;break}return a.next=10,this._getRawManifest();case 10:if(null!=(c=a.sent)&&c.url){a.next=13;break}throw new Error("no service url");case 13:d=c.url,this._rawManifestInfo=c,a.next=18;break;case 17:this._rawManifestInfo&&(this._rawManifestInfo.url=d,this._rawManifestInfo.videoList=this._rawManifestInfo.videoList||b.definitionList||[]);case 18:if(n={},!this._rawManifestInfo){a.next=33;break}if(i=this._rawManifestInfo,o=i.url,s=i.vid,u=i.videoList,!Array.isArray(u)){a.next=33;break}l=0;case 23:if(!(l<u.length)){a.next=33;break}if((h=u[l]).url!==o){a.next=30;break}return n.vid=s,n.kid=h.kid,n.playAuth=h.playAuth,a.abrupt("break",33);case 30:l++,a.next=23;break;case 33:if(r){a.next=39;break}return this._playOriginalUrl=b.config.url=d,a.next=37,this._getTransformManifestUrl(d,n);case 37:p=a.sent,b.config.url=p.url;case 39:a.next=48;break;case 41:return a.prev=41,a.t0=a.catch(6),v=a.t0.message||a.t0.name||"url transform error",y=a.t0.stack||"",m=a.t0.code||-9996,v===Pb.GetKeyByKeyTokenFail&&(m=-9991),a.abrupt("return",b.emit("error",{errorCode:m,msg:v,errorStack:y}));case 48:d=this.player.config.url,this.isNativeMode||(t.switchUrlArgs?(this.log("hls switchUrl: ".concat(d)),this.hls.switchURL(d,t.switchUrlArgs)):(this.log("hls load: ".concat(d)),this.hls.load(d,{clearSwitchStatus:!0}))),null!==(e=t.switchUrlArgs)&&void 0!==e&&e.seamless||null===(g=Dr)||void 0===g||g.call(this.player,d),null===(f=this.hlsTimer)||void 0===f||f.repeat();case 52:case"end":return a.stop()}}),a,this,[[6,41]])}))),function(){return r.apply(this,arguments)})},{key:"_getRawManifest",value:(b=pa(Da().mark((function a(){var e,f,d,t,b,r,c,n,i,o,s,u,l,h;return Da().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(this.log("getRawManifest()"),f=this.config,d=this.playerConfig,t=f.vid,b=f.playAuthToken,r=f.playDomain,c=f.testUrl,n=f.testUrlExpire,i=f.autoBitrateOpts,o={url:f.url||d.url,playAuthToken:b,vid:t,playDomain:r,testUrl:c,testUrlExpire:n},s=(null===(e=d.definition)||void 0===e?void 0:e.list)||[],u=(null==i?void 0:i.isOpenAutoDefi)&&Array.isArray(s)&&s.filter((function(a){return pr(a.definition)})).length>0,!this.isNativeMode&&u&&(l=this._initAbrDefinition())&&(o.url=l.url),!o.url){a.next=17;break}if(this.log("directUrl: ".concat(o.url)),this.emit&&this.emit("can_start"),!(s.length>0)){a.next=14;break}return a.next=13,this._initAbrService(s.filter((function(a){return!pr(a.definition)})));case 13:this._emitResourceReady(s);case 14:return a.abrupt("return",{url:o.url});case 17:if(!b&&!o.vid){a.next=28;break}return a.prev=18,a.next=21,this._playByToken(b,r);case 21:h=a.sent,a.next=27;break;case 24:throw a.prev=24,a.t0=a.catch(18),new Error("playByToken error: ".concat(a.t0.message));case 27:return a.abrupt("return",h);case 28:case"end":return a.stop()}}),a,this,[[18,24]])}))),function(){return b.apply(this,arguments)})},{key:"_initAbrService",value:(t=pa(Da().mark((function a(e){var f,d,t,b,r,c,n=this;return Da().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(f=this.player,d=this.playerConfig,t=this.config,!this.isNativeMode&&t.autoBitrateOpts&&t.autoBitrateOpts.isOpenAutoDefi){a.next=3;break}return a.abrupt("return",!1);case 3:return this.abrService||(this.log("new ABRService()"),this.abrService=new vr(this,(function(a){for(var e,t=(null===(e=d.definition)||void 0===e?void 0:e.list)||[],b=0,r=0;r<t.length;r++)if(a.definition===t[r].definition){b=r;break}var c=t.filter((function(a){var e;return a.bitrate===(null===(e=f.curDefinition)||void 0===e?void 0:e.bitrate)&&!pr(a.definition)}))[0],i=t[b];n.log("changeDefinition: ".concat((null==c?void 0:c.definition)||(null==c?void 0:c.text)," -> ").concat(i.definition||i.text)),f.changeDefinition(i,c,!0)}))),this.log("abrService init"),a.next=7,this.abrService.init({video:e.map((function(a){return{width:a.width||0,height:a.height||0,bitrate:a.bitrate||0,codecs:a.codec||"",definition:a.definition}}))});case 7:return this.abrService&&(c=null===(b=d.definition)||void 0===b?void 0:b.list,Array.isArray(c)&&c.length>0&&this.abrService.updateAbrCacheData(),null!==(r=f.curDefinition)&&void 0!==r&&r.bitrate&&(this.abrService.bitrate=f.curDefinition.bitrate)),a.abrupt("return",!0);case 9:case"end":return a.stop()}}),a,this)}))),function(a){return t.apply(this,arguments)})},{key:"_initAbrDefinition",value:function(){var a,e,f=this.player,d=this.playerConfig,t=this.config,b=(null===(a=d.definition)||void 0===a?void 0:a.list)||[],r=d.definition&&void 0!==Pa(d.definition.defaultDefinition)?d.definition.defaultDefinition:d.defaultDefinition,c=!(null===(e=t.autoBitrateOpts)||void 0===e||!e.isPlayAutoDefi),n=null;if(b.length>0){var i=b.filter((function(a){return!pr(a.definition)}));n=i.length>0?i.filter((function(a){return a.definition===r}))[0]||i[0]:null,f.curDefinition&&!c||(f.curDefinition=b.filter((function(a){return c?pr(a.definition):a.definition===r}))[0]||null),f.curDefinition.vwidth||Object.assign(f.curDefinition,this._getDefinitionItem(f.curDefinition.definition)),n&&!f.curDefinition.bitrate&&(f.curDefinition.bitrate=n.bitrate)}if(c)for(var o=0;o<b.length;o++){var s=b[o];s.selected=pr(s.definition)}return n}},{key:"_getDefinitionItem",value:function(a){var e=this.playerConfig;if(!e.definition||!e.definition.list)return null;for(var f=0;f<e.definition.list.length;f++){var d=e.definition.list[f];if(d.definition===a)return d}return null}},{key:"_playByToken",value:(d=pa(Da().mark((function a(e,f){var d,t,b,r,c,n,i,o,s,u,l,h,p,v,y,m=this;return Da().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return d=this.player,t=this.config,a.next=3,kr(e,f);case 3:if(b=a.sent,r=b.vid,c=b.videoList,n=b.rawData,this.emit&&this.emit("get_play_info",n),!(c&&c.length>0&&(c[0].MainPlayUrl||c[0].src))){a.next=26;break}return wr(c),this.getUrlTime=(new Date).getTime()/1e3,i=d.config.definition,o=(null==i?void 0:i.defaultDefinition)||d.config.defaultDefinition,c[0].UrlExpire&&(this.urlExpireTimestamp=t.testUrlExpire||c[0].UrlExpire),s=xr(c,o,(null==i?void 0:i.list)||[]),a.next=17,this._initAbrService(s.list);case 17:return a.sent?(u=(null===(h=d.config.definition)||void 0===h?void 0:h.list)||[],l=u.filter((function(a){var e;return a.bitrate===(null===(e=m.abrService)||void 0===e?void 0:e.bitrate)}))[0]):(u=s.list,l=u[s.index],d.curDefinition=l),"private_encrypt_upgrade"===l.drmType&&(t.secretKey=l.playAuth),p=l.url,this._emitResourceReady(u),this.emit&&this.emit("can_start"),a.abrupt("return",{url:p,vid:r,videoList:s.list});case 26:throw v=(n||{ResponseMetadata:{Error:{CodeN:0,Message:""},RequestId:""}}).ResponseMetadata,this.emit&&this.emit("playInterfaceInfo",{code:v.Error.CodeN,message:v.Error.Message,logid:v.RequestId}),y={msg:"HAS NO VIDEO INFORMATION CORRECTLY, PLEASE CHECK THE TOKEN.",errorCode:-9998},this.emit&&this.emit("error",y),y;case 32:case"end":return a.stop()}}),a,this)}))),function(a,e){return d.apply(this,arguments)})},{key:"_getTransformManifestUrl",value:(f=pa(Da().mark((function a(e){var f,d,t=arguments;return Da().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return f=t.length>1&&void 0!==t[1]?t[1]:{},a.next=3,this._loadSource(e,f);case 3:if("string"!=typeof(d=a.sent)){a.next=8;break}return a.abrupt("return",{url:d});case 8:return a.abrupt("return",new Promise((function(a){var e=new FileReader;e.onload=function(){a({url:e.result})},e.readAsDataURL(d)})));case 9:case"end":return a.stop()}}),a,this)}))),function(a){return f.apply(this,arguments)})},{key:"_processRetData",value:function(a){if(a.sort((function(a,e){return e.Bitrate-a.Bitrate})),a[0].Bitrate){var e=0;a.every((function(f,d){return a[0].Bitrate===f.Bitrate&&(e=d,!0)})),e>0&&a.splice(e)}}},{key:"_checkOffline",value:function(){var a,e,f=(null===(a=this.player)||void 0===a?void 0:a.media)||(null===(e=this.player)||void 0===e?void 0:e.video);this.hls&&f&&!f.videoHeight?(this.hls.hlsOfflineCount=void 0===this.hls.hlsOfflineCount?1:this.hls.hlsOfflineCount+1,this.hls.hlsOfflineCount>3&&(this.pause(),this.emit&&this.emit("error",{msg:"OFFLINE",errorCode:-9997}),this.onError())):this.hls&&(this.hls.hlsOfflineCount=0)}},{key:"pause",value:function(){throw new Error("Method not implemented.")}},{key:"onError",value:function(){throw new Error("Method not implemented.")}},{key:"_detectExpires",value:function(){var a=this,e=this.config,f=this.player;f&&!f.ended&&(e.expireDetectType.indexOf("getUrlTime")>-1&&this.getUrlTime&&f.duration&&(new Date).getTime()/1e3>this.getUrlTime+3300+f.duration&&(this.getUrlTime=0,this._emitExpireEvent()),e.expireDetectType.indexOf("xhrStatus")>-1&&this._playOriginalUrl&&Math.random()<1/7.5&&Nb({url:this._playOriginalUrl,xhrSetup:function(a){e.netAllowCredentials&&(a.withCredentials=!0)}}).catch((function(e){e&&void 0!==e.status&&(a.hlsExpireCount=void 0===a.hlsExpireCount?1:a.hlsExpireCount+1,a.hlsExpireCount>3&&(a.hlsExpireCount=0,a._emitExpireEvent()))})),e.expireDetectType.indexOf("urlExpire")>-1&&this.urlExpireTimestamp&&(new Date).getTime()/1e3>=this.urlExpireTimestamp&&(this.urlExpireTimestamp=5e9,this._emitExpireEvent()))}},{key:"_emitExpireEvent",value:function(){var a=this.player,e=(new Date).getTime()/1e3;this.emitExpireTimestamp?e-this.emitExpireTimestamp>300&&(this.emitExpireTimestamp=e,a.emit("MEDIA_EXPIRED")):(this.emitExpireTimestamp=e,a.emit("MEDIA_EXPIRED"))}},{key:"_updateM3U8",value:function a(e,f,d){return Ar("504B01019cde6b950000005f9669dc9d0000024f0d020b05001d2b01270b001e0d00042c01450020050019270b00110d00020d00033205001f2c02270b00110d00042c01002e0029050019270b00110d00020d00033205001f2c02270b00110d0206270b00200d01070d00042c022c01001c00100b0000360001100b00010b0002050003493a000a0d010a0d01010b00043845000f0d0102270b00050d01092c013601092d004336000c0d0102050006190f00070d0102050007190f00070d0102050008193600030d00032b003600020d0002270b00090d01092c011d0d0002270b000a2c00360002460e00160d01030d01091500012a05000b3b000c2b02360002460d0104270b000d0d00022c013600040d0108270b000e0d010b05000f2b01050010270b00110d00040500122c022c023601080d0105270b00130d00010b00010b00142c014500150d0105270b00150d00010b00010b00142c012e00090d00010b00010b00143600050d0005270b00160d010b0500172b012c010f00031500003600060d00054500270d00060b001834014b450015050019270b00110d000634011905001a2c022e00030500192e00030500193600070d0108270b000e0d010b05001b05001c2b021e0000000021042c023601082d004336000d0d0102050006190f00070d0102050007190f00070d0102050008193600090d00092b003600080d0008270b00090d01082c011d0d0008270b000a2c00360008460e00160d01030d01081500012a0500213b000c2b02360008460d0105270b00222c0036000a0d000a4500070d0008002e00130d0104270b000d0d00082c0136000b0d000b001c00002306081419011d0a061b17161e111f0a1f1d0c331d012c01081d032c372803333c2b04190c171a0b3a14171a3a0d11141c1d0a112f1d1a33110c3a14171a3a0d11141c1d0a0e3517023a14171a3a0d11141c1d0a061908081d161c071f1d0c3a14171a090c1d000c57100c1514040c01081d0f1b0a1d190c1d371a121d1b0c2d2a34070a1d0814191b1d0e542d2a31455a5023265a2553515a06542d2a31455a061b17161b190c015a0d110b2a1d14190c110e1d2d2a34030d0a140e1f1d0c391a0b17140d0c1d2d2a340515190c1b10205050100c0c0804100c0c080b514247245724575653512457240f532456240f5306141d161f0c100001573f505b3d202c31363e425150241c53245647241c0348544a480551504742545047422326240a042416255251504742240a0424165152515056525047595b5151011f1450100c0c0804100c0c080b514724424724572457040c1d0b0c025472101a0d11141c391a0b17140d0c1d2d2a341519080814111b190c11171657005515081d1f2d2a3408110b35171a11141d",{get 0(){return a},get 1(){return jb},get 2(){return window},get 3(){return Blob},get 4(){return URL},get 5(){return Ub},get 6(){return ve},7:arguments,8:e,9:f,10:d,11:RegExp},this)}},{key:"_loadSource",value:(e=pa(Da().mark((function a(e){var f,d,t,b,r,c,n,i,o,s,u,l,h,p,v,y,m,g,_,E,k,S,w,x=arguments;return Da().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return f=x.length>1&&void 0!==x[1]?x[1]:{},d=this.player,t=this.config,b=f.kid||t.kid,r=f.vid||t.vid,c=f.playAuth||t.secretKey,this.log("loadSource: ".concat(e,", Kid: ").concat(b,", vid: ").concat(r,", secretKey: ").concat(c)),a.next=8,$b(e,this);case 8:if(null!=(n=a.sent)&&n.keyUrl&&null!=n&&n.responseText){a.next=12;break}return this.log("loadSource with normal url: ".concat(d.config.url)),a.abrupt("return",d.config.url);case 12:if(i=n.keyUrl,o=n.responseText,s=t.getLicenseUrl,u=t.drmType,l=t.drmKeyToken,h=t.playDomain,p=t.sessionId,!t.keyValue){a.next=18;break}v=this._updateM3U8(o,t.keyValue),a.next=56;break;case 18:if(!(s&&b||b&&l&&h||c)){a.next=44;break}if(this._secretKey=new qa.XGSecretKey({getLicenseUrl:s,vid:r,useUnionInfoDRM:t.useUnionInfoDRM,playDomain:h,drmType:u,drmKeyToken:l,drm:t.drm,keyValue:t.keyValue,kid:b,useEME:!1,secretKey:c,keyTokenExpiredDuration:t.keyTokenExpiredDuration,sessionId:p}),a.prev=20,!this.isNativeMode){a.next=28;break}return a.next=24,this._secretKey.getLicense();case 24:m=a.sent,y=(null==m?void 0:m.keyValue)||m,a.next=35;break;case 28:return a.next=30,this._secretKey.getLicenseSecret();case 30:g=a.sent,_=null==g?void 0:g.secretKey,E=null==g?void 0:g.decryptKey,k=E&&qa.util.ArrayBufferToString(E),y="".concat(jb.DRM,"-").concat(_,"_").concat(k);case 35:a.next=41;break;case 37:throw a.prev=37,a.t0=a.catch(20),this.logger.error("getLicense, err: (".concat((null===a.t0||void 0===a.t0||null===(S=a.t0.error)||void 0===S?void 0:S.message)||(null===a.t0||void 0===a.t0?void 0:a.t0.message),")")),(null===a.t0||void 0===a.t0?void 0:a.t0.error)||a.t0||new Error("SecretKey failure without msg");case 41:v=this._updateM3U8(o,y,jb.DRM),a.next=56;break;case 44:if(!t.keyToken||!("TOP"===t.getKeyType?t.playDomain:t.keyDomain)){a.next=55;break}return a.next=47,Kb(this,{system:jb.KDS,url:i});case 47:if(!(w=a.sent)){a.next=52;break}v=this._updateM3U8(o,w,jb.KDS),a.next=53;break;case 52:throw new Error(Pb.GetKeyByKeyTokenFail);case 53:a.next=56;break;case 55:throw new Error("There is no available ways for encrypt hls to generate manifest url");case 56:return this.log("loadSource by key and return: ".concat(v)),a.abrupt("return",v);case 58:case"end":return a.stop()}}),a,this,[[20,37]])}))),function(a){return Ar("504B01019cde6b95000000009669dc9d0000000e0d0100270b0000100d01012c02000001051908081401",{get 0(){return e},1:arguments,2:a},this)})},{key:"_emitResourceReady",value:function(a){var e=this.player,f=this.abrService;(null!=f&&f.isPlayAutoDef||!a.some((function(a){return!!a.selected})))&&a.forEach((function(a){var d;a.selected=null!=f&&f.isPlayAutoDef?f.isAutoDefValue(a.definition):a.definition===(null===(d=e.curDefinition)||void 0===d?void 0:d.definition)})),e.emit("resourceReady",a)}}],[{key:"pluginName",get:function(){return"EncryptHlsPlugin"}},{key:"defaultConfig",get:function(){return{expireDetectType:[],hlsOpts:{},checkExpireInterval:400,type:"",playAuthToken:"",vid:"",checkHlsOffline:!1,getLicenseUrl:"",preferMMS:!1}}},{key:"version",get:function(){return Cb}},{key:"semver",get:function(){var a=he(Cb)||{},e=a.major,f=a.minor,d=a.patch;return{version:Cb,major:e,minor:f,patch:d}}}]);var e,f,d,t,b,r}(),Lr=Rr;return Lr.updateUnionInfo=qa.XGSecretKey.updateUnionInfo,Lr.generateEncryptInfo=qa.XGSecretKey.generateEncryptInfo,Lr.isSupported=function(a){a=(a||navigator.userAgent).toLocaleLowerCase();var e=/(iphone)/.test(a)||/(ipad)/.test(a),f=/(android)/.test(a),d=/(windows phone)/.test(a),t=!(e||f||d),b=/(quark)/.test(a);if(t||f){var r=function(){return"undefined"!=typeof MediaSource?MediaSource:arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&void 0!==self.ManagedMediaSource?self.ManagedMediaSource:void 0!==self.WebKitMediaSource?self.WebKitMediaSource:void 0}(!0);return!(null==r||!r.isTypeSupported('video/mp4; codecs="avc1.42E01E, mp4a.40.2"'))}return!!e&&!b&&!/iphone os 11_[2-4]\D/gi.test(a)},Lr}));
|
|
1
|
+
// Built @Tue, 01 Jul 2025 06:37:57 GMT
|
|
2
|
+
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.array.index-of.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.array.sort.js"),require("core-js/modules/es.array.splice.js"),require("core-js/modules/es.object.assign.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.regexp.exec.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/es.string.match.js"),require("core-js/modules/es.string.repeat.js"),require("core-js/modules/es.string.replace.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/web.url.js"),require("core-js/modules/web.url.to-json.js"),require("core-js/modules/web.url-search-params.js"),require("core-js/modules/es.array.copy-within.js"),require("core-js/modules/es.array.includes.js"),require("core-js/modules/es.array.join.js"),require("core-js/modules/es.array.last-index-of.js"),require("core-js/modules/es.array.reduce.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.array-buffer.constructor.js"),require("core-js/modules/es.array-buffer.slice.js"),require("core-js/modules/es.number.constructor.js"),require("core-js/modules/es.parse-int.js"),require("core-js/modules/es.regexp.constructor.js"),require("core-js/modules/es.regexp.to-string.js"),require("core-js/modules/es.string.includes.js"),require("core-js/modules/es.string.starts-with.js"),require("core-js/modules/es.typed-array.float32-array.js"),require("core-js/modules/es.typed-array.float64-array.js"),require("core-js/modules/es.typed-array.int8-array.js"),require("core-js/modules/es.typed-array.int16-array.js"),require("core-js/modules/es.typed-array.int32-array.js"),require("core-js/modules/es.typed-array.uint8-array.js"),require("core-js/modules/es.typed-array.uint8-clamped-array.js"),require("core-js/modules/es.typed-array.uint16-array.js"),require("core-js/modules/es.typed-array.uint32-array.js"),require("core-js/modules/es.typed-array.copy-within.js"),require("core-js/modules/es.typed-array.every.js"),require("core-js/modules/es.typed-array.fill.js"),require("core-js/modules/es.typed-array.filter.js"),require("core-js/modules/es.typed-array.find.js"),require("core-js/modules/es.typed-array.find-index.js"),require("core-js/modules/es.typed-array.for-each.js"),require("core-js/modules/es.typed-array.includes.js"),require("core-js/modules/es.typed-array.index-of.js"),require("core-js/modules/es.typed-array.iterator.js"),require("core-js/modules/es.typed-array.join.js"),require("core-js/modules/es.typed-array.last-index-of.js"),require("core-js/modules/es.typed-array.map.js"),require("core-js/modules/es.typed-array.reduce.js"),require("core-js/modules/es.typed-array.reduce-right.js"),require("core-js/modules/es.typed-array.reverse.js"),require("core-js/modules/es.typed-array.set.js"),require("core-js/modules/es.typed-array.slice.js"),require("core-js/modules/es.typed-array.some.js"),require("core-js/modules/es.typed-array.sort.js"),require("core-js/modules/es.typed-array.subarray.js"),require("core-js/modules/es.typed-array.to-locale-string.js"),require("core-js/modules/es.typed-array.to-string.js"),require("xgplayer"),require("core-js/modules/es.date.to-json.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.map.js"),require("core-js/modules/es.number.to-fixed.js"),require("core-js/modules/es.parse-float.js"),require("core-js/modules/esnext.map.delete-all.js"),require("core-js/modules/esnext.map.every.js"),require("core-js/modules/esnext.map.filter.js"),require("core-js/modules/esnext.map.find.js"),require("core-js/modules/esnext.map.find-key.js"),require("core-js/modules/esnext.map.includes.js"),require("core-js/modules/esnext.map.key-of.js"),require("core-js/modules/esnext.map.map-keys.js"),require("core-js/modules/esnext.map.map-values.js"),require("core-js/modules/esnext.map.merge.js"),require("core-js/modules/esnext.map.reduce.js"),require("core-js/modules/esnext.map.some.js"),require("core-js/modules/esnext.map.update.js")):"function"==typeof define&&define.amd?define(["core-js/modules/es.array.concat.js","core-js/modules/es.array.filter.js","core-js/modules/es.array.index-of.js","core-js/modules/es.array.iterator.js","core-js/modules/es.array.map.js","core-js/modules/es.array.sort.js","core-js/modules/es.array.splice.js","core-js/modules/es.object.assign.js","core-js/modules/es.object.to-string.js","core-js/modules/es.promise.js","core-js/modules/es.regexp.exec.js","core-js/modules/es.string.iterator.js","core-js/modules/es.string.match.js","core-js/modules/es.string.repeat.js","core-js/modules/es.string.replace.js","core-js/modules/web.dom-collections.for-each.js","core-js/modules/web.dom-collections.iterator.js","core-js/modules/web.url.js","core-js/modules/web.url.to-json.js","core-js/modules/web.url-search-params.js","core-js/modules/es.array.copy-within.js","core-js/modules/es.array.includes.js","core-js/modules/es.array.join.js","core-js/modules/es.array.last-index-of.js","core-js/modules/es.array.reduce.js","core-js/modules/es.array.slice.js","core-js/modules/es.array-buffer.constructor.js","core-js/modules/es.array-buffer.slice.js","core-js/modules/es.number.constructor.js","core-js/modules/es.parse-int.js","core-js/modules/es.regexp.constructor.js","core-js/modules/es.regexp.to-string.js","core-js/modules/es.string.includes.js","core-js/modules/es.string.starts-with.js","core-js/modules/es.typed-array.float32-array.js","core-js/modules/es.typed-array.float64-array.js","core-js/modules/es.typed-array.int8-array.js","core-js/modules/es.typed-array.int16-array.js","core-js/modules/es.typed-array.int32-array.js","core-js/modules/es.typed-array.uint8-array.js","core-js/modules/es.typed-array.uint8-clamped-array.js","core-js/modules/es.typed-array.uint16-array.js","core-js/modules/es.typed-array.uint32-array.js","core-js/modules/es.typed-array.copy-within.js","core-js/modules/es.typed-array.every.js","core-js/modules/es.typed-array.fill.js","core-js/modules/es.typed-array.filter.js","core-js/modules/es.typed-array.find.js","core-js/modules/es.typed-array.find-index.js","core-js/modules/es.typed-array.for-each.js","core-js/modules/es.typed-array.includes.js","core-js/modules/es.typed-array.index-of.js","core-js/modules/es.typed-array.iterator.js","core-js/modules/es.typed-array.join.js","core-js/modules/es.typed-array.last-index-of.js","core-js/modules/es.typed-array.map.js","core-js/modules/es.typed-array.reduce.js","core-js/modules/es.typed-array.reduce-right.js","core-js/modules/es.typed-array.reverse.js","core-js/modules/es.typed-array.set.js","core-js/modules/es.typed-array.slice.js","core-js/modules/es.typed-array.some.js","core-js/modules/es.typed-array.sort.js","core-js/modules/es.typed-array.subarray.js","core-js/modules/es.typed-array.to-locale-string.js","core-js/modules/es.typed-array.to-string.js","xgplayer","core-js/modules/es.date.to-json.js","core-js/modules/es.object.keys.js","core-js/modules/es.object.get-own-property-descriptor.js","core-js/modules/es.map.js","core-js/modules/es.number.to-fixed.js","core-js/modules/es.parse-float.js","core-js/modules/esnext.map.delete-all.js","core-js/modules/esnext.map.every.js","core-js/modules/esnext.map.filter.js","core-js/modules/esnext.map.find.js","core-js/modules/esnext.map.find-key.js","core-js/modules/esnext.map.includes.js","core-js/modules/esnext.map.key-of.js","core-js/modules/esnext.map.map-keys.js","core-js/modules/esnext.map.map-values.js","core-js/modules/esnext.map.merge.js","core-js/modules/esnext.map.reduce.js","core-js/modules/esnext.map.some.js","core-js/modules/esnext.map.update.js"],a):(e="undefined"!=typeof globalThis?globalThis:e||self).EncryptHlsPlugin=a(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,e.Player)}(this,(function(e,a,c,t,b,r,n,i,d,f,o,s,u,l,h,p,v,y,m,g,_,k,E,S,w,x,T,A,I,D,O,R,L,C,P,j,M,B,U,N,F,G,V,q,z,H,K,$,W,Y,X,Q,J,Z,ee,ae,ce,te,be,re,ne,ie,de,fe,oe,se,ue){"use strict";function le(e,a){(null==a||a>e.length)&&(a=e.length);for(var c=0,t=Array(a);c<a;c++)t[c]=e[c];return t}function he(e,a,c,t,b,r,n){try{var i=e[r](n),d=i.value}catch(f){return void c(f)}i.done?a(d):Promise.resolve(d).then(t,b)}function pe(e){return function(){var a=this,c=arguments;return new Promise((function(t,b){var r=e.apply(a,c);function n(e){he(r,t,b,n,i,"next",e)}function i(e){he(r,t,b,n,i,"throw",e)}n(void 0)}))}}function ve(e,a,c){return a=Se(a),function(e,a){if(a&&("object"==typeof a||"function"==typeof a))return a;if(void 0!==a)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,xe()?Reflect.construct(a,c||[],Se(e).constructor):a.apply(e,c))}function ye(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}function me(e,a,c){if(xe())return Reflect.construct.apply(null,arguments);var t=[null];t.push.apply(t,a);var b=new(e.bind.apply(e,t));return c&&Oe(b,c.prototype),b}function ge(e,a){for(var c=0;c<a.length;c++){var t=a[c];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,Ce(t.key),t)}}function _e(e,a,c){return a&&ge(e.prototype,a),c&&ge(e,c),Object.defineProperty(e,"prototype",{writable:!1}),e}function ke(e,a,c){return(a=Ce(a))in e?Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):e[a]=c,e}function Ee(){return Ee="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,a,c){var t=function(e,a){for(;!{}.hasOwnProperty.call(e,a)&&null!==(e=Se(e)););return e}(e,a);if(t){var b=Object.getOwnPropertyDescriptor(t,a);return b.get?b.get.call(arguments.length<3?e:c):b.value}},Ee.apply(null,arguments)}function Se(e){return(Se=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function we(e,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(a&&a.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),a&&Oe(e,a)}function xe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(a){}return(xe=function(){return!!e})()}function Te(e,a){var c=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),c.push.apply(c,t)}return c}function Ae(e){for(var a=1;a<arguments.length;a++){var c=null!=arguments[a]?arguments[a]:{};a%2?Te(Object(c),!0).forEach((function(a){ke(e,a,c[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(c)):Te(Object(c)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(c,a))}))}return e}function Ie(e,a){if(null==e)return{};var c,t,b=function(e,a){if(null==e)return{};var c={};for(var t in e)if({}.hasOwnProperty.call(e,t)){if(-1!==a.indexOf(t))continue;c[t]=e[t]}return c}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t<r.length;t++)c=r[t],-1===a.indexOf(c)&&{}.propertyIsEnumerable.call(e,c)&&(b[c]=e[c])}return b}function De(){De=function(){return a};var e,a={},c=Object.prototype,t=c.hasOwnProperty,b=Object.defineProperty||function(e,a,c){e[a]=c.value},r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",d=r.toStringTag||"@@toStringTag";function f(e,a,c){return Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}),e[a]}try{f({},"")}catch(L){f=function(e,a,c){return e[a]=c}}function o(e,a,c,t){var r=a&&a.prototype instanceof y?a:y,n=Object.create(r.prototype),i=new O(t||[]);return b(n,"_invoke",{value:T(e,c,i)}),n}function s(e,a,c){try{return{type:"normal",arg:e.call(a,c)}}catch(t){return{type:"throw",arg:t}}}a.wrap=o;var u="suspendedStart",l="suspendedYield",h="executing",p="completed",v={};function y(){}function m(){}function g(){}var _={};f(_,n,(function(){return this}));var k=Object.getPrototypeOf,E=k&&k(k(R([])));E&&E!==c&&t.call(E,n)&&(_=E);var S=g.prototype=y.prototype=Object.create(_);function w(e){["next","throw","return"].forEach((function(a){f(e,a,(function(e){return this._invoke(a,e)}))}))}function x(e,a){function c(b,r,n,i){var d=s(e[b],e,r);if("throw"!==d.type){var f=d.arg,o=f.value;return o&&"object"==typeof o&&t.call(o,"__await")?a.resolve(o.__await).then((function(e){c("next",e,n,i)}),(function(e){c("throw",e,n,i)})):a.resolve(o).then((function(e){f.value=e,n(f)}),(function(e){return c("throw",e,n,i)}))}i(d.arg)}var r;b(this,"_invoke",{value:function(e,t){function b(){return new a((function(a,b){c(e,t,a,b)}))}return r=r?r.then(b,b):b()}})}function T(a,c,t){var b=u;return function(r,n){if(b===h)throw Error("Generator is already running");if(b===p){if("throw"===r)throw n;return{value:e,done:!0}}for(t.method=r,t.arg=n;;){var i=t.delegate;if(i){var d=A(i,t);if(d){if(d===v)continue;return d}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(b===u)throw b=p,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);b=h;var f=s(a,c,t);if("normal"===f.type){if(b=t.done?p:l,f.arg===v)continue;return{value:f.arg,done:t.done}}"throw"===f.type&&(b=p,t.method="throw",t.arg=f.arg)}}}function A(a,c){var t=c.method,b=a.iterator[t];if(b===e)return c.delegate=null,"throw"===t&&a.iterator.return&&(c.method="return",c.arg=e,A(a,c),"throw"===c.method)||"return"!==t&&(c.method="throw",c.arg=new TypeError("The iterator does not provide a '"+t+"' method")),v;var r=s(b,a.iterator,c.arg);if("throw"===r.type)return c.method="throw",c.arg=r.arg,c.delegate=null,v;var n=r.arg;return n?n.done?(c[a.resultName]=n.value,c.next=a.nextLoc,"return"!==c.method&&(c.method="next",c.arg=e),c.delegate=null,v):n:(c.method="throw",c.arg=new TypeError("iterator result is not an object"),c.delegate=null,v)}function I(e){var a={tryLoc:e[0]};1 in e&&(a.catchLoc=e[1]),2 in e&&(a.finallyLoc=e[2],a.afterLoc=e[3]),this.tryEntries.push(a)}function D(e){var a=e.completion||{};a.type="normal",delete a.arg,e.completion=a}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function R(a){if(a||""===a){var c=a[n];if(c)return c.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var b=-1,r=function c(){for(;++b<a.length;)if(t.call(a,b))return c.value=a[b],c.done=!1,c;return c.value=e,c.done=!0,c};return r.next=r}}throw new TypeError(typeof a+" is not iterable")}return m.prototype=g,b(S,"constructor",{value:g,configurable:!0}),b(g,"constructor",{value:m,configurable:!0}),m.displayName=f(g,d,"GeneratorFunction"),a.isGeneratorFunction=function(e){var a="function"==typeof e&&e.constructor;return!!a&&(a===m||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,f(e,d,"GeneratorFunction")),e.prototype=Object.create(S),e},a.awrap=function(e){return{__await:e}},w(x.prototype),f(x.prototype,i,(function(){return this})),a.AsyncIterator=x,a.async=function(e,c,t,b,r){void 0===r&&(r=Promise);var n=new x(o(e,c,t,b),r);return a.isGeneratorFunction(c)?n:n.next().then((function(e){return e.done?e.value:n.next()}))},w(S),f(S,d,"Generator"),f(S,n,(function(){return this})),f(S,"toString",(function(){return"[object Generator]"})),a.keys=function(e){var a=Object(e),c=[];for(var t in a)c.push(t);return c.reverse(),function e(){for(;c.length;){var t=c.pop();if(t in a)return e.value=t,e.done=!1,e}return e.done=!0,e}},a.values=R,O.prototype={constructor:O,reset:function(a){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(D),!a)for(var c in this)"t"===c.charAt(0)&&t.call(this,c)&&!isNaN(+c.slice(1))&&(this[c]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(a){if(this.done)throw a;var c=this;function b(t,b){return i.type="throw",i.arg=a,c.next=t,b&&(c.method="next",c.arg=e),!!b}for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r],i=n.completion;if("root"===n.tryLoc)return b("end");if(n.tryLoc<=this.prev){var d=t.call(n,"catchLoc"),f=t.call(n,"finallyLoc");if(d&&f){if(this.prev<n.catchLoc)return b(n.catchLoc,!0);if(this.prev<n.finallyLoc)return b(n.finallyLoc)}else if(d){if(this.prev<n.catchLoc)return b(n.catchLoc,!0)}else{if(!f)throw Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return b(n.finallyLoc)}}}},abrupt:function(e,a){for(var c=this.tryEntries.length-1;c>=0;--c){var b=this.tryEntries[c];if(b.tryLoc<=this.prev&&t.call(b,"finallyLoc")&&this.prev<b.finallyLoc){var r=b;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=a&&a<=r.finallyLoc&&(r=null);var n=r?r.completion:{};return n.type=e,n.arg=a,r?(this.method="next",this.next=r.finallyLoc,v):this.complete(n)},complete:function(e,a){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&a&&(this.next=a),v},finish:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.finallyLoc===e)return this.complete(c.completion,c.afterLoc),D(c),v}},catch:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.tryLoc===e){var t=c.completion;if("throw"===t.type){var b=t.arg;D(c)}return b}}throw Error("illegal catch attempt")},delegateYield:function(a,c,t){return this.delegate={iterator:R(a),resultName:c,nextLoc:t},"next"===this.method&&(this.arg=e),v}},a}function Oe(e,a){return(Oe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,a){return e.__proto__=a,e})(e,a)}function Re(e,a,c,t){var b=Ee(Se(1&t?e.prototype:e),a,c);return 2&t&&"function"==typeof b?function(e){return b.apply(c,e)}:b}function Le(e){return function(e){if(Array.isArray(e))return le(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,a){if(e){if("string"==typeof e)return le(e,a);var c={}.toString.call(e).slice(8,-1);return"Object"===c&&e.constructor&&(c=e.constructor.name),"Map"===c||"Set"===c?Array.from(e):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?le(e,a):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ce(e){var a=function(e,a){if("object"!=typeof e||!e)return e;var c=e[Symbol.toPrimitive];if(void 0!==c){var t=c.call(e,a||"default");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(e)}(e,"string");return"symbol"==typeof a?a:a+""}function Pe(e){return(Pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var je="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Me(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Be={exports:{}};(function(e){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==je?je:"undefined"!=typeof self?self:{};function c(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t=function(e){return e&&e.Math==Math&&e},b=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof a&&a)||function(){return this}()||Function("return this")(),r={},n=function(e){try{return!!e()}catch(rv){return!0}},i=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),d={},f={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,s=o&&!f.call({1:2},1);d.f=s?function(e){var a=o(this,e);return!!a&&a.enumerable}:f;var u=function(e,a){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:a}},l={}.toString,h=function(e){return l.call(e).slice(8,-1)},p=h,v="".split,y=n((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==p(e)?v.call(e,""):Object(e)}:Object,m=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},g=y,_=m,k=function(e){return g(_(e))},E=function(e){return"object"==typeof e?null!==e:"function"==typeof e},S=E,w=function(e,a){if(!S(e))return e;var c,t;if(a&&"function"==typeof(c=e.toString)&&!S(t=c.call(e)))return t;if("function"==typeof(c=e.valueOf)&&!S(t=c.call(e)))return t;if(!a&&"function"==typeof(c=e.toString)&&!S(t=c.call(e)))return t;throw TypeError("Can't convert object to primitive value")},x=m,T=function(e){return Object(x(e))},A=T,I={}.hasOwnProperty,D=function(e,a){return I.call(A(e),a)},O=E,R=b.document,L=O(R)&&O(R.createElement),C=function(e){return L?R.createElement(e):{}},P=C,j=!i&&!n((function(){return 7!=Object.defineProperty(P("div"),"a",{get:function(){return 7}}).a})),M=i,B=d,U=u,N=k,F=w,G=D,V=j,q=Object.getOwnPropertyDescriptor;r.f=M?q:function(e,a){if(e=N(e),a=F(a,!0),V)try{return q(e,a)}catch(c){}if(G(e,a))return U(!B.f.call(e,a),e[a])};var z={},H=E,K=function(e){if(!H(e))throw TypeError(String(e)+" is not an object");return e},$=i,W=j,Y=K,X=w,Q=Object.defineProperty;z.f=$?Q:function(e,a,c){if(Y(e),a=X(a,!0),Y(c),W)try{return Q(e,a,c)}catch(t){}if("get"in c||"set"in c)throw TypeError("Accessors not supported");return"value"in c&&(e[a]=c.value),e};var J=z,Z=u,ee=i?function(e,a,c){return J.f(e,a,Z(1,c))}:function(e,a,c){return e[a]=c,e},ae={exports:{}},ce=b,te=ee,be=function(e,a){try{te(ce,e,a)}catch(c){ce[e]=a}return a},re=be,ne="__core-js_shared__",ie=b[ne]||re(ne,{}),de=ie,fe=Function.toString;"function"!=typeof de.inspectSource&&(de.inspectSource=function(e){return fe.call(e)});var oe=de.inspectSource,se=oe,ue=b.WeakMap,le="function"==typeof ue&&/native code/.test(se(ue)),he={exports:{}},pe=ie;(he.exports=function(e,a){return pe[e]||(pe[e]=void 0!==a?a:{})})("versions",[]).push({version:"3.12.1",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"});var ve,ye,me,ge=he.exports,_e=0,ke=Math.random(),Ee=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++_e+ke).toString(36)},Se=Ee,we=ge("keys"),xe=function(e){return we[e]||(we[e]=Se(e))},Te={},Ae=le,Ie=E,De=ee,Oe=D,Re=ie,Le=xe,Ce=Te,Pe="Object already initialized",Me=b.WeakMap;if(Ae||Re.state){var Be=Re.state||(Re.state=new Me),Ue=Be.get,Ne=Be.has,Fe=Be.set;ve=function(e,a){if(Ne.call(Be,e))throw new TypeError(Pe);return a.facade=e,Fe.call(Be,e,a),a},ye=function(e){return Ue.call(Be,e)||{}},me=function(e){return Ne.call(Be,e)}}else{var Ge=Le("state");Ce[Ge]=!0,ve=function(e,a){if(Oe(e,Ge))throw new TypeError(Pe);return a.facade=e,De(e,Ge,a),a},ye=function(e){return Oe(e,Ge)?e[Ge]:{}},me=function(e){return Oe(e,Ge)}}var Ve={set:ve,get:ye,has:me,enforce:function(e){return me(e)?ye(e):ve(e,{})},getterFor:function(e){return function(a){var c;if(!Ie(a)||(c=ye(a)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return c}}},qe=b,ze=ee,He=D,Ke=be,$e=oe,We=Ve.get,Ye=Ve.enforce,Xe=String(String).split("String");(ae.exports=function(e,a,c,t){var b,r=!!t&&!!t.unsafe,n=!!t&&!!t.enumerable,i=!!t&&!!t.noTargetGet;"function"==typeof c&&("string"!=typeof a||He(c,"name")||ze(c,"name",a),(b=Ye(c)).source||(b.source=Xe.join("string"==typeof a?a:""))),e!==qe?(r?!i&&e[a]&&(n=!0):delete e[a],n?e[a]=c:ze(e,a,c)):n?e[a]=c:Ke(a,c)})(Function.prototype,"toString",(function(){return"function"==typeof this&&We(this).source||$e(this)}));var Qe=ae.exports,Je=b,Ze=b,ea=function(e){return"function"==typeof e?e:void 0},aa=function(e,a){return arguments.length<2?ea(Je[e])||ea(Ze[e]):Je[e]&&Je[e][a]||Ze[e]&&Ze[e][a]},ca={},ta=Math.ceil,ba=Math.floor,ra=function(e){return isNaN(e=+e)?0:(e>0?ba:ta)(e)},na=ra,ia=Math.min,da=function(e){return e>0?ia(na(e),9007199254740991):0},fa=ra,oa=Math.max,sa=Math.min,ua=function(e,a){var c=fa(e);return c<0?oa(c+a,0):sa(c,a)},la=k,ha=da,pa=ua,va=function(e){return function(a,c,t){var b,r=la(a),n=ha(r.length),i=pa(t,n);if(e&&c!=c){for(;n>i;)if((b=r[i++])!=b)return!0}else for(;n>i;i++)if((e||i in r)&&r[i]===c)return e||i||0;return!e&&-1}},ya={includes:va(!0),indexOf:va(!1)},ma=D,ga=k,_a=ya.indexOf,ka=Te,Ea=function(e,a){var c,t=ga(e),b=0,r=[];for(c in t)!ma(ka,c)&&ma(t,c)&&r.push(c);for(;a.length>b;)ma(t,c=a[b++])&&(~_a(r,c)||r.push(c));return r},Sa=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],wa=Ea,xa=Sa.concat("length","prototype");ca.f=Object.getOwnPropertyNames||function(e){return wa(e,xa)};var Ta={};Ta.f=Object.getOwnPropertySymbols;var Aa=ca,Ia=Ta,Da=K,Oa=aa("Reflect","ownKeys")||function(e){var a=Aa.f(Da(e)),c=Ia.f;return c?a.concat(c(e)):a},Ra=D,La=Oa,Ca=r,Pa=z,ja=n,Ma=/#|\.prototype\./,Ba=function(e,a){var c=Na[Ua(e)];return c==Ga||c!=Fa&&("function"==typeof a?ja(a):!!a)},Ua=Ba.normalize=function(e){return String(e).replace(Ma,".").toLowerCase()},Na=Ba.data={},Fa=Ba.NATIVE="N",Ga=Ba.POLYFILL="P",Va=Ba,qa=b,za=r.f,Ha=ee,Ka=Qe,$a=be,Wa=function(e,a){for(var c=La(a),t=Pa.f,b=Ca.f,r=0;r<c.length;r++){var n=c[r];Ra(e,n)||t(e,n,b(a,n))}},Ya=Va,Xa=function(e,a){var c,t,b,r,n,i=e.target,d=e.global,f=e.stat;if(c=d?qa:f?qa[i]||$a(i,{}):(qa[i]||{}).prototype)for(t in a){if(r=a[t],b=e.noTargetGet?(n=za(c,t))&&n.value:c[t],!Ya(d?t:i+(f?".":"#")+t,e.forced)&&void 0!==b){if(typeof r==typeof b)continue;Wa(r,b)}(e.sham||b&&b.sham)&&Ha(r,"sham",!0),Ka(c,t,r,e)}};function Qa(e,a,c,t,b,r,n){try{var i=e[r](n),d=i.value}catch(f){return void c(f)}i.done?a(d):Promise.resolve(d).then(t,b)}function Ja(e){return function(){var a=this,c=arguments;return new Promise((function(t,b){var r=e.apply(a,c);function n(e){Qa(r,t,b,n,i,"next",e)}function i(e){Qa(r,t,b,n,i,"throw",e)}n(void 0)}))}}function Za(e,a,c){return a=bc(a),function(e,a){if(a&&("object"==typeof a||"function"==typeof a))return a;if(void 0!==a)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,nc()?Reflect.construct(a,c||[],bc(e).constructor):a.apply(e,c))}function ec(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}function ac(e,a){for(var c=0;c<a.length;c++){var t=a[c];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,fc(t.key),t)}}function cc(e,a,c){return a&&ac(e.prototype,a),c&&ac(e,c),Object.defineProperty(e,"prototype",{writable:!1}),e}function tc(e,a,c){return(a=fc(a))in e?Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):e[a]=c,e}function bc(e){return(bc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function rc(e,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(a&&a.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),a&&dc(e,a)}function nc(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(rv){}return(nc=function(){return!!e})()}function ic(){ic=function(){return a};var e,a={},c=Object.prototype,t=c.hasOwnProperty,b=Object.defineProperty||function(e,a,c){e[a]=c.value},r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",d=r.toStringTag||"@@toStringTag";function f(e,a,c){return Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}),e[a]}try{f({},"")}catch(L){f=function(e,a,c){return e[a]=c}}function o(e,a,c,t){var r=a&&a.prototype instanceof y?a:y,n=Object.create(r.prototype),i=new O(t||[]);return b(n,"_invoke",{value:T(e,c,i)}),n}function s(e,a,c){try{return{type:"normal",arg:e.call(a,c)}}catch(t){return{type:"throw",arg:t}}}a.wrap=o;var u="suspendedStart",l="suspendedYield",h="executing",p="completed",v={};function y(){}function m(){}function g(){}var _={};f(_,n,(function(){return this}));var k=Object.getPrototypeOf,E=k&&k(k(R([])));E&&E!==c&&t.call(E,n)&&(_=E);var S=g.prototype=y.prototype=Object.create(_);function w(e){["next","throw","return"].forEach((function(a){f(e,a,(function(e){return this._invoke(a,e)}))}))}function x(e,a){function c(b,r,n,i){var d=s(e[b],e,r);if("throw"!==d.type){var f=d.arg,o=f.value;return o&&"object"==typeof o&&t.call(o,"__await")?a.resolve(o.__await).then((function(e){c("next",e,n,i)}),(function(e){c("throw",e,n,i)})):a.resolve(o).then((function(e){f.value=e,n(f)}),(function(e){return c("throw",e,n,i)}))}i(d.arg)}var r;b(this,"_invoke",{value:function(e,t){function b(){return new a((function(a,b){c(e,t,a,b)}))}return r=r?r.then(b,b):b()}})}function T(a,c,t){var b=u;return function(r,n){if(b===h)throw Error("Generator is already running");if(b===p){if("throw"===r)throw n;return{value:e,done:!0}}for(t.method=r,t.arg=n;;){var i=t.delegate;if(i){var d=A(i,t);if(d){if(d===v)continue;return d}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(b===u)throw b=p,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);b=h;var f=s(a,c,t);if("normal"===f.type){if(b=t.done?p:l,f.arg===v)continue;return{value:f.arg,done:t.done}}"throw"===f.type&&(b=p,t.method="throw",t.arg=f.arg)}}}function A(a,c){var t=c.method,b=a.iterator[t];if(b===e)return c.delegate=null,"throw"===t&&a.iterator.return&&(c.method="return",c.arg=e,A(a,c),"throw"===c.method)||"return"!==t&&(c.method="throw",c.arg=new TypeError("The iterator does not provide a '"+t+"' method")),v;var r=s(b,a.iterator,c.arg);if("throw"===r.type)return c.method="throw",c.arg=r.arg,c.delegate=null,v;var n=r.arg;return n?n.done?(c[a.resultName]=n.value,c.next=a.nextLoc,"return"!==c.method&&(c.method="next",c.arg=e),c.delegate=null,v):n:(c.method="throw",c.arg=new TypeError("iterator result is not an object"),c.delegate=null,v)}function I(e){var a={tryLoc:e[0]};1 in e&&(a.catchLoc=e[1]),2 in e&&(a.finallyLoc=e[2],a.afterLoc=e[3]),this.tryEntries.push(a)}function D(e){var a=e.completion||{};a.type="normal",delete a.arg,e.completion=a}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function R(a){if(a||""===a){var c=a[n];if(c)return c.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var b=-1,r=function c(){for(;++b<a.length;)if(t.call(a,b))return c.value=a[b],c.done=!1,c;return c.value=e,c.done=!0,c};return r.next=r}}throw new TypeError(typeof a+" is not iterable")}return m.prototype=g,b(S,"constructor",{value:g,configurable:!0}),b(g,"constructor",{value:m,configurable:!0}),m.displayName=f(g,d,"GeneratorFunction"),a.isGeneratorFunction=function(e){var a="function"==typeof e&&e.constructor;return!!a&&(a===m||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,f(e,d,"GeneratorFunction")),e.prototype=Object.create(S),e},a.awrap=function(e){return{__await:e}},w(x.prototype),f(x.prototype,i,(function(){return this})),a.AsyncIterator=x,a.async=function(e,c,t,b,r){void 0===r&&(r=Promise);var n=new x(o(e,c,t,b),r);return a.isGeneratorFunction(c)?n:n.next().then((function(e){return e.done?e.value:n.next()}))},w(S),f(S,d,"Generator"),f(S,n,(function(){return this})),f(S,"toString",(function(){return"[object Generator]"})),a.keys=function(e){var a=Object(e),c=[];for(var t in a)c.push(t);return c.reverse(),function e(){for(;c.length;){var t=c.pop();if(t in a)return e.value=t,e.done=!1,e}return e.done=!0,e}},a.values=R,O.prototype={constructor:O,reset:function(a){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(D),!a)for(var c in this)"t"===c.charAt(0)&&t.call(this,c)&&!isNaN(+c.slice(1))&&(this[c]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(a){if(this.done)throw a;var c=this;function b(t,b){return i.type="throw",i.arg=a,c.next=t,b&&(c.method="next",c.arg=e),!!b}for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r],i=n.completion;if("root"===n.tryLoc)return b("end");if(n.tryLoc<=this.prev){var d=t.call(n,"catchLoc"),f=t.call(n,"finallyLoc");if(d&&f){if(this.prev<n.catchLoc)return b(n.catchLoc,!0);if(this.prev<n.finallyLoc)return b(n.finallyLoc)}else if(d){if(this.prev<n.catchLoc)return b(n.catchLoc,!0)}else{if(!f)throw Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return b(n.finallyLoc)}}}},abrupt:function(e,a){for(var c=this.tryEntries.length-1;c>=0;--c){var b=this.tryEntries[c];if(b.tryLoc<=this.prev&&t.call(b,"finallyLoc")&&this.prev<b.finallyLoc){var r=b;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=a&&a<=r.finallyLoc&&(r=null);var n=r?r.completion:{};return n.type=e,n.arg=a,r?(this.method="next",this.next=r.finallyLoc,v):this.complete(n)},complete:function(e,a){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&a&&(this.next=a),v},finish:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.finallyLoc===e)return this.complete(c.completion,c.afterLoc),D(c),v}},catch:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.tryLoc===e){var t=c.completion;if("throw"===t.type){var b=t.arg;D(c)}return b}}throw Error("illegal catch attempt")},delegateYield:function(a,c,t){return this.delegate={iterator:R(a),resultName:c,nextLoc:t},"next"===this.method&&(this.arg=e),v}},a}function dc(e,a){return(dc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,a){return e.__proto__=a,e})(e,a)}function fc(e){var a=function(e,a){if("object"!=typeof e||!e)return e;var c=e[Symbol.toPrimitive];if(void 0!==c){var t=c.call(e,a||"default");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(e)}(e,"string");return"symbol"==typeof a?a:a+""}function oc(e){return(oc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function sc(e){var a="function"==typeof Map?new Map:void 0;return sc=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(a){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==a){if(a.has(e))return a.get(e);a.set(e,c)}function c(){return function(e,a,c){if(nc())return Reflect.construct.apply(null,arguments);var t=[null];t.push.apply(t,a);var b=new(e.bind.apply(e,t));return c&&dc(b,c.prototype),b}(e,arguments,bc(this).constructor)}return c.prototype=Object.create(e.prototype,{constructor:{value:c,enumerable:!1,writable:!0,configurable:!0}}),dc(c,e)},sc(e)}Xa({global:!0},{globalThis:b});var uc,lc,hc=h,pc=Array.isArray||function(e){return"Array"==hc(e)},vc=w,yc=z,mc=u,gc=function(e,a,c){var t=vc(a);t in e?yc.f(e,t,mc(0,c)):e[t]=c},_c=aa("navigator","userAgent")||"",kc=_c,Ec=b.process,Sc=Ec&&Ec.versions,wc=Sc&&Sc.v8;wc?lc=(uc=wc.split("."))[0]<4?1:uc[0]+uc[1]:kc&&(!(uc=kc.match(/Edge\/(\d+)/))||uc[1]>=74)&&(uc=kc.match(/Chrome\/(\d+)/))&&(lc=uc[1]);var xc=lc&&+lc,Tc=xc,Ac=n,Ic=!!Object.getOwnPropertySymbols&&!Ac((function(){return!String(Symbol())||!Symbol.sham&&Tc&&Tc<41})),Dc=Ic&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Oc=b,Rc=D,Lc=Ee,Cc=Ic,Pc=Dc,jc=ge("wks"),Mc=Oc.Symbol,Bc=Pc?Mc:Mc&&Mc.withoutSetter||Lc,Uc=function(e){return Rc(jc,e)&&(Cc||"string"==typeof jc[e])||(Cc&&Rc(Mc,e)?jc[e]=Mc[e]:jc[e]=Bc("Symbol."+e)),jc[e]},Nc=E,Fc=pc,Gc=Uc("species"),Vc=function(e,a){var c;return Fc(e)&&("function"!=typeof(c=e.constructor)||c!==Array&&!Fc(c.prototype)?Nc(c)&&null===(c=c[Gc])&&(c=void 0):c=void 0),new(void 0===c?Array:c)(0===a?0:a)},qc=n,zc=xc,Hc=Uc("species"),Kc=function(e){return zc>=51||!qc((function(){var a=[];return(a.constructor={})[Hc]=function(){return{foo:1}},1!==a[e](Boolean).foo}))},$c=Xa,Wc=n,Yc=pc,Xc=E,Qc=T,Jc=da,Zc=gc,et=Vc,at=Kc,ct=xc,tt=Uc("isConcatSpreadable"),bt=9007199254740991,rt="Maximum allowed index exceeded",nt=ct>=51||!Wc((function(){var e=[];return e[tt]=!1,e.concat()[0]!==e})),it=at("concat"),dt=function(e){if(!Xc(e))return!1;var a=e[tt];return void 0!==a?!!a:Yc(e)};$c({target:"Array",proto:!0,forced:!nt||!it},{concat:function(e){var a,c,t,b,r,n=Qc(this),i=et(n,0),d=0;for(a=-1,t=arguments.length;a<t;a++)if(dt(r=-1===a?n:arguments[a])){if(d+(b=Jc(r.length))>bt)throw TypeError(rt);for(c=0;c<b;c++,d++)c in r&&Zc(i,d,r[c])}else{if(d>=bt)throw TypeError(rt);Zc(i,d++,r)}return i.length=d,i}});var ft,ot=Ea,st=Sa,ut=Object.keys||function(e){return ot(e,st)},lt=z,ht=K,pt=ut,vt=i?Object.defineProperties:function(e,a){ht(e);for(var c,t=pt(a),b=t.length,r=0;b>r;)lt.f(e,c=t[r++],a[c]);return e},yt=aa("document","documentElement"),mt=K,gt=vt,_t=Sa,kt=Te,Et=yt,St=C,wt="prototype",xt="script",Tt=xe("IE_PROTO"),At=function(){},It=function(e){return"<"+xt+">"+e+"</"+xt+">"},Dt=function(){try{ft=document.domain&&new ActiveXObject("htmlfile")}catch(b){}var e,a,c;Dt=ft?function(e){e.write(It("")),e.close();var a=e.parentWindow.Object;return e=null,a}(ft):(a=St("iframe"),c="java"+xt+":",a.style.display="none",Et.appendChild(a),a.src=String(c),(e=a.contentWindow.document).open(),e.write(It("document.F=Object")),e.close(),e.F);for(var t=_t.length;t--;)delete Dt[wt][_t[t]];return Dt()};kt[Tt]=!0;var Ot=Object.create||function(e,a){var c;return null!==e?(At[wt]=mt(e),c=new At,At[wt]=null,c[Tt]=e):c=Dt(),void 0===a?c:gt(c,a)},Rt=Ot,Lt=z,Ct=Uc("unscopables"),Pt=Array.prototype;null==Pt[Ct]&&Lt.f(Pt,Ct,{configurable:!0,value:Rt(null)});var jt,Mt,Bt,Ut={},Nt=!n((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),Ft=D,Gt=T,Vt=Nt,qt=xe("IE_PROTO"),zt=Object.prototype,Ht=Vt?Object.getPrototypeOf:function(e){return e=Gt(e),Ft(e,qt)?e[qt]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?zt:null},Kt=n,$t=Ht,Wt=ee,Yt=D,Xt=Uc("iterator"),Qt=!1;[].keys&&("next"in(Bt=[].keys())?(Mt=$t($t(Bt)))!==Object.prototype&&(jt=Mt):Qt=!0),(null==jt||Kt((function(){var e={};return jt[Xt].call(e)!==e})))&&(jt={}),Yt(jt,Xt)||Wt(jt,Xt,(function(){return this}));var Jt={IteratorPrototype:jt,BUGGY_SAFARI_ITERATORS:Qt},Zt=z.f,eb=D,ab=Uc("toStringTag"),cb=function(e,a,c){e&&!eb(e=c?e:e.prototype,ab)&&Zt(e,ab,{configurable:!0,value:a})},tb=Jt.IteratorPrototype,bb=Ot,rb=u,nb=cb,ib=Ut,db=function(){return this},fb=E,ob=K,sb=function(e){if(!fb(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e},ub=Object.setPrototypeOf||("__proto__"in{}?function(){var e,a=!1,c={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(c,[]),a=c instanceof Array}catch(t){}return function(c,t){return ob(c),sb(t),a?e.call(c,t):c.__proto__=t,c}}():void 0),lb=Xa,hb=function(e,a,c){var t=a+" Iterator";return e.prototype=bb(tb,{next:rb(1,c)}),nb(e,t,!1),ib[t]=db,e},pb=Ht,vb=ub,yb=cb,mb=ee,gb=Qe,_b=Ut,kb=Jt.IteratorPrototype,Eb=Jt.BUGGY_SAFARI_ITERATORS,Sb=Uc("iterator"),wb="keys",xb="values",Tb="entries",Ab=function(){return this},Ib=function(e,a,c,t,b,r,n){hb(c,a,t);var i,d,f,o=function(e){if(e===b&&p)return p;if(!Eb&&e in l)return l[e];switch(e){case wb:case xb:case Tb:return function(){return new c(this,e)}}return function(){return new c(this)}},s=a+" Iterator",u=!1,l=e.prototype,h=l[Sb]||l["@@iterator"]||b&&l[b],p=!Eb&&h||o(b),v="Array"==a&&l.entries||h;if(v&&(i=pb(v.call(new e)),kb!==Object.prototype&&i.next&&(pb(i)!==kb&&(vb?vb(i,kb):"function"!=typeof i[Sb]&&mb(i,Sb,Ab)),yb(i,s,!0))),b==xb&&h&&h.name!==xb&&(u=!0,p=function(){return h.call(this)}),l[Sb]!==p&&mb(l,Sb,p),_b[a]=p,b)if(d={values:o(xb),keys:r?p:o(wb),entries:o(Tb)},n)for(f in d)(Eb||u||!(f in l))&&gb(l,f,d[f]);else lb({target:a,proto:!0,forced:Eb||u},d);return d},Db=k,Ob=function(e){Pt[Ct][e]=!0},Rb=Ut,Lb=Ve,Cb=Ib,Pb="Array Iterator",jb=Lb.set,Mb=Lb.getterFor(Pb),Bb=Cb(Array,"Array",(function(e,a){jb(this,{type:Pb,target:Db(e),index:0,kind:a})}),(function(){var e=Mb(this),a=e.target,c=e.kind,t=e.index++;return!a||t>=a.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==c?{value:t,done:!1}:"values"==c?{value:a[t],done:!1}:{value:[t,a[t]],done:!1}}),"values");Rb.Arguments=Rb.Array,Ob("keys"),Ob("values"),Ob("entries");var Ub="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,Nb=Qe,Fb=function(e,a,c){for(var t in a)Nb(e,t,a[t],c);return e},Gb=function(e,a,c){if(!(e instanceof a))throw TypeError("Incorrect "+(c?c+" ":"")+"invocation");return e},Vb=ra,qb=da,zb=function(e){if(void 0===e)return 0;var a=Vb(e),c=qb(a);if(a!==c)throw RangeError("Wrong length or index");return c},Hb=Math.abs,Kb=Math.pow,$b=Math.floor,Wb=Math.log,Yb=Math.LN2,Xb=T,Qb=ua,Jb=da,Zb=function(e){for(var a=Xb(this),c=Jb(a.length),t=arguments.length,b=Qb(t>1?arguments[1]:void 0,c),r=t>2?arguments[2]:void 0,n=void 0===r?c:Qb(r,c);n>b;)a[b++]=e;return a},er=b,ar=i,cr=Ub,tr=ee,br=Fb,rr=n,nr=Gb,ir=ra,dr=da,fr=zb,or={pack:function(e,a,c){var t,b,r,n=new Array(c),i=8*c-a-1,d=(1<<i)-1,f=d>>1,o=23===a?Kb(2,-24)-Kb(2,-77):0,s=e<0||0===e&&1/e<0?1:0,u=0;for((e=Hb(e))!=e||e===1/0?(b=e!=e?1:0,t=d):(t=$b(Wb(e)/Yb),e*(r=Kb(2,-t))<1&&(t--,r*=2),(e+=t+f>=1?o/r:o*Kb(2,1-f))*r>=2&&(t++,r/=2),t+f>=d?(b=0,t=d):t+f>=1?(b=(e*r-1)*Kb(2,a),t+=f):(b=e*Kb(2,f-1)*Kb(2,a),t=0));a>=8;n[u++]=255&b,b/=256,a-=8);for(t=t<<a|b,i+=a;i>0;n[u++]=255&t,t/=256,i-=8);return n[--u]|=128*s,n},unpack:function(e,a){var c,t=e.length,b=8*t-a-1,r=(1<<b)-1,n=r>>1,i=b-7,d=t-1,f=e[d--],o=127&f;for(f>>=7;i>0;o=256*o+e[d],d--,i-=8);for(c=o&(1<<-i)-1,o>>=-i,i+=a;i>0;c=256*c+e[d],d--,i-=8);if(0===o)o=1-n;else{if(o===r)return c?NaN:f?-1/0:1/0;c+=Kb(2,a),o-=n}return(f?-1:1)*c*Kb(2,o-a)}},sr=Ht,ur=ub,lr=ca.f,hr=z.f,pr=Zb,vr=cb,yr=Ve.get,mr=Ve.set,gr="ArrayBuffer",_r="DataView",kr="prototype",Er="Wrong index",Sr=er[gr],wr=Sr,xr=er[_r],Tr=xr&&xr[kr],Ar=Object.prototype,Ir=er.RangeError,Dr=or.pack,Or=or.unpack,Rr=function(e){return[255&e]},Lr=function(e){return[255&e,e>>8&255]},Cr=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},Pr=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},jr=function(e){return Dr(e,23,4)},Mr=function(e){return Dr(e,52,8)},Br=function(e,a){hr(e[kr],a,{get:function(){return yr(this)[a]}})},Ur=function(e,a,c,t){var b=fr(c),r=yr(e);if(b+a>r.byteLength)throw Ir(Er);var n=yr(r.buffer).bytes,i=b+r.byteOffset,d=n.slice(i,i+a);return t?d:d.reverse()},Nr=function(e,a,c,t,b,r){var n=fr(c),i=yr(e);if(n+a>i.byteLength)throw Ir(Er);for(var d=yr(i.buffer).bytes,f=n+i.byteOffset,o=t(+b),s=0;s<a;s++)d[f+s]=o[r?s:a-s-1]};if(cr){if(!rr((function(){Sr(1)}))||!rr((function(){new Sr(-1)}))||rr((function(){return new Sr,new Sr(1.5),new Sr(NaN),Sr.name!=gr}))){for(var Fr,Gr=(wr=function(e){return nr(this,wr),new Sr(fr(e))})[kr]=Sr[kr],Vr=lr(Sr),qr=0;Vr.length>qr;)(Fr=Vr[qr++])in wr||tr(wr,Fr,Sr[Fr]);Gr.constructor=wr}ur&&sr(Tr)!==Ar&&ur(Tr,Ar);var zr=new xr(new wr(2)),Hr=Tr.setInt8;zr.setInt8(0,2147483648),zr.setInt8(1,2147483649),!zr.getInt8(0)&&zr.getInt8(1)||br(Tr,{setInt8:function(e,a){Hr.call(this,e,a<<24>>24)},setUint8:function(e,a){Hr.call(this,e,a<<24>>24)}},{unsafe:!0})}else wr=function(e){nr(this,wr,gr);var a=fr(e);mr(this,{bytes:pr.call(new Array(a),0),byteLength:a}),ar||(this.byteLength=a)},xr=function(e,a,c){nr(this,xr,_r),nr(e,wr,_r);var t=yr(e).byteLength,b=ir(a);if(b<0||b>t)throw Ir("Wrong offset");if(b+(c=void 0===c?t-b:dr(c))>t)throw Ir("Wrong length");mr(this,{buffer:e,byteLength:c,byteOffset:b}),ar||(this.buffer=e,this.byteLength=c,this.byteOffset=b)},ar&&(Br(wr,"byteLength"),Br(xr,"buffer"),Br(xr,"byteLength"),Br(xr,"byteOffset")),br(xr[kr],{getInt8:function(e){return Ur(this,1,e)[0]<<24>>24},getUint8:function(e){return Ur(this,1,e)[0]},getInt16:function(e){var a=Ur(this,2,e,arguments.length>1?arguments[1]:void 0);return(a[1]<<8|a[0])<<16>>16},getUint16:function(e){var a=Ur(this,2,e,arguments.length>1?arguments[1]:void 0);return a[1]<<8|a[0]},getInt32:function(e){return Pr(Ur(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return Pr(Ur(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return Or(Ur(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return Or(Ur(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,a){Nr(this,1,e,Rr,a)},setUint8:function(e,a){Nr(this,1,e,Rr,a)},setInt16:function(e,a){Nr(this,2,e,Lr,a,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,a){Nr(this,2,e,Lr,a,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,a){Nr(this,4,e,Cr,a,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,a){Nr(this,4,e,Cr,a,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,a){Nr(this,4,e,jr,a,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,a){Nr(this,8,e,Mr,a,arguments.length>2?arguments[2]:void 0)}});vr(wr,gr),vr(xr,_r);var Kr={ArrayBuffer:wr,DataView:xr},$r=aa,Wr=z,Yr=i,Xr=Uc("species"),Qr=function(e){var a=$r(e),c=Wr.f;Yr&&a&&!a[Xr]&&c(a,Xr,{configurable:!0,get:function(){return this}})},Jr=Qr,Zr="ArrayBuffer",en=Kr[Zr];Xa({global:!0,forced:b[Zr]!==en},{ArrayBuffer:en}),Jr(Zr);var an=T,cn=ut;Xa({target:"Object",stat:!0,forced:n((function(){cn(1)}))},{keys:function(e){return cn(an(e))}});var tn={};tn[Uc("toStringTag")]="z";var bn="[object z]"===String(tn),rn=bn,nn=h,dn=Uc("toStringTag"),fn="Arguments"==nn(function(){return arguments}()),on=rn?nn:function(e){var a,c,t;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(c=function(e,a){try{return e[a]}catch(c){}}(a=Object(e),dn))?c:fn?nn(a):"Object"==(t=nn(a))&&"function"==typeof a.callee?"Arguments":t},sn=on,un=bn?{}.toString:function(){return"[object "+sn(this)+"]"};bn||Qe(Object.prototype,"toString",un,{unsafe:!0});var ln=b.Promise,hn=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e},pn=Ut,vn=Uc("iterator"),yn=Array.prototype,mn=function(e){return void 0!==e&&(pn.Array===e||yn[vn]===e)},gn=hn,_n=function(e,a,c){if(gn(e),void 0===a)return e;switch(c){case 0:return function(){return e.call(a)};case 1:return function(c){return e.call(a,c)};case 2:return function(c,t){return e.call(a,c,t)};case 3:return function(c,t,b){return e.call(a,c,t,b)}}return function(){return e.apply(a,arguments)}},kn=on,En=Ut,Sn=Uc("iterator"),wn=function(e){if(null!=e)return e[Sn]||e["@@iterator"]||En[kn(e)]},xn=K,Tn=K,An=mn,In=da,Dn=_n,On=wn,Rn=function(e){var a=e.return;if(void 0!==a)return xn(a.call(e)).value},Ln=function(e,a){this.stopped=e,this.result=a},Cn=function(e,a,c){var t,b,r,n,i,d,f,o=c&&c.that,s=!(!c||!c.AS_ENTRIES),u=!(!c||!c.IS_ITERATOR),l=!(!c||!c.INTERRUPTED),h=Dn(a,o,1+s+l),p=function(e){return t&&Rn(t),new Ln(!0,e)},v=function(e){return s?(Tn(e),l?h(e[0],e[1],p):h(e[0],e[1])):l?h(e,p):h(e)};if(u)t=e;else{if("function"!=typeof(b=On(e)))throw TypeError("Target is not iterable");if(An(b)){for(r=0,n=In(e.length);n>r;r++)if((i=v(e[r]))&&i instanceof Ln)return i;return new Ln(!1)}t=b.call(e)}for(d=t.next;!(f=d.call(t)).done;){try{i=v(f.value)}catch(y){throw Rn(t),y}if("object"==typeof i&&i&&i instanceof Ln)return i}return new Ln(!1)},Pn=Uc("iterator"),jn=!1;try{var Mn=0,Bn={next:function(){return{done:!!Mn++}},return:function(){jn=!0}};Bn[Pn]=function(){return this},Array.from(Bn,(function(){throw 2}))}catch(tg){}var Un,Nn,Fn,Gn=function(e,a){if(!a&&!jn)return!1;var c=!1;try{var t={};t[Pn]=function(){return{next:function(){return{done:c=!0}}}},e(t)}catch(tg){}return c},Vn=K,qn=hn,zn=Uc("species"),Hn=function(e,a){var c,t=Vn(e).constructor;return void 0===t||null==(c=Vn(t)[zn])?a:qn(c)},Kn=/(?:iphone|ipod|ipad).*applewebkit/i.test(_c),$n="process"==h(b.process),Wn=b,Yn=n,Xn=_n,Qn=yt,Jn=C,Zn=Kn,ei=$n,ai=Wn.location,ci=Wn.setImmediate,ti=Wn.clearImmediate,bi=Wn.process,ri=Wn.MessageChannel,ni=Wn.Dispatch,ii=0,di={},fi="onreadystatechange",oi=function(e){if(di.hasOwnProperty(e)){var a=di[e];delete di[e],a()}},si=function(e){return function(){oi(e)}},ui=function(e){oi(e.data)},li=function(e){Wn.postMessage(e+"",ai.protocol+"//"+ai.host)};ci&&ti||(ci=function(e){for(var a=[],c=1;arguments.length>c;)a.push(arguments[c++]);return di[++ii]=function(){("function"==typeof e?e:Function(e)).apply(void 0,a)},Un(ii),ii},ti=function(e){delete di[e]},ei?Un=function(e){bi.nextTick(si(e))}:ni&&ni.now?Un=function(e){ni.now(si(e))}:ri&&!Zn?(Fn=(Nn=new ri).port2,Nn.port1.onmessage=ui,Un=Xn(Fn.postMessage,Fn,1)):Wn.addEventListener&&"function"==typeof postMessage&&!Wn.importScripts&&ai&&"file:"!==ai.protocol&&!Yn(li)?(Un=li,Wn.addEventListener("message",ui,!1)):Un=fi in Jn("script")?function(e){Qn.appendChild(Jn("script"))[fi]=function(){Qn.removeChild(this),oi(e)}}:function(e){setTimeout(si(e),0)});var hi,pi,vi,yi,mi,gi,_i,ki,Ei={set:ci,clear:ti},Si=/web0s(?!.*chrome)/i.test(_c),wi=b,xi=r.f,Ti=Ei.set,Ai=Kn,Ii=Si,Di=$n,Oi=wi.MutationObserver||wi.WebKitMutationObserver,Ri=wi.document,Li=wi.process,Ci=wi.Promise,Pi=xi(wi,"queueMicrotask"),ji=Pi&&Pi.value;ji||(hi=function(){var e,a;for(Di&&(e=Li.domain)&&e.exit();pi;){a=pi.fn,pi=pi.next;try{a()}catch(tg){throw pi?yi():vi=void 0,tg}}vi=void 0,e&&e.enter()},Ai||Di||Ii||!Oi||!Ri?Ci&&Ci.resolve?((_i=Ci.resolve(void 0)).constructor=Ci,ki=_i.then,yi=function(){ki.call(_i,hi)}):yi=Di?function(){Li.nextTick(hi)}:function(){Ti.call(wi,hi)}:(mi=!0,gi=Ri.createTextNode(""),new Oi(hi).observe(gi,{characterData:!0}),yi=function(){gi.data=mi=!mi}));var Mi=ji||function(e){var a={fn:e,next:void 0};vi&&(vi.next=a),pi||(pi=a,yi()),vi=a},Bi={},Ui=hn,Ni=function(e){var a,c;this.promise=new e((function(e,t){if(void 0!==a||void 0!==c)throw TypeError("Bad Promise constructor");a=e,c=t})),this.resolve=Ui(a),this.reject=Ui(c)};Bi.f=function(e){return new Ni(e)};var Fi,Gi,Vi,qi,zi=K,Hi=E,Ki=Bi,$i=b,Wi="object"==typeof window,Yi=Xa,Xi=b,Qi=aa,Ji=ln,Zi=Qe,ed=Fb,ad=ub,cd=cb,td=Qr,bd=E,rd=hn,nd=Gb,id=oe,dd=Cn,fd=Gn,od=Hn,sd=Ei.set,ud=Mi,ld=function(e,a){if(zi(e),Hi(a)&&a.constructor===e)return a;var c=Ki.f(e);return(0,c.resolve)(a),c.promise},hd=function(e,a){var c=$i.console;c&&c.error&&(1===arguments.length?c.error(e):c.error(e,a))},pd=Bi,vd=function(e){try{return{error:!1,value:e()}}catch(tg){return{error:!0,value:tg}}},yd=Ve,md=Va,gd=Wi,_d=$n,kd=xc,Ed=Uc("species"),Sd="Promise",wd=yd.get,xd=yd.set,Td=yd.getterFor(Sd),Ad=Ji&&Ji.prototype,Id=Ji,Dd=Ad,Od=Xi.TypeError,Rd=Xi.document,Ld=Xi.process,Cd=pd.f,Pd=Cd,jd=!!(Rd&&Rd.createEvent&&Xi.dispatchEvent),Md="function"==typeof PromiseRejectionEvent,Bd="unhandledrejection",Ud=!1,Nd=md(Sd,(function(){var e=id(Id)!==String(Id);if(!e&&66===kd)return!0;if(kd>=51&&/native code/.test(Id))return!1;var a=new Id((function(e){e(1)})),c=function(e){e((function(){}),(function(){}))};return(a.constructor={})[Ed]=c,!(Ud=a.then((function(){}))instanceof c)||!e&&gd&&!Md})),Fd=Nd||!fd((function(e){Id.all(e).catch((function(){}))})),Gd=function(e){var a;return!(!bd(e)||"function"!=typeof(a=e.then))&&a},Vd=function(e,a){if(!e.notified){e.notified=!0;var c=e.reactions;ud((function(){for(var t=e.value,b=1==e.state,r=0;c.length>r;){var n,i,d,f=c[r++],o=b?f.ok:f.fail,s=f.resolve,u=f.reject,l=f.domain;try{o?(b||(2===e.rejection&&Kd(e),e.rejection=1),!0===o?n=t:(l&&l.enter(),n=o(t),l&&(l.exit(),d=!0)),n===f.promise?u(Od("Promise-chain cycle")):(i=Gd(n))?i.call(n,s,u):s(n)):u(t)}catch(tg){l&&!d&&l.exit(),u(tg)}}e.reactions=[],e.notified=!1,a&&!e.rejection&&zd(e)}))}},qd=function(e,a,c){var t,b;jd?((t=Rd.createEvent("Event")).promise=a,t.reason=c,t.initEvent(e,!1,!0),Xi.dispatchEvent(t)):t={promise:a,reason:c},!Md&&(b=Xi["on"+e])?b(t):e===Bd&&hd("Unhandled promise rejection",c)},zd=function(e){sd.call(Xi,(function(){var a,c=e.facade,t=e.value;if(Hd(e)&&(a=vd((function(){_d?Ld.emit("unhandledRejection",t,c):qd(Bd,c,t)})),e.rejection=_d||Hd(e)?2:1,a.error))throw a.value}))},Hd=function(e){return 1!==e.rejection&&!e.parent},Kd=function(e){sd.call(Xi,(function(){var a=e.facade;_d?Ld.emit("rejectionHandled",a):qd("rejectionhandled",a,e.value)}))},$d=function(e,a,c){return function(t){e(a,t,c)}},Wd=function(e,a,c){e.done||(e.done=!0,c&&(e=c),e.value=a,e.state=2,Vd(e,!0))},Yd=function(e,a,c){if(!e.done){e.done=!0,c&&(e=c);try{if(e.facade===a)throw Od("Promise can't be resolved itself");var t=Gd(a);t?ud((function(){var c={done:!1};try{t.call(a,$d(Yd,c,e),$d(Wd,c,e))}catch(tg){Wd(c,tg,e)}})):(e.value=a,e.state=1,Vd(e,!1))}catch(tg){Wd({done:!1},tg,e)}}};if(Nd&&(Dd=(Id=function(e){nd(this,Id,Sd),rd(e),Fi.call(this);var a=wd(this);try{e($d(Yd,a),$d(Wd,a))}catch(tg){Wd(a,tg)}}).prototype,(Fi=function(e){xd(this,{type:Sd,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=ed(Dd,{then:function(e,a){var c=Td(this),t=Cd(od(this,Id));return t.ok="function"!=typeof e||e,t.fail="function"==typeof a&&a,t.domain=_d?Ld.domain:void 0,c.parent=!0,c.reactions.push(t),0!=c.state&&Vd(c,!1),t.promise},catch:function(e){return this.then(void 0,e)}}),Gi=function(){var e=new Fi,a=wd(e);this.promise=e,this.resolve=$d(Yd,a),this.reject=$d(Wd,a)},pd.f=Cd=function(e){return e===Id||e===Vi?new Gi(e):Pd(e)},"function"==typeof Ji&&Ad!==Object.prototype)){qi=Ad.then,Ud||(Zi(Ad,"then",(function(e,a){var c=this;return new Id((function(e,a){qi.call(c,e,a)})).then(e,a)}),{unsafe:!0}),Zi(Ad,"catch",Dd.catch,{unsafe:!0}));try{delete Ad.constructor}catch(tg){}ad&&ad(Ad,Dd)}Yi({global:!0,wrap:!0,forced:Nd},{Promise:Id}),cd(Id,Sd,!1),td(Sd),Vi=Qi(Sd),Yi({target:Sd,stat:!0,forced:Nd},{reject:function(e){var a=Cd(this);return a.reject.call(void 0,e),a.promise}}),Yi({target:Sd,stat:!0,forced:Nd},{resolve:function(e){return ld(this,e)}}),Yi({target:Sd,stat:!0,forced:Fd},{all:function(e){var a=this,c=Cd(a),t=c.resolve,b=c.reject,r=vd((function(){var c=rd(a.resolve),r=[],n=0,i=1;dd(e,(function(e){var d=n++,f=!1;r.push(void 0),i++,c.call(a,e).then((function(e){f||(f=!0,r[d]=e,--i||t(r))}),b)})),--i||t(r)}));return r.error&&b(r.value),c.promise},race:function(e){var a=this,c=Cd(a),t=c.reject,b=vd((function(){var b=rd(a.resolve);dd(e,(function(e){b.call(a,e).then(c.resolve,t)}))}));return b.error&&t(b.value),c.promise}});var Xd=K,Qd=function(){var e=Xd(this),a="";return e.global&&(a+="g"),e.ignoreCase&&(a+="i"),e.multiline&&(a+="m"),e.dotAll&&(a+="s"),e.unicode&&(a+="u"),e.sticky&&(a+="y"),a},Jd=Qe,Zd=K,ef=n,af=Qd,cf="toString",tf=RegExp.prototype,bf=tf[cf],rf=ef((function(){return"/a/b"!=bf.call({source:"a",flags:"b"})})),nf=bf.name!=cf;(rf||nf)&&Jd(RegExp.prototype,cf,(function(){var e=Zd(this),a=String(e.source),c=e.flags;return"/"+a+"/"+String(void 0===c&&e instanceof RegExp&&!("flags"in tf)?af.call(e):c)}),{unsafe:!0});var df,ff={exports:{}},of=Ub,sf=i,uf=b,lf=E,hf=D,pf=on,vf=ee,yf=Qe,mf=z.f,gf=Ht,_f=ub,kf=Uc,Ef=Ee,Sf=uf.Int8Array,wf=Sf&&Sf.prototype,xf=uf.Uint8ClampedArray,Tf=xf&&xf.prototype,Af=Sf&&gf(Sf),If=wf&&gf(wf),Df=Object.prototype,Of=Df.isPrototypeOf,Rf=kf("toStringTag"),Lf=Ef("TYPED_ARRAY_TAG"),Cf=of&&!!_f&&"Opera"!==pf(uf.opera),Pf=!1,jf={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Mf={BigInt64Array:8,BigUint64Array:8},Bf=function(e){if(!lf(e))return!1;var a=pf(e);return hf(jf,a)||hf(Mf,a)};for(df in jf)uf[df]||(Cf=!1);if((!Cf||"function"!=typeof Af||Af===Function.prototype)&&(Af=function(){throw TypeError("Incorrect invocation")},Cf))for(df in jf)uf[df]&&_f(uf[df],Af);if((!Cf||!If||If===Df)&&(If=Af.prototype,Cf))for(df in jf)uf[df]&&_f(uf[df].prototype,If);if(Cf&&gf(Tf)!==If&&_f(Tf,If),sf&&!hf(If,Rf))for(df in Pf=!0,mf(If,Rf,{get:function(){return lf(this)?this[Lf]:void 0}}),jf)uf[df]&&vf(uf[df],Lf,df);var Uf={NATIVE_ARRAY_BUFFER_VIEWS:Cf,TYPED_ARRAY_TAG:Pf&&Lf,aTypedArray:function(e){if(Bf(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(_f){if(Of.call(Af,e))return e}else for(var a in jf)if(hf(jf,df)){var c=uf[a];if(c&&(e===c||Of.call(c,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,a,c){if(sf){if(c)for(var t in jf){var b=uf[t];if(b&&hf(b.prototype,e))try{delete b.prototype[e]}catch(tg){}}If[e]&&!c||yf(If,e,c?a:Cf&&wf[e]||a)}},exportTypedArrayStaticMethod:function(e,a,c){var t,b;if(sf){if(_f){if(c)for(t in jf)if((b=uf[t])&&hf(b,e))try{delete b[e]}catch(tg){}if(Af[e]&&!c)return;try{return yf(Af,e,c?a:Cf&&Af[e]||a)}catch(tg){}}for(t in jf)!(b=uf[t])||b[e]&&!c||yf(b,e,a)}},isView:function(e){if(!lf(e))return!1;var a=pf(e);return"DataView"===a||hf(jf,a)||hf(Mf,a)},isTypedArray:Bf,TypedArray:Af,TypedArrayPrototype:If},Nf=b,Ff=n,Gf=Gn,Vf=Uf.NATIVE_ARRAY_BUFFER_VIEWS,qf=Nf.ArrayBuffer,zf=Nf.Int8Array,Hf=!Vf||!Ff((function(){zf(1)}))||!Ff((function(){new zf(-1)}))||!Gf((function(e){new zf,new zf(null),new zf(1.5),new zf(e)}),!0)||Ff((function(){return 1!==new zf(new qf(2),1,void 0).length})),Kf=ra,$f=function(e){var a=Kf(e);if(a<0)throw RangeError("The argument can't be less than 0");return a},Wf=function(e,a){var c=$f(e);if(c%a)throw RangeError("Wrong offset");return c},Yf=T,Xf=da,Qf=wn,Jf=mn,Zf=_n,eo=Uf.aTypedArrayConstructor,ao=_n,co=y,to=T,bo=da,ro=Vc,no=[].push,io=function(e){var a=1==e,c=2==e,t=3==e,b=4==e,r=6==e,n=7==e,i=5==e||r;return function(d,f,o,s){for(var u,l,h=to(d),p=co(h),v=ao(f,o,3),y=bo(p.length),m=0,g=s||ro,_=a?g(d,y):c||n?g(d,0):void 0;y>m;m++)if((i||m in p)&&(l=v(u=p[m],m,h),e))if(a)_[m]=l;else if(l)switch(e){case 3:return!0;case 5:return u;case 6:return m;case 2:no.call(_,u)}else switch(e){case 4:return!1;case 7:no.call(_,u)}return r?-1:t||b?b:_}},fo={forEach:io(0),map:io(1),filter:io(2),some:io(3),every:io(4),find:io(5),findIndex:io(6),filterOut:io(7)},oo=E,so=ub,uo=function(e,a,c){var t,b;return so&&"function"==typeof(t=a.constructor)&&t!==c&&oo(b=t.prototype)&&b!==c.prototype&&so(e,b),e},lo=Xa,ho=b,po=i,vo=Hf,yo=Uf,mo=Kr,go=Gb,_o=u,ko=ee,Eo=da,So=zb,wo=Wf,xo=w,To=D,Ao=on,Io=E,Do=Ot,Oo=ub,Ro=ca.f,Lo=function(e){var a,c,t,b,r,n,i=Yf(e),d=arguments.length,f=d>1?arguments[1]:void 0,o=void 0!==f,s=Qf(i);if(null!=s&&!Jf(s))for(n=(r=s.call(i)).next,i=[];!(b=n.call(r)).done;)i.push(b.value);for(o&&d>2&&(f=Zf(f,arguments[2],2)),c=Xf(i.length),t=new(eo(this))(c),a=0;c>a;a++)t[a]=o?f(i[a],a):i[a];return t},Co=fo.forEach,Po=Qr,jo=z,Mo=r,Bo=uo,Uo=Ve.get,No=Ve.set,Fo=jo.f,Go=Mo.f,Vo=Math.round,qo=ho.RangeError,zo=mo.ArrayBuffer,Ho=mo.DataView,Ko=yo.NATIVE_ARRAY_BUFFER_VIEWS,$o=yo.TYPED_ARRAY_TAG,Wo=yo.TypedArray,Yo=yo.TypedArrayPrototype,Xo=yo.aTypedArrayConstructor,Qo=yo.isTypedArray,Jo="BYTES_PER_ELEMENT",Zo="Wrong length",es=function(e,a){for(var c=0,t=a.length,b=new(Xo(e))(t);t>c;)b[c]=a[c++];return b},as=function(e,a){Fo(e,a,{get:function(){return Uo(this)[a]}})},cs=function(e){var a;return e instanceof zo||"ArrayBuffer"==(a=Ao(e))||"SharedArrayBuffer"==a},ts=function(e,a){return Qo(e)&&"symbol"!=typeof a&&a in e&&String(+a)==String(a)},bs=function(e,a){return ts(e,a=xo(a,!0))?_o(2,e[a]):Go(e,a)},rs=function(e,a,c){return!(ts(e,a=xo(a,!0))&&Io(c)&&To(c,"value"))||To(c,"get")||To(c,"set")||c.configurable||To(c,"writable")&&!c.writable||To(c,"enumerable")&&!c.enumerable?Fo(e,a,c):(e[a]=c.value,e)};po?(Ko||(Mo.f=bs,jo.f=rs,as(Yo,"buffer"),as(Yo,"byteOffset"),as(Yo,"byteLength"),as(Yo,"length")),lo({target:"Object",stat:!0,forced:!Ko},{getOwnPropertyDescriptor:bs,defineProperty:rs}),ff.exports=function(e,a,c){var t=e.match(/\d+$/)[0]/8,b=e+(c?"Clamped":"")+"Array",r="get"+e,n="set"+e,i=ho[b],d=i,f=d&&d.prototype,o={},s=function(e,a){Fo(e,a,{get:function(){return e=a,(c=Uo(this)).view[r](e*t+c.byteOffset,!0);var e,c},set:function(e){return b=a,r=e,i=Uo(this),c&&(r=(r=Vo(r))<0?0:r>255?255:255&r),void i.view[n](b*t+i.byteOffset,r,!0);var b,r,i},enumerable:!0})};Ko?vo&&(d=a((function(e,a,c,r){return go(e,d,b),Bo(Io(a)?cs(a)?void 0!==r?new i(a,wo(c,t),r):void 0!==c?new i(a,wo(c,t)):new i(a):Qo(a)?es(d,a):Lo.call(d,a):new i(So(a)),e,d)})),Oo&&Oo(d,Wo),Co(Ro(i),(function(e){e in d||ko(d,e,i[e])})),d.prototype=f):(d=a((function(e,a,c,r){go(e,d,b);var n,i,f,o=0,u=0;if(Io(a)){if(!cs(a))return Qo(a)?es(d,a):Lo.call(d,a);n=a,u=wo(c,t);var l=a.byteLength;if(void 0===r){if(l%t)throw qo(Zo);if((i=l-u)<0)throw qo(Zo)}else if((i=Eo(r)*t)+u>l)throw qo(Zo);f=i/t}else f=So(a),n=new zo(i=f*t);for(No(e,{buffer:n,byteOffset:u,byteLength:i,length:f,view:new Ho(n)});o<f;)s(e,o++)})),Oo&&Oo(d,Wo),f=d.prototype=Do(Yo)),f.constructor!==d&&ko(f,"constructor",d),$o&&ko(f,$o,b),o[b]=d,lo({global:!0,forced:d!=i,sham:!Ko},o),Jo in d||ko(d,Jo,t),Jo in f||ko(f,Jo,t),Po(b)}):ff.exports=function(){};var ns=ff.exports;ns("Uint8",(function(e){return function(a,c,t){return e(this,a,c,t)}})),ns("Uint16",(function(e){return function(a,c,t){return e(this,a,c,t)}}));var is=T,ds=ua,fs=da,os=Math.min,ss=[].copyWithin||function(e,a){var c=is(this),t=fs(c.length),b=ds(e,t),r=ds(a,t),n=arguments.length>2?arguments[2]:void 0,i=os((void 0===n?t:ds(n,t))-r,t-b),d=1;for(r<b&&b<r+i&&(d=-1,r+=i-1,b+=i-1);i-- >0;)r in c?c[b]=c[r]:delete c[b],b+=d,r+=d;return c},us=ss,ls=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("copyWithin",(function(e,a){return us.call(ls(this),e,a,arguments.length>2?arguments[2]:void 0)}));var hs=fo.every,ps=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("every",(function(e){return hs(ps(this),e,arguments.length>1?arguments[1]:void 0)}));var vs=Zb,ys=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("fill",(function(e){return vs.apply(ys(this),arguments)}));var ms=Uf.aTypedArrayConstructor,gs=Hn,_s=fo.filter,ks=function(e,a){for(var c=gs(e,e.constructor),t=0,b=a.length,r=new(ms(c))(b);b>t;)r[t]=a[t++];return r},Es=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("filter",(function(e){var a=_s(Es(this),e,arguments.length>1?arguments[1]:void 0);return ks(this,a)}));var Ss=fo.find,ws=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("find",(function(e){return Ss(ws(this),e,arguments.length>1?arguments[1]:void 0)}));var xs=fo.findIndex,Ts=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("findIndex",(function(e){return xs(Ts(this),e,arguments.length>1?arguments[1]:void 0)}));var As=fo.forEach,Is=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("forEach",(function(e){As(Is(this),e,arguments.length>1?arguments[1]:void 0)}));var Ds=ya.includes,Os=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("includes",(function(e){return Ds(Os(this),e,arguments.length>1?arguments[1]:void 0)}));var Rs=ya.indexOf,Ls=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("indexOf",(function(e){return Rs(Ls(this),e,arguments.length>1?arguments[1]:void 0)}));var Cs=b,Ps=Uf,js=Bb,Ms=Uc("iterator"),Bs=Cs.Uint8Array,Us=js.values,Ns=js.keys,Fs=js.entries,Gs=Ps.aTypedArray,Vs=Ps.exportTypedArrayMethod,qs=Bs&&Bs.prototype[Ms],zs=!!qs&&("values"==qs.name||null==qs.name),Hs=function(){return Us.call(Gs(this))};Vs("entries",(function(){return Fs.call(Gs(this))})),Vs("keys",(function(){return Ns.call(Gs(this))})),Vs("values",Hs,!zs),Vs(Ms,Hs,!zs);var Ks=Uf.aTypedArray,$s=[].join;(0,Uf.exportTypedArrayMethod)("join",(function(e){return $s.apply(Ks(this),arguments)}));var Ws=n,Ys=function(e,a){var c=[][e];return!!c&&Ws((function(){c.call(null,a||function(){throw 1},1)}))},Xs=k,Qs=ra,Js=da,Zs=Ys,eu=Math.min,au=[].lastIndexOf,cu=!!au&&1/[1].lastIndexOf(1,-0)<0,tu=Zs("lastIndexOf"),bu=cu||!tu?function(e){if(cu)return au.apply(this,arguments)||0;var a=Xs(this),c=Js(a.length),t=c-1;for(arguments.length>1&&(t=eu(t,Qs(arguments[1]))),t<0&&(t=c+t);t>=0;t--)if(t in a&&a[t]===e)return t||0;return-1}:au,ru=bu,nu=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("lastIndexOf",(function(e){return ru.apply(nu(this),arguments)}));var iu=fo.map,du=Hn,fu=Uf.aTypedArray,ou=Uf.aTypedArrayConstructor;(0,Uf.exportTypedArrayMethod)("map",(function(e){return iu(fu(this),e,arguments.length>1?arguments[1]:void 0,(function(e,a){return new(ou(du(e,e.constructor)))(a)}))}));var su=hn,uu=T,lu=y,hu=da,pu=function(e){return function(a,c,t,b){su(c);var r=uu(a),n=lu(r),i=hu(r.length),d=e?i-1:0,f=e?-1:1;if(t<2)for(;;){if(d in n){b=n[d],d+=f;break}if(d+=f,e?d<0:i<=d)throw TypeError("Reduce of empty array with no initial value")}for(;e?d>=0:i>d;d+=f)d in n&&(b=c(b,n[d],d,r));return b}},vu={left:pu(!1),right:pu(!0)},yu=vu.left,mu=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("reduce",(function(e){return yu(mu(this),e,arguments.length,arguments.length>1?arguments[1]:void 0)}));var gu=vu.right,_u=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("reduceRight",(function(e){return gu(_u(this),e,arguments.length,arguments.length>1?arguments[1]:void 0)}));var ku=Uf.aTypedArray,Eu=Uf.exportTypedArrayMethod,Su=Math.floor;Eu("reverse",(function(){for(var e,a=this,c=ku(a).length,t=Su(c/2),b=0;b<t;)e=a[b],a[b++]=a[--c],a[c]=e;return a}));var wu=da,xu=Wf,Tu=T,Au=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("set",(function(e){Au(this);var a=xu(arguments.length>1?arguments[1]:void 0,1),c=this.length,t=Tu(e),b=wu(t.length),r=0;if(b+a>c)throw RangeError("Wrong length");for(;r<b;)this[a+r]=t[r++]}),n((function(){new Int8Array(1).set({})})));var Iu=Hn,Du=Uf.aTypedArray,Ou=Uf.aTypedArrayConstructor,Ru=[].slice;(0,Uf.exportTypedArrayMethod)("slice",(function(e,a){for(var c=Ru.call(Du(this),e,a),t=Iu(this,this.constructor),b=0,r=c.length,n=new(Ou(t))(r);r>b;)n[b]=c[b++];return n}),n((function(){new Int8Array(1).slice()})));var Lu=fo.some,Cu=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("some",(function(e){return Lu(Cu(this),e,arguments.length>1?arguments[1]:void 0)}));var Pu=Uf.aTypedArray,ju=[].sort;(0,Uf.exportTypedArrayMethod)("sort",(function(e){return ju.call(Pu(this),e)}));var Mu=da,Bu=ua,Uu=Hn,Nu=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("subarray",(function(e,a){var c=Nu(this),t=c.length,b=Bu(e,t);return new(Uu(c,c.constructor))(c.buffer,c.byteOffset+b*c.BYTES_PER_ELEMENT,Mu((void 0===a?t:Bu(a,t))-b))}));var Fu=Uf,Gu=n,Vu=b.Int8Array,qu=Fu.aTypedArray,zu=Fu.exportTypedArrayMethod,Hu=[].toLocaleString,Ku=[].slice,$u=!!Vu&&Gu((function(){Hu.call(new Vu(1))}));zu("toLocaleString",(function(){return Hu.apply($u?Ku.call(qu(this)):qu(this),arguments)}),Gu((function(){return[1,2].toLocaleString()!=new Vu([1,2]).toLocaleString()}))||!Gu((function(){Vu.prototype.toLocaleString.call([1,2])})));var Wu=Uf.exportTypedArrayMethod,Yu=n,Xu=b.Uint8Array,Qu=Xu&&Xu.prototype||{},Ju=[].toString,Zu=[].join;Yu((function(){Ju.call({})}))&&(Ju=function(){return Zu.call(this)});var el=Qu.toString!=Ju;Wu("toString",Ju,el);var al={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},cl=fo.forEach,tl=Ys("forEach")?[].forEach:function(e){return cl(this,e,arguments.length>1?arguments[1]:void 0)},bl=b,rl=al,nl=tl,il=ee;for(var dl in rl){var fl=bl[dl],ol=fl&&fl.prototype;if(ol&&ol.forEach!==nl)try{il(ol,"forEach",nl)}catch(tg){ol.forEach=nl}}var sl=b,ul=al,ll=Bb,hl=ee,pl=Uc,vl=pl("iterator"),yl=pl("toStringTag"),ml=ll.values;for(var gl in ul){var _l=sl[gl],kl=_l&&_l.prototype;if(kl){if(kl[vl]!==ml)try{hl(kl,vl,ml)}catch(tg){kl[vl]=ml}if(kl[yl]||hl(kl,yl,gl),ul[gl])for(var El in ll)if(kl[El]!==ll[El])try{hl(kl,El,ll[El])}catch(tg){kl[El]=ll[El]}}}var Sl={exports:{}};!function(e){var a=Object.prototype.hasOwnProperty,c="~";function t(){}function b(e,a,c){this.fn=e,this.context=a,this.once=c||!1}function r(e,a,t,r,n){if("function"!=typeof t)throw new TypeError("The listener must be a function");var i=new b(t,r||e,n),d=c?c+a:a;return e._events[d]?e._events[d].fn?e._events[d]=[e._events[d],i]:e._events[d].push(i):(e._events[d]=i,e._eventsCount++),e}function n(e,a){0==--e._eventsCount?e._events=new t:delete e._events[a]}function i(){this._events=new t,this._eventsCount=0}Object.create&&(t.prototype=Object.create(null),(new t).__proto__||(c=!1)),i.prototype.eventNames=function(){var e,t,b=[];if(0===this._eventsCount)return b;for(t in e=this._events)a.call(e,t)&&b.push(c?t.slice(1):t);return Object.getOwnPropertySymbols?b.concat(Object.getOwnPropertySymbols(e)):b},i.prototype.listeners=function(e){var a=c?c+e:e,t=this._events[a];if(!t)return[];if(t.fn)return[t.fn];for(var b=0,r=t.length,n=new Array(r);b<r;b++)n[b]=t[b].fn;return n},i.prototype.listenerCount=function(e){var a=c?c+e:e,t=this._events[a];return t?t.fn?1:t.length:0},i.prototype.emit=function(e,a,t,b,r,n){var i=c?c+e:e;if(!this._events[i])return!1;var d,f,o=this._events[i],s=arguments.length;if(o.fn){switch(o.once&&this.removeListener(e,o.fn,void 0,!0),s){case 1:return o.fn.call(o.context),!0;case 2:return o.fn.call(o.context,a),!0;case 3:return o.fn.call(o.context,a,t),!0;case 4:return o.fn.call(o.context,a,t,b),!0;case 5:return o.fn.call(o.context,a,t,b,r),!0;case 6:return o.fn.call(o.context,a,t,b,r,n),!0}for(f=1,d=new Array(s-1);f<s;f++)d[f-1]=arguments[f];o.fn.apply(o.context,d)}else{var u,l=o.length;for(f=0;f<l;f++)switch(o[f].once&&this.removeListener(e,o[f].fn,void 0,!0),s){case 1:o[f].fn.call(o[f].context);break;case 2:o[f].fn.call(o[f].context,a);break;case 3:o[f].fn.call(o[f].context,a,t);break;case 4:o[f].fn.call(o[f].context,a,t,b);break;default:if(!d)for(u=1,d=new Array(s-1);u<s;u++)d[u-1]=arguments[u];o[f].fn.apply(o[f].context,d)}}return!0},i.prototype.on=function(e,a,c){return r(this,e,a,c,!1)},i.prototype.once=function(e,a,c){return r(this,e,a,c,!0)},i.prototype.removeListener=function(e,a,t,b){var r=c?c+e:e;if(!this._events[r])return this;if(!a)return n(this,r),this;var i=this._events[r];if(i.fn)i.fn!==a||b&&!i.once||t&&i.context!==t||n(this,r);else{for(var d=0,f=[],o=i.length;d<o;d++)(i[d].fn!==a||b&&!i[d].once||t&&i[d].context!==t)&&f.push(i[d]);f.length?this._events[r]=1===f.length?f[0]:f:n(this,r)}return this},i.prototype.removeAllListeners=function(e){var a;return e?(a=c?c+e:e,this._events[a]&&n(this,a)):(this._events=new t,this._eventsCount=0),this},i.prototype.off=i.prototype.removeListener,i.prototype.addListener=i.prototype.on,i.prefixed=c,i.EventEmitter=i,e.exports=i}(Sl);var wl=c(Sl.exports),xl=Xa,Tl=k,Al=[].join,Il=y!=Object,Dl=Ys("join",",");xl({target:"Array",proto:!0,forced:Il||!Dl},{join:function(e){return Al.call(Tl(this),void 0===e?",":e)}});var Ol=fo.map;Xa({target:"Array",proto:!0,forced:!Kc("map")},{map:function(e){return Ol(this,e,arguments.length>1?arguments[1]:void 0)}});var Rl=Xa,Ll=E,Cl=pc,Pl=ua,jl=da,Ml=k,Bl=gc,Ul=Uc,Nl=Kc("slice"),Fl=Ul("species"),Gl=[].slice,Vl=Math.max;Rl({target:"Array",proto:!0,forced:!Nl},{slice:function(e,a){var c,t,b,r=Ml(this),n=jl(r.length),i=Pl(e,n),d=Pl(void 0===a?n:a,n);if(Cl(r)&&("function"!=typeof(c=r.constructor)||c!==Array&&!Cl(c.prototype)?Ll(c)&&null===(c=c[Fl])&&(c=void 0):c=void 0,c===Array||void 0===c))return Gl.call(r,i,d);for(t=new(void 0===c?Array:c)(Vl(d-i,0)),b=0;i<d;i++,b++)i in r&&Bl(t,b,r[i]);return t.length=b,t}});var ql=m,zl="[\t\n\v\f\r \u2028\u2029\ufeff]",Hl=RegExp("^"+zl+zl+"*"),Kl=RegExp(zl+zl+"*$"),$l=function(e){return function(a){var c=String(ql(a));return 1&e&&(c=c.replace(Hl,"")),2&e&&(c=c.replace(Kl,"")),c}},Wl={start:$l(1),end:$l(2),trim:$l(3)},Yl=i,Xl=b,Ql=Va,Jl=Qe,Zl=D,eh=h,ah=uo,ch=w,th=n,bh=Ot,rh=ca.f,nh=r.f,ih=z.f,dh=Wl.trim,fh="Number",oh=Xl[fh],sh=oh.prototype,uh=eh(bh(sh))==fh,lh=function(e){var a,c,t,b,r,n,i,d,f=ch(e,!1);if("string"==typeof f&&f.length>2)if(43===(a=(f=dh(f)).charCodeAt(0))||45===a){if(88===(c=f.charCodeAt(2))||120===c)return NaN}else if(48===a){switch(f.charCodeAt(1)){case 66:case 98:t=2,b=49;break;case 79:case 111:t=8,b=55;break;default:return+f}for(n=(r=f.slice(2)).length,i=0;i<n;i++)if((d=r.charCodeAt(i))<48||d>b)return NaN;return parseInt(r,t)}return+f};if(Ql(fh,!oh(" 0o1")||!oh("0b1")||oh("+0x1"))){for(var hh,ph=function(e){var a=arguments.length<1?0:e,c=this;return c instanceof ph&&(uh?th((function(){sh.valueOf.call(c)})):eh(c)!=fh)?ah(new oh(lh(a)),c,ph):lh(a)},vh=Yl?rh(oh):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,fromString,range".split(","),yh=0;vh.length>yh;yh++)Zl(oh,hh=vh[yh])&&!Zl(ph,hh)&&ih(ph,hh,nh(oh,hh));ph.prototype=sh,sh.constructor=ph,Jl(Xl,fh,ph)}var mh={},gh=n;function _h(e,a){return RegExp(e,a)}mh.UNSUPPORTED_Y=gh((function(){var e=_h("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),mh.BROKEN_CARET=gh((function(){var e=_h("^r","gy");return e.lastIndex=2,null!=e.exec("str")}));var kh,Eh,Sh=Qd,wh=mh,xh=ge,Th=RegExp.prototype.exec,Ah=xh("native-string-replace",String.prototype.replace),Ih=Th,Dh=(kh=/a/,Eh=/b*/g,Th.call(kh,"a"),Th.call(Eh,"a"),0!==kh.lastIndex||0!==Eh.lastIndex),Oh=wh.UNSUPPORTED_Y||wh.BROKEN_CARET,Rh=void 0!==/()??/.exec("")[1];(Dh||Rh||Oh)&&(Ih=function(e){var a,c,t,b,r=this,n=Oh&&r.sticky,i=Sh.call(r),d=r.source,f=0,o=e;return n&&(-1===(i=i.replace("y","")).indexOf("g")&&(i+="g"),o=String(e).slice(r.lastIndex),r.lastIndex>0&&(!r.multiline||r.multiline&&"\n"!==e[r.lastIndex-1])&&(d="(?: "+d+")",o=" "+o,f++),c=new RegExp("^(?:"+d+")",i)),Rh&&(c=new RegExp("^"+d+"$(?!\\s)",i)),Dh&&(a=r.lastIndex),t=Th.call(n?c:r,o),n?t?(t.input=t.input.slice(f),t[0]=t[0].slice(f),t.index=r.lastIndex,r.lastIndex+=t[0].length):r.lastIndex=0:Dh&&t&&(r.lastIndex=r.global?t.index+t[0].length:a),Rh&&t&&t.length>1&&Ah.call(t[0],c,(function(){for(b=1;b<arguments.length-2;b++)void 0===arguments[b]&&(t[b]=void 0)})),t});var Lh=Ih;Xa({target:"RegExp",proto:!0,forced:/./.exec!==Lh},{exec:Lh});var Ch=Qe,Ph=Lh,jh=n,Mh=Uc,Bh=ee,Uh=Mh("species"),Nh=RegExp.prototype,Fh=!jh((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")})),Gh="$0"==="a".replace(/./,"$0"),Vh=Mh("replace"),qh=!!/./[Vh]&&""===/./[Vh]("a","$0"),zh=!jh((function(){var e=/(?:)/,a=e.exec;e.exec=function(){return a.apply(this,arguments)};var c="ab".split(e);return 2!==c.length||"a"!==c[0]||"b"!==c[1]})),Hh=function(e,a,c,t){var b=Mh(e),r=!jh((function(){var a={};return a[b]=function(){return 7},7!=""[e](a)})),n=r&&!jh((function(){var a=!1,c=/a/;return"split"===e&&((c={}).constructor={},c.constructor[Uh]=function(){return c},c.flags="",c[b]=/./[b]),c.exec=function(){return a=!0,null},c[b](""),!a}));if(!r||!n||"replace"===e&&(!Fh||!Gh||qh)||"split"===e&&!zh){var i=/./[b],d=c(b,""[e],(function(e,a,c,t,b){var n=a.exec;return n===Ph||n===Nh.exec?r&&!b?{done:!0,value:i.call(a,c,t)}:{done:!0,value:e.call(c,a,t)}:{done:!1}}),{REPLACE_KEEPS_$0:Gh,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:qh}),f=d[0],o=d[1];Ch(String.prototype,e,f),Ch(Nh,b,2==a?function(e,a){return o.call(e,this,a)}:function(e){return o.call(e,this)})}t&&Bh(Nh[b],"sham",!0)},Kh=ra,$h=m,Wh=function(e){return function(a,c){var t,b,r=String($h(a)),n=Kh(c),i=r.length;return n<0||n>=i?e?"":void 0:(t=r.charCodeAt(n))<55296||t>56319||n+1===i||(b=r.charCodeAt(n+1))<56320||b>57343?e?r.charAt(n):t:e?r.slice(n,n+2):b-56320+(t-55296<<10)+65536}},Yh={codeAt:Wh(!1),charAt:Wh(!0)},Xh=Yh.charAt,Qh=function(e,a,c){return a+(c?Xh(e,a).length:1)},Jh=h,Zh=Lh,ep=function(e,a){var c=e.exec;if("function"==typeof c){var t=c.call(e,a);if("object"!=typeof t)throw TypeError("RegExp exec method returned something other than an Object or null");return t}if("RegExp"!==Jh(e))throw TypeError("RegExp#exec called on incompatible receiver");return Zh.call(e,a)},ap=K,cp=da,tp=m,bp=Qh,rp=ep;Hh("match",1,(function(e,a,c){return[function(a){var c=tp(this),t=null==a?void 0:a[e];return void 0!==t?t.call(a,c):new RegExp(a)[e](String(c))},function(e){var t=c(a,e,this);if(t.done)return t.value;var b=ap(e),r=String(this);if(!b.global)return rp(b,r);var n=b.unicode;b.lastIndex=0;for(var i,d=[],f=0;null!==(i=rp(b,r));){var o=String(i[0]);d[f]=o,""===o&&(b.lastIndex=bp(r,cp(b.lastIndex),n)),f++}return 0===f?null:d}]}));var np=T,ip=Math.floor,dp="".replace,fp=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,op=/\$([$&'`]|\d{1,2})/g,sp=Hh,up=K,lp=da,hp=ra,pp=m,vp=Qh,yp=function(e,a,c,t,b,r){var n=c+e.length,i=t.length,d=op;return void 0!==b&&(b=np(b),d=fp),dp.call(r,d,(function(r,d){var f;switch(d.charAt(0)){case"$":return"$";case"&":return e;case"`":return a.slice(0,c);case"'":return a.slice(n);case"<":f=b[d.slice(1,-1)];break;default:var o=+d;if(0===o)return r;if(o>i){var s=ip(o/10);return 0===s?r:s<=i?void 0===t[s-1]?d.charAt(1):t[s-1]+d.charAt(1):r}f=t[o-1]}return void 0===f?"":f}))},mp=ep,gp=Math.max,_p=Math.min;sp("replace",2,(function(e,a,c,t){var b=t.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,r=t.REPLACE_KEEPS_$0,n=b?"$":"$0";return[function(c,t){var b=pp(this),r=null==c?void 0:c[e];return void 0!==r?r.call(c,b,t):a.call(String(b),c,t)},function(e,t){if(!b&&r||"string"==typeof t&&-1===t.indexOf(n)){var i=c(a,e,this,t);if(i.done)return i.value}var d=up(e),f=String(this),o="function"==typeof t;o||(t=String(t));var s=d.global;if(s){var u=d.unicode;d.lastIndex=0}for(var l=[];;){var h=mp(d,f);if(null===h)break;if(l.push(h),!s)break;""===String(h[0])&&(d.lastIndex=vp(f,lp(d.lastIndex),u))}for(var p,v="",y=0,m=0;m<l.length;m++){h=l[m];for(var g=String(h[0]),_=gp(_p(hp(h.index),f.length),0),k=[],E=1;E<h.length;E++)k.push(void 0===(p=h[E])?p:String(p));var S=h.groups;if(o){var w=[g].concat(k,_,f);void 0!==S&&w.push(S);var x=String(t.apply(void 0,w))}else x=yp(g,f,_,k,S,t);_>=y&&(v+=f.slice(y,_)+x,y=_+g.length)}return v+f.slice(y)}]}));var kp=Uf.aTypedArrayConstructor;(0,Uf.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,a=arguments.length,c=new(kp(this))(a);a>e;)c[e]=arguments[e++];return c}),Hf);var Ep=function(e){var a=0;for(a=0;0!==e;a++)e&=e-1;return a};function Sp(e,a){return e^a}function wp(e,a,c){var t=e+Ep(a)+c;return String.fromCharCode(255&t)}function xp(e,a,c){var t=e-Ep(a)-c;return String.fromCharCode(255&t)}function Tp(e){for(var a,c=e.length,t=0;t<c&&t!==c-1;t+=2)a=e[t],e[t]=e[t+1],e[t+1]=a;return e}function Ap(e,a){var c=85,t=250;Tp(e);for(var b=0;b<e.length;b++){var r=e[b].charCodeAt(0),n=0===a?wp:xp;b%2==1?c=r=Sp(c,n(r+t,b,21).charCodeAt(0)):t=r=Sp(t,n(r+c,b,21).charCodeAt(0)),e[b]=String.fromCharCode(r)}return Tp(e),e}function Ip(e,a){var c,t=function(e,a){var c,t=(e[0].charCodeAt(0)^e[1].charCodeAt(0)^e[2].charCodeAt(0))-"0".charCodeAt(0),b=a-t-1,r=new Array(t);for(c=t;c>0;c--)r[t-c]=String.fromCharCode(e[a-t-2].charCodeAt(0)^e[a-t-1].charCodeAt(0)^e[a-c].charCodeAt(0));return{convertKey:e.substring(1,b+1).split(""),convertLen:b,method:r.join(""),methodLen:t}}(e,a=a||e.length),b=t.convertKey,r=t.convertLen,n=t.method,i="11"===n||"appdevice"===n||"app_v2"===n?0:1;switch(n){case"11":case"22":case"appdevice":case"webdevice":b=function(e,a,c){for(var t,b=85,r=250,n=0;n<a;n++){var i=e[n].charCodeAt(0);n%2==1?(t=b^i,b=i):(t=r^i,r=i),e[n]=0===c?xp(t,n,21):wp(t,n,21)}return e}(b,r,i);break;case"app_v2":case"web_v2":b=function(e,a,c){a=a||e.length;var t=85,b=250;Tp(e);for(var r=0;r<a;r++){var n=e[r].charCodeAt(0),i=void 0,d=void 0;r%2==1?(d=Sp(t,n),t=n,i=b):(d=Sp(b,n),b=n,i=t);var f=(0===c?xp:wp)(d,r,21).charCodeAt(0)-i;f<0&&(f+=256),e[r]=String.fromCharCode(f)}return Tp(e),e}(b,r,i)}var d=r-((c=b[0])>="0"&&c<="9"?c.charCodeAt(0)-"0".charCodeAt(0):c>="a"&&c<="z"?c.charCodeAt(0)-"a".charCodeAt(0)+10:255)-1,f=new Array(d+1);f[d]="";var o=0;for(o=0;o<d;o++)f[o]=b[o+1];return f.join("")}var Dp=cc((function e(){var a,c;ec(this,e);var t=new Promise((function(e,t){a=e,c=t}));return t.resolve=function(e){a(e),t.state="fulfilled"},t.reject=function(e){c(e),t.state="rejected",t.isBreak="DESTROYED"===e},t.state="pending",t}),[{key:"resolve",value:function(e){}},{key:"reject",value:function(e){}}]);function Op(e){var a=e||{},c=a.url,t=a.method,b=void 0===t?"GET":t,r=a.type,n=void 0===r?"arraybuffer":r,i=a.data,d=void 0===i?{}:i;return new Promise((function(e,a){var t=new window.XMLHttpRequest,r=b.toUpperCase(),i=[];if(Object.keys(d).map((function(e){i.push("k=".concat(d[e]))})),"GET"===r){var f="";f=c.indexOf("?")<0?"".concat(c,"?").concat(i.join("&")):(null==i?void 0:i.length)>0?"".concat(c,"&").concat(i.join("&")):c,t.open(r,f),n&&(t.responseType=n),t.send()}else{if("POST"!==r)throw new Error("xhr ".concat(r," is not supported"));t.open(r,c,!0),n&&(t.responseType=n),t.setRequestHeader("Content-Type","application/json"),t.send(JSON.stringify(d))}t.onload=function(){200===t.status||206===t.status?e(t):a(t)},t.onerror=function(){a(t)}}))}var Rp,Lp,Cp,Pp,jp,Mp,Bp,Up,Np=i,Fp=z.f,Gp=Function.prototype,Vp=Gp.toString,qp=/^\s*function ([^ (]*)/,zp="name";function Hp(e){return Kp.apply(this,arguments)}function Kp(){return Kp=Ja(ic().mark((function e(a){var c,t,b=arguments;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=!(b.length>1&&void 0!==b[1])||b[1],t=b.length>2&&void 0!==b[2]?b[2]:["encrypt","decrypt"],e.abrupt("return",new Promise((function(e,b){var r;"undefined"!=typeof crypto&&null!==(r=crypto)&&void 0!==r&&r.subtle?crypto.subtle.generateKey(a,c,t).then((function(a){e(a)})).catch((function(e){b(e)})):b(new Error(Lp.WebCryptoNotSupport.msg))})));case 3:case"end":return e.stop()}}),e)}))),Kp.apply(this,arguments)}function $p(){if("object"!==("undefined"==typeof crypto?"undefined":oc(crypto))||"[object crypto]"!==Object.prototype.toString.call(crypto).toLowerCase()||void 0===crypto.subtle)throw new Cp(Lp.WebCryptoNotSupport.code,Lp.WebCryptoNotSupport.msg);return!0}function Wp(e){for(var a=window.atob(e),c=new Uint8Array(a.length),t=0;t<a.length;t++)c[t]=a.charCodeAt(t);return c.buffer}function Yp(e){return Xp.apply(this,arguments)}function Xp(){return(Xp=Ja(ic().mark((function e(a){var c,t,b,r,n;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=a.data,t=a.privateKey,b=Wp(c),$p(),e.prev=3,e.next=6,crypto.subtle.decrypt({name:"RSA-OAEP"},t,b);case 6:r=e.sent,e.next=12;break;case 9:throw e.prev=9,e.t0=e.catch(3),new Cp(Lp.PrivateKeyDecryptFail.code,"".concat(Lp.PrivateKeyDecryptFail.msg,": ").concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||(null===e.t0||void 0===e.t0?void 0:e.t0.name)));case 12:return n=(new TextDecoder).decode(r),e.abrupt("return",n);case 14:case"end":return e.stop()}}),e,null,[[3,9]])})))).apply(this,arguments)}function Qp(e){for(var a="",c=0;c<e.length;c+=16e3){var t=e.subarray(c,c+16e3);a+=String.fromCharCode.apply(null,t)}return a}Np&&!(zp in Gp)&&Fp(Gp,zp,{configurable:!0,get:function(){try{return Vp.call(this).match(qp)[1]}catch(tg){return""}}}),function(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[],i=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var d=parseInt(e.slice(16,24),16),f=2*parseInt(e.slice(32,40),16);for(b=40;b<f+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var o=f+40,s=parseInt(e.slice(o,o+4),16);for(o+=4,b=0;b<s;++b){var u=t(e,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=t(e,o);l+=String.fromCharCode(r^p[1]),o+=2*p[0]}i.push(l)}a.p=null,function e(a,c,t,b,r){var d,f,o,s,u,l=-1,h=[],p=[0,null],v=null,y=[c];for(f=Math.min(c.length,t),o=0;o<f;++o)y.push(c[o]);y.p=b;for(var m=[];;)try{switch(n[a++]){case 42:h[++l]=!1;break;case 40:h[++l]=null;break;case 64:d=n[a++],h[++l]=d<<24>>24;break;case 21:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=d<<16>>16;break;case 58:d=((d=((d=n[a++])<<8)+n[a++])<<8)+n[a++],h[++l]=(d<<8)+n[a++];break;case 46:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=i[d];break;case 26:h[++l]=void 0;break;case 14:h[++l]=r;break;case 25:d=(n[a]<<8)+n[a+1],a+=2,l=l-d+1,f=h.slice(l,l+d),h[l]=f;break;case 56:h[++l]={};break;case 12:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],h[l][f]=o;break;case 59:for(f=n[a++],o=n[a++],s=y;f>0;--f)s=s.p;h[++l]=s[o];break;case 70:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],h[l]=h[l][f];break;case 29:f=h[l--],h[l]=h[l][f];break;case 65:for(f=n[a++],o=n[a++],s=y;f>0;--f)s=s.p;s[o]=h[l--];break;case 35:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],s=h[l--],o[f]=s;break;case 48:f=h[l--],o=h[l--],s=h[l--],o[f]=s;break;case 3:for(f=n[a++],o=n[a++],s=y,s=y;f>0;--f)s=s.p;h[++l]=s,h[++l]=o;break;case 54:f=h[l--],h[l]-=f;break;case 63:f=h[l--],s=(o=h[l--])[f]++,h[++l]=s;break;case 31:f=h[l--],h[l]=h[l]===f;break;case 16:f=h[l--],h[l]=h[l]<f;break;case 62:f=h[l--],h[l]=h[l]>f;break;case 39:h[l]=!h[l];break;case 6:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?--l:a+=d;break;case 33:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?a+=d:--l;break;case 11:f=h[l--],(o=h[l--])[f]=h[l];break;case 57:f=h[l--],h[l]=h[l]instanceof f;break;case 30:h[l]=void 0;break;case 7:h[l]=typeof h[l];break;case 45:d=n[a++],f=h[l--],(o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)})._v=[f,d,y],o._u=e,h[++l]=o;break;case 71:d=n[a++],f=h[l--],(s=[o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)}]).p=y,o._v=[f,d,s],o._u=e,h[++l]=o;break;case 60:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=m[m.length-1])[1]=a+d;break;case 20:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=m[m.length-1])&&!f[1]?(f[0]=3,f.push(a)):m.push([1,0,a]),a+=d;break;case 38:throw f=h[l--];case 69:if(o=(f=m.pop())[0],s=p[0],1===o)a=f[1];else if(0===o)if(0===s)a=f[1];else{if(1!==s)throw p[1];if(!v)return p[1];a=v[1],r=v[2],y=v[3],m=v[4],h[++l]=p[1],p=[0,null],v=v[0]}else a=f[2],f[0]=0,m.push(f);break;case 22:for(f=h[l--],o=null;s=m.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)p=[1,f],a=o[2],o[0]=0,m.push(o);else{if(!v)return f;a=v[1],r=v[2],y=v[3],m=v[4],h[++l]=f,p=[0,null],v=v[0]}break;case 37:l-=d=n[a++],o=h.slice(l+1,l+d+1),f=h[l--],s=h[l--],f._u===e?(f=f._v,v=[v,a,r,y,m],a=f[0],null==s&&(s=function(){return this}()),r=s,(y=[o].concat(o)).length=Math.min(f[1],d)+1,y.p=f[2],m=[]):(u=f.apply(s,o),h[++l]=u);break;case 19:for(d=n[a++],s=[void 0],u=d;u>0;--u)s[u]=h[l--];o=h[l--],u=new(f=Function.bind.apply(o,s)),h[++l]=u;break;case 75:a+=2+(d=(d=(n[a]<<8)+n[a+1])<<16>>16);break;case 18:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=h[l--])||(a+=d);break;case 15:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,f=h[l--],h[l]===f&&(--l,a+=d);break;case 2:--l;break;case 53:f=h[l],h[++l]=f;break;default:throw new Error("ioe")}}catch(g){for(p=[0,null];(d=m.pop())&&!d[0];);if(!d){e:for(;v;){for(f=v[4];d=f.pop();)if(d[0])break e;v=v[0]}if(!v)throw g;a=v[1],r=v[2],y=v[3],m=v[4],v=v[0]}1===(f=d[0])?(a=d[2],d[0]=0,m.push(d),h[++l]=g):2===f?(a=d[2],d[0]=0,m.push(d),p=[3,g]):(a=d[3],d[0]=2,m.push(d),h[++l]=g)}}(d,[],0,a,c)}("504B010148cf39cc0000055ccd38cf48000005f62e00003b00012e0001302e00023b00012e0003302e00043b00012e0005303b0001163a000000432d02410002283b020c3b00023b0001250202283b020f3b0002250116283b030e0e3b0102250202283b030d0e3b01023b000219000125034100033b00013b00032300063b0003163b02111300410004283b0212382e000c0c000d2e000e0c000f3b00030c0010382e00110c00122e00130c0014383b00010c0015190000354600163b000225010c00171900010c00180c001925013546001a3a000000da2d012501354600243a0000015e2d002501023b0004163b0001281f2100073b000140001e1f12000640001e4b00063b000146001b4100023b0002072e001c1f12000f3b03013546001d3b000225014100023b00021200213b000246001e3b01011d3b01021d4100033b01043546001f3b00032501024b0020283b031b2e00203b01012e00213b01022e00222505023b0104354600232500021a16283b031b2e00203b01012e00213b01022e00242505023b0104354600232500021a163b0102354600250e3b0000250216283b020a283b02082500354600263a000001b84706250125014101023b0102354600250e3b0000250216283b04082500354600273a000001cf47013b010025021640011201683b00014600283b00012e00290b40000f003240050f008040080f008f40090f0093400c0f00b9400d0f00bd400f0f00d240160f011640170f01212e002a0f011b024b01213b02012100032e002b4102013b020212000b40093b00012300284b01043b02010600033b02030600033b02042712000b40083b00012300284b00e640053b0001230028283b06173b02013b02033b02042503163b000146002c41020240093b00012300284b00ba3b06002e002d1301263b02052e00041f2712000b400d3b00012300284b009b400c3b0001230028283b06193b02023b02062502163b000146002c4102023b020212000b400f3b00012300284b006c3b06002e002e130126283b0610283b06023b0202250125014102073b02032712000b40163b00012300284b003f38380c002f4102083b02073b020846002f3b0203303b0001354600302e00313b02082502163b0001354600302e00313b02072502163b0001354600322500164bfe931a163b0103354600250e3b0000250216283b020a283b02082500354600263a000003764702250125014101033b0103354600250e3b0000250216283b04082500354600273a0000038d47013b0100250216400112009a3b00014600283b00012e00290b40000f001940020f003e40040f005840060f006c2e002a0f0066024b006c3b0201272100043b0202272712000b40023b00012300284b00523b0001354600302e00313b020125021640043b0001230028283b0613383b02010c00193b02024600330c00332501163b000146002c4102013b0001354600302e00313b02012502163b0001354600322500164bff611a16140004410002453c00743b0203072e00341f1200062e00344b0009283b02093b020325012e00351f06000b3b0203460036072e00371f1200443b02034600383b020435460039400040614073406d4001400040004000250813014100013b00013b0203460038391200133b020346003a3b000113013b020346003a3916452a163b0101281f120022140004410006453c00183b020506000e3b02053546003b2e003c25012727410101453b000046003d4100033b02063b000340013e1200093b00034001364b00024000130141000440014100053b00053b0003101200193b00003b00051d3b00043b0005400136300300053f024bffdd3b01010600063b020746003e0600253b02070300020b46003e354600253b00022e003f3b0001190002354600163b000425012502021a163a0000006e2d034101173a000001802d064101183a0000018e2d004100023a0000033e2d024101193a0000034c2d004100033a0000042e2d0041011a3a000004ae2d0141011b28410001283a000000002d013b01142100013825014101143838151c210c00062e00070c00080c000938151c220c00062e000a0c00080c000b410115283a000000222d01283b010b3b0100250125014101161a160040106f687d72787d6e784379727f6e656c68104f485d52585d4e584359525f4e454c480f6c6e756a7d68794379727f6e656c680f4c4e554a5d48594359525f4e454c48176c6e756a7d68794379727f6e656c6843696c7b6e7d7879174c4e554a5d48594359525f4e454c4843494c5b4e5d5859047f737879254b797e3c7f6e656c68737b6e7d6c74653c5d4c553c756f3c7273683c6f696c6c736e68797803716f7b134b797e5f6e656c68735273684f696c6c736e681d58797f6e656c687573723c7e653c4e4f5d31535d594c3c7a7d75707978154c6e756a7d687957796558797f6e656c685a7d757004766f73720468656c79044c534f480671796874737803696e70022e2e08786e714368656c79032e322c076a796e6f757372036a7578067f73727f7d68047775786f0f70757f79726f79436e796d69796f6804787d687d0468747972086e796f6c73726f79066f686e75727b056c7d6e6f790d6c707d654370757f79726f796f076e796f73706a791b7b79684f797f6e79685779655e655775783c797278303c6a75783005303c7775780d6e796f6c73726f793c72697070066e7976797f68057f7d687f74057d6c6c706504717d6e77046b6e7d6c0472796468046c6e796a0379727800046f797268356f74736970783c6c6e736a7578793c6f797f6e79685779653c736e3c6a7578303c77796555783c7d72783c70757f79726f79496e70187b79685779654a7d706979263c6f773c756f3c79716c6865097f70797d6e5779656f067d7e6e696c68066e7968696e72046f68736c0a6c6e756a7d687957796509697278797a7572797806737e76797f680b75726f687d7268757d6879087a69727f687573720651737869707902737a0855726f687d727f79077b7968556879710c6f797f6e796877796570737b067079727b68740370737b0d47445b4f797f6e796877796541",{0:Error,1:JSON,get 2(){return atob},3:WebAssembly,4:Uint8Array,get 5(){return localStorage},6:Array,get 7(){return console},get 8(){return ic},get 9(){return oc},get 10(){return Ja},get 11(){return sc},get 12(){return rc},get 13(){return Za},get 14(){return ec},get 15(){return cc},get 16(){return Ip},get 17(){return Dp},get 18(){return Op},get 19(){return Yp},get 20(){return Rp},set 20(e){Rp=e},get 21(){return Lp},set 21(e){Lp=e},get 22(){return Cp},set 22(e){Cp=e},get 23(){return Pp},set 23(e){Pp=e},get 24(){return jp},set 24(e){jp=e},get 25(){return Mp},set 25(e){Mp=e},get 26(){return Bp},set 26(e){Bp=e},get 27(){return Up},set 27(e){Up=e}},void 0);var Jp,Zp,ev,av,cv,tv,bv,rv,nv=(Jp="vodTimestampSalt",Zp=function(e){return e.split("").map((function(e){return e.charCodeAt(0)}))},ev=function(e){return"0".concat(Number(e).toString(16)).substr(-2)},av=function(e){return Zp(Jp).reduce((function(e,a){return e^a}),e)},function(e){return e.split("").map(Zp).map(av).map(ev).join("")}),iv=(bv="vodTimestampSalt",rv=function(e){return(a=bv,a.split("").map((function(e){return e.charCodeAt(0)}))).reduce((function(e,a){return e^a}),e);var a},function(e){return e.match(/.{1,2}/g).map((function(e){return parseInt(e,16)})).map(rv).map((function(e){return String.fromCharCode(e)})).join("")}),dv={str2hex:function(e){if(""===e)return"";for(var a=[],c=0;c<e.length;c++)a.push(e.charCodeAt(c));return a},Base64ToHex:function(e){var a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=window.atob(e.replace(/-/g,"+").replace(/_/g,"/"));if(a){for(var t=[],b=0;b<c.length;b++)t.push(c.charCodeAt(b));return new Uint8Array(t).buffer}for(var r="",n=0;n<c.length;n++)r+="0".concat(c.charCodeAt(n).toString(16)).substr(-2);return r},checkUnionInfoExpired:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30;if(0===a.indexOf(e)){var t=parseInt(iv(a.slice(e.length))),b=(new Date).getTime()-t;if(b>0&&b<=1e3*c)return!0;Up("UnionInfo timestamp expire!!!")}else Up("unionID and UnionInfo not match!!!");return!1},getUnionInfo:function(){return"".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").concat(nv((new Date).getTime().toString()))},StringToArrayBuffer:function(e){for(var a=new ArrayBuffer(e.length),c=new Uint8Array(a),t=0;t<e.length;t++)c[t]=e.charCodeAt(t);return a},ArrayBufferToString:function(e){var a=[];e=ArrayBuffer.isView(e)?e:new Uint8Array(e);for(var c,t=0;t<e.length;t++)c=e[t],a.push(String.fromCharCode(c));return a.join("")},isBase64:function(e){return/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/.test(e)},fromCharCode:Qp,fromHex:function(e){for(var a=new Uint8Array(e.length/2),c=0;c<e.length;c+=2)a[c/2]=window.parseInt(e.substr(c,2),16);return a},toUTF8:function(e){for(var a=encodeURIComponent(e),c=unescape(a),t=new Uint8Array(c.length),b=0;b<c.length;++b)t[b]=c.charCodeAt(b);return t.buffer},toBase64:function(e,a){var c=Qp(e);a=void 0===a||a;var t=window.btoa(c).replace(/\+/g,"-").replace(/\//g,"_");return a?t:t.replace(/=*$/,"")}};e.EVENT_EME=void 0,function(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[],i=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var d=parseInt(e.slice(16,24),16),f=2*parseInt(e.slice(32,40),16);for(b=40;b<f+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var o=f+40,s=parseInt(e.slice(o,o+4),16);for(o+=4,b=0;b<s;++b){var u=t(e,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=t(e,o);l+=String.fromCharCode(r^p[1]),o+=2*p[0]}i.push(l)}a.p=null,function e(a,c,t,b,r){var d,f,o,s,u,l=-1,h=[],p=null,v=[c];for(f=Math.min(c.length,t),o=0;o<f;++o)v.push(c[o]);v.p=b;for(var y=[];;)try{switch(n[a++]){case 42:h[++l]=!1;break;case 40:h[++l]=null;break;case 64:d=n[a++],h[++l]=d<<24>>24;break;case 21:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=d<<16>>16;break;case 58:d=((d=((d=n[a++])<<8)+n[a++])<<8)+n[a++],h[++l]=(d<<8)+n[a++];break;case 46:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=i[d];break;case 26:h[++l]=void 0;break;case 14:h[++l]=r;break;case 25:d=(n[a]<<8)+n[a+1],a+=2,l=l-d+1,f=h.slice(l,l+d),h[l]=f;break;case 56:h[++l]={};break;case 12:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],h[l][f]=o;break;case 59:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;h[++l]=s[o];break;case 70:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],h[l]=h[l][f];break;case 29:f=h[l--],h[l]=h[l][f];break;case 65:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;s[o]=h[l--];break;case 35:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],s=h[l--],o[f]=s;break;case 48:f=h[l--],o=h[l--],s=h[l--],o[f]=s;break;case 3:for(f=n[a++],o=n[a++],s=v,s=v;f>0;--f)s=s.p;h[++l]=s,h[++l]=o;break;case 63:f=h[l--],s=(o=h[l--])[f]++,h[++l]=s;break;case 31:f=h[l--],h[l]=h[l]===f;break;case 27:f=h[l--],h[l]=h[l]!==f;break;case 39:h[l]=!h[l];break;case 6:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?--l:a+=d;break;case 33:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?a+=d:--l;break;case 11:f=h[l--],(o=h[l--])[f]=h[l];break;case 30:h[l]=void 0;break;case 5:f=h[l--],s=delete(o=h[l--])[f],h[++l]=s;break;case 45:d=n[a++],f=h[l--],(o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)})._v=[f,d,v],o._u=e,h[++l]=o;break;case 71:d=n[a++],f=h[l--],(s=[o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)}]).p=v,o._v=[f,d,s],o._u=e,h[++l]=o;break;case 38:throw f=h[l--];case 22:for(f=h[l--],o=null;s=y.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)a=o[2],o[0]=0,y.push(o);else{if(!p)return f;a=p[1],r=p[2],v=p[3],y=p[4],h[++l]=f,p=p[0]}break;case 37:l-=d=n[a++],o=h.slice(l+1,l+d+1),f=h[l--],s=h[l--],f._u===e?(f=f._v,p=[p,a,r,v,y],a=f[0],null==s&&(s=function(){return this}()),r=s,(v=[o].concat(o)).length=Math.min(f[1],d)+1,v.p=f[2],y=[]):(u=f.apply(s,o),h[++l]=u);break;case 19:for(d=n[a++],s=[void 0],u=d;u>0;--u)s[u]=h[l--];o=h[l--],u=new(f=Function.bind.apply(o,s)),h[++l]=u;break;case 75:a+=2+(d=(d=(n[a]<<8)+n[a+1])<<16>>16);break;case 18:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=h[l--])||(a+=d);break;case 2:--l;break;case 53:f=h[l],h[++l]=f;break;default:throw new Error("ioe")}}catch(m){for(;(d=y.pop())&&!d[0];);if(!d){e:for(;p;){for(f=p[4];d=f.pop();)if(d[0])break e;p=p[0]}if(!p)throw m;a=p[1],r=p[2],v=p[3],y=p[4],p=p[0]}1===(f=d[0])?(a=d[2],d[0]=0,y.push(d),h[++l]=m):2===f?(a=d[2],d[0]=0,y.push(d)):(a=d[3],d[0]=2,y.push(d),h[++l]=m)}}(d,[],0,a,c)}("504B010148cf39cc00000fbccd38cf4800000ff22e00013b00012e0002302e00033b00012e0004302e00053b00012e0005302e00063b00012e0006303b0001163a0000012d2d01410002283b020f3b00023b0001250202283b02113b0002382e002d0c002f3a000008be47020c0033382e00340c002f3a0000097f47010c0033382e00350c002f3a00000a1247000c0033382e00290c002f3a00000a5047010c0033382e00240c002f3a00000a7047010c0033382e004b0c002f3a00000b6a47000c0033382e001a0c002f3a00000b6c47030c0033382e00520c002f3a00000c0247010c0033382e00530c002f3a00000c1447010c0033382e00560c002f3a00000cb647010c0033382e00250c002f3a00000ce447010c0033382e007a0c002f3a00000f1047010c0033382e00820c002f3a00000fad47000c003319000d250216283b03120e3b0102250202283b03100e3b010225024100022e00073b0002230008383b000223000940001e3b000223000a3b03153b0002230000283b000223000b40003b000223000c3b030013003546000d25003546000e402425013b000223000f3a000001c92d013b000223002c1900003b000223001b3b00023546002d3b00012501023b00023546002e2e00033b000246002c2502023b0002163b01024100023b000246000b4100033b01024100043b0003271200021a163b01024600082e00101f1200332e00114100053b040135460012382e00131900010c001425014100063b04023b0414354600153b0006250113014100074b054f3b01024600082e00161f1200b92e00174100053b000106000b3b04023b000146001813012100993b04024000400040004043407040734073406840004000400040001500ed1500ef15008b1500a940791500d6404a1500ce1500a31500c840271500dc1500d5401d40211500ed400040004000402340084001401240104033403340334033403340334033403340334033403340334000400040004000401a400a4069406e4074406540724074407240754073407440224001402a19004313014100074b04893b01024600082e00191f12047c2e00174100053b000106000b3b04023b0001460018130121045f3b040240004000400240264070407340734068400040004000400015009a40041500f04079150098404040421500861500ab1500921500e6405b1500e0150088405f1500954000400040024006400640024000400040014000400140001500fc4001403c40004057400040524000404d40004048400040454000404140004044400040454000405240004020400040784000406d4000406c4000406e400040734000403d40004022400040684000407440004074400040704000403a4000402f4000402f400040734000406340004068400040654000406d40004061400040734000402e4000406d4000406940004063400040724000406f400040734000406f40004066400040744000402e400040634000406f4000406d4000402f40004044400040524000404d4000402f400040324000403040004030400040374000402f40004030400040334000402f400040504000406c40004061400040794000405240004065400040614000406440004079400040484000406540004061400040644000406540004072400040224000402040004076400040654000407240004073400040694000406f4000406e4000403d40004022400040344000402e400040304000402e400040304000402e40004030400040224000403e4000403c400040444000404140004054400040414000403e4000403c40004050400040524000404f40004054400040454000404340004054400040494000404e400040464000404f4000403e4000403c4000404b40004045400040594000404c400040454000404e4000403e40004031400040364000403c4000402f4000404b40004045400040594000404c400040454000404e4000403e4000403c400040414000404c4000404740004049400040444000403e4000404140004045400040534000404340004054400040524000403c4000402f400040414000404c4000404740004049400040444000403e4000403c4000402f40004050400040524000404f40004054400040454000404340004054400040494000404e400040464000404f4000403e4000403c4000404b40004049400040444000403e4000404d4000407a4000404d4000407a4000404d4000407a4000404d4000407a4000404d4000407a4000404d4000407a4000404d4000407a4000404d4000407a4000404140004041400040414000404140004041400040414000403d4000403d4000403c4000402f4000404b40004049400040444000403e4000403c400040434000404840004045400040434000404b40004053400040554000404d4000403e40004041400040314000403540004042400040594000405740004044400040344000407140004073400040494000403d4000403c4000402f400040434000404840004045400040434000404b40004053400040554000404d4000403e4000403c4000402f400040444000404140004054400040414000403e4000403c4000402f40004057400040524000404d4000404840004045400040414000404440004045400040524000403e400019022613014100073b00043546001a3b00033b00044600083b000446001b25033546001c3a000007b92d003a000008a22d0025023546001c3a000008af2d003a000008b12d002502021a163b010346001d0300010b281f2100073b000140001e1f12000640001e4b00093b00013546001e25004100023b0002271200093b05032e001f1301263b0103460020354600213b00022501023b01044600082e00101f1200293b04013b010446000f1d4100033b0002354600222e00233b0104354600243b000325012502024b00553b01044600082e00161f12001f3b0002354600222e00233b0104460025354600263b010425012502024b00293b01044600082e00191f12001c3b0002354600222e00233b0104460025354600263b010425012502023b0002354600273b01053b01074600282502163b0104354600292e002a2501161a163b0104354600292e002b2501163b0001281b0600073b000140001e1b0600063b00014600301200152e00100e2300083b00014600303b03010e46000f303b0001281b0600073b000140001e1b0600063b000146003012000a2e00100e2300084b005b3b0001281b0600073b000140001e1b0600063b00014600311200142e00160e2300083b00014600310e2300094b002c3b0001281b0600073b000140001e1b0600063b00014600321200112e00190e2300083b00014600320e2300093b00020600083b00020e2e00000b021a160e4600003b04151f12007f0e4600082e00101f06000e3b03010e46000f1d0300020b281b0600073b000240001e1b0600083b00020e4600001d1200293b03010e46000f1d0e4600001d3b03010e46000f1d3b0001303b03010e46000f1d3b041505024b00250e4600090e4600001d1200190e4600093b04151d0e4600093b0001300e4600093b041505023b00010e2300001a16382e00112e00361900020c0037382e00380c00391900010c003a382e003b0c0039382e003c0c0039382e003d0c00391900030c003e1900010e23001b1a163b0404354600012e003f3b00012502020e354600402e00013b00012502021a160e4100023a00000a7c2d01161900004100021900004100033b0505354600093b01012501354600413a00000aea2d01250102383b00020c00094100043b0501354600123b000425014100053b0001460047354600483b0514354600493b0005250125013546001c3a00000b5b2d003a00000b5d2d002502021a163b02013b00011d4100023b0614354600423b000125014100033b0614354600423b00022501410004382e00430c00443b0614354600453b00032a25020c00003b0614354600453b00042a25020c00464100053b0102354600213b00052501023b0103354600213b00054600002501021a161a163b0202354600292e004a2501161a160e4100040e46000a2100063b000146001d1200110e46000a2100093b04063546004c2500163b04073546004d3b00023b000325023546001c3a00000bd12d013a00000bdb2d0025023546001c3a00000be82d013a00000bf52d0025020e23000a0e46000a163b00013546004e2500163b0104354600292e004f2501163b0101354600503b00012501163b0104354600292e00512501163b00010e23000b1900003b00012300201a162e00544100023b040846005512008f0e354600563b000125014100033b040846005513004100043b0004354600573b00032e005825024100053b00051200153b0005354600593b00022e005a250240001d4b0001284100063b00061200153b0006354600593b00022e005b250240001d4b0001284100073b00071200153b0007354600593b00022e005c250240001d4b0001284100083b000812000228163b0001163b040946005d3546005e283b04023b000113012502410002283b040a283b040b3b0002250125014100033b0003160e4100023b040c13004100033b00033546005f2e00600e4600094600612502023a00000d1d2d003b00032300783b0003354600792500021a163b010346006240041f1201163b01014600234100013b01034600634100023b01024600082e00191f1200333b0501354600643b010346006325014100022e0007354600653b00024600662e00672502354600653b000246006825014100023b0002271200433b0102354600402e0006382e0007354600653b01024600094600612e00692502354600653b010346006a2e006b2502354600653b010346006c25010c006d2502021a163b050c13004100033b01014600473b000323006e2e006f3b00032300702a3b00032300713b00033546005f2e0072283b05093b000225012502023b01024600082e00191f1200103b0003354600732e00742e00582502023a00000e412d003b00032300783b0003354600793b01023546007a3b000125012501021a163b010346006240041f1200c13b010346006a1500c81b12003d3b0202354600402e0006382e0007354600653b01022e00752502354600653b010346006a2e006b2502354600653b010346006c25010c006d2502021a163b0202354600402e0005383b020246000c0c006d2502023b02022e000c3f023b02024600082e00191f1200153b0202354600533b010346006325014100014b000e3b06023b010346006313014100013b010346006e354600483b00012501354600763b0604460001354600263b06042e007725022501021a160e4600082e00191f120089284100023b040d13004100033b040e3b000113014100043b040946005d3546005e283b000425024100053b0003354600573b00052e007b25024100063b00063546007c2e007d250140001d1200333b00063546007c2e007e250140001d46007f40001d4600804100073b000712000f3b0408354600813b000725014100024b00043b0001163b0002163b04023b00011301160e35460083250002280e23000b1a162e0000410115283a000000002d013b011621000138250141011638410001283a0000002c2d013b011325014100023b00024101171a1600840377757805796e6e736e05594e4e534e0979727f6e656c6879780959525f4e454c485958135f58514350555f59524f59434f495f5f594f4f115f58514350555f59524f5943594e4e534e00097779654f656f687971047779656f0d79726f696e794c6e7371756f79056a757879730b70757f79726f794f68796c077b7968487571790868734f686e75727b0f7f70797d6e5779654f68736e7955780f736e7b326b2f327f70797d6e7779650677796575786f096f686e75727b757a65202c2d2e2f28292a2b24257d7e7f78797a2c2d2e2f28292a2b24257d7e7f78797a047775786f06687349485a24127f7371326b7578796a757279327d706c747d047f79727f0875727568587d687d177f73713271757f6e736f737a68326c707d656e797d78651679726f696e79517978757d5779656f5f6e797d68797807736c687573726f046874797209717978757d5779656f0d7f6e797d68794f796f6f757372195a7d757079783c68733c7f6e797d68793c6f796f6f75737232086f796f6f7573726f046c696f74107d7878596a79726850756f687972796e0771796f6f7d7b7911696c787d68794f796f6f7573725a69727f1370757f79726f794e796d69796f684e797d7865047e7572780f7b7972796e7d68794e796d69796f68067e697a7a796e047e7d75702f3c7a7d757079783c68733c79726f696e793c517978757d5779656f3c73723c54485150517978757d597079717972681c3c5a7d757079783c68733c7b7972796e7d68793c6e796d69796f68320d79727f6e656c68547d7278707909696c787d6879586e7102737203777965097f70797d6e5779656f086b7578796a757279096c707d656e797d7865056a7d70697909696c787d68795775780a6f7968536c687573726f046b797e710d75727568587d687d48656c796f1d7d6978757333716c28273c7f7378797f6f213e716c287d32282c322e3e0b7f73726879726848656c79117d697875735f7d6c7d7e7570756875796f1f6a7578797333716c28273c7f7378797f6f213e7d6a7f2d32282e7f2c2d793e246a7578797333716c28273c7f7378797f6f213e74796a2d322d322a32502d2e2c32252c3e186a75787973336b797e71273c7f7378797f6f213e6a6c243e116a757879735f7d6c7d7e7570756875796f0547595159410479717568077a736e597d7f74077a6e737154796403737f68037768650868735e7d6f792a28017706687d6e7b796806696c787d6879134f686e75727b48735d6e6e7d655e697a7a796e1e3c517978757d5779654f796f6f7573723c696c787d68793c7a7d757079780a7779656f5f747d727b79076e796f73706a791b6e796d69796f68517978757d5779654f656f6879715d7f7f796f6f0f7f6e797d6879517978757d5779656f253c5a7d757079783c68733c6e796d69796f683c7779653c6f656f6879713c7d7f7f796f6f320c6f7968517978757d5779656f223c7a7d757079783c68733c7f6e797d68793c517978757d5779656f3c737e76797f68086f7968696c595159136c7d6e6f794f796e6a796e4e796f6c73726f792a7468686c6f2633336f7f7479717d6f326471706f737d6c32736e7b336f737d6c3379726a7970736c7933095853514c7d6e6f796e0c6975726848734f686e75727b0f6c7d6e6f795a6e73714f686e75727b086879646833647170167b7968597079717972686f5e65487d7b527d7179524f0859726a7970736c79045e737865055a7d6970680c7a6e73715f747d6e5f737879057d6c6c706504736c7972035b5948096f796e6a796e494e500a6e797d78654f687d6879086e796f6c73726f79056c7d6e6f79067f73727f7d681570757f79726f795d7f6d69756f7568757372496e70122359646c6e796f6f4c707d65487377797221056873777972233c6e796d69796f683c7a7d757079783d3c163c3c3c3c3c3c3c3c3c3c6f687d68696f26066f687d68696f0c3c6f687d68696f48796468260a6f687d68696f4879646804787d687d0a7779654f796f6f7573720b7d6e6e7d657e697a7a796e0c6e796f6c73726f7948656c790f6b7568745f6e7978797268757d706f044c534f48106f79684e796d69796f6854797d78796e0c5f7372687972683168656c79273c6e796d69796f683c7a7d757079783d3c163c3c3c3c3c3c3c3c3c3c3c3c3c3c6f687d68696f26057f7d687f740f696c787d687934353c7a7d757079781273726e797d78656f687d68797f747d727b79046f7972781c7b796850757f79726f794e796d69796f685a6e737151796f6f7d7b790f7d6c6c70757f7d6875737233647170147b7968597079717972686f5e65487d7b527d7179134c707d654e797d786557796551796f6f7d7b79095f747d707079727b790a7f74757078527378796f09727378794a7d706979047d68737e0778796f686e7365126e7971736a795d707050756f687972796e6f",{0:Date,1:JSON,2:Uint8Array,3:Error,get 4(){return console},5:Object,6:Promise,get 7(){return navigator},get 8(){return window},9:String,10:decodeURIComponent,get 11(){return escape},get 12(){return XMLHttpRequest},get 13(){return DOMParser},14:Uint16Array,get 15(){return rc},get 16(){return Za},get 17(){return cc},get 18(){return ec},get 19(){return wl},get 20(){return dv},get 21(){return cv},set 21(e){cv=e},get 22(){return e.EVENT_EME},set 22(a){e.EVENT_EME=a},get 23(){return tv},set 23(e){tv=e}},void 0);var fv,ov,sv=tv,uv=E,lv=h,hv=Uc("match"),pv=i,vv=b,yv=Va,mv=uo,gv=z.f,_v=ca.f,kv=function(e){var a;return uv(e)&&(void 0!==(a=e[hv])?!!a:"RegExp"==lv(e))},Ev=Qd,Sv=mh,wv=Qe,xv=n,Tv=Ve.enforce,Av=Qr,Iv=Uc("match"),Dv=vv.RegExp,Ov=Dv.prototype,Rv=/a/g,Lv=/a/g,Cv=new Dv(Rv)!==Rv,Pv=Sv.UNSUPPORTED_Y;if(pv&&yv("RegExp",!Cv||Pv||xv((function(){return Lv[Iv]=!1,Dv(Rv)!=Rv||Dv(Lv)==Lv||"/a/i"!=Dv(Rv,"i")})))){for(var jv=function(e,a){var c,t=this instanceof jv,b=kv(e),r=void 0===a;if(!t&&b&&e.constructor===jv&&r)return e;Cv?b&&!r&&(e=e.source):e instanceof jv&&(r&&(a=Ev.call(e)),e=e.source),Pv&&(c=!!a&&a.indexOf("y")>-1)&&(a=a.replace(/y/g,""));var n=mv(Cv?new Dv(e,a):Dv(e,a),t?this:Ov,jv);return Pv&&c&&(Tv(n).sticky=!0),n},Mv=function(e){e in jv||gv(jv,e,{configurable:!0,get:function(){return Dv[e]},set:function(a){Dv[e]=a}})},Bv=_v(Dv),Uv=0;Bv.length>Uv;)Mv(Bv[Uv++]);Ov.constructor=jv,jv.prototype=Ov,wv(vv,"RegExp",jv)}Av("RegExp"),e.isNativeFunction=void 0,e.checkMSEValid=void 0,e.checkEMEValid=void 0,function(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[],i=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var d=parseInt(e.slice(16,24),16),f=2*parseInt(e.slice(32,40),16);for(b=40;b<f+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var o=f+40,s=parseInt(e.slice(o,o+4),16);for(o+=4,b=0;b<s;++b){var u=t(e,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=t(e,o);l+=String.fromCharCode(r^p[1]),o+=2*p[0]}i.push(l)}a.p=null,function e(a,c,t,b,r){var d,f,o,s,u,l=-1,h=[],p=null,v=[c];for(f=Math.min(c.length,t),o=0;o<f;++o)v.push(c[o]);v.p=b;for(var y=[];;)try{switch(n[a++]){case 24:h[++l]=!0;break;case 42:h[++l]=!1;break;case 40:h[++l]=null;break;case 64:d=n[a++],h[++l]=d<<24>>24;break;case 58:d=((d=((d=n[a++])<<8)+n[a++])<<8)+n[a++],h[++l]=(d<<8)+n[a++];break;case 46:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=i[d];break;case 26:h[++l]=void 0;break;case 25:d=(n[a]<<8)+n[a+1],a+=2,l=l-d+1,f=h.slice(l,l+d),h[l]=f;break;case 59:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;h[++l]=s[o];break;case 70:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],h[l]=h[l][f];break;case 29:f=h[l--],h[l]=h[l][f];break;case 65:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;s[o]=h[l--];break;case 3:for(f=n[a++],o=n[a++],s=v,s=v;f>0;--f)s=s.p;h[++l]=s,h[++l]=o;break;case 44:h[l]=-h[l];break;case 31:f=h[l--],h[l]=h[l]===f;break;case 27:f=h[l--],h[l]=h[l]!==f;break;case 62:f=h[l--],h[l]=h[l]>f;break;case 6:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?--l:a+=d;break;case 33:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?a+=d:--l;break;case 11:f=h[l--],(o=h[l--])[f]=h[l];break;case 30:h[l]=void 0;break;case 7:h[l]=typeof h[l];break;case 45:d=n[a++],f=h[l--],(o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)})._v=[f,d,v],o._u=e,h[++l]=o;break;case 22:for(f=h[l--],o=null;s=y.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)a=o[2],o[0]=0,y.push(o);else{if(!p)return f;a=p[1],r=p[2],v=p[3],y=p[4],h[++l]=f,p=p[0]}break;case 37:l-=d=n[a++],o=h.slice(l+1,l+d+1),f=h[l--],s=h[l--],f._u===e?(f=f._v,p=[p,a,r,v,y],a=f[0],null==s&&(s=function(){return this}()),r=s,(v=[o].concat(o)).length=Math.min(f[1],d)+1,v.p=f[2],y=[]):(u=f.apply(s,o),h[++l]=u);break;case 19:for(d=n[a++],s=[void 0],u=d;u>0;--u)s[u]=h[l--];o=h[l--],u=new(f=Function.bind.apply(o,s)),h[++l]=u;break;case 75:a+=2+(d=(d=(n[a]<<8)+n[a+1])<<16>>16);break;case 18:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=h[l--])||(a+=d);break;case 2:--l;break;case 53:f=h[l],h[++l]=f;break;default:throw new Error("ioe")}}catch(m){for(;(d=y.pop())&&!d[0];);if(!d){e:for(;p;){for(f=p[4];d=f.pop();)if(d[0])break e;p=p[0]}if(!p)throw m;a=p[1],r=p[2],v=p[3],y=p[4],p=p[0]}1===(f=d[0])?(a=d[2],d[0]=0,y.push(d),h[++l]=m):2===f?(a=d[2],d[0]=0,y.push(d)):(a=d[3],d[0]=2,y.push(d),h[++l]=m)}}(d,[],0,a,c)}("504B010148cf39cc000002f7cd38cf4800000343184100023b0202354600023b000125011200193b0001354600033a0000009d2d023b000225024100024b006d283b02032e000435460005283b02043b01012501354600063b02032e00072e000813022e00092502354600063b02032e000a2e000813022e000b25022e000c250225014100033b0001072e000d1f1200183b00033546000e3b01023546000f3b0001250125014b00012a4100023b0002163b0001060009283b030c3b00022501163b000046001040003e0600083b000040001d1a1b1200093b000040001d4b00012a4100013b0205072e00111b1200073b0205164b00373b000106000c3b02062e00121d072e00111b12000b3b02062e00121d164b00173b02062e00131d072e00111b1200083b02062e00131d161a163b000046001040003e0600083b000040001d1a1b1200093b000040001d4b00012a4100013b0207072e00111b1200073b0207164b001d3b000106000c3b02062e00141d072e00111b1200083b02062e00141d161a163b000046001040003e0600083b000040001d1a1b1200093b000040001d4b00012a410001283b020d3b00012501410002283b020e3b000125014100032a4100043b00020600033b00031200621900004100053b00031200203b0005354600153b00032501023b0005354600153b00034600004600162501023b00021200203b0005354600153b00022501023b0005354600153b0002460000460017250102283b020c3b00052501120004184100043b0004161900004100013b0208072e00111b1200a93b0001354600153b02084600004600182501023b0001354600153b02094600004600192501023b0001354600153b020846000046001a2501023b020a072e00111b0600453b020b0300020b281f2100073b000240001e1f21000c3b000246001b0300020b281f2100073b000240001e1f12000640001e4b000c3b00023546001c2e001d250140012c1f12000d3b0001354600153b020a2501023b0001354600153b020b46001e2501023b000146001040001f120004184b0009283b020c3b00012501163a000000002d0141010c3a000000ad2d0041010d3a0000011c2d0041010e3a000001712d0041010f3a000002232d004101103b01004600004600014100013b01014600004600014100021a16001f096c6e73687368656c790868734f686e75727b07756f5d6e6e7d65066e7978697f790142067f73727f7d68076e796c707d7f79144732363723423867613435604740414033404041017b0340383a2f68734f686e75727b60347a69727f68757372353236233423214040403435603c7a736e3c323723342321404040413505382d3236230138087a69727f687573720468796f68047f7d7070067079727b687409697278797a7572797812517d727d7b7978517978757d4f73696e7f79114b797e577568517978757d4f73696e7f7913517d727d7b79784f73696e7f795e697a7a796e046c696f740c7d6c6c7972785e697a7a796e0f7d78784f73696e7f795e697a7a796e06696c787d68790d7f6e797d68794f796f6f757372107d7878596a79726850756f687972796e09696f796e5d7b797268077572787964537a085970797f686e73721b6e796d69796f68517978757d5779654f656f6879715d7f7f796f6f",{0:Object,1:Function,2:Array,3:RegExp,4:String,get 5(){return"undefined"!=typeof MediaSource?MediaSource:void 0},get 6(){return self},get 7(){return"undefined"!=typeof SourceBuffer?SourceBuffer:void 0},get 8(){return"undefined"!=typeof MediaKeySession?MediaKeySession:void 0},get 9(){return MediaKeys},get 10(){return"undefined"!=typeof atob?atob:void 0},get 11(){return navigator},get 12(){return e.isNativeFunction},set 12(a){e.isNativeFunction=a},get 13(){return fv},set 13(e){fv=e},get 14(){return ov},set 14(e){ov=e},get 15(){return e.checkMSEValid},set 15(a){e.checkMSEValid=a},get 16(){return e.checkEMEValid},set 16(a){e.checkEMEValid=a}},void 0);var Nv={exports:{}},Fv=!n((function(){return Object.isExtensible(Object.preventExtensions({}))})),Gv=Te,Vv=E,qv=D,zv=z.f,Hv=Fv,Kv=Ee("meta"),$v=0,Wv=Object.isExtensible||function(){return!0},Yv=function(e){zv(e,Kv,{value:{objectID:"O"+ ++$v,weakData:{}}})},Xv=Nv.exports={REQUIRED:!1,fastKey:function(e,a){if(!Vv(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!qv(e,Kv)){if(!Wv(e))return"F";if(!a)return"E";Yv(e)}return e[Kv].objectID},getWeakData:function(e,a){if(!qv(e,Kv)){if(!Wv(e))return!0;if(!a)return!1;Yv(e)}return e[Kv].weakData},onFreeze:function(e){return Hv&&Xv.REQUIRED&&Wv(e)&&!qv(e,Kv)&&Yv(e),e}};Gv[Kv]=!0;var Qv=Nv.exports,Jv=Xa,Zv=b,ey=Va,ay=Qe,cy=Qv,ty=Cn,by=Gb,ry=E,ny=n,iy=Gn,dy=cb,fy=uo,oy=z.f,sy=Ot,uy=Fb,ly=_n,hy=Gb,py=Cn,vy=Ib,yy=Qr,my=i,gy=Qv.fastKey,_y=Ve.set,ky=Ve.getterFor,Ey={getConstructor:function(e,a,c,t){var b=e((function(e,r){hy(e,b,a),_y(e,{type:a,index:sy(null),first:void 0,last:void 0,size:0}),my||(e.size=0),null!=r&&py(r,e[t],{that:e,AS_ENTRIES:c})})),r=ky(a),n=function(e,a,c){var t,b,n=r(e),d=i(e,a);return d?d.value=c:(n.last=d={index:b=gy(a,!0),key:a,value:c,previous:t=n.last,next:void 0,removed:!1},n.first||(n.first=d),t&&(t.next=d),my?n.size++:e.size++,"F"!==b&&(n.index[b]=d)),e},i=function(e,a){var c,t=r(e),b=gy(a);if("F"!==b)return t.index[b];for(c=t.first;c;c=c.next)if(c.key==a)return c};return uy(b.prototype,{clear:function(){for(var e=r(this),a=e.index,c=e.first;c;)c.removed=!0,c.previous&&(c.previous=c.previous.next=void 0),delete a[c.index],c=c.next;e.first=e.last=void 0,my?e.size=0:this.size=0},delete:function(e){var a=this,c=r(a),t=i(a,e);if(t){var b=t.next,n=t.previous;delete c.index[t.index],t.removed=!0,n&&(n.next=b),b&&(b.previous=n),c.first==t&&(c.first=b),c.last==t&&(c.last=n),my?c.size--:a.size--}return!!t},forEach:function(e){for(var a,c=r(this),t=ly(e,arguments.length>1?arguments[1]:void 0,3);a=a?a.next:c.first;)for(t(a.value,a.key,this);a&&a.removed;)a=a.previous},has:function(e){return!!i(this,e)}}),uy(b.prototype,c?{get:function(e){var a=i(this,e);return a&&a.value},set:function(e,a){return n(this,0===e?0:e,a)}}:{add:function(e){return n(this,e=0===e?0:e,e)}}),my&&oy(b.prototype,"size",{get:function(){return r(this).size}}),b},setStrong:function(e,a,c){var t=a+" Iterator",b=ky(a),r=ky(t);vy(e,a,(function(e,a){_y(this,{type:t,target:e,state:b(e),kind:a,last:void 0})}),(function(){for(var e=r(this),a=e.kind,c=e.last;c&&c.removed;)c=c.previous;return e.target&&(e.last=c=c?c.next:e.state.first)?"keys"==a?{value:c.key,done:!1}:"values"==a?{value:c.value,done:!1}:{value:[c.key,c.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),c?"entries":"values",!c,!0),yy(a)}};!function(e,a,c){var t=-1!==e.indexOf("Map"),b=-1!==e.indexOf("Weak"),r=t?"set":"add",n=Zv[e],i=n&&n.prototype,d=n,f={},o=function(e){var a=i[e];ay(i,e,"add"==e?function(e){return a.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(b&&!ry(e))&&a.call(this,0===e?0:e)}:"get"==e?function(e){return b&&!ry(e)?void 0:a.call(this,0===e?0:e)}:"has"==e?function(e){return!(b&&!ry(e))&&a.call(this,0===e?0:e)}:function(e,c){return a.call(this,0===e?0:e,c),this})};if(ey(e,"function"!=typeof n||!(b||i.forEach&&!ny((function(){(new n).entries().next()})))))d=c.getConstructor(a,e,t,r),cy.REQUIRED=!0;else if(ey(e,!0)){var s=new d,u=s[r](b?{}:-0,1)!=s,l=ny((function(){s.has(1)})),h=iy((function(e){new n(e)})),p=!b&&ny((function(){for(var e=new n,a=5;a--;)e[r](a,a);return!e.has(-0)}));h||((d=a((function(a,c){by(a,d,e);var b=fy(new n,a,d);return null!=c&&ty(c,b[r],{that:b,AS_ENTRIES:t}),b}))).prototype=i,i.constructor=d),(l||p)&&(o("delete"),o("has"),t&&o("get")),(p||u)&&o(r),b&&i.clear&&delete i.clear}f[e]=d,Jv({global:!0,forced:d!=n},f),dy(d,e),b||c.setStrong(d,e,t)}("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),Ey);var Sy=Yh.charAt,wy=Ve,xy=Ib,Ty="String Iterator",Ay=wy.set,Iy=wy.getterFor(Ty);xy(String,"String",(function(e){Ay(this,{type:Ty,string:String(e),index:0})}),(function(){var e,a=Iy(this),c=a.string,t=a.index;return t>=c.length?{value:void 0,done:!0}:(e=Sy(c,t),a.index+=e.length,{value:e,done:!1})}));var Dy=K,Oy=hn,Ry=function(){for(var e,a=Dy(this),c=Oy(a.delete),t=!0,b=0,r=arguments.length;b<r;b++)e=c.call(a,arguments[b]),t=t&&e;return!!t};Xa({target:"Map",proto:!0,real:!0,forced:!1},{deleteAll:function(){return Ry.apply(this,arguments)}});var Ly=function(e){return Map.prototype.entries.call(e)},Cy=K,Py=_n,jy=Ly,My=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{every:function(e){var a=Cy(this),c=jy(a),t=Py(e,arguments.length>1?arguments[1]:void 0,3);return!My(c,(function(e,c,b){if(!t(c,e,a))return b()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}});var By=aa,Uy=K,Ny=hn,Fy=_n,Gy=Hn,Vy=Ly,qy=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{filter:function(e){var a=Uy(this),c=Vy(a),t=Fy(e,arguments.length>1?arguments[1]:void 0,3),b=new(Gy(a,By("Map"))),r=Ny(b.set);return qy(c,(function(e,c){t(c,e,a)&&r.call(b,e,c)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),b}});var zy=K,Hy=_n,Ky=Ly,$y=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{find:function(e){var a=zy(this),c=Ky(a),t=Hy(e,arguments.length>1?arguments[1]:void 0,3);return $y(c,(function(e,c,b){if(t(c,e,a))return b(c)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}});var Wy=K,Yy=_n,Xy=Ly,Qy=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{findKey:function(e){var a=Wy(this),c=Xy(a),t=Yy(e,arguments.length>1?arguments[1]:void 0,3);return Qy(c,(function(e,c,b){if(t(c,e,a))return b(e)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}});var Jy=K,Zy=Ly,em=function(e,a){return e===a||e!=e&&a!=a},am=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{includes:function(e){return am(Zy(Jy(this)),(function(a,c,t){if(em(c,e))return t()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}});var cm=K,tm=Ly,bm=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{keyOf:function(e){return bm(tm(cm(this)),(function(a,c,t){if(c===e)return t(a)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}});var rm=aa,nm=K,im=hn,dm=_n,fm=Hn,om=Ly,sm=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{mapKeys:function(e){var a=nm(this),c=om(a),t=dm(e,arguments.length>1?arguments[1]:void 0,3),b=new(fm(a,rm("Map"))),r=im(b.set);return sm(c,(function(e,c){r.call(b,t(c,e,a),c)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),b}});var um=aa,lm=K,hm=hn,pm=_n,vm=Hn,ym=Ly,mm=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{mapValues:function(e){var a=lm(this),c=ym(a),t=pm(e,arguments.length>1?arguments[1]:void 0,3),b=new(vm(a,um("Map"))),r=hm(b.set);return mm(c,(function(e,c){r.call(b,e,t(c,e,a))}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),b}});var gm=K,_m=hn,km=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{merge:function(e){for(var a=gm(this),c=_m(a.set),t=0;t<arguments.length;)km(arguments[t++],c,{that:a,AS_ENTRIES:!0});return a}});var Em=K,Sm=hn,wm=Ly,xm=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{reduce:function(e){var a=Em(this),c=wm(a),t=arguments.length<2,b=t?void 0:arguments[1];if(Sm(e),xm(c,(function(c,r){t?(t=!1,b=r):b=e(b,r,c,a)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),t)throw TypeError("Reduce of empty map with no initial value");return b}});var Tm=K,Am=_n,Im=Ly,Dm=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{some:function(e){var a=Tm(this),c=Im(a),t=Am(e,arguments.length>1?arguments[1]:void 0,3);return Dm(c,(function(e,c,b){if(t(c,e,a))return b()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}});var Om=K,Rm=hn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{update:function(e,a){var c=Om(this),t=arguments.length;Rm(a);var b=c.has(e);if(!b&&t<3)throw TypeError("Updating absent value");var r=b?c.get(e):Rm(t>2?arguments[2]:void 0)(e,c);return c.set(e,a(r,e,c)),c}});var Lm={exports:{}};Lm.exports=function(e){var a=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function c(e,a){var c=e[0],t=e[1],b=e[2],r=e[3];t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&b|~t&r)+a[0]-680876936|0)<<7|c>>>25)+t|0)&t|~c&b)+a[1]-389564586|0)<<12|r>>>20)+c|0)&c|~r&t)+a[2]+606105819|0)<<17|b>>>15)+r|0)&r|~b&c)+a[3]-1044525330|0)<<22|t>>>10)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&b|~t&r)+a[4]-176418897|0)<<7|c>>>25)+t|0)&t|~c&b)+a[5]+1200080426|0)<<12|r>>>20)+c|0)&c|~r&t)+a[6]-1473231341|0)<<17|b>>>15)+r|0)&r|~b&c)+a[7]-45705983|0)<<22|t>>>10)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&b|~t&r)+a[8]+1770035416|0)<<7|c>>>25)+t|0)&t|~c&b)+a[9]-1958414417|0)<<12|r>>>20)+c|0)&c|~r&t)+a[10]-42063|0)<<17|b>>>15)+r|0)&r|~b&c)+a[11]-1990404162|0)<<22|t>>>10)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&b|~t&r)+a[12]+1804603682|0)<<7|c>>>25)+t|0)&t|~c&b)+a[13]-40341101|0)<<12|r>>>20)+c|0)&c|~r&t)+a[14]-1502002290|0)<<17|b>>>15)+r|0)&r|~b&c)+a[15]+1236535329|0)<<22|t>>>10)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&r|b&~r)+a[1]-165796510|0)<<5|c>>>27)+t|0)&b|t&~b)+a[6]-1069501632|0)<<9|r>>>23)+c|0)&t|c&~t)+a[11]+643717713|0)<<14|b>>>18)+r|0)&c|r&~c)+a[0]-373897302|0)<<20|t>>>12)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&r|b&~r)+a[5]-701558691|0)<<5|c>>>27)+t|0)&b|t&~b)+a[10]+38016083|0)<<9|r>>>23)+c|0)&t|c&~t)+a[15]-660478335|0)<<14|b>>>18)+r|0)&c|r&~c)+a[4]-405537848|0)<<20|t>>>12)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&r|b&~r)+a[9]+568446438|0)<<5|c>>>27)+t|0)&b|t&~b)+a[14]-1019803690|0)<<9|r>>>23)+c|0)&t|c&~t)+a[3]-187363961|0)<<14|b>>>18)+r|0)&c|r&~c)+a[8]+1163531501|0)<<20|t>>>12)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&r|b&~r)+a[13]-1444681467|0)<<5|c>>>27)+t|0)&b|t&~b)+a[2]-51403784|0)<<9|r>>>23)+c|0)&t|c&~t)+a[7]+1735328473|0)<<14|b>>>18)+r|0)&c|r&~c)+a[12]-1926607734|0)<<20|t>>>12)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t^b^r)+a[5]-378558|0)<<4|c>>>28)+t|0)^t^b)+a[8]-2022574463|0)<<11|r>>>21)+c|0)^c^t)+a[11]+1839030562|0)<<16|b>>>16)+r|0)^r^c)+a[14]-35309556|0)<<23|t>>>9)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t^b^r)+a[1]-1530992060|0)<<4|c>>>28)+t|0)^t^b)+a[4]+1272893353|0)<<11|r>>>21)+c|0)^c^t)+a[7]-155497632|0)<<16|b>>>16)+r|0)^r^c)+a[10]-1094730640|0)<<23|t>>>9)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t^b^r)+a[13]+681279174|0)<<4|c>>>28)+t|0)^t^b)+a[0]-358537222|0)<<11|r>>>21)+c|0)^c^t)+a[3]-722521979|0)<<16|b>>>16)+r|0)^r^c)+a[6]+76029189|0)<<23|t>>>9)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t^b^r)+a[9]-640364487|0)<<4|c>>>28)+t|0)^t^b)+a[12]-421815835|0)<<11|r>>>21)+c|0)^c^t)+a[15]+530742520|0)<<16|b>>>16)+r|0)^r^c)+a[2]-995338651|0)<<23|t>>>9)+b|0,t=((t+=((r=((r+=(t^((c=((c+=(b^(t|~r))+a[0]-198630844|0)<<6|c>>>26)+t|0)|~b))+a[7]+1126891415|0)<<10|r>>>22)+c|0)^((b=((b+=(c^(r|~t))+a[14]-1416354905|0)<<15|b>>>17)+r|0)|~c))+a[5]-57434055|0)<<21|t>>>11)+b|0,t=((t+=((r=((r+=(t^((c=((c+=(b^(t|~r))+a[12]+1700485571|0)<<6|c>>>26)+t|0)|~b))+a[3]-1894986606|0)<<10|r>>>22)+c|0)^((b=((b+=(c^(r|~t))+a[10]-1051523|0)<<15|b>>>17)+r|0)|~c))+a[1]-2054922799|0)<<21|t>>>11)+b|0,t=((t+=((r=((r+=(t^((c=((c+=(b^(t|~r))+a[8]+1873313359|0)<<6|c>>>26)+t|0)|~b))+a[15]-30611744|0)<<10|r>>>22)+c|0)^((b=((b+=(c^(r|~t))+a[6]-1560198380|0)<<15|b>>>17)+r|0)|~c))+a[13]+1309151649|0)<<21|t>>>11)+b|0,t=((t+=((r=((r+=(t^((c=((c+=(b^(t|~r))+a[4]-145523070|0)<<6|c>>>26)+t|0)|~b))+a[11]-1120210379|0)<<10|r>>>22)+c|0)^((b=((b+=(c^(r|~t))+a[2]+718787259|0)<<15|b>>>17)+r|0)|~c))+a[9]-343485551|0)<<21|t>>>11)+b|0,e[0]=c+e[0]|0,e[1]=t+e[1]|0,e[2]=b+e[2]|0,e[3]=r+e[3]|0}function t(e){var a,c=[];for(a=0;a<64;a+=4)c[a>>2]=e.charCodeAt(a)+(e.charCodeAt(a+1)<<8)+(e.charCodeAt(a+2)<<16)+(e.charCodeAt(a+3)<<24);return c}function b(e){var a,c=[];for(a=0;a<64;a+=4)c[a>>2]=e[a]+(e[a+1]<<8)+(e[a+2]<<16)+(e[a+3]<<24);return c}function r(e){var a,b,r,n,i,d,f=e.length,o=[1732584193,-271733879,-1732584194,271733878];for(a=64;a<=f;a+=64)c(o,t(e.substring(a-64,a)));for(b=(e=e.substring(a-64)).length,r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],a=0;a<b;a+=1)r[a>>2]|=e.charCodeAt(a)<<(a%4<<3);if(r[a>>2]|=128<<(a%4<<3),a>55)for(c(o,r),a=0;a<16;a+=1)r[a]=0;return n=(n=8*f).toString(16).match(/(.*?)(.{0,8})$/),i=parseInt(n[2],16),d=parseInt(n[1],16)||0,r[14]=i,r[15]=d,c(o,r),o}function n(e){var a,t,r,n,i,d,f=e.length,o=[1732584193,-271733879,-1732584194,271733878];for(a=64;a<=f;a+=64)c(o,b(e.subarray(a-64,a)));for(t=(e=a-64<f?e.subarray(a-64):new Uint8Array(0)).length,r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],a=0;a<t;a+=1)r[a>>2]|=e[a]<<(a%4<<3);if(r[a>>2]|=128<<(a%4<<3),a>55)for(c(o,r),a=0;a<16;a+=1)r[a]=0;return n=(n=8*f).toString(16).match(/(.*?)(.{0,8})$/),i=parseInt(n[2],16),d=parseInt(n[1],16)||0,r[14]=i,r[15]=d,c(o,r),o}function i(e){var c,t="";for(c=0;c<4;c+=1)t+=a[e>>8*c+4&15]+a[e>>8*c&15];return t}function d(e){var a;for(a=0;a<e.length;a+=1)e[a]=i(e[a]);return e.join("")}function f(e){return/[\u0080-\uFFFF]/.test(e)&&(e=unescape(encodeURIComponent(e))),e}function o(e,a){var c,t=e.length,b=new ArrayBuffer(t),r=new Uint8Array(b);for(c=0;c<t;c+=1)r[c]=e.charCodeAt(c);return a?r:b}function s(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function u(e,a,c){var t=new Uint8Array(e.byteLength+a.byteLength);return t.set(new Uint8Array(e)),t.set(new Uint8Array(a),e.byteLength),c?t:t.buffer}function l(e){var a,c=[],t=e.length;for(a=0;a<t-1;a+=2)c.push(parseInt(e.substr(a,2),16));return String.fromCharCode.apply(String,c)}function h(){this.reset()}return d(r("hello")),"undefined"==typeof ArrayBuffer||ArrayBuffer.prototype.slice||function(){function a(e,a){return(e=0|e||0)<0?Math.max(e+a,0):Math.min(e,a)}ArrayBuffer.prototype.slice=function(c,t){var b,r,n,i,d=this.byteLength,f=a(c,d),o=d;return t!==e&&(o=a(t,d)),f>o?new ArrayBuffer(0):(b=o-f,r=new ArrayBuffer(b),n=new Uint8Array(r),i=new Uint8Array(this,f,b),n.set(i),r)}}(),h.prototype.append=function(e){return this.appendBinary(f(e)),this},h.prototype.appendBinary=function(e){this._buff+=e,this._length+=e.length;var a,b=this._buff.length;for(a=64;a<=b;a+=64)c(this._hash,t(this._buff.substring(a-64,a)));return this._buff=this._buff.substring(a-64),this},h.prototype.end=function(e){var a,c,t=this._buff,b=t.length,r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(a=0;a<b;a+=1)r[a>>2]|=t.charCodeAt(a)<<(a%4<<3);return this._finish(r,b),c=d(this._hash),e&&(c=l(c)),this.reset(),c},h.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},h.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},h.prototype.setState=function(e){return this._buff=e.buff,this._length=e.length,this._hash=e.hash,this},h.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},h.prototype._finish=function(e,a){var t,b,r,n=a;if(e[n>>2]|=128<<(n%4<<3),n>55)for(c(this._hash,e),n=0;n<16;n+=1)e[n]=0;t=(t=8*this._length).toString(16).match(/(.*?)(.{0,8})$/),b=parseInt(t[2],16),r=parseInt(t[1],16)||0,e[14]=b,e[15]=r,c(this._hash,e)},h.hash=function(e,a){return h.hashBinary(f(e),a)},h.hashBinary=function(e,a){var c=d(r(e));return a?l(c):c},h.ArrayBuffer=function(){this.reset()},h.ArrayBuffer.prototype.append=function(e){var a,t=u(this._buff.buffer,e,!0),r=t.length;for(this._length+=e.byteLength,a=64;a<=r;a+=64)c(this._hash,b(t.subarray(a-64,a)));return this._buff=a-64<r?new Uint8Array(t.buffer.slice(a-64)):new Uint8Array(0),this},h.ArrayBuffer.prototype.end=function(e){var a,c,t=this._buff,b=t.length,r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(a=0;a<b;a+=1)r[a>>2]|=t[a]<<(a%4<<3);return this._finish(r,b),c=d(this._hash),e&&(c=l(c)),this.reset(),c},h.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},h.ArrayBuffer.prototype.getState=function(){var e=h.prototype.getState.call(this);return e.buff=s(e.buff),e},h.ArrayBuffer.prototype.setState=function(e){return e.buff=o(e.buff,!0),h.prototype.setState.call(this,e)},h.ArrayBuffer.prototype.destroy=h.prototype.destroy,h.ArrayBuffer.prototype._finish=h.prototype._finish,h.ArrayBuffer.hash=function(e,a){var c=d(n(new Uint8Array(e)));return a?l(c):c},h}();var Cm=c(Lm.exports),Pm="KekHelper",jm="-----BEGIN PUBLIC KEY-----",Mm="-----END PUBLIC KEY-----";function Bm(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function Um(e){return new Uint8Array(e.split("").map((function(e){return e.charCodeAt(0)})))}function Nm(e,a,c){return Fm.apply(this,arguments)}function Fm(){return(Fm=Ja(ic().mark((function e(a,c,t){var b,r,n,i;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b=Um(a),e.next=3,crypto.subtle.importKey("pkcs8",b,{name:t.name,hash:t.hash},!0,["decrypt"]);case 3:return r=e.sent,n=Um(c),e.next=7,crypto.subtle.importKey("spki",n,{name:t.name,hash:t.hash},!0,["encrypt"]);case 7:return i=e.sent,e.abrupt("return",{privateKey:r,publicKey:i});case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Gm(){return Vm.apply(this,arguments)}function Vm(){return(Vm=Ja(ic().mark((function e(){var a,c,t,b,r,n,i,d,f,o,s,u,l,h,p,v,y,m;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a={name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},c=null,t="",b="",r="",i=/kek=localstorage/gi.test("object"===("undefined"==typeof location?"undefined":oc(location))?location.href:""),e.prev=7,d=performance.now(),!(f=i?localStorage.getItem("player_keypair"):null)){e.next=23;break}if(!((o=JSON.parse(f))&&o.privateKey&&o.publicKey)){e.next=23;break}return Up(Pm,"Found key pair in local storage",o),t=o.privateKey,b=o.publicKey,r=atob(o.publicKey.replace(jm,"").replace(Mm,"").replace(/\s/g,"")),n=atob(o.privateKey.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\s/g,"")),e.next=20,Nm(n,r,a);case 20:c=e.sent,s=performance.now(),Up(Pm,"importKeyPair took ".concat(s-d," milliseconds"));case 23:e.next=28;break;case 25:e.prev=25,e.t0=e.catch(7),Up(Pm,"importKeyPair error:",e.t0);case 28:if(c){e.next=46;break}return u=performance.now(),e.next=32,Hp(a);case 32:return c=e.sent,e.next=35,crypto.subtle.exportKey("pkcs8",c.privateKey);case 35:return l=e.sent,h=Bm(l),t=window.btoa(h),e.next=40,crypto.subtle.exportKey("spki",c.publicKey);case 40:p=e.sent,r=Bm(p),b=window.btoa(r),v=performance.now(),Up(Pm,"keyPair generated, took ".concat(v-u," milliseconds")),i&&localStorage.setItem("player_keypair",JSON.stringify({privateKey:t,publicKey:b}));case 46:return y="".concat(jm,"\n").concat(b,"\n").concat(Mm),Up(Pm,"Public key (PEM format): \n".concat(y)),m=btoa(Ap(r.split("")).join("")),Up(Pm,"drmKeK: ".concat(m)),e.abrupt("return",{keyPair:c,drmKeK:m});case 51:case"end":return e.stop()}}),e,null,[[7,25]])})))).apply(this,arguments)}var qm={cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function(e){this.toString=function(){return"CORRUPT: "+this.message},this.message=e},invalid:function(e){this.toString=function(){return"INVALID: "+this.message},this.message=e},bug:function(e){this.toString=function(){return"BUG: "+this.message},this.message=e},notReady:function(e){this.toString=function(){return"NOT READY: "+this.message},this.message=e}}};function zm(e,a){return Hm.apply(this,arguments)}function Hm(){return(Hm=Ja(ic().mark((function e(a,c){var t,b,r,n,i;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=c.iv,b=c.tagLength,r=c.data,n=null,a=dv.StringToArrayBuffer(a),r=dv.Base64ToHex(r,!0),e.prev=4,e.next=7,crypto.subtle.importKey("raw",a,"AES-GCM",!0,["encrypt","decrypt"]);case 7:i=e.sent,e.next=13;break;case 10:throw e.prev=10,e.t0=e.catch(4),"importKey: ".concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||e.t0);case 13:return e.prev=13,e.next=16,crypto.subtle.decrypt({name:"AES-GCM",iv:new Uint8Array(t),tagLength:b},i,r);case 16:n=e.sent,e.next=30;break;case 19:if(e.prev=19,e.t1=e.catch(13),"OperationError"!==String(e.t1)){e.next=25;break}throw"Wrong Password.";case 25:if("InvalidAccessError"!==String(e.t1)){e.next=29;break}throw"Invalid Key";case 29:throw e.t1;case 30:return e.abrupt("return",new TextDecoder("utf-8").decode(n));case 31:case"end":return e.stop()}}),e,null,[[4,10],[13,19]])})))).apply(this,arguments)}function Km(e,a){return $m.apply(this,arguments)}function $m(){return($m=Ja(ic().mark((function e(a,c){var t,b,r,n,i,d,f;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=c.iv,b=c.tagLength,r=c.data,n=btoa(dv.ArrayBufferToString(t)),i=qm.codec.base64.toBits(n),d=qm.codec.utf8String.toBits(a),f=new qm.cipher.aes(d),e.abrupt("return",qm.codec.utf8String.fromBits(qm.mode.gcm.decrypt(f,qm.codec.base64.toBits(r),i,[],b)));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}qm.cipher.aes=function(e){this._tables[0][0][0]||this._precompute();var a,c,t,b,r,n=this._tables[0][4],i=this._tables[1],d=e.length,f=1;if(4!==d&&6!==d&&8!==d)throw new qm.exception.invalid("invalid aes key size");for(this._key=[b=e.slice(0),r=[]],a=d;a<4*d+28;a++)t=b[a-1],(a%d==0||8===d&&a%d==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],a%d==0&&(t=t<<8^t>>>24^f<<24,f=f<<1^283*(f>>7))),b[a]=b[a-d]^t;for(c=0;a;c++,a--)t=b[3&c?a:a-4],r[c]=a<=4||c<4?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[3][n[255&t]]},qm.cipher.aes.prototype={encrypt:function(e){return this._crypt(e,0)},decrypt:function(e){return this._crypt(e,1)},_tables:[[[],[],[],[],[]],[[],[],[],[],[]]],_precompute:function(){var e,a,c,t,b,r,n,i,d=this._tables[0],f=this._tables[1],o=d[4],s=f[4],u=[],l=[];for(e=0;e<256;e++)l[(u[e]=e<<1^283*(e>>7))^e]=e;for(a=c=0;!o[a];a^=t||1,c=l[c]||1)for(r=(r=c^c<<1^c<<2^c<<3^c<<4)>>8^255&r^99,o[a]=r,s[r]=a,i=16843009*u[b=u[t=u[a]]]^65537*b^257*t^16843008*a,n=257*u[r]^16843008*r,e=0;e<4;e++)d[e][a]=n=n<<24^n>>>8,f[e][r]=i=i<<24^i>>>8;for(e=0;e<5;e++)d[e]=d[e].slice(0),f[e]=f[e].slice(0)},_crypt:function(e,a){if(4!==e.length)throw new qm.exception.invalid("invalid aes block size");var c,t,b,r,n=this._key[a],i=e[0]^n[0],d=e[a?3:1]^n[1],f=e[2]^n[2],o=e[a?1:3]^n[3],s=n.length/4-2,u=4,l=[0,0,0,0],h=this._tables[a],p=h[0],v=h[1],y=h[2],m=h[3],g=h[4];for(r=0;r<s;r++)c=p[i>>>24]^v[d>>16&255]^y[f>>8&255]^m[255&o]^n[u],t=p[d>>>24]^v[f>>16&255]^y[o>>8&255]^m[255&i]^n[u+1],b=p[f>>>24]^v[o>>16&255]^y[i>>8&255]^m[255&d]^n[u+2],o=p[o>>>24]^v[i>>16&255]^y[d>>8&255]^m[255&f]^n[u+3],u+=4,i=c,d=t,f=b;for(r=0;r<4;r++)l[a?3&-r:r]=g[i>>>24]<<24^g[d>>16&255]<<16^g[f>>8&255]<<8^g[255&o]^n[u++],c=i,i=d,d=f,f=o,o=c;return l}},qm.bitArray={bitSlice:function(e,a,c){return e=qm.bitArray._shiftRight(e.slice(a/32),32-(31&a)).slice(1),void 0===c?e:qm.bitArray.clamp(e,c-a)},extract:function(e,a,c){var t=Math.floor(-a-c&31);return(-32&(a+c-1^a)?e[a/32|0]<<32-t^e[a/32+1|0]>>>t:e[a/32|0]>>>t)&(1<<c)-1},concat:function(e,a){if(0===e.length||0===a.length)return e.concat(a);var c=e[e.length-1],t=qm.bitArray.getPartial(c);return 32===t?e.concat(a):qm.bitArray._shiftRight(a,t,0|c,e.slice(0,e.length-1))},bitLength:function(e){var a,c=e.length;return 0===c?0:(a=e[c-1],32*(c-1)+qm.bitArray.getPartial(a))},clamp:function(e,a){if(32*e.length<a)return e;var c=(e=e.slice(0,Math.ceil(a/32))).length;return a&=31,c>0&&a&&(e[c-1]=qm.bitArray.partial(a,e[c-1]&2147483648>>a-1,1)),e},partial:function(e,a,c){return 32===e?a:(c?0|a:a<<32-e)+1099511627776*e},getPartial:function(e){return Math.round(e/1099511627776)||32},equal:function(e,a){if(qm.bitArray.bitLength(e)!==qm.bitArray.bitLength(a))return!1;var c,t=0;for(c=0;c<e.length;c++)t|=e[c]^a[c];return 0===t},_shiftRight:function(e,a,c,t){var b,r,n;for(void 0===t&&(t=[]);a>=32;a-=32)t.push(c),c=0;if(0===a)return t.concat(e);for(b=0;b<e.length;b++)t.push(c|e[b]>>>a),c=e[b]<<32-a;return r=e.length?e[e.length-1]:0,n=qm.bitArray.getPartial(r),t.push(qm.bitArray.partial(a+n&31,a+n>32?c:t.pop(),1)),t},_xor4:function(e,a){return[e[0]^a[0],e[1]^a[1],e[2]^a[2],e[3]^a[3]]},byteswapM:function(e){var a,c;for(a=0;a<e.length;++a)c=e[a],e[a]=c>>>24|c>>>8&65280|(65280&c)<<8|c<<24;return e}},qm.codec.utf8String={fromBits:function(e){var a,c,t="",b=qm.bitArray.bitLength(e);for(a=0;a<b/8;a++)3&a||(c=e[a/4]),t+=String.fromCharCode(c>>>8>>>8>>>8),c<<=8;return decodeURIComponent(escape(t))},toBits:function(e){e=unescape(encodeURIComponent(e));var a,c=[],t=0;for(a=0;a<e.length;a++)t=t<<8|e.charCodeAt(a),3&~a||(c.push(t),t=0);return 3&a&&c.push(qm.bitArray.partial(8*(3&a),t)),c}},qm.codec.base64={_chars:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",fromBits:function(e,a,c){var t,b="",r=0,n=qm.codec.base64._chars,i=0,d=qm.bitArray.bitLength(e);for(c&&(n=n.substr(0,62)+"-_"),t=0;6*b.length<d;)b+=n.charAt((i^e[t]>>>r)>>>26),r<6?(i=e[t]<<6-r,r+=26,t++):(i<<=6,r-=6);for(;3&b.length&&!a;)b+="=";return b},toBits:function(e,a){e=e.replace(/\s|=/g,"");var c,t,b=[],r=0,n=qm.codec.base64._chars,i=0;for(a&&(n=n.substr(0,62)+"-_"),c=0;c<e.length;c++){if((t=n.indexOf(e.charAt(c)))<0)throw new qm.exception.invalid("this isn't base64!");r>26?(r-=26,b.push(i^t>>>r),i=t<<32-r):i^=t<<32-(r+=6)}return 56&r&&b.push(qm.bitArray.partial(56&r,i,1)),b}},qm.codec.base64url={fromBits:function(e){return qm.codec.base64.fromBits(e,1,1)},toBits:function(e){return qm.codec.base64.toBits(e,1)}},qm.mode.gcm={name:"gcm",encrypt:function(e,a,c,t,b){var r,n=a.slice(0),i=qm.bitArray;return b=b||128,t=t||[],r=qm.mode.gcm._ctrMode(!0,e,n,t,c,b),i.concat(r.data,r.tag)},decrypt:function(e,a,c,t,b){var r,n,i=a.slice(0),d=qm.bitArray,f=d.bitLength(i);if(t=t||[],(b=b||128)<=f?(n=d.bitSlice(i,f-b),i=d.bitSlice(i,0,f-b)):(n=i,i=[]),r=qm.mode.gcm._ctrMode(!1,e,i,t,c,b),!d.equal(r.tag,n))throw new qm.exception.corrupt("gcm: tag doesn't match");return r.data},_galoisMultiply:function(e,a){var c,t,b,r,n,i=qm.bitArray._xor4;for(b=[0,0,0,0],r=a.slice(0),c=0;c<128;c++){for(!!(e[Math.floor(c/32)]&1<<31-c%32)&&(b=i(b,r)),n=!!(1&r[3]),t=3;t>0;t--)r[t]=r[t]>>>1|(1&r[t-1])<<31;r[0]=r[0]>>>1,n&&(r[0]=r[0]^225<<24)}return b},_ghash:function(e,a,c){var t,b,r=c.length;for(t=a.slice(0),b=0;b<r;b+=4)t[0]^=4294967295&c[b],t[1]^=4294967295&c[b+1],t[2]^=4294967295&c[b+2],t[3]^=4294967295&c[b+3],t=qm.mode.gcm._galoisMultiply(t,e);return t},_ctrMode:function(e,a,c,t,b,r){var n,i,d,f,o,s,u,l,h,p,v,y,m=qm.bitArray;for(h=c.length,p=m.bitLength(c),v=m.bitLength(t),y=m.bitLength(b),n=a.encrypt([0,0,0,0]),96===y?(i=b.slice(0),i=m.concat(i,[1])):(i=qm.mode.gcm._ghash(n,[0,0,0,0],b),i=qm.mode.gcm._ghash(n,i,[0,0,Math.floor(y/4294967296),4294967295&y])),d=qm.mode.gcm._ghash(n,[0,0,0,0],t),s=i.slice(0),u=d.slice(0),e||(u=qm.mode.gcm._ghash(n,d,c)),o=0;o<h;o+=4)s[3]++,f=a.encrypt(s),c[o]^=f[0],c[o+1]^=f[1],c[o+2]^=f[2],c[o+3]^=f[3];return c=m.clamp(c,p),e&&(u=qm.mode.gcm._ghash(n,d,c)),l=[Math.floor(v/4294967296),4294967295&v,Math.floor(p/4294967296),4294967295&p],u=qm.mode.gcm._ghash(n,u,l),f=a.encrypt(i),u[0]^=f[0],u[1]^=f[1],u[2]^=f[2],u[3]^=f[3],{tag:m.bitSlice(u,0,r),data:c}}};var Wm,Ym={webCryptoDecrypt:zm,decrypt:(Wm=Ja(ic().mark((function e(a,c){var t,b;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"==typeof c&&(c=JSON.parse(c)),!c.enableSoftwareAES&&null!==(t=crypto)&&void 0!==t&&t.subtle){e.next=7;break}return e.next=4,Km(a,c);case 4:b=e.sent,e.next=18;break;case 7:return e.prev=7,e.next=10,zm(a,c);case 10:b=e.sent,e.next=18;break;case 13:return e.prev=13,e.t0=e.catch(7),e.next=17,Km(a,c);case 17:b=e.sent;case 18:return e.abrupt("return",b);case 19:case"end":return e.stop()}}),e,null,[[7,13]])}))),function(e,a){return Wm.apply(this,arguments)})};function Xm(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[],i=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var d=parseInt(e.slice(16,24),16),f=2*parseInt(e.slice(32,40),16);for(b=40;b<f+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var o=f+40,s=parseInt(e.slice(o,o+4),16);for(o+=4,b=0;b<s;++b){var u=t(e,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=t(e,o);l+=String.fromCharCode(r^p[1]),o+=2*p[0]}i.push(l)}return a.p=null,function e(a,c,t,b,r){var d,f,o,s,u,l=-1,h=[],p=null,v=[c];for(f=Math.min(c.length,t),o=0;o<f;++o)v.push(c[o]);v.p=b;for(var y=[];;)try{switch(n[a++]){case 24:h[++l]=!0;break;case 42:h[++l]=!1;break;case 40:h[++l]=null;break;case 64:d=n[a++],h[++l]=d<<24>>24;break;case 58:d=((d=((d=n[a++])<<8)+n[a++])<<8)+n[a++],h[++l]=(d<<8)+n[a++];break;case 46:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=i[d];break;case 26:h[++l]=void 0;break;case 14:h[++l]=r;break;case 25:d=(n[a]<<8)+n[a+1],a+=2,l=l-d+1,f=h.slice(l,l+d),h[l]=f;break;case 56:h[++l]={};break;case 12:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],h[l][f]=o;break;case 59:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;h[++l]=s[o];break;case 70:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],h[l]=h[l][f];break;case 29:f=h[l--],h[l]=h[l][f];break;case 65:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;s[o]=h[l--];break;case 35:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],s=h[l--],o[f]=s;break;case 48:f=h[l--],o=h[l--],s=h[l--],o[f]=s;break;case 3:for(f=n[a++],o=n[a++],s=v,s=v;f>0;--f)s=s.p;h[++l]=s,h[++l]=o;break;case 32:f=h[l--],h[l]+=f;break;case 44:h[l]=-h[l];break;case 31:f=h[l--],h[l]=h[l]===f;break;case 27:f=h[l--],h[l]=h[l]!==f;break;case 62:f=h[l--],h[l]=h[l]>f;break;case 39:h[l]=!h[l];break;case 6:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?--l:a+=d;break;case 33:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?a+=d:--l;break;case 11:f=h[l--],(o=h[l--])[f]=h[l];break;case 30:h[l]=void 0;break;case 7:h[l]=typeof h[l];break;case 45:d=n[a++],f=h[l--],(o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)})._v=[f,d,v],o._u=e,h[++l]=o;break;case 71:d=n[a++],f=h[l--],(s=[o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)}]).p=v,o._v=[f,d,s],o._u=e,h[++l]=o;break;case 38:throw f=h[l--];case 22:for(f=h[l--],o=null;s=y.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)a=o[2],o[0]=0,y.push(o);else{if(!p)return f;a=p[1],r=p[2],v=p[3],y=p[4],h[++l]=f,p=p[0]}break;case 37:l-=d=n[a++],o=h.slice(l+1,l+d+1),f=h[l--],s=h[l--],f._u===e?(f=f._v,p=[p,a,r,v,y],a=f[0],null==s&&(s=function(){return this}()),r=s,(v=[o].concat(o)).length=Math.min(f[1],d)+1,v.p=f[2],y=[]):(u=f.apply(s,o),h[++l]=u);break;case 19:for(d=n[a++],s=[void 0],u=d;u>0;--u)s[u]=h[l--];o=h[l--],u=new(f=Function.bind.apply(o,s)),h[++l]=u;break;case 75:a+=2+(d=(d=(n[a]<<8)+n[a+1])<<16>>16);break;case 18:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=h[l--])||(a+=d);break;case 15:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,f=h[l--],h[l]===f&&(--l,a+=d);break;case 2:--l;break;case 53:f=h[l],h[++l]=f;break;default:throw new Error("ioe")}}catch(m){for(;(d=y.pop())&&!d[0];);if(!d){e:for(;p;){for(f=p[4];d=f.pop();)if(d[0])break e;p=p[0]}if(!p)throw m;a=p[1],r=p[2],v=p[3],y=p[4],p=p[0]}1===(f=d[0])?(a=d[2],d[0]=0,y.push(d),h[++l]=m):2===f?(a=d[2],d[0]=0,y.push(d)):(a=d[3],d[0]=2,y.push(d),h[++l]=m)}}(d,[],0,a,c)}e.TRANSFORM_IV=void 0,e.transformUnionKey=void 0,function(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[],i=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var d=parseInt(e.slice(16,24),16),f=2*parseInt(e.slice(32,40),16);for(b=40;b<f+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var o=f+40,s=parseInt(e.slice(o,o+4),16);for(o+=4,b=0;b<s;++b){var u=t(e,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=t(e,o);l+=String.fromCharCode(r^p[1]),o+=2*p[0]}i.push(l)}a.p=null,function e(a,c,t,b,r){var d,f,o,s,u,l=-1,h=[],p=null,v=[c];for(f=Math.min(c.length,t),o=0;o<f;++o)v.push(c[o]);v.p=b;for(var y=[];;)try{switch(n[a++]){case 40:h[++l]=null;break;case 64:d=n[a++],h[++l]=d<<24>>24;break;case 21:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=d<<16>>16;break;case 58:d=((d=((d=n[a++])<<8)+n[a++])<<8)+n[a++],h[++l]=(d<<8)+n[a++];break;case 46:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=i[d];break;case 26:h[++l]=void 0;break;case 14:h[++l]=r;break;case 25:d=(n[a]<<8)+n[a+1],a+=2,l=l-d+1,f=h.slice(l,l+d),h[l]=f;break;case 56:h[++l]={};break;case 12:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],h[l][f]=o;break;case 59:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;h[++l]=s[o];break;case 70:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],h[l]=h[l][f];break;case 65:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;s[o]=h[l--];break;case 35:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],s=h[l--],o[f]=s;break;case 11:f=h[l--],(o=h[l--])[f]=h[l];break;case 45:d=n[a++],f=h[l--],(o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)})._v=[f,d,v],o._u=e,h[++l]=o;break;case 71:d=n[a++],f=h[l--],(s=[o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)}]).p=v,o._v=[f,d,s],o._u=e,h[++l]=o;break;case 22:for(f=h[l--],o=null;s=y.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)a=o[2],o[0]=0,y.push(o);else{if(!p)return f;a=p[1],r=p[2],v=p[3],y=p[4],h[++l]=f,p=p[0]}break;case 37:l-=d=n[a++],o=h.slice(l+1,l+d+1),f=h[l--],s=h[l--],f._u===e?(f=f._v,p=[p,a,r,v,y],a=f[0],null==s&&(s=function(){return this}()),r=s,(v=[o].concat(o)).length=Math.min(f[1],d)+1,v.p=f[2],y=[]):(u=f.apply(s,o),h[++l]=u);break;case 19:for(d=n[a++],s=[void 0],u=d;u>0;--u)s[u]=h[l--];o=h[l--],u=new(f=Function.bind.apply(o,s)),h[++l]=u;break;case 75:a+=2+(d=(d=(n[a]<<8)+n[a+1])<<16>>16);break;case 18:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=h[l--])||(a+=d);break;case 15:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,f=h[l--],h[l]===f&&(--l,a+=d);break;case 2:--l;break;case 53:f=h[l],h[++l]=f;break;default:throw new Error("ioe")}}catch(m){for(;(d=y.pop())&&!d[0];);if(!d){e:for(;p;){for(f=p[4];d=f.pop();)if(d[0])break e;p=p[0]}if(!p)throw m;a=p[1],r=p[2],v=p[3],y=p[4],p=p[0]}1===(f=d[0])?(a=d[2],d[0]=0,y.push(d),h[++l]=m):2===f?(a=d[2],d[0]=0,y.push(d)):(a=d[3],d[0]=2,y.push(d),h[++l]=m)}}(d,[],0,a,c)}("504B010148cf39cc000000d9cd38cf480000011a3b0101354600010e3b0000250216283b0201283b02022500354600023a000000384702250125014101013b0101354600010e3b0000250216283b04022500354600033a0000004f47013b010025021640011200833b00014600043b00012e00050b40000f001440030f004640050f005a2e00060f0054024b005a3b0604354600073b0202250141020340033b00012300043b0603354600083b0203383b02010c00093b06050c000a1500800c000b2502163b000146000c4102043b00013546000d2e000e3b02042502163b00013546000f2500164bff781a163a000000002d024101063a0000000e2d004100013b0100405b40684045404b15009c1500ab1500ee40471500ca40041500f4400519000c13014600004101051a160010067e697a7a796e057d6c6c706504717d6e77046b6e7d6c0472796468046c6e796a0379727804747d6f740778797f6e656c6804787d687d02756a09687d7b5079727b6874046f797268067d7e6e696c68066e7968696e72046f68736c",{0:Uint8Array,get 1(){return Ja},get 2(){return ic},get 3(){return Ym},get 4(){return Cm},get 5(){return e.TRANSFORM_IV},set 5(a){e.TRANSFORM_IV=a},get 6(){return e.transformUnionKey},set 6(a){e.transformUnionKey=a}},void 0);var Qm="volcvui",Jm=new Map,Zm=new Map,eg=void 0,ag=function(){function a(c){var t;return ec(this,a),(t=Za(this,a)).EMEError=function(a){t.emit(e.EVENT_EME.ERROR,a)},t.encryptHandle=function(){var a;null===(a=t.eme)||void 0===a||a.emit(e.EVENT_EME.ENCRYPTED)},t.config=ag.defaultConfig,t.updateConfig(c),t.config.isEncrypt=!!(t.config.kid||t.config.drm||t.config.secretKey||t.config.drmKeyToken||t.config.keyValue),t.on(e.EVENT_EME.ENCRYPTED,t.encryptHandle),t}return rc(a,wl),cc(a,[{key:"destroy",value:function(){this.removeAllListeners(),this.eme&&(this.eme.destroy(),this.eme=null)}},{key:"log",value:function(e){for(var a=arguments.length,c=new Array(a>1?a-1:0),t=1;t<a;t++)c[t-1]=arguments[t];Up.apply(void 0,[e].concat(c))}},{key:"setupEME",value:function(e){this.eme&&this.eme.setupEME(e)}},{key:"updateConfig",value:function(e){var a=this;Object.keys(e).map((function(c){void 0!==e[c]&&null!==e[c]&&(a.config[c]=e[c])})),this.log("set config",JSON.stringify(this.config))}},{key:"setOptions",value:function(e){this.eme&&this.eme.setOptions(e)}},{key:"getSecretKeyByToken",value:function(e,a,c){var t=this,b=this.config,r=e||b.kid,n=a||b.playDomain||"";n.indexOf("//")<0&&(n="//".concat(n));var i=c||b.drmKeyToken||"",d=dv.isBase64(i)?window.atob(i):i,f="".concat(n,"?").concat(d,"&PlayAuthIds=").concat(r,"&ssl=true");d.indexOf("DrmType=")<0&&(f+="&DrmType=".concat(b.useUnionInfoDRM?"webdevice":"22")),this.log("getSecretKeyByToken start, vid,",b.vid,f);var o=Promise.withResolvers(),s=o.promise,u=o.resolve,l=o.reject;return Op({type:"json",method:"GET",url:f}).then((function(e){var a,c,r=e.response;if("string"==typeof r&&(r=JSON.parse(r)),r&&null!==(a=r)&&void 0!==a&&a.Result&&(null===(c=r.Result.PlayAuthInfoList)||void 0===c?void 0:c.length)>0){var n=r.Result.PlayAuthInfoList[0].PlayAuthContent;t.log("getSecretKeyByToken end, vid,",b.vid,",res,",JSON.stringify(r)),u(n)}else l(new Error("getSecretKeyByToken end, vid, ".concat(b.vid,", response null")))})).catch((function(e){l(e)})),s}},{key:"getLicense",value:function a(){return Xm("504B010148cf39cc0000031ecd38cf48000003a1283b030325003546000b3a0000002247013b0100284005402019000219000125041640011202f53b000146000c3b00012e000d0b40000f004640030f0067400a0f0106400b0f010a40130f01e140160f01f040170f01f440190f01fa401a0f01fb40200f025640250f028840270f028e40290f029a2e000e0f0294024b029a382e000f0c00102a0c001141020140033b000123000c3b0401354600123b02013b040a2502163b04014600000302020b023b02024600130302030b023b02024600140302040b023b04042100033b02032100033b02042100093b04014600004600152712000b40273b000123000c4b022940053b000123000d3b04014600004600152100033b02044102073b02032100093b04040600033b04052712000b400b3b000123000c4b01f1400a3b000123000c283b05043b04033b02033b04043b04053b04063b05052506163b00014600164102073b04040600093b02070302050b281b0600073b020540001e1b0600063b020546001712000d3b02074600173b04041d4b00033b02074102083b040146000003020a0b023b020a46001803020b0b023b020a46001903020c0b023b04013546001a250041020d3b02082706000d3b04014600004600140302080b023b020b0600033b020d0600183b05063546001b3b020d46001c3b020d46001d3b020c25032712000b40193b000123000c4b011a3b0507072e001e1f2712000b40163b000123000c4b010340133b000123000c283b05073b02083b020d46001d2502163b000146001641020940173b000123000c4b00d73b05082e001f130126401a3b000123000c4b00c33b02084102093b04040600093b02070302060b281b0600073b020640001e1b0600063b02064600171200163b02093b02074600173b0404303b02073b02012300153b02093b0201230014183b0201230011283b04093b020125010240253b000123000c4b005d40203b000123000d3b0001352e00201d400525013b00012300212a3b02012300113b00014600213b0201230022283b040a3b020125010240293b000123000c4b001b183b0201230011283b04093b02012501023b0001354600232500164bfd061a160e4100010e4600004100023b00024600014100033b00024600024100043b00024600034100053b00024600044100063b01013546000525004100073b00074600064100083b00074600074100093b000746000841000a3b010135460007250035460009283b0102283b010325003546000a3a000000004700250125012501023b0008160024067f73727a757b036a7578037775780d7b796850757f79726f79496e7007786e7148656c790d6b7568744e796f73706a796e6f076c6e7371756f79076e796f73706a79066e7976797f68046874797204717d6e77046b6e7d6c0472796468046c6e796a037972780a7b796850757f79726f7906717968747378076f697f7f796f6f1743686e655b79684f797f6e79685779655e654873777972096f797f6e7968577965087779654a7d70697903786e71046f797268097f70797d6e5779656f0f696f79497275737255727a73584e5117777965487377797259646c756e797858696e7d687573720d437b7968497275737255727a73157f74797f77497275737255727a7359646c756e7978076972757372555809697275737255727a73087a69727f68757372494874793c3e686e7d726f7a736e7149727573725779653e3c6f74736970783c7e793c6c6e736a757879783c75723c7f73727a757b696e7d687573723c7d6f3c7d3c7a69727f68757372057f7d687f7402682c05796e6e736e046f68736c",{get 0(){return a},1:Promise,get 2(){return Ja},get 3(){return ic},get 4(){return jp},get 5(){return eg},get 6(){return dv},get 7(){return void 0!==e.transformUnionKey?e.transformUnionKey:void 0},8:Error,9:arguments},this)}},{key:"_tryGetSecretKeyByToken",value:(t=Ja(ic().mark((function e(a,c){var t,b,r,n;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this.config,b=t.kid,r=t.drmKeyToken,n=t.playDomain,!(b&&r&&n)){e.next=14;break}return e.prev=2,e.next=5,this.getSecretKeyByToken(b,n,r);case 5:this.config.secretKey=e.sent,a.success=!0,e.next=14;break;case 9:e.prev=9,e.t0=e.catch(2),a.success=!1,a.error=e.t0,c(a);case 14:case"end":return e.stop()}}),e,this,[[2,9]])}))),function(e,a){return t.apply(this,arguments)})},{key:"updateKid",value:function e(a){return Xm("504B010148cf39cc00000000cd38cf48000000170e46000006000d0e460000354600013b01022501021a1600020379717909696c787d6879577578",{get 0(){return e},1:arguments,2:a},this)}},{key:"getLicenseSecret",value:function a(){return Xm("504B010148cf39cc0000032ccd38cf480000048a3b01013546000c3b020246000b3b00012502021a163b01013546000c3b020246000d3b00012502021a16283b030725003546001e3a0000004c47013b010028400b401e19000219000125041640011202d93b000146001f3b00012e00200b40000f004140030f006240050f0089400a0f00e0400b0f00e4400f0f011540100f011940170f01d140180f01d540190f01ee401e0f025140230f02832e00210f027d024b0283382e00220c00232a0c002441020140033b000123001f3b0401354600253b02013b040f2502163b0201460024270600063b02014600262712000b40053b000123001f4b023e3b0001354600272e00282501163b04014600004600294102023b0202270600043b0407272712000b400b3b000123001f4b020b3b04040600033b04052712000b400b3b000123001f4b01f3400a3b000123001f283b05083b04032100032e002a3b04043b04052503163b000146002b410202400b3b00012300203b04083b050946002c1f2712000b40103b000123001f4b01ab400f3b000123001f283b050a3b02023b050b2502163b000146002b4102023b04061200273b04071200093b04074102024b00183b0202120012283b050c283b050d3b0202250125014102023b04014600000302030b023b020346002d0302040b023b020346002e0302050b023b04013546002f25004102063b02040600033b02060600183b050e354600303b02064600313b02064600323b020525032712000b40193b000123001f4b01003b04060600033b02022712000b40183b000123001f4b00e840173b000123001f283b050f3b02023b02064600322502163b000146002b4102023b050e354600333b0510354600343b0206460032250125013b02012300353b040612003d38380c00364102073b04042100033b05114102083b02023b02074600363b0208303b0401460007354600173b020725010240001e3b02012300294b00093b02023b0201230029183b0201230024283b040e3b020125010240233b000123001f4b0041401e3b00012300203b0001352e00371d400b25013b00012300382a3b02012300243b00014600383b0201230026283b040f3b02012501023b0001354600392500164bfd221a160e4100010e4600004100023b00024600014100033b00024600024100043b00024600034100053b00024600044100063b00024600054100073b00024600064100080e4600004600041200bf3b010113000e2300070e460007354600083b01024600090e46000a2502020e460007354600083b010246000b3a000000002d012502020e460007354600083b010246000d3a000000152d012502020e46000046000e4100093b00040600033b000912005b3b010346000f460010354600112500354600122e0013250140012c3e1200062e00144b00032e001541000a283b0104383b000a383b00093b0004200c0016250341000b0e460007354600173b000b2501023b0105354600182500163b010535460019250041000c3b000c46001a41000d3b000c46001841000e3b000c46001b41000f3b01053546001825003546001c283b0106283b010725003546001d3a0000002a4700250125012501023b000d16003a067f73727a757b036a7578037775780d7b796850757f79726f79496e7006696f79595159087779654a7d70697907786e7148656c790379717902737205594e4e534e08595159596e6e736e135f58514350555f59524f59434f495f5f594f4f0479717568115f58514350555f59524f5943594e4e534e13757268796e686e696f684f796e6a796e494e5009727d6a757b7d68736e09696f796e5d7b79726811687350737f7d707950736b796e5f7d6f79077572787964537a067f746e737179086b7578796a757279096c707d656e797d7865096f796e6a796e494e5009696c787d6879586e71076e796f73706a790d6b7568744e796f73706a796e6f076c6e7371756f79066e7976797f68046874797204717d6e77046b6e7d6c0472796468046c6e796a037972780a7b796850757f79726f7906717968747378076f697f7f796f6f1743686e655b79684f797f6e79685779655e65487377797205796e6e736e067d7e6e696c68066e7968696e72096f797f6e796857796500046f797268174c4e554a5d48594359525f4e454c4843494c5b4e5d58590f696f79497275737255727a73584e5117777965487377797259646c756e797858696e7d687573720d437b7968497275737255727a73157f74797f77497275737255727a7359646c756e7978076972757372555809697275737255727a73134f686e75727b48735d6e6e7d655e697a7a796e04747d6f740a78797f6e656c68577965097f70797d6e5779656f057f7d687f7402682c046f68736c",{get 0(){return a},get 1(){return sv},get 2(){return e.EVENT_EME},get 3(){return window},get 4(){return tc},5:Promise,get 6(){return Ja},get 7(){return ic},get 8(){return Pp},get 9(){return Rp},get 10(){return Mp},get 11(){return eg},get 12(){return Ip},get 13(){return atob},get 14(){return dv},get 15(){return e.transformUnionKey},get 16(){return Cm},get 17(){return cv},18:arguments},this)}},{key:"getSecretKey",value:function(){var e=this.config,a=e.vid,c=e.kid,t=e.getLicenseUrl,b=e.drmKeyToken,r=e.playDomain,n=e.secretKey;return t&&c?Pp(a||"",c,t):b&&c&&r?this.getSecretKeyByToken(c,r,b):n||(console.error("[DRM]DRM,getSecretKey args is invalid"),null)}},{key:"getKeyValue",value:function e(){return Xm("504B010148cf39cc00000000cd38cf480000004d0e4600004100013b00014600014100023b00014600024100033b00014600034100043b00014600044100053b0001460005410006283b01013b00023b00053b00033b00043b00063b01022506160006067f73727a757b036a7578037775780d7b796850757f79726f79496e70096f797f6e796857796507786e7148656c79",{get 0(){return e},get 1(){return jp},get 2(){return eg},3:arguments},this)}},{key:"_getUnionInfo",value:function(){var e=this.config,a=e.drmType,c=e.sessionId;if(!e.useUnionInfoDRM||!c)return null;var t=a===Rp.PRIVATE_ENCRYPT_UPGRADE?Zm:Jm;if(!t.get(c))throw new Error('The "sessionId" '.concat(c," for unionInfo is not valid"));return t.get(c)}}],[{key:"pluginName",get:function(){return"XGSecretKey"}},{key:"defaultConfig",get:function(){return{keyValue:void 0,kid:void 0,getLicenseUrl:"",secretKey:void 0,drm:void 0,drmType:void 0,vid:"",useUnionInfoDRM:!1,transformUnionKey:void 0,drmKeyToken:void 0,keyTokenExpiredDuration:void 0,playDomain:void 0,sessionId:Qm,useEME:!0,intertrustServerURL:void 0}}},{key:"updateUnionInfo",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Qm,c=dv.getUnionInfo(e);return Jm.set(a,{unionID:e,unionInfo:c}),c}},{key:"generateEncryptInfo",value:(c=Ja(ic().mark((function e(){var a,c,t,b,r,n,i=arguments;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=i.length>0&&void 0!==i[0]?i[0]:"",c=i.length>1&&void 0!==i[1]?i[1]:Qm,e.next=4,Gm();case 4:return t=e.sent,b=t.drmKeK,r=t.keyPair,n=dv.getUnionInfo(a),Zm.set(c,{unionID:a,unionInfo:n}),eg=r,e.abrupt("return",{sessionId:c,unionInfo:n,drmKeK:b});case 11:case"end":return e.stop()}}),e)}))),function(){return c.apply(this,arguments)})}]);var c,t}(),cg=ag;cg.isWebAssemblySupported=Bp,e.XGSecretKey=cg,e.aes4js=Ym,e.util=dv})(Be.exports);var Ue,Ne,Fe,Ge,Ve,qe=Be.exports;!function(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[],i=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var d=parseInt(e.slice(16,24),16),f=2*parseInt(e.slice(32,40),16);for(b=40;b<f+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var o=f+40,s=parseInt(e.slice(o,o+4),16);for(o+=4,b=0;b<s;++b){var u=t(e,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=t(e,o);l+=String.fromCharCode(r^p[1]),o+=2*p[0]}i.push(l)}a.p=null,function e(a,c,t,b,r){var d,f,o,s,u,l=-1,h=[],p=[0,null],v=null,y=[c];for(f=Math.min(c.length,t),o=0;o<f;++o)y.push(c[o]);y.p=b;for(var m=[];;)try{switch(n[a++]){case 22:h[++l]=null;break;case 76:d=n[a++],h[++l]=d<<24>>24;break;case 58:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=d<<16>>16;break;case 7:d=((d=((d=n[a++])<<8)+n[a++])<<8)+n[a++],h[++l]=(d<<8)+n[a++];break;case 64:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=+i[d];break;case 63:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=i[d];break;case 48:h[++l]=void 0;break;case 72:h[++l]=r;break;case 57:d=(n[a]<<8)+n[a+1],a+=2,l=l-d+1,f=h.slice(l,l+d),h[l]=f;break;case 39:h[++l]={};break;case 61:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],h[l][f]=o;break;case 33:for(f=n[a++],o=n[a++],s=y;f>0;--f)s=s.p;h[++l]=s[o];break;case 42:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],h[l]=h[l][f];break;case 70:f=h[l--],h[l]=h[l][f];break;case 60:for(f=n[a++],o=n[a++],s=y;f>0;--f)s=s.p;s[o]=h[l--];break;case 4:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],s=h[l--],o[f]=s;break;case 75:f=h[l--],o=h[l--],s=h[l--],o[f]=s;break;case 59:for(f=n[a++],o=n[a++],s=y,s=y;f>0;--f)s=s.p;h[++l]=s,h[++l]=o;break;case 25:f=h[l--],h[l]+=f;break;case 11:f=h[l--],h[l]-=f;break;case 2:f=h[l--],h[l]*=f;break;case 29:f=h[l--],h[l]/=f;break;case 69:f=h[l--],h[l]%=f;break;case 34:h[l]=-h[l];break;case 52:f=h[l--],s=++(o=h[l--])[f],h[++l]=s;break;case 40:f=h[l--],s=(o=h[l--])[f]++,h[++l]=s;break;case 17:f=h[l--],s=(o=h[l--])[f]--,h[++l]=s;break;case 53:f=h[l--],h[l]=h[l]==f;break;case 19:f=h[l--],h[l]=h[l]!=f;break;case 15:f=h[l--],h[l]=h[l]===f;break;case 13:f=h[l--],h[l]=h[l]!==f;break;case 24:f=h[l--],h[l]=h[l]<f;break;case 28:f=h[l--],h[l]=h[l]<=f;break;case 62:f=h[l--],h[l]=h[l]>f;break;case 68:f=h[l--],h[l]=h[l]>=f;break;case 55:f=h[l--],h[l]=h[l]<<f;break;case 9:f=h[l--],h[l]=h[l]>>f;break;case 41:f=h[l--],h[l]=h[l]>>>f;break;case 20:f=h[l--],h[l]=h[l]&f;break;case 10:f=h[l--],h[l]=h[l]|f;break;case 18:h[l]=~h[l];break;case 27:f=h[l--],h[l]=h[l]^f;break;case 71:h[l]=!h[l];break;case 35:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?--l:a+=d;break;case 31:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?a+=d:--l;break;case 1:f=h[l--],(o=h[l--])[f]=h[l];break;case 38:f=h[l--],h[l]=h[l]in f;break;case 21:f=h[l--],h[l]=h[l]instanceof f;break;case 51:h[l]=void 0;break;case 14:f=h[l--],s=delete(o=h[l--])[f],h[++l]=s;break;case 32:h[l]=typeof h[l];break;case 23:d=n[a++],f=h[l--],(o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)})._v=[f,d,y],o._u=e,h[++l]=o;break;case 3:d=n[a++],f=h[l--],(s=[o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)}]).p=y,o._v=[f,d,s],o._u=e,h[++l]=o;break;case 45:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=m[m.length-1])[1]=a+d;break;case 5:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=m[m.length-1])&&!f[1]?(f[0]=3,f.push(a)):m.push([1,0,a]),a+=d;break;case 16:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,m.push([2,0,a]),a+=d;break;case 56:throw f=h[l--];case 26:if(o=(f=m.pop())[0],s=p[0],1===o)a=f[1];else if(0===o)if(0===s)a=f[1];else{if(1!==s)throw p[1];if(!v)return p[1];a=v[1],r=v[2],y=v[3],m=v[4],h[++l]=p[1],p=[0,null],v=v[0]}else a=f[2],f[0]=0,m.push(f);break;case 12:for(f=h[l--],o=null;s=m.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)p=[1,f],a=o[2],o[0]=0,m.push(o);else{if(!v)return f;a=v[1],r=v[2],y=v[3],m=v[4],h[++l]=f,p=[0,null],v=v[0]}break;case 74:l-=d=n[a++],o=h.slice(l+1,l+d+1),f=h[l--],s=h[l--],f._u===e?(f=f._v,v=[v,a,r,y,m],a=f[0],null==s&&(s=function(){return this}()),r=s,(y=[o].concat(o)).length=Math.min(f[1],d)+1,y.p=f[2],m=[]):(u=f.apply(s,o),h[++l]=u);break;case 47:for(d=n[a++],s=[void 0],u=d;u>0;--u)s[u]=h[l--];o=h[l--],u=new(f=Function.bind.apply(o,s)),h[++l]=u;break;case 44:a+=2+(d=(d=(n[a]<<8)+n[a+1])<<16>>16);break;case 54:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=h[l--])||(a+=d);break;case 49:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,f=h[l--],h[l]===f&&(--l,a+=d);break;case 0:--l;break;case 46:f=h[l],h[++l]=f;break;case 36:for(s in f=n[a++],o=h[l--],d=[],o)d.push(s);y[f]=d;break;case 8:f=n[a++],o=h[l--],s=h[l--],(d=y[f].shift())?(s[o]=d,h[++l]=!0):h[++l]=!1;break;default:throw new Error("ioe")}}catch(g){for(p=[0,null];(d=m.pop())&&!d[0];);if(!d){e:for(;v;){for(f=v[4];d=f.pop();)if(d[0])break e;v=v[0]}if(!v)throw g;a=v[1],r=v[2],y=v[3],m=v[4],v=v[0]}1===(f=d[0])?(a=d[2],d[0]=0,m.push(d),h[++l]=g):2===f?(a=d[2],d[0]=0,m.push(d),p=[3,g]):(a=d[3],d[0]=2,m.push(d),h[++l]=g)}}(d,[],0,a,c)}("504B010185868188000073d18b83868500007a442100022e2a00003f00014a013600bd2100022e2a00022102183f00032f013f00044a023c00043f0005210200203523000b3f00052102002a000620353600152102002e2a00062100043f00074a023c00032c005b3f000521020120133600092102023f00082f0138162102012100044a013c00052102032100052a00092f013c00034c003c00062100062100052a00091836001b2100052e2a000a2100064a012100032100064b3b000628002cffd82102042e2a000b2100032100014a022e2a000c070000010917014a010c4c00333c00074c00333c0008162102052100024a012e2a000c070000011017014a012e2a000c070000016317014a012e2a000c070000018317014a010c2100012a000d0c2100013b0107012a000e2e2a000f3f00104a011f00033f00043b010801003f00112103042623000c2101082e2a00003f00124a013600122103042e2a00112101072101014a022c00092101072e2a00134a000c210001210306153600122103042e2a000b2100012101014a022c00032100010c2100012a000d0c162102012100013f00144a020c07000006c117023c0012070000087717043c00130700000a3517013c00140700000ae117023c00150700000af317013c00160700000b8917013c001e0700000bd717013c001f0700000be417013c00200700000c2817013c00210700000cc017013c00220700000ccd17013c00230700000ec417013c00240700000efe17003c00260700000ff817013c0027070000101b17023c0028070000104717023c002b070000112e17033c002c07000022cf17013c0033070000065817022100011f0001273b0001010400164c00332100010d3600062100012c0001273c00032103072a00173c000416210004272100034a023c00053f00183c00063f00043c00074c002103082a00192a001a3b0007012e2a001b3f001c4a010d36002e2100072e2a001d4c002100072e2a00022103183f001e2f013f00044a022e2a001f3f00204a014c01194a022c00033f00043b00070100070000068403013b000201002100032a00271f000f21030a2a00282e2a002921030a4a01002100032a002a1f000f21030a2a002b2e2a002921030a4a013c000a162100042100032100054a0200163b000501002100032a002c2300062100032a002c002100032a002d23000a2100032a002d3b000601002100032a002e2300062100032a002e002100032a002f23000a2100032a002f3b000801002100032a0030003f0031210304203f00320f3600063f00322c0009162103252103044a01132300091621001e3f00334a01004c01473c00103f003221030b201336000b21030b3f00342f012c00034c00333c00112100032a0041003900003c00193900003c001a3900003c001b4c003c001c163c001d272100033f005e0100272100033f005f01001621001f3f00603b0017014a011f002e2100173b001801002100032a00613600122100032e2a00612100182100074a022c0007210007210018193b00170100273c00254c1f4c1d4c1f4c1e4c1f4c1e4c1f4c1f4c1e4c1f4c1e4c1f39000c3c00294c1f4c1c4c1f4c1e4c1f4c1e4c1f4c1f4c1e4c1f4c1e4c1f39000c3c002a27070000118303013d0079070000119303033d007a07000011ae03003d007b07000011ba03033d007d07000011d303013d0082070000129503023d0084070000133b03023d0085070000138f03043d00f53c002d160700001ebe17004a004700070000216017002100033f01070100070000217b17002100033f010a013c002e070000219a17002100033f010c010007000021b517002100033f010e010007000021d017002100033f0110010007000021eb17002100033f01120100070000220617002100033f01140100070000222117002100033f01160100070000223c17002100033f01180100070000225717002100033f011a0100070000227217002100033f011c013c0030070000229117002100033f011e013c003107000022b017002100033f0120013c003221002c2100033f01270100070000245a17052100033f012b01002100122100033f012c010007000025f117012100033f012d0100070000262903003b001d01002100332100033f012e01002100032a012f3600413f00052100032a012f20352300102100032a012f3900012100033f012f01002100032a012f2a00094c003e360013162100032a012f2e2a01304a004a00002cffde162100334a00002100012a01310c162103022100014a012e2a000c070000067117014a0100300c16210102272100012a00153d00154a0100300c2105092f003c00022100022e2a00213f00222100014c01474a03003f00232100023f002401002100022e2a0025164a01002105032100022a00262f010c2100013600161607000006e1170321010d2100012100024a032c00033f00040c210002210003193c00042100023c00052100012100054623000821000521000444473600083b000534002cffe32100052100020b4c103e2300062100012a00352300032102113600192102112e2a00362100012e2a00352100022100054a024a010c3f00043c0006210002210005183601202100013b000228463c00073a0080210007143600f34c3f2100013b00022846143c00083a00c03a00e021000714133600b54c3f2100013b00022846143c00093a00e03a00f021000714353600174c0f210007144c0c372100084c06370a2100090a2c00234c07210007144c12372100084c0c370a2100094c06370a4c3f2100013b00022846140a3b00070107000100001836001821000621050c2e2a00372100074a01193b000601002c003721000707000100000b3c000a21000621050c2e2a0037070000d80021000a4c0a090a070000dc003a03ff21000a140a4a02193b000601002c001f21000621050c2e2a00374c1f210007144c06372100080a4a01193b000601002c001521000621050c2e2a00372100074a01193b000601002cfed62100060c2100044c003e473600034c000c2100033c0005210003210004194c010b3c00064c003c00072100072100012a00091836017a2100012e2a000a2100074a013c0008210008070000d80044230009210008070000dfff1c23002607000100003a03ff210008144c0a37193a03ff2100012e2a000a3b0007344a01140a3b000801002100084c7f1c36001b210003210006443600032c01162100082100023b0003284b2c01002100083a07ff1c3600392100034c0119210006443600032c00ee3a00c02100084c06090a2100023b00032801003a00804c3f210008140a2100023b00032801002c00bd210008070000ffff1c36004f2100034c0219210006443600032c00a93a00e02100084c0c090a2100023b00032801003a00802100084c06094c3f140a2100023b00032801003a00804c3f210008140a2100023b00032801002c00622100034c0319210006443600032c005a3a00f02100084c12090a2100023b00032801003a00802100084c0c094c3f140a2100023b00032801003a00802100084c06094c3f140a2100023b00032801003a00804c3f210008140a2100023b00032801003b000734002cfe794c0021000221000301002100032100050b0c4c003c00024c003c00032100032100012a0009183600912100012e2a000a2100034a013c0004210004070000d80044230009210004070000dfff1c23002607000100003a03ff210004144c0a37193a03ff2100012e2a000a3b0003344a01140a3b000401002100044c7f1c3600073b0002342c002a2100022100043a07ff1c3600054c022c0013210004070000ffff1c3600054c032c00024c04193b000201003b000334002cff622100020c21010c2e2a00382100012100024a0200300c2100013b010b010021040d2100012f013b010c012101033f0039010021040e2100012f012101033f003a010021040f2100012f013b010e012101033f003b01002104032100012f013b010d012101033f003c01002104102100012f012101033f003d01002104112100012f012101033f003e01002104122100012f012101033f003f01002104132100012f012101033f00400100300c2101032a004223000c2101032e2a00422100014a01001621010a3f0043210001193f0044193b0001014a01004c00473b011001002100013f0045193b000101002104042a00462100012f0138300c2100012e2a00003f00474a010c05000e3c00021621011e2100024a01001a2d002e210001210117352300032101083600092104032101082f010c21010236000a162101022100014a010c3f0048381a300c2100012a00094c003e36008a2100012e2a00494a003c00023f000521000220133600662100022a004a3c00033f004b21000320353600314c00332100022a004c0f36000f16162101222100034a014a002c001216162101222100034a012100022a004c4a012c001d162100034c00332100022a004c0f360004162c00062100022a004c4a01002c000a162100022101034a01002cff6a300c21010f2e2a000f2100014a010c210001483f004d01002100014c100b483f004e01000700000d801701483f004f01000700000d931700483f005001000700000da21701483f005101000700000db51700483f005201000700000dc41701483f005301000700000dd41701483f005401000700000dfa1700483f005501000700000e0c1701483f005601000700000e321700483f005701000700000e441702483f005801000700000e7c1700483f005901000700000e9d1700483f005a0100300c21000121020e482a004e4c04194c02094b300c21020e482a004e4c04194c0209460c21000121020e482a004e4c08194c02094b300c21020e482a004e4c08194c0209460c21000121020e482a004e4c02094b300c2100013600054c012c00024c003b0001010021000121020c482a004e4c0c194c000a0100300c4c0021020c482a004e4c0c194c000a46130c2100013600054c012c00024c003b0001010021000121020c482a004e4c0d194c000a0100300c4c0021020c482a004e4c0d194c000a46130c482e2a004f2100014a0100482e2a00512100024a0100482e2a00534c004a0100482e2a00544c01474a0100482e2a00564c01474a0100300c21020e482a004e4c0209463c00012100014c011921020e482a004e4c02094b300c21020e482a004e4c0209463c00012100014c010b21020e482a004e4c020901004c012100010f0c0500043c00021a2d002e2101092e2a005b21000121010b2a005c0b070000ffff194c10294a0100162101162101092a005d4a01004c010c1a300c2101262a0062473600e9273f00633d00643f00633d00653f00203d00663f00203d00673f00683d00693f0031210414203f00320f3600063f00322c0009162104252104144a01352300062104142a006a2300092104142a006a4c00461f00033f006b2e2a00023f006c3f006d4a023f006e193d006f2101061f00033f00183d006d3c000121012524043b0002080436002a4c0033210125210002460f36000a2100012100020e2c000e2101252100024621000121000201002cffce3900003c000321000124053b0002080536001c2100032e2a00702100023f00711921000121000246194a01002cffdc2100032101260400622101262a00620c2100014c04454c00352300162100014c64454c00131f000a2100013a0190454c00350c4c003c00034c003c00042100042100021c3600142100032100013b00042846193b000301002cffe22100030c2104152100012e2a00724a002f013c00032100024c003e3600c9162101272100032e2a00734a004a013c00042100032e2a00744a003c00052100043600062101292c000321012a210005463c00062100022100062100032e2a00754a000b3e4736001b2100032e2a00762100032e2a00754a00210002194a01002100030c2100022100062100032e2a00754a000b4c01190b3b000201002100032e2a00764c014a01002100054c0b183600122100032e2a00772100054c01194a012c00212100032e2a00774c004a01002100032e2a00782100032e2a00734a004c01194a01002cff2e2100030c2100034c003e3600062100032c000c162101142100014a014c01193c00042104162100042f013c0005162101132100012100054c002100052a00094a043c000621000223000a2100062100053f000901002100050c1621022e2100014c10194a014c10190c2102232100012f012e2a00582100022100034a020021000138300c1621021e3f00044a0100300c21020d2e2a007c210001210002210002210003194a0300300c21020d2a00093c000440007e3c00052100014c00293b0001012100053e3600044c01470c4c013c00062100064c041c36008c2100044c0140007f2100061d19023c00072105172e2a00802100072100010706000000194a023b00070100162102242105172e2a00802100052105172e2a00812100012100074a023b00020107000100003b000301454c003e230013210002210003210002210003450b193b000201002100024a024a013600044c00470c2100064c02023b000601002cff6b4c01470c4c003c0003162102264a002e2a008307000012b117024a01004c000c210102210103193c000321000321030e2101014c0421000202194c020901001607000012f517032100012100034a02002101032100012a00094c0119193b01030100300c4c003c00042100042100012a00091836001f2100012e2a000a2100044a0121040c4c003b0002280a4b3b000434002cffd42100031f000c4c0021040c4c002100020a0100300c162102264a003c00032100032a000921020e2100014c02094b4c003c00042100032e2a0083070000137b17014a010021000421020e2100024c020901004c000c2101042100012a00094c0119193b01040100300c1607000013a617042100012100022100032100044a040c070000176517033c000c07000017a917023c000d07000017b917023c000e070000184b17013c000f07000018fc17013c001021030e2100044c28194c0209463c00052721030e2100044c0209463d008621030e2100044c04194c0209463d008721030e2100044c08194c0209463d008821030e2100044c0c194c0209463d008921030e2100044c10194c0209463d008a21030e2100044c14194c0209463d008b21030e2100044c18194c0209463d008c21030e2100044c1c194c0209463d008d21030e2100044c20194c0209463d008e21030e2100044c24194c0209463d008f21000536000c162103122100054a012c00033f00043d00903c0006162103122100034a013c0007273f00913d00923f00933d00943f00953d00963f00973d00983f00993d009a3f009b3d009c3f009d3d009e3f00933d009f3f009d3d00a03f00923d00a13f00a23d00a33f00933d00a43f009d3d00a53f00a63d00a73f00a83d00a93f00aa3d00ab3f00ac3d00ad3f00ae3d00af3f00b03d00b13f00b23d00b33f00b43d00b53f00b63d00b73f00b83d00b93f00ba3d00bb3f00bc3d00bd3f00be3d00bf3f00c03d00c13f00a63d00c23c000821000824133b000908133600212100072e2a00022106182100093f007a2f02210008210009464a023c00072cffd73f00c33f00c43f00c53f00c63f00c73f00c83f00c93900073c000a3f00ca3f00cb3f00cc3f00cd3f00ce3f00cf3f00d03f00d13f00d23f00d33f00d43f00d539000c3c000b2707000019af03013d00da07000019c403013d00db07000019cf03013d009707000019e403013d00dc07000019ef03013d00a20700001a0803013d00aa0700001a1703013d00ac0700001a2903013d00de0700001a4103013d00df0700001a4b03013d00ae0700001a5a03013d00b00700001a9503013d00e00700001ad003013d00b20700001ae203013d00b40700001af103003d00e20700001af503013d00e50700001b1703013d00b60700001b2603003d00e70700001b2a03013d00b80700001b3603013d00ba0700001c2d03013d00bc0700001d2003013d00be0700001d2703013d00c00700001e3103013d00a60700001e4a03013d00a80700001e5503013d00f00700001eb303013d00f10700001eba03003d00f33c001121001124143b000908143600382100072e2a00f42100094a012300252100072e2a00022106182100093f007a2f022100112e210009462100064a014a023b000701002cffc01621032c2100074c01474a023c00122100122a00092100023e3600054c002c0016162103152100122100014a02002100122a00094c010b0c3f004b210001203536000c2100012e2a00d64a002c00092100011f00033f00043c00042100042a0009210002183600102100034c0046210004193c00042cffe32100040c1621010c2100012100023f00d74a030c070000182b17013c00034c00162100032100012e2a00734a002100022e2a00734a000b4a013b0004010f2300204c00162100032100012e2a00744a002100022e2a00744a000b4a013b0004010f23001d162100032100012e2a00754a002100022e2a00754a000b4a013b000401002100040c2100014c00183600064c01222c00102100014c003e3600054c012c00024c000c2100012e2a00d84a004c003100224c013100334c023100324c033100404c0431004e4c0531005c4c0631006d002c007f2107152100012e2a00734a004c010b4c0b4c1d2f030c2100010c2107152100012e2a00734a004c004c032f030c2107152100012e2a00734a004c004c022f030c2107152100012e2a00734a004c004c012f030c2107152100012e2a00734a004c010b4c0b4c1f2f030c2107152100012e2a00734a004c010b4c0b4c1e2f030c300c1621042b2107152100012a008b3a076c194c004c012f032100012a008d4a023c00022107152100022e2a00734a004c004c042f033c00032107152100022e2a00734a004c01194c004c042f033c00041621010f2100034a013c00051621010f2100044a013c00061621010e2100052100024a024c001c36002d1621010e2100062100024a024c001c36000f2100022e2a00734a004c01192c00092100022e2a00734a002c000c2100022e2a00734a004c010b0c21020a2100012a008c462e2a00d94c004c034a020c21020a2100012a008c460c21020b2100012a008a462e2a00d94c004c034a020c21020b2100012a008a460c1621020d2100012a008b3a076c194c641d4c000a4c024a020c1621020d2100012a00894c024a020c1621020c2100012a00894c023f00dd4a030c162102102100014a012e2a00d64a002e2a00d94c024a010c162102102100014a010c1621020d2100012a00884c024a020c2100012a00883c00024c00210002353600094c0c3b0002012c00132100024c0c3e23000a2100024c0c0b3b000201001621020d2100024c024a020c1621020d2100012a008916210528162105272100012a008b3a076c194a013600062105292c000321052a2100012a008a4c010b4a02194c034a020c1621020d2100012a008a4c01194c024a020c1621020d2100012a00874c024a020c3f00e10c2100012a00884c00442300092100012a00884c0c183600063f00e32c00033f00e40c1621020d2100012a00864c024a020c3f00e60c2100012a008c1f00024c070c2108152100012a008b3a076c194c004c012f033c00024c002100022e2a00d84a000f3600062100022c00151621052b2100024c072100022e2a00d84a000b4a023c00032108152100012a008b3a076c192100012a008a2100012a00892f033c00041621020e2100032100044a024c001836006816210528162105272100042e2a00734a004a013600062105292c000321052a2100042e2a00744a004c010b4a024c1f0b3c00054c1f2100032e2a00754a000b210005192100042e2a00754a00193c00061621020d2108172e2a00e82100064c071d4a014c024a020c4c001621020e2100032100024a020f3600063f00e92c00033f00ea0c2108152100012a008b3a076c194c004c042f033c00032108152100012a008b3a076d194c004c042f033c00041621020f2100034a013c00051621020f2100044a013c00061621052b2108152100012a008b3a076c194c004c012f032100012a008d4a023c00071621020e2100072100054a024c00183600063f00eb2c00741621020e2100062100074a024c001c3600063f00e92c005c2100052e2a00734a002100012a008b3a076c19183600162100012a008d4c20192100052e2a00754a000b2c00132100012a008d4c01192100052e2a00754a000b3b000201001621020d2108172e2a00e82100024c071d4a014c024a020c2100012a008c0c2108152100012a008b4c004c012f033c00024c012100022e2a00d84a000f3600062100022c002c1621052b2100024c002100022e2a00d84a000f3600054c012c000f4c072100022e2a00d84a000b4c01194a023c00032108152100012a008b3a076c192100012a008a2100012a00892f033c00041621020e2100032100044a024c001836006816210528162105272100042e2a00734a004a013600062105292c000321052a2100042e2a00744a004c010b4a024c1f0b3c00054c1f2100032e2a00754a000b210005192100042e2a00754a00193c00061621020d2108172e2a00e82100064c071d4a014c024a020c4c001621020e2100032100024a020f3600063f00e92c00033f00ea0c2100012a008b3a076c192e2a00d64a002e2a00d94c024a010c2100012a008b3a076c190c2100012a008f3c00022100024c00443c00032108172e2a00ec2100024a014c3c1d3b0002014c3c1d4c64022100024c3c45193b000201002100033600063f00ed2c00033f006c1621080c3f00ee210002194a012e2a00ef4c04224a01190c2100012a00900c3f00f20c0700001f8e17023c0002070000202e17013c0003070000203d17013c00042721012d3d007b3c00013b011c28002101032a00fb23000c2101032e2a00fb21011c4a01002101032a001636002d0500163c00051621010a3f0104210005194a01004c01470c1a2d00112101032e2a00162100012100024a020c1a2101081f000b3f00052104042a001120131f00091621011f2101174a011f00083f0005210405201336000c162100042100034a012c001d16210405210117273f00fd3d00fe4a022e2a000c070000211e17014a0100300c2100012a00153c00042100042102033f00f60100162102162102032a00f62a00f73b0209012a005d4a01002102032a00f62a00f83b020f01002102032a00f62a00f93b0003010021021a2e2a00fa2100034a0100160700001fef17004a0000300c3b031c11002103032a00fb23000c2103032e2a00fb21031c4a01004c0021031c3523000321031d36001321031d3c0001163b031d0100162100014a0000300c162101022100012a000d4a0100300c2102081f00083f000521050520133600192105192e2a00fc4a002e2a000c07000020bc17004a012c002a16210505210217273f00fd3d00fe4a022e2a000c07000020c617014a012e2a010207000020e617004a012e2a000c07000020f017014a012e2a000c070000210017014a012e2a000c210001070000210417014a020c162103202103174a010c2100012a00ff4736000c3f0100210317193f010119382100012e2a00134a000c162103202103174a010c2106042e2a000b2100012102014a020c2100010c1621030a3f0103210001194a01001621031e2100014a0100300c2105042e2a00112100012101014a022e2a000c210103070000213e17014a020c1621030a3f0105210001194a01001621030a3f01064a0100162102042102034a010c2101032a00f62a00f92101033f0107012e2a0108162100004a020c2101032a00f62a01092101033f010a013b012e012e2a0108162100004a020c2101032a00f62a010b2101033f010c012e2a0108162100004a020c2101032a00f62a010d2101033f010e012e2a0108162100004a020c2101032a00f62a010f2101033f0110012e2a0108162100004a020c2101032a00f62a01112101033f0112012e2a0108162100004a020c2101032a00f62a01132101033f0114012e2a0108162100004a020c2101032a00f62a01152101033f0116012e2a0108162100004a020c2101032a00f62a01172101033f0118012e2a0108162100004a020c2101032a00f62a01192101033f011a012e2a0108162100004a020c2101032a00f62a011b2101033f011c013b0130012e2a0108162100004a020c2101032a00f62a011d2101033f011e013b0131012e2a0108162100004a020c2101032a00f62a011f2101033f0120013b0132012e2a0108162100004a020c070000232717003c000221011c4c003e1f00421607000023d117004a000021011c4c003e1f002e2101032a012536001f2101032e2a01253f01264a01001621041a070000243217004c014a022c0006162100024a0000300c21022f1f00404c00473b022f01004c00472102033f012101002102101f00271621022121021a4a01002102032a01222300092102032e2a01224a000016070000237017004a0000300c2103032a012336004c3f00052103032a012320352300102103032a01233900012103033f012301002103032a01232a00093600212103032a01232e2a00494a003b0001010021031b2e2a00fa2100014a01002cffd31621032121031b4a0100300c2102032a012436004c3f00052102032a012420352300102102032a01243900012102033f012401002102032a01242a00093600212102032a01242e2a00494a003b000101002102192e2a00fa2100014a01002cffd3162102212102194a0100300c1621051a070000244b17004c014a0200162101024a0000300c2103032e2a01253f00044a0100300c27070000253803013d0128070000259503013d01293c00061607000025b517012100014a013c00073900003c00084c003c00092100043600684c003c000a21000a2100042a00091836005621000621000321000a46463c000b21000b36002b4c002100090f23000a162101304a003b000901001621000b21000421000a464a0121000821000a012c000e21000421000a4621000821000a01003b000a28002cff9d2100072e2a0108162100084a023c000d21000d3b000c01004c002100090d230009162101312100094a01001607000025c1170121000c4a013b000d010c4c003c000216210001132300064c002100010d36002e4c012100012a00094c0237193c00031607000025801703210001162103322100034a013b0002012100034a0347002100020c1621041321000121040d2100022100034a0400300c162103322100012a00094a013c0002162103152100012100024a02002100020c2102033f006d21000119460c3f01282101020f36000c162102122100014a012c00193f012a2101020f36000c1621051b2100014a012c00032100010c162101142100014a014c01193c00021621012e2100024a013c00032100032300121621011321000121010c2100032100024a04002100030c21022f1f0006162102334a000021022f1f00072101003b021d0100300c2102192a01321f000e070000266017002102193f01320100300c273c0001210319070000267c17022f012100013f013401002100010c2100012101013f00fc01002100022101013f01330100300c162101054a0000300c07000026d617003c000116210226210001273f00fc3d0135070000271c03013d0136273f01333d0135070000271e03013d01363900024a020c16210327482101014a0200210319070000270a17022f013c00032100012100033f00fc01002100022100033f013301002100030c2100013b010101002100023b01020100300c300c300c3f00042100010f3600043f00040c3900003c00024c003c00032100032100012a00091836001e2100022e2a00702100012e2a000a2100034a014a01003b000328002cffd52100020c07000027f617003c000116210226210001273f00583d0135070000280303003d0136273f013a3d0135070000285003023d0136273f013c3d0135070000298503023d0136273f013d3d01350700002a8503033d0136273f013e3d01350700002ba603023d0136273f013f3d01350700002c6f03013d0136273f01403d01350700002d0f03003d01363900074a020c16210327482101014a0200300c2103072f003c000127070000283503003d0122070000284103013d0042483f0139010016210304482a01394a01002100010c2102012e2a00fc4a0000300c2102012e2a01332100014a0100300c2100002a00094c023e2300082100004c0246300d3600092100004c02462c00024c103c00032100002a00094c033e2300082100004c0346300d3600092100004c03462c00062103092a01373c000410001d482a01392e2a010c2100054a0100482a01392e2a010c2100064a01001a0500113c000821040a2e2a00282100084a01001a2d00ae162103082104082e2a013b2100014a014a013c0007482a01392e2a010a1621041c2100072a00094a014a013b00050100482a01392a00392e2a00382100072100054a02002100021f00052104032f003b000201002104032100022f013b00020100482a01392e2a010a2100022a005c4a013b00060100482a01392a00392e2a00382100022100064a0200482a01392e2a01142100042100052100072a00092100032100022a005c2100064a06001a300c2100002a00094c023e2300082100004c0246300d3600092100004c02462c00062103092a01373c000310001d482a01392e2a010c2100044a0100482a01392e2a010c2100054a01001a0500113c000821040a2e2a00282100084a01001a2d009e2104032100022f013c0006482a01392e2a010a2100012a005c4a013b00040100482a01392a00392e2a00382100012100044a0200482a01392e2a010a2100062a005c4a013b00050100482a01392a00392e2a00382100062100054a0200482a01392e2a01102100032100042100012a005c2100054a0400482a01392a003c2e2a00ef2100042100042100012a005c194a023c00072104032100072f010c1a300c2100002a00094c033e2300082100004c0346300d3600092100004c03462c00024c103c000410002b482a01392e2a010c2100064a0100482a01392e2a010c2100074a0100482a01392e2a010c2100054a01001a0500113c000a21040a2e2a002821000a4a01001a2d00b52104032100022f013c00082104032100032f013c0009482a01392e2a010a2100082a005c4a013b00050100482a01392a00392e2a00382100082100054a0200482a01392e2a010a2100012a005c4a013b00060100482a01392a00392e2a00382100012100064a0200482a01392e2a010a2100092a005c4a013b00070100482a01392a00392e2a00382100092100074a0200482a01392e2a01122100052100082a005c2100062100012a005c2100072100044a06001a300c10001d482a01392e2a010c2100034a0100482a01392e2a010c2100044a01001a0500113c000621040a2e2a00282100064a01001a2d00902104032100022f013c0005482a01392e2a010a2100012a005c4a013b00030100482a01392a00392e2a00382100012100034a0200482a01392e2a010a2100052a005c4a013b00040100482a01392a00392e2a00382100052100044a0200482a01392e2a01162100032100012a005c2100044a0300482a01392a003c2e2a00ef2100032100032100012a005c194a020c1a300c2100002a00094c013e2300082100004c0146300d3600092100004c01462c00062103092a01383c000210000f482a01392e2a010c2100034a01001a0500113c000521040a2e2a00282100054a01001a2d004c2104032100012f013c0004482a01392e2a010a2100042a005c4a013b00030100482a01392a00392e2a00382100042100034a0200482a01392e2a011a2100032100042a005c2100024a03001a300c482a013923000616483f01390100300c2100013f00d7442300072100013f01411c36001a2100012e2a000a4c004a013f00d72e2a000a4c004a010b2c00342100013f007b442300072100013f01421c36001d2100012e2a000a4c004a013f007b2e2a000a4c004a010b4c0a192c00033a00ff0c2100014c00462e2a000a4a002100014c01462e2a000a4a001b2100014c02462e2a000a4a001b3f00d72e2a000a4c004a010b3c00032100022100030b4c010b3c00042103162100042f013c00052103162100032f013c00062100033b000701002100074c003e36005721030c2e2a00372100012100022100030b4c020b462e2a000a4a002100012100022100030b4c010b462e2a000a4a001b2100012100022100070b462e2a000a4a001b4a012100062100032100070b4b3b000711002cffa04c003b00070100210007210004183600192100012100074c0119462100052100074b3b000728002cffdd272100053d01432100043d01442100062e2a01453f00044a013d01462100033d01470c4c003c00024c003b000201004c002100010d3600172100012100014c010b143b000101003b000228002cffe02100020c2100011621020d2100024a0119210003193c000421030c2e2a00373a00ff210004144a010c2100012e2a000a4a001621020d2100024a010b2100030b3c000421030c2e2a00373a00ff210004144a010c4c553c00053a00fa3c00064c003c0007210007210002183600962100074c02454c013536002a210005210001210007462e2a000a4a001b3b00040100210001210007462e2a000a4a003b0005012c0027210006210001210007462e2a000a4a001b3b00040100210001210007462e2a000a4a003b000601004c002100030f3600111621020f2100042100074c154a032c000e1621020e2100042100074c154a0321000121000701003b000728002cff602100010c4c553c00043a00fa3c0005162102122100014a01004c003c000921000921000218360107210001210009462e2a000a4c004a013b000801002100084c7f3e23000b2100083a01000b3b000801002100094c02454c013536001e2100042100081b3b000601002100083b000401002100053b0007012c001b2100052100081b3b000601002100083b000501002100043b000701002100064c7f3e23000b2100063a01000b3b000601004c002100030f3600111621020f2100062100094c154a032c000e1621020e2100062100094c154a032e2a000a4c004a013c000a21000a4c7f3e23000b21000a3a01000b3b000a010021000a2100070b3c000b21000b4c001823000b21000b3a0100193b000b010021030c2e2a003721000b4a0121000121000901003b000928002cfeef162102122100014a01002100010c2100012a00093c00024c003c00042100042100021823000a2100042100024c010b0d36003a210001210004463b000301002100012100044c01194621000121000401002100032100012100044c011901002100044c02193b000401002cffaf2100010c2100002a00094c023e2300082100004c0246300d3600092100004c02462c00024c013c00032100013c00042100021f00062100042a00093c00021621010c2100042100024a023c00052100052a01433c00062100052a01443c00072100052a01473c00082100052a01463c00092100093f01483100223f014931001c3f014a3100163f014b3100103f014c31001f3f014d310019002c0027162101102100062100072100034a033c00062c0012162101112100062100072100034a033c00061621010b2100064c00464a013c00082100072100080b4c010b3c000a21021621000a4c01192f013c000b3f000421000b21000a4b4c003c000c4c003b000c010021000c21000a1836001921000621000c4c01194621000b21000c4b3b000c28002cffdd21000b2e2a01453f00044a010c07000032db17003c000116210226210001273f014e3d013507000032e803013d0136273f014f3d013507000032f603003d0136390002273f01513d0135070000331103003d01363900014a030c16210327482101014a0200300c2104072e2a0017482100014a020c482a01502f003c00012104072e2a0017210001484a02002100010c2100002a00093c00012104162100012f013c00024c003c000321000321000118360016210000210003462100022100034b3b000328002cffe016210428482100024a020c07000033d117003c0002162102292100022100014a020016210226210002273f00d63d0135070000355703003d0136273f01563d0135070000358803013d0136273f01573d0135070000366e03003d0136273f014f3d013507000036bb03003d0136390004273f015a3d013507000036ec03013d01363900014a030c2100002a00094c003e2300082100004c0046300d3600092100004c00462c00033900003c00022100002a00094c013e2300082100004c0146300d3600092100004c01462c00094c042100022a0009023c000316210327482101024a02001621032b482101024a023c00012100023c00042100042103061523000c2103032100042f013b0004010021000421030d151f000721000421031d151f000721000421030e151f0007210004210310151f000721000421030f151f0007210004210311151f0007210004210312151f00072100042103131523001b2103032100042a005d2100042a01522100042a005c2f033b000401002100042103031536006f2100042a005c3c00053900003c00064c003c0007210007210005183600382100062100074c022946210004210007464c182100074c04454c08020b370a2100062100074c022901002100074c01193b000701002cffbe2100062100013f015301002100052100013f015401002c00162100022100013f015301002100032100013f015401002100010c2100002a00094c003e2300082100004c0046300d3600092100004c00462c00032103153c00012100012e2a0155484a010c482a01533c00022100012a01533c0003482a01543c00042100012a01543c0005482e2a01574a00002100044c04453600704c003c00062100062100051836005e2100032100064c0229464c182100064c04454c08020b293a00ff143c0007210002210004210006194c0229462100074c18210004210006194c04454c08020b370a210002210004210006194c022901002100064c01193b000601002cff982c00354c003c0008210008210005183600262100032100084c022946210002210004210008194c02294b2100084c04193b000801002cffd0482a015421000519483f01540100480c482a01533c0001482a01543c00022100012100024c0229464001584c202100024c04454c08020b37142100012100024c022901002104172e2a00e82100024c041d4a012100013f00090100300c1621042a2102023f014f484c014a042e2a0159484a013c0001482a01532e2a00ef4c004a012100013f015301002100010c3900003c0002070000376903013c00034c003c0005210005210001183600521621000340015b2100041f00092104172e2a015a4a00024a013c0006073ade67b7162100064a00023b000401002100022e2a007040015b162100064a00024c000a4a01002100054c04193b000501002cffa42102022100022100012f020c2100013c0002073ade68b13c00034001583c0004070000378517000c0700009069070000ffff21010314022101034c100919210104143b010301003a4650070000ffff21010214022101024c100919210104143b010201002101034c103721010219210104143c000121000140015b1d3b0001010021000140015c193b000101002100012107172e2a015a4a0040015c3e3600054c012c00034c0122020c2100012a01533c00022100012a01543c00033900003c00044c003c00052100052100031836005c2100022100054c0229464c182100054c04454c08020b293a00ff143c00062100042e2a00702100064c04292e2a00d64c104a014a01002100042e2a00704c0f210006142e2a00d64c104a014a01002100054c01193b000501002cff9a2100042e2a01453f00044a010c2100012a00093c00023900003c00034c003c0004210004210002183600472100032100044c0329461621031e2100012e2a001d2100044c024a024c104a024c182100044c08454c04020b370a2100032100044c032901002100044c02193b000401002cffaf2102142100032100024c021d2f020c2100012a01533c00022100012a01543c00033900003c00044c003c0005210005210003183600422100022100054c0229464c182100054c04454c08020b293a00ff143c00062100042e2a007021030c2e2a00372100064a014a01002100054c01193b000501002cffb42100042e2a01453f00044a010c2100012a00093c00023900003c00034c003c0004210004210002183600412100032100044c0229463a00ff2100012e2a000a2100044a01144c182100044c04454c08020b370a2100032100044c022901002100044c01193b000401002cffb52102142100032100022f020c05000d3c00022103023f015e2f01381a2d001a1621031f162103202102162e2a01552100014a014a014a010c1a300c2102162e2a015d16210321162103222100014a014a014a010c0700003a9c17003c0002162102292100022100014a020016210226210002273f01603d01350700003ac403003d0136273f01633d01350700003ad903013d0136273f01643d01350700003b1c03013d0136273f014f3d01350700003bf903003d01363900044a020c16210327482101024a02001621032b482101024a023b000101004c002100013f015f01002100010c2103142f00483f016101004c00483f01620100300c2100013c00023f012821000220352300102103172e2a015d2100024a013b00020100482a01612e2a01562100024a0100482a01622100022a015419483f01620100300c482a01613c0003482a01653c00042100032a01533c00052100032a01543c00062100064c04210004021d3c000721000136000f2104172e2a00e82100074a012c00162104172e2a00814c002100070a482a015f0b4c004a023c0007210007210004023c00082104172e2a00804c04210008022100064a023c00092100083600514c003c000a21000a2100081836001d482e2a016621000521000a4a020021000a210004193b000a01002cffd92100052e2a01674c002100084a023b000201002100032a01542100090b2100033f015401002103142100022100092f020c1621042a2102023f014f484c014a042e2a0159484a013c0001482a01612e2a014f4a002100013f016101002100010c0700003ca417013c0002162102292100022100014a020016210226210002273f01603d01350700003cef03003d0136273f016a3d01350700003d1003013d0136273f016b3d01350700003d2503013d0136390003273f016d3d01350700003d3e03013d0136273f016e3d01350700003d5803013d01363900024a030c16210327482101024a02001621032b482101024a023b000201004c102100023f016501002103072e2a00172102132f002100014a022100023f016801002100022e2a01604a00002100020c1621042a2102023f0160484c014a042e2a0159484a0100482e2a01694a0000300c482e2a01632100014a0100482e2a01644a0000480c21000123000a482e2a01632100014a0100482e2a016c4a000c0700003d4617020c2101012100022f012e2a016b2100014a010c0700003d6017020c21041a2101012100022f022e2a016b2100014a010c0700003dcc17023c0002162102292100022100014a020016210226210002273f01603d01350700003ef803003d0136273f016a3d01350700003f1903013d0136273f016b3d01350700003f2903013d01363900034a020c16210327482101024a02001621032b482101024a023c00032100012f003c000421000421000304016f2100023c00053f012821000520352300102102172e2a015d2100054a013b000501002100042a01653c00064c04210006023c00072100052a01542100073e2300102100042e2a016b2100024a013b000501002100052e2a01574a00002100052e2a014f4a003c00082100082100030401702100052e2a014f4a003c00092100092100030401712100082a01533c000a2100092a01533c000b4c003c000c21000c2100061836003821000a21000c46075c5c5c5c1b21000a21000c010021000b21000c4607363636361b21000b21000c010021000c4c01193b000c01002cffbe2100072100083f015401002100072100093f015401002100032e2a01604a00002100030c482a016f3c00012100012e2a01604a00002100012e2a016a482a01714a0100300c482a016f2e2a016a2100014a0100480c482a016f3c00022100022e2a016b2100014a013c00032100022e2a01604a00002100022e2a016b482a01702e2a014f4a002e2a01562100034a014a010c3900003c00044c003c00054c003c0006210006210002183600862100064c044536006f2100032100012e2a000a2100064c010b4a01462100064c04454c0202372100032100012e2a000a2100064a01464c062100064c04454c02020b290a3c00072100042100054c0229462100074c182100054c04454c08020b370a2100042100054c022901002100054c01193b000501002100064c01193b000601002cff702102142e2a01512100042100054a020c2100012a01533c00022100012a01543c0003482a01723c00042100012e2a01574a00003900003c00054c003c0006210006210003183600c72100022100064c0229464c182100064c04454c08020b293a00ff144c10372100022100064c01194c0229464c182100064c01194c04454c08020b293a00ff144c08370a2100022100064c02194c0229464c182100064c02194c04454c08020b293a00ff140a3c00074c003c00082100084c041823000f2100064001732100080219210003183600312100052e2a00702100042e2a01742100074c064c032100080b02294c3f144a014a01002100084c01193b000801002cffb42100064c03193b000601002cff2f2100042e2a01744c404a013c000921000936001c2100052a00094c04453600102100052e2a00702100094a01002cffe42100052e2a01453f00044a010c2100012a00093c0002482a01723c0003482a01753c000421000447360045390000483f01750100482a01753b000401004c003c00052100052100032a0009183600212100052100042100032e2a000a2100054a014b2100054c01193b000501002cffd22100032e2a01744c404a013c00062100063600212100012e2a001b2100064a013c00074c01222100070d2300072100073b000201001621021b2100012100022100044a030c2100012100022100031421000212210004140a1921000519210007193c0008210008210006372100084c202100060b290a210002190c2100012100022100041421000321000412140a1921000519210007193c0008210008210006372100084c202100060b290a210002190c2100012100022100031b2100041b1921000519210007193c0008210008210006372100084c202100060b290a210002190c210001210003210002210004120a1b1921000519210007193c0008210008210006372100084c202100060b290a210002190c070000433117003c0002162102292100022100014a020016210226210002273f01693d0135070000434a03003d0136273f01663d0135070000436803023d0136273f016c3d01350700004d9a03003d0136273f014f3d01350700004ef003003d01363900044a020c16210327482101024a02001621032b482101022100004a030c210314076745230140017840017907103254763900042f014804017a300c2100013c00034c003c00042100044c101836004e210002210004193c0005210001210005463c00060700ff00ff2100064c08372100064c18290a1440017b2100064c18372100064c08290a140a2100032100054b2100044c01193b000401002cffa9482a017a2a01533c00072100032100024c0019463c00082100032100024c0119463c00092100032100024c0219463c000a2100032100024c0319463c000b2100032100024c0419463c000c2100032100024c0519463c000d2100032100024c0619463c000e2100032100024c0719463c000f2100032100024c0819463c00102100032100024c0919463c00112100032100024c0a19463c00122100032100024c0b19463c00132100032100024c0c19463c00142100032100024c0d19463c00152100032100024c0e19463c00162100032100024c0f19463c00172100074c00463c00182100074c01463c00192100074c02463c001a2100074c03463c001b1621031f21001821001921001a21001b2100084c0721031d4c00464a073b001801001621031f21001b21001821001921001a2100094c0c21031d4c01464a073b001b01001621031f21001a21001b21001821001921000a4c1121031d4c02464a073b001a01001621031f21001921001a21001b21001821000b4c1621031d4c03464a073b001901001621031f21001821001921001a21001b21000c4c0721031d4c04464a073b001801001621031f21001b21001821001921001a21000d4c0c21031d4c05464a073b001b01001621031f21001a21001b21001821001921000e4c1121031d4c06464a073b001a01001621031f21001921001a21001b21001821000f4c1621031d4c07464a073b001901001621031f21001821001921001a21001b2100104c0721031d4c08464a073b001801001621031f21001b21001821001921001a2100114c0c21031d4c09464a073b001b01001621031f21001a21001b2100182100192100124c1121031d4c0a464a073b001a01001621031f21001921001a21001b2100182100134c1621031d4c0b464a073b001901001621031f21001821001921001a21001b2100144c0721031d4c0c464a073b001801001621031f21001b21001821001921001a2100154c0c21031d4c0d464a073b001b01001621031f21001a21001b2100182100192100164c1121031d4c0e464a073b001a01001621031f21001921001a21001b2100182100174c1621031d4c0f464a073b001901001621032021001821001921001a21001b2100094c0521031d4c10464a073b001801001621032021001b21001821001921001a21000e4c0921031d4c11464a073b001b01001621032021001a21001b2100182100192100134c0e21031d4c12464a073b001a01001621032021001921001a21001b2100182100084c1421031d4c13464a073b001901001621032021001821001921001a21001b21000d4c0521031d4c14464a073b001801001621032021001b21001821001921001a2100124c0921031d4c15464a073b001b01001621032021001a21001b2100182100192100174c0e21031d4c16464a073b001a01001621032021001921001a21001b21001821000c4c1421031d4c17464a073b001901001621032021001821001921001a21001b2100114c0521031d4c18464a073b001801001621032021001b21001821001921001a2100164c0921031d4c19464a073b001b01001621032021001a21001b21001821001921000b4c0e21031d4c1a464a073b001a01001621032021001921001a21001b2100182100104c1421031d4c1b464a073b001901001621032021001821001921001a21001b2100154c0521031d4c1c464a073b001801001621032021001b21001821001921001a21000a4c0921031d4c1d464a073b001b01001621032021001a21001b21001821001921000f4c0e21031d4c1e464a073b001a01001621032021001921001a21001b2100182100144c1421031d4c1f464a073b001901001621032121001821001921001a21001b21000d4c0421031d4c20464a073b001801001621032121001b21001821001921001a2100104c0b21031d4c21464a073b001b01001621032121001a21001b2100182100192100134c1021031d4c22464a073b001a01001621032121001921001a21001b2100182100164c1721031d4c23464a073b001901001621032121001821001921001a21001b2100094c0421031d4c24464a073b001801001621032121001b21001821001921001a21000c4c0b21031d4c25464a073b001b01001621032121001a21001b21001821001921000f4c1021031d4c26464a073b001a01001621032121001921001a21001b2100182100124c1721031d4c27464a073b001901001621032121001821001921001a21001b2100154c0421031d4c28464a073b001801001621032121001b21001821001921001a2100084c0b21031d4c29464a073b001b01001621032121001a21001b21001821001921000b4c1021031d4c2a464a073b001a01001621032121001921001a21001b21001821000e4c1721031d4c2b464a073b001901001621032121001821001921001a21001b2100114c0421031d4c2c464a073b001801001621032121001b21001821001921001a2100144c0b21031d4c2d464a073b001b01001621032121001a21001b2100182100192100174c1021031d4c2e464a073b001a01001621032121001921001a21001b21001821000a4c1721031d4c2f464a073b001901001621032221001821001921001a21001b2100084c0621031d4c30464a073b001801001621032221001b21001821001921001a21000f4c0a21031d4c31464a073b001b01001621032221001a21001b2100182100192100164c0f21031d4c32464a073b001a01001621032221001921001a21001b21001821000d4c1521031d4c33464a073b001901001621032221001821001921001a21001b2100144c0621031d4c34464a073b001801001621032221001b21001821001921001a21000b4c0a21031d4c35464a073b001b01001621032221001a21001b2100182100192100124c0f21031d4c36464a073b001a01001621032221001921001a21001b2100182100094c1521031d4c37464a073b001901001621032221001821001921001a21001b2100104c0621031d4c38464a073b001801001621032221001b21001821001921001a2100174c0a21031d4c39464a073b001b01001621032221001a21001b21001821001921000e4c0f21031d4c3a464a073b001a01001621032221001921001a21001b2100182100154c1521031d4c3b464a073b001901001621032221001821001921001a21001b21000c4c0621031d4c3c464a073b001801001621032221001b21001821001921001a2100134c0a21031d4c3d464a073b001b01001621032221001a21001b21001821001921000a4c0f21031d4c3e464a073b001a01001621032221001921001a21001b2100182100114c1521031d4c3f464a073b001901002100074c0046210018194c000a2100074c0001002100074c0146210019194c000a2100074c0101002100074c024621001a194c000a2100074c0201002100074c034621001b194c000a2100074c030100300c482a01613c00012100012a01533c00024c08482a0162023c00034c082100012a0154023c00042100022100044c0529463a00804c182100044c20450b370a2100022100044c052901002104172e2a017c21000340015b1d4a013c00052100033c00060700ff00ff2100054c08372100054c18290a1440017b2100054c18372100054c08290a140a2100024c0f2100044c40194c09294c04371901000700ff00ff2100064c08372100064c18290a1440017b2100064c18372100064c08290a140a2100024c0e2100044c40194c09294c04371901004c042100022a00094c0119022100013f01540100482e2a01644a0000482a017a3c00072100072a01533c00084c003c00092100094c0418360044210008210009463c000a0700ff00ff21000a4c083721000a4c18290a1440017b21000a4c183721000a4c08290a140a2100082100094b2100094c01193b000901002cffb32100070c1621042a2102023f014f484c014a042e2a0159484a013c0001482a017a2e2a014f4a002100013f017a01002100010c0700004f5417013c0002162102292100022100014a020016210226210002273f01803d01350700004f9c03023d01363900014a020c16210327482101024a02001621032b482101024a023b000201002103072e2a00172102132f00274c043d017d2102233d017e4c013d017f2100014a032100023f016801002100020c482a01683c00042100042a017e2e2a01514a003c00052103142e2a01514a003c00062100062a01533c00072100042a017d3c00082100042a017f3c00092100072a00092100081836007f21000323000c2100052e2a016a2100034a01002100052e2a016a2100014a012e2a016b2100024a013b000301002100052e2a01604a00004c013c000a21000a210009183600292100052e2a016b2100034a013b000301002100052e2a01604a000021000a4c01193b000a01002cffcd2100062e2a01562100034a01002cff744c04210008022100063f015401002100060c070000510417033c0002162102292100022100014a020016210226210002273f01603d0135070000515b03003d0136273f01833d0135070000517c03013d0136273f016b3d0135070000518f03013d0136390003273f01843d013507000051a803023d0136273f01863d013507000051ba03023d0136273f016d3d013507000051cc03013d01363900034a030c16210327482101024a02001621032b482101024a023b000401002103072e2a00172102132f002100034a022100043f016801002100012100043f018101002100022100043f018201002100042e2a01604a00002100040c1621042a2102023f0160484c014a042e2a0159484a0100482e2a01694a0000300c482e2a01632100014a0100482e2a01644a000c21000123000a482e2a01632100014a0100482e2a016c4a000c482e2a0151482a01852100012100024a030c482e2a0151482a01872100012100024a030c07000051ec03013c000227070000520103033d0188070000521d03033d01890c3f0128210001203536000621052f2c000321052d0c162102022100024a012e2a01882102012100012100022100034a040c162102022100024a012e2a01892102012100012100022100034a040c070000528017023c0002162102292100022100014a02001621022621000216273f01843d013507000052b403023d0136273f01863d013507000052c503023d01363900024a030c16210327482101024a02001621032b482101024a023b000301002100012100033f018b01002100022100033f018c01002100030c482a018d2e2a01512100012100024a020c482a018e2e2a01512100012100024a020c2100013c0004482a018c3c00062100063600132100063b000501004c0033483f018c012c0008482a018f3b000501004c003c00072100072100031836002d2100042100022100071946210005210007461b2100042100022100071901002100074c01193b000701002cffc9300c070000536417003c0002162102292100022100014a0200162102262100024a010c16210327482101024a02001621032b482101022100004a030c07000053b217003c0002162102292100022100014a020016210226210002273f01903d013507000053cb03023d01363900014a020c16210327482101024a02001621032b482101022100004a030c482a018b3c00032100032a01653c00042103272e2a0159482100012100022100044a04002100032e2a01912100012100024a02002100012e2a00ef210002210002210004194a02483f018f0100300c070000544f17003c0002162102292100022100014a020016210226210002273f01903d0135070000546803023d01363900014a020c16210327482101024a02001621032b482101022100004a030c482a018b3c00032100032a01653c00042100012e2a00ef210002210002210004194a023c00052100032e2a01922100012100024a02002103272e2a0159482100012100022100044a0400210005483f018f0100300c4c04210002023c00032100032100012a0154210003450b3c00042100044c18372100044c10370a2100044c08370a2100040a3c00053900003c00064c003c00072100072100041836001b2100062e2a00702100054a01002100074c04193b000701002cffdb2102142e2a01512100062100044a023c00082100012e2a01562100084a0100300c2100013c00023a00ff2100022a01532100022a01544c010b4c022946143c00032100022a01542100030b2100023f01540100300c07000055ce17033c0002162102292100022100014a020016210226210002273f01603d0135070000561803003d0136273f01663d013507000056a403023d0136273f016c3d013507000056b703003d01363900034a020c16210327482101024a02001621032b482101022100012100022103072e2a0017272102283d01952102293d01962100034a023900034a033b000401004c042100043f016501002100040c1621042a2102023f0160484c014a042e2a0159484a0100482a01683c00022100022a01973c00032100022a01953c0004482a0181482a01502a01850f36000d2100042a01843b0001012c00122100042a01863b000101004c01483f015f01002100012e2a0159210004482100032300062100032a01534a03483f01980100210001482a01983f01990100300c482a01982e2a01902100012100024a0200300c482a01682a01963c0002482a0181482a01502a01850f3600232100022e2a0193482a0161482a01654a0200482e2a01644c00474a013b0001012c001b482e2a01644c00474a013b000101002100022e2a01942100014a01002100010c070000574817013c0002162102292100022100014a020016210226210002273f00d63d0135070000577303013d01363900014a020c16210327482101024a02001621032b482101024a023b000201002100022e2a014e2100014a01002100020c2100011f0004482a019a2e2a0155484a010c2100012a019b3c00032100012a019c3c000421000436002b2102142e2a01510753616c740765645f5f3900024a012e2a01562100044a012e2a01562100034a012c00032100033b000201002100022e2a00d621021c4a010c21021c2e2a015d2100014a013c00032100032a01533c00040753616c742100044c00460f23000c0765645f5f2100044c01460f2300392102142e2a01512100042e2a00ef4c024c044a024a013b000201002100042e2a01674c004c044a02002100032a01544c100b2100033f0154010021022b2e2a0151272100033d019b2100023d019c4a010c07000058bc17003c0002162102292100022100014a02001621022621000216273f01883d013507000058d503043d0136273f01893d0135070000596103043d0136273f019f3d013507000059ae03023d01363900034a030c16210327482101024a02001621032b482101022100004a030c2104072e2a00172103132f00482a01682100044a033c00052100012e2a01842100032100054a023c00062100062e2a016b2100024a013c00072100062a01683c000821032b2e2a0151272100073d019b2100033d01352100082a01973d01972100013d019d2100082a01953d01952100082a01963d01962100062a01653d01652100052a019e3d019a4a010c2100023c00052104072e2a00172103132f00482a01682100044a033c0006482e2a019f2100052100062a019e4a023c00052100012e2a01862100032100064a022e2a016b2100052a019b4a010c3f012821000120353600102100022e2a015d210001484a022c00032100010c2100043c00052100051f000f2102142e2a015a4c084a013b000501002102242e2a015127210002210003193d017d4a012e2a01802100012100054a023c00062102142e2a01512100062a01532e2a00ef2100024a014c04210003024a023c00074c04210002022100063f0154010021022b2e2a0151272100063d01352100073d01972100053d019c4a010c0700005a9f17003c0002162102292100022100014a02001621022621000216273f01883d01350700005ab803043d0136273f01893d01350700005b2a03043d01363900024a030c16210327482101024a02001621032b482101022100004a030c2104072e2a00172103132f00482a01682100044a033c00052100052a01a12e2a01a02100032100012a017d2100012a018a4a033c00062100062a019721000504019721032d2a01882e2a0159482100012100022100062a01352100054a053c00072100072e2a014e2100064a01002100070c2100023c00052104072e2a00172103132f00482a01682100044a033c0006482e2a019f2100052100062a019e4a023c00052100062a01a12e2a01a02100032100012a017d2100012a018a2100052a019c4a043c00072100072a019721000604019721032d2a01892e2a0159482100012100052100072a01352100064a050c0700005c1017003c0002162102292100022100014a020016210226210002273f01693d01350700005c2903003d0136273f01913d01350700005e7403023d0136273f01923d01350700005e9703023d0136273f01a63d01350700005f2203083d01363900044a020c16210327482101024a02001621032b482101022100004a030c482a01a2230009482a01a3482a01820f360002300c482a0182480401a3482a01a33c00022100022a01533c00032100022a01544c041d3c00042100044c0619480401a24c04482a01a24c0119023c0005390000480401a4482a01a43c00064c003c0007210007210005183601212100072100041836001121000321000746210006210007012c00f72100062100074c010b463b000101002100072100044536005a2100044c063e23000a210007210004454c04352300412103302100014c1829464c18372103302100014c10293a00ff14464c10370a2103302100014c08293a00ff14464c08370a2103303a00ff21000114460a3b0001012c006d2100014c08372100014c18290a3b000101002103302100014c1829464c18372103302100014c10293a00ff14464c10370a2103302100014c08293a00ff14464c08370a2103303a00ff21000114460a3b000101002100012103442100072100041d4c000a464c18371b3b000101002100062100072100040b462100011b21000621000701002100074c01193b000701002cfed5390000480401a5482a01a53c00084c003c00092100092100051836009e2100052100090b3c000a2100094c044536000a21000621000a462c000a21000621000a4c040b463b000101002100094c04181f000621000a4c041c3600062100012c00442103362103302100014c182946462103372103302100014c10293a00ff1446461b2103382103302100014c08293a00ff1446461b2103392103303a00ff2100011446461b21000821000901002100094c01193b000901002cff58300c482e2a01a6210001210002482a01a42103322103332103342103352103304a0800300c2100013c00032100032100024c0119463c00042100032100024c0319462100032100024c011901002100042100032100024c03190100482e2a01a6210003210002482a01a52103362103372103382103392103314a08002100032100024c0119463b000401002100032100024c0319462100032100024c011901002100042100032100024c03190100300c2100013c0009482a01a23c000a210009210002462100034c00461b3c000b2100092100024c0119462100034c01461b3c000c2100092100024c0219462100034c02461b3c000d2100092100024c0319462100034c03461b3c000e4c043c000f4c013c001021001021000a1836015621000421000b4c18294621000521000c4c10293a00ff14461b21000621000d4c08293a00ff14461b2100073a00ff21000e14461b21000321000f461b3c001121000f4c01193b000f010021000421000c4c18294621000521000d4c10293a00ff14461b21000621000e4c08293a00ff14461b2100073a00ff21000b14461b21000321000f461b3c001221000f4c01193b000f010021000421000d4c18294621000521000e4c10293a00ff14461b21000621000b4c08293a00ff14461b2100073a00ff21000c14461b21000321000f461b3c001321000f4c01193b000f010021000421000e4c18294621000521000b4c10293a00ff14461b21000621000c4c08293a00ff14461b2100073a00ff21000d14461b21000321000f461b3c001421000f4c01193b000f01002100113b000b01002100123b000c01002100133b000d01002100143b000e01002100104c01193b001001002cfea021000821000b4c1829464c183721000821000c4c10293a00ff14464c10370a21000821000d4c08293a00ff14464c08370a2100083a00ff21000e14460a21000321000f461b3c001521000f4c01193b000f010021000821000c4c1829464c183721000821000d4c10293a00ff14464c10370a21000821000e4c08293a00ff14464c08370a2100083a00ff21000b14460a21000321000f461b3c001621000f4c01193b000f010021000821000d4c1829464c183721000821000e4c10293a00ff14464c10370a21000821000b4c08293a00ff14464c08370a2100083a00ff21000c14460a21000321000f461b3c001721000f4c01193b000f010021000821000e4c1829464c183721000821000b4c10293a00ff14464c10370a21000821000c4c08293a00ff14464c08370a2100083a00ff21000d14460a21000321000f461b3c001821000f4c01193b000f010021001521000921000201002100162100092100024c011901002100172100092100024c021901002100182100092100024c03190100300c2101172e2a015d2100024a013c00042101172e2a015d2100034a013c000521011c2e2a015d2100014a013c000621011c2e2a01552100064a013c00072101462e2a0189210007210004272100053d01974a032e2a00d62101174a010c3f012821000120353600592100012e2a01a73f01a84a013c00024c022100022a00090f36003c2100024c00463c00032100032e2a00d94c104a013c0004272100043d01972100042100032e2a00d94c004c104a02193d01352100024c01463d01a90c160c160c4c00473c00022102162e2a01ab2100014a013600192100012e2a01ac07000063c617022100024a023c00022c0069162102183f01ad2e2a01561621020c2101474a012e2a00022102183f01ae3f007a2f023f01af4a022e2a00022102183f01b03f007a2f023f01b14a023f01b24a024a013c00033f000521000120352300152100032e2a01b32101482e2a01592100014a014a013c00022100020c210001230009162103342100024a010c2102062100012a00092f013c00022102032100022f013c00034c003c00042100042100012a00091836001b2100012e2a000a2100044a012100032100044b3b000428002cffd82100020c2102062e2a01b42100014a0123000a2100012a005d3b0001010021020c2a00372e2a0108162102032100012f014a020c2102032a01aa2a00ef3600122100012e2a00ef2100022100034a022c001d2102032102162a01aa2a00ef2e2a01592100012100022100034a032f010c07000064b417023c000116210226210001273f01893d013507000064d303023d01363900014a020c16210327482101014a0200210001483f01b50100210002483f01b60100300c482a01b52e2a0189273f01b73d01b8482a01b63d01972100022100014a030c2100012a005c3c00022100022300172102242100012a005d2f012e2a01b92100024c010b4a013c00032100033600151621014b2100014c002100022100030b4a032c00032100010c070000656217013c000116210226210001273f01ba3d0135070000657603013d01363900014a020c16210327482101014a0200210001480401b5300c482a01b52e2a01bb3f01bc210001273f01b73d01b84c01473f01883f01893900024a050c2102032100012a00092100022a0009192f013c00032100032e2a00382100014a01002100032e2a00382100022100012a00094a02002100030c07000066c817003c000116210226210001273f01c93d013507000067e103003d0136273f01ca3d013507000067e903003d0136273f01603d0135070000682d03003d0136273f01403d0135070000685203003d0136273f01cb3d013516070000687417004a003d0136273f01da3d0135160700006a4f17004a003d0136273f01893d0135160700006cab17004a003d0136273f01dd3d0135160700006dcb17004a003d0136273f01d33d0135160700006f7917004a003d0136273f01e33d013516070000715117004a003d0136273f01e03d0135070000724903013d0136273f01de3d0135070000729803013d013639000c4a020c2100002a00094c003e2300082100004c0046300d3600092100004c00462c0001273c000116210327482101014a02004c0047483f01bd010016483f01b5010016483f01be010016483f01bf010016483f01c0010016483f01c1010016483f01c2010016483f01c301001621032c274c00473d01c42100014a02483f01c50100482a01c52a01c436002f0500043c00031a2d00252103082a01c63c00022100022300142100022a01b51f00062100022a01c7483f01b501001a3f012a2100012a01c8203536001e2100012a01c81f0004482a01b51f000b4c0047482a01c53f01c8012c000d482a01b547482a01c53f01c80100482a01c52a01c823001a21020a2f00483f01c20100482a01c22e2a00584a00483f01c30100300c482a01c52a01c80c482a01c13c000121000147360009482e2a01604a00330c2104032100012f013c0002482e2a01604a0000482a01c52a01c436000c1621034d2100024a012c00032100020c16483f01c1010016483f01c0010016483f01bf0100482a01be23000616483f01be0100300c482a01c2230011482a01c22e2a01404a000016483f01c2010016483f01c30100300c0700006a4117013c00021621032d1621032e4a002e2a01cc070000689e03014a014a013c00012100020c1621052e4a002e2a01cd07000068b503012101004a020c4c013601852100012a01ce2100013f01cf014c003100234c083100dd4c093100e14c0c3100f34c0e3101424c0f31014d3f01d0310147002c014d1621064a2102014a013c02022102022e2a00003f01d14a014736000b4c0c2100010401ce2c01262102022e2a01a73f006d4a013b02040100162107012102044c00462e2a00ef4c024a014a013b02050100162107352102052102052a00094a023c02062102042a00094c013e23000a3f00322102044c01460d2100010401d22100012a01d24736000b4c092100010401ce2c00b94c082100010401ce21072f2e2a01d32102044c0146272107303d01973a00803d01d42102063d01d54a020c2100012a01d63c0206162106492102064a013c02034c0e2100010401ce2c006e162107362102024a013c020721020736002416210649162107332102072a01a92102072a01352102072a01974a034a013c02032c001e2107062e2a01b42102014a013600092102012a005d2c00032102013c02032100012e2a01d73f01d82102034a020c2100012e2a01d94a000c2cfe76300c2101012e2a0108482100004a020c0700006c9d17013c00021621032d1621032e4a002e2a01cc0700006a7903014a014a013c00012100020c1621052e4a002e2a01cd0700006a910301210100484a030c4c013602052100012a01ce2100013f01cf014c0031001e4c0631005b4c0c3101014c0e3101c74c0f3101d23f01d03101cc002c01d21621064a2102014a013c02052107064c002f013c0206482a01c32100010401d22100012a01d24736000b4c062100010401ce2c019d4c062100010401ce482a01c30c2102052e2a00003f01d14a014736000b4c0c2100010401ce2c01752102052e2a01a73f006d4a013b020701002102074c00462e2a00ef4c024a013b02080100163c02092102072a00094c013e23000a3f00322102074c01460d2300182107032107312e2a01db2102074c01464a012f013b0209010021020923002416482a01c23b020201351f00172102022e2a013a2102082102094c102106092a01384a04004c0e2100010401ce2c00e5162107362102054a013c020a21020a3600792107032107312e2a01db21020a2a01354a012f013b020b01002107312e2a01dc21020a2a01a94c00474a023b020c010021070321020c2f013b020d01002107032107312e2a01db21020a2a01974a012f013b020e010016482a01c23b020301351f00122102032e2a013d21020d21020b21020e4a03002c00402107062e2a01b42102014a013600092102012a005d2c00032102013b0206010016482a01c23b020401351f00122102042e2a013f2102012106092a01384a02002100012e2a01d73f01d82102064a020c2100012e2a01d94a000c2cfdf6300c2101012e2a0108482100004a020c0700006dbd17033c00021621032d1621032e4a002e2a01cc0700006cd503034a014a013c00012100020c1621052e4a002e2a01cd0700006ced0301210100484a030c4c013600c92100012a01ce2100013f01cf014c0031001e4c0331004d4c0531006f4c073100884c083100963f01d0310090002c0096482a01c52a01c84736000b4c052100010401ce2c00804c032100010401ce482e2a01dd2107032102012f012102022102034a030c482e2a01ca4a003c02042100012e2a01d73f01d82102043600092102042a005d2c0001164a020c4c072100010401ce482e2a01d32107032102012f012102022102034a030c2100012e2a01d73f01d82100012a01d64a020c2100012e2a01d94a000c2cff32300c2101012e2a0108482100004a020c0700006f6b17033c00021621032d1621032e4a002e2a01cc0700006df503034a014a013c00012100020c1621052e4a002e2a01cd0700006e0d0301210100484a030c4c013601572100012a01ce2100013f01cf014c0031001e4c0231002c4c0731009a4c0d3100d54c103101243f01d031011e002c01244c022100010401ce482e2a01da2102024a010c482a01c03b02050100482a01c13b02060100482a01bf3b02070100482e2a01de3f01df4a0100210207230017162106502102072102014a023b0201010016483f01bf0100482e2a01e02102014a013c02082102082a000936000b4c072100010401ce2c00ac2100012e2a01d73f01d8164a020c2102052300072102053b020301002102063c0209482a01c32100010401d22100012a01d24736000b4c0d2100010401ce2c006b4c0d2100010401ce482a01c30c16482a01c23b020401353600064c00332c000f2102042e2a013e2102012102034a02480401c11621064b2102084c10224a022a005d480401c02100012e2a01d73f01d8210209360007482a01c12c0001164a020c2100012e2a01d94a000c2cfea4300c2101012e2a0108482100004a020c070000714317033c00021621032d1621032e4a002e2a01cc0700006fa303034a014a013c00012100020c1621052e4a002e2a01cd0700006fc50301210100484c064c113900023900014a040c4c013601662100012a01ce2100013f01cf014c003100284c0331003d4c063100864c0b3100b74c0e3100d64c113100e44c143101293f01d0310123002c0129482a01b53c02044c032100010401ce482e2a01cb2102024a010c2100012a01d63c0205210204471f0016162107342102042a01bb2102042a01893900024a01474736000b4c062100010401ce2c00da2100012e2a01d73f01d8210719070000713217022f014a020c4c062100010401cf21064e2102042f013c020621064c2102042102032f023c02074c0b2100010401ce2102062e2a01ba2102054a010c2100012a01d63c02084c0e2100010401ce2102072e2a01892102012a005d2102084a020c2100012e2a01d73f01d82100012a01d64a020c4c112100010401cf2100012e3f0102464c064a012100010401d22100012e2a01d73f01d821070a2e2a002b3f01e22100012a01d24a0200482e2a01e32102012102022102034a034a020c2100012e2a01d94a000c2cfe95300c162100022108023f01e12f014a0100300c2101012e2a0108482100004a020c070000723b17033c00021621032d1621032e4a002e2a01cc070000717b03034a014a013c00012100020c1621052e4a002e2a01cd07000071930301210100484a030c4c013600a12100012a01ce2100013f01cf014c003100144c063100504c073100783f01d0310072002c00784c0047482a01c50401c84c0047480401bd21060a2f00480401c2482a01c22e2a00584a00480401c34c062100010401ce482e2a01dd2102012102022102034a030c2100012e2a01d73f01d816482e2a01ca4a003b020401353600064c00332c00062102042a005d1f0001164a020c2100012e2a01d94a000c2cff5a300c2101012e2a0108482100004a020c2100013c00022100012a00092100012a00094c10450b3c00032100032100012a00090d2300241621034b2100014c002100034a033b000201001621034b2100012100034a02483f01bf01002100020c482a01bd2300084c0147483f01bd0100300c07000072d517013c000116210226210001273f01893d01351607000072ee17004a003d01363900014a020c16210327482101014a02002102512100012f01480401e4300c07000073c317033c00021621032d1621032e4a002e2a01cc070000731803034a014a013c00012100020c1621052e4a002e2a01cd07000073300301210100484a030c4c0136008c2100012a01ce2100013f01cf014c003100194c023100304c0531004e4c0631005e3f01d0310058002c005e4c022100010401ce482a01e42e2a01892102012102022102034a030c2100012a01d63c020421020436000b4c052100010401ce2c00282107023f01e52f01382100012e2a01d73f01d82107032102042f014a020c2100012e2a01d94a000c2cff6f300c2101012e2a0108482100004a020c070000000017023c0001070000264617003c0005070000269417003c0006070000272017013c000807000030fc17013c0012070000315f17023c013507000052d617033c0027070000626917033c013307000062c517013c0136070000632b17013c013407000063d617013c0049070000642017013c004a070000645017033c004b07000064f217013c004d070000659a17023c0050070000018a03013c0002070000019703013c00032100033c000416070000269d17004a003c0007162100064a0000274c003d01374c013d01383c000916070000276817004a003c000a0700002d1f03013c000b0700002d8203023c000c0700002e8f03013c000d0700002ebf03033c000e0700002ee403033c000f0700002f0f03033c00100700002fc303033c001116070000328e17004a003c001316070000335517012100134a013c001427070000380703013d0155070000389703013d015d3c001527070000390b03013d0155070000398103013d015d3c00162707000039ec03013d01550700003a1b03013d015d3c0017160700003a3417012100134a013c0018160700003c2817012100184a013c0019160700003d7517012100134a013c001a0700003f6603033c001b27070000401603013d0155070000415203013d015d3f01763d01723c001c3900003c001d4c003c001e21001e4c401836003440015b2101172e2a00ec2101172e2a017721001e4c01194a014a01024c000a21001d21001e4b21001e4c01193b001e01002cffc307000041fa03073c001f070000423003073c0020070000426603073c0021070000429703073c00221607000042c917012100194a013c0023160700004f1f17012100134a013c002416070000507717012100184a013c00254c012100253f018501004c022100253f018701004c042100253f017d01004c042100253f018a010016070000523917012100134a013c002616070000534317012100264a013c002816070000537d17012100284a012100283f018d010016070000541a17012100284a012100283f018e01002707000054bd03023d0193070000554303013d01943c002916070000557717012100254a013c002a16070000571317012100134a013c002b27070000578503013d015507000057dd03013d015d3c002c16070000586417012100134a013c002d2101072e2a00172100132f002721002c3d019e4a0221002d0401682707000059cd03043d01a03c002e160700005a58170121002d4a013c002f2101072e2a001721002d2a01682721002e3d01a14a0221002f0401683900003c00303900003c00313900003c00323900003c00333900003c00343900003c00353900003c00363900003c00373900003c00383900003c00393900003c003a4c003c003b21003b3a01001836003221003b3a00801836000921003b4c01372c000a21003b4c01373a011b1b21003a21003b4b21003b4c01193b003b01002cffc44c003c003c4c003c003d4c003c003e21003e3a01001836019721003d21003d4c01371b21003d4c02371b21003d4c03371b21003d4c04371b3c003f21003f4c08293a00ff21003f141b4c631b3b003f010021003f21003021003c010021003c21003121003f010021003a21003c463c004021003a210040463c004121003a210041463c00423a010121003a21003f4602070101010021003f021b3c00432100434c18372100434c08290a21003221003c01002100434c10372100434c10290a21003321003c01002100434c08372100434c18290a21003421003c010021004321003521003c01000701010101210042020700010001210041021b3a0101210040021b070101010021003c021b3b004301002100434c18372100434c08290a21003621003f01002100434c10372100434c10290a21003721003f01002100434c08372100434c18290a21003821003f010021004321003921003f010021003c36003221004021003a21003a21003a2100422100401b4646461b3b003c010021003d21003a21003a21003d46461b3b003d012c000e4c013b003d010021003d3b003c010021003e4c01193b003e01002cfe5f4c004c014c024c044c084c104c204c403a00804c1b4c3639000b3c0044160700005ba8170121002a4a013c00454c0821004504017d21002a2e2a016d2100454a013c00462101072a01aa2a00d63c00472101232a01aa2a00d63c004816070000648c17004a003c004c16070000653a17004a003c004e4c103c004f1607000065d317004a003c00511607000072aa17004a003c0132300c01e60a6a6d786b6d6a4e706d71057d786d7823076b7c6975787a7c10477d786d78233733267b786a7c2f2d3500087f6c777a6d707677047f6b7674067b786a7c2f2d4b5f7870757c7d396d76397d7c7a767d7c397b786a7c2f2d347c777a767d7c7d397d786d78394c4b5535395b6c7f7f7c6b3978777d39786d767b39786b7c3977766d396a6c6969766b6d7c7d06757c777e6d710a7a71786b5a767d7c586d0b70776a6d78776d70786d7c046d717c770870776a6d78777a7c07717c787d7c6b6a037e7c6d0c5a76776d7c776d344d60697c1470776a6d78776d70786d7c4a6d6b7c787470777e1078696975707a786d707677366e786a740b786b6b78605b6c7f7f7c6bc2dfe57d786d782378696975707a786d707677366e786a74227b786a7c2f2d35585e5f637b485c585858585b3658506c40585f365841207e58412158405853367f6e5f36405853367f6e5b7e582a20367f6e5f36405843367f2a20367f2a215b7f2b585f7f2a20367f2a215b7f2b585d7f2a2036585e585c7f2a20367f6e5b7e5b7720367f2a20367f6e5b7e5b4120367f2a2036585e585c7f2a20367f6e5f36405871367f2a20367f2a20367f6e5f3640587d367f2a20367f2a20365841207e5b4120327f772c32585e5858585e58517f2a20367f2a20367f6e5b7e5b5120367f2a215b7f74585f7f2a20367f2a2d5b7f2b58585841207e5b5120327f772158405853367f7e5b7e5b4120367f772036585e58527f2a20367f2a20367f2a20367f6e5f36405861367f2a20367f2a20367f2a20367f2a215b7f2b58507f2a20367f2a20367f2a2158405820367f2a20367f2a20367f2a20367f2a20367f2a2158405869367f2a20367f2a20367f2a2036585e58557f2a20367f2a20367f2a20367f2a215b7f2b585e7f2a61367f2a20365841207e5b2a20367f2a20367f772d5b7f2b585e7f2a20367f2a2c325841207e5b4120367f2a20215841207e58772021585e585c7f772c327f7e5f36405853327f6e5f36405853327f7e5f2140585f365841617e582a2c327f7e5f36405857367f2a215b7f5e585d7f2a20365841287e5b5120367f2a2d5b7f74585a7f51215b7f5e585d7f2a2032585e585a7f772d5b7f4e585a7f2a215b7f7e50615a585f71584e5c585d6e5f71584e50585b7e5f71584e5458587e5f71584e4858587e5f71584e4c5858585f71584e40585b585f71584e7a585b6e5f71584e7e58585849555b54725c587e5858587e54585848545b58585858586e544d5d6e2d5858585c5d584848585848585858485858587e545a587e7a565b7e7e525f58545a5858545d5858505d5858545d58582d5a5b584858586e48585b58585c58585858586e545d586e485858585c5a5f4850515b48545e5b7e6a5a585a5c5a58586e545b487e5a58585858586e545d586e585058587e585b6e58585858545a587e545d5870504c5858585c586e5058585854585b6e505a58585841585b7a58506e5458585854585848585b5b6e50515a58585d587e5052586e505b5b5854585b6e505d5858585d5861585c5c585057587e2955587e6a585858504f5858585c5a5850585a487a50587e7a5d5a7e5c585b58405d58485858586e48405a7e48405a7e7e4b587e585c53582d75537e585b584858585a7e215858587a5b58614c5b5b587e5a587e764358587a515e48585b586e7a5a586e5c5a5c6e5c505b6e76585858585b585840515d58585b586e5c585858545b58485c585b5b767b5e716a58587e5858587e547a586e505858587a5d5158545d587e505d5a487a525a4872525a4872585c584848586e505f5b6e48585a5a7a765c486a5f5a615c55585850515c4a72585a6e585b586e505a587e7a5c58584068587e585a587e486b555a29505d7e50565f582d585848505a585858585b6e545d5b6e545d58485858587e545a5858585a5848585a58585c5b587e4858585848505f7e485b58485858584b545b584858535a4872525a7e76585a587e505b58215b5848585b58585c585848585b58585c585848585b58585c585848585b58585c585848585b5858545d586e545d586e585858485c5e5d586e5e5d586e585b7e585e5d586e5b5b7e405c5a6e485a5b58505b5b7e48555b58505c587e6a555a6e485b58485c5b5a48725f517e4c7c5d4829575d4829575d584c5f5b484c5f5b6e6e5f5b484c5f5b48407f505b505e5c7e7a5e5b7e407f505b505e5c7e725e5b7e4c5f5b484c5f5b484c5f5b484c5f5b484c5f58584c5f5b48725f5b587e5e5b587e505b7e485d5148485b5848585b58587e5b5f7e505a5858585b584858585848585b5848585c5b587a5b7a58515b586a5c5a5b48405b584d5a587e58505e5a585f36584c5e7e286e5c555b297e49584e725a58585f6858567a5b584e6a585e485f6a585b585b7b485d78587e5f6c5855485c584e21586b7e485b7a585a435b585f615853585c584150586b585c5b7a6e5a5d5b585f295848585b7d485a4f586e5f2b5853485d58417a58726e5453616e485b585c5c5b5a21585a63484a685b545c5b6f585e48582f6e5b736e5656582d295d4d293254582d6a5d707e56505820585c7058497558407a5d636e4d565b56485b324855545b546a5c6c585173587a765c60584d535b547a5c2958515b5b54505c6e584d5f5b54485c6e6e4b3272485652587c505b6f6e4a325b55295c6f584d71587b6a5c6c7e4a2c5b557e5c6d6e48486048516f5832295d6e585632582e6e5d6c7e562d582e405d6d585660582e585d6b7e566a582f765d68585674582c545a2158496c582d2d5a2d48497e5820215d2a7e497d582f215a2a58497b5820765d7458554058207a5d287e494f5820485d4d20545d297e5651586a6a5d6048495058217a5d6148495d582d405a607e495e5b53505d617e495c5821505d4370587e2e58496b5832765d2f48497658327a5d2c7e4975582f215a2c5849735832505d5050295a73485554587b295b6f485143582e295b50575c5d29584954584c2049636e565058705d565821295d63585f494d216e5d705853745055405c6d484a635b5e407e6a7e4a615b55585c5052215c6b484a6a5b526a5c605855505868725c68584a775b52405c6948487e69584a735b52505c76484a36586b215a76584a7f5b532d5c77484a7a5b5a5a7b5b53765c74584a415b53405c75484a4c5b53545c5053505c72484a495b502d5c73484a545b506a5c707e4b745055725a70484a505b507a5c717e4a5f5b50485c6e485620582e725d6b485669582e4c5d6a4857745055725a7e7e4a5b5b50585c366e49325836295d6f6e562e582e7a5d686e5677582e545d6b6e49525840505a365849525840505a326e547e686e5e6b584e6d6b782f295a4d2b696850526a5b686e5f6b782b6c6d5872206878705a685878765b782f725b68485e6a5872206878705a685878765b782f725b68485e6a5872206878705d2f5836725d50497e5d206e547e207e492858605d295836545d5053725a217e566a584a5a43586f5c5d6b585f7469485672582b407e604851535878545d7448567a582f505d5053765d7748567158605a7b582c2d5d7658577450537e5d756e567f582c405d5a684d7f5b21725c5b6e587e585a585b7c586a4c585a58585c5d4c5c485a58585258505c5d6e6a7e585a29585a6e6a7d58485f365058584857484b5850585876587e5871584a58585c51297850585c485c586a7e58586a53585a58585c58297e584e7655297e5c5b5b51215a485a585b505858485a4a505d4a6e4b58506e5b5b5c5e6a705870485850585c7e582b6a70586e4b58505858485c605c5c505858485a4a505b5058576850484c7e5860585c50585f6b4a6e4b585058587e5b5a585f50584b6b50585c7e584b5d5058486a7e584a58585c5829705b5e767e58295c585c497a5b5058587e5b4b5b2d5058535b585d76585d60585c50584f685058535b5d2b764857586a5458486a73585c5c487860505a5358585a485a58585c5d4c5c485a5858525850585048547e58725c58567e584950585c7e582b767e58725c49787158295058587e584b582c5d585c555058535b585d76585d70585850585f685058535b5d747648575a585850585c48567e6a555058535b5c5e767258586a4b585a58585c5d4c5c485a5858525850585d6e6a7e58586a52585a5858525850585c52545b5a6e6e585058587e584c5c7a78715a48587e6f545d585c517f6e535850585b5f5d48587e585c5c507860505d50585b5b5b5e6a76587e5870584c5f2d7a4a505878705c5f5872587e584c5c5b7a48295850585f5b582a5f5f5d485c7e5860585d52585058507e5f6b507e575b2f505c5b525850584a48295b5058587e584e7671585a585d487c605b584a7e5a585c7a5c485a585b487f215b4d484b5850585476587e7e705870585b4848572b507e4b5b582a4b5b7e50505b787240785058507e58607e5a5d5a505b4b7e4b58487d705b584c51407e485c76587e5b5b7f70585c7d2a5c2b587e5854586e6a7e5870585b577e505450585c7e5873405a5a586e5a5a60585d525850405048405a485a585d50585476587e6e70584c7a5c485a585d52585050507e507e584d405a5d5a585b5058502b587e7e5458486a5a485a585d484b4b68507e5076587e58705b5829585058575b5c5e767058707e5a585a505c5d485b5b585a5c5b5d585c555829587e58705c5150584870584c5c4c7870505a52585058507e4857585a585b484b5b685048507e584a7e5a5c5a505c5d48585550587d5b585d405a58586a7e5b724c57584853585058547e58607e5a515a505a484853294840705c584e76705b5a7e5a585c405c485a585c50585c2b587e587e5848295b487d605b584c517a7e485c76587e5b5b7f70585a7d2a5c2b587e5854586e6a7e5b725c48484b487e5b707e5a5c5a585d4b716d6850585c2b587e587e584c4c57587e6a7e584a585e577e50405058547658715870587e4b5850585c7e5873405a5c5a585a50585c2b58717e55505854765871487058724c57584a585b5058502b5871487e5870585b577e50405d585c5550584c76587e4870584c5c5d7a4c5c5d4b6e2958487c5a5b584a5858577e505850584c7e584c5f327a4d405a5b5a585d50585b5b5841502b587e487e585a585d78705858577e50585d6e6a7e5860585f4d6e295850584c76587e4870584c5c5b7a4c4c575858535850585f5b58775f5f5b5c587e5b4c516e7e485c76587e5b5e5b5c5b5b21505c5b5058542b587e5b5b2c505c5b487c4a5b584a7e5a585a585878705058577e50585058547e585c5c5b7a73405a5b5a585d487c605b584a7e5a585c7a575829517e7e485f5b585d405a585c516a7e485f5b585d405a5858215550584f5b2e505c5b525850584b7e4b58487c605b584a585d577e5058487c5a5b584c517e7e485c76587e587e585e7670585d405a585a585d50585b5b5841502b587e487e585a585d78705858577e50585d6e6a7e584c5f2d7a4a585878705c585872587e584c5136584c295c485a585f52585050507e507e584c5c5d7d70505c4848572948405a5a584e695e5e70585a50584c76587e6e70584c405c485c51407e485f5b2b505c5b5258505848412d7e5b517d61577e50585d5850555058507e584d405a5d5a585b5058502b587e7e5458486a7e5b4a7e5a5e5a5c5e5872587e5b4a585f52585054507e5f515b5c587e5b4a7e5a5a5a505a487c705b584a7e5a585c72785058507e584d405a5d5a585b5058502b587e7e5458486a5a485a585f484b4b68507e5076587e58705b58295850584f5b5c5e767058707e5a585a505c5d485b5b585a5c5b5d585c555829587e58705c5150584870584c5c4c7870505a52585058507e4857585a585b484b5b685048507e584a7e5a5c5a505c5d48585550587d5b585d405a58586a7e5b724c575858535850584c7e5b4a7e5a515a505a484853294840705c584e76705b5a7e5a585c405c485a585c50585c2b587e587e5848295b487d605b584c517a7e485c76587e5b5b7f70585a7d2a5c2b587e5854587e6a7e5b725c48484b487e5b707e5a5c5a585f4b716d6850585c2b587e587e584c4c5758486a7e584a585e577e504050584c7658715870587e4b5850585c7e5873405a5c5a585a50585c2b58717e5550584c765871487058724c57585a585b5058502b5871487e5870585b577e50405a60585d50585b5b5841502b587e487e585a585d78705858577e50585058575b2e505c5b525850584b6e295b487c5a5b584a5858577e50585d6e6a7e5b4a585b48412c61577e505c5058547e585c5c5b7a73405a5b5a5858505857685058582b587e585550585b5b366e5f575b5c587e585c5c5d7d70505b4848572948405a5a584e767158585336487d705b584a7e5a585a505a48485c7e5841487058415f5f5b5c5b5b2b505c5b50585c7e5877502b587e587e58586e5b5a605858525850505a605c5a5058587e5863405a5a5a585a5058542b587e6e7e58605858577e50545058547e5873405a5a582155484b21715870585d487e582a5871587e585c5136363621514d484b5850585b5b5a514070584a585b48405d32492b695b5c51435b5a515c70584148705870585a48405d7e512b695b5c51435b5b515c70587748705b5a585c48405a585d2b695b5c51435b58775c705b514b5b5d2a407e584a585a7a70585c7a746a70584c5c5b7d5a585850585f5b5f4e692b48485f617a725c7a78705c5a5a60585d5058502b58716e7e58725c5a7d5c5e5071585f6850485c5a4858535858725b5b2a505c5b52585058507e4b5b584a585a7d5a50517a4c4c5c485c517a7e485c7e5b5a58517a73405a585a585b5058542b587e587e5860585b577e50405d585c5550585b5b585c5c435058535b5841436b5058535b5129407b7d5a5c5a50585c76587e58715848575850585c705b5a7e5a5b5c5f2d7a4a58584b7e295a5058535b51414071584a585a48485f295048507e5b5a585b48484b6178705051484b5b6852585058507e5c5758586a7e5b60585d577e50485058547e5b5d405a5e586a7e5860585d577e50545058547e5863405a5a586e5b5a60585c52585050507e587e5863405a5d5a585c5058542b587e7e7e58295c58577e50405058547e5b5d405a5d5a585d5058582b587e7e55487f705b584c512d7e485c76587e5b5b584e6a70585c5f365058587b577e50585a6e6a7258485f36506e5b5b5c5e6a70584a485850585b5a585d7a5a585a58584848582b587e7e7e584c5c487870485850585855706e505a582a215a7f7e535850585869582a58705b5f5b5f5058487e585a725d7c5a58585258505c507e5c7e585a7e5a555a505a782f6121507e4f417a4c4c5c485a5458484b5b6b507e5072585c5f3650485c5a485a58585c56725b5d48587e585a585a4848206848485c7e585a7e5a505b5c5c585c5c5b4b6e29585058506d5858217158486a7e58725c487870485850585c7058295c584d7e295b50585876587e4871584a58585258506a5048505550585b5a7f637a5d7a5a585850585c2b58747e7e585a585f5058507e584e6c6a7f5d7a5d7c5c5f365d6e6a7e5b4c505b7f5a5c5f50585876587e4871584a5858525850505048505a485a58585248576e507e4b485d48587e5b5a585f7f4a505c5058507e584e6c6a4e48295850585c7e5b527d68504850555058587e5873405a785a585850584c7e585a7e5a555a505850585f6b6b516e2a582a7e7e585a585b4d6e4b5850585f5b584e6a7e5863765858586a7e586e6a4358485f3648487671584a58585c5d4c5c7f6058585c51285b584e6a5f50585c555a32545b5848433650585c48296e507158605458484b5b6b507e4c72585853585058547e585a505c5c54215b507e5b575b5c587e5b5b5857507e40715870585d507e585c7f6e535850585c7e58724057585a585a50585f6b50585b5b58774b495b5c587e585c4c57584857585058507e584a7e5a585d405a585a585a48484b685048507e584c5c5c78705c5b50585b5b584e6a70585829585a6e6e5b5a6058584b4829585829587e5870585848485f6b507e5b5b587748705b2b767e584a585178707e5a585d405a585a58585d4858555a295c585b4a585a5a61767e5b4c5c58577e50545058407e58295c5a7d5e767e5b4c5c54787158635058487e58615b2d5d585c555058487e585a585d50585b6b505848485a4a50584848587e585a585d50585c4820585c5550584f5b5c5e767258586d635848573650585c48727e5c7158705458484b5b6b507e4872585853585058507e585b584d507e57575b5c587e585b58575048547e587e4b585058547e584a585a5c56765b5a60585c4848582f5858217e5870585d7870585c484820685c5d487e585a585a5c517e5458486a7e585a585d5058507e582b6a7e585b5853507e5b5b585a58585058507e584b5d2d58486a7e5b5c5c48787048585a32295a58484b3658725b5b2a507e5b5548585848485f615d485b5b2a507e5b5c5a4b5f5d485873585c5c7e7860505a5358585a485853585829587e58725c507870585848485329787e533648485c7e58514b5b36363636366e7d61507e575b5841535f5b5c587e585c5c5a7d5a7e5a58586e5b5a6058584843767c4878487f5058547b5c56585a5a60505d577e50585058575b7f297a5c485a585848485f68507e5b5b5b724057587e6e5b5a6e6a5458486d5b585b5d7f58724c5c485c5150554a5c5b5058535b5a5e695b605a2948776e5f5f5d485f5b2d5a2971584a585a48487168487c586d5c53215b4b48295b48485871585c5e6e716e5c6d58585b5f5b5c585d485a58584848532948405a51584e767e585c5e7251615d7e5873405a585a585848485f68507e5b5b5b727a5758586d5b6a507a5b48485c2f58585b5b74507a5b48405a51584a7e5a585d405a58586d5b7e507a5b50485c7e58725c5078725e58716e5c48776e5f5f5d485f5b74507a5b50485c7e58725c5078725e40716e5c48776e5f5f5d485f5b5e5b5843507e5f5f5d485c5550585c7e5870725d5a5d7a5a585a585b5058506958617e2a5871587e584a585a52485448576e50505a60585a484a5b6853585b5b2b507e5b50585c2b587e5b5b2a507e5b5c5a5455487d7050584a7e5a58586a5f585b585858586f7f5a7e505f7f6e2032506e5b5b2d585b6b507e4c72585a585c486f3636363636363663325d507e285a5d2d407e58295061705048715d70585a50584a5f48765a587e505a587e505a587e51325d5048767e5872553636363636363621367e60505548705a505048217e5d4c504b705a5c4850584b5a54507077487f363658415c715b6e53585872587e5872506e70527d5b3636215b7a4a505348485f6b487f2a36584c295c485a585148485f6b487f2e36584c725758486a7e584f587e587255363636363636363636363621587e60505448765a587e505a587e545d36366e5b4c5058615a7e505a587e505a586e493636585f5c7b4b484b585058535a7e505a587e505a58505048715a7e6e5a5a60585d4c5a585c486f36363636363636363636366e5a5d507e535a7e505a587e505a586e493636585f487e587252587e505a587e505d58363621584c4b6d5f5b5c587e5b5c52587e505a587e50587e715a5c525058547158486e5a5a60585b5058615a7e505a587e505a586e49363658504e5c4c584b585058507e582d4b485b5c5b5a7e505a587e505a582d493636585a5c52487e587158486e5d5a60585248765a587e505a587e545d36366e5a5c5048695a585a5c5b5d5850555058547e587252587e505a587e505d583636215871404b485b5c587e584a5854715a5c5a487e5871584a585a4c584b5848765a587e505a587e565d36366e58715a7e6e5d5a60585248765a587e505a587e545d36366e5a5c50487654587e6a7e584a5854715f585c485c505850485c54587e6a7e5870585d715f585c485c505850485c54587e6a7e5d5c553636363636363621364e584b5850584f5b29585b6850585c7e5a60585b50586a7e5a2858705b716d2c5058435b5b774a6d7f527a705b725c497861586f484b587e5b746a715b70585f52485740507e6d5a50507e715d60585f5248574850485c555058535a363636363636363649284057585a585f484c5b6b5058547e5d4a585d5058297e5d4f58705a5b6d2c5058715b5b774a6d7f527a705a5c5c497861586f5058407e5a5e6d5b5c5e76715b70585f52485750507e535a5d2d407e5b4a725d485a505d48735e50715a5c565058535a5c407e715c586a7e58295049717252587e492e365d2d54705870585b48705a50507e4b325071507e5829504b705c5536363636365d2d54705d5a585b486f3636363621497e60505b7f776e705c4c507e7170505750585c7e58772c21507e547e5d4f4a6d5058507e5a295536363636365d2d54705a2a2d705f4a585c505861327f5a504d50582c5a36363636366e325d507e297e58412c215071487e5c4a584a4f52285a5050407e5c4c507e70504b2150715c7e5870584948765a585b5048705d772d705f705855505861327f5a50495058487e5d412c215071507e5c5c5536363636365b2d575a7e505a587e58705c507e507e58412c2150715b5a5050432150717d2150485c7e5b6058537870585e78725136366e5b6b5048405a485a58555058283250717e7e5d5a58567f776e705d5a58404f52297e5d5a585a50584b327f5a505c5058614c6b416e7e587058567f776e7e5b5a585c505b547e5f4f4a6d505b547e5f5f786d7f516e705b5f786d7f5a585a50586d32507e6a7e5d4a58567f776e70587058554f52285a5050407e5872507e70504b215058487e5872507e71776e705870585c4f5228215058507e58705848505b534c6b4a5849505b434c6b4a5849505b534e6b41612148705a5e505b5b5a5050705c7f5a505a4f6828215058507e5870584b505b4b4c6b4a584b505b7d4e6b416121507e534e6b416e705b5c52587e505a587e505d58585057484b484b585058435b584e76715b7e6e5b5a60585d4873325050486a7e5b5c505b7170585a48733250715a5c5c5058535a5840407e584c5036705048715870585d487e5e5e5048547e5a60585b487e5e5e715a5c5b5a60585e487f3636584c2d5c485a585248765a587e505a587e545d36366e5a5c5048695a585a5c5b5d585c5558772d7e5b725c584d584b5848485c7e5b746a705b295e58584c215c485c505850485c54586e6a7e5b4c5c6e7870585d50585c7e5b725136585e76705b71586f50584f5b505e767e5870585c505840485560585f484b5b685058547e584a58515c516e7e5b4a585a5058487e5b615b2150584c695863587e5b4a725d56504b5a585f526d50584c695860587e5b4a725d5c504a5c5048547e5b4a725d525a585f52485440715a5c5b50584c69586e58715870585f524854505d585c5550584b5a3636363636363636492d547e5b68285a5450785c5a605852715a5c525058574850585f5a585f727e584c52587e505a587e505a587e505b364c4b6d5f5b5c587e5a70585a487e5f21507e5c7e58754a6d7f5a5c525d585c555058547e584c52587e505a587e505a587e505b3671404b484b484b585058507158486e5b5a6058525058507e5872505b7e2a6e70584a585a4f522821504876555058587e584d7a5d585a58585058762a586e7e7e5b4c517e585e767258586c58557e5c557f605458484b5b6b507e6a72585853585872585a485853585872585a485853585872585a485853585872587e585c5129584c295c485c51407e485c76587e58705b725c4850585b5b5a2b695b7c515c7e585c5c554a4b6a705b295c5d7d70505a7d70505b484857615b5c587e584c5f367a295c5b7a4a585a7870505d48485729507e5f5b7050505b78707e5a585a505c484871685048585a485a585c52585050507e507e584c5e587e7e5f68507e5f5e5b5c5b5b2b505c5b5058435b7f70585d7d2a5c2b587e585458486a7e5870585b577e505450585c7e5873405a5a586a7e5b5a585d48485729507e5f5b582a502b587e487e584a585c7870505b50585c76587e4b5b5841502b587e48545d586a7e5b29517e7e485c76587e58705a722957584a585b5b5c585a485c5c5a50585329507e5b5b585a5858782a507e584a585a7d515c70585c5c5850585b6b7a4c5c5b7860505850585b5b5d51435b5c515c7058774070584c5c5f7d725c507a4a50585058536050585c7e58514070584c5c5a7d725c5c7a4a50587a70585b50585b2b507e5f5b5841435b58775c705851507e584a58587d70505b48485f2b48485f61507e5b6050585c7e58514368507e575b582a4870585c5e507e7e5f6852585058507e4876587e7e70584a585848405a5a584e7670585c405c485c51407e485c7e5b725f325058572a7a4a505e577e50585d585c5550585c7e585d405a5d5a585850585c2b587e7e5550584b5b5a5e7671585a585c50587d5b582a502b587e487e5b5a58517870505a5058575b582a4870584a58517860505d48485f60577e505c50585c7e5b5e767e5863405a585a58525b5c587e5a725c5d7d70505b4848572948405a5a584e76715b4c516a7e485c76587e58715b5853365058435b584a585b7d5a505b7a4c4c5c485c51407e485c7e584a585e7a73405a585a585f5d585c5550584c76587e7e5550485c7e5b4a585c577e505050585c7e5b5d405a5d5a585c50584c2b587e6e7e5b5a585b577e50505a29516a7e485c7e5873405a585c517e7e485c7e5863405a58586e545a29517a7e485c76587e58705a4c4c57584a58534848587e5a4e6d6148485f6b507e587e585c5c547d725c487a4a505a7d70505b48484f2b48487161507e587e5877507e584a58587d70505b4848532b48484b61507e5b6050585c7e58514070584c5c5b7d725c5a7a4a50587a70585b50585b2b507e5f5b5841435b58415c705851507e584a58587d74695b58774b5b7050485b78707e5a585a505b5258505c4841716150587d6b5048547e584a5c5a5829585a485a585a52585048507e5b5f5b5c587e58707e5a5f5a50584b48295b5a6058585258505c4841716150587d6b507e507e5860585a50585753507e507b5048547e585a585b5058507b50485c7e585a5c5a5d585c555a60585b5258504050487e7e584a585b52585054507e4b515b5c587e584a7e5a5a5a5058487c705b584a7e5a585c72785058587e5b5d405a5d5a585c5058582b587e7e545a6e6a7e584c5c4c7870505a52585058507e5b5f5b5c587e584a7e5a5c5a50584b48295d50585f5b5c5e7671587e6a5d485a585a50484c7e585a505c484b4b68507e5076587e58705858295850584b5b5c5e76715870585c52585048507e585758586a7e5b4c5c58577e50585d587655484121715b605858487b20364a6e295850585b5b5a2b7670585c5f2d7a4a5c51487d605b584a7e5a585a50534b4829584848587e5b2b6a71586e53585872585a485853364848587e5b295e5858727257585b695b51605851487f3636366e7d555d48587850585b5b5a514070585a585848405d32492b695b5c51435b5a515c7058774870585a585848405d7e512b695b5c51435b5b515c7058414870585a585848405a585d2b695b5c51435b58775c7058514b5b5d2a407e584a585a7a7058587a746a70585c5c5b7d5a585150585b5b5f4e692b48485f617a725c7a787e6a705b725c5a7d5c5e5071585f6852585058507e535f5b5c5b5b585a5c585d585c5548485871585a585148485b5b5e4a585e48485f2b7860585e484b205e5e2a4871584857585872587e58707e5a5b5c5f2d7a4a58517860505f505857495d48587e58705c5c50584c70586e2958484858715860585a50485854586e6a7e585a585a5258504c507e4c7e5b4a585a50585f5b5141435b5b515f6852585048507e535e5e60585850584c7b5048587e584c5c5b7d5a5c5b5058505758586a555058587e5b51535f5b5c5b5b585a5c5c4848507e5b774870585c5c5850585b6b7a7058537a4a50584b48295d50585b5b585a5858782a5f5b584e6a70585a58584848612b484b5b61507e532b507e5f5b5b41435b5a515c70585a585a7a70585b50585b2b507e5f5b5877435b5b515c705851507e584a58587d70505b48485f2b48485361507e5b6050585c7e58514070584c5c5b7d725c5b7a4a50587a70585b50585b2b78725c5a7d5c5e5071585f68525850585048585550585b5f5d485c555829587e585a7e5a5b5c5f2d7a4a58517860505b505857535048507e584a585d5058507b5048547e585a585c5058507b5048487e585a7e5a5c5a505b5b51217e58484c7e585a7e5a5f586a70585829585a6e6a7e5b5c4c57585a585d487c5a5b584a7e5a585a585178292157585a585c525850405048407e5b5a585c52585054507e5f515b5c587e5b5a7e5a5a5a5058487c705b584a7e5a585c72785058587e584d405a5d5a585b5058582b587e7e545a486a7e5b5c5c4c7870505a52585058507e5b5f5b5c587e5b5a7e5a5c5a50584b48295d50584b5b5c5e7671587e6a5d485a585a50484c7e585a505b484b4b68507e5076587e58705858295850585f5b5c5e76715870585b52585048507e585758586a7e5b4c5c58577e50585d587e5550587d5b2d505c5b52585058507e53575b5c5b5b2e505c5b525850585048545a485a585a50587d6b507e5f5b5c5c215c485c517e7e485c7e584d405a585c516a7e485c7e5860585178705058577e50585058587e584c5c5b7a73405a5b5a585a5058576850585c2b587e587e5860585148485760577e505c5d585c55487c605b584c5c58577e5058487c5a5b584c5c58577e50585058547e58725c5d7a73405a5b5a585a50585768507e587e585a7e5a5b5c5c5b7a73405a5b586a7e58295c5078705c585d58765550587d5b2c505c5b52585058507e71535b5c5b5b2c505c5b50587e7e5b2b6a70584d405a585c516e7e485f5b21505c5b52585058507e507e5b2b7670585d405a585a585850585f5b5841502b587e487e5870585148485760577e505c5058535b5a5e767158586e525a295c585048587e5b295c6f787050535877205b6a504c5b525850585b5c5b5b6c504c5b525850585d585c55487b605f584c5336576e5058487b4a5f584c525876505a587e50585c576e5058487b5a5f584a58554848616848415b61487d70682878765f7a63405a585c515c71485f5b585d405a585c5e4c71485f5b585d405a585c5e5850586a70584e76705b725c5850585f6b507e4f61507e507e5b2929575a4c5e4871485c76587e58705b584b584840705f584a7e5a585a505d50585368507e5c7e5829297e584a585c4a2a50575a7e6d5b75504c5b5548585848484b615d48485a48585358487f5a5b584a7e5a585a505d5b5c5b5b74504c5b5048585d485a585d50585876587e5870584c215c485a585b50585876587e4b68505857555d48545550585876587e7e70585829585a6e6d5b585b5b60507e5f5b7f2940575b4a585a5048435b6d504c5b52585058507e575b584e6a70585a585b7a484b585058507e584e6a7e585a585b78725c585058576b7a4e76715b7e6a7e5b7058514d4a585e487f2e36363621514a2a50575b4c5e4871485c76587e58705b584b584840705f584a7e5a585a505d50584368507e587e5829297e585a585c4a2a50575b7e6a7e5b715b60507e587e584c7a5758486e515a60585e5058716b50584f61507e435b366f3636366e7d555d48487e5b715b60507e5c7e585a7e5a585a58585258505c787240575860585b5048585550585b5b7f29407e5b295c6e7870585e4d41535f5b5c5b5b6c504c5b52585058507e5c7e5a4a585e782b695b585a585b782a5c70584c5132363636365b296a5c485a585850485c545b6e6a7e584b5b60484120515b5c587e584a585e78705c5e5058587158486e515a295c585058436b5c5150785d58485550585870584c5f364b6e295f5d585455484858715b586e515a295c5850485c545b486a7e584c5f364b6e295a5a295e4c71485f5b75504c5b5258505848484b60577e50585a60585a487f2e36363621514a6e295b505850487a70505b4841205e484858487a7050584841205e7a70585850585f577a7e295b5058587e584e6a705b705851484a71684d48295b5a295e5071485f5b70504c5b5258505850584368507e582b587e5b5b73504c5b5258505850585b535b5c5b5b73504c5b5058582b587e58555872585a48585358487f5a5b584a7e5a585a505f5b5c5b5b74504c5b5048585d485a585b50585876587e5870586058585258505c507e53684b7e295a50585876587e7e70585829585a6e6e5a5a2951767e485c76587e5870585c5c585058587e584c297b4b484b58487c705b584a585b577e50585a295c5850485b5b77504c5b5058402b587e5b5b74504c5b50585c2b587e5b5b32505c5b4841212b587e5b5b36505c5b487b5a5f584a7e5a585d405a585c5e7271485f5b585d405a5858575850585b5b582a487058295e507e7e5f685058575b7e50505b7870505a577e50585058575b7350505b7870585a577e505850585b5b584e7670585c5c7e4b6e29585a2951727e485c7e5b725c767860505d48417e7e584e6d5b5b2a5f5b585a585b4848716848487d615e6050587860505a577e5058487f5a5b584a585850585f68507e582b587e587e585a585a48485f60577e505c50585c7e582b695b525d405a5b5c51297e485f5b6e504c5b52585058577e50585d5850555058586d5858615b5a515c7e5860585f4a2a507e584a585f4d415057585a58585058507e5b74762b587e4b5b21505c5b50584f5b7c5a585f78295c517a4c5c5850584f5b5a5e695b5b2a5c7b507e5b68507e502b587e5b5b2c505c5b487c4a5b584a7e5a585a585e7870505b50585b6b507e582b587e587e5870585848485f60577e505c50585c7e5b4e695b525d405a5b5c51297e485f5b6e504c5b52585058577e50585d585c55487c705b584a7e5a585a585b4a6e4b58487c705b584a585b577e50585a60585b505843685048535b74504c5b5048585a485853585872585a485853585872585d485a585a50585876587e5b515b5c587e585a7e5a5a5a50585d485c54587e6a555058586d5858615b5a515f5f5d485c554843705f584a5c585829587e5b4a585852585058507e53495b5c587e587058585258505c7870505c50584f555d48545550585876587e7e7158586e585a6e58555058587e584d405a585a585850585876587e487e5b74762b587e487e584c5f2d50585f6b48487d614848587e584c5c5078725c517a4b6d68507e727e5b295c5d7a73405a5b5a585a48417e7e58746d5b5b2a5f5b585a585a4848716848487d615e2b76705b70585150587568507e716b5048507e5b4a585e4b7e4b58487f5a5b584a5850577e5058487c4a5b584c51727e485c76587e587e58747670585d405a585a585050585b5b5841502b587e4854586e6a7e5b72516a7e485c76587e5b5e5b5c5b5b2e505c5b50587e2b587e5b5b2d505c5b487c5a5b584a7e5a585a585a78705058577e505850587e7e585c5c5b7a73405a5b5a5858505871685058582b587e5854586e6a7e5b707e5a5b5a50584848576148485f5e5b5c587e585c5f2d7a4a5c5f5872587e585c5136584c295c485a585e52585050507e547e585c5c5d7d7050584848572948405a5a584e695e5e70585d50584076587e6e70584c405c485c51407e485f5b2b505c5b5258505848412d7e58517d61577e50585d5850555058547e584d405a5d5a585b5058542b587e7e5458486a7e5b707e5a5e5a5c515872587e5b70585e52585054507e5f515b5c587e5b707e5a5a5a505850585c2b587e6e7e584a5858577e50505d585c555872587e5b725c4c7870505852585058507e5457585a585e484b5b68507e5876587e5870586e29584848587158486e5b5a6e5758505858715b5a585d507e5f5b5f5e7670585a7e5a585a505d5d48587e584c5c4878705c5850585c7658715870586e29585a60585c4848582b587e585550587d5f5d48585a485a585e5058407658716e7058295c5a7d5c5e5071585f68507e5876587e5b5e5b5c587e585a585b577e505850585c57584c517a7e485f5b2a505c5b5258505848412d7e582a7d61577e50585d58505550587d5b5c5c5c4c50587a765871587e5b72407b7870585b577e505850585f5f5d485c5550585c7e5b63405a5e5a585e52585048507e585c485a585b5058582b5871587e585a585b577e50405a60585e5258504c507e5b5f5d48587e584a5858577e504c5058587e584d405a5e586a7e5b4a585e78705c5e5058507e5b4e7671587e6a7e5b70585e5258505c48412c61577e505c50587e7e58725c5b7a73405a5b5a585a505871685058502b587e587e58725136584c295c485a585a4848572b507e5b5b582a4b5b7e50505b78705c5a5877205b2b505c5b52585058507e5f5b584a58587d5a50587a4c4c5c485c51407e485c7e585a585b7a73405a585a585a5d585c5550585076587e7e555048587e58705850577e50505058587e5a5d405a5d5a58505058502b587e6e7e5a5a5858577e50505d585455484b2171585a585a487f3636366e7d575b5c587e58725c507d70505850585b5b7e492d3678725c487d725c507a4a505d7d5a505850585b5b7e56587f78725c487d725c5c7a4a505b7d5a505850585b5b7e50584978725c487d725c5a7a4a50587d5c5c497d70585b5058576050585b607860505848485f295058507e585c5c4f7877435b58415f60484b61685048585550587e7e585d405a515a5850487e582a5871587e585c5c5a7d5c5e5071585f685048485a485c517a7e485c76587e587058295c5b50585b29507e5f614b484b58487d605b584a585b50585760577e50585058487e5a5d405a585a58505058482b58717e5458486a7e58725c58484b727e585c5c5b7d746a7e585c5c7f4b716d295048587e5b5a7e5a585a5c5b5829587e584a505d5258505c484171615058535e5d48547e585c5c7d7d705c5b50585b5b58414871585a585d50585f5b5b515f68507e487658715870584829585a60585c50587e2b5871587e5a5a585d577e50405a60585050587e2b587e6e7e5a5a5850577e50505d585055487c4a5b584a585e484a716b507e575b7c5a585b78295c517a4c5c5850585f5b5a5e695b5b2a5c7b507e5b6b507e502b587e5b5b21505c5b5058587e584e7670585d405a585a58585058535b5841502b587e487e584a585d78725c76577e505c487f4a5b584c515871485c76587e582b587e587e5b4a585c484a7a7e5b5e6d5b5b2a5f5b585a585c484a7d6b48487d615e2b695b552b6a70585a585850584f5b5c5e69535e60505a484b6a2b587e487e58725e7e71485c69587e582a5871587e58725e4071485c69587e582a587e715b76504c5b5058535b5a5e762b587e5b5b77504c5b5058402b587e5b5b74504c5b50585c2b587e5b5b69504c5b4848582b587e587e58725c4078705c585829587e585c5c51577e505c50585b5b5a5e7671584a585848484b685048587e584a585c4a4829585a60585a50584f5e5d48547e5870585a5258505c48412c61577e505c50584c7e5870585f7860505c48485f60577e505c5058507e5b5d405a585a585c487f215b4d484b5850584b5b582a4070585c5c5d7d5c5e587e7e5f685048505a7f2951407e485c76587e5870584c5c5b50585b29507e5b614b484b58487d705b584a585850585f60577e50585058505458486a7e58707e5a5a586a71585a585a50584c2b587e7e7e585a585f577e505450584c7e5873405a5d5a585f5058582b587e7e545b586d5b51605c5850584f5a585d7a5a5c5a585c487f3636366e7d575b5c587e5b5c5c507d70505850585b5b7e492d3678725c487d725c507a4a505a7d5a505850585b5b7e56587f78725c487d725c5c7a4a505b7d5a505850585b5b7e50584978725c487d725c5a7a4a50587d5c5c497d70585b5058536050585b607860505848485f295058487e585c5c4f7877435b58415f60484b61685048585550584c7e585d405a515a5858484853294840705c584e7671586e5358487d605b584a7e5a585a505a48485c7e5851487058415f5f5b5c5b5b2a505c5b50585c7e5877502b587e587e5860585f577e505850584c7e5863405a5e586e5b5a60585c48485b5b5e4a585848485f2b78605858484b205e5e2a4871585a585d5258505850485c5d485a585b507e5076587e4b5b7c515c7e5b5c40575b5a5858484b282b50485c7e585c5c5b7d5a5c585058507e584c5c5c7a4e767058607e5a5c5a505b5d4858555058547e5b4d405a5c5a585f5058502b58717e5550584c7e5b4d405a5d5a585f50584c2b587e7e54586e6a7e58607e5a5a5a505850587e2b587e6e7e58605850577e50505058715b585d405a5e5a58505058542b587e6e7e5a5a5858577e50505a60585348487168504858545b486a7e58707e5a5a5a505850584c2b587e6e7e5870585f577e505050584f5b585d405a5e5a585f5058502b587e6e7e5b4a5858577e50505a2951727e485c76587e5870585a58514d482958487c4a5b584a585850587d6b507e5c2b587e5b5b21505c5b487f5a5b584a7e5a585a505a50587d68507e582b587e587e585a585b48485f60577e505c5058507e5b295c5d7a73405a5b5a585a4848716850485854586e6d5b28505c5b484d582b587e5b5b585a5c585d5850555872587e5b724c57585853585058487658716e7058725c5a7d5c5e5071585f68507e5876587e587e5b5c405c485a585850585c2b587e587e5848295b487d605b584a585348412d7e58777d61507e722b587e5854587e6a7e5b725c48484b487e5b707e5a5c5a585c4b716d6850585c2b587e587e584c4c5758486a7e584a585e577e5040505848765871587058584b5850585c7e585d405a5c5a585850585c2b58717e555058487658714870585c4c57585a585b5058582b5871487e585a585b577e50405a6e53585058575b5d29295c485a585c5058547e5b2b7670585c5c5d7a73405a5b5a585850584b68507e587e585a7e5a5b5c5c5b7a73405a5b586e5b5a60585c50587d5b582a502b587e487e5b5a58517870505f5058575b5841502b587e487e5860585f7870585d577e50585058575b366e5f575b5c587e58295c5d7d7050584848572948405a5a584e7671587e5336487d705b584a7e5a585a505b48485c7e5851487058515f5f5b5c5b5b2b505c5b5058587e5841502b587e587e587e6e5b5a60585a525850505a605c585058507e5b4d405a5a5a585850584c2b587e6e7e5b4a585a577e505450584c7e585d405a5a586e5b5a295c7f5048587e58295136363621514d484b585058575b5a514070585a585848405d32492b695b5c51435b5a515c7058774870585a585848405d7e512b695b5c51435b5b515c7058414870585a585848405a585d2b695b5c51435b58775c7058514b5b5d2a407e584a585a7a7058587a746a70585c5c5b7d5a585d50585b5b5f4e692b48485f617a725c7a78705c585a60585f5058582b58716e7e5b4c5058576e504850585b5b58774b5b7050485b78705c5b5872585a485a585348485c7e5851487058775f5f5b5c5b5b2a505c5b5058507e5a41502b587e587e584a585f577e50585d585c555058575b585c5c4350585b5b5841436b50585b5b5129407b7d5a5c5850585c76587e58715b6e575850587a70584a7e5a5b5c5f2d7a4a585d4b7e295a50585b5b514140715870585848485f295048587e584a585a48484b617870505a52585048507e7a5758586a7e5870585f577e50485a60585f50585c2b58717e7e5b4a585f577e505450584c7e5b4d405a5a586e5b5a60585b52585050507e587e5b4d405a5d5a585b50584c2b587e7e7e5b4c5c58577e504050584c7e584d405a5d5a585f5058582b587e7e5550584b5b5a5e767158586e5b5a6e53585058715f5d48585a485a585b5258507a507e535b58774b5b7050485b787050585258505850585f5e5b5c587e585a585c577e505850584857584c517a7e485c7e5a4c5f325058532a7a4d405a58586e5a5a605850484b5b5b5f5a58505258504850585f5e5e2b767e5b5d405a585a585c4b48295b5a60585c50587e2b58717e7e584a7e5a5c5a50585b5c587e5b5a5858577e50485058587e5b5d405a5e586a7e584a7e5a5f5a50584b4829585058487e585d405a5f5a58585058482b58717e555872587e58295c494d484b5850585c7e586058517870505848485760577e505c5058587e584e7670585a58585258505c48485f60577e505c5d585c5550585c7e5b295c5d7a73405a5b5a585b50587d68507e507e58295c5b7a73405a5b5a585a505857685058542b587e587e5a7e4b585058695b582a4070585c5c5d7d5c5e587e7e5f6850484f5b2e505c5b525850585048485a7f295c5b50585b29507e587e5b775f5f5b5c5b5b2b505c5b5058587e5b77502b587e587e5b486e5b5a60585f525850505a605c5850584c7e5b5d405a5a5a58585058482b587e6e7e5b5a585f577e50545058487e585d405a5a586d5b2e505c5b5058502b587e5b5b2d505c5b5058542b587e585550585f5b5a5e767158586a7e5a295c487870485850585855696e5c5b5b512173585c5c7e7860505b5358587e584c5c58577e505450585f5b5763405a5a5a585b50585c69586e7e2a586e587e584c5c487870505d50585c69587e582a587e487e58605858577e5058506e5b5b5c5e6a705870485850585876587e5b5b7f297a5c485a585a48487168507e487e58615b2f5e70585a505848487c71765d485a58585258505848485f5e5d48585550585876587e5b5f5b5c587e585c5c5b577e50585058535b565b5c5b585a58584841212b587e58555a60585a484b5b685358587e585a7e5a5b5a5c5850585f5b505e7672585a585848485f6b5a616a5850585b5b585d405a5b5a5858487d7321585d405a585a58584843734e585d405a58586c405b7e5c537f605458484b5b6b507e7e72585a58585c542d5b506e5b5b5c5e6a70587048585058507e585d405a5d5a585048487168507e4c7e58725c54787158635058535b5c5e7672585c5e6e75485c484c5a585b4d484b5858725b5b6a534c5b5c5f58705870585b48485f68507e5b535b5c5873585c5c7e786050535358585a485a58585058536b507e435b6a534c5b5c5c5476587e5b5b6d534c5b5258505878295c5a7d4c295c485a585e5c537a5a5d585c55487b5a4f584b5b2950487a7e5a4c5c5078705c5a5877205b6a534c5b5c5f587e5b7476715b5a5458484b5b6b507e5872585a58585058482b587e6e7e5b5b5a5b5870505d4d484b58487b5a4f584b5b63507e487e58295c5b7d72725c485a585850584b5b5841482b587e7e7e585c5c5078705858484861685c514076587e5871586e6a7e585c5c48787048585058545458486a485f6e585550485b5b6a534c5b5c5f58715a725c5850485473585c5c487860505c5358587e5b5c5c58577e50545058535b5d5e767e5b5c5c54787058515c50485a5058585c485a585a52585048505858487e585071586e6a7e5870585d577e50585058507e586058524848532978705051577e50505058507e5b63405a5b5a585a5c50545b5058547e585c5c5a7d5e762b587e587e5b5c5c4878704858506e5b5b5c5e6a70585a48585058587e58707e5a5a5d405a585a585a525850505048547e585a585a48487168577e50505058587e5860585e484853297873405a5b5a5858525850585048545d485a58585258505c505857515b5c587e58707e5a5c5a5858525850585c492d5b5058587e585a7e5a585c5c5c7870505d577e50585d585c555a6058585258505050585876587e582b587e587e585c5c4878704858487b5a4f584b5a4b58725e6e75485c487d5c5e6e75485c76587e5b5b6d534c5b525850585058535b5b5e7670585b5a5d58725e6e75485c7e585b5b28487b4a4f584a585a484871685c514f5b6a534c5b5c5c547e58715a5d584b5b285058507e58707e5a5b5d405a585c5e6e75485c484c5b5d36584a585a5258505c5048585d485a585850585076587e71515b5c587e58707e5a5c5b767e5870585a5258505048484b6b577e50505d585c555a60585a525850585b5c587e58707e5a5c5a585a52585058505850487e6e5c76587e587e58707e5a585e6d5b58774c4836585c555a605853484a5b685358585458486a7e585a585a4a484b58487b5a4f584a7e5a585a58584848532978705c58487b5a4f584b5b485048535b6a534c5b50585848326e5f5b6a534c5b50585048755850555a6e6d5b6a534c5b50585c487d607e5a58584b58487b5a4f584a585b5c517a76587e5848766e5c5550584c48697e5c71585c5e6e75485c7e584b5b2a5058582b587e587e5b4a7e5a585a5c5850584f5b585d405a585a58585b5c587e585b5a7358486a7e5a5c5c48787048585a6e7e5850585b5b585b58775a60215b58412173585c5c487860505d5358587e5860585b577e50545058587e58295c547871586350585b5b5b5e767e587158635058575b5c5e7672585a58585a61585850585876587e58487e58575b5e514b5b5e514c555b7e587e585b58485a6e765850585876587e5848326e50555d48587e585a7e5a585b5d365871767e58586d5558485336506e5b5b5c5e6a70584a485850585c7e585b5d60584a5c58506e5b5b5c5e6a70587048585058535b5a5e767e585a7e5a5b5b5b2f5258505848485c2f5858587e585a7e5a5a5c5c5b567e58585058535b5c5e7672585a585b484b5b68535858557d6e5c5d7f605458484b5b6b507e5072585a585a50585848217e5c71585a5458484b5b6b507e5472585a585d4848716850585876587e48487c707e5a585a2958585c4c5c485853365872587e585a7e5a5a5a505855485858507e5f5b584c7a5c7f60585b484853615d485c7e585c5c5a567e585848485c5f484858555d585c555c5b7a585a605c5b5a60585d484b5b685358587e58725c487870485850585c555d48587e585a7e5a585b5d2f5871767e58586a53585a585850585c487e48545553585c5b7f605858525850585048507e585a585b577e50585058505c485a585a50585848757e5c76587e584b584858555a6e72585058587e584b5d21587e6a4b585a585850585c7e585a7e5a585a7e5a515b5c5a58586c3658485c5d7f60585855485858484a5b614b484b585872587e584a5c5d5872587e58705858507e5c765871587058584b365058585f50585c482f585c57584a585b525850485a60585b5258504c507e4f6b4a6e4b5850585c7e5860585a50585c765870484b5b5858785d5850555872587e584a7e5a4c5c5c584a5829585058507158585758505858705b5c4c57584a585d50584b5b584e6a70585e766d58585b5b5a727a5758586a7e584a585d5058487e584a7e5a535b5c5c585a585c4a48295b5058547e5b5e76715860585a50584b6b5048507e584a7e5a5f5a5c5f5a60585f5058547e58715b5a5e70585b50585c765871487e5874762b587148555a6e6a557d485c5b7f70585850585c7e5b512d7e5870585d7f776e7e5829507e705a505a50585f5a50507e705b512c215058575a36363636366e325d507e547e584c5536363636365d2d547058412d705b4c507e705a585d50584b327f5a505d48705a507f5a585b505853325058575a36363636366e325d7f5a505b48705a507f5d7a5d5a5a585850584f5a36363636366e325d50585f5a5050785c576e54585a29545b58412173585c5c487860505f5358587e5b4a585a577e505450584c7e5b5d405a5a5a585f50584f5b5d5e76484c705c5a5058587e584a585d50584c76587e7e486d485c71585a585a5c5f5c7e5b4c5c48787048585058585576485c5b5877215a485a58585c58755f5058507e584e6d5b5b4c71605d48587e584a585a5c52295b5058535b5b5e6a715b5a58585c582970587058585c58756850484c5a485857585872587e58706e58585a5c5850585c7e5b5c2157585a585848485b5450585b5b366e5b567a724c5c485a585b525850585058506a58585b515d48545550585f5b5b5e7671584a585a50584c7e58746d5b584c69685048505458486a5550585b5b585c6e7e585c5136585c2c605d485c7e58706e58585a585c5258505848485f6b4a6e295b5a60585d4848482b587e58555a2b295b58412173585c5e5858746a705b4a485850584b5b7e54585c7a4a585a505857547a724c5c485a585f50585f5b366e5f615058507e582b6a7058725e585870585a4840585a4a4a505b5e615b5e5e70585b4b484b585829587e585a585f4840585a5c5a767e58725e5858746a7058725136584c6a5758586a555058587e5b4a585a5c5a765550584f5b7e585368535858554c585c5b7f7e53585058575b6e585b615b5c587e584a585d484c5b686b4040715872505850485c5458486a7e58294c57585a585a5058566d507e4a5e50585f5b6e58587e582b6c6d705048715870585b50584a5e50485c555058587e584d7a5d585a58585058502a586e7e554f485c5a7f605458484b5b6b507e5072585a58585c5d4c5c485a5858525850585048547e585b5b205e70585d5c5b58555058587e584a7e5a5a5d405a5a5a585850585c69587e582a587e587e584c5c585c5d767e58725c58567e584950585c7e58725c49787158295058535b5c5e767258586a54585a585850585c487e48575b584154555a7e587e585c5e5c70485c4843586a54585a585850585c76587e582b587e58555d58587e585a585b55485858567e58585a6e76585058586d58586d5b5b2a40555d58587e585a585b5c496e5a48485f635a615c585058587e584a585b525850585258504c5c4854585a6e21585058587e585a7e5a585a7e5a5c5b5c5858586a53585a585850585c2b587e48555a48587e585a585b567e58555a6e765850585b5b36507e5b5c5e48552948725a5b51215c7f705458487f58587860505f5358587e5b5c55363636363636363636363621587e605c525872585a485a585b487e5f20507e6d5a7f285c7e587255363636363636363636363621587e60505350585c7e5a28786d7f5c505b7f4a5055486f363636363636362e3636366e5b4e50586d5a36363636363636366f363636585f5c7b4b484b585058575a584129705a2953364c7058525058547e5a28786d7f5c505b7f4a5055486f363636363636362e3636366e5b4c50586d5a36363636363636366f363636585f5c7b5d485c5550585f485058755a7e505a587e505a586e493636585f487e5a4c52587e505a587e505d58363621584c4b6d5f5b5c587e587252587e505a587e50587e715a5c5c50585c71586e6e5a5a60585d4c5a585248765a587e505a587e545d36366e5b4c5058695a7e505a587e505a586e493636585f5c7b4b484b5850584b5a7e505a587e505a58505048715b586e5a5a60585b5058755a7e505a587e505a586e49363658504e5c4c584b5848765a587e505a587e565d36366e587e5870585b5058565f5058507e5b504f5a7e505a587e505a587e505a587f2d4e5c4c5a505e5e605c5c487e587e584a585e5e605c5d5d5850555058547e5a7252587e505a587e505d583636215871404b485d485c7e584a5853715f585c485a585d5058685c487e5b4a5d48507e584a585d7e605c5d5058507e5b5054715b586e5a5a60585d5058685c4c5c4c57585a585b5048547e58705c5c5d585c555058547e584a585b5058574c5058727e5a75487e5a4a58524c4b6a705b616a715a70585c5058507e5b616a705a29553636363636363621367e605c535058507e5b5a58515e60505a48735a5069295136366e5f6150487e7e5a29506e70527d5b3636215b7a4a505e4b484b5850584f5b2d585b685058767e5a4a58525058727e5a4f58705b716d2c5058435b5b774a6d7f527a705b725c497861586f50584c69582b7e715a4a585f5248577e5048695b5c5a585e78605c5e5a60585b5058547e5b616a715860585a486f3636363636363663325d5048487e5a5c4c5c485a585f487d58587870585d5058487e5860585c50584b48507e7a7b7c4a5851484843296b416077507e7d5b5d2b6a4855295c4850587d6b50487e7e5b4a725d4e5a5c5c50584c6958285871586e6a7e5b5c505d7170585d48732b50715c52587e505a587e505a585b5048715b5a5853487e565e5058695a4940705c5048727e58705855714a5c5458772d7e5829505d7170505b5058407e5a5e6a705b294c57585b767e5b295136585c6a5c485c505850484b5a58486e5b5a60585f484c5b6b50585c7e5b5c5e58584a58517861586f50584f5b545e767e584a585c50587a487f5a585f5248542d5048487e5b4a725d545a585f5248575850584c695829705c487e5b4a6b4048555048507e5a4c52587e505a587e505a585b5048715a4a5852487e565e5048545a485a5854487e5b4d5b5c587e5860585a7f4a505b5058727e5b51297e5870585d4f682820507e4a5c4c584b58487e58715829505850484854586e6a7e5b5c5536363636363636363658284057584a585f484a5b6850585c7e5b5a585b5058487e5b5f58705b616d2c50587d5b5b774a6d7f527d5b5d5e6a705b61586f5058407e5b2b6a715b70585f524854765048487e5b4a725d505a5c5b5d585c555058507e582a6e70584a585a4f52297e5b5a58537f516e705b5c52587e505a587e505a585a5057485d48587e584c505b7e60585c4873325e50585f5a5840705c715a5c5b5058435b584e76715b70585c487e5e505048485550586d5a7e505a587e505a587e505a587f2d54715870585e487f3636584c2d5c485a585a48765a587e505a587e545d36366e5a5c50484b5a585a5c5d5d585c55484858715b6e53585058435b585c765c485a585e50487a5458486a7e5b4c5c487870585b5058487e5b725136585e76485560585f50585c7e5b5c5c5b5058436b5c516e7e5b4a725d585a585f5248544850584c695861705c487e5b4a6b404871584a585f524854505048485550585e7748487d61507e435b5b5c6c6d50584b5a4940407e584c505d7050487058416e705860585b4f52297e5b5c505d705c553636363636363621367e6058516b4c506e7176487e58764b215048485a485a585e48484b5e5b5c587e5b5a585d487e5e5d507e5c7e582a6e705860585b4f5228215048485458486a7e5b724c5758486a555058587e58637a5d585a58585058482a586e7e7e5b4c516e585e767258586a4b585a585850585c7e585a7e5a585a7e5a555b5c5a58586a6d585a585a4b484b5850585876587e487e584a7e5a5b5c40495a60585850585f5e5b5c5b5b5848215550585876587e487e584a7e5a5b5b5a2b584c4c55406e587e58707e5a5b5c5e6e58415c7058725c7e4b7e4b5850585c495a6e53585058535b5c5c7a57585853585872587e585a2958585a505a484a6d6b5d7e54585848585b5a60585848485f685d6e6a7e58725c6e4b60585b50585b6b484853507a7e29585058586d58585f5b5051535b32585b515d48587e585c5c5a78705c585a6058585a60405b58412173585c5c487860505b5358587e584c5c50787058585c5829487c707e5a585a5c5850585f5b5c5e7672585a58585a2a2d5a5877215b7f705458484b5b6b507e5472585a585858772d7e584c4c5c485c50585d585c555058547e584a585b484b2028507e536850585363507e526d487e587e58747a705872514b585e76485560585d5248545048765a587e505a587e545858714c5e7c7e585c7e58746c6d48735a5e7f5a585b48405a587e505b2d7a78285a5050785c5048487e5860725d58586a2a586e587e585a585c576e54505058575b5c5e767258586c5d5b585c5d7f60585a4840585c4d6e4b585058587e584a585a5c584c78505858495a605858505853685048545a485a585850585f63484857614b484b585872587e585c5c5d7a4c4c5c485a58585048505458486a7e58725c584d584b5850585871587e6e5b5a6058585048505d485a585a50585c6d5858582f5858587e584c5c5b78705c5b5058535b584e767058725c5d7a4c4c57584a585a505857535d4858555a6e53585058575b7f515c705b5c5158585c7257585a585a50584b5b485e76705b4c6a57585857585058507e584a7e5a585d405a585a585a50585c76587e482b587e487e5870585b52585050577e50505058507e584a7e5a5d5d405a5d5a585a50585c765871582b5871587e5870585b5258504c577e504c5058507e584a7e5a5e5d405a5e5a585a50585c7658716e2b58716e7e5870585b5258507e577e507e5058507e584a7e5a535d405a535a585a50585c7658707e2b58707e7e5870585b5258506a577e506a5058507e584a7e5a545d405a545a585a50585c765873482b5873487e5870585b5258502d577e502d5058507e584a7e5a495d405a495a585b484c5b6b50485c7e58725f587860505a50584f575d4858555a60585a50584b495d485c5d485a585a50585c76587e582b587e587e584c5c5c78705c5b5058535b5b5e76705870585c4a4829585a6e6e5b5a60585d48484b535b5c587e585a5c5a5d585c555058587e58295c5c7860505c4a6e4b5850585871587e6e5b5a6058585048505d485a585a50585c6d5858582f5858587e5870585b5548585b567e585b5058507e584a2958587376585870585a50585c6d5858542f5858547e584c5c5c78705c5b5058535b5b5e76705870585c4d4829585a6e6a7e5870585d4a484b585829587e5870585b55485858567e585850585f5b584e7671584a585a48485f68507e507e58297a5758586a55505858555b6e587e585c5c50787e6a7758485f365058535b585c2d5c7f605858525850505058535b366e5f6148485f297870215b585a585b7a4c5c584b6e4c7e586e6a555a7e587e585c5c6e78295c524a486f60587e505a7f6e5f325872587e58724c57585a585850585c2f5858587e585a585a7870505d48485f6b50585c2f5858587e58725c5d4a4829585058587e584d76585870585850585c2f58585c7e58295c5d7860585b567e58585058575b58746a7e584d7658585a585a48487d535d48587e585a585b567e585d5058575b5b5e6a7e584d7658585a585a484875535d48587e585c5c5850585b6b48485761507e4b68507e547e584c513658415f5b7e40525c5a5e6e70584d405a585a585d5058507e5b5e6d5b7f515c705b5e767058725c5c7860585b577e505850584b5b5a4c7257585a585d50585c2b587e7e7e5860585b577e505c5058535b5a5e6a7e584d405a585a585a4848616b50585c2b587e587e5b5c5c434a4829585058547e584d405a5e5a585d50585c2b5871487e5860585b577e50485058547e584d405a5d5a585a484b5b6b50585c2b587e587e58725c4c7860585b577e50585058535b5e5e6a7e584d405a585a585a484b616b50585c2b587e587e5b5a585d48484b61484b7160507e4b6b507e535b505c7257585a585b6b4c525b7e505a585c512d715b4a585d50584b6850485c5d485a585b50584c2a58617e7e584a585f576e544850585c7e5b4d7a5d5a5a585b50584c2a586e587e584c5c7e78705c5b5058535b505e6a7058725c7f4a6e29585a6e6a7e58586a2a58485336506e5b5b5c5e6a70587048585829587e584c5c5d4b6e4b585058587e584c5c5a7d5e695b585d405a585a585b48485f6850485c5458486a555058535b5c5e7672585a58585a6e21585058587e585a7e5a585a7e5a5d5b5c5858586a51585a58585c58755f5a615c585058587e584a585b525850585258507a5c4854585a615c585058587e584a585b52585058525850405c4854585a6158585058587e584c5e587e505a587c51502b587e7e555a48587e585a585b577e50585a6154585058587e584a585a50585876587e5876587e6e4b5b5858555b585b5b58586a48585a58585258505c50585876587e5b6b484853285a61505850585876587e587058584b5850585848294850785a6e6a4b585a585850585c76587e58482948502b587e587e58586d5b58485f365058587e584d7a5d7a5a58585058587658706e7e585a7e5a5b5a505a782f6e2a582a7e7e585a585b4c5a585852585050507e587e58746c6a50585f417a7e4b365058585f5058507e58787d685a63405a78586a7058485f36506e5b5b5c5e6a70587048585058587e584a585b5c53505b5c49405b5058535b5c5e7672585a58585a6158585058505c485a585850585c7e58715b5a5e7e6a5577485c5b5b512173585c5c48786050515358585a485a58584b48295850584876587e6e715b70585a50585f6b507e715b585c765c485a585850585c7e5a5b5b36505871515d485c555058407e5860585b7860505b78295c5850585c7e5b727e7b507e5f5b585c765c485a585850587a7e584a585f5c56215b507e4c485d4a585b5c5121715b70585f5c58767850585c7e5b727a5758486a7e5860585a7860505b48485b525b5c587e585a585a50585c487f60585b4b6e295b5a60585c5c562d5b505858715a486a7e5b295c4878704858505872554f485c5a7f605458484b5b6b507e5072585a58585c5d4c5c485a5858525850585048547e585b5b205e70585d5c5b58555058587e584a7e5a5a5d405a5a5a585850585c69587e582a587e587e584c5c585c5d767e58725c58577e505450585c7e58725c54787158635058535b5c5e767258586c2158485c5d7f605458484b5b6b507e4c72585a585f50585c2b587e715b585a5c5b484840715b7e53585872587e585a585f484871685c5a7e57585c5c5c5048407e58295e585c5a58585c5a5c705b615b564b4829585058547e5b615a51584a5c5b5829585a485a58585c5a4c7850585f5b545e6a71584a585850584f5b5a5e764857724c7e5b5c5c5a4a515057585a585d4840584850585848504a505e5c5c2c5f5d48547e5b5c5c5b78605c5c5058547e5b715a51584a585b4848696a78705c5b5d585c555a295c5a5048407e585a585f484871685c5a715f5d485c555058507e58707e5a585a585e7a73405a58586a7e5b4c5c487870485850585c556f585c5b582a2173585c5c487860505f5358587e5b4a585b577e505048485871584c5c5e5048405a485853585058587e5b4c5c50787158745d485b5b5b5a5c5e5058575b7e5b587e585b587f507e7a484b5c4c57585a585d50587a4870585c71584857585872587e585b58705e70585b484d5b6b50485c7e585a585f484871685c5d5f5f50584b5b587271605d48587e58295e585c5a58585c5b21705b715b5c4b48295d50584b5b584e6a715b5a585d5058404870585c7e584c5c527b5e767158486e5b5a6e6d5b58705c5e5058587e5b4c5c50787158744b48295b5a60585a50585076587e587e5b77502b587e585550584f5b5c5e7672585a585b5a2c765b58485736506e5b5b5c5e6a705b5a48585058487e584d405a5d5a585c5058542b587e7e7e5b5a585c484861685c5f50715b70585c5258505050485473585c5c487860505b5358587e584a585d577e505450585c7e5863405a5a5c5f3650484c5a485c5c584848587e5870585d5c554c5b507e575b585c7e57585a58585058575b584e767058615843507e582b587e587e585c4c57585a58585058547e5870585b525850545c554c5b50484c5550585f5b5c5e7672585a585f5048587e5b715b4b50584b5b5c5e7672585a58585a6e295850585876587e587e584a7e5a585c7a55557e585a485a58585258505c487a76587a4a50585b5c587e585c5158585c405c485c5c505d6e6a7e585c5c504b6e295b484b58495a295c585d6e6d5b5a7e6f2c5848505d7f7e5336506e5b5b5c5e6a705b4a485858772d7e587b2970582955363636363636363636363621587e60505a48765a587e505a587e5058507f4c553636363636363636362e3621584e584b585058535a495040715b5a585a487e4a5048765a587e505a587e505a5849516e5458486a7e587252587e505a587e505a58324921584e7e4b585058575a495040715b5a585d487e4a5048765a587e505a587e545d36366e5a5c5d585c55505853485b5c5b5a58586e5b5a60585f5058535a585a585d692b7d5b505e767e5872507e70527d775058535a7e505a587e5b5b4c5e60505e484d5f685c5a217e5b4a725d585a5c5c50584c69586e715a7e505a587e505a586e585a5f4840632d585a585e782f285a5450785c5a605c5a5058587e5b5d7a5d585a58585058507e582952587e505a587e505a587e505b367e2d482a586e7e7e5b4c5c48787048585a6e7a585058587e584c4055546e5c5b7f60585848485c7e585b6a71585853585829587e585b5843507e5c57584c5e40756e5c76587e587058484b5850585c4b5d6e585458486a555c5858585a60585b5a21485d58485736506e5b5b505e6a705a5a485850587e7e5873405a5c5a585050585c2b58717e7e5a5c5c507870505b505854485d60585b5c5d6a715a4a585b5c582d7e5b5c5c58577e505848485871587e53585829587e5b7058514b70585a7a7e295b5872587e5a5c5c4078705850484b5b685c5a7e57585853585058727e5b707e5a585b5a51584c5c754b7e4b585058435b5b5e7670587058514b7e295a484858715a7e53365058727e58707e5a585b5a51584a505b487a4c584b70585b487f215b7a4c5c6e4b77535f5b5c587e5b705c5a50585c5458486a7e5b725c50787058514b7e295d50585c715a70585350584076587e7e48716e5c5550485c7e5a5a585850587e7658717e7e5a5a7e5a5c5a585d5058487e5b4a585b5058767e585a7e5a585a7e5a535b5c54585d405a5e5a585a484871685048405458486a7e5a4c5e586e58587e5b707e5a585b5b565b5c585d4858535850587a7e5b725c5c7870505e4b7e4b5850587a715b7e6e5b5a60585348405d58585a585e525850585c5c2d5758486a555829587e5a5c5c4078705850484b5b685c5d435f5d48507e5a4c5e586e58587e5a5c5c40787158715c5c2c5f5d48507e5a5c5c40787158755e7e6e585a6e58555058727e5a5c5c40787158715c5a727e5a4a585e525850585c5a755e5b5c587e5b725c5c78705c5e5058715b5e5e7648534b765458486a7e5b5c5c5c577e50585a60585c525850585048505458486a5550584b5b5b5d405a58586a7e5a5c5c4078705850484b5b685c5a7e5c485a585c50584876587e5b5b5877502b587e585550587e7658717e71585a5850484a5b685358587e58586f5e586e5c5d7f605458484a5b6b507e7e72585a58505058502b5871587e5a5a585b577e50405058715b5a5e7670584a585d5c58217e584b58605048727e584b585650584b5b585d405a585c5c585048505a485857585058407e5b29407e58775057584853585058715b5e5e767e5a5c5c48787158745d48585a485a58535058406a5858584870585f5b534c405c485a585e48485f68507e507e5b29405758725c585048765a7f6058535058506a5858584870585c70584c515f585c407e584c513658415f5b545c43604b484b58505840715870585b5d585c555058435b5874767e5b2940575860585b5048767e5a4a585e5558585a5c507e5b5a605c5b50587e7e585a58505258504050587e765871587e5860585c50584c7e584a585250585876587e58765870484b5d58582b58717e7e58725c5a78705c5e5d585c555058755b7e5458585058406a585858484b584b585829585a485a58515058435b584e76705b72405c485a58515048405458486a7e5a4c5e586e58587e5b706e58585b5b5c5d485c555a6e57585058715b5e5e767e5a5c5c48787158614b48295a5058755b7e5458585058715b5e5e764851615b5c4b48295a5058715b5e5e76485071765458586a585a6058535058715b5e5e764851615a63584a58535058406a585858486a6e5f5e5b5c587e5b725c5b78705c5e5058715b5e5e76485071765458486a7e5b5c5c5c577e50585a60585c525850585048505458486a5550584b5b5b5d405a58586a7e5a5c5c4078705850484b5b685c5a405c485a585c50584876587e5b5b5877502b587e585550587e7658717e71585a5850484a5b685358587e58586c6858485c5c7f605458484b5b6b507e7e725858535850585b5f5d48587e5b5a7e5a5d5a5c5e5058507e584e6a705b295c584a7e4b585058587e584a585148485328507e7a487f6058514b6e295b5a60585e5058547e584e6d5b58774c70584e6d5b585a585b505843505e60505b48485b525b5c587e585a585050585c7e5b4b5a2e5870505f5c58297e584b5b365048407e5b4b58525e70585b505843515d485c555058547e58746a70584c5c584a7e4b585058587e5870585b48485328507e5c487f60585b4b6e295b5a60585c5c562d5b505858715a486a7e5a5c5c4878704858505872555f7e587e585a585b5058507e58605858525850585258506e5c486a585e7e6d5a58485f3650585876587e58715870585b5c5b7671585a585a48487168507e5c484c5a58584a6e4b3650585c7e585b5b2a5258505848485b515b4c5c585a294c5c485b584158586a7e58725c50787058585c517a76587e58555a58587e585c513658415c555b58587e58586a49585a585850585876587e58765870484b585858555c48587e585a585b50585c76587e58765870584b586e58555c48587e585a585b50585c76587e587658706e4b586e58555d58587e585c5e5a7176587e577e58585a6e7a58505858485c4b7655557e5c5b7f605458484b5b6b507e5c72585a585b48487168505858485d4a58585c58755b58774b685c517676587e5871585a585b484b5b685358587e58586c6858485c5b7f6e53585058575b7e5b5b614b4829585058535f5058575b607e5b61507e4b5b5a5c407e5b5c5158585c43607a7e295850585b5b52637658585a585848485f68504858555058575b7e584b615b5c587e585c5c73567e585850585b5b584e767158586a5d485a585b55485858507e485c485a58585058482f5858587e585c5c5b78705c5850585f5b584e767158486e5b5a6e6a7e58585336487c21585058575b607e5b61507e5f5b6e585b5e5d485878487d7e58487f7e585058575b7e50585b7a4b6a7e584c5c504b7e29585e725172585c5128585a585a5e6e6a2f58585855526e5c5b7f605458484b5b6b507e5c72585a585b48487168505858485d4a58585c5875685c517676587e5871585a585b484b5b685358587e58586a4e585a585850585c7e5870585d50585876587e58765870584b5a6e58785a61585850585b5b505c407e585c5c5378295c5f4a415055577e587e587e4b365058505c485857585058587e584a7e5a585d405a585a585848484b685048587e584c5c5c78705c5b5058535b584e6a70587e29585a6e6d5b58584c7e58586a785a28505b5877205b2150585b52585058507e5c7e585c5c5d78725f217a4a505a78705c585872587e58725c585058587e584c297b5d48587e585d2158484b5b294a6e4b58505858485b5c4c5758486d5b2150585b5058582b587e587e58482155487d4a5b584c5c6e577e5058484121555c7e587e585b5b5d5258505850585876587e5b6b484853285a6e7a5850585b5b5c5e765557485c5b7f605458484b5b6b507e5072585a585a50585876587e582b587e6e7e585a585b52585058577e505850585c7e58725c5478707e5a585d405a585a585a484b5b685358585553585c5a7f605458484b5b6b507e5072585a585850585c4821485c715860585a484b5b685358587e584a58585058547b5a6e295850585876587e587e584c5c5a7d5e76555f7e587e585b58285b5c587e585a585b5c5d72495a60585850585c48567e6a6a585853585058587e584c4057585857585058587e584c5c5b7860505b4d6e295b5058587e584b5a6e5870585848485f685048585458586a585a6e6a55585a585850585c2b587e587e58586f7b5848505b7f6e533248485c715b58535850585b5a585f507e584c55363636363636363636363621587e60505f48765a587e505a587e545d36366e5b4e50584f5a7e505a587e505a586e493636585f5c7b5d48587e587250584c70585d486f36363636363636363636366e5a5d507e435a7e505a587e505a586e493636585f407e5b7252587e505a587e505d58363621584c4b6a57585a58585058525c50584c7e5b764a5c4c584b58484858495a60585b5058565d487e5b435b5c5b5b7f605c5c5058587e5875487e584a585d4c60585b5058574b5e6e295b5058587e58764c7e584a585d71404b5a585f50495a295f365048487e585a585a4f70585b5058574f50585c7e58285c7b5d48587e585a585a714a585b5058565f715c50584c705c5c5a60585c5a28585b58412d5a485a585d487a58587a484b585058507e58295f5878682b5050485f5a585a5c5a5d585c555058575f5d48587e58725158585a585d782f2b5e50585c7e582f29705b50705c50485c7e5870585c705a5c5a5a60585850585c2a586e587e585a585a576e54505a6e2d5850585876587e715b36363636366e7d615a6e7658505858482d485c78505858555c6e587e585a585b5058507e585a7e5a585a7e5a545b5c5c58586a74585a5858505858765871715f505858765871587e58415360507e5c2b5871587e585a7e5a5f5a585b7a484b585c5b7a585a6e6a53585a585850585c4836485c555358587e585c5c5a4d6e4b3650585b5b5b5e695b7f515c70585a585848485f6b507e587e585c5c5a4b716a5f48485c555a6e7a5850585b5b5d5e765575485c5b5b412173585c5c487860505f5358587e584b5d4d58705c5a506e5b5b5c5e6a70586048585872587e5872516f363636365829295c485853585058535b584c295c485a585850585048567058585048485458486a7e585a5858505850487e7e5f5b584e76705b715a5b584a505c5c5c297e585a585e5c5c6e7e585a585a5c5d72555058487e584a585a5c515c7e58295c58577e50545058487e58725c5a7d5e767e58295c54787158635058575b5c5e767258586e5b5a61584158586a7e5b4c5c48787048585a6e21585058584848607e5a585a585852585058786e6f5c58485c5e7f605458484b5b6b507e4872585a58585c53405b5258505850484c5a7f60585a5258505850585876587e5b6b507e575b36363636366e7d535b5c587e58295c5b7d586e5b5a295f365a60505d4848487e58616a715860585b525850585048407e585a7e5a585a5c5150584f5b5772405c7f295c585b4a5858525850585a60585d5c532d5b507e7e5c485a585f484d43515b5c587e585b5a74584b765550584b5b574d405a5b5a585850584b5b5a5e767e5a5a585c48484b685c5b2d705b4b5a755870585f5c5b297e584a5858525850585058407e5b2b6d68577e50585058507e585a7e5a585a585d484161617873405a585a585c484b5b68535858495a61584158586a4d585a585850585f5b585a585852585058525850295c4848585a6154585058587e584c5c5850585876587e58765870484b5b5858555d48587e585a7e5a5b5a585852585058786e6d5d58485f3650585b5b6b5a4076587e5870584d405a585a585850585f5b5d5e6a76587e5b68487a6e7452585058577e505850585b5b295a4076587e582b587e7e7e585c5c5478715d48584b767e585c5f5878615b325e7058585a36505a58485336506e5b5b5c5e6a705a7048585058767e585d405a5d5853585872585a485a585d52585058505853515d485b5b52605c555058587e5a4a7e5a405c7a5c485c5c6d50486a7e5a4a7e5a435a58584b6e295b5a60585d5058535b584e762b587e587e58705855567e58585d585c55505840485a4c4c7e585a585f4b2a535f5b5c5b5b585a5c5850587e76587e5870584a585178295e7f584c76575870585c525850585048587e5a5a585b48484b68577e505850585c7e585d405a58586e5b5a295f365048587e5a4a5853487c7e5878705852484861685c57505b5058756b507e435b2a585b525d485c7e5b725c5a7d4a5c5f5872585a4858535850585f5b5a5e6a56586e585a58585c5550585c7e5b4c765758486e5d5a60585b484b5b515058435b2b585b507a7e295850585476587e5870584a585a4b70585b5058536b484853527a7e295a50585f5b584e6a6d58585b5b545c7a5758725c585048587e5b5c5c58577e50585058547e584c5c5b7873405a585a585b50584f5b2d57585878702958585d765858586e5a5a60585d50585476587e5870585c5c5b7873405a585a585850584f5b2d57585878702958585d7658585a585c50584876587e5b5b584e762b587e5b5b585a5c585d585c5548485871585a585c4848582b587e58555058695b5c5e7672585a58585a6e765850585b5b6d50725b5c5e48552e7e505b582a2173585c5c48786050525358587e5a705858567e58495872585a4858535850585476587e587e58727a57585c5c6b50486a7e585c513658415c705d5a5853554858404b6e4b58484a29715a60585355485843505861515d485c555058547e58725c5b7873405a585a585a50586a2f5858585458486a7e5b7158534b4a585850584f517a724c5c485c5c585048587e5a5a7e5a585a505b50587d6b4843215b4a7e295a50584876587e5871585a585050585f5b5b5e762b587e587e584a5858577e50585d585c5548412171585a58535058755b5e74767e5a725c4978715d4f584a58537860505f484b7d525d485c5a485853585872587e584c5c50786e2d5d5858505858486a7e584a585f4a7e295b5d58545550585f5b5c5c7a7e5b4c5c4e4a515057585a585d52585058507e5c7e5872407e584a585a78295c5a4a7750575870585b48485f6b55485858484d5b515d48535b585a5c5850584b5b585d405a585a585d50585f5b584e762b587e587e584a585f487c5d48585e766d5858582f58585854587e6a7e5860585d52585058507e5b5b584e762b587e587e585a585f487c5d48585e766d5858582f5858587e5b5a585c5258505848485f68577e50584848587158586e5b5a295c585048587e5b5c5c58577e50585a605852484b5b685358587e58586a52585a585848786053584b5b725a2d545b587e573658412d5a485a585848765a587e5058484f584b58505858715b486e5b5a6e575850585f5b584e6a70584a585850585b5a5a7658705b4c50527f772b77484d5b60567e585850585b5a36363636362c215b4f705c5a50584c71585a585a5d4858555a60585f6960505a5b5c585d485a585b48485f6b507e5c7e5870585a4848696c507e575b5a74616b484d5b60567e58585058535b5a4c6a715b5a585d5048507e5b5829585a6e6a7e58486d73587e5f3658412d73585c5c487860505a5358587e5858533250585f5f5b5c5b5a58586e5b5a60585a50585e6d487e587e584e7a70584c514b585e76485560585a5248545048765a587e505a587e545858714c5e7c7e585c7e584e6c6d48735a5e7f5a5c5d50585069586e5855576e54585058587e58637a5d5a5a585a484b5b68535858555358587e585c5c554d6e4b3650585b5b5c5e695b7a515c70585a585848485f6b507e587e585c5c554b716a5f484876555a2a215b582a217e585a5c5b5872587e585c5c5d7a484b585829587e584a2958585c4c575870585b48485f68507e5f5b582a5c5758586a555829587e584a505a48484b6850485c7e58707e5a585a505d484120635058575b7e40525c5a5e6d6148405a5b7e764b2d7a4c4c5758586a7e5829513658415f5f5b5c587e58705858786e21555829587e58702958584a5c5d5058535b584e7670584a5c5a5058545758586a5550585c7e585e6a555248587e585a585b4848712948405a5836587d6150585f5b5e514b6050585f5b5a51435b7e492d5d7a4a585b484b712b7a77502b585858555248587e585a7e58585a5058484b712950585b5b5a514b5b7e505d215b2a5f6050585b5b5a51435b7e492d5d7a4a5858484b712b7a7750555d6e587e585a58585258505848484b68577e50585a6e7a5850585b5b5b5e76555d6e587e585a58585258505848485f68577e50585a637a5b58772173585c5c487860505d5358587e58295c507870505c50585c485d60585a5058484873585c70584b582d577e50585058587e584b582a505848485d70585d484b5b685358585557485c5a7f605458484b5b6b507e5072585a585a48487168507e547e585b5849505854485629517e29585b5b326d585850585c484060585d5c582d7e58725c487870485850585c55576e5c5a7f605458484b5b6b507e5472585a585d48487168507e487e584b58495058507e5b5b5a56584a505b5c5d7e2f5858587e585a585b5c5d7a7e5b5b58565058575b5c5e767258586a41585a58585058542b5871587e585a585a577e50545058587e584d405a5a586a52585a5858484b7129484b71285a2950585058587e585a7e5a585a585b525850587a63405a585a585850585876587e487e584a7e5a5b51542b587e487e585a58585258505050585c76587e7163577e50505058587e585a7e5a5d5a585b525850547a63405a5d586c7a5a585c557f6058584b484b5850585c485e48215550585f5b485c215c485c514c7e485f5b545d405a585c5c585d6e6a5a7f295c4850585f5b5a2b695b7c515c7e584c5c554a4b6a715b7058584848716b507e4c76587e48705a4c5f2d7a4a5c5c5872587e5a4c5c5d7a4c4c5c485c5c585058435b7e5853535d4850785058435b5b5e767e5b5c295c485a585f5048507e5b5a585e78295e2d71485c76587e5b5b58414b575d48505548485854587e6a7e5b5a585f78705c515872587e5b5a585e4d6e4b585058487e5b746a7058295c484a48295b50584c7e5a4c5c5b7a4a585e7a725c5a7a73405a5b5a585f50584368507e507e58295c5d7a73405a5b5a585150587a76587e4b5b5841502b587e487e5870585d5c566e5b5d585c5550587d5b21505c5b525850584b7e4b58487c4a5b584a7e5a585a585c7870505c505843575d48507e5b4a585348485f615058436048485360577e505c50584c7e5b7476705860585c5058436b507e535b5841502b587e4b5b2c505c5b5058502b587e5b5b21505c5b5058542b587e585458486a7e5b29516a7e485c76587e5b5e5b5c5b5b2d505c5b5258505850584b68507e547e5b727257587e53585058547e5b746a7058725c484d6e4b5850584c7e5a4c5c5b7a4a585e7a725c5a7a73405a5b5a585f50584368507e487e58725c5b7a73405a5b5a585d50584f68507e547e5873405a585a585d50585476587e4b5b7f775c2b587e485458486a7e5b4a585348485f615058576048485360577e505c5058547e5b4e76705870585a5258505c48485f60577e505c4848587158725c5850484855487c605b584a585c577e5058487c5a5b584a585a577e50585d585c5550587a76587e487058295c5a7a48295b5058575b7c515c7e5b5e76705a70585e4a48295b5058767e5b746a715d5853585058575b366e5f575b5c587e5b607e5a5a5a505c5058575b582a407058725c5d7d5c5e587e7e5f684b71767e5b5a585152585054507e575e5b5c5b5b2b505c5b487d705b584a7e5a585c5f325058532a7a4d405a58586e5a5a60585c5058542b587e6e7e5860585c577e50505d585c5550587a7658717e715a6e535850587a7e5b607e5a5d5a50504b6e4b5850587a76587e7e70587251767e485c76587e5b535e70585a50587e2b587e6e7e5a5a585a577e50505d585c555872587e5b295c4c7870505c52585058507e5057585a5851484b5b68507e4876587e5870587e2958484858715a586e5b5a6e5758505848715860585a507e715b5f5e76705b5a7e5a585a505a5d48587e5a5c5c4878705c5c50587e7658715870587e29585a60585d4848582b587e585550586d5f5d48585a485a585150587a7658716e7058295c5a7d5c5e5071585f68507e5076587e5b5e5b5c587e58705850577e505850587e57584c517a7e485f5b2a505c5b5258505848412d7e582a7d61577e50585d58505550586d5b5c5c5c4c50586a765871587e5b29407b78705850577e50585058715f5d485c5550587e7e5a63405a5e5a585152585048507e505c485a58505058502b5871587e58705850577e50405a6058515258504c507e535f5d48587e5a5a585a577e504c5058507e5a5d405a5e586a7e5d5c5c494d484b5850584c7e5a4c5c5b7a4a58527a725c5a7a73405a5b5a585f50586968507e507e58707e5a5b5c5c5b7a73405a5b586e5b5a60585f5058755b58415c7e5b77535b5877502b587e487e5b4a585e7870505d5058615b582a502b587e487e5b4a58527870505a50585076587e4b5b5841502b587e487e586058545c566e5b5a60585f5048505550585055507e505c485a585a484871685d6e6a7e584b5843507e4f5f5b5c5b5b5858215550584c7e585c5f2148417e7e585c5c5c78607e5a585a505a484857615e60585a484171617870505a50585c7e584a585a4a616a484871767e585b584850584c557f485c5d7f295c405048505a485853585058587e5841535b582a5c575858575850585876587e587e584a7e5a585c7a57584a585b48484b6850485c7e585c5c5c78705c585058535b5b5e6a7058725c5d4a6e29585a60585a4b48295b5a6e57585058586d585858705860585b55485858507e4b5e5b5c587e584c5c5b78705c5b50585b5b584e7671585a585a48485f6b507e505758486e5a5a6e6a7e5860585c786e2155484858554a485c5a7f6058585258505c507e435b5a514c715b4a585e48485f615b5c587e58707e5a585a585f5c544c5b50484c5550585876587e5870585a585b5058507e5b4e767e58295c5a5058435b58775c7b5058487e585a7e5a585a7e5a5e5b5c5258586c2b58485c5d7f605458484b5b6b507e5472585a585d50585c2f5858215a485853585872585a485a58585c5d4c5c485a58585c512971584a58585258505c507e487e584c5c5b7860505a4b7e295b5d585455484876715b5c5c525048507e585a29585a60505b484869515d485c555058587e58725c5b5058507e58715d50584a585c50485c7e585b58285d485c55505858715870585850585f5b584e7648567e6e5b5a605858525850585048507e585a585c48485f685c5d727e5b5a5c5b5a60585b50585368507e587e58295c49787158295058575b585d76585d70585848485f685058575b5d747648575a585d484b5b685358585553585c5a7f605458484b5b6b507e5072585a585b5058584821485c715860585a484b5b685358587e584a58585058547b5a61295850585b5b5b5e7648727e535b7f29405c485a585850585876587e5876587e7e4b584858555a6048585058584832485c71585a585b5c49725b50585b6b507e5c5c485a585a5058587e584b5d6858486a7e584a585a787e6a4b585a585850585c7e584a7e5a585a7e5a525b5c5d58586a4c58485f3650585876587e5871584a58584848582b587e587e58486c6b55585c4b7f6058585258556e584a5c4a50585876587e487e584a7e585b5a505c484b712950584b5b5a514b5b7e505d215b2a5f6050584b5b5a51435b7e492d5d7a4a585c484b712b7a775363507e4b5b5d77435b36587d614840585078707e5a585c5c505c587e715b7058585258505050585c7658587e705b4c5c407d5a585f4848712948405a5836587d617a70585f4848712b48405d32582a5c7e5b4c5c407d7753607a60505f4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b585050487e7e585a7e5a5d5a585b52585854507e575b5e51487e58295c507d5c5e587e496e517a41507e58295c507d725e58367e57615058575b5e5143607a7754705829513658415f5b58774b5b7e58716852585058484b7e485a5a5c5150584f5b5d77435b36587d614840585078707e5a585c5c505c587e715a4a585d4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58505048767e585a7e5a585a585b52585858507e5f5b5e51487e584c5c507d5c5e587e496e517a41507e584c5c507d725e58367e576150585f5b5e5143607a775470584c513658415f5b58774b5b7e58716852585058484b7e485a5a5c555058575b5d77435b36587d614840585078707e5a585c5c505c587e715d5a585b4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58505048297e5b5c513658415f5b58774b5b7e58716852585058484b7e485a5a5c5650585f5b5d77435b36587d614840585078707e5a585c5c505c587e715d60585c4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b5850504b587e5b4c513658415f5b58774b5b7e58716852585058484b7e485a5a5c4b505858765871487e5a6058525058727e5b5c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505c48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048727e585a7e5a5e5a58565058297e5d5a585f484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e4f5b5b77435b36587d614840585078707e5a585c5c485c587e715a7058585258507a505b5c7e5c5a58495058575b5f77435b36587d614840585078707e5a585157637a2a54705829513658415f5b58774b5b7e58716852585058484b7e485a5a5c5550584f5b5d77435b36587d614840585078707e5a585c5c505c587e715d5a585d4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58505048297e585a7e5a5c5a585150587e7e5b70585b484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e5f5b366e5f61484853294840585078707e5a585c5c405c587e715b70585d48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b585050487e7e584c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c5150584b5b366e5f61484853294840585078707e5a585c5c405c587e715d70585b48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048217e5b5c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c4850584f5b366e5f61484853294840585078707e5a585c5c405c587e715c4a5858525850725058407e5d4a585450584b5b5f77435b36587d614840585078707e5a585157637a2a54705b5c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c5e5058587658707e7e5d70585150587e7e5b4c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505f4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b585050487e7e585a7e5a555a584b505b587e5d60585d484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e575b366e5f61484853294840585078707e5a585c5c405c587e715b60585f48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b585050486e7e58295c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c57505858765870587e5a6058525058727e584c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505b487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b58505048727e58295c567d7251215b2a5f5b7e5871685258505848487e485a5a5c5250585f5b5b77435b36587d614840585078707e5a585c5c485c587e715a60585c487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b585050482d7e584c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c4950584b5b5b77435b36587d614840585078707e5a585c5c485c587e715c5a585f487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b5850504b5c7e585a7e5a575a58535058297e5d5a585c484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e4b5b5d77435b36587d614840585078707e5a585c5c505c587e715a4a58585258502d50582d7e5a60585250584f5b5f77435b36587d614840585078707e5a585157637a2a54705b4c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c525058587658736e7e5c4a58485058217e58295c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505d487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b585050486a7e5b4c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c545058575b5b77435b36587d614840585078707e5a585c5c485c587e715d4a58585258506e50587a7e5a5a585e50585f5b5f77435b36587d614840585078707e5a585157637a2a5470584c513658415f5b58774b5b7e58716852585058484b7e485a5a5c5e5058575b5d77435b36587d614840585078707e5a585c5c505c587e715a5a585b4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b585050487a7e5b5c513658415f5b58774b5b7e58716852585058484b7e485a5a5c5650585f5b5d77435b36587d614840585078707e5a585c5c505c587e715d60585c4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b5850504b587e5b4c513658415f5b58774b5b7e58716852585058484b7e485a5a5c4b505858765872487e5b70585750586e7e5b5c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505c48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048407e585a7e5a4a5a585650587a7e5a5a585f484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e4f5b5b77435b36587d614840585078707e5a585c5c485c587e715a5a585852585354505b5c7e5c5a58495058575b5f77435b36587d614840585078707e5a585157637a2a54705829513658415f5b58774b5b7e58716852585058484b7e485a5a5c5150584f5b5d77435b36587d614840585078707e5a585c5c505c587e715d5a585d4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58505048297e585a7e5a485a58555058767e5a4a585b484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e5f5b366e5f61484853294840585078707e5a585c5c405c587e715a4a585d48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048767e584c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c5550584b5b366e5f61484853294840585078707e5a585c5c405c587e715d70585b48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048217e5b5c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c4850584f5b366e5f61484853294840585078707e5a585c5c405c587e715c4a58585258534c5058727e5d4a585450584b5b5f77435b36587d614840585078707e5a585157637a2a54705b5c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c535058587658757e7e5d7058555058767e5b4c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505f4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58505048767e585a7e5a415a584b505b587e5d60585d484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e575b366e5f61484853294840585078707e5a585c5c405c587e715a60585f48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b585050486e7e58295c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c57505858765875587e5b6058505058407e584c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505b487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b58505048407e58295c567d7251215b2a5f5b7e5871685258505848487e485a5a5c5050585f5b5b77435b36587d614840585078707e5a585c5c485c587e715b60585c487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b585050482d7e584c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c4950584b5b5b77435b36587d614840585078707e5a585c5c485c587e715c5a585f487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b5850504b5c7e585a7e5a435a585e5058297e5d5a585c484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e4b5b5d77435b36587d614840585078707e5a585c5c505c587e715b7058585258537650582d7e5b60585050584f5b5f77435b36587d614840585078707e5a585157637a2a54705b4c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c505058587658746e7e5c4a58485058217e58295c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505d487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b585050487a7e5b4c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c545058575b5b77435b36587d614840585078707e5a585c5c485c587e715d4a58585258537e50586a7e5a70585350585f5b5f77435b36587d614840585078707e5a585157637a2a5470584c513658415f5b58774b5b7e58716852585058484b7e485a5a5c535058575b5d77435b36587d614840585078707e5a585c5c505c587e715a70585b4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b585050486a7e5b5c513658415f5b58774b5b7e58716852585058484b7e485a5a5c5650585f5b5d77435b36587d614840585078707e5a585c5c505c587e715d60585c4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b5850504b587e5b4c513658415f5b58774b5b7e58716852585058484b7e485a5a5c4b505858765877487e5a4a585750586e7e5b5c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505c48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048727e585a7e5a7c5a585650586a7e5a70585f484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e4f5b5b77435b36587d614840585078707e5a585c5c485c587e715a70585852585321505b5c7e5c5a58495058575b5f77435b36587d614840585078707e5a585157637a2a54705829513658415f5b58774b5b7e58716852585058484b7e485a5a5c5550584f5b5d77435b36587d614840585078707e5a585c5c505c587e715d5a585d4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58505048297e585a7e5a7a5a585150587e7e5b70585b484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e5f5b366e5f61484853294840585078707e5a585c5c405c587e715b70585d48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b585050487a7e584c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c5650584b5b366e5f61484853294840585078707e5a585c5c405c587e715d60585b48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b5850504b587e5b5c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c4b50584f5b366e5f61484853294840585078707e5a585c5c405c587e715c6058585258525c584a585e5058297e5d5a585c484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e435b5d77435b36587d614840585078707e5a585c5c505c587e7e585a7e5a7e585c7e5a6058525058727e584c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a605050484b432b487f6e517a4c5e585a5e7676587e5b635058587658767e5b5058217e5d70585150584f5b5f77435b36587d614840585078707e5a585157637a2a54705b295c5e7d7251215b2a5f5b7e58716852585058484b58485a51547e585a7e5a73585c7e5c60584b505b587e58295c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505d487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b58507a6058585258524858415471584a585148482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505058435b5f77435b36587d614840585078707e5a5851547e58295c5e7d7251215b2a5f5b7e58716852585058484b58485a51547e5a5c513658415f5b58774b5b7e58716852585058484b7e485a51547e585a7e5a75585f635048487e58295c567d7251215b2a5f5b7e5871685258505848487e485a5a5851484b432b487f6e517a4c5e585a5e7676587e5b635058715b5b77435b36587d614840585078707e5a585c5c485c5871635058435b366e5f61484853294840585078707e5a585c5c405c5871635058587658697e5b7a605c5f5877217e5a5c5c567d7251215b2a5f5b7e5871685258505848487e485a5a585d484b432b487f6e517a4c5e585a5e7676587e5b635058435b5b77435b36587d614840585078707e5a585c5c485c58716350587d5b366e5f61484853294840585078707e5a585c5c405c5871635058587658696e5b7a60505d505b535b5a297e57585b767e5b5c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c5050584f5b5b77435b36587d614840585078707e5a585c5c485c587e715b60585d487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b58505048727e5b4c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c5e5058575b5b77435b36587d614840585078707e5a585c5c485c587e715a70585b487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b585050486a7e58295c567d7251215b2a5f5b7e5871685258505848487e485a5a5c5450585f5b5b77435b36587d614840585078707e5a585c5c485c587e715d4a585c487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b585050482d7e584c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c4950584b5b5b77435b36587d614840585078707e5a585c5c485c587e715c5a585f487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b5850504b5c7e585a7e5a69585c7e5a6058525058407e5b5c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505e48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b5850505858765868585b5058727e5b60585050585f5b5f77435b36587d614840585078707e5a585157637a2a54705a5c5c4e7d7251215b2a5f5b7e587168525850587a60585852585276584a58565058297e5d5a585f484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e7d5b5b77435b36587d614840585078707e5a585c5c485c5871635058587658686e5b505b5c7e5c5a58495058575b5f77435b36587d614840585078707e5a585157637a2a54705829513658415f5b58774b5b7e58716852585058484b7e485a51547e585a7e5a6a585f6350485c7e5b295c567d7251215b2a5f5b7e5871685258505848487e485a5a585e484b432b487f6e517a4c5e585a5e7676587e5b635058575b5b77435b36587d614840585078707e5a585c5c485c5871635058715b366e5f61484853294840585078707e5a585c5c405c58716350585876586b485b7a605c5c5058575b5d77435b36587d614840585078707e5a585c5c505c587e7e5b295c4e7d7251215b2a5f5b7e587168525850587a6058504848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58507a60585e487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b58507a6058585258522d584154715b4a585048482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505058575b5f77435b36587d614840585078707e5a5851547e5b725c5e7d7251215b2a5f5b7e58716852585058484b58485a51547e5b29513658415f5b58774b5b7e58716852585058484b7e485a51547e585a7e5a6f585f63507e547e5c725c574a5829585e70585c48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b585050487e7e5b4c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c515058575b366e5f61484853294840585078707e5a585c5c405c587e715a4a585f48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048407e58295c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c5250585f5b366e5f61484853294840585078707e5a585c5c405c587e715a60585d48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b585050486e7e584c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c5750584b5b366e5f61484853294840585078707e5a585c5c405c587e715d70585b48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048217e5b5c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c4850584f5b366e5f61484853294840585078707e5a585c5c405c587e715c4a58585258555c584a58555058767e5b70585c484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e435b5d77435b36587d614840585078707e5a585c5c505c587e7e585a7e5a6e585c7e5a4a585150587e7e584c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a605050484b432b487f6e517a4c5e585a5e7676587e5b6350585876586a7e5b50582d7e5d4a585450584f5b5f77435b36587d614840585078707e5a585157637a2a54705b295c5e7d7251215b2a5f5b7e58716852585058484b58485a51547e585a7e5a63585c7e5c4a58485058217e58295c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505d487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b58507a6058585258554858415471584a585148482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505058435b5f77435b36587d614840585078707e5a5851547e58295c5e7d7251215b2a5f5b7e58716852585058484b58485a51547e5a5c513658415f5b58774b5b7e58716852585058484b7e485a51547e585a7e5a28585f635048487e58295c567d7251215b2a5f5b7e5871685258505848487e485a5a5851484b432b487f6e517a4c5e585a5e7676587e5b635058715b5b77435b36587d614840585078707e5a585c5c485c5871635058435b366e5f61484853294840585078707e5a585c5c405c58716350585876586d7e5b7a605c5f5058715b5d77435b36587d614840585078707e5a585c5c505c587e7e58295c4e7d7251215b2a5f5b7e587168525850587a60585e4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58507a605851487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b58507a6058585258557a584154555048547e58705858505b535b5b514b68507e5876587e587e5829513658415f5b58774b5b7e5871685548585b50585f5b5f77435b36587d614840585078707e5a585c5c507d5c5e587e505b2d7a4a585c48482c2b487f6e517a4c5e585a5e766d5858535b5c514b6050584f5b5b77435b36587d614840585078702958584c5c507d5153607a60504a484b7129505b535b5a514b5b7e505d215b2a5f60505b535b5a51435b7e492d5d7a4a584a484b712b7a77502b5858587e587058585258505c50585f5b366e5f61484853294840585078702958584a585c484b432b487f6e517a4c5e585a5e7676587e5b5b5a514b5b7e505a587c515c7e5b4c5c567d7251215b2a5f5b7e5871685548585a484b5b297a70585d4848432b487f6e517a4c5e585a5e766d58585f5b5a514b607a7754705c725c407d5a584a4848712948405a5836587d617a70584a4848712b48405d32582a5c7e5c725c407d775360577e585c5058507e585a7e5a5a5a585c487f215b7a4c5c5a7d5c5e585a5e766d58585c7e5b4c5c4e7d7251215b2a5f5b7e587168525850584848712948405a587e5171615058575b5d77435b36587d61484058507870295858725c487d51507e584c5c5e7d7251215b2a5f5b7e5871685548585b484871297a7753635071535b5e51487e5c725c507d5c5e587e496e517a41507e5c725c507d725e58367e5761505b535b5e5143607a7340585a5a585a50585876587e6e7e5b4c513658415f5b58774b5b7e5871685548585b5058575b5f77435b36587d614840585078707e5a585c5c507d5c5e587e505b2d7a4a585b48482c2b487f6e517a4c5e585a5e766d5858535b5c514b6050584b5b5b77435b36587d614840585078702958584c5c507d5153607a605058484b712950585b5b5a514b5b7e505d215b2a5f6050585b5b5a51435b7e492d5d7a4a5858484b712b7a77502b58586e555d7e587e585a585b52585058577e5058505858555b6e587e585b5b515e7e6a50585c5136363636365b6e6a5f585c513658586a5d58585c55526e585a485a585850585f5e5d48585d485a585850585f5b5b5e6a70584c2157584a585850585c487d4a585848484b685048585458586a585a6e6f4c586e5c507f605458484b5b6b507e7672585a585e5c5d6a715a6058525058404873585c705b71582a5872587e5a715b535b5c587e5a6058585058507e58615b7350584c7e5860585a50585b6b484853297870505e577e50585d585c5550584c7e5863405a585853585872587e585a505055485858507e7d5b522b6a56586e585b58585c5550586a7e5b295c407d5c5c407d4b582050487e7e5b4a585f52585058507e7d5b5b5e762b587e587e5b605850577e505850585b5b584e76715a586a5a485a585a5058716b484853505d48587e5a5a2958585c5c6e4b6e295850587e6d58585f5b5051535b32585b515d48587e5a295c6e5c5d29715b60585f50584c76587e58705a4c5c5c7873405a585a585350587a2b587e587e5a6058505558585b5c5d29715b60585f50584c76587e58705a4c5c5c7873405a585a585350587a2b587e587e5a5c5c5a78705c505a605850505850487c4c5c585048727e5b71582d5048615b585a5c5150587e715b7e57365058507e5b72295c7f60585d50587e7e585e6d5b58774b6850584c76587e58486b485c7e5b4a7e5a58584c5a485a585250587a485a602958585c4c57585a58535058767e5b615855555858584b6e295850584c7e5b4a7e5a585a505348484b68577e50585058727e5d5d405a585a585150587a7e5a71585348485f6b4a4e76715b295c585048725550586a7e5b706e58585b58205048297e5b4a585f52585058507e2c5b5b5e762b587e587e5d705857577e50585058435b584e76715b70585348485f685048725458486a55504840555058487e5b70585d50585c7e585e6d5b58774b6850585c7e5872407b577e5058505876485a71767e5a725c48787048585a20585b584853365058535b7e5b5b615b5c587e585c5c6b567e585850585b5b584e767158586a7e58725e585a515c5c485a5858484a542f5858587e585c5c5b78705c585a60585a4840485a7a4a505d4840485a4b6e4b5850585b5b6b6d4858566e585850585b5b5874767158586a7e58725e587e585f615048505d485a585b55485858507e485c485a58585058482f5858587e585c5c5b78705c5850585f5b584e767158486e5b5a6e6a7e585853365872587e58295e5858727a5c485a585d48484b515d485f5b617e5b5b2c7e587e58716a54587e6d5b61485b5b2c48587e58716a5458486d5b6e485b5b2d48587e58716a7e58295e5c58724057585b695b616e5b5b2c6e587e58716a55567e58585058575b715853515a21765d58487136506e5b5b5c5e6a705a7048585058404854705c555058767e5b715a56584a505e5c5d7a5a485a58525c5c725c485a58555058587e5870585d5c5e217e5b4a585d5058507e585e6d68507e402b587e585458486a7e5b4a585d577e50585872585a485a5858507e7e6d585858705b295c6b786e2d5d58585c5858486a7e5a605851484b7129484b71285c5a72715a5a585f50584c76587e58705b295c5b7873405a585a585150587e2f5858587e585c5c5b78705c505a6e53585058507e5a5e6d5b58727e57585a585055485858484d5b515d48587e5a5a2958584c5c7e7a72512d585c7a57585a5855484d5848524a5c5150584c7e5b4a7e5a585a505348485f68577e50585058727e5b637658585a585550587e6a58585c48524a5c5150584c7e5b4a7e5a585a505348485f68577e50585058727e5b637658585a58504848536850487e5550587e7e58715b2c484858715a4a585e5c5d7e715d5c5c5850487a7e5a5a5c5e582a217e5870585e4d484b365058547e5a5a5858782b767e5b4a7e5a585b5b2c50584c76587e585f5872587e5a7058515c586a6d58585b5f5d48587e5a4a585250587a485a606e58585c7a57585a585f50584c76587e58705a4c5c5b7873405a585a585350586e2f5858587e5b605851505876485a4c5c5b7829756850487d5b585a5c535a6058555058406a58585848524a5c5750584c7e5b4a7e5a585a505648485f68577e505850582d7e5d4d7658585a585e48485f685048407e5a4c5c5b78705c535d585c555a605c5e5a60585c5058407e5860585b50585b6b7870585b5058535e5e63405a585a58525c5876785058695b5c5e767258586a54585a58585c58297e584c5c5a7d5e7655687e485b5a2a2173585c5e58584e6a705a7048585058767e584d405a7c5a585a50585448634850715a5a5852484d4c2b5871587e5a725c5078725c585058695b5c5e76705a4b587c504b585a485a5850487c4c584d6e4b5850587e485e4a50534b48295b505b587e5a4b58775a60585350487a7e58705c5b5829587e584a585d4b7e4b585829585a485a58585058695b32585b685c5d435b585a58505e294c5c485a58585058695b32585b685c5a7e5c485a585f50584c76587e5b5b5877502b587e58555d585c5550585848504a5c565058435f5b5c587e5b5a58565c5a72715d7e6a7e5d5c5c5b78705c57484858715d60585350487a7e58705c5b5829587e584a585d4b7e4b58505829715d5a58494b48295d50585848534b767e5a4a5c5150585071584a585050586d68484853535d48545d485a585b5058575e5b5c58545b484c5a485a585155485858484853515d48587e584b58535058285e5d48587e5b295c58567e585850586d5b584e6a715a6e6a7e5b295c5b78705c5150585f5b5d5e767158486e5b5a6e585558584c5a485a58515548585848485f515d48587e584a58545c555c5b52585058504b5c5a485a585e5b51217e5c484c7e5b5a584b5c5a725550582c5e5b5c5b5b584a5c4950585c485a4a58574b6e295a50587d5b58737658585a585548485f6850486a5458486a7e5b295c58567e58585a60585048485f6b50487e5550587d5b584e76715b60585b4848616850485c5458486a585a6e58555a6e53585872585d485a585a5058575e5d485c7e5a4a2958585c5c5a4b6e4b585058755b584e76715a4a585a484861685048505458486a5550585071586e6e5b5a60585f50584c76587e5b5b5b51502b587e5855505b5848514a58524840585b78704858505854495b48535850585c484a4c4c5c485a585148485c2f5858585458486a7e5b295c5a567e585850586d5b584e76715a60585048485f6b50487e5550587d5b584e76715b60585b4848616850485c5458486a585a6e58555c5b7a585a615c585058587e584a585852585058525850545c4850585a2e545c58486d36506e5b5b7e585f6b507e7672585a585250585c2b58777e7e5870585d5c54295a50487e7e5a725c28577e50485058695b5a5e695b585a5852484b5b68507e724851705c485872587e5a5c5175585c215c485a58505c5b72705a4c4c57584a584850587248536e6a7e5a4a5c51505850715848575850585c7e5829405c485857585872587e585a5852487f7e58787158614848587e5a5b6d5f5b5c587e585a5852487f7e58787158745b5c587e5b4a585f5258505848485360577e50585a6e6e5b5a6058585c5b21715d70585e4b484b585058487e5d715a63584a5c565a60585448485f685048285b585a5c49505872715b60585a50485c5d485a585b5058575e5b5c587e5d4a5c545058205f5d48547e585b58705e70585350487a7e58705c5b50587e7e5a2b695b58727257586e575850585c7e5829405c48586e5f5b48535850587a6d58585b5b58727a57585a585b5c58727e5d4c4057585a58514848582f5858587e5a295c5b78605c555a60585148485f6850487a7e584c5c5478705c5b5d585c5558586a585b48535850587a6d58585b5b584c7a57585a585b50586e485a606e58585a5c4b5872587e5d72513658415c7e5b7e4b36505b5c5f5058487e5c4b5a6358486d5b366e5f614b7e4b5848485c715d60585b5c58727e5d4c7a57587058514848502f5858587e5a295c5b78705c555d585c5550587d5b585d765858586a7e5a5c5c5b78605c505a60585148485f6850487a7e584c5c5478705c5b5d585c5558586a585a6e6a5a485853585829587e5870585d4b7e295b5058726d58585b5b58727a5c485a585348485f685048727e58725c5478705c5a5d585c555a60585a5048545458486a7e5b4a585f5258505848484b60577e50585a6058485c5b297e5a725e58584e7672585a585d5d6e4c5a485a585b5c5c755f5b5c587e5b295c5b567e58585d585c5550587d5b58737658585a585548485f6850486a7e5a5c5c5b78605c505a60585148485f6850487a7e584c5c5478705c5b5d585c5558586a585a61584158586f75586e5c5d7f6054584878585b7860505c53585b5b7f605c5f5058487e584c5c5b78295c5850585c7b577e524c584a585c5058587e5b5c5e7c584e767e584b6a705b73405a72585c7e5b5c5c584843585b5c5c4070585c5f36577e535450585b5b575d405a535a58584841212b5875587e585a58584843215b7873405a555a585850585b5b72585f68577e534c5872587e584c5c584a584b58487d4a5b584c5c20577e50585d585c555058435b585d7658585c5c5850484873585c5148584e6a70584a485850585c7e5863405a63585c7e584c5e7e584e767058295c58484a7e484b71767e584a585b52585554584d405a60585c5a485c5c585058507e584c5150584e767e584c5148585e767e58615d7a58725c584a584b5848412171587e6e5b5a6058585258535448485b5650484c7e585a7e5a585a5c5d505858765872715b585c6e5c485a58585058575b412a5c2b587e58555877215a485853585058587658735b5f5b5c587e585c5148585d405a545a58584848582b58716e7e585c5058576e54485058587658706e715b5a585850585c2b58706e5458486a7e585a7e5a5c58295b5a295f36505858482f585c57584b76555058587e5870585b487a7e5b7870585b487d58587870585b4878585b78715d7a587e6a715870585c5b5c587e585c5c584848587e585a7e5a535b5c5c585b767e585c5c58577e506e5058587e5b5d405a555a58584848582b58716e7e585c5c58577e504850585876587148715b5a58584848582b5871487e58725f365058487b504850555058587e585a7e5a585a505c5058575b50515f60577e50584841217e5870585c484a5b615e605c5a50584f5f5d48585550585f5b29585f685358587e58705c5f5a6058584878585b7870485850584c554a7e5c5a7f6e53585058586d5858587058724c7e5870585b55485858507e57517a7e29585829587e584a2958584a5c5d5058586d58585c7058724c57584a585b48485f6850485c7e585c5c5b78705c585058507e5829405758586a555058507e582b6a552c58505b5b772173585c5c48786050515358587e5829516e717e5c7e58616a705b4a7e5a585a5c5d5872585a4858535850585f5f5b5c587e586e295b5d58545548412d715b5a585a4b48295a5058587e5b295c54787058585e605c5e5872587e586e4b585058507158586e5b5a60585b55485858507e5b5b5e514b5b5e514c7058295c584d7e4b585058407e585d405a585a585d48485b51504848545b586a7e584a6e58585a5c58487d705e584a7e5a585a7e5a585c4c5c485a585e50585b5b362e215d7a4d405a585c5c5b504848545b586a7e585c513658415f5b6e7e5f6b507e5b5b54726a57584a585848485329487a586b78707e5a585a5c5d5058535b584e6a70585c4c575870585b48485f6850485c5550585c6d585858705a5c5c5d7d705053484b5b6b5058575b5e774c7e5a4e696048487d555d48585d485a585848485f6b5048587e5a5c5e58584e6a7e58295c5e7d51507058295c584d7e4b5850584f5b585d405a585a585e5058542b587e587e5870585878605c5c5d58485550585b5f5d48507e584c5c5b7870505b55485858507e715b6e585f614840585b4b7e29585a6e6a7e5b4c5c58577e5058487d4a5b584c5c43577e5058484121715b586e5b5a60585f5058542b587e585550587d5b5c5e7672585a585c5a6e6e5850585b5b5d5e76487f71767e58586a50585a5858525850484b486a7658485336506e5b5b5c5e6a705870485850585c76587e587e585a7e5a585c7e715860585a484b5b685358587e584a58585058547b5a6158585058587e584d7a5d5a5a5858487e582a586e58555c6e587e585c5e215163405a585a585848484b685c582d7e58586a5c585c5c5b5a2b4c5b582a217e58724c5c485c5c585d6e6a5a485a585855485858507e575f5d48585d4858535850585c6d585858705b4c4c57585a585a48485f6b507e535f5058547e5b4c7d605d48587e584c5c5b78705c5b5058586d58585c715860585848485f685048587e586e295b5d5850555a60585d5048485550584b5b366e5f6150585c6d58585b6b5a2f2d5b58484b36506e5b5b5c5e6a705b4a485850585c715b5a585a484b5b495b5c587e58725c5c7d705c515829587e5860585c5c53295b5058547e585a585f5c55505a5058547e5b4a725d5a5d7a585a5a585d50584c69586e582a5858587e5b5c5c4878705c5c5058435b584e76705b7058514b6e29585a6e6a7e5b5a585b50585368507e5f535b5c587e5b4a585c50585c7e5b5e6a7058715b5a507e5c7e5874695b585c5c485058536b5c5c40785058547e584b5a7d584a585d5058587e584b5a605870585d50585c69586e7e2a58587e7e5860585b52485458576e58585a60585f484b5b68535858555e7e587e585a585b50585c76587e5b5b5d5e6a76587e5b6852585040577e505850585855526e5c5b7f605858487f6336585d405a5858535850585876587e4b5b5d5e6a70584c5c5078715a4a58725c584d7e295850585c485c586a7e58586d555848533650585876587e48705b295c507d4a5c5e50587d5b58415c5c485a585d525850585058404861485c715b7e6a7e585a7e5a585a505850585c7e5870585d5058436850584b5b58705851484853615e60585f50585876587e58765871484b5a4858555058585a485a58585258505c50585f515d48587e585a7e5a515c5c5b4b7e29585058587e5873405a51586a55747e5c5850585b5b584d76585748535850585876587e487e58727a57585a585848485c2f585d485a485a585852585048507e535f5b5c587e585c5c5b577e50725058587e5863405a5e5a585850585c2b5871587e585a7e5a545c5c5b4b6e295a5058575b584c405758486e5a5a60585b5058535e5b5c587e585a7e5a5e5a505a4848535e5b5c587e585a585d577e504050585471587e6a7e585a7e5a545c5c5b4b6e295a5058535b584c405758486e5a5a6058585058587658704b5b584e762b5870485550585b5b584d7658577e6a555a7e587e585a585b78707e5a58586d7d58485f36505858765871587058294c5c485a585848485c2b5870487e585a585a577e50405058587e584d405a5c5821555872587e584a585d4b7e4b58505858765871715b58727a57584a58585058502b58717e495a60585848485c2f585d407e585c5c5a577e50405058587e585a7e5a535c5c5b7873405a53586a556c485c5b582a2173585c5c487860505d5358587e5860585b577e50545872585a485853585872587e585b58285b5c587e585b5b2050485c7e585a7e5a5b5a505c50585f5b584e6a705872405758486e5d5a295c5b50484b5b584a5c5a5058586d58586a70584c5c5b4b6e295b5a6058585058535b584a585a50585048216e5c7e5b5a5c5b505858485748295b5a6058585048507e585a585b48485f685c5d765458486a7e585a7e5a585a5c5a5058587e5b5c5c5b7871582c5058487158486a7e5870585b48485329787050585058575b5d5e76485460585d4848582b587e7e7e585c5c5c7870585d484871685c5d547e58295c48787048585a2f215b58485736506e5b5b5c5e6a705b4a48585058535b7b60505e50585f6b4d484b58505858485d4a5c515877217e584a585e48485f2b484b5b6b4a484b5850584c7e584c5c5b7d5d405a5a5a585f50585c7e5874762b587e6e7e5b4c5c547870585f484871685c514076587e584872485c5458486a7e5b725c5b786e6d5b584e76705b715b7f5048507e5b584b585058507e5b60585c5c5f4c555058547e5b5e6a70586e4b585058507e5b5e767e5b5a58517870585d5c5f4c5550585f5b5a727a5c485a58515c5b58555058587e58715b575058587e5b715b5450584f5b5c5e7672585821555c5b7a585a6e545858486a41585a5858525850505c5b43515b5c587e585a7e5a5a5b5d4c587e6a7e58586a2d58485f36506e5b5b5c5e6a70586048585058547e5873405a5d5a585d484871685058575b5d5e76484c705c5a5058587e584b5d78584a5c58505850484c4a585d484b5b685358587e58586a55585a585c5058502b587e5b5b586e6a53585a58584848582b587e58555d6e587e585a58585258505c48485f68577e505c5a61725b5841205b584a5c5b5058584857484b36505858487f4c5c5b786e4c7e58486a555e7e587e585c5e29504d405a585a5858484a5b685c587678505858486f585c7850585855726e5c5b5b512173585c5c487860505d5358585a485a585b5c5d4f5f5b5c587e585a585b52585050577e50505058587e584a725a585d7a5a58586e5b5a60585b525850585048485a485853585872587e584a7e5a5b5a505a484869575b5c587e585a5c5b5058587e5871582f5d585c555058535b7b296a57584a58585058504872485f5b584e76705b4b5b7f507e5c484d4a585850584c484d5a58585058504856486a7e584a585c5058535b584e76484f486e5b5a61584158586a555058575b5c5e767258586a61585a585a525850585048505d485853585058587e584c7a5c7f60585852585058505853515d485c7e58584c7e58486a495a60585848484b685048585458586a585a36725d58485f36506e5b5b5c5e6a705d5a485850586e7e585d405a5d5853585872587e585a585f4b7e4b5850585c6d58585b5f5d485f5b585a5c5850585f5b585d7658585a585c50584876587e5870584c5c5b7873405a585a585b484a2d2f5858587e5b6158534b48295a50587276587e5870584a585078295e7f584c765758705852525850585048507e5a4a585b48484b68577e505850585c7e5873405a58586e5a5a6e53585058587e5b727a57585a58515c58755f5d48587e584a2958585c4c57584c5c585048587e5a4a7e5a585a505b5058716b4843215b4a7e295a50587676587e5871585a585350585f5b5b5e762b587e587e584a5858577e505848485871585a58524848582b587e5854587e6d5b7f605c5850586a7e5a295e58584e767e5d5c5c5478715d4a584a58557860505f487f6e584a7e295b50584f5b58774f5b2d57585878702958585a5c5e5872585a485a585f48416d61507e5b5b2b585b515b5c587e585c517e585c7a57584a585d50584876587e5870584c7a5c485c5f365048587e584c5c5b78602958585c517f58515c7e58702958585c513658515f515d484c555058487e584c5c5b7873405a585a585b5058402f58585b5b585a5c585d5848555058535b2958582f5858585458486a7e58706e58585a50585058435b2a6e5b614b6e29585058507e585c5e585841502f5858587e584a2958585c4c57585a585b4848582f5858587e5b6158534b48295850587276587e5870585a585078295e7f584c7657585a58525258505850485c7e5a4a585848484b68577e50585058587e584d405a58586a7e5b5a585c52585058507e5b5b584e762b587e587e585a585e567e585848485871585a585f487d48584a7e295b5058767e5a707e5a585c5c5b7873405a58586e5b5a295f36504858555058615b5c5e7672585a58585a28585b58772173585c5c487860505e5358587e5b725c507870505f50585c485d60585f5c5d6d5b2d57585848405d4b585a585a5c5e547e5860585f5c506e5b507e5c484a5d405a585a585c50585c48565d405a585a585850585c485760585f5c582d7e5b725c48787048585a635c585058506d58585871587e57585872587e585a585b4b6e4b365058586d5858587e58727a57584a58585b4a585b5a6e215550585b5b584e767158586e585a6e58552e48545b58412173585c5c48786050545358587e5d5a5858567e58495872585a485a585850584f5e5b5c587e584a2958585c4c57584c5c585048587e584c5c58567e58585058487e5b5a7e5a585a505b48485f68577e505850585f5b55737658585a58515c58755f5d48507e5a4a7e5a585a505b5058716b4843215b4a7e295a50587676587e58715870585350585f5b5b5e762b587e587e584a585a577e50585d5850555872587e585a585e4b6e295850587a485a4c4c57585a585b554858584b48295b48485871585a585352585058507e5c7e5a5e6d5b776e5f525d48507e5a707e5a585a5c585058727e584c5c5c7873405a585a585b5058582b587e5b5b585a5c585058695b585d405a58586e5a5a295f365048587e5a605855484a5b685058615b5d2b764828485c7e5a2b6a705b4c5c7f4a7e295b50584f5b2d57585878702958585a5c5e5872585a485853585872587e5b4c5f327a4c5c4e786e2d5d58485058587e6a7e5860585c52585058507e5f515b5c587e584c5c5b78602958585c517f58515c7e58702958585c513658515f515d484c555058487e584c5c5b7873405a585a585b5058402f58585b5b585a5c585d5848555058535b2958582f5858585458486a7e58706e58585a50585058435b2a6e5b614b6e29585058507e585c5e585841502f5858587e584a2958585c4c57585a585b4848582f5858587e5b6158534b48295850587276587e5870585a585078295e7f584c7657585a58525258505850485c7e5a4a585848484b68577e50585058587e584d405a58586a7e5b5a585c52585058507e5b5b584e762b587e587e585a585e567e585848485871585a585f484b4f525d485c7e5a7058525258505848485f68577e50585d585c554841217158586a7e5d5c5c4878704858505858554c585c5a7f605458484b5b6b507e4072585a585e48487168507e4c7e584b584950584c485472517e29585b5b7e575c58505850487b60585d50584c48737e5c70584b5b50567e58585058487e584b582d567e58585058587e584b582a50584c485d70585e484b5b68535858557f7e505a7f6e5332506e5b5b76585f6b507e4872585a585c50585c2b58736e7e5b5a585b577e504c50584b5b7f63405a5e5a585c484b5b68507e4f5a585b5b4d5058487e5b4a585d48485c482c7e507e5b5a725d5a5a5c5e50584869586e58715b60585a5b5c587e5870585b505848765871487e5b5a7e5a70585f68505848765873616b7873405a58586a7e585a5851576e54585058587e5b737a5d5a5a585c4878585b787048585a6e29585058587e584a585a4877214829585055704850585872587e58584b3650585f5b366e5b575d485c5a485c5140717e5c76587e5876587e5b5f5b5c587e584c5e587f2a5f5b7e55215d4b7e295d5d585c5550585f5b366e20575b5c587e585a585b484d20614840585b7a737658584a585850585f5b5b77435b6e585f60567e5858484850495a60585b48405b587a4c5e586e58575150585f5b7e55585d4d2a5f5f5b5c587e585a585b484d20614840585b7a7376585870585850585f5b5d51435b2d585f60567e58585058587e584c5c5e7d725c367a4c5e585841502f58585f5b586e215550585f5b7e50585c78295136366320575b5c587e585a585b484d20614840585b7a7376585860585850585f5b5c77435b21585f60567e58585058587e584c5c5e7d725c367a4c5e585841502f5858507e585a585b4848612b484d20614840585b7a737658584c5c5c5d6e6a55487d4a5b584c5c43577e50584841215f48485c555d6e6a7e585a585b567e585848485c556b6e505b5b51215a7f6e535850585870584c5c5d7a484b585829587e584a2958585a505a4b4a585a484d285e7a7e295a50585f5b584e7670584c5c5d7a4829585a6e6a5a485a585b52585058507e535b7f2a547e58725e5b7e764850782a5f5b7e505e5a715171615d48585d485a585a487b2a2f2056725d7a60505a484120635058535b7e40525c5a5e6d6148405a5b7e764b2d7a48295b50585c76587e48715870585b48484b6850485c7e58725e5b7e7648507860585a484120637a4c5e587e40525c7c515f5f5d4858555a6e575850585c7058702958585a505d5b5c587e58725c5b78705c5b5058575b494c7a5758486a555058505458486a7e58486a7e585e6a7058724c5c485c5c585d6e6a5a485a585850585368554858585d485b5b2050405b52585058507e5f5f5d48587e584a7e5a585a505d4b4829585829585a485a58585058547e58715a32584c4c5c485a585b5258505850585368507e546d58585b5b494c405758486a7e584a7e5a5b5a5c5d50585f5b5b5e7671584a585d5d485c54587e6a555058575b584e76715b586a7e5b586f7158485c5a7f60585a48485b515048545a485853585872587e585c5c5d7a4c4c7e58724f605d48587e584c513658415c715b5857585058586d5858587e5b5c40575870585a48485f6b507e535b585c7a715860585848485f68507e5b5b582a5f5f5d485c7e587e29585a6e6a7e58294c5758486a5a485a58585548585850585f5b366e5f614b70585a48484b537a7e295850585f5b366e5f6148405e5a7158716a5048545d485a58585258505850585763507e4b5b7f2a547e5b5c5e5b7e764850782a5f5b7e505e5a715171615d485c7e585c5c5c78705c585058535b5b5e6a7058725c5d4a6e29585a6e6a7e58724c57585a585b487f215b7a4a5c5b5829587e584a5858554858584b7e4b58505858495a60585848485f685048587e58725c5b7860505a5d4858555a295c585a207a5d587e533258772173585c5c7e7860505c5358585a485a585b486f36363636363636363636366e5a5d507e575a7e505a587e505a586e5058217f4a585d48765a587e505a587e545d366e6e5b204f584b5850585f5a5b50407e585c50217050487158605858486f363636363636363636365d2d5470585c525b7e505a587e505a587e5871785b5c587e5829525b7e505a587e505a587e5458587f5a5c5a5d5850555058575a7e505a587e505a587e505b587f4a5c5a50585b5a7e505a587e505a587e505850714c50584c7e295b5058507e5829505b7e2a6e71587e6e5b5a6058584c5a585d48765a587e505a587e545d36366e5b4c5058575a7e505a587e505a586e493636585f5c7b4b484b5850585f5a5b50407e585c502170504b5a3636363636363636366e565d48765a587e505a587e505d21366e5a5c5048505458486d5a7e505a587e505a587e497336585a5c5a5058575a36363636363636366f36365d585f4057585c50585048507e5829506e70527a705b4c5e4b206e5b535d48587e5b5c5c487870585850585f5a3636363636363636492d575a7e505a587e505a586e585a5c507e507e5b4c5e5b206e5b6b5c5a217e5b5a58585058535b7e7f7e5850584f6b5c516e7e5b5a725d5a5c505c7170585c52485458507e5b5a4950705c5048507e5b5a725d5c5a585c52485440715c50584c68297e585c55363636363636363636366e325d715a505848765e587e505a587e505a585a5f765c485a585a487e5f215048505458486a7e585c52587e505a587e505a587e58705f487e5b4a5d48587e5872505b7e60585a7f5a5c5a5a60585c484a5b685358587e5870585b48765a587e505a587e505a587e51325d715521554b585c5b7f605458484b5b6b507e4c72585a585f50585c7e5870585d50584b5a7e505a587e505a587e505a587f2d4c48495a585f5248545850485c7e585a585f52485450576e54505058587e584d7a5d585a585f484b5b685358585568485c5b5841615c5858585858585858215d21715848535850585b5b7e5871565b5c5b5c58585858585858582d512171584a5858487f21494a584b5850585b5b366e7d6b50485854587e6d5c585858585858585821512171584a5858487f294150585b5b364b7d505e2951325d2b6a7158586e5b5a60585848405f2d4a7e29584b58585858585858585e585d50485c7e585c5e2d7a5c765c485a5858487a725178705c585d585c554b585858585858585858585850485c7e585c516e785a5858487f5b764a716d5b727e20685048585550585c7e585c51365b2b686d48734a5e6f2f505561585c5a5841215a7f725f365048545a485a5858487e5b4a50585f5a363636363636363636363636585054705b5c52587e505a587e505d58363621584f70585c48765a587e505a587e545d36366e5b4b5e6e29584848587e587255363636363636363636363621587e60505f48765a587e505a587e545d36366e5b4e50584f5a7e505a587e505a586e493636585f5c7b5d48587e585a585c50584e5c715f585c485c5c585d6e6a7e584a585a7e2950584e484b584848587e584a585a4c60585b5058534b5e6e295b5058587e584a585a71404b5a585f50495a605858487e5b4a50585c7e58754c7e584a585a4c4b6a57585a585850585c7e58764e5c487e5b4a504854555058545578485c5a7f605858487b6e76577e50585058587658707e715848575850585c5c485c5c585058587e584c5c5b7860505b48485329507e507e585a7e5a535e7676587e587e585a7e5a505a585a78707e5a585b5c5158586e5b5a6e6a7e585c5c7a7871585650585876587058485c5a5858525850725c5b587e585a7e5a545b58485058587658736e485c5a58585a6e725850585848707e5c485c586a53585a58585c557e5b5c5b58555d58587e585c5c5c78715b325e7058585a6e6e5850585b5b5a5e76487f71767e58586f36556e5c4b7f605458484a5b6b5071547258585336487f485b5c5b72705a584b365872587e5a5a505e5058587e584c5c5d7d5b5a535860505848485b545d48587e585c5c5a7d5a5c495829587e5b70584b48485329507e7d68507e5c76587e58715a70585b5058407e5d295c5a7d5a50487870505b52585058577e505850585c7e5a73405a585a585e50587d5b5b515368507e5c76587e58715a70585b5058407e5c5c5c5c7a747670584a7e5a585d405a585a585b5058762b587e587e5b705851484871607870505b525850585048767e584a585e505b5b5b5a515368507e5c76587e582b587e587e584a5852577e50585058407e5b295c547a747670584a7e5a585a5c5250585c7e5b705848484861607870505b52585058577e505850585c7e5a73405a585a584b48484b6850715c7e5d295c5c786050494a5829585a295c5b504b5c7e585c5c5b4d5829585829587e5b725c4878705c5e484858715d6e57585058407e5d295c5a7d5e7670584a585b52585058507e5f5b5d77435b36587d614840585078707e5a585c5c5e7d7251215b2a5f5b7e5b5b685258505848487e485a5a585b484b432b487f6e517a4c5e585a5e7676587e5b5b5b77435b36587d614840584878707e5a5851547e584c5c5e7d7251215b2a5f5b7e587168525850584848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a60585b487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5b77435b36587d614840584878707e5a585c5c405c587163577e50585058205b584e76705d295c5c4b6e29585a60584b48485f6850715c7e585c7a5758586a5550585b5b585c7e5c485a58505c5b5b5b58586e5a5a6058505058582b586f585b50587e5f484858555a6050585b51217e5c60585a52485858576e5448505b547e587072585a5d7a5d5e5a585c484b5b495b5c587e5b5c5c5c7d705c4f4848587158485758505b547e58607258585d7a5d585a584d5058546958587e2a586e7e7e585a7e5a21585c715f5a5858525850545058547658586e7058725c407d5a585a4848712948405a5836587d617a70585a4848712b48405d32582a5c7e58725c407d7753607a60504948482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b5850504b507e585a7e5a5a5a585d52585850507e535b5e51487e58725c507d5c5e587e496e517a41507e58725c507d725e58367e57615058535b5e5143607a7754705c4c5c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c5650585876587e487e58607e585b5a505a484b71295058535b5a514b5b7e505d215b2a5f605058535b5a51435b7e492d5d7a4a585a484b712b7a775363507e7d5b366e5f61484853294840584878707e5a585c5c405c587e715a4a585852585058505854765858587058725c407d5a585a4848712948405a5836587d617a70585a4848712b48405d32582a5c7e58725c407d7753607a60505548482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b5850504b587e5d295c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c52505b5f5b366e5f61484853294840584878707e5a585c5c405c587e715b70585148482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b585050487e7e5a295c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c5c5058205b366e5f61484853294840584878707e5a585c5c405c587e715870584b48482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b58505058205b5f77435b36587d614840584878707e5a5851547e5b295c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a51547e5a29513658415f5b58774b5b7e5b5b6852585058484b7e485a51547e585a7e5a515154705d5c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c495058587658717e7e5870585c50587e7e5c4c5c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a6050574848432b487f6e517a4c5e585c5e7676587e5b5b5c5b5850504b5c7e585a7e5a5f5a585e5058767e5c5a5851484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e4f5b366e5f61484853294840584878707e5a585c5c405c587e715b605858525850485058727e5d70584a50586d5b5f77435b36587d614840584878707e5a585157637a2a54705a295c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c485058615b5b77435b36587d614840584878707e5a585c5c485c587e715a705857487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048407e5b4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c5050586d5b5b77435b36587d614840584878707e5a585c5c485c587e715b5a5854487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048507e5d4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5854484b432b487f6e517a4c5e585c5e7676587e5b6350584f5b5b77435b36587d614840584878707e5a585c5c485c58716350586d5b366e5f61484853294840584878707e5a585c5c405c5871635058587658706163507e615b5d77435b36587d614840584878707e5a585c5c505c587e715c705858525850765058507e5b5a58505058285b5f77435b36587d614840584878707e5a585157637a2a54705d4c5c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c56505858765870487e5b705852505b587e5b4c5c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a60505f487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048727e585a7e5a505a5851505b5c7e5d605855484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e6d5b5d77435b36587d614840584878707e5a585c5c505c587e715c5a58544848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58505048767e5d4c513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c5e50584f5b5d77435b36587d614840584878707e5a585c5c505c587e715a5a58554848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58505048487e5d5c513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c5a5058285b5d77435b36587d614840584878707e5a585c5c505c587e7e5d5c5c4e7d7251215b2a5f5b7e5b5b68525850587a60585f4848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a605855487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58507a605858525850217a60505448482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b58505048217e585a7e5a565a585a5058487e5a5a5857484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e285b5b77435b36587d614840584878707e5a585c5c485c587e715c4a5858525850295058407e5a70584850584f5b5f77435b36587d614840584878707e5a585157637a2a54705b4c513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c51505858765873587e5a4a5856505b507e5a295c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a60505548482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b5850504b587e5d5c5c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c525058285b366e5f61484853294840584878707e5a585c5c405c587e715b70585f48482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b585050487e7e5a295c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c5c5058615b366e5f61484853294840584878707e5a585c5c405c587e715870585748482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b58505058615b5f77435b36587d614840584878707e5a5851547e5b4c5c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a51547e5a29513658415f5b58774b5b7e5b5b6852585058484b7e485a51547e585a7e5a4d5154705d5c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c4a5058587658727e7e5870585c50587e7e5d4c5c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a6050574848432b487f6e517a4c5e585c5e7676587e5b5b5c5b585050482d7e585a7e5a4b5a585e5058767e5c5a585f484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e4f5b366e5f61484853294840584878707e5a585c5c405c587e715a4a58585258535850587a7e5c4a584950586d5b5f77435b36587d614840584878707e5a585157637a2a54705a295c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c485058615b5b77435b36587d614840584878707e5a585c5c485c587e715a705857487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048407e5b4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c5050586d5b5b77435b36587d614840584878707e5a585c5c485c587e715b5a5854487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048507e5d4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5854484b432b487f6e517a4c5e585c5e7676587e5b6350584f5b5b77435b36587d614840584878707e5a585c5c485c58716350586d5b366e5f61484853294840584878707e5a585c5c405c5871635058587658756163507e615b5d77435b36587d614840584878707e5a585c5c505c587e715d605858525853405058507e5b5a58505058285b5f77435b36587d614840584878707e5a585157637a2a54705d4c5c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c4b505858765875487e5b705852505b587e5b4c5c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a60505f487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b585050487a7e585a7e5a4c5a585350582d7e5c705855484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e6d5b5d77435b36587d614840584878707e5a585c5c505c587e715c5a58544848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58505048767e5d4c513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c5e50584f5b5d77435b36587d614840584878707e5a585c5c505c587e715a5a58554848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58505048487e5d5c513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c5a5058285b5d77435b36587d614840584878707e5a585c5c505c587e7e5d5c5c4e7d7251215b2a5f5b7e5b5b68525850587a60585f4848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a605855487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58507a6058585258536a7a60505448482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b5850504b507e585a7e5a785a585a5058487e5a5a5857484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e285b5b77435b36587d614840584878707e5a585c5c485c587e715d705858525853725058407e5a70584850584f5b5f77435b36587d614840584878707e5a585157637a2a54705b4c513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c53505858765874587e5b60584b5058217e5a295c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a60505548482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b5850504b587e5d5c5c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c525058285b366e5f61484853294840584878707e5a585c5c405c587e715b70585f48482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b585050487e7e5a295c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c5c5058615b366e5f61484853294840584878707e5a585c5c405c587e715870585748482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b58505058615b5f77435b36587d614840584878707e5a5851547e5b4c5c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a51547e5a29513658415f5b58774b5b7e5b5b6852585058484b7e485a51547e585a7e5a7f5154705d5c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c495058587658777e7e5870585c50587e7e5d4c5c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a6050574848432b487f6e517a4c5e585c5e7676587e5b5b5c5b5850504b5c7e585a7e5a7d5a585e5058767e5c5a585f484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e4f5b366e5f61484853294840584878707e5a585c5c405c587e715b6058585258536e5058727e5d70584a50586d5b5f77435b36587d614840584878707e5a585157637a2a54705d725c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c485058615b5b77435b36587d614840584878707e5a585c5c485c587e715a705857487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048407e5b4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c5050582c5b5b77435b36587d614840584878707e5a585c5c485c587e715b5a5854487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048507e5d4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5854484b432b487f6e517a4c5e585c5e7676587e5b6350584f5b5b77435b36587d614840584878707e5a585c5c485c58716350582c5b366e5f61484853294840584878707e5a585c5c405c5871635058587658766e5b7a60505348482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b5850505858765876585b50587a7e5c4a584950582c5b5f77435b36587d614840584878707e5a585157637a2a54705b295c4e7d7251215b2a5f5b7e5b5b68525850587a60585852585250584a585a5058487e5a5a5857484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e4b5b5b77435b36587d614840584878707e5a585c5c485c587163505858765876485b5058407e5a70584850584f5b5f77435b36587d614840584878707e5a585157637a2a54705872513658415f5b58774b5b7e5b5b6852585058484b7e485a51547e585a7e5a72585f6350484c7e5b295c567d7251215b2a5f5b7e5b5b685258505848487e485a5a585a484b432b487f6e517a4c5e585c5e7676587e5b635058755b5b77435b36587d614840584878707e5a585c5c485c58716350584b5b366e5f61484853294840584878707e5a585c5c405c587163505858765869485b7a605c4a5058535b5d77435b36587d614840584878707e5a585c5c505c587e7e5b5c5c4e7d7251215b2a5f5b7e5b5b68525850587a6058514848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a605853487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58507a60585852585240584154715d7e533650584b5b5d77435b36587d614840584878707e5a585c5c505c587e7e5a4c5c4e7d7251215b2a5f5b7e5b5b68525850587a60585a4848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a605851487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58507a6058585258527a584154705a4a584c48486d505d4858785058755b5d77435b36587d614840584878707e5a585c5c505c587e715d6058564848432b487f6e517a4c5e585c5e7676587e5b5b5c5b5850504b5c7e5c72513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c5150584f5b5d77435b36587d614840584878707e5a585c5c505c587e715c5a58534848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58505048767e5d72513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c5e505b535b5d77435b36587d614840584878707e5a585c5c505c587e715a5a585f4848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58505048487e5a4c513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c5a50582c5b5d77435b36587d614840584878707e5a585c5c505c587e7e5a4c5c4e7d7251215b2a5f5b7e5b5b68525850587a60584a4848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a60585f487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58507a6058585258526a584154705a4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a58585258527e584a5851505b5c7e5d60585f484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e7d5b5f77435b36587d614840584878707e5a5851547e585a7e5a68585c7e5870585c50587e7e5d725c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a60505c4848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a60585852585272584a585e5058767e5c5a584a484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e535b366e5f61484853294840584878707e5a585c5c405c58716350585876586b585b7a605c5f50587d5b5d77435b36587d614840584878707e5a585c5c505c587e7e58725c4e7d7251215b2a5f5b7e5b5b68525850587a6058534848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a60585c487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58507a60585852585229584154715c70585a48482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b585050584b5b5f77435b36587d614840584878707e5a5851547e5b295c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a51547e5a4c513658415f5b58774b5b7e5b5b6852585058484b7e485a51547e585a7e5a6c585f6350482d7e5b5c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5853484b432b487f6e517a4c5e585c5e7676587e5b635058535b5b77435b36587d614840584878707e5a585c5c485c58716350587d5b366e5f61484853294840584878707e5a585c5c405c58716350585876586b6e5b7a605053505b4b5b5d4c7e57585b767e5a4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c4950582c5b5b77435b36587d614840584878707e5a585c5c485c587e715c4a584a487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b585050487a7e5b4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c485058755b5b77435b36587d614840584878707e5a585c5c485c587e715a705856487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048407e5c725c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c5050584f5b5b77435b36587d614840584878707e5a585c5c485c587e715b5a5853487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048507e5d725c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5853484b432b487f6e517a4c5e585c5e7676587e5b63505b535b5b77435b36587d614840584878707e5a585c5c485c58716350584f5b366e5f61484853294840584878707e5a585c5c405c58716350585876586a6e5b7a60505348482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b585050585876586a585b50587a7e5c4a584950584f5b5f77435b36587d614840584878707e5a585157637a2a54705b295c4e7d7251215b2a5f5b7e5b5b68525850587a60585852585550584a585a5058487e5a5a5856484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e4b5b5b77435b36587d614840584878707e5a585c5c485c58716350585876586a485b5058407e5a705848505b535b5f77435b36587d614840584878707e5a585157637a2a54705872513658415f5b58774b5b7e5b5b6852585058484b7e485a51547e585a7e5a29585f6350484c7e5b295c567d7251215b2a5f5b7e5b5b685258505848487e485a5a585a484b432b487f6e517a4c5e585c5e7676587e5b635058755b5b77435b36587d614840584878707e5a585c5c485c58716350584b5b366e5f61484853294840584878707e5a585c5c405c58716350585876586d485b7a605c4a5058535b5d77435b36587d614840584878707e5a585c5c505c587e7e5b5c5c4e7d7251215b2a5f5b7e5b5b68525850587a6058514848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a605853487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58507a60585852585540584154715d70585c48482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b58505058755b5f77435b36587d614840584878707e5a5851547e58725c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a51547e5b29513658415f5b58774b5b7e5b5b6852585058484b7e485a51547e585a7e5a2a585f635a605c505058547e585a584c48484b297870505c52585058505b535b366e5f614840584078702958585a5850484b5b2b487f215b7a4c5e585e5e766d58585b5b5c51487e5b4c5c407d725e585e5e766d58585b5b5e514b6050582c5b5a51435b366e5f614840584078702958585c5c507d5153607a60505a484b71295058535b5a514b5b7e505d215b2a5f605058535b5a51435b7e492d5d7a4a585a484b712b7a77502b5858587e5860585c5258505c50582c5b366e5f614840584078702958585a585f484b5b2b487f215b7a4c5e585e5e766d58585b5b5c51487e5c725c407d725e585e5e766d58585b5b5e514b605058715b5a51435b366e5f614840584078702958585c5c507d5153607a60505a484b71295058535b5a514b5b7e505d215b2a5f605058535b5a51435b7e492d5d7a4a585a484b712b7a77502b5858487e5860585c525850505058715b366e5f614840584078702958585a584a484b5b2b487f215b7a4c5e585e5e766d58585b5b5c51487e5d725c407d725e585e5e766d58585b5b5e514b6050584f5b5a51435b366e5f614840584078702958585c5c507d5153607a60505a484b71295058535b5a514b5b7e505d215b2a5f605058535b5a51435b7e492d5d7a4a585a484b712b7a77502b58587e7e5860585c5258505450584f5b366e5f614840584078702958585a5856484b5b2b487f215b7a4c5e585e5e766d58585b5b5c51487e5a5c5c407d725e585e5e766d58585b5b5e514b60505b535b5a51435b366e5f614840584078702958585c5c507d5153607a60505a484b71295058535b5a514b5b7e505d215b2a5f605058535b5a51435b7e492d5d7a4a585a484b712b7a77502b5858615b585a5c5a5829587e5870585d7870505c5058486d5858587e5c295c487870585a787029585851542f5858587e58725c5b7870505a484b5b515d485855505b547e5c60725d5a5d7a5d5e5a584d505b5469586e582a5861587e58295c4878705c5d50585f5b584e7670584a584f4b6e29585a6e6a7e585b58484848585f484121555e70584d484a5b6853585855757e5c5b58772173585c5c48786050585358585a485a58584848616850585b5b5a5e7648586e2958487f4a5e584a5858525850544848532948484b685c5b7270584d405a585a585b4b48295850585876587e7e485e4a505b5b5c5b5b2050405b5258505850585876587e615b58774b684848582b587e5b5b2050405b5258505850585c4858724c5758486d5b2050405b4848582b587e585550585b5b5c5e7672585c51507e485f5b6f4b2d484f5b695b2b50405b487c705f584d405a585c5e48717e5f5b5273405a58586d4358485f365058587e585a7e5a4a5a505b48485f6b50585f60577e535050585876587e5870584c5c507a484b585058587e584c5c7e7a73405a585c5f365d6e6a7e585c5058576e505c5058587e585a7e5a555a505b577e507a5058587e584d405a5f5a585850585c7e585a7e5a545e762b58715b5b58586d21584853365058587e585a7e5a4a5a505b48485f6b50585f60577e5350505858765871487e585a7e5a515c7a5c485a585848485b5b585a5858525850725c4848585e7e6a7e585c5c58577e507a50585b5a585d7a5d5c5a585852585058507e5f5b5b515c5c485a585850585f5b5051502b587e5b5b7f6e21555058587e585a7e5a555a58585258506e7870505a577e50505058587e5873405a5b5a585b484b6d29484b20285a204c5a584853365872587e585a585b4b7e295850585c7e585a585a7870505c78295c585058535b58414b6b4d484b585058587e584a585a5c5c50785d6e6a7e585a585b7a295c5d7a4a5c5d5872585a485a585850585f535b5c587e586e295a50585b5b582a5f5f5d485c5d485a585a4b48295c5058587e584a2958585d7658585a585b48485f6850485c7e58725c5b78605c5a50585b5b584e7670585c5c5d7a4829585a6e6e5b5a6e535850585457585a585c484857615b5c585d485a585a4b48295f5058587e58725c5b7860505a7870505d50585c7e5874766d5858582f5858587e58295c5d7a4829585a6e6a7e58725c5d4d4829585829587e585a585a48484b6b507e536850585c7e58747676587e582b587e587e58725c5d4a6e29585a6e6a7e58724c57587e57585058587e58725c5b7860505a7870585b5058536855485858567e58585058505758586a54587e6a7e58725c5d4d4829585829587e585a585b52585058577e505850585f5b5b5e7671584a585848484b685048587e58725c5c7860505a484857555d4858555a60585a4b4829585829587e585a585b55485858567e585850585b5b584e7671585a585b48485f6850485c7e58725c5b7860505a5d4858555a6e6a4c585a585848486168507e587e585b5a4c584c5c5b78715a4d58486c555d585c5e7f60585850585f6850484c5a4858535850585876587e487058725c5b7a4829585058535b582a5f5f5d485c7e585a7e5a585a505a50585f6850485c5a485a58585058536b507e5b5b2e505c5b525850584b6e4b585058535b366e5f575b5c587e585a7e5a5a5a505c5058535b582a407058725c5d7d5c5e587e7e5f684b71767e585a7e5a5d5a505d50584b515d48535b2b505c5b487d705b584a7e5a585c5f325058532a7a4d405a58586e5d5a605858525850405048405a485a585850585876587e6e7058297a5c485a585852585050507e535b2f505c5b525850584a4b767e5870585d577e50545058547e5873405a5a586e5b5a6e535850585b5b5f5e767058707e5a585a505c5d48587e585c5c487870505a52585058507e4857585c5c585048545458486a5d485a585a50487a7e5b5a505d484b4b68507e5076587e58705b5829585058575b5c5e76715870585d52585048507e485758586a7e5b295c58577e50585a60585e4b48295a5872587e585a58585258507a507e4b5b58774b5b7050485b7870505a525850584b7e4b585058507e5863405a585a585d5d485f5b2a505c5b487d605b584a7e5a585c5f3250584b2a7a4d405a58586e5c5a60585e484b5b5b5f5a585e5258504850585b5e5e2b767e5863405a585a585d4b48295d5a60585d5058402b58717e7e585a7e5a5c5a505a5b5c587e5860585a577e50485058507e5863405a5e586a7e585a7e5a5f5a505a4b48295a5058547e5873405a5f5a585a5058542b58717e54587e6a7e5b4a7e5a5b5a505a48485761484857515d485f5b2d505c5b50585c2b587e587e5b4a585a48412c61577e505c5058587e584c5c5b7a73405a5b5a585f50585c2b587e58495a60585c5058542b587e6e7e5860585c577e50505a6e535850584c76587e487058725c5a7a4c4c5c485a585f487f5a5b584a7e5a585c405c485c516e7e485c7e585d405a585c51727e485f5b2c505c5b5258505850585f68507e5c2b587e587e585a585b48485f60577e505c50585b5b2e505c5b525850584b6e295d487c5a5b584c5c58577e5058487c605b584c5c58577e50585d6e6a7e5b4c516a7e485c76587e5b5e5b5c5b5b2e505c5b5058582b587e5b5b2d505c5b487c5a5b584a7e5a585a585b7870505b577e50585058587e584c5c5b7a73405a5b5a585850585f6850585c2b587e58495a60585a4841716150585f6850485c5a485a585a487f215b4d484b5850584c76587e7e705b5a585a4848572b507e535b582a4b5b7e50505b787240785058487e5b4a7e5a5d5a505d4b7e4b58487d705b584c51407e485c76587e5b5b7f70585a7d2a5c2b587e5854587e6a7e5b5a585d577e50545058547e5b5d405a5a586e5b5a60585f525850405048405a485a585f50584c76587e6e7058297a5c485a585f52585050507e535b2f505c5b525850584a4b767e5870585d577e50545058547e5873405a5a586e5b5a6e535850584f5b5f5e76705b5a7e5a585a505a5d48587e5b4c5c487870505c52585058507e5057585c5c585048545458486a5d485a585c50487a7e5870505d484b4b68507e4876587e5870587e29585058575b5c5e76715b5a585d52585048507e505758586a7e5b295c58577e50585a60585e4b4829585872587e5b4a585f5258507a507e4b5b58774b5b7050485b7870505a525850584b7e4b585058507e5863405a585a585d5d485f5b2a505c5b487d605b584a7e5a585c5f3250584b2a7a4d405a58586e5a5a60585e484b5b5b5f5a585e5258504850584f5e5e2b767e5863405a585a585d4b48295b5a60585d5058402b58717e7e5b4a7e5a5c5a505a5b5c587e5860585a577e50485058507e5863405a5e586a7e5b4a7e5a5f5a505a4b4829585058547e5873405a5f5a585a5058542b58717e555058587e584c5c5b7a73405a5b5a585850585f6850585c2b587e587e585c516a7e485c76587e5b515d485f5b2d505c5b50585c2b587e58495a60585f5058535b7f775c2b587e487e585a585b48485f60577e505c5058587e584e767e584d405a58586a7e584c5136584c295c485a585b4848572b507e535b582a4b5b7e50505b78705c5b5877205b2b505c5b52585058507e575b584a585a7d5a505a7a4c4c5c485c51407e485c7e5870585d7a73405a585a585b5d585c5550585c76587e7e555048507e584a5858577e50505058507e585d405a5d5a585850585c2b587e6e7e585a585a577e50505d6e6d5b51605c5a50585b5a585d7a5a5c5a585b487f3636366e7d575b5c587e584c5c507d70505a5058535b7e492d3678725c487d725c507a4a505c7d5a505a5058535b7e56587f78725c487d725c5c7a4a505d7d5a505a5058535b7e50584978725c487d725c5a7a4a505a7d5c5c497d70585d50584b60505853607860505a48485f2950585c7e58725c4f7877435b58415f60484b6168504850555058587e5873405a515a585a484853294840705c584e76715b6e535858725b5b2a505c5b52585058507e4b5b584a585a7d5a505d7a4c4c5c485c517a7e485c7e5860585c7a73405a585a58515058582b587e587e585a5851577e50405d585c5550585f5b585c5c435058535b5841436b5058535b5129407b7d5a5c5a50587a76587e5871586e5758505854705b5a7e5a5b5c5f2d7a4a585b4b7e295a5058535b514140715860585a48485f295048507e5b5a585d48484b6178705051484b5b6852585058507e545758586a7e5b605858577e50485058587e5b5d405a5e586a7e585a5858577e50545058587e585d405a5a58215550584876587e7e70584a5858577e50545058487e585d405a5a5a58584848582b58717e7e585a585c577e50545058587e584d405a5a586a554358587e585a585b4870705e48765a587e505a587e545d365850547e584c502d7176487e584c5040717252587e505a587e5658367e60585b487e705e48765a587e505d6e512d565c715a585b487e705048765a587e497e497e60585b4871705048765a5836587c5d715a585b4870705048765d32582d547e584c502d70504a5c715d7a5858586a49585a5858525850545e7058584848582b587e6e55716e5c5b5b512173585c5c487860505f53585873585c5c487860505d5358585a485a585b484e20575b5c585a485a585b484869575b5c587e585a585b5c5d767e585a5c5c5d585c555058587e584b5a4b584c5c5b7870505e5c5f21705b5b5b575058587e5b715b545058587e584b582c5a60585c50585c7e58715d2a584a585d4848582f5858217e584a585c7870585d484820685c5d487e58295c48787048585d585c555c5b7a585a60585f484b5b685358587e58586d4f5848533650585876587e48715b5853364848587e58724c57585b767e5b5c5c507d4a505f50584b5b58415f5f5d48587850585076587e587e5b4b5d5f58486a715b4a585852585058507e587e584a585a50584f685058575b5870585c484853615e605858525850585258507a5c487e585a6e295850585876587e587e584a7e5a585c7255506e587e585c5c58577e50545058587e584d405a5b5a585850585c2b587e587e585a585b48485f68577e5050505858556c6e5c5b582a2173585c5c487860505f5358587e5872516f363636365860505e50585f6b4d484b58505858485d4a5c515058585a7f60585b5058435b5841435b5c5e6d535b5c587e5b4a585b48485f29577e505050584c7e584a585a7873405a5d5a585f4848616850584f5b5a5e76487d707e5a585b5a5a58486e5b5a60585e48485f6b5a295c5b7870505e5c505c5b5048507e5b584b585058507e5b60585c5c515c555058547e5b5e6a70586e4b5850584b5b587748705b5a585a7870585c50587d68505854487a486a7e584c5c5b4b6e4b5850587a485c586a7e585a585a5c5c297e585a585e5c5c6e7e5b4c5c48787048585d6e6a485f6e58557158505b582a2173585c5c48786050505358587e5872516f363636365860505350585f5b7f2a57684d484b58505858485d4a5c525058585a7f60585b5058755b5841435b5c5e6d535b5c587e5a5a585b48485f29577e505050587e7e584a585a7873405a5d5a5850484861685058715b5a5e76487d707e5a585b5a5a58486e5b5a60585348485f6b5a295c5b787050535c505c5b5048507e5b584b585058507e5a70585c5c515c555058405c485a585c484853295058536850587a7e5b715b615a60585d5058487e5b4e696b507e545c485a585c48485329507e7a7e5874767e5b725c5a7d5e767e5b6058527870585f484853297870585d5c515c5550585f5b584c7a5c485a58525c5b58555058587e58715b575058587e5a4b5b545058587e5b5a585e7870585d787050585c5d727e5a5c5c58577e505c5058507e585c5c5a7d5e767e5a5c5c5c787158635058715b5c5e7672585821555c5b7a585a287e5b582a205b60505c5b5c582971582951507e485c485a4a5c5b506e5b5b5c5e6a70587048585058507e585d76585d295f365048587e58484b5850585c5c7f60585d5058506a58582148434a585b5c576e5b5b4c5c585a6050585058576b4841217e585b6a7158586a7e58725c4878704858505858557a585c5d7f605458484b5b6b507e5472585a585a484e20575b5c585a485a585a484869575b5c587e585a585a5c5d767e585a5c5c5d585c555058587e58715a4b584c5c5b7870505f5c5f21705b5b5b575058587e5b4b5b545058587e5871582c5a60585c50585c7e58715b4f5058575b585d76585d60585a50584b685058575b5d2b7648575a585d484b5b68535858495a61584158586a4a585a585b5b5c587e585a585a5c5e4c7e584b5b5e5e7e6a552e585c5b582a2173585c5c48786050505358587e58725f6f507e727e584c5f367a2b69575b5c587e585b58575048765a7f60585b5058755b5841435b5c5e6d535b5c587e5a5a585b48485f29577e505050587e7e584a585a7873405a5d5a5850484861685058715b5a5e76487d707e5a585b5a4b58486e5b5a60585348485f6b5a295c5b787050535c5f21715870585c5b5c587e58705852505848484f486a7e5b7e4b585058507e5b5e767e5b60585e5c5f4c555058547e5b5a585f78746a70586e4b585058507e5b5e767e5b74767e5b5a58527870585f7870585d5c5f4c5550585f5b5a727a5c485a58525c5b58555058587e58715b575058587e5a4b5b545058587e5b5a585e7870585d787050585c5d727e5a5c5c58567e58515058587e5874767e5a5c5c51787158295058715b5c5e7672585821555c5b7a585a60485b58412173585c5c487860505b5358587e584a5858577e505050585c76587e7e71585a585b484b5b685358587e58586a53585a58585c5b402b587e5855526e5c5b7f6058585258505c5048505d485a585b505853515b5c587e585b5b295e70585a48484b6b5048505458486a555058587e584d405a5b586a68585a5458484b5b6b507e5072585853585058587e584c405c485a58584848582f58517e5458486a7e584b58485a60585a484b5b68535858555158587e584c51363636363658296a5c485c512d515b5a4e587e585550585f5b58774848416e6a53585a585b4848582b587e5855577e5b5b6a534c5b525850585e725e6e75485c76587e5b5b6a534c5b5c51575b58774b685e725e6e75485c76587e5b5b6a534c5b5c51575b58774b685e725e6e75485c76587e58785a63295b58412173585c5c487860505a5358585a485a585855485b2d50585f5b51726d604b484b5850585b5b584d76587c586e5b5a60585a4848716850585c4836485c7158586a7e58725c4878704858505858554b485c5a7f605458484b5b6b507e5872585c5e6e75485c487d5b767e585c5136363636365863405a5d5a5858487f363636362151577e505050585b5b5d5e767e585c5c5078715a70584a7e5a585a5c5b50585b5b5c5e7672585a585b5a6e725850585848607e5c485c586a77585a585d50585476587e587e5870585b786050587860505a577e505850585b5b585c765c485a585a50585c7e585b5b5a5e7e6a555c58587e585a585b5c54295b5058587e5873405a5b586f5058485c5c7f605458484a5b6b507e4c72585a585f50585c695858582a5861587e5b4a585b52485850576e54405872587e58295c484a484b585058507158486e5b5a60585d48484b2b50487a7e58705c5b5829587e585a585f484b5b68507e7e7e5b5b5a77584a585c50585c4877485c7e5b5c5c4878705c5c50585f5b5c5e7671584a58505c566a5b5058435b584e76705b7058514b6e29585a6e6a7e5870585d7870585b7860505a5b5c587e585a585f484b5b6850584c48696e5f5b585a5c5e5829587e5b5a585f505843685548585850585c6d58585b63567e585850584b5b584e76715b5a585b48485f6850485c7e5b725c5b7870505e505853515d4858555a60585f484a5b68535858555f48587e585c512d296e582b587e587e585c5c48787158525e7058585a614c5850585b5b29575458577e505850585b5b5d5e76485a71767e58586a5c585c5c5c5a6e215850585876587e587e585a7e5a5b5d405a5b586d5858485336506e5b5b5c5e6a70584a485850585c7e585d405a5d5a585b4848716850585f5b5d5e76484c705c5848484b5b584c5140717e5c76587e5876587e587b5048507e585b5b4b50585f5b5c5e7672585a585a5a636e5b58412173585c5c487860505f5358587e5b4a585c577e505450584f5b5a5e767e5b4c5c5478715b4a5048487e585a585b5058507e58615a2a584a5c58505848484c4a585f484b5b685358587e58586a54585a585b5058506d5858582f585858555c7e587e5b5a585a577e505850587a7e5b4d405a585c5c5d5a607e5b5841217e585c516a297e582b587e585a485a585852585050507e5f5f5d48587e585a29585d5c4c57585a585b5c5b5855505858552c58725b5841215a485c512970585c6d58585b5b58415c57585c512970585c48535c4c5758585358487c7050584a2958585c5c5b7a482958487c7050584b58724b4829584878704f584b587b4878704f584c5140297e582b587e5873585c5c487860505b53585b5b6a534c5b487e582a586e587e584c5c58577e5054487b704f584a585b484861685c54295b487b704e584c5c58567e585850585f5b5c5e7672585b5a5b58725c7c4a484b585c5b7a585a295e6e75485f5b6a534c5b5c514b5b51715a585870505b577e5058487b4a4f584a585b577e5058487b5a4f584b5b5d50585f5b32585b68577e505848485848366e5f5b51715a4158725158757e5f5b74712d484f5b695b6a534c5b5c5f5871584c5e6e75485c487548535b6a534c5b50585c487558535b2153505b5c5b6d5b2153505b48404d7d585d405a585c516e727e5f5b6c507a5b5c5b7648515c512d727e5c485e29512d727e5f5b69572958577e5058487f704a584c5158716e5c485e71587a48405a4d584b587b4840604d584c5c58567e58584840704d584c5c58577e505848405a4d584c516a297e582b587e5b5b7053545b487b586052585058577e505848405a4d584c5e5c70485c485e71587a48435a4d584b587b48435a4d584c5148287e582b587e5b5b7253545b487f6050584b58785c5b615b7453545b5c5b6d5b7453545b487c4d41585d405a585c5e40726e5f5b7350725b5c5b7648515c5e7e726e5c485e295e7e726e5f5b76575458577e50584878704d584b584e577e505848785a4d584c5e4c70485c485e71587a487b5a4d584b587b487b5a4d584c512d2b58582b587e5b5b6a53545b48436053584b58785c5b615b6c53545b5c5b6d5b6c53545b487c6343585d405a585c5e2d726e5f5b6950725b5c5b7648515c5158726e5c485e295150726e5f5b6b6d7e58566e5c58487a5a4d584c5148296e582b587e5b5b6353545b5c5b5c78487a5a4d584c5e6a70485c485e71587a487d704d584b587b487c5a4d584c526c7e505a586e584c2a587e5b5b2b53545b487f734d585d405a585c5176726e5c485c4b695b2b53545b487b4a53584b58785c5b615b3253545b5c5b6d5b3253545b487a4d7d585d405a585c512d726e5f5b60507a5b5c5b7648515c5e5875585c485e295e5875585f5b6c572158577e505848405a4c584c5148716e5c485e71587a4840704c584b587b4840704c584c5e542d48582b587e5b5b7053485b487d7051584b58785c5b615b7253485b5c5b6d5b7253485b487f4d70585d405a585c5e4875585f5b2d507a5b5c5b7648515c5e4075585c485e295e4075585f5b63567658577e50584843704c584c5e5070585c485e71587a48785a4c584b587b48785a4c584c517e2f6e582b587e5b5b7653485b48435a50584b58785c5b615b6853485b5c5b6d5b6853485b487d4d6a585d405a585c5e7675585f5b74507e5b5c5b7648515c5e6e75585c485e295e6e75585f5b60562958577e5058487b5a4c584c5e7e70585c485e71587a487b704c584b587b487b704c584c5e212e7e582b587e5b5b6c53485b48787050584b58785c5b615b6e53485b5c5b6d5b6e53485b487c5d6f585d405a585c515875585f5b6a507e5b5c5b7648515c515075585c485e29515075585f5b71495c58577e5058487a704c584c5e2d70585c485e71587a487d5a4c584b587b487d5a4c584c5e76217e582b587e5b5b2953485b487a5a50584b58785c5b615b2b53485b5c5b6d5b2d53485b48435d21585d405a585c514075585f5b6f564858577e5058487c5a4c584c516a2c58582b587e5b5b2b53485b487c7051584b58785c5b615b2f53485b5c5b6d5b2153485b487b4d21585d405a585c517675585f5b61564058577e5058487f5a4c584c51292c7e582b587e5b5b2f53485b487f5a51584b58785c5b615b3253485b5c5b6d5b7e534c5b5c49765b487f704c584c5e6e2f58582b587e5b5b3253485b487f7051584b58785c5b615b70534c5b5c5b6d5b72534c5b5c49765b4840704f584c51542f48582b587e5b5b70534c5b48405a50584b58785c5b615b74534c5b5c5b6d5b74534c5b487a6363585d405a585c5e4075485f5b60507e5b5c5b7648515c5e7e75485c485e295e7e75485f5b61494858577e505848785a4f584c514870585c485e71587a487c5a50584c5e7675485c2b587e5b5b2c507e5b487c5a50584d405a585c517670585c48506e6d5b2e507e5b487c4a50584a7e5a585b5a485872516e70585f5b2e507e5b577e5058487f4a50584b58735a605858487f5a50584a7e5a585a7e5a585a5058577e505850585848637e5c555c6e587e585a585b52585058507e582b587e587e585b5d5658486a60585a5858525850585e70585852585058505858487a295c5a7d5e767850585876587e587e585b5b48484853297871767e585a7e5a585a58585c51575b58774b685e7e6a4d585a585850585876587e5b5b584e6a70585d405a585a58585a2b215b5877217e585c5140297e582b587e587e585c5c5078705c5b5829587e584b5b48505853555b5c587e584a585a5c517a76587e585c485a585b505850487d607e5a585b5a7358486a7e58725c5b78705c5a5d585c555a60585848437e5b787158525e70585b5c535c5a50585c76587e585c485a585b5c534c5a50585c487d5a585b5258505850585c487a615d2158486a7e58586a68585a5858525850585e70585852585058505858487a295c5a7d5e767850585876587e587850585876587e587e585b5b4848485329787176555d58587e585a5858525850585c496a5b5a2b505b582a205b5a5b5851507e5f5b29492158577e505850585f5b36492158577e505850585848727e5c7058725c5778715b7f507e575b585d405a5a5a585d5058502b587e487e5860585a577e505850585c7e58295c54787058585058535b584e76484873405a5b5a585b48786058584d405a585a585b487a6058584c5c5d5c5840585a2a505b582a2173585c5c487860505b5358587e584c5e6e75485c2b587e587e584c5e2975485c76587e58705873405a5b5a585b5058507e585c5c5a7d5e762b587e7e7e584a505d5258505c5048587e58607e5a5a5a5c5a5829587e585a585a4b7e4b58505854487048507e584c5c48787048585b4c5e6e75485c487d5a58585c492d5b5058547e585c5c5c78705058577e505c5d585c555a6e6a7e585a585848785d4d585d405a585a5858525850505c5b43515b5c587e585a7e5a5a5b5d4c587e6a7e58586a5c585c5f365a32505f58486936506e5b5b5c5e6a705c6048585058507e585d405a585a585d4840585c7a4a5c4f50587d5b587748715f7e5758505b4b5b5b5c405c485a58575c58755b584c6a5c485a584d50582948485d405a5a5a585a505b575b5a5e695b584b5a7f587058575c5e6e7e58707e5a585b5a72584d405a58586a7e58295e6e58415c7058295c484b6e4b5850585c7e58295c7e4b7e4b3650585076587e585f50585855577e50585a60584d484b5b685358585f5872585a485853585872585a4858535850587e7e5f5e766a585858565b48585b586e505c5b486a7e584a585a52585058577e50585d58485550585c7e58707e5a585d405a585a585e484a5848494a5c515058507e58707e5a585a504948484b68577e50585058217e5b63405a58586e5d5a6058575c5c725758705857484858486a485c76587e58715b60585a50585076587e58705d295c5c7873405a585a584950587a2b587e5854587e6a7e5d5b5b53505b4f5f7a7e295b5058507e5d5b5b5850586e487b5a585a525850585c52485b577e50585d585c5550585076587e58715f60585c505b4368507e48715b6e57585872587e5b4a58514d4829585058435b7e5b587e5b607e5a585b5b564b48295850587d5b5b5e76715b6e6e5b5a6e6a7e5d70504948485b525b5c585d485a584948485b545058487e5b2920604b484b5850587d5b5b5e6a705b607e5a585a5c485058507e58707e5a585a504b48484b68577e5058505b5c7e5c5d405a585a584948485f6b5048215458486a555058205b585c6e5c7f295c585b4a585e484d584849486a715c4857585058507e58707e5a585a504848484b68577e50585058205b585c765c485a5848505b5c2b587e587e5d295c5b78605c495d585c555a6058485058722b587e58555872587e5b5a58514b7e4b585058435b545b58205048217e5870585a5258505850715b5b5b5e76705b63405a585a58485058212b587e585458486a7e5a615b535b51205b7f6e4c7e5a295c585c586a6a58585855504b5b5b585a5c49484858715c7e57585058487e5b297a5c485853585058217e5c5c7a5c485a5849504b5c5458486a7e5870585a5258505850715b5b5b5e762b587e587e5c5a5852577e5058484858715c4a58555c58727e5c725c5b7870504a4d484b58505821715c586e5b5a605855505b50485a602958585c5136585c405c485c5f36504b585458486a7e5a60584a5c586a6a585858715c586a7e5b295c5c78605051525850585048217e5870585a525850585071715b5b5e762b587e587e5e5a5849577e5058505b5f5b584e76715d6e6e5b5a6e6a7e58707e5a585a5c515a60584150587a486b485c55505b4b5b584e76715f586e5b5a6e6a556948505b58412173585c5c48786050525358587e5a4853365058585c485a585a5c525c5a5048585a485a585b5b5c587e5a7058585c5e727e5860585252585058577e58585058767e585b5b765d585c555058767e585b5a75584a585d50587676587e582b5858587e5a7058585c5c765550587e7e5a715b41505876485a71767e5b5a58585c5c7e2b587e587e5b4a58585c5d7e2b587e587e5a7058585c5d7a7e5b7058525c5d587e5a7158525e705852505858484a605851505876484f6058525c58767850585848436e6e5b5a60585a5c52585a5048585a485a585b5b5c587e5a7058585c5e727e5860585252585058577e58585058767e585b5b765d585c555058767e585b5a75584a585d50587676587e582b5858587e5a7058585c5c765550587e7e5a715b41505876485a71767e5b5a58585c5c7e2b587e587e5b4a58585c5d7e2b587e587e5a7058585c5d7a7e5b7058525c5d587e5a7158525e705852505858484a605851505876484f6058525c58767850585848436e6a2b587e587e5a725c48787048585a20485f58486936506e5b5b5c5e6a705f5a48585058507e585d405a585a585d4840585c7a4a5c4e5829587e5f4c5c5c4b7e4b58505829485a4c5c5b4a6e4b58505b487e5d4b5b58577e50505058507e5f5c5c5078725c5b5c52405a505829487b70585a525850585c52485b577e50585a60585d487b585b7a4a505d484b5b515b5c587e584a585d484a5b5e5b51217e58707e5a58584c7e58586a2b587e5855505b4b5b5c5e7672585821555872585a485853585872585a4858535850587e7e5f4e766a585858565b48585b586e505c5b486a7e584a585a52585058577e50585d58485550585c7e58707e5a585d405a585a585e484a5848524a5c495058507e58707e5a585a504848485f68577e5058505b587e5d63765858586e5d5a6058575c5c725758705857484858485a602958585a5c495058507e58707e5a585a504848485f68577e5058505b587e5d63765858586e5a5a6058545c5c727e5f724f605d485c7e587058545c5c587e5d5b5b6c50585076587e584869585c2b587e585458486a7e58707e5a585a5c415058487e5b2b76705b5a5c4b5829585a485a585f505b5f575d48587e5b725e585c5a584b555858585c5c4b5f5d48587e5c4c5c5b78705c4b5d585c555a605856507e205b585c765c485857585058205b585c6e7e5b5a584b4d2a535f5b5c587e5c4c5c5b7860504b55485858504b587e5870585a525850585071535b584e762b587e587e5c705848567e58585058205b584e6a715d6e6e5b5a6e6a7e5d295c584d584b364848585f5058435b545b58695a605c4a5829587e5870585a5258505850715b5b584e762b587e587e5d295c584a7e4b58505b587e5c737658585a584948485f6b5048215458486a55505b587e5a4d765858586a5a485a585c505b5f5e5b5c587e5b725c6e5c5a72715d60585a50585076587e58705c5c5c5b7873405a585a58485058212f5858585458486a7e5a615b535b51205b7f6e4c7e5a295c585c586a6a58585855504b5b5b585a5c49484858715c6e57585058487e5c4c4057584853585058217e5c5c7a5c485a5849504b505458486a7e5870585a5258505850715b5b584e762b587e587e5c5a5852567e5858484858715c7058555c58727e5c295c5b7870504d4d484b58505821715c586e5b5a605855505b54485a602958585c5136585c405c485c5f36504b585458486a7e5a60584d5c586a6a585858715c586a7e5c4c5c5b7860504b554858585048217e5870585a525850585071715b584e762b587e587e5e5a5849567e5858505b535b584e76715d6e6e585a6e5855505b7a7e58707e5a585b5b2c5a60584f48485f68504b4c5458586a585a2f4c5a58485f36506e5b5b5c5e6a705a7048585058725a7f6058585b5c587e58715a7658705c585872587e58484b585058767e585b5b695058547e5a707e5a585d4058585a58525058584878586e5b5a6058525058584869485c7e5860585252585058577e58585058767e585b5b525a60585050587648545a58525c5876785058487e585b5b50567e585850584c7e585b582d567e58585058767e585b582a5058407e5a71586e505876485a71767e5a7058585c5c6a7e5b6058525c5d587e5a7158525e7058585c5e7a5458486a7e58715a7758705c585872587e58484b585058767e585b5b695058547e5a707e5a585d4058585a58525058584878586e5b5a6058525058584869485c7e5860585252585058577e58585058767e585b5b525a60585050587648545a58525c5876785058487e585b5b50567e585850584c7e585b582d567e58585058767e585b582a5058407e5a71586e505876485a71767e5a7058585c5c6a7e5b6058525c5d587e5a7158525e7058585c5e7a55577e50585058695b5c5e767258586a50585a5858525850584b486a2a58485f36506e5b5b5c5e6a70587048585058507e585a7e5a585d405a5a5a585a50585076587e7e7e584c5c5a7d5e762b587e7e7e58707e5a5a5a5c585058535b5c5e7672585a58585a6e765850585b5b74507e5b5c5e48555a7e587e585c5e7e70585c4843586a53585a585850585c486b7e5055516e5c5b7f60585b525850585c49765a5048507e585a585b52585058577e505c5058587e5873405a58586f615d6e5c527f605458487b585c786050555358587e5a605852577e52725b5a585550585c2b58687e5c50586d5b5773405a405a585550586d5b70585f6850586d5b72585f6850586d5b2d585b68507e5c485170504952585058507e762b5876485b50586a7e5a725e48582b762b5876585b50585c485c4a5c4b50586d5b29585b685c5c7a715d705855484c5b6b5c5c7a715d5a5855484d5b685c5c7a715d4a5855484a5b685c5c7a715c5a5458484b5b6b507e5c72585a58555877217e587e4b5850585c7e58615a715870505a5c5e727e5a60585b52585058577e5b2d50585c7e58715b765058297e584b5b4150585c485a71767e584a585a5c5c767e5d5a585b5c5f7a7e584b58525e705855505850484a5d405a7d5a585550585048565d405a7a5a585b505850485760584b50585c48545a585b5c58767850585c7e58715b5550582d7e584b5b4150585c485a71767e58715b775d585c5550585c7e58615a7e5870505a5c5e727e5a60585b52585058577e5b2d50585c7e58715b765058297e584b5b4150585c485a71767e584a585a5c5c767e5d5a585b5c5f7a7e584b58525e705855505850484a5d405a7d5a585550585048565d405a7a5a585b505850485760584b50585c48545a585b5c58767850585c7e58715b5550582d7e584b5b4150585c485a71767e58715b775a63405a515a585b484b5b685358587e5a4a585052585058577e505850584b5b7e584b615071535b5a4140715c295c5850485f5b585a5c5a5829587e58705c525872585a485853585872587e584c5c5c4b7e29585058587e5a295e765b5e764857724c57585c5c585048485a485853585872585a485853585872587e5a29512d585e767e584e766a585858565b485c585b58545f5a486a7e584c5c5d4b7e295150587d5b7e54585850585848504b5b565b5c587e5a295c48787058585c52545a505b587e5a607e5a5c5b5d5158486e5a5a60585f50584c76587e5b5b5b51502b587e5b5b585a5c585d58405550585f5b582940575b7e6a5d485a585850586d5b68584b685c5d435f5d48407e5b295e586e58587e585b58715c5c2c5f5d48407e5a295c48787058585c52545a505b587e5a607e5a5c5b5d5158486e585a6e585550586e485a4c5c58505829485a4e6d5e5d48485a485a58545c58725c485a58575c58725758486a7e5d5b58535048547e585b58715048507e586e4b5850586e485d4a7e5a585a585a4b7e4b5850585848534b767e5d5a585250586e485a4c5c5b4a616a71587e6e505a60585e48485c2f585858545b7e6a7e587058575c582976587e5b515d484c7e585b58755e70585e48485c2f5858587e5d4a5852505829485a4c5c5b4a616a71587e6e5e5a6058585c5a5c7e5d5b5857525850584b7e4b5850585848534b767e5d5a585250586e485a4c5c5b4a616a71587e6e5e5a6058585c5a5c7e5d4b5857525850584b7e4b5850585848534b767e5b725c5b567e58585058297e5a7058575c58755b584c6a7b504850545b7e6a7e5b4a585f5258505848484b60577e50584848587158586e5d5a60585250585f5b587275604b484b58484858715870584d50585f5b5872407e5a6029587c295c584b2a5f604b48295f5a60585550582d48485d405a5a5a5855484b5b6850586d5b5a5e764868585c71587e535850585f5f5d48587e584a5855787029587d295c5b4a6e29585829585a485a585550582d487b5d405a5a5a585a50586d5b5a5e76484e294c57585a585148405d58585a585a52585058525850585c5c2c5f5d48587e58715a4f58486e5b5a6e6a7e5a6058565c5c582b587e7e7e58707e5a585a58555258505078295c5a7d4a505a505b58485a4c295c485a5855505b58487b5d405a5a5a5855484871684848587e58746a48776e5071586058485c5e6e715b5a58565c5c58715f5a5458484a5b6b507e5072585a585a5058482b5871587e5870585d577e50405058507e5f5d405a5a5857585872587e58725c407870585a484b5b685c5f6a7058294c57585a585a525850405258505850585076587e7e76587e5b515d48587e58725c4078715a4f584a585a484871685c534c5b5d585c555a60585a484a5b685358587e58295c5b7a6e295b5a60585550582d48485d405a585a58554848716850586a4868585c7850586a7e5a607e5a5a5d405a5c586a7e5a60585552585048577e50505829585a485a585550582d487b5d405a585a58554848716850586a484e294c57585a585850586d5b68584b685c5d435f5d48587e585b587150586a76587e7e76587e5b515d48587e585b58755e705855484871685c534c5b5d585c555a60584a4b48295d50586a7e5d715b6a577e505850586d5b5a5e767e5a615b7b4b48295d50584c7e5b4a7e5a585c5c5c7a73405a585c5c5850485854587e6a5d485853585058587e5a295e765b5e764857724c575858533650587d5b7e5b587e585b5871507e50484d7e4b5850587276587e587058605855525852725b5c405c485a58505058727e5a295e725b5e7648717e5c7e5a4a7e5a585a5c5d5a6058535058575b5b5e762b587e587e5860585a577e505850584b5b584e765458486a7e5c4b58534b4a585c4b415057584a585a50586a7658775b515d485c7e5a607e5a71585c705870585552585258584c405c485a584950586d5b71585f6850586d5b7e585f685c50405b50586a765876485b5048505550586a7e58725c5c7873405a71585c7e5870585c577e5058484858555048487e585b58755e7e6e5b5a6e6a7e5b5c4c7e5a607e5a71585c7058705849525850584b77535f5b5c587e5a607e5a7e585c7e5872405c485a584950586d5b71585f6850586d5b7e585f685c50405b50586a765876485b5048505550586a7e58725c5c7873405a71585c7e5870585c577e50585a6e535850586a765871615b585c6e57585853585058587e5a295e765b5e7648525c4c5c485a58585c5a5c7e5a607e5a7d5c405758486a7e5b4a585f5258505848484b60577e50584848587158586e5d5a6e575850585848534b767e5a607e5a515c5c584d58295b5872587e585a585548787e5c787158764b484b5850587d5b7e5b587e585b58715c5c2d5758486a7e5b4a585f5258505848484b60577e50584848587158586e5c5a6058535258505850586a765868485c4b7e4b5850587e7e5a4a58554878485c78715a5e58486a7e585b58715048507e5a4a585352585058507e575b5b5e762b587e587e5860585a577e505850586a7e5a607e5a515c5c5b7863405a51586e585a6e585550587671587058505258505850587276587e5b515d48547e5b4a585f5258505848484b60577e50584848587158586e5b5a6e53585058695f5d485b5b584a5c5c5829587e5a71585350584b575d485c5a485a585850586d5b68584b685c5a715f5b5c587e585b58715058767e5b5b5a61584a7e5a585c405758486a7e5b4a585f5258505848484b60577e50584848587158586e5d5a6058585c5a4c7850584b5b584e76715b586e585a6e585548485c71585a58495258505850586a765876485b4b7e295848485871585a58554848582b5871587e5c4a58495258505850586a765876485b50586d5b5c5e7648554a5855525850485b5c587e5b4a585f5258505848484b60577e50585d585c5548485c7158586a7e5c5b58525e7058575c58767850586e485a71767e5d7158525e70584b5c58767850582148514a5855487b585c78704858505858495a6058525048505550585f5b584e767158486e585a6e5855516e587e585a585b5c52405b5c5a7a7e584b5a4e584a7e5a585a5c5b50585848757e5c7e584d405a58586a2958485f36506e5b5b5c5e6a70587048585058507e585a7e5a585d405a5a5a585a50585076587e7e7e584e762b587e7e7e58707e5a5a5a5c585058535b5c5e7672585a58585a6e765850585b5b70507e5b5c5e48555a7e587e585c5e4870585c4843586f5b58485c5e7f605458484b5b6b507e4872585a58585c53405b5258505850484c5a7f60585a5258505850585876587e5b6b507e575b36363636366e7d535b5c587e58295c5b7d586e5b5a295f365a60505d48485c7e58616a715860585b525850585048407e585a7e5a585a5c5150584f5b5772405c7f295c585b4a5858525850585a60585d5c532d5b507e7e5c485a585f484d43515b5c587e585b5a74584b765550584b5b574d405a5b5a585850584b5b5a5e767e5a5a585c48484b685c5b2d705b4b5a755870585f5c5b297e584a5858525850585058407e5b2b6d68577e50585058507e58605858525850587873405a585a585c484b5b68535858495a61584158586a7558485f3650585c76587e5848366e535b5e514b5b5e514c715870585850585c76587e582b587e487e585a585a567e58585a2c214858486936506e5b5b6a584b6b507e6a72585a58555058762b5868485c50586a7e584d405a6858487e5a295c2b577e537650586a7e5a295e50584e767e5a295e48584e767e5a295176585e7670584b587c507e2176587e58705a73405a71585c7e5a6058524843585d7873405a7e585c7e584b584b504b5c7e5a295140585e76485c4a5c5650586d5b60585b685c5b5c715d5a5855484d71685c5b5c715d4a5855484a71685c5b5c715c5a5458484b5b6b507e5c72585a58555877217e587e4b5850585c7e58615a765870505a5c5e727e5a60585b52585058577e5b2d50585c7e58715b765058297e584b586e50585c485a71767e584a585a5c5c767e5d5a585b5c5d587e584b58525e705855505850484a5d76587d60585550585048565d76587d70585b505850485760584b50585c48545a585b5c58767850585c7e58715b5550582d7e584b586e50585c485a71767e58715b775d585c5550585c7e58615a775870505a5c5e727e5a60585b52585058577e5b2d50585c7e58715b765058297e584b586e50585c485a71767e584a585a5c5c767e5d5a585b5c5d587e584b58525e705855505850484a5d76587d60585550585048565d76587d70585b505850485760584b50585c48545a585b5c58767850585c7e58715b5550582d7e584b586e50585c485a71767e58715b775a63405a535a585b484b5b685358587e5a4a585052585058577e505850584b5b7e584b615071535b5a4140715c295c5850485f5b585a5c5a5829587e58705c525872585a485853585872587e584c5c5c4b7e29585058587e5a295e765b5e7648544c4c57585c5c585048485a485853585872585a485853585872587e5a29512d585e767e584e766a585858565b485c585b58545f5a486a7e584c5c5d4b7e295150587d5b7e5458585058584851615b5c5b5c587e5a295c40787058585c52765a505b587e5a606e585e5b5a7158486e5a5a60585f50584c76587e5b5b5b51502b587e5b5b585a5c585d58405550585f5b582940575b7e6a5d485a585850586d5b68584b685c5d5f5f5d48407e5b295e586e58587e585b587f5c5c4b5f5d48407e5a295c40787058585c52765a505b587e5a606e585e5b5a7158486e585a6e585550586e485a4c5c58505829485a4e6d5e5d48485a485a58545c58725c485a58575c58725758486a7e5d5b58535048547e585b587f5048507e586e4b585058615b585b5855554858585058535b366e5f614b7e4b58505858485071767e5d5a585250586e485a4c5c5b4a616a71587e6e505a60585e48485c2f585858545b7e6a7e5d4c5c585c586a6d5858587e5872513658415f515d484c7e585b58705e70585e48485c2f5858587e5d4a5852505829485a4c5c5b4a616a71587e6e5e5a6058585c5b205b366e5f615058615b585b5855554858584b7e4b58505858485071767e5d5a585250586e485a4c5c5b4a616a71587e6e5e5a6058585c5b205b366e5f615058285b585b5855554858584b7e4b58505858485071767e5b725c5b567e58585058297e5a7058575c58755b584c6a7b504850545b7e6a7e5b4a585f5258505848484b60577e50584848587158586e5d5a60585250585f5b587275604b484b58484858715870584d50585f5b5872407e5a6029587c295c584b2a5f604b48295f5a60585550582d48485d405a5c5a5855484b716850586d5b5c5e764868585c71587e535850585f5f5d48587e584a5855787029587d295c5b4a6e29585829585a485a585550582d487b73405a5c5a585a50586d5b5c5e76484e294c57585a585148405d58585a585a52585058555858585c5c4b5f5d48587e58715a4158486e5b5a6e6a7e5a6058565c5c582b5871587e58707e5a585a5855525850487860505a505b58485a4c295c485a5855505b58487b73405a5c5a5855484b5b684848587e58746a48697e5071586058485c5e2d715b5a58565c5c58715f5a5458484a5b6b507e5072585a585a5058482b5871587e5870585d577e50405058507e5f5d405a5a5857585872587e58725c407870585a484b5b685c5f6a7058294c57585a585a525850405548585850585076587e7e6d58585b515d48587e58725c4078715a41584a585a484871685c537a5b5d585c555a60585a484a5b685358587e58295c5b7a6e295b5a60585550582d48485d405a5a5a5855484b5b6850586d5b5a5e764868585c7850586a7e5a607e5a5c5d405a5e586a7e5a60585552585040577e50485829585a485a585550582d487b73405a5a5a5855484b5b6850586d5b5a5e76484e294c57585a585850586d5b68584b685c5d5f5f5d48587e585b587f487f215b7a4a585552585048554858584b6e2958505858485071767e5a295c4878715a4158486e5b5a6e6a7e5c724c575860585550582d487b73405a5a5a5855484b5b6850586d5b5a5e76484e294c575860585f50584c76587e5b5b5b51502b587e5b5b585a5c585d5850555829585a485a585850586d5b68584b685c5d5f5f5d48585a7f60585148405848505858485160505a5c5c485c485a585352585058507e547e5a607e5a69584b5e5b5c587e5a5a585350586d5b69584b685c52725a50587276587e5871586e6a7e5a4a585d48485f68577e50585058547e58737658585a585c48485f685d585c55505b5c485a4c4c7e5b5c4f605d485c7e5a6029587d70585a487f215b7a4c7a57584a58555258525c584a505a50586a765876585b4b7e4b585058217e5a295e5c584e767e5a295e58584e7648717e5c7e5a607e5a71585c71587e6a7e5a60585a48484b68577e525c584a585a5058482b587e5b5b58586a715b5a58585c5a50785d585c555a60585c4b4a58555258525c584a505a50582176587e5b5e7a724c5c485a585552585258584a585a4b7e4b585058217e5a295e5c584e767e5a295e58584e7648717e5c7e5a607e5a71585c71587e6a7e5a60585a48484b68577e525c584a585a5058482b587e58555872587e5a607e5a535c5c584d5829585872587e585a585548787e5c787158744b484b58505858485129513658415c7e5a6029587d29405758486a7e5b4a585f5258505848484b60577e50584848587158586e5d5a6e5758505858485071767e5a607e5a535c5c584d58295b5872587e585a585548787e5c787158744b484b5850587d5b7e5b587e585b587f5c5c485758486a7e5b4a585f5258505848484b60577e50584848587158586e5c5a6058535258505850586a765868485c4b7e4b5850587e7e5a4a58554878485c78715a69587e6a7e585b587f5048507e5a4a585352585058507e575b584e762b587e587e5860585a567e585850586a7e5a607e5a535c5c5b7863405a53586e585a6e585550587671587058505258505850587276587e5b515d48547e5b4a585f5258505848484b60577e50584848587158586e5b5a6e53585058695f5d485b5b584a5c5c5829587e5a71585350584b575d485c5a485a585850586d5b68584b685c5a435f5b5c587e585b587f487f215b7a4a5852505848485a602958585c405758486a7e5b4a585f5258505848484b60577e50584848587158586e5d5a6058585c5a507850584b5b584e76715b586e585a6e585548485c71585a58495258505850586a765876485b4b7e295848485871585a58554848582b58717e7e5c4a58495258505850586a765876485b50586d5b5e5e7648554a5855525850405b5c587e5b4a585f5258505848484b60577e50585d585c5548485c7158586a7e5c5b58525e7058575c58767850586e485a71767e5d7158525e70584b5c58767850582148514a5855487b585c78704858505858495a6058525048505550585f5b584e767158486e585a6e58555d58587e585c5c5b484a29486c6e50785a6e6e5850585b5b584c5c6d5c56215b5e7e6a52585a585b50585b6b484853285a6e485850585c5557485c5b7f605458484b5b6b507e5072585a585a5058586d5858582f5858217e585a585b55485858567e585850585c7e58725c4978702958585d7658585a585a484b5b685358585543585c5b7f605458484b5b6b507e4072585a585e4848582f5858217e5b70585f567e58565058407e5b5d76585d4a585e484a4c2f58586e7e5b484b585058435b5d4e767e5b725c5678715a6e587e6a7e5870585b50585c7e58707e5a585b5d6c5870585e484861685058547e585a7e5a585b585b50585f68577e50585058435b5c5e767258586f6058485c5f7f605458484b5b6b507e5472585a585a487e582a5858587e58725058576e58505058547e584a72585a5d7a5d5a5a585d50585c695858582a586e585d485a585850584f685048435b585a5c5b5829587e5b702958585c5c5150585f6b7d725c5b7a484b585058507e58615a7d58486a7e586029585d605c515058575b5d5e76705b5a585d55485855484b20295058484875585f5b584143605c53545b5058575b5a5e76705b5a585d55485851484b20295058484875585f5b584143605c53545b5058575b5b5e76705b5a585d5548585d484b20295058484875585f5b584143605c53545b5058547e58615a4c584c5c5b7d715a4d584a585148485f615b5c587e5860585d55485858487c5c5b7a63765858586a7e584c5c5b7870505b484871515d48585550584f5b584e76705b4c5c484b6e29585a60585d484b5b68535858554848587e584a585a5058547e5b5c5c5c5c5f7e71584a585d5548585848484b614b484b585058587e584c51485d2b767e584c516a5d74767e584a585b487c48584a5b6a7e584c515f585c7e7b487c6e567863405a58586a554858587e5870585d50585b5b5a5e767e585a7e5a5a5a7e5a5b5b5c58585a505850585b5b7658536850584c7e5b5c5c585c55505b50585b6b507e5b5b776e53545b5c587e584a58584848616d4848616f577e50585a6e6d58585a585a5058547e585c5c507870585852585050525850585c485858507e587e585c5e76584e767e5b4a585c484858486a7e5c7e585e6a70585c5e77584c6e5c485a585b50585b5b5d5e285b5b2b212b587e58555a295c5850585c7e5870585d50584b5b5b5b5b4350485c7e58602958585c5c5c7a4c4c5c485a585850585f5b2958206850585f5b2e582c6850585c7e584c5172585c7e7b50585f5b61485b505e29516a5d746a2b587e58555a2958585058507e586058584848716850585876587e7e76587e484b58585870585a58584878585a7870585f50584b5b585b5a29584a5858786050584843215a4d584b5850585c7e585c5c547b4c5c547b63405a58586a554858587e5870585d50585b5b5a5e767e585a7e5a5a5a7e5a585b5c58585a505850585b5b68585f6850584c7e5b5c5c585c55485b50585b6b507e5b5b696e5f545b5c587e584a58584848616d48487d6f577e50585a6e6a5c585c5c5a5a2f215f58486936506e5b5b5c5e6a705a4a48585058404856605c525058727e5b715a54584a50575c5d7a7e5b4a585d577e50585872585a485a5858507e7a6d585858705b725c6b786e2d5d58585c5858486a7e5a70585e484b7129484b71285c5d29715b70585f50584c76587e58705b295c5c7873405a585a58515058402b587e587e585c5c5b78705c515a6e53585872587e58705851507e436b48485f545d48587e5b602958585c5c6e4b6e295850587a6d58585f5b5051535b32585b515d48587e5a725c6e5c5d29715b70585f50584c76587e58705a5c5c5c7873405a585a58505058402b587e587e5a7058515558585b5c5d29715b70585f50584c76587e58705a5c5c5c7873405a585a58505058402b587e587e5b295c5a787050515048405d485a585a505843575d48507e5b706e58585b584e5c577e5a4b48295a5058435b584e76715b7e6e585a6e58555829587e5870585e4d48295b5058406a585858715a5b584e5e7058505c5c4f5f5d485c7e5b725c5b78705c5e5d58585558586a5a485a58535c5c725c485a585250587a7e5b70585f525850585c5e547e5b4a585f525850585058407e5b2b6d5b58774b68577e50585d585c5550587a7e5b715b2c50582948565a5c5650587a715a5857585058407e5a5c295c485a585d50587a7e585e6d5b58774b6850584c76587e58486b485c5f5872587e5a4a58555c586a6a58585b5b585c6e57585a58545058727e5a615855555858584b6e295850584c7e5b4a7e5a585a505448484b68577e505850586e7e5d73405a585a585550586a7e5a4b585348485f6b4a4e76715a295c5850486e555058767e5a5a6e58585b58205048217e5b4a585f5258505850715b5b5b5e762b587e587e5c5a5849577e50585058715b584e76715a5a585448485f6850486e5458486a555a6e53585872585d485a585a505843575d485c7e5b702958585a5051484a2c515b5c587e5a705851484b7129484b71285c5d29715b60585f50584c76587e58705a5c5c5c7873405a585a585050587a2b587e587e5b725c5b78705c5e5d585c555a6058575c5c7e715b60585f50584c76587e58705a295c5c78705050577e505850586a7e5b63405a585a585e48485f685048405458486a7e5b4a7e5a585a5c505a6058525058407e587058505c5e547e5b4a585f525850585058507e5b746d5b58774b68507e4c2b587e587e5b5a585f5058547e584a585878295c5a7d5e767e584a585a4b716a2b587e587e5a4b58525e705853484b5b68535858556c585c5b5b412173585c5c487860505153585873585c5c487860505f5358585a485a585b487c36363636215d4d484b585872587e584c5c5b4d484b585058587e584b582f505858715b7e6e5b5a6058585058587e584b5a5a584c5c5b7870505d5c505c5b507e40484d4a5858505854484d5a585850585c4856486a7e5b705c5c50585c70586e4b365058545c485857585058487e5873405a585a585c48484b685048487e58295c5b7860505d5d4858555a295c585b4a585c5a61767e5b4c5c58577e50545058407e584c5c5a7d5e767e5b4c5c547871586350584f5b5c5e767258586e5b5a61584158586a7e5b295c48787048585058585574484c5b5a772173585c5c48786050535358587e5b7158605048767e5a4a585e5c502d5b507e29485760585f5058542b587e585a48585358505858705b602958585a505e484a6d6b5d7e54585848585b5a6058525058435b5e514b5b5e514c48524a5c5e50584c7e5b4a7e5a585a505148485f68577e505850587a7e5b737658585a585848485f6850487a555872585a485a585a50587a705b746d5b584c6e57585a585155485858484d5b515d48587e5b602958584c5c7e7a72512d585c7a57585a5852484d5848524a5c5e50584c7e5b4a7e5a585a505048485f68577e505850587e7e5b737658585a585250587a6a58585c48524a5c5e50584c7e5b4a7e5a585a505048485f68577e505850587e7e5b737658585a585148485368507e7a715b7e57585058507e5b7229575870585e555858585c5b40482b58535f5d48507e5b725c5b78705c5e5d58585558586a5d485a585a505843575d485c7e5b706e58585a5c505c5b407850587e484b4c4c57584a585e48485f685048405458586a585a6e5358505872484a484b585058767e5b60585e50584c76587e58487b60585f50584c76587e587e5b705851782b762b587e585458486a7e5b60585e5c51727e5d4b582d50482d7e5b605c505829587e5b7058504d484b585058547e5b605858782b767e5b4a7e5a585b5b2c5b4853585058727e5d5b58555558585848485b545d48587e5a60585350586e485a606e58585c7a57585a585f50584c76587e58705a295c5b7873405a585a585550582d2f5858587e5d5a5854505872485a4c5c5b782975685048615b585a5c555a60585250587e6a58585848524a5c4950584c7e5b4a7e5a585a504848485f68577e5058505b587e5d637658585a585048485f6850487e7e5a295c5b78705c555d585c555a6e6a5d485853585058507e5b726a5c485a585e55485858507e7d5b55727a57584a58575c5c7e715b60585f50584c76587e58705a5c5c5b7873405a585a585050587a2f5858587e5b725c5b78705c5e5a6058525058407e5870585f525850585c5e217e5b4a585f525850585058507e5b746d68507e4c2b587e587e5b5a585f5058547e584a5858782b767e584a585a4b716a2b587e587e5a4b58525e705853484b5b68535858495a60585250587d5b5e514b5b5e514c48524a5c5150584c7e5b4a7e5a585a505048485f68577e505850587e7e5b637658585a585e48485f685048405458586a585a36485b5848753650585c485d4a5c5c50585c485a4a5c51506e5b5b505e6a70584a48585872587e584c5c40787058585c50485d507e7e6d58585b5f5d48587e584c5c50787058585c54585b5048727e585a5858525850584848616b525850587870505f5258505c5048765a485c5f3650584c7058707e5a4d5b5b7c4b484b585058507658726e71587e6e5b5a60585a58772173585c5c487860505d5358587e58295c507870505e505850485d60585e5c5d535b505b58695048507e5b7158565058575b5c5e7672585a585a5a63405a4d586a7e58725c407d5c5c407d4a5c5a50585c7e5a4a7e5a585a585c5058487e5b2b76705860585c5058695b6a585f61484a5b5e5e60585d50584c7e58715b4e577e504850585c7658715857585a585850585876587e5b5b5d5e6a76587e5b6848484c487e585c5550587e487e7e547e584c5c7e787048585a63405b5877205b20585c485e4a505a5b51217e5870585850585f5b582a484870485470585c5c584a584b58505850485c5c5c585d6e6a7e58705858577e556e584a585a5b4a585d5a6e6c7d586e5c5a7f605458487c585a786050585358587e585a585a577e55485870585850585c2b586d7e5a50585448415a5c5e5058547e585c517e584e764874485c715b605858487d585b7870585d50585b5b635853685c537e5b50585b5b6e585f685c5b5c70584a585b5c5b54485d5a585850585f5b585b5855507e502b586b6e5b5058587e585c5c487873405a5d5a58584848582b587e7e5d4858535850585b5b2b58536850585b5b295853685c5d435f5d48587e585a7e5a6f585c7e584b5853505853684b7e4b5850585c485a4a5c5d50585c7e584b585348485f295c586e7e584a585b5c5b54485d5a58585058547e584c5c585c586a705874762b586b6e5b5a605858487d7e5a787158715058407e58705858487b6e5b787058584848716850585876586a6e5a50585b5b29585f6850585b5b5c5e767e585c5c54787058515c506a5b5d48587e585c514058747648534b765458486a555872587e585c5148584e76485a4c4c57585a585852585054507e547e585c5c4878746d5b776e5f525d48587e585a585d48484b68577e50545058547e585a7e5a5a5d405a58586a7e5b4a585a50585876586b6e5b5058487e5b715d515873405a585a5858487d585b78705858484b5b6850585876587e6e7e5b5b586d50585b5b2b58536850585b5b295853685c5a7e5c485a585c50584876587e5b5b5877502b587e585550585876586d7e5a5048507e584b58525e705858487d585b787158525e705858487c585a78704858505850554f585c5a7f605458484b5b6b507e5472585a585d4848502b587e6e7e5870585b5c5872705b5c6a5c485b584158586a7e584b585750485c7e5860585c5058536b577e505c5058587e584a585a7870585d484861685058575b5b5e7648767e5c76587e5848207e5c7e58295c48787048585a29505b58412173585c5c487860505d5358587e5860585b577e50545058547e5873405a5a5a585d5058575b5d5e76484c705c5b50585b5b21616a7e58607e5a5a5b5d7058705c5850585c484c4a585d484b5b685358587e58586a40585a585850585876587e5b5b5d5e6a76587e5b684848504b58585878505858556a48505a5b512d5f7f605458484a5b6b507e7e72585853585872585a485a585b505853515b5c5b5b28505c5b525850585048615b28505c5b4848582b587e5873585c5c4878605053535858485f717673585c5c487860505253585873585c5c48786050555358587e5a60585b5058715b515e695b58715d40584a5855524854585048487e5a70585552485450576e54505058767e5b5d7a5d585a5855484b5b685358587e5a70725d585a5c5c5058727e5a70725d5a5d7a5d5a5a58535058482a586e587e5a725c487870485850587269586e58715b5a585050587269586e7e2a5861587e5a5a585c576e54505058755b5c5e7672585a5850524854485048487e5a5a725d5a5a5c5f487d4a5b584a7e5a585a505b4b48295b50587e7658716e7e58727a575870585f5048407e5b5a5c5150585f5b61585b515d485454587e6a7e58295c5c577e50585d585055487d4a5b584a5854577e505850587e7658716e7e5872405758486a7e58295c5c577e5058505840715b4a5851504848555058587e5b4d7a5d585a58585058482a586e7e7e5a5c5c7e787048585a2e405b587e5321582a2173585c5c487860505f5358585a485853585872587e585a585b4b6e4b58487d4a5b584a7e5a585a5c51487d4a5b584c5c58577e50585c5b4078506e5b5b5c5e6a705b7048585058407e585a585f4848616848485c482b585c7e5b70725d585a585e524854505c57295b5048547e5b725c4878704858487d4a5b584a7e5a585a50584b48295b50584c76587e6e7e584c7a575870585d5048487e585c515c585c7a57586e6e5a5a60585a4848482b587e5854587e6d5b28505c5b50587a2b587e587e5b4a7e5a5d5a585b4b7e295b5a60585a4848482b587e587e5b5a5c5d5a60585f484b5b685358587e586e6c2b5848505a7f485736506e5b5b5c5e6a705b4a48585872585a485853585058587e584c7a5c485c514c7e485c76587e58715b29514c7e485f5b585d405a585b584e5e705458484b5b6b507e4072585a585e5058587e5b4c5c5478725c585c577e5b50584069586e587e5b70725d5a5b5d7258705c5d5058435b5c5e7672585c514c7e485c76587e5870585c4c57584a585f5258505450585f515d48507e58605c5c50585b5b61585b515d485454587e6a7e58725c5c577e50585d585055487d4a5b584a5851577e505850584c76587e6e7e584c405758486a7e58725c5c577e505850584871586e6a7e5b4c5c487870485850585455617e5c5a582a215b7f705458484b5b6b507e4872585853325872585a485a585850585f515b5c585a485853585058586d585858705b4c5c6d4b6e295850585b5b584e7670585a585b4b6e29585d585c55487d4a5b584a7e5a585a5c5e487d4a5b584c5c58577e50585058587e5b5c5c547870585d5c5b40482b485c715b6e5358487d4a5b584a7e5a585a50585b5c587e5b5a7e5a5d5a585b4b6e295b50585b5b61585b5e5d4848545b486d5b28505c5b5058402b587e587e5b5a7e5a5d5a585b4b7e295c5a6e6a555058535b5b5d405a585c50585d5850555058535b5b5d405a585c53365d585c55487e587e5b2a297e5b60585f484a285e5e6e6a715b60585c484b5b685358587e5b6e6f415848505d7f6e5f32506e5b5b5c5e6a705b5a48585877215a485853585872587e585a585b4b6e4b585872585a485a585855485858507e4f5b554c7a57585a585848485f68507e587e584c7a5758586e5b5a29514c7e485c76587e58715b72514c7e485f5b585d405a585a585850584b5b5d5e767e5861584e5c57725b50487a5a485c514c7e485c76587e587058584b5850584876587e6e7e584c7a57584a5858487a48584b7e295f5d584855487d4a5b584a585e577e505850584876587e6e7e584c4057586e6a555a60585a4848482b587e5b5b58586e5d5a605851486f3636363621494e58295b5a60585a4848482b587e5b5b7f6e6e5b5a295c5850587c77507e5b6b5058587e5b4c5c6d4b716a555048587e5b5c5c487870485850585855727e545b58412173585c5e4858746a70585a48585058587e5873405a7e58507e585a585b577e52505870585d5c5f6e715b705858487d585b7870585d50585b5b366e5f685c53765b50585b5b6e585f685c5b5c70584a585b5c5b54485d5a585850585f5b585b5855507e502b586b6e5b5058587e585c5c487873405a5d5a58584848582b587e7e5d4858535850585b5b7058536850585b5b7e5853685c5d5f5f5d48587e585a7e5a6f585c7e584b5853505853684b7e4b5850585c485a4a5c5d50585c7e584b585348485f295c586e7e584a585b5c5b54485d5a58585058547e584c5c585c586a705874762b586b6e5b5a60585848407e5a7871587f5058407e58705858487b6e5b78705858484871685058586a5849215b50585b5b29585f6850585b5b5c5e767e585c5c547872517e2958584873485c57585a585848407e5a787158705e7e6e5b5a6e6a5a485a5858487d585b787158534b48295850585876587e6e7058605858484b5b6878295e7f584c7657585a58585058575b5b5e762b587e6e7e5860585852585050577e50585a60585f5058507e585a7e5a6f585c7e5b5a585e5c547a5a577e505850585b5b29585f6850585b5b5c5e767e585a7e5a5d5a585c5c5a297e585c5e505874767e585c5e5858747648537e4b585058487e5b5a7e5a585c5c5a7a73405a58586a7e585a7e5a705850715870585b5c58767850585b5b29585f685c58767850585b5b725853685358587e587e6f7a5848505d7f6e5f32506e5b5b5c5e6a705b5a48585877215a485853585872587e585a585b4b6e4b585872585a485a585855485858507e4f5b554c7a57585a585848485f68507e587e584c7a5758586e5b5a29514c7e485c76587e58715b72514c7e485f5b585d405a585a585850584b5b5d5e767e5861584e5c57725b50487a5a485c514c7e485c76587e587058584b5850584876587e6e7e584c7a57584a5858487a48584b7e295f5d584855487d4a5b584a585e577e505850584876587e6e7e584c4057586e6a555a60585a4848482b587e5b5b58586e5d5a605851486f363658287e5758486a7e58725c5c577e5058487f3636586e6e5b5a295c5850587c77507e5b6b5058587e5b4c5c6d4b716a555048587e5b5c5c487870485850585b5b3636215d7a486c2b5848505b7f7e5336506e5b5b5c5e6a705b4a48585872585a485a585850585f515b5c5b5b28505c5b525850585048435b28505c5b4848582b587e587e585a585f48486168505854485f715d4958705c5c58725b5b28505c5b52585058507e585c485a585f5258505450585f515d485c7e585c515c585c4057586e6e5c5a29514c7e485c7e5b73405a585a585f5258505450585f5e5d4854555a60585a4848482b587e5b5a585a5c5c5d585c555058535b5b5d405a585a585c487e5b4f5b5c5b5a363636363636363636363636585a5c5c5d585c5548765a587e505a587e505a587e5121715b586a7e5b4c5c4878704858505848556e6e5c5a5877215b7f705458484b5b6b507e4872585853365872585a485a585850585f515b5c5b5b28505c5b5258505850484f5b28505c5b4848582b587e587e585a585c48486168505854485f715d4958705c5e58725b5b28505c5b52585058507e585c485a585c5258505450585f515d485c7e585c515c585c40575b586e5d5a29514c7e485c7e5b4d405a585a585c5258505450585f5e5d4850555a60585a4848482b587e5b5b58586e5a5a60585e48765a587e505b2d4c60585e486f3636363621514f415057585a585e696e6e5b5a60585a4848482b587e5b5b36363636366e7a7e5b7250584f4829585e725e587e505a587c586a71585a585c484b5b685358587e58586f74587e5c5c7f605858484c5b6b507e575b6f5a7e2b587e587e58295129504d405a585a5858487f6e75577e50585058575b695a402b587e587e585c5e485373405a5a5a5858487b487452585058507e5c2b587e587e585a585b4848616b5258505878725e2d53707e5a585d405a585a58584848582b587e487e585a5858525850584848616b525850587870505a4848582b5871487e5870585848486168507e5c2b58717e7e58725c58577e50545058535a7e685a587e565858576e505c5058507e584c4c2b5871587e58725c7e78725c58484a7e484b71767e58725c7a78715a495870585a4848582b58727e7e58725f36577e535450585b5b5a5e767058725e2153707e5a585a505c577e50585058507e5b5c5c5478607e5a585e695b6e5a4076587e582b587e587e585c5e6e53707e5a585a505a577e50585058587e58725c5478607e5a585e695b615a4076587e582b587e587e585c515053707e5a585d405a5a5a5858487f6e75577e50585058575b695a402b587e587e585c5e485373405a5a5a585b487b6e7f577e505850585f5b5b5e7648736e507e584c5058576e504050585f5a585d7a5a5c5a585b487e582a587e7e7e584c5e29504d405a585a585b484a5b685c5b5c7850585f5b5e5d405a545a585b4848582b58706e7e58586a52585a585b50585b6b4848616d5a2c485b58484b36506e5b5b5c5e6a705b4a485850585c7e58715a705870505c487c36363636215d4d484b585872587e5b5c5c5b4d484b585058587e5b5b582f50585871586e6e5b5a6058585058587e5b5b5a5a584c5c5b7870505e5c505c5b507e54484d4a5858505840484d5a58585058484856486a5d485a585b505853515b5c587e5860585b5c5d547e58295c5c78705c5d50585f5b5b5e767158486e5b5a6e6a7e5b4c5c58577e50545058547e5b4c5c547871586350584f5b5c5e7672585821555c5b7a585a6140585058587e584a585a48765a587e505a587e505a587e51214829585055727e485a5b2a215c7f705458484b5b6b507e7e72585853585872585a485a585a484a4b545b5c587e585a2958585a505f5d485c7e585a5c5c5d585055487d4a5b584c5c7a577e5058487e5871586e6e5a5a6058585048485a4858575850584f5b5e514b5b5e514c487a5c4c57584a585c5548585b50484c7e5b5c5c5b78705c5c50584c5758586a5458486a5a485a585c55485858507e4f5b522b6a56586e585b58585c554841205b585a585f484a285e5e605c5150584b5b584e76715b586a5a7f6e53585058535b7b2a5c57585a585c55485858484d5b515d485b5b584a5c535058486d58585f5b2a6e5f61487d7e584b7e4b5850584b5b587476715b5c5c485d58505550584b5b584e76715b5a585a48487e7e58716a5458486a7e58725c525058507b5a6050526b5a5c5448485871587e575858725b5b4c5a5c5f5872587e5b5a6e58585a505e484d5b6b487f215b7a4c5c524a4829584878753650484c7e5b725171585e6d5b366e5f61484b69535d485b5b4a4a5c5f5058435b6e485b6b487f215b7a4c5c434a6e295b5a60585f50584368507e407e5a722d57585a58505058615a585a5855487e584852295c5b50484c5a485a585052485450487e5b4a5d48587e5a6058547f7050575058786a507e2c5a7f2d4f4e5d48587e5d4a58567f5a5c5548485c715a4a585a50484c5550584b5b584e76715b5a585f5048505458486a5550585c5c485a585b5058487e585a58535e63405a58586a5a485853585058505c485c514c7e485f5b6158582b587e587e5b295c585058575a584054705d5f587b50487a7e58605c555d585c555058547e5a284057584a585d487e5e5d50486e555058607750587d604b484b58487d4a5b584c515c585d405a585a585d487e5f2050485454587e6a7e586058554e7e2958487d4a5b584c515c585d405a58586e5b5a60585550587c6a507e565f50585720504854555058715b5c5e7672585a585d5a635c5b5841205b2b50405b5258505850485c7e58584b58487d705e584c517671485c7e585a58584841205e5e63405a58586d5b7f60585b50585f5b2f504c5b4b716a556b487e5b5b41217e584a7e5a585a5c5c5872585a485853585872585a485853585872585a7f6e53585872585a485853585058575f5d48587e58607e5a585a505e4b48295850585b5f5b5c587e58705c5d5d5854555058575b585d405a585a585a5048545458486a5a485c5140717e5c76587e5876587e5b5f5b5c587e585c4c57584a585a4b482954505850715b7e57585058486a58585870586e4b585058587e582951366f6e5761577e505850585b5b5b5e7671585a585c48485f685048487e5b725c5b7860505e5d485c545d7e6a5550585b5b585d405a585a585b4848582b587e587e5870585e786e215550585071586058584b48295d5d584c5550584848727e5c495a295c5b50484c54586e6d5b58586e5b5a295c5b5a605c5f5829587e5b4c4c5c485a585c554858584848572b507e4f5b5c5e6a7e5b725c787d4a585f7877535b5b296a57586e533650584b5b584e76705b4a585e48405a587e5b5b614b4829585e70585f55485858487a585b7a4c5e58584c7a5c485a585c48485f6b504848545b6e6a7e5b5c5c5a7870505f5058435b7e50587e7a4c4c57585b767e5b4a2958585c515858415f5b7e585f515b5c587e5b5c5c5b78605c5c5d587a5550584b5b582b76555048487e58295c5b78605c5d48485c715b486e5b5a6e57585872587e5b5c5c5d7a4a585c55485858507e435b584e6d5b367e5b557a7e295850584876587e58705b725e5b7e7648507860585e7a725e587e40525c7c515c57585857585058575b5b5e6a715860585c5258505c5048407e5b5c5c5c78705c5c5058407e5b725e5b7e764850782a535b7e505e5a715171614b4829585a6e6a7e5b72513658415c705b4c5c5b78295132585c295c485a585d48485f6b5048547e5b5c5c5b78705c5c5d585c555a60585f487a505b7860505f484d53555d48547e5b5c5c5b78705c5c50584f5b58774b5b6e5a6d68525850585048435b585a5c5f5d58585558586a5d485a585f4b484b585058575f5d487a5d485853585872585a485a585c55485858507e4f5b584e6a705b295132585c6a5c485a585f5048405458486a7e5b5c5c5d7a4a585d48484f537a7e295b5872585d485a585c52585058507e435b7e40525c5a5e6a7e5b77535b7e505e5a715171615d485c7e585a585e487f215b7a4d405a585a58585058486d58585c2b587e487e585a585c5548585a577e50505058587e5b5a29585863405a5d5a5858484b5b685048587e5b5c5c5c78705c5c5058575b5b5e6a7058295c5c4a6e29585a60585c55485858504840555058435b366e5f61507e4f5b584e6a715b6e6a7e5b295132585c6a5758486a7e585a585f577e505850585b5b5b5e7671585a585c48485f685048487e58295c5b7860505d5d485c545a486a5550584f5b6e7e5f6b507e4f5b54726a575860585c48485f685048487e5b4c5c5a7d5c5158522b7676587e58715b725c5b50484c5458486a7e5b5a2958585a505f4848572b507e7d5b5c5e6a7e5b60585e484b69287877535b5b296a57584853585872585a7f60585c48485f68507e7a7e5b4c5e58584e6a7e5b725c5e7d5150705b4c5c584d7e29585e705851554858584840585b78605051484d20555d485c7e5b5c5c5a7870505050587a7e5b4c5c5e7d5150705b4c5c584d7e29585e705850554858584840585b78605051484d20555d485c7e5b60585f484843297a705c5f50584b5b582b76555048487e585a585f577e50585058575b584e6a715860585848484b685048585458486d5b28505c5b484b722b587e587e5b5c5c5b78605c5c5d584c55484858715b486e585a6e585550584b5b584e6a715b5a585e5d485c7e5b5a2958585a5c5e5a60585e487f215b7a4829585058585c485a58584848582b587e587e584c5c58577e50585a60585a5058576b5d6e6d5b28505c5b484b722b587e587e585c4c5758486a7e584a585c577e50585a295f365d6e6a7e584a585c577e505850585055506e5c5a7f60585850485c5d485a585b507e535b5b5e7671584a585a525850585d4858555058507e585e6d5b58774c555d7e587e585b5d7f587e4b58505858485c586a554c6e5c5c7f6e535850585f5b585c6e57585a585b48485f6b507e4b5f5d48585d485a585850585368507e546d585858715b4a585d5058587e58725c5b7a74767058602958585d7658585a585d50584c2f5858587e58725c5a7870505a50585f565d485c7e5870585c4b6e29585a6e6a5555585c5b7f605458484b5b6b507e5072585a585a50585c2b587e6e7e585c5172585c516c515a585b5c554c5b5048587e58725c48787048585058585552485c5b7f605458484b5b6b507e5072585a585a50585c2b587e6e7e585c5129515a585b5c56505a5048587e58725c4878704858505858555f7e587e585b5b5f48485b5150585b5b5051535b2d485b6b484843537a7e6c21587e585a485853585872585a485853585872585a485853585872585a4858535850585f5b5a4e6a565c7e58505a4876505a485c5a586e48525a4876525a58725f5b7e7a555058507e58707e5a585a505b48484b68577e50585058587e584a7e5a585d405a585821555058507e58707e5a585a505b48484b68577e50585058587e584d505b585d7a5d585821555058507e58707e5a585a505b48484b68577e50585058587e584d545b585d7a5d585821555058507e58707e5a585a505b48484b68577e50585058587e584d5858585d7a5d585821555058507e58707e5a585a505b48484b68577e50585058587e584d5c58585d7a5d585821555058507e58707e5a585c5c5178725f2d7a4a505b48487168577e50585058587e584a6a5d585d725d585821555058587e58725c635c4854585a6e21555058507e58707e5a585a505b48484b68577e50585058587e584d485a585d7a5d585821555058507e58707e5a585a505b48484b68577e50585058587e584d4c5a585d7a5d585821555058507e58707e5a585c5c5178725f2d7a4a505b48487168577e50585058587e584a725d585d7a5d58586f325f585c567f605458484c5b68507e5472585a585d4848582b5871587e58295c58577e50545058575b585d405a5a5a585d4848582b587e487e5860585d484b5b68507e482b5871487e5860585d48486168507e7e2b58717e7e58607e5a5f5b767e5860585d48487168507e762b58716e7e58607e5a5e5b767e5860585d48484b68507e402b5870587e58607e5a515b767e58607e5a505b7673585c5c48786050515358587e5b7058585548585a5058586d58585c7e585a295858515763484b7129484b7128507e4f5b5451547e5b4c5c5b7d5c5e7f7f2a536848485f68507e4c2b587e587e5a70585f4841206350585f6150584c7e584c5f367a6050547a4e6a705b4c5f327a70585f48412c6178725c5b7870505f577e50585058487e5b4b5843577e505850587e7e5b707e5a585a50535c5b722b587e585d48585358487b2a6c32785f3250484c5d485853585872587e5b4c5e212e6f74717f726e5c485a585f487c2a6a7156572c4b7e295b50584f5b70782a572b2a615e5d48507e5b4c5e507140557a7f5c7a5758605851484b5b68535858545b586a7e5b4c512b73767b4f5b5c7a5c485a585f4843687c7621725d4b7e4b58484858715a29516d2e504d737c4a5c5f5d58485550584f5b6f7c2e2c76412c515d48547e5b605853577e5050487f7856716d4c5c4843687c7621725d50587a76587e715b585c767b50484c54586e6a7e5b707e5a585a505f4841206350585f6150584c7e5d515f6b507e755b7f77547e5a4c5c5b7d5c5f217a4e767e585e766d58585c715d4a58505258505850584c7e5b607e5a5a5e6d685058587e5b607e5a5a5a505f4841206350585f6148485f2950585c7e5b41576b78702958585a5858505875684848536b55485858505828637a637658585a58515258505048485f6b504872545b586a7e5b605855577e50544840746d637d6d214840705f7e6d612150587676587e587e5b607e5a5d5c767b50484c5458486a7e5b5a7e5a585a5851525850547870585850587a76587e615b584e76705a2b766d5858582f58585b5b2e7c605c2d2a72715b486e585a6e58555a60585d50585476587e615b6b612d7e58607e5a5b5b5a32584d405a535c51576c6f787c5b4a5c585829585a485853585872585a485853585872585a485a5858487a6b6e6878505b4d584b5850585b5b367b41782e2a2c545b5c587e585c5e4b28406c4c7c2940575b605858487a2b4f2f20692e4b7e295d50585b5b7e575177364161515d48755b727d4e5575516a71585c5c5850485c545a486a7e585c51326d7d6b6f7f7240575b5a585848782f74293640584b7e295b50585b5b29785a2c5e5c7a575a5a585d525850485c5b587e58607e5a5d5b584850585476587058785058547658716e785058547658717e7850585476587148785058547658706e71585a585d484c5b6b5358587e5858215550585b5b2e2d4d6b204853545b5c587e585c515521527470584c40575b605858484063586076585a4b6e295050585476587158715a5a585d5258505050482c5b585a5c53484858715a725c5850484f5b585a5c51484858715a605458484b5b6b507e4872585c5e4a7456635d5b4c5e2e2e5560505b5a585a5e605c5e487d4c585048615b327e5c715d48575858725b5b2c68687f7c705c585829585a485853585872585a4858535850585b5b69574e5d207e5f545b5c587e585c517660695a2c7f5c6e5c485a5858487f702832496d2c4b7e295e50585b5b2c575a4e6d2a695e5d484c7e585c5e40207c2a567c4c7a575b60585c484b5b68535858545a586a7e585c516960695a2c7f5c4057584a5858487c7868772a69515d48407e5b5a5853577e505c5058487e5d4d76585a60585c50586e2f5858615b2f7a68486c41615b7449416d6377727e5b5a7e5a5b5a58564a5b6a7158586e5e5a605858487b5d6d706b725c4d584b5850585b5b697d4e5d207e5f5e5d48507e585c5e2e2e5560505b5c7a575b72512d6d7f732e7c4a5c585058486a5858297e5b5a7e5a5b5b5d7658705c525d58405550585b5b6a7c2b526c484b5e5d48507e585c5e4a7456635d5b4c7a575b4c512d6d7f732e7c4a5c585058486a5858297e5b5a7e5a5b5b5d7158705c525d584c554878414f7e36405b487b516d706b725c50584876587e4b5b5874205b584c407b504858545b586a7e5a5a585c5258505c78702958585a505f5058486d5858616350487d5b2c575a4e6d2a7671585a585c5548585550486a54586e6a7e5a5a585c5258505c78702958585a50555058486d58586d6350487d5b2c575a4e6d2a7671585a585c5548585450484c54587e6a7e5b5a5855567e58565058487e5b6376585d4a585c50584c2f5858217e5b705c585d585c555a60585050584876587e4b685058762f5858587e5b5a7e5a5b5c5c5b78705c535058486d585821715d5a585c554858565048295458486a55487f5a5c2f364c5a504858545a586a7e585c516e71566f2858724057587058584843734168695c5d4b7e295c50585b5b637b6b2b777e4f515d487d5b6b687b4d207e5b5b6343416b2b776a7e58607e5a535b6a7158586e515a295e546e54685858725157757c6f787c60585d52585054487b407c50585476587e48486f7e5c7b504858545b7e6a7e58607e5a5c5a5c5050585476587e7e715b4c5c585048695b585a5c57484858715b295c5850486d5b585a5c53484858715d5a5458484b5b6b507e4872585a585050584c482848535b6a687b7b706e4b5b6c6f325d7677727e58716a715b72514f585a5c56487f765b5048215d48585358487b4a4e297b765a5048585d485853585872585a485a5858487b564e297b765a4d584b5850585b5b697f51782b2a28545b5c587e585c5e2f362d56707c4c40575b5a58584843364c7769712e4b7e295d50585b5b2932702f2d2a71515d484c7e5a5a585f5c574c5a50584b5b5c5e767258586e5e5a60585848787b612b6d6d204b7e295b50585b5b7e2f78436b485f515d484b5b752d417a6f7e4b5b696f51782b2a297e5b5a7e5a5b5c5c5a7b295c5b4b716a7158586e5c5a6e53585872587e585c5e4e717d60325b5c6e5c485a5858487b4a4e297b765a4b7e295b50585b5b6a687b7b706e4b515d48435b362e5575756e4c71585a585c5558585750584876587e48482d4850715a7e6e5e5a60585848437c5f2a552d5c4b7e295b50585b5b362e5575756e4f515d484c7e5a5a585c5258505c7870585c55485854507e587e5a77547e585a5852484120637a4c5c5b7d5e6a2f5858587e5b5a7e5a5b5c5c5b78705c575058486d585821715d70585c55485856504821545b6e6a7e5b5a5857577e505c5058487e5d6376585a70585c50582d2f58586d5b7e2f78436b485f5b2932702f2d2a7e7e5b5a7e5a5b5a585f4a5b6a7158586e5c5a60585050584876587e4b6855485858507e7a7e5b5a29585a2a54715a295e7f28532f407c605c585058486d585876715a4a585c5548585250486e54586e6a7e5a5a585c5258505c78702958585a50535058486d5858696350486d5b77204a7c74516a71585a585c5548585550487a7e5b5a29585a605c545d5850555058487e5a6376585d4a585c50586e2f58586e7e5b5a5853567e58565058487e5b6376585d60585e5048585458486d5b362e5575756e4c71585a585c5558585750584876587e48482f5850715a7e6e585a6e58555a29516e71566f2858705c585d584c555058545a7f295c5850484873585c5c487860505e505854765871586a5858582b587e7e7e5b70585e52585050484a2052567e58565058407e5b707e5a5a5c5c2f4a5d76585d295e542d534a5a7c705c585829585a485a58584878637a712d712e4d584b5850585b5b757c6b5b6c77715e5b5c5b5b366e5c715b5c5e6d2a507c507c605c585d58545550585b5b73565a4c7e77695e5d485c7e585c5e2176567f557c727a575870585e52585050507e5b5b2d485b6350585b5b58414b5b6f412c6078725c5b7870505848485f29484b4b6150585b5b5a77576850484b5b6b7d605170516a7158586e5a5a60585848782a7a712d712e4b6e4b5850585b5b7468412d2f6e53515b5c587e585c51582d6b5d5a58297a575860585e52585050507e5b5b636e5f6050585b5b636e5f6178725c5b78705c5c48782a7a712d712e50485854586e6d5b6f525d77602a695b757c6b5b6c777e7e5b707e5a5a5c512e585c7e7b484341686e7b692d50584076587e715b2d585b525e605c585d58505550584b5b5e514b5b5e514c54587e6d5b6e56526e6e7e575b7468412d2f6e507e5b7029585d295c5b7a4b6d5b7468412d2f6e507e5b7029585d725c5b7a4b6a7158586e585a6e5855507e582b587e487e5860585d52585050507e407e585c5f367a2a5c7e585a585e484120637a4e6a705b725f327a70585e48412c6178725c5b7873405a525a585d505840485e4d405a555a585d50585b5b58414b5b58775c7e585c5c5b7a2b76485e4d405a545c5c58504b587e58607e5a525a585d5258506a78725c58567e585850585476587e487e58607e5a545e695b585d7658585c51326d7d6b6f7f705c585d5848555058547e5c5d405a565c5e40282f684b58295e58297c7f207f5a585d5258507650585476587371525e605c585d5854555058547658706e7e58607e5a565e767e58607e5a565a505848485f294848536050585b5b7f77576848485f685071587e58607e5a5c5e766d5858582f58585b5b366b41782e2a2d7158586e5a5a60585d50585476587e482b5873487e5860585b577e5021487a6f6e6878505b487d5e7e6c4b7e7e58607e5a575a585d525850214a716a7158586e5b5a60585d5258506e5058547658736168505854765871587e58607e5a5a5a585d52585029786050585058547658736e705841535b5841487e585a585b7a2b6d6855485858567e5858505854765873615b584e7671584c5e4b28406c4c7c605c585d58585558586d6b58484b3650585876587e586a585858484b4c4c5c485c5c585d6e6a5d485a5858525850585048575b7f605c5b5058535b635374632c7e5b575b5c5b5b7f60585d55585858484d5b6b507e487e58725c527b5a505b7870585c487f36363636215150585f6b4a716a7158486a7e585a585d48485f68577e505850585c715870585d5558585b5c5c4c5758586a7e58486f295c7e504b7f6e5f32506e5b5b29585b6b507e4c72585a585f50585c2b58726e7e5b4c5c2a78705c4c50584f5b565e76715c5c5c5850485c5a485853585872585a4858575850585f5b36363636366e7a7e5a2b6d525d485c7e584a585578705c5550584c7658726e705a705c5b5872585a485853585058766d585858705a484b585829585a485853585058755b366e5f61507e435f5b5c587e584a5c535d585c555058435b534c7a57584a585b5048725d485a585b5548585b484a4f515d485c7e5b4a585b48485368507e402b58726e7e5a4c5c5b78705c5350585c6d585850715a5a585e50485c7e5a5c5c754b7e29585a6e6a7e5a4a58527860505b487f36363636215150586d6b50714f525d487a7e58584b585058587e5a70585b5c5a765550585c575b725f3650482c5b584a5c5e50584c7658726e6a58585c484b4a5c5b50584c7658726e715a58535850585f5f5d48587e5a5a295858725c724b6e295850587e6a58585f5b545e6a715d725c5b504b535b58605c5e5a60585f5058407e5a5e7670584d405a4d5c5c5850486e5a485a585b5558585850715f5b505e6a705a5c5c7f4a6e4b5850585c715b7e6e5b5a60585b5048435b584a58507d5a50514840774b5b515f5f5d48585d485a585f50585f5b584e76705b73405a4d5a58515058616050486e7e584a6e58584a504b484a5b6b507e715b505c2157584a585e50485f5b584a58507d5a50514840774b5b515c5758586a555872587e5c4c5c684b7e4b5850584c5a7f6e53585058406a58585c484b4c4c57585a585f52585354507e5c6d5858535b535c7a57585a585b5558585b4848532950584b68487a585b78295c52577e505850585c6a58585f5b582a487e582b695b7e58576b525850585048285b584a5c4a50585f5b582b765458486a7e5c7e295e484858715c725c585048297e58584b585058507e58707e5a585a505b48484b68577e505850585c76587e58715d486a7e5b4a7e5a4d5c5c5b787e6a70584d405a4d5a585748485b565d485f5b585a585778605c575058615b7e5458587a705c545d585c5550584f5b63585b685c576a5a507e285b585c7e575a5a585f5258535450485c55484858715b725f3650487a5a7f295c5850585c6d58585b5b55727a57585b767e584a2958584c5c684b7e4b5850584c5a7f6e535850585c6a585850484b4c4c57585a585f52585354507e5c6d5858575b535c7a57585a585b5558585a4848532950584b68487a585b78295c52577e505850585c6a5858535b582a487e582b695b7e58576b5258505850487a7e584c5c5c787e6e5b5a60584a5d48407e58584b365058507e58707e5a585a505b48484b68577e505850585c76587e585f4848585550487a7e5b4a7e5a4d5c5c5a787e6a70584d405a4d5a585148412063484b202b5d585c5550584c7e584c5c5b7873405a4d5a585f487a6e5878715d7b58705c5150584c7658726e71584c5c5b5a605c4d5829587e5b705c49484b6e715a4a585b55585858487a5c5878295c2c4a6e295350584c7e584c5c5b7870504b577e535450585c6a585858715b70584b50485c7e5b705849484d696a78725e495574766d585858705b725c5b78295c504a4829585a6e53585872587e5b725c7b4b6e4b585058435f5d486a7e5d725c584d7e4b585058487e5d725c5a7d5e767e5b73405a585a585f5058547e5d725c5d7d5e7669586e582a58295854587e6a7e585c4c575a5a585f484c5b6b5058407e58715d435870585f52585354504b5c54587e6a7e5d725c584d7e29525a295c5850485c7e585c4c575b6e6a7e5d5c5136362a6d61507e7e7e5d5a585448405d5858515c7b5048435b585a5c54487c217850482d7e5c5a5c535872585a485853585877215a485853585872585a485853365872585a485853585872585a485853585872587e5c4c5c5b78606e58585a505b484f206150585c7e584c5c497a4c5c5d4b716a7e584a58495e60505b487d7e58786e2d715b5b484c5f5b484c5f5b484c5d7148495b7e2d565d71485e5f5b484c5f58505f5861484c5a4b485b5f5b485c58586a5a485a585b487a5c58786e2d515d7148555f582d565d7e585550585f5b296e5b5e5d4872545c6e6a7e5b4a725d485a5c4e487c21785d584c5548485871584853585872585a485853585872585a485853585058205b366e5f615d7e7e585848505d5b5b765f5b71765550584c765872587e5a63405a58586e435a60585f5258535850586a2b587e58545e586a7e5b4a7e5a485a58556b5d7a5d58586e415a60585f5258535850586a2e584858545f7e6a7e5b4a7e5a485a5855567e58585d5b4c5550584c765872587e5a63405a58586e4c5a60585f5258535850586c6a576e54585d5b545550587d5b5a5a5851484871555e605c515058435b5a5150715b72512d585a5c5b5a60584850487e7e584c5c7e7a4a5c4950584c69582958705f755b5f5b5c585d485a585048485f6b507e7e7e5f687d5b5d2a5f5b765d53685548585850582060567e5858505b435a5d2840715a70584e487e4a50504b407e5a7e29585a6e6a7e5a5a5c525058435b5a515f5f50584c6958295b487a7e295d50585f5b5b51435b2e61696850482c5b58705c545d585455505b5871584a585f52485758507143484b484b585829587e584c5c5b7860505b505b787748487d61484d5b60567e5858505b435a5b2840715a5a584e487e5650504b407e5a5829585a6e6a7e584a5c525058435b5a515f5f5d48507e5b6058485058696b507e5f5b584e767e584a58514a5b6a715b6e6e5a5a60585f524857585071435a585f545c485a585f487e587e5f7729705f737a5d485c5c5b5048615b2e61765458486a7e5b725e585c515c5c485c5c5b5048615b215b765458486d5b214b695b2e61767e5b725c5b7a4a50545e6e6a715d70584e505b5848736e5c715a7e6a7e5c295c5850587d5b585c7e7b5d482d7e5b725136362a6d615058407e5c616a715b70585f524857585071435a585f507e5b2a535f5b5c587e5c5a5c52484858715b6e6e545a605851505b4348505b587e5a746d68507e5c7e584a58514a5b6a715b6e6e555a60585f52585358507e5f5b7e5b217e584b6a705a70505348485b5b36363636366e7a7e5b60585148485b505e60505e5c576e5b507e5c7e5a4e6a7e5b70585b5e60505b505869685048727e5b295c584d7e4b5850587e715b70585b50487a545a6e6a7e5a5a5c5e50585c715b605853554858585d4829545a7e6a7e5b6e4b5850584c7658725854587e6d5b585a5c5b50585b5b505a58574848587e5b71586c5d58505550584f5b585d405a5d5a585f50584c6958295832587e7e7e5b4a585f48487168507e5c2b58725b5b7f605c5150585c555048755b585a5c5b5872585d485a585352585058507e715f5d485c7e5b4c5c5c787058505c572d5a507e695b585c7e705a5a585250587a7e584e6d557a724c5c485a585348484b685048727e5b60585b50586968507e5f555d485c54587e6a5550587e575d486d5b494a5c5350585f5b585c7e575a605858484a587e5d4a585b505840485570585b4b484b584848587158486e5b5a295c5850487a7e5b4a7e5a485a5c535829587e5a4a7e5a585a50504b48295b50584f5b5b5e767e5a5b5d7c5870505050587d68507e7a7e584c6a57584a585850584f5b5b5e767e5a5b58685058755b5b5e76715a4a585b50587d555d4858555a605858484a587e5d4a585b5058435b7e5458587a61586c5058297e584a585b505828505e605c5b5d587e55505b575b585a585148485b505e6e2950484d29715a4a585850584c6b5829587e5d4a58515058407e584c5c605c4b2958507e5f5b585c2d575b6e6e535a60585f50584c6958295821585d7d5b584a5c51505b48715a705850504840545b586a7e5b4a585b48485f68507e402b58726e7e584a2958584a5c535058407158486e585a6e5855505858575b60584a4b48295a48485c71584857585058487e584c5c5a7d5e7676587e587058584b585058547e584c5c5d7d5e767e585a585a5c57725a48485c715a60585b48485f68507e5f5b5a727a5758486e535a6e6d5b584a5c5550585f5b5a7221575b6e57585058487e584c5c5a7d5e7676587e5857584a585b48485f68507e5f5b5a727a5758586a545b6e6d5b515a5c535d5848555058727e5a746a705d60585150587a7e5d297e7b507e715b36363636366e7a7e5d5e6d525d48535b494a5c5350587e7e5d5e76705b60585750587a7e5d4c767b507e5c7e5f4c765758605858484a587e584a5851505840485570585850582d7e5d5b586850585b5b545a585b50587a7e5b725e587e584b635c5a2d7e585c5c6e50587e7e5d295c585c5a2d7e585a58525058214852705858484a587e584a58515058435b7e5458587a61586c5d585c555a295c5850486a54586e6d5b494a5c535a29514c7e485c7e5a4d405a58586d5b7f605c555a60585f487d58587870485850586a557f6e505b7f6e5f3250585a20507e575a57507077487f21497a4a505a487f21494b6e4b215058535f5b5c587e584a58584b585858585858585858585840484b364848585f50585b5c5858585858585858215c567050585c482a485071585a585b52585058484c5b685a63405a585a58585d6e6a7e584a585a487f2d517863405a585a585d486f363636363636363632517e51325d48765a587e505a587e505d6e492d4a365b4a58585a6e6a4a585a58584b484b58484858495a60585850585c482b7e5c555348587e585c5c584b605858487a7e6d4b2a5c7e585c517e554c7d6150585b5b7e507a5b4b2a5c7e585c5e40716e5f517a486f76587e5c5d7f6e535850585c6d58585857585c5e5251715d7b584a505b5b5c587e584a29585858295b5a6058584848616a4840586c78715d7b584a505b5b5c587e584a29585858295b5a295e4b51715d7b584a505b5b5c587e584a29585858295b5a295e7751705c5b5a6e53585829587e584a585a78702958585a505c4b4a585c484a205e7a724c5c485c5c415048487e58725c5b7870505a484b7d515d485c54587e6a55505850715b586d5b69612d71586e53585872585a485853585872587e584a2958585a505a484a2c5e5d48587e584a585c787029585858295850585c715860585a487a54584b6e295b5a60585d5548585b4b48295b5a60585d48787a7c5c55405b4b4829585058575b214b29486d7e5c5758486a7e585c4c5c485c5e72554a5c5a5058546d58585f5b55724057587e6d5b5858215548485871584c5121717e5c76587e5870587e4b585829587e5860585a484871685c55405b4b48295a5058507658705870587e29585a6e6d5b535b5843507e505c485a585a4878486d52485058576e50585058535b5a5e7670584a585d505848484871767e584a585c78725c58567e58585058535b3650405b52585058577e507e487f605e584a585a577e50585058507158486a7e584c5e72554a585850585f605e605c5a5a60585a5a60215850585c482e585070584a5858487f215b7a4a50587a4c5c5b7d5a585850585f6378705058484b4f6048485f2950585b5b5f41576b484b7129484b71285a2d297c587e20365b412d73585c5e48584e6a705b5a485850584b5b585c5e48584b5b5e507e575b7f63405a4d5a585d5058582b58706e7e58295c61577e507e5058547e585d405a4f5a585b5048487e58705c56506e5b5b6a58536b507e4072585a585d525853545e7e53585872585a4858535850585476587e4857585a585d5c56725b5e70585d5258505c5d48585458486a7e5b5a2958585a50584b48295a5872585d485853585872587e585c513658415c487a584b585829587e5b5a505848485f685048487e585a2958584b5b6e5d4858555058575a585b5b4d5829585a7f60585d5258505c507e5c7e58607e5a785c7a5c485a585d50585f5b584e762b587e487e584a295858586e5b5a60585d5c5b50555c51585758586a7e58607e5a5b5a5c5c50585469582a5b5a585f725c485a585d50584b5b584e6a705b5d405a5b586a7e5b5a585d5258506a782f6e7e5860725d7c5a584c7f516e715f586e5b5a6e53365872585a485a585c55485858484a4f5e5b5c587e5b5a2958584a5058484a695e5d485c7e585c5c754b6e295a5a60585d487e58484c6e53585058486d58585b5b534c405c485857585877217e58607e5a5b5a505850585476587471515b5c587e5860585848485f68577e505c5058586d5858585458486a7e5861584a5a6050585c51585758586a7e5b5c5c5b78705c5c5d585c5550585476587e4870585a585d525853764b6e4b585058547e585c5c5b7873405a5b5a5858554858585048585458486a7e5861584a504858555058486d5858587e585c7a5c485a585d5248576e487e5b435b5c587e5860585d5258505c48485f6b577e505c5a60585848485b565d48695b585a5c545058285f5d487e545a7e6a7e58607e5a5b5a585d5258506a782f6e7e5860725d7c5a584c7f516e715f5a585c50485854586e6d5b585a5c5a50584b5b5874765458486a5a485a58585c5c4f5f5d48587e5b5a295858725c724b6e29585058486d58585f5b545e6a71585a5458484b5b6b507e5c7e5d73405a5d5a585b50582d7e585c5c5a7d5c5c5c78295c5850585b5b584c6a7b7870505848484b68577e505050585876587e58715870585c484857685d585c5550582d76587e58715870585648484b6850482d7e5b5c5c5b787e6a71585c5c585048615b585a5c5c5058586d585858484b484b585829587e585a2958585a585c4848696a78725c6e78605c5c5058586d58585c71584a585848485f685048587e584b5b5f5d4858555a60585855485858507e4f5b2e485b515b51217e58584f5b585a5c535058535b585c7a715d5a58585548585b50484f5b585a5c5250585b5b584e7655507e5f5b584e7671585c5c5d50487a5a485853585872585a485853585872587e5b4c515b585e6a56567e48535b58725c5b5848535a487253586e72535a4872535a4848535a4872535b5872535b5872535a4872535b58725c5b58485c5b58585c5b48725b5a48485c5b5872535b58505c5a48725c5a4850535a60585b484853685058587e584a2958584c5176585c4070584b6a71585c5f324841217e584b6a715b6e6e5c5a60585b484853685058587e584a2958584c516a585c4070584b6a71585c5c5d48485c7e584b6a715b6e6e5d5a295c5b50487a54587e6d5b58705c515d585c55484858715b60585b5048585548485c7e5b60585855485858507e5f5b552a5f5b582940705b4b6a715d6e535850585f5b5051507e584a585f5e605055487d6a584b7e29585872587e5a29516c585c7a5c485a5855487c54584b6e295b50584b5b584a585c48485f525e605c5c5d5850555058507e5d60584c5c56545a5d5850555058575a585b5b4d5829585a7f60585d5258505c507e5c7e58607e5a785c7a5c485a585d50585f5b584e762b587e487e584a295858586e5b5a60585d5c5b50555c51585758586a7e58607e5a5b5a5c5b50585469582a5b5a585f725c485a585d50585f5b584e6a70584d405a5b586a7e584a585d5258506a782f6e7e5860725d7c5a584c7f516e715f586a7e5860585c6b5a504a5c5f545a485a585d5258505c507e5c7e58607e5a785c7a5c485a585d50585f5b584e762b587e485458486a7e5861584a48485b505d48485550585469582a5b5a585f725c485a585d50585476587e4b5b584e6a2b587e4855484b5871584853585872585a485853585872585a485853585872585a485853585872585a485a5855487d7e58786e2d715b7e6a55587e6a555a6e6a5558486a5a5b585c5b58486a5f5a6e6a555a6e6a5d5b7e6a55587e6a5c5a6e6a5e58586a7e5a29515b585e6a70584c5c5e4a295c5b50585f29487f5c587a4c4f605d4876555058435b5a5e767e58605849484858482c7e507e5860725d7c5c505850585476587e487e58607e5a555e6c6a7f4f5c575d60585a4b48295350584069586158715c70585e52485450504b547e5d6e2d5d5b4840515a486a7e5a29516f58415f5b2d6e5b5e5b5c587e5b725c7e78725f3648405c5a5c5c40785058435b585d7658505a5855487f54584b6e29505058435b585d7658484a585e4848582f585a2d7e5b725c58577e5c685d587e555058435b505e767e585a2958584a505b487d2d584b70505f48405c5a5c5c40785058435b585d7658505a58584848536850585b5b584e767e5b4b6a715a5853365872585a485a58584848535b584a585f5e2b766d58585870585c5c6d4b6e4b5850585b5b2a485b5e5d485c7e584c517c585c7a715b6058505d5854555058407e584c517c585c7a705b6376584d7e6e5b5a60585e50585f5b2a7e5b51507e7a2f58512d555058715b584e76555048585d485853585058586d58585870584c5c6d4b6e4b5850585f5f5d48217e584c517d585c7a5758486e525a295c6d50485c7e585a2958584a505f4b4a585f487d29584b775057585a585848485f6850487e5a485a585f50585b5b584e6a6d58585870585c295c485a585f50485c5458486a5d485a585848485f68507e587e5b725c7e7874767e5b637658585a585850587e6d58585870584c725758586a5550587e7158586a7e584a585e78705851567e587150585b5b584e767158586e585a6e585548487e7158486e5a5a295c5250485c5458486d5b585a5c5b5a295058504b535b585a5c5f484858715a5c5c5850487a73585c5c48786050485358585a485a585b48485f5150585f5b535c28614b484b58487d4a5b584c5c7a577e50585d585c555829585a7f60585d5258505c507e487e58607e5a785c7a5c485a585d50584b5b584e762b587e487e5b5a295858586e5b5a60585d5c5b5055507e48487a5829585a6e53585872587e5b5c5c6b786e2d5d58585c5858486d5b7f295c5850584b5b554c407b50487a7e58607e5a5b5a505c50585476587471515b5c587e5860585c48485f68577e505c5058486d585858715b586e5b5a60585d5c5b50715b586a5a485853585872585a485a585b484e206150584b5b545c7d604b484b585877217e58607e5a5b5a505c50585476587471515b5c587e5860585c48485f68577e505c5058486d5858585458486a7e5861584a5a60505c484f2061487d7e584b7e4b58484b58715848533650585476587e48705b5a585d525853764b6e4b585058547e5b5c5c5b7873405a5b5a585c554858585d585c55505854485c7e6a705b5c5e61524e766d58585b5b5c5c72575860585d5248576e487e5b435b5c587e5860585d5258505c48485f6b577e505c5a60585d487e58484c6e6e5e5a60585b5d485f5b5a5a5c5b5d58505550585f5b5a70585b5e60505b50584b5b6a4a7568554858584a6e295850585469582a5b5a585f725c485a585d50585476587e4b5b584e6a2b587e48555058575a585b5b4d487d4a5b584c5c7a577e50585d58485550585f5b5a727a57585a585c484d5b6b507e4f5b5a4c295c485c5c5850485c5d485a585b4848696a50584f68507e5f5b747b497463585f535877217e58607e5a5b5a505c50585476587471515b5c587e5860585c48485f68577e505c5058486d5858585458486a7e5861584a5a60505c484d5b6b507e4f5b5a4c28615d48585550585e6d504b50555872587e5b4c5c534a6e2958505b535a5a772d715c60585f6b4a5c4f5829585a7f60585d5258505c507e5c7e58607e5a785c7a5c485a585d50585f5b584e762b587e487e584a295858586e5b5a60585d5c5b5055507e4b5b545e6a705b4c5c534a60584d505b4f215071535a746b4974635374632c6a6e434e775057584a584a487e69325071547e5b7829705f4c5336714f7e5758586d5b5a705c5b5d58505548487671584a585f484875575d485c54587e6a7e584a585b48485f6b7a484b5850584b5b6a4a756855485858507e7e7e584c725c4858575850585c7e5b4e6e7e5a5e76705b4c51512d365c2d4a48533650585476587e48705b5a585d525853764b6e4b585058547e5b5c5c5b7873405a5b5a585c554858585d585c55505854485c7e6a705b5c5e61524e766d585858705a5a585b4a415c5758586a7e5b7829715c7e6a7e584a58504d48295b50585e6d504b545d485a584a505b573250714c7e5a52285a366e5e5d5071435a7f2d4f4e5d48507e5f4a584e7f5a5c4a50585c5a7f60585d5258505c507e487e58607e5a785c7a5c485a585d50584b5b584e762b587e487e5b5a295858586e5b5a60585d5c5b5055507e4b5b6a4a756855485858507e71575d48507e5c5a584d487e587e5c7250585c5a6a7e5c5a725d5a5f585758586a5458486a7e584c5c417b5c5c5f7d725c517a4c5e61522b766a585858715c4a585c487b5c6978702958585a505f50585f535b5c585d485a5850505b5f2950584f60507e715b7e505a586e585b535877217e58607e5a5b5a505c50585476587471515b5c587e5860585c48485f68577e505c5058486d5858585458486a7e5861584a5a60505c487b5c6978702958585a505f50585f537a4829585a6058506b4a5c4a5a60585b50584f575d485b5a7f60584b6b4a504d705a504f505b534c5d48585d485a585f6b4c55365840547e5c70584d717648715c70585b5877217e58607e5a5b5a505c50585476587471515b5c587e5860585c48485f68577e505c5058486d5858585458486a7e5861584a5a60505c487b5c6978702958585a505f4d48295b505b507e5f4f7e5758586a5550585c7e5b5c5e61524e766d58585b575d48585d485a585b5877217e58607e5a5b5a505c50585476587471515b5c587e5860585c48485f68577e505c5058486d5858585458486a7e5861584a5a295e61524e766d58585b555d485855487d4a5b584c515c585d405a585c5c5850487d5a7f605c4a5a60585d5248576e487e5b435b5c587e5860585d5258505c48485f6b577e505c5a295c58505b535a7f285c7e5b295c5b7a716a5c485c514c7e485f5b6158582b587e5b5a7f705c4a5d585c55505b507e5b2f6e705c2d4c7e5c2a29715c7e6a7e5c5c5c487870485850585469582a715a585a585d5258505c505854765870616b6b51284b5d48767e58724c7e5a29516e585c7d604b484b585058507e5c732d5a58586e5f5a60585a5058217e5c715d73587e6e5c5a60585a505b547e5c715d7258737e5a58586e5d5a60585a505b547e5c715d7d584d725d58586e5a5a60585a505b542a586e587e5870584a576e54505d585c5550584b5b584e695b51605855487c54584b70505f5e605c515872585a485a584948485f51507e715f5b5c587e58705c5b50586e5c485a5851484853295c5b7270584c4c575b7e6a7e5b725058576e567658725c585048485d485a585b5048765d4858533650585476587e4870584a585d525853764b6e4b585058547e584c5c5b7873405a5b5a585b554858585d585c55505854485c7e6a70584a585e78702958504c4c575860585e50585c2f585b6a7e5b725c7a7870585e484b6d6848485c7e5b725e76587476486d6e5c70584c5f324b7e2958484858715a4a585b4841205e5d48727e5a7e4b585058767e5b5c5c5a7d5e767e5b707e5a515d405a585a585c48485f685048485550586e7e5b5a58514b775f5f5d4858555058767e5b295c5b7d5c5c5b7a705051484853295c532d5b507e5c5758586a545b6e6a7e5d584b58484858715b5a58515c5b7270584c4c575b48575850585c715a4857585877217e58607e5a5b5a505b50585476587471515b5c587e5860585b48485f68577e505c50585c6d5858585458486a7e5861584a5a60505b50584368554858714b484b58484858715a7e6e5f5a60585c5058756850585c2f5858587e5b5c5c5b7870505c50587d515d485855484858715a70585350587d5b58414b5b584150705b615a7c584a505b5d4858555d587a55484858715b5a585a5b5c585d4858533650585476587e4870584a585d525853764b6e4b585058547e584c5c5b7873405a5b5a585b554858585d585c55505854485c7e6a70584a585e7870295850484b585058507e5b5e767e584d7658585a585c48485f685048485458484f5b585a5c52505850715a486e5c5a6e585558586a5d4858533650585476587e4870584a585d525853764b6e4b585058547e584c5c5b7873405a5b5a585b554858585d585c55505854485c7e6a7e5b74766d585a5c5758586d5b585a5c53484858715a7e6e5b5a295c585048727e5b725e765874765c7f60585e52585276587e4f5b58586a575b486a7e58607e5a5b5a5c5b50585469582a5b5a585f725c485a585d50585f5b584e6a70584d405a5b586a7e5860725d7c5a585b505854765870616b6b516e705c28587e5a295173585c407e5c70584d4c775f605d48405a485a58544b4829585058715f5b5c587e58705852577e50585d585c555058507e5a4d405a58586a7e5b4829585058765c485a585250584b5b58774b684848582b587e58555058755f5b5c5b5b585a5c535d585c555058487e5a4e695b585d765858586a7e58607e5a5b5a585d5258506a782f6e7e5860725d7c5a584c7f516e715f5a58575058535b585c7d685048295550585b5b584e76715b5a58585548585b507e585758486e5f5a6e6d5b585a5c53484858715a7e6a7e5d48295b5a295f36504829555058615f5d48587e5a4b5848505876485c586a7e5b725e6e58747672585a58575048587e58295e48584e7672585a58585a2954585872587e585c4c57585853585872585a4858535850585f5b587476565b7e585b587e505c586e48555058587e58736e58585821555058587e5873295b585821555058587e58732d5a585821555058587e58737a5d58586a556d58545a582a215b7f705458484a5b6b507e54725858535850585f5a363636363636363636363636585054705b4c52587e505a587e505d586e5d202050584f5a7e505a587e505a586e5536585851284c5b5c587e584c504370527a715b5a58584c5a585b486f3636366e325d507e4f5a7e505a585a5f487e5b4c52587e5058504c4b6d5f5b5c587e5b5c5e5b7e505a585b5e7671587e6e5a5a60585c48405a587e50585c78705c5a5058587e5b4c52587e50585071404b5a585f5057584a585a50584b5b58415f685048505458486a7e585f587e5b4c52587e505a587e505d58363621584f5a585f48765a587e505a587e545d36366e5b4b5e294c5c485a585b48717450692951363636215b7a4c5e587e505d325b2a5071587e6e5b5a295e587e505d215b605c5a50584f5a36363636363636366f2e3658585f4057585c5c585048507e5b4c506e70527a705b5c5e4b367e5b535d48587e58295c487870585850585f5a3636363636363636492d575a7e505a587e505a586e585a5c507e4c7e5b5c5e5b367e5b6b5c5a217e5860585850584f5b7e7f215850584b6b5c516e7e5860725d5a5a50584871745069605c5a50585469586e587e5860725d5c5a585d52485440715c50584c682b5c507e4f4850585b5a363636365d2d5470585c52587e5058504f5a585848765a587e58714b5e294c5c485a585a48485f685048505458486a7e5b4a585848765a587e58705f715c50584c7e29585058535b58415c7e58747671587e6a7e58295c7e787048585058507e584c507e70527d5b7e505a587e5171617a6b2d557e48485a582a215b7f7e53585872585a4858533650585876587e487058705858525853764b6e4b585058587e58725c5b7873405a5b5a585a554858585d585c55505858485c7e6a7058295c6b786e2d5d5848585b58586a7e58295c6e78605c5b5d585c555058575b554c40715b58535850585f5f5877217e585a7e5a5b5a505a50585876587471515b5c587e585a585a48485f68577e505c5058506d5858585458486a7e585b584a5a60505a484d5b6b507e5f5b5a7275605d48587e585a725d7a5c50584c6e29585058587e585a7e5a5b5c5c5b7863405a5b586a7e58705c5d5a6e535850585f5b5a72725c485c5c585048505d485a585d5058535b5a74616850485c5a7f6058585258505c507e507e585a7e5a785c7a5c485a58585058535b584e762b587e487e5870295858586e5b5a6058585c5b50555048547e584c5c6e78605c5a5058535b635374632c7e5b505058575b545e6a70584c5c534d415c5758586a7e58686e715b48535850585f5b5a722157585857585058566d50584f5a5a772c2148735b2050484c5a7f6058585258505c507e5c7e585a7e5a785c7a5c485a585850585f5b584e762b587e487e584a295858586e5b5a6058585c5b5055507e575b545e6a70584c5c534a6e295b50584f5a6b76325f28217f5a2f2f545b4c6e29585a6e6a7e584c5c524a484b585829585a7f6058585258505c507e5c7e585a7e5a785c7a5c485a585850585f5b584e762b587e487e584a295858586e5b5a6058585c5b5055484d5b6b484869535d4858555a6058585248576e487e5b435b5c587e585a58585258505c48485f6b577e505c5a29505850584f2050584c7e5b5b6a715b486e5b5a2952587e505a587e505a587e505b3650484c7e585a725d7a5c50584c6e29585058587e585a7e5a5b5c5c5b7863405a5b5c52587e505a587e505a587e505b365d6e6a7e5b486c7e547e54487f6e7d3258416e73585c5c6e786050545358585a485a585a484853575b5c587e58725c5a7d5a505a48436e6978707e5a585a5c495058535b725a75685258505850482d5d4858533650585c76587e48705870585b525853764b6e4b5850585c7e58725c5b7873405a5b5a585a554858585d585c5550585c485c7e6a7058715b6e5d48585548485c715b7e53585872587e58725c6b786e2d5d58585c5858486d5b7f295c5b5058535b554c407b5048407e584a7e5a5b5a505a50585c76587471515b5c587e584a585a48485f68577e505c5058506d58585871587e6e5b5a60585b5c5b5071587e6a5a485853585829587e5b4c5e525e74766a5858587e58725c7e7a72405c4858535850584f5b5b726a57585a585b5258505c507e507e584a7e5a785c7a5c485a585b5058535b584e762b587e487e58702958585a5c5a5d585c5550585c485c705c5a5a60585f48485f68507e4f5b5a5c7a5758486e5a5a6e6a7e5b4c5c5d4b6e4b5850584f5b5a5c4057584a585d4b4a585f48484b537a7e295a50584f5b5a5c405758486a7e584a725d7a5a504c487e5b435b5c587e584a585b5258505c48485f6b577e505c5a60585d4b4a585f48484b537a7e2958505b4b5a585f5471587e57585058535f5b5c587e584a585b5258505c48485f6b577e505c5a60585f48485f6b507e4f5b58296a5758586a55487e58715f5a5458484b5b6b507e50725858533250587860486e58587e51324c6f5a505d487f3636363621517a4a505b48405a587e584b6b487f363636367a514d484b5850585e6d4871745e48765a587e505a587e505d58492a6e5458486a7e582f285a5e40435a7e505a587e505a586e4936365850487e584c5e587e505d215b292157585b695a585a585b4b4829585e70585a50585e6d487e587e584e7a70584c514b585e76485560585a52485458504b487e5870725d5a5c52587e505a587e505d5858504f5b707f215850585f6b6b4c506e71764855504b4c7e5d5a584c576e545850586e7e5f4a585d48405a587e505b2d7a78285a5050785c576e54505058535b5c5e7672585a585452485450504b487e5d5a725d585a5c4f5d5850555872585a4858535850584c57585c5c5850484c5d485a585f487a7a7a78706e58585a585a484a5b604b6e295b5872587e5b4c5c5b4a6e295850585c76587e48705870585b525853764b6e4b5850585c7e58725c5b7873405a5b5a585a554858585048505458486a7e584b584a5048505550584f5b584e76705b4c5c5d4b6e29585a6e6e5b5a6e53585872587e5b482d5c58585c5b587e5c555872587e58725c6e4b6e29585877217e584a7e5a5b5a505f50585c76587471515b5c587e584a585f48485f68577e505c50584c6d5858585458486a7e584b584a5a295f7f7a4c5140585c405c485a5458487b585d7860505a5358585a7f60585b5258505c507e4c7e584a7e5a785c7a5c485a585b50584f5b584e762b587e487e5b4a295858586e5b5a60585b5c5b505550484c5a485853365829587e5b4c5c6e4b6e4b585872587e5b4c5c6c4b6e295c50585c76587e48705b4a585b525853764b7e295850585c7e5b4c5c5b7873405a5b5a585f554858585d5854555b4a585b5258505c507e4c7e584a7e5a785c7a5c7f295c5b5048767e584a585f48485f68577e505c50584c6d5858585f48485c715a70585b5c5b505550484c5458486a5550585c485c7e6a715b4c5c5b5048487e5b4c5c6e4b6e29585829587e5f29505b7f4a5c415877217e584a7e5a5b5a505f50585c76587471515b5c587e584a585f48485f68577e505c50584c6d5858585458486a7e584b584a5a60505f484d5b5e5d48585548485c715a7e6d5a7e505a587e505a586e492136504b4c5a485857585872587e5b4c5c7e7a705c555872585a485a585f484d5b6b507e715b5a727257585a585f484a2c5150586d5b2d485b6b484843497a48295c50584f5b55727a57585a585c5d48535b584a5c5c505b48715f6e6e5b5a605855487d7a587860585050584f5b564c767b50484c5a485a584c487e7d415b5c587e5b4a585348484b2978705c535d585c55505b4b5a515f7a5c485a585a484d5b6850584c48484a585a484a5b68505b727e5f4c505848765a587e505a587e545d20496158405058535b5c5e767e5870725d505a50435058506958607e705f4a585a5248546e5058506958637e485e5a585a505b407e5e5a585a524854485058506958617e48495a585a52485450504b7e7e5870725d585a5c4e5d585c5550584f5f50587d605d48587e58725148585e767e5e4a584f487e5b5a7e505a587e505a587e4921365c5b7e7e58725f587860584e505b7e7e5870725d4c5a585a524857405c5d6e7e5870725d4a5a5c4048485c715b60585a52485758504b4055505b4b5a58416e715f5c5c5b5048765550585c76587e48705b4a585b525853764b6e4b3650585c7e5b4c5c5b7873405a5b5a585f554858585b4a585b5c5b505550484c5458486a55484a2d715b486a5a7f7058524b484b585872585a485a585b5248576e487e5b435b5c587e584a585b5258505c507e4f5b584e6a2b587e487e58294c57584a585b50584f5b58746a2b587e487e5b5c4c575870585b50584f5b582b6a2b587e4854587e6a7e586e295b5a60585b487e58484c6e6a7e5872517e585e767e5b6b7d5c585858585858585858585a705c5f297e5870725d405a5c4e50585069582b7e5458486a7e5f5c50514f6e4b58505b48715f4857585058755b5b5148715a4a584f487e5f2150714f5a5a5f505758586a555872585a4858535850584f5b412a5f5b29585b5e5b5c587e584a585d5c564c5a50714f5a7e505a587e505a587e505a587f2850575860585d5b5c587e584a725d7a5c50584e48295a5d585455487e58715f70585b487e58484c2950585d584855487e58715f4a585b5248576e487e5b4d5d48505550585c7e584a7e5a5b5c5c5b7863405a5b586d5a585a5c4f5a6058534b484b585058535b21585b685058782a4b585858585858585858585876715b7d50585069582a58715f70585a5248572d5d585c55505b7a7e5f5a585c5e29505a7170584f7f5c507e7f4a504c4848587e5d2b6c6d4f484b58487d4a5b584c515c585d405a585a585a4878585b7870585e5c5c5c7e58725e48584e767e5870725d76585c7e5870725d68585f5a7f2955363636363636363236363621585c5b7e7e58725e58584e767e5870725d72585c7e5870725d74585f5a7f2955363636363636363236363621585c5b7e7e5870725d7e585c715f70585a5248565058486e5b5a605849487c505b782f6e7e5f5f7a5c485a585348485b565b5c585d485a585a4878585d7870584e505b715a585c52587e505a587e505d58362e20365c5d6e7e5f70584048765a587e505a587e505d3649615d7e584a5c5b5058535b72585768505b407e5e5a584e50585069582f585d50585f5b585c7e7058616a7e5e5a585a524856765860585d5e615821505b4b5a584129715f5a585a5248564058605c4050585069582c585d504b407e5a4c5c5b7d5a585b48485b567a70505348485b565d4858555a6e5332505b487e5d2f612048705b2150714e77507e5f5b585a585b48485b525e605856505b4c7e5d68284d5e60505b487f5c584d7e4b585058535b7e58576850584048484a585a5248565058605c4150585069582d585d504b755a58586e5b5a60585a487c585a78725e48584a585b78615d7f584b5b7d5058535b2958536850584048484a585a487f585a7870585a5248497e5870585a524849765870585a52484948587050435058506958207e5a50717a482f6e507e5870725d325850715e70585a5248496e587e6a715f4a585a487a585a787058535058755b58415f5f505b407e5e5c5058487e58487c295c584b60585b484a5b507a415c70584e764872585c7e58725e6e5874767e5e4a5841505850695821585a5058506958217e5a5c5b7e7e58725e485874767e5870725d6a58507e5870725d6c58507e5f4a58785c5d6e7e58725e7e5874695a585a584e50585c7b487e587e5e5a585b5e605843505b7a485e5a585a4840585a7870585a5248567e5870585a524856765870585a524856485870585a52485640587158215058535b21585f6850585069582d585a50585069582d7e5a505b4c7e5e715d7c584a585a5248496e584a504f5058506958367e5b50717d5a585c50585c516d5f5b5c5b5b28505c5b487a4858577e50585a60585a487c585b7870584f505b7a7e5f527a482f7e507e5870725d2d585c715f70585a5248497658486e5b5a29514c7e485f5b6158582b587e587e58725148584e767e5b715b5b5058535b6e585f68505850695820585b5058506958207e5b487e5b5a7e505a587e505a586e5858485e5a585a487b585b7870585a52484958584a585a52484950584c505848765a587e505a587e5458585c5b7e7e5870725d6a585c715f70585a5248562d58486a715f5a5854505b402a5861587e5d5a584c576e54405058535b6a5857685358587e5d5a725d5e5a5c4c50586e69586158715f486e5e5a60585b5248576e487e5b4d5d48587e584a585b5258505c48485f6b577e505c5a60585b50484c7e5b705c53505854715a725c585048435b585a5c5d506e5b5b725440587860505c53585b5b585a5856505820685071536b504b545a485853365829587e58725c6e4b6e4b585872587e58725c6c4b6e295c50584c76587e4870584a585f525853764b7e295850584c7e584c5c5b7873405a5b5a585b554858585d5854555b4a585f5258505c507e5c7e5b4a7e5a785c7a5c7f295c5b5048407e5b4a585b48485f68577e505c50585c6d5858585f48485c715b70585f5c5b50555048505458486a5550584c485c7e6a7158725c5b50487a7e58725c6e4b6e29585829587e5f5c505b7f4a5c4c5877217e5b4a7e5a5b5a505b50584c76587471515b5c587e5b4a585b48485f68577e505c50585c6d5858585458486a7e5b4b584a5a60505a484d5b5e5d48585548485c715b7e6a7e5b5c5c58577e52485b7e53325872585a485853585872585a485a585a484a2c5e507e5f5f5058535b545e6a705a5c5c534a2a5f5f5b5c585d4858535850585f5b58415c5c485a58514b484b58505b4c715f5c5c5b50487a54587e6a7e5b724c7158486e5c5a60584f487e5f21504b4c7e582951215d296e5c485a5857505b4e775058535b545c407b5048297e5b5c5e485b74767e58295c5a7d5e7670584a58555b51217e5870585b525850584848696a78725c6e786e4c7e5a586a2b587e5b5b584a5c5e4848587e5a295c5b7870505b50585f5b5a4c4070584b6a715a60585b505857685048545458486a7e58725c6e4b7e29585058487e5b5a7e5a7e5c435b5841502b58765b5e487d6049584a5c575a6e533650584c76587e4870584a585f525853764b6e4b5850584c7e584c5c5b7873405a5b5a585b554858585d585c5550584c485c7e6a7058725c6c4b70505b5058535b545e6a705a5c5c524a41505758586a55505b487e5f4a58515e605c4c5058435f5058535b412a5f5b61485b517a724c5c4858535850584c7e5a715d755870504e48765a587e505a587e505a587e51204a5d48587e5a724c575b4c5058504b407e5b4a725d7a5c50584c6e295850584c7e5b4a7e5a5b5c5c5b7863405a5b586a7e5b724c575860584c505b4321504b48545b486a7e5b724c71584a585a48485b505d485c5550584c69582a5b5a585f5457585a585f50584c76587e4b5b584e6a2b587e485550585f5f5d485055487d4a5b584c5c7a577e50585a295058504b4c7e5b4c50585c5f575a58586e5b5a60585c525852485b70505b4b484b585058487e5a7b7d5c585858585858585858585a705c5f297e5b5a725d585a5c4f50584869586e7e5458486a7e5f5a584f4c70584f487e754f7a705856484b2c544848587e584a58567d716d604b484b5850584b5b545e767e5a4b5b5b50584b5b505e767e584b5a48584a585c484b5b68505848695863587e5b5a725d565a585c5248547e5058486958607e485e5a585c52485448504b4c7e5b5a725d5e586e5b5a60584948412c6d6b4a584c4c6e4b58487d4a5b584c515c585d405a585a585c487c5858787058535c5c5c7e5b5c5148585e767e5b5a725d405a585c524857764877205a36363636363636366f363636585b584050584b5b485e6a7e5b5a725d4c5a585c524857404877205a36363636363636366f363636585b584050584869582958715f4a585c524857505d585c555058205b2d7e5f6b6b5a584c4f484b58487d4a5b584c515c585d405a585a585c4843585b787058535c5c5c7e5b5c5e58584e767e5b5a725d72585c7e5b5a725d74585f5a585c52587e505a587e505d58585b584050584b5b21585b6850584869582d585b50584869582d7e5b487e5b5a7e505a587e505a586e5858485e5a585c5248576e504b4c7e5b5a725d7c586e5b5a6058555b5c587e5a295c504d584b5850584b5b725843685058575b58774b68507e5c76587e58715b48575850584f5b5a746e715b4a585548485f68507e6d5b5a4c7a5758586a7e584a585f577e50585a60585d48485f68504854555872587e5d4a584c696050514a705857484875567a705851484b5f527a7e295850587d5b5a4c405c485a585c487a585b787058535c5c5c7e5b5c5e6e584e767e5b5a7e5a7258404872585c7e5b5c5e7e584e767e5b5a725d6e585c7e5b5a725d60585c7e5b5a725d6a585c7e5b5a725d6c585c485e5a585c5248567e584a5c4f50584869582f7e5b5d58505550587d5b5a5c6e5c485a585c4843585a787058535c5c5c7e5b5c5e585874767e5b5a7e5a7258404872585c7e5b5c516e584e767e5b5a725d7258507e5b5a725d7458507e5b5a725d7e58507e5b5a725d705850485e5a585c487c585b78725c5850587d6b484853294843586978707e5a585b5b5b50584b5b29585f68505848695836585b5058486958367e5b505848695832585b5058486958327e5b5c56725a505848695820585b504b4c7e5b5a725d2b585c54587e6a7e5d7058514841286a78725c7b7870505b484b2c544848587e5b5a7e5a725840705870585b7d716a57585a585c487c585a787058535c5c5c7e5b5c51485874767e58715a48584a585c487a585a7870585c5248497e5870585c524849765870585c524849485870585c524849405871584050584b5b6a58536850587d5b58774b5b605a7168525850585c5c5c7e5b5c5e7e5874767e5b5a725d6e58507e5b5a725d6058507e5b5a725d6a58507e5b5a725d6c5850485e5a585c5248567e58705c4f50584869582f7e5a5d585c555829587e5b5c5e485b74767e5860505a48485f6b507e575b58774b68525850584b4829585a295c5850486a5a485a58514848756f507e5f5f5b5c5b5b585a5c5b5d585c5550585c7e584c5c537870585148485b565e605c5d5872587e58724c5c485c5c5850485f5b585a5c5a5d585c5548405a4c2f206e5d4848587e582b6d5b58774b5b725a756852585058507e436d5048695b585a5c50484858715b4c5c5850485c5d485a585c4843585e7870585f484853297870505750587e7e5d4a7e5a585a50575058436c50715b68507e7e2b587e587e584c5c5b787251365d2a5c7e584a58504b4a585b50584f5e7a4a50505e605c5b50587d5b5a4e6a7e5b6058505e605c515058767e5d4a585e505b5b6a782b6e715a5a585f48485f68507e4c7e58727a5758586a7e5a5c4c57585a585c4843585e7870585a4848532978705850577e50585058535b584e7671587e6a7e5b60585d78295c5378705c515a6e57585872587e5b295c724d7e4b5850587d5b535c7a57584a585c4843585e7870585b4848532978707e5a585c514b2f7f725c4d6e295b5a60585a487f214978705c5e484858715a5857585058706d50584b5b725843685058435b366e2061507e575b58774b68507e4028587e5b5a5140432150714b5a7e434d6b2a58574c5b51205b58584c7e5f5a584c48765a4c2f206e5d7e5a504f48765a4c2f206e5d7f7729715f5a584f696e6a715a5a585e505b4a77507e402b587e587e5870585a5058507e5860585e5e60585b5058575e5e60585d5058535b584e6d5b366e20614b616a715870585d48485f6b5048407e584a585d4b6e29585a605855484b286b50486a7e5a5c4c57584a585a50585f5b584e6d5b366e2061507e5f5e5b5c587e5b5c5e485b7476705860585a487f2d49787251365d2a5f5b58774b68507e407e5b707e5a585a585a48485f6b487f21497a4a505a4848532950585768525850587a73405a58586a7e5b295c5378705c5150584b5b7258436850585f5b58774b6850587e2b587e585458486a555872585d485a585a48485f68487f21497a4a5c5d50584b5b725843685058535b584e6d5b366e20614848532978705c505829587e584a5c5e484858715b4853585872585d4858535850584c7e5b74695b366e2061507e5c7e58724057585a585c4843585e7870585b4848532978707e5a585a505b50584f5b58774b5b2d5a716852585058507e69535d48587e584a58524a6e295a50584f5b584e76705b4c5c5c4b6e295b5a6e6a7e5b295c724b6e2958487e58715f5c5c5850484f5a585a5c4f5829587e5870585f50584368487f21497a4a505b4b7e4b585058535b584e695b366e2061507e535b5877487e5b5e695b585d405a7358405550584b5b7e584368505b487e5f4c505848765a587e505d75746b7c566e5858485e5a585c487f585f7870585c4843585e7870585b4848532978707e5a585b5a48584a585c487c585f7870585c524856585b70585c524856505b70585c5248496e5b4a585c5248492d5b4b58215058486958327e5f504b4c7e5b5a725d2d584c715f5a585f48485f68507e4f5b5b5c7a5758586a7e5b5c51485b4e767e5a4b5b5b50584b5b6e584f68505b487e5f4a585c524849485b4a585c524849405b4b58405058486958217e5f504b4f5a585a5c4c505848695821585f504b407e5a295161585e76705b6058497860505d4848587e58295c584a716a7e5d70585d50582c50507e4c7b507e5f5b21585b545d485c545b586d5b5a4c5c5b50587d5b554c767b507e767e5a2b76715a60585e50585070584c4057584c5e5875566f7a586058527d705c574841217e5a774b5b7f2a54715c5c5c5850484c7e5b705c5b5829587e5b5c5e485b74767e5b725c5a7d5e76705c4a585f505b5c76587e58705c4a58527d7476705b4d405a585a585b48485f68487f21497a4a585b50584f5f50585c7e5b724361507e4c7b50485c7e5b295c537860585150584c7b50487a7e5c5a584b7a4a58577b5a5c5f5058435b584e695b366e2061507e407e58727a5758586a7e5b4c4c57584a585b505857515b5c587e5b5c5e485b74767e58725c5a7d5e767e5b4d405a585a585d50485054586e6a7e5a5a58505258505848485f60577e50585058547158486e5b5a6e6a5550584b5b72584f68487c5c5b50585f6b5c57215b5c5f297e5b5c5e6e5b4e767e5b5a725d72584c7e5b5a725d74584c7e5f70584f5c566a5a50584869582e7e5f504b727e5b5a725d6a584c715e5a585c4840585f78725161585a585b78615d7f584b5b7d50584b5b76584f68505b407e5f4a585c524856585b4a585c524856505b4b5d775870585c487f585c7870584e505b4c7e5b5a725d76584c705f5a585c524856765b4a50415c572d5b50584b5b2d584b68505b7e7e5e4a585c5248496e5b5a585c5248492d5b5b58215058486958327e5c504b4c7e5b5a725d2d5848715f7e6a5a485a585e48484b68487f21497a4a50525058535e5d48585a485a585c4843585e787058524848532978707e5a585a5052487f36536d7c2d5b4d484b585058695f5058435b5b4e695b366e20615058535e7a48295b50584b5b215857685058742a4b585858585858585857583676715b7d50584b5b2d585768505b487e5f60585c5248496e5860585c5248492d586158215058486958327e5d504b7a7e5b5a725d2d5854715f586e5b5a60585248405d526d7c2d5b4b6e4b5850584b5b29584b685058742a4b5858585858585858567e3676715b7d50584b5b6e584b68505b487e5f60585c524849485b5a585c524849405b5b58215058486958217e5c504b7a7e5b5a725d6e5848715f586e5b5a6058536d605c7b5058507e5b725c5f787251365d2a5f5e5b5c587e5b5c5e485b5e767e5e2948585858585858585d7e492f5048414a585c4840585c7870584c505b7a7e5b5a725d7258487e5b5a725d74584848495a585c524856505b5a5c4150584869582d585c504b485458486a7e5b5c5e6e5b5e767e5e2948585858585858585d76492f5048414a585c4878585c7870584c505b7a7e5b5a725d6a58487e5b5a725d6c584848495a585c524856765b5a5c4150584869582f585c504b485550585f5b2e6e5b525d48587e5b5c5148582b767e5f5a5841487e5b5a7e505a587e505a586e4921365c567a5a505848695820585d5058486958207e5d487e5b5a585b5b2e5d48587e5b5c5158582b767e5f5a5841487e5b5a7e505a587e505a586e4921365c5d6e7e5b5a725d605854715f60585c5248495858605c4c5a60585c487b585d7870584e505b4c7e5f5a58415c5d6e7e5b5c5e7e582b767e5b5a725d6a58547e5b5a725d6c58547e5e5a58435c572d5b50584869582f7e5d504b4c7e5b5a725d765854715f7e535848412d7e5c746a7e5b295136363636365b2a5f565d48587e5b5a584f486f36363636363636363636366e5a5d576e56405860585c505b402a582c585d50584b5b7e585768505b407e5f4c505848765a587e505a587e505d364961584050584869582c585d50717e7e5b5a725d745854705e4c52587e505a587e505a586c5458585c56585b5048507e5f4a585c524856505860585a48485b50507e407b504b4c7e5f70585c524856585860585e5e605c4e505b547e5a60585a48485b5678705055487c2d5878722d5c485a585f50584c7e584a585d4b2a5c7e5e5a584348765a587e505a587e505a2d6e5858482d585f5b585c7e7b48485f515d485c7e5f5a5841487e5b5a585b5b2e4b48295b5a29514c7e485f5b6158582b587e585550584b5b21585368505b407e5f4a58555c56765a505848695836585a504b4c7e5b5a725d32585055504b487e5d5a584f576e547e50586e7e5f5d7a5d525a585c48435d5e585e7672585a585452485476504b487e5d5a725d505a5c4f5d58485550585c69582a5b5a585f725c485a585b50585c76587e4b5b584e6a2b587e48555d585c555872585a7f60585b5258505c507e507e584a7e5a785c7a5c485a585b5058535b584e762b587e487e5870295858586e5b5a60585b5c5b5055484a715e5b5c5b5b584a5c5f5d585c5548765a587e505a587e565d36366e58715f5a585b5248576e487e5b4d5d48547e584a585b5258505c48485f6b577e505c5d5854555829585a7f60585b5258505c507e507e584a7e5a785c7a5c485a585b5058535b584e762b587e487e5870295858586e5b5a60585b5c5b5055507e535b545e6d5b5a72727e5872515b585e6d5b5e7275605058535b2a6e5b5e7a724c7e58725171585e6d5b5e7220614b484b5850584f5b584e76715b486e5b5a6e6d5a7e505a587e505a582d493636585a5c4c5058535b524c40575870585b5248576e50717d5a585f725c485a585b50585c76587e4b5b584e6a2b587e48555872587e586e4b5850584c5758486e5c5a6e6e5b5a6e575850584f5b584e6a715b4a5841487e5b435b5c587e584a585b5258505c48485f6b577e505c5a60585f5d4858555d585055487d4a5b584c5c7a577e505850585f5a585b5b4d5a295058504b48555058587e5f4d7a5d585a5858505b482a586e7e7e5d5c5c6e787048585a21765e587e4b36582a2d73585c5e58584e6a705b4a48585872585a485853585058547e5b5c5058487e58487c294c575858533650584b5a3636363636363636492d54715a48533650584b5a54507077487f363658415c705b725136366e5f515b5c5b5b5b5a585e5d485c784848535b5860585d5058745c4c5b6a54587e6a7e58605853715f58555a294c57585a585a48735a5069605050487f363658415c705b725136366e5f515d485c5550584f5b5c5e767e584a585a5058547e5b5b584050584c7e5b4a725d5c5a505b50584c6958617e705870585b505850482f48507e5b4a725d5a5a5c5a50584c69586e58715b586e5b5a60585b5058535a3636363636363636492d547e5b68285a5450785c507e767e5860585c486f3636363636363663325d50584b5a54507077487f363658415c705b2f285a5450785c507e72487c295c584d584b5850585c7e5a70585d505872487c6e4b5850585c715b586e5a5a60585f487f58587870585b5058535a585c50585c5b7e7e5b4a725d7c5a5c5a50584c69582a58715b586e5b5a60585e5b512d7e58484c7e5b4c517e585e767e584a5852487e5b5a7e505a587e505a586e556f58585b584050584c69582b7e705a72506e70527d5b32585b6b5048407e5b4a725d40586a715b5a58514b484b5850584f5b29585b685058547e5a4c505848765a587e505a587e545a2e6e5858485e5a585f52485740507e755a54507077487f7e5878605c5150584c6958285871586e6a7e5a4c553636363636363621367e2952587e505a587e505d58585048715a4a5852486f3636363636363663325d48765a587e505a587e545858715a5c525058407e5b29765c4858575858772d7e5a7058537f4a585d50584b4e6b4129705a2950584e484b5850586a7e5b5a585d7f4a505c715f585c485a585f484a5b6850585c7e58725058487e58485e5a585f524854765048507e5b4a725d505a5c5c5d584c5550586d5a5840407e5b5c50367050485458486a7e5a72505b7170585c4873325071586a715a70585c487e5e5e5048487e5b725c5b7860505e50587d525d48585550587a715b7e6a5a485a5852505875205058547e5b5f786d7f4a5053487e5b4d5b5c587e5a705c535d585c555058727e5b5a585d7f4a505c715c50584c7e295850584f5b545e767e584a585a487e5b5a585b584050584c6958637e715870585f5248546e5048485458486a7e5a4c553636363636363621364e584b585829587e5b5c5036705a5c5b5058435b584e6a715b70585c487e5e5e5048487e584a5853487e5e5e715a505348765a587e505a587e5458584f5829585a6e6a7e5a5c5e587e58536150487a7e5b725c584d584b5850584f5b485e6a7e5b5a5853486f3636363636363663325d5058435b32585b6850587d606b4c506e71764b5a585c52587e505a587e505d586e6321485e5a585f524857505048507e5b4a725d485a5c5c5d585c555058755a3636363636363636492d547e5b7058517a68285a5450785c504850555058587e5b5d7a5d585a58585058502a586e7e7e5b4c5e58584e767258586a60585a5858487f215b7a4a505850585c482e585070584c5f367a2a5f5b5841487e585a585b7a2b6a70585c5f687a4c5c5b7d5a5858484b4f6378295c407d5c5c407d486c685d6e505f7f6e2c32506e5b5b2958536b507e4c72585a585c486f3636363636363663325d50486a7e5872553636363636363621367e605c525058507e5b504f5a7e505a587e505a587e505a587f2d54715d4a585c48735a5069295136366e5f6150487e5a485853585058535a54507077487f363658415c705a4c5c5b78295120366e5f575b5c587e5a5c5c5b78295132366e5f535d485c5550585f485058535a363636363636363636363636585054705d5c52587e505a587e505d58363621584f5a585448765a587e505a587e545d36366e5b4b5e294c5c485a585a48765a587e505a587e5a5a5c50482954587e6a7e5828587e5b5c55363636363636363636363621587e60505a48765a587e505a587e545d36366e5b4c5058535a7e505a587e505a586e493636585f5c7b4b484b5850584b5a7e505a587e505a58505048715d4a585d50485c54587e6a7e584a585448765a587e505a587e545d36366e5a5f715f585c485a585d5058535a7e505a587e505a586e49363658504e5c4c584b58487e5871584c52587e505a587e505d7e3636215850482954586e6a7e5d4c52587e505a587e505d5836362158715a5c57487e587158486e5a5a60585d5058535a7e505a587e505a586e49363658504e5c4c584b58487e587158486e5a5a60585b5058605c4c584b5848765a587e505a587e565d36366e587e5d4a585a5058565c4c5b6a715d4c505850485c54587e6a7e5870585d715f585c485a585748765a587e505a587e545d36366e5a5c5048285a585a5c5b5d5850555058615a363636363636363649287e5c485a585f487a585a7870585b5058767e584a585250586948507e407b7c4a585e484843296b416077507e435b5d2b6a4855295c485058436b5048407e5b4a725d605850715a70585f5248495858705c5b5a60585a486f3636363636363663204e5d48587e5b4c5e6e5874767e586058555058547e5a6058554c5a50515e2a727e5b295c5e7d522821696050514848206b5c5a217e5b70585178725c4878605c5e50584c69582e7e5a50486a7e5b4a725d6a585071586e6a7e5b4c5e7e5874767e5a2952587e505a587e505d58585048705c7250497170585d48735e50715a505a487e5b5a7e505a587e555d746f505528585a585a7f4a505c487e58485260585f4843585a7872505850584c69582f7e5a7f4c505850584b5a585b586b50584f5b7e58536850584c69582c7e5a487e5e5e50584c69582c585a48733250715a505c487e587e587250585c5a6a7e5b4c516e584e767e5b5c5058487e587e5b4a725d70585320487e58485260585f487c585b7870585f5248492d584c505b7170585f5248496e584c5036705048705b5c50585058535a585b586b50584f5b29585f6850584b5a585c505850584c6958327e5b7f4c50585c5a6a7e5b4c5158584e767e5b4a725d2b585f5a5840407e5b4a725d29585f5a492d705c507e4b5a585a585a487e58485260585f487b585b7870585c487e5b5a585a585f524849505841285a585b586b50584f5b76585f685058535a585a585f5248562d584c505b7170585f5248566e584c503670504b5a58412970587250585c5a6a7e5b4c5e48584e767e58295049717250585058535a585b586b50584f5b21585b685058535a585c505850584c69582f7e5b50584c69582f585b507e6e7e5b4a725d74585f21507e487e5d5f4a6d7f5a585c487e5f4e6b416120487e58485260585f4840585b7872505b50584b20487e587e587250585c5a6a7e5b7058535058716b78705c5e5877217e5b4a725d7a5a504d487e5e5e507e2d7e5b4a725d70585c705d29505b7170585f52485658584c503670504b2150715b5a2c326e587f4a504c48705a50507e507e5a7252587e505a587e505d58585048705f4c507f705c5536363636365d2d54705b512d705c4a585b487e5e5e507e615a50507e705a605848505b4b4e6b4a5856505b5b4e6b4a585f5248572d487e5e5e505b575a492d705c5058205a492d71217f51615a584129705c29507e705a50487f776e705d70584b4f52297e5d705856505b575a36363636366e325d5071547e584c5036705a504e5058695a5840785c486f3636363621497e6050527f776e705d75786d7f5a585c505b5b327f5a585c505b573250715c7e5a7058487f776e705d60584b4f52285a5050407e5d29507e70504b2150582d7e5d70584948705a5e7f5a50564f68282150582d7e5d70584c486f3636363621497e60504c5058693250715c7e587058557f776e705d60584b4f52297e5d605849505b547e5d5c5532363636365d2d54705c412c21507e204e6b416121507e2c4e6b416e7e5d70585c505b4b3250717a7e5c5a584b7f776e705b5a585a505869327f5a505250586a7e5c2a2c2150715b5a50507e7e5a7058484f68297e5b5a58414f52297e5b5a58524f6828217f5c507e71764b21507e487e5d754a6d7f5a585c5058217e5870584b7f70505a50586a7e5f512c21507e6d5a50507e7e587058554f68285a5050785c7f5a505a5058204c6b4a585a505b5b5a505043215058534c6b416121507e507e5b5f4a6d7f5a505c486f363636363636363621584e584b58505b4f5a5840407e5f7648715f4a585f487d58587870585a5058487e5860584a5c5a6a7e584c50617170585f524857407f4a585f52485748507e5f5a585f526d7f4a5c52487e587e584129715a60585e487f2e36585e765458486a7e5b4c517e585e767e5b5c50367170585a487e5e50715a505a50584b5a58407e705b5a585d505b50485260585b48735a5e50584c69582b712050584c69582b58705d5c50584c6828205048695a585a58547f4a5c5550585c715d5a585e487f3636585e7655507e435b3636215b4d7e4b585058285a7e505a587e505a586e493636585048715d4c505850485c5458486a5a7f70585e48485b525b5c587e5a72505b7170585548733250715a5c5250584b5a3636363636363636492d547e5b68285a5450785c50486e7e5a29505b717e6e5b5a60585e484020364d584b58487e587158486e5a5a60585f484c5b6b5058507e5b5c5c5b5058436b5c516e7e5b4c5c6e78705854505b4c7e5b72516e585e76485560585f484a5b685058547e5c70585f52485758507e507e5b4a725d4a5a50545c5a6a7e5b4a725d565a585f52485476487e5e5e50584c6958605870584c503670504b2050584c69586358705b5a585b487e5e5e507e5f4c6b4129715a70585c50585f205a605c5c50584f5b5c5e767e5860584a487e575a585b586b50584c7e5860584a487e4f5a585b586b50586e7e5870585a5058547e5872505b7e60505b50584b21507e574c5058767e584a585d4f682821507e5c7e5c75407e584a584a4c4b6c6d7f5a505a4f682821507e487e5870585a50584b5a7e505a587e505a586e493636585f487e5860585f524854484f70585b50584c6958617e705b5f407e584a585c4c4b6d616b416e705875786d7f5a505c5058507e5b5c52587e505a587e505d58363621584f5a585d50584c69586e5b4e50585c7e5b4a725d5a5a505d4f70585b5058574b5e2a5e6d7f5a505b5058534c6b416e7e5d4048715d486a7e585a585b576e54585058587e5d4d7a5d5a5a585f487d585a787048585a2e215a58485f36506e5b5b29585b6b507e4872585853585058575b7e50585b4d7e4b5850584b5b505e767e584a585a487e5b5a7e505a587e505a587e493636585b58405058486958607e715870585c5248547e50485c7e58295136366e5f505b5c587e58295136366e5b6b50485454587e6a7e5b5c5c487870585b5058535a585c52587e505a587e505a58363621585c5b7e7e58295120366e507e58295120366e53505e295132366e5f6b5048547e5b5a725d5e5a5c5a505848695861587158486e5b5a60585d48405e587f297657585a585c484c5b6b50585c7e5872505848765a587e505a587e50582c5c5b7e7e5b5a725d4a5a5c5a5058486958295871584a585d487f4a587f72765c485a585d48402a36585e7671586e6e5b5a60585c484d5b6850585c7e5872505848765a587e505a587e50582c5c5b7e7e582951767e41297e582951767e4128525e295e78367e5f685048547e5b5a725d565a5c5a505848695863587158486a7e5b5a585b5058535a585a585d487f3636585e686d48735a5e5c5b7e7e585a585c52485450576e54505058587e5b5a725d585d7a5d585a585c487d5858787048585a634c585058587e584d7a5d585a58585058535a3636363636363636492d547e5b5c506e70527d5b7e50585a7a4a585a48735a5069295136366e5f617a68285a5450785c576e54505a2d2d5b58485736506e5b5b5c5e6a7158485758487c607a6b20215d5048505a485857585058535b2a7b7b716f58435e5d485c7e58725e4e632152325b5c7a5c485a585a487c607a6b20215d4b6e295b50585c7e585d405a5d5a585b5058542b587e715b756a365a6f7e4b5b2a7b7b716f58407e584a7e5a5d5b6a71587e6e5b5a6e6a7e584a7e5a5a5a505848485f294848536150585b5b584157685048547e584a7e5a5d5a585b5258505448485f6b7a4a5c585d585c555a60585b525850505a606e5850585876587e587850585876587e587e585b5a5f584e767850585876587e587e585b5a53584e767850585876587e587e585b5a5f584e76785a6e7a5850585c7e585e6a555a48587e585a585b5c562d5a5a606a5b5841217e585a7e5a585a505b5b5c587e584b5d2e58725f365c5f2c5f5b5c587e585a7e5a585c4c495a6058584848582b587e585548485c55526e5c5b7f60585852585058507e5c5c485a585b5c50585d4841214841724c5c485a5858525850584b48215550585b5b585d405a58586d5b58486a57585c5c585058587e585c5f365c5f2d7b5a2d295b58484b36506e5b5b5c5e6a705b4a485850585c7e58715d6f5870505c484e20575b5c585a485a585c484869575b5c587e585a585c5c5d767e585a5c5d5d585c555058587e5b5b5a4b584c5c5b7870505e5c5f217058615b575058587e5b715b545058587e5b5b582c5a6e575850585c7e58727a5c485a585d50585c48575a585d48485f685048547e584c5c5b78705c5b5d585c555a60585f4848582f5858217e5860585f484820685c5d487e5b4c5c48787048585d6e6a485f6e58552c48485b5b2a217e585a7e5a5b5a58585c5c5476587e5b515b5c5873585c5c487860505a5358587e58705858577e50585058507e585a7e5a5b5a505d577e505c5058507e58295c5b7873405a5a5a58585c5c547e58707e5a5b5a585b5c506e5a5058507e58707e5a5b5c5c5b7873405a5b5a585a5c50725a5058535b5c5e767258582155506e5b5b505e6a705b60485850585848486050505877217e5b295c5078705c5a5877217e585b5a53584c5c5b78705c5e506e5b5b5c5e6a705b4a485850584c7e5b73405a5d5a5458484b5b6b507e4872585a58585c5c547850584b5b7f63405a5d5a585c487f363636362151577e505050584b5b5d5e767e5b5c5c5078715a70584a7e5a585a5c5d50584b5b5c5e7672585a585d505843495b5c587e585b5a5f584a505c5058575b584143535b5c587e5b4a585c48485f29577e505050584f5b5a5e767e5b4c5c5478715b2b525850585048545550584f5b5c5e7672585a585d5d585c5548787a7b5c53405a58586a715b4a58585c50725b5048435b585a5c5d506e5b5b5c5e6a705b5a485850584b5b585d405a5d5a585a4848616850584b5b5d5e767e5a5b5a5c5870585f5b5c587e58707e5a5c5b767e5b4b5b7f504854555058507e5863405a585a585a5058547e5b7476705b73405a5a5a585a5058402b587e487e58715a5d584a585d50584f68577e505850584b5b5c5e7672585a585a525850505a60585b5c506e5a5058507e58707e5a5a5c5c5b7873405a5a5a58585c56295a50585848486058585258505850585876587e487e58725c5c7870505b5c50545a5058587e584b5b2850585b5b5b5e767e58725c5078715b28505858484860585a5c50545b5c514c7e5870585a5258505c577e50585058584870485c7850585876587e587850585876587e587e585b5a5f584e767850585876587e587e585b5a5f584e767850585876587e587850585076587e4870585a585a525850504b6e4b585829587e58707e5a5c5b767e5870585a5258505048485f6b577e505050585076587e7e7e585c7a5758586a5550585076587e585c485a585a525850485e70585a525850585048587e58715a5d584a7e5a585a585a525850587861767e585b58485a605851484a5b68535858555d6e587e585a58585258504050585f68577e50405a617a585058587e5873405a515a585850585c2b5871487e585a585b577e50405a28405b5877215a485a585852585058507e535f5d48585a7f60585a52585040507e547e58707e5a515c405c485a585a50585c7e58707e5a585a7e5a575b5c5a58586e5b5a60585a5058575b5b5e762b58717e7e5860585b577e505850585c554841214841724c57585a58584848582b587e58555a60405b5841215a485a585852585058507e535f5d48587e5870585b5c492d5a4841214841724c57585a58584848582b587e58555a6e7258505858482c585c485c586a6158485f3650585876587e6e70584a5858525850484b7e4b585058587e585a7e5a585a7e5a525b5c58585821555058587e584c5c5c7873405a5d5a585b525850585a607a5b5841217e585a7e5a5d5a505b5058587658715b5e5b5c587e585a585852585058525850725c4858585d6e6a7e584a7e5a58586a48585a58585c49585a50585c482158536348485f635a2d6a5c58484336506e5b5b505e6a70587048585058535b585d405a515a5458484a5b6b507e4872585a585a484b7168507e435b585d7658585a585850585876587e5b5b5d5e6a76587e5b685c55725b50484c7e585a5858525850584848616b5258505878705c5d5872587e5b484b585058547658727e5c485a585850585876587e5b5b5d5e6a76587e5b68525853505c50405d5a6e53585058587e585a7e5a585c5c5478607e5a585e7676587e4b5b7e5a5b614b48295850584b5b5e5e76705860585850585876587e5b5b5d5e6a76587e5b685c58217e5861586050487a7e5861585650584b5b5c5e767e585b5d58584a5c5d50584b5b5a5e7648714854715b4857585872587e5860585f5c5d5f5f5d48587e5b295e586e58587e5861587f5c5c4b5f5d48587e586158705e7e6e5b5a6e6a7e5860585f5c5a435f5d48587e585a5858525850584848616b5258505878725c5e5c50585b5a60585e5058587e585a7e5a585c5c5478607e5a585e76486c485c2f5858585458486a7e58295c5c5c50585b5a60585c484a5b685358587e5b70295858584b585058535b5c5e76705b5a585850585876587e5b5b5d5e6a76587e5b685c58217e5b5c5150716e5c48435a5c5d5058535b5a5e767e585b5d58584a5c5e50585048714854715b4a585d50584076587e587e5b4a7e5a585a585850585876587e5b5b5d5e6a76587e5b685058535b515e767e58725c4c7870585d52585058525850485c484c585e70585c5c582d7e584853365058507658714b5b7e505a587e5171505b5c587e5870585a5258507a48484b60577e507a48405a587e505b2d5d585c555058507658714b5b36363636366e7d525b5c587e5870585a5258507a48484b60577e507a487f3636363621515d585c555058507658714855577e50585058587e585a7e5a585c5c5478607e5a585e767e58707e5a515b5a5858486a7e58725c7e787048585a636a5b5841217e585a7e5a5e5a505a505858765871615e5b5c587e585a585b5c5e4c7e585a7e5a585a7e5a575b5c5a585821555058587e58725c5b7873405a5e5a585a50585c2f5858587e584b5b755a63545b5841217e585a7e5a5d5a505b5058587658715b5e5b5c587e585a585852585058525850765c4858585d6e6a7e585a585b48485f68577e505450585c6a5858584843486a6958485f3650585876587e6e70584a5858525850484b7e4b585058587e585a7e5a585a7e5a535b5c585858215550585c6a5858584843486a48585a58585c495c5a50585c482148536348485f635a2d295b58485f365872587e585a7e5a5b5a505b50585c76587e5b5b5d5e6a76587e5b68525850404b48295850585876587e4870584a585b525850584848616b5258505878715a2c584c4c57585a58585258505c507e5c7e584a7e5a585c5c5478607e5a585e7676587e4b5b7e5458587a4c4c57585a58585258505c507e5c7e584a7e5a585c5c5478607e5a585e767658717e487e6e575b7f297a57585a58585258505c507e587e585a7e5a585c5c5478607e5a585e695b584b5a5858486a555d6e587e585a585852585058525850405c4858585a284c585058587e584d405a5b5a58584848582f5858587e584a585b525850584848616b5258505878715a2c58484b5850585c7e584a7e5a585c5c5478607e5a585e767658727e5c485a585b50585c76587e5b5b5d5e6a76587e5b68525853505c50405d5a60585848485c2f58585855505858555a6e587e585c5c58577e5058505858557b7e5c5a7f605458484b5b6b507e5c72585a585850585876587e5b5b5d5e6a76587e5b68525850405b5c585a485a585b48487168505858487158547058702958585c4c57585a585850585876587e5b5b5d5e6a76587e5b68525850405c50545d484120515d48587e585a5858525850584848616b5258505878725c5b5c50585b5a60585a5c50505d5a60585b484b5b68535858555a48587e585b5d75584b58485a6e485848412155617e7e5b5b77217e585a585b52585858507e575b5e51487e58295c507d5c5e587e496e517a41507e58295c507d725e58367e57615058575b5e5143607a70505f577e50585058587e584a7e585b5a505d484b71295058575b5a514b5b7e505d215b2a5f605058575b5a51435b7e492d5d7a4a585d484b712b7a7750705b73405a5b5a585850585c7658587e7058295c407d5a585d4848712948405a5836587d617a70585d4848712b48405d32582a5c7e58295c407d775360507e7a2b587e7e7e585a585b52585854507e575b5e51487e58295c507d5c5e587e496e517a41507e58295c507d725e58367e57615058575b5e5143607a70505c577e50545872587e58725e58584c405c485c5c585048545d485a585850584b5b5f77435b36587d614840585078702958584a585c48482c2b487f6e517a4c5e585a5e7676587e5b5b5a514b5b7e505a587c515c7e5b41547e5b5c5c5e7d7251215b2a5f5b7e5871685548585a484b5b297a60585c487f215b7a4c5c5a7d5c5e585a5e766d58585f5b5a514b637a60585d4840587878702958585c5c407d5154705b4d405a5c5a585850584c7e5b7754705b73405a5f5a58585058407e5b2a54705b63405a5e5a58585058487e5b2a54705b5d405a515a5858484b5b6850485b5b5a705c5b5058575b584e767058295c524b6e29585a6e6e5b5a60585850585c76585b587058295c407d5a585d4848712948405a5836587d617a70585d4848712b48405d32582a5c7e58295c407d775360577e50485058587e584a7e585f5a505d484b71295058575b5a514b5b7e505d215b2a5f605058575b5a51435b7e492d5d7a4a585d484b712b7a7750705863405a5f5a585a487a585b4b7e4b5848485871584857585058587e58295c4e7d7251215b2a5f5b7e5871685548585b5058575b5d77435b36587d614840585078707e5a585c5c507d5c5e587e505b2d7a4a585f7a60585d4848432b487f6e517a4c5e585a5e766d5858535b5c514b635058575b366e5f61484853294840585078702958584c5c507d51576350585f5b7e5b696855485858484b71297a60505f577e50405058587e5b4a585e7a60505e577e507a5058587e5b7058517a605051577e507e5058587e5b5a58517a60505c577e507250585f5b5b29405c485c5c545d6e4c7e585a58585258504850584b63507e502b58707e7e585a585a50585763507e542b58706e7e584c5c5b78705c5b50585b5b5e5e767158586e5b5a6e585558586a7e585a585b52585840507e575b5e51487e58295c507d5c5e587e496e517a41507e58295c507d725e58367e57615058575b5e5143607a73405a5e5a585850585c76585b6e70584c5c407d5a585b4848712948405a5836587d617a70585b4848712b48405d32582a5c7e584c5c407d775360507e542b5871615b7f605c5b5058535b7e5853515d485b5b585a5c5a48482d71584857585058587e58295c4e7d7251215b2a5f5b7e5871685548585b5058575b5d77435b36587d614840585078707e5a585c5c507d5c5e587e505b2d7a4a585f7a60585d4848432b487f6e517a4c5e585a5e766d5858535b5c514b635058575b366e5f61484853294840585078702958584c5c507d5157635058535b7e5b696855485858484b71297a60505f577e507e5058587e5b4a585e7a60505e577e50725058587e5b7058517a605051577e50765058587e5b5a58517a60505c577e506a5058535b5b724057584a585850584b5b366e5f61484853294840585078702958584a58585258504850584b5b5f77435b36587d614840585078707e5a585c5c507d5c5e587e505b2d7a41547e5b5c5c567d7251215b2a5f5b7e5871685548585a484b5b297a60585c4848432b487f6e517a4c5e585a5e766d58585f5b5a514b637a605050577e506e5058587e5a5a58585258504c7a605050577e50295058587e585a7e5a5e5a58507a605050577e502d5058587e586058507a60505d577e50215058535b584e767158705858484a5b685048585458586a585a60585b5a602d585058587e585a7e5a585a7e5a535b5c58585c5f364b7e4b58484121495a60585850585876587e6e70585c5c5b7873405a5d5a5858555858585c5e4c555b585b5b7f6e6c3658485c5c7f605458484b5b6b507e4872585857585872587e5870585f4d5829585872587e585a7e5a5d5a505d50585876587158705b72725c485a585c487f363636362151577e50545058487e5b70585d7863405a5a5a585c5058507e5b4e6a2b587e487e5b5c5c547870585c4848716850584b5b5b5e76486c7e5c486c7e5c715860585b50585876587e6e7e58607e5a585a505d5c5f4c7e585a58585258505450585768577e50545d585c555058587e585a7e5a585a7e5a525b5c58585a505d4841205e5d485c7e584a585d5c536e5b567e585848485c71586e6a7e584a585d78705c5b5058547e5b4e76715b486e5b5a6e6a7e5b5c5c487870485850584c555a48587e585c53365c556a5b5a6e725850585b5a7f615a2e58486a5c585a58585a6e7258505858486f585c485c586a50585a58585c512d485c586a51585a5858525850545a615858506e587e585e6d5b7a515c70585a4858505858555b7e587e585a48585a6e4858506e58555d58587e585b5d5b584b767e585b58485a6e7258505858486e485c485c586a5f585c51325e6e6a7b585a585850585c76587e7e7e5b4b58325b5c587e584a585a5058547e5b5b5d5c58486a555658587e585a585b5258505050584c48497e4b5850585c7e5870585d5058484861585c495a60585852585050507e587e584a585a5058547e5b5a585f50585876587e58765871484b5a485855757e505b5b77217e585a585b5258505050584c48497e4b5850585c7e5870585d5058484861585c495a60585b5548582850487a7e585a7e5a5d5a5c5e50585f5b585d7658574a585b5548582950487e7e584c5c58567e582950585b5b5c5e76705a4a585b5058507e5860585c50584c486e7e5c7e5b60585b55485828507e696050487a7e5a5a585b55485829507e6d6050487e5a485a585e484853505d48587e5a4a585e4848572978705c5350585b5b5e5e76715b7e575850585c6d585d40575848535850586a5c485a585b5258504048485f5e5d48547e585a29585a5c5c5a7a48295b5d5854555058695f5d48587e585a29585a5c5c5b7a4c4c57587e6a7e584c5c58566e5c295058407e584a585a5058547e5b5a585f5c54505b50585c6d585d4c705a7058517a705c5150585c6d585d48705a6058507a705c505058435b5a5e76705b7058534a4829585a6e6a7e584a5851487f215b7a4c5c584b637658574a585b5058715b366e5f6148485b51567e58295a2c505b585a585850585c76587e7e7e5b5b58325b5c587e584a585a505854486e6e5c495a6e53585058587e584a7e5a585a585c5c5d2c5f5d48585a485a585a50585c7658715b515b5c587e584a7e5a5f5a585a4b6e295b5a60585d48485f515d485c7e584c5c5b577e507e5d6e6a7e584a585a577e504c50585c7e5863405a505a585b50585c765870715b584e762b58707e5a485a585b5258507248485f515d48587e584a7e5a5e5c5c5a4b6e295850585f5b584d7658577e6a7e584c5c5c577e506a5a6e6f635848587e585a585b5258505050584848497e4b5850585c7e5870585d5c54545b5d6e6a5a485a585850585c76587e587e5b5b58325b5c585a485a585a50585c7658715b515b5c587e584a7e5a5f5a585a4b6e295b5a60585d48485f515d48507e584c5c5b577e507e5d6e6a7e584a585d577e507e5872587e584a7e5a555c5c5c4b7e295850585f5b585d6a5b575a585852585050507e587e584a585a5058535b584a585c50585876587e58765871484b5a48587e584a295857484b5850585f5b5863405a555a585b554858294b48295b5d58545550585f5b5b5d405a55586a7e584a585a577e504c50585c7e584a7e5a525c5c5b7873405a525a585b5258507248485f515d485c7e584a7e5a5e5c5c5a4b6e295b50585f5b584d7658577e215550585876587e7e70585a585b5058507e5860585c50585876587e587658717e4b5a7e58555a2c295c584857365058587e584a7e5a5a5a585c5c5d2d5c485a585b5058507e58615d5d584821555872587e585a585b5258505850584848497e4b585872587e5870585b525850484b6e4b5850585c765871487e58727a5758486a7e58295c5b4b6e295a50585f5b584d405a5058215550585c7e5863405a505a585b5258506a48484b515b5c587e585c5c487870505f50585876587e615b582a4b6850487d5b585a5c5d50585c5a7f6e53585829585a485a585f50587d495d48587e584c5c58566e5c2950584c7e584a585a5058535b584a585c5c54505b50585c6d585d40575858535850585c6d585d4f5f5d48587e584a295857584b5848485c715860585b5258504048485f5e5d484b5b584a5c5e5058586d5858715b58775c5758486e5c5a295c5b5048407e585a29585a5c5c5b7a4c4c57586e6a7e5b4c5c5078705c5f5d585c555a295c5c5058435f5d485c785a295c5d5a63405a555a585d48485f615d48505550585c7e5873405a5f5a585b50585c765870715b584e762b58707e7e584a7e5a535c5c5b4b6e295b50585c765871715b58727a57584a585b48485c2f585d40495a6058585258505450484c7e585c5c487870505e50585c7e5870585d5058484876585c7e5b4c5c5a4a5829585058407e5b4c5c5d7d5e76715b705858484b716850484c5a485a585852585050507e5b5b58775f5f5b5c587e584a7e5a535c5c5b4b6e295b5a6e575850585c6d585d40575870585f50585c7e5870585d5058484876585c7e5b4c5c507870505f505843535d4858555d585c5550585b5b58415f5f5b5c585d485a585b5548582b5d48507e584a7e5a535c5c5b4b7e295a50584c7e584a585a5058547e5b5b5a7e584a585f48487168507e4c7e5b72725758586e5a5a6e58555829587e584a2958577e295b50585c7658704b5b584c405c485a585b5258504048485f5e5d48505550584c7e584a585a5058547e5b5b5a7e584a585f48487168507e4c7e5b72725758586a555a6e7a5850585876587e48557b6e5c5a7f60585850585c76587e715b585b58325b5c587e584a585a50585448617e5c495a605858525850545048487e585c5c487870505f50585c7e5870585d5c49585b5872587e5b5c5c5a4a58295850584c7e5b5c5c5d7d5e76715b5a5858484b71685048585d485a585850585c7e5870585d5c49585b50585c6d585d4057584a585848487168507e587e5b5c725758586a555a6350585058587e584a7e5a5a5c5c585c5d2d5c485a585b5058507e58615d5e5848215550585876587e7e70585a585b5058507e58605858525850585258507a5c487e585a6172585058587e584a7e5a5a5c5c585c5d2d5c485a585b5058507e58615d5e58486a556c7e545b5b412173585c5f587870505c5358585a7f295c5b5058587e584c5c585c5d2d57585b695b585a585b4b4829585e705458484c5b68507e5472585a585b52585058507e4f5b5b5e6a76587e58715b70585f4848716b5258505850487a7e58295c58577e504c5058575b6b492958577e50485058547e584d405a5d5a585d487d6320585d405a5a5c5c5850484c7e58295c4078725c58484a7a484b71767e584a585178705c5b5872587e5b72517a36485b5b585b58325b5c587e58295c5b577e502d5058407e58295c507870585b50585f5b584c5c5850584076587e58765871484b5a48587e584c5c585058547658705b5b584c407b50484c5458486a7e5b70585d4848716850585f5b584c5c5850584076587e587658717e4b5a7e585a485853585058547658706e56587e585b587e6a7e58607e5a515c5c58505854765870715b584c407b4848587e58607e5a535c5c5b4b716d5b585a585d5258506e48485f5e5e605c5f5d585c555058547658705b5b584c7a5c485a585d5258506e5d485c7e58607e5a535c5c5b4b6e295b505854765870715b584c7a5758486a7e58607e5a5e5a5c5f5a60585d484c5b6b53585b5b585a585f507e5f5f5d48587850584b5b5a5e767058295c5c7a725c58484d48484b71767e5b5c5c5b577e502d50584b5b7f63405a5f5a585c5058582b5871587e5b5a585b577e505050585c7e5860585a5258505848485c7e584a7e5a585a7e5a515b5c50585a585c5258507e507e5b5b584c405c485a585a5058487658717e2b587e585550585b5b584c40555048587e5b5c5f5878604858505858555b4858485f6e5855586e58585a6e7258487d6052584b58525e7e6a6f58585358487c7052584a2958585c5c5b7a482958487c7052584b58724b482958487d6052584c517e2848584871585f5b2f50765b5c5a5455487d605258486a53585c5154707e5c485a717655557e585a485c5140707e5c6d58585b5b58415c57585c5140707e5c48535c4c57585c5154707e5f5b2f716a484f5b695b2b50765b5c5a5455487a605258486a53585c5e21707e5c485a717655556e585a485c5150707e5c6d58585b5b58415c57585c5150707e5c48535c4c57585c5e21707e5f5b73574c585c50485b487a7052584b58735a295e21707e5c555a485b5b6b50765b5c5876785a602d5858725b5b6c50765b5548585848485f615d485b5b6c50765b5c5a4b5f5d485b5b6b50765b487d6e7d5c5f4878487b7052584b58735a295e6a707e5c555a485b5b7750765b5c5876785a60215858725b5b6850765b5548585848485f615d485b5b6850765b5c5a4b5f5d485b5b7750765b487c734c585b5a5c584c5e76707e5c48506e6d5b7750765b5a6e725848406052584b58525e7e6a6c5858535848437052584a2958585c5c5b7a48295848437052584b58724b48295848406052584c512a514b5b4c5e725e40707e5c48506e6d5b7350765b5a6e7258487f6053584b58525e7e6a6f5858535848407052584a2958585c5c5b7a48295848407052584b58724b482958487f6053584c515c2858584871585f5b7050765b5c5a5455487f605358486a53585c516a70485c485a717655557e585a485c512d70485c6d58585b5b58415c57585c512d70485c48535c4c57585c516a70485f5b2c7176484f5b695b3250725b5c5a5455487c605358486a7b585c5176727e5c715858575850585b5b5d5e6a485a705058487d5a4a584c7a5758586a557f48585a485c517670485c6d58585b5b58415c57585c517670485c48535c4c5758585358487c704a584a2958585c5c5b7a482958487c704a584b58724b482958487d5a4a584a5c585829587e585b5b5148486168507e5b5b2f53505b4b6e29585a295176727e5c48506e6d5b2953505b487f5d2e585b584c487d604a584c5121326e58485f5c517270485f5b2953505b577e5058487c7053584b58735a29517270485c76587e58555e6e5b5b6053505b5048585d485a58584848616b5c587670585c5e6e727e5f515d4858555a2a6a5858725b5b2d50725b5548585848485f615d485b5b2d50725b5c5a4b5f5d48585a485c5150727e5c6d58585b5b58415c57585c5150727e5c48535c4c57585c5e6e727e5c7158585758505858485c4c5c5478705058487a704a584c7a5758586d5b6053505b5c5a5455487b5a4a584c5e515171584f487b604a584c5e5c5171584f487d6053584c5e6e727e5c2b587e5b5b2d50725b5c5a5455487d6053584a7e5a58586a7b585c5e7e727e5c715858575850585b5b5d5e6a485a70505848405a48584c7a5758586a552b48505858725b5b2b50725b5548585848485f615d485b5b2b50725b5c5a4b5f5d48585a485c5e7e727e5c6d58585b5b58415c57585c5e7e727e5c48535c4c57585c5e5872585c7158585758505858484b295c547870505848785a4a584c7a5758586d5b7653505b5c5a545548405a48584c5176206e58485f5c5e5472585f5b70497e585c5b4b5b7453585b4878632d585b584c48784a48584c515c325858485f5c5e6e72585f5b2a497e585c5b4b5b6f53585b487c632d585b584c487a7048584c5e58324858485f5c514c72585f5b754972585c5b4b5b2d53585b487b5d2c585b584c487c6048584c5140324858485f5c512d72585f5b324972585c5b4b5b71535c5b4843632f585b584c48435a4b584c5158327e58485f5c5e7a72485f5b294976585c5b4b5b68535c5b487c5d2f585b584c487b4a4b584c516e327e58485f5c515872485f5b2a497e585c5b4b5b63535c5b48405d2e585b584c487d704b584c5e48326e58485f5c517272485f5b76496a585c5b4b5b21535c5b487b5d2e585b584c487f604b584c5158326e58485f5c5e50727e5f5b29496a585c5b4b5b7553505b487c5d2e585b584c487d4a53584c5e5872585c2b587e5b5b2b50725b5c5a5455487d4a53584a7e5a58586a7b585c516e736e5c715858575850585b5b5d5e6a485a705058487d5a57584c7a5758586a556e48505858725b5b2950725b5548585848485f615d485b5b2950725b5c5a4b5f5d48585a485c516e736e5c6d58585b5b58415c57585c516e736e5c48535c4c57585c514873485c7158585758505858485c4c5c5478705058487f5a49584c7a5758586d5b2150215b5c5a5455487d5a57584c5e7a5e71584f487d6057584c5e4d5e71584f487c7057584c517e515b584f487f4a57584c514e515b584f48405a56584c51705e71584f48406056584c5155514b584f48437056584c5e725e71584f48784a56584c5e4c5e61584f487b5a56584c5e365e61584f487b6056584c5e6c5e61584f487a7056584c5e2b5e61584f487d4a56584c51535e61584f487c5a56584c5155515b584f487c6056584c5140514b584f487f7056584c51705e61584f48404a49584c5e735e61584f48435a49584c51705e71584f48436049584c512f5e61584f48787049584c5149515b584f487b4a49584c5174515b584f487a5a49584c51745e61584f487a6049584c5e7b5e61584f487d7049584c5e545e61584f487c4a49584c514c514b584f487a6053584c514873485c2b587e5b5b2950725b5c5a5455487a6053584a7e5a58586a7b585c515073485c715858575850585b5b5d5e6a485a70505848785a54584c7a5758586a5520485c5858725b5b6050725b5548585848485f615d485b5b6050725b5c5a4b5f5d48585a485c515073485c6d58585b5b58415c57585c515073485c48535c4c57585c5e7e73585c7158585758505858484b295c5478705058487a7057584c7a5758586d5b6050295b5c5a545548785a54584c5e4c204858485f5c5e6a73585f5b6a494c585c5b4b5b6c506e5b487a6328585b584c487a4a54584c516a204858485f5c514873585f5b754940585c5b4b5b2a506e5b487b732b585b584c487c7054584c514c207e58485f5c512973585f5b324940585c5b4b5b7e50295b4840732a585b584c48406057584c5e40206e58485f5c5e4073485f5b68497a585c5b4b5b6950295b487b732a585b584c487b5a57584c5150206e58485f5c5e2173485f5b2b497a585c5b4b5b6150725b48785a54584d405a585c515070485c48506e6d5b6150725b525850585a616a5848437054584a5c585829587e585c5c5478615852507e5b5b2150765b4b6e29585a6e6f775848585a485c515870485c6d58585b5b58415c57585c515870485c48535c4c575858535848437054584a2958585c5c5b7a48295848437054584b58724b482958487f5a52584a5c585829587e585b584b48486168507e5b5b74506e5b4b6e29585a295e4073585c48506e6d5b2150765b487a29785c5b4f5b3650765b487d48785c5b4f5b70506a5b487b50785c5b4f5b75506a5b487b76785c5b4f5b76506a5b487872785c5b4f5b6b506a5b487d6a785c5b4f5b6c506a5b487a48785c5b4f5b61506a5b487f407b5c5b4f5b29506a5b487a547a5c5b4f5b2a506a5b487a5c7d5c5b4f5b2f506a5b487d587d5c5b4f5b20506a5b4843587b5c5b4f5b7e506e5b487d6e7a5c5b4f5b73506e5b4843217b5c5b4f5b6f50725b487f5a52584d405a585c515870485c48506e6d5b6f50725b525850585a6e6a5850585b5b6b5748585c50485b5a6e765850585b5b614b29484f5b76555a6e587e585c5e402858584871585c555a7e587e585c5e21514b5b4c5e7e6a54585a585850585f5b5c5e764829485c555d58587e585a585b484861685c575c5b5a6e7a585058586a585872555b6e587e585a6e585a586a53585a58585c50405a5c5b58555a48587e585b5a51587158485a32405d58484f3650585071585857585872587e5b5a58504d4a5858505857497a7e29585058586a585858705b72513658415c71584853585058435b585c2d5c485c5c5b5048407e584c5136362154584d48295b5d58505550585f5b6e7e5f535d485c7e584c517f584c295c485a585d50585b6b484853505d48507e585a2958584a505f487a585b7a4c5e58584c7a5758725c5a5048407e5b4c5c367a4a585b48484329487a58497a41535b3636365d585c295758486e5a5a6e53585872587e584c516f584c295c485a585d50585b6b484857505d48487e585a295858705c515058586d58585c715b4a585b487c295b4b7e295b50585f5b2d585f5e5b5c587e5b4c517e58415f5b76585f5e5d4854545b486a7e5b4c515858415f5b7e585f515d484854587e6a7e5860585878295c5c4a5a585b487f485b4a2a5057586058585548585d50487a7e585a295858705c535058586d58585c715b4853585872585a4858535850585f5b21585f6b5d7e4c58587e505a5848505550584f5b21585b68487f215b7a4c5c6e4a48295a5d58405550584f5b21585f614840585b4b7e295b5d584c5550584f5b6e585f614840585b4b6e295c5a605853487a585b7a4c5e58584c7a7e5b29515858415f5b7e585f517a7e295d484848715b705851484d20615058755b5b774b5b6e5b206150585f5b5c774b5b7e505d6e58515c7e5b4c5c367a4c5c547d5153607a725136362154584a6e295d5d58505550584f5b2d585f614840585b4b6e295a5a605851487a585b7a4c5e58584c7a57584c5c5d5048407e5b295c367a4a585b4848612948405d7e582a5c7e5b4c5c367a4c5c5e7d515360487f36366e6e5b555d485c555058715b584e76715a5a5858505843685048585458486a555058587e58746a552d7e485b5b412173585c5c48786050585358587e585a585a577e50545058587e5b4d405a5a5853365058587e5873405a5d5a585850584c2b587e7e5a485853585829585a485a585852585054507e507e58292157585a585852585050507e6e7e5b722157585a585a55585858507e4f5b366e5f6150485c5a485a585f48485b565b5c587e584c5136362154584d484b5848485c715b486e5a5a295c5a5d584055484850715a70585b487a505b4a48295d50585f5b2a6e5f575b5c587e5860585a78295c5a4a58295f5058506d58585c705a5c515858415f5b7e585f515d484b5b58705c5f5058715b492a5c7e584c5c5e7d5c51585d2a5f60507e5f5b3636365d585c295758486e5c5a60585b487c215b4d484b585058547e58746d5b58297e575b4a585a5548585a5048727e58702958584a5c505872585a485a585b487c295b4b6e4b5850585f5b2d585f515d485c7e5a5c517e58415f5b76585f5e5d4850545b6e6a7e5a5c517e58415f5b7e585f5e5d485c545b7e6a7e5a5c515858415f5b7e585f515d484c555058755b6e585f614840585b4b6e295c484854715b4a5853484d206150585f5b5d514b5b7e56585d7a4a5850484d2061484843297a775070584c5136362154584d48295b5d58485550585f5b20585f555d48547e5860585a78295c5c4a58295c5058506d585854715a4a585a5548585a50486a7e58702958584a5c505872585a485853585872587e584c516e584e6a565b48585a587e505b587e6a7e5a5c516e585e695b366e5f61484d5b535d4850545b7e6a7e5a5c516e58415f5b7e585f5e5d485c545b486a7e5a5c515858415f5b7e585f515d48485550586d5b6e585f614840585b4b605853487a585b7a4c5e58584c7d605d48575b5b5a5c5f5058755b492a5c7e5a295c5e7d5c5158512a5c7e584c5c4a7d5c5e587e4958587a4a5850484d2061484861297a775360507e5f5b3636365d585c6a57586e6a7e5d5a585b577e50585058587e5870585f7873405a5d5a585850585876587e715b5b5e762b587e7e5458486a555058507e582972715a7e6a7e5a7e6e5b5a295c5b5a605c5b5058487e585a7e5a5d5d405a585a585150585876587e7e2b587e587e585c5c487870485850585c55737e4858506e5b5b5c5e6a70585a48585058587e5873405a5d5a585850584c2b587e7e5a7f6058585058502b587e6e7e585a585f577e505050585876587e6e71584853585829587e584a585d4d6e4b5848485871587e6e5a5a295c5a5048507e584a7e5a585a505b48405b6e7a4c5e586a58575e50585f5b3636365d585c6d605d485c5a4858535850585f5b366e5b575b5c5b5b584a5c5a5058407e585a7e5a5a5a505f78295c584d58295c5058587e5b4c5c5b7873405a5a5a585f50585c2f5858585458486a7e584c51365d29295c485a585e50585876587e7e7058746d5b58727e57587058585058535b584e762b587e7e7e5870585b4848432b487a585b7a737658585a585850585876587e7e7058725c5b7873405a5a5a585a50585f5b492a5f5b7e585f60567e58585d585c555058407e585a7e5a5a5a505a78605c5f50585f5b3636215d4d484b5850584f5b58297e57587058585058535b584e762b587e7e7e5870585b4848612b487c585b7a737658585a585850585876587e7e7058725c5b7873405a5a5a585a50585f5b5b77435b492a5f5b7e585f60567e58585058587e585a7e5a5a5a505a48485f68577e50505058507e584c5c367a4c5e585841502f5858585458486a7e5b4c5c5c4a58295b5058587e58725c5b7873405a5a5a585a50585f5b5c77435b21585f60567e58585058587e585a7e5a5a5a505a48485f68577e50505058507e584c5c547d725c367a4c5e585841502f5858587e585a585852585050507e535b584e762b587e7e7e5870585b4848432b484d20614840585b7a737658585a585850585876587e7e7058725c5b7873405a5a5a585a50585f5b492a5f5b7e585f60567e58585a60585850585876587e615b5b5e7670584d405a5d586e5b5a6e6d5b58486e5b5a60585a5a605c5b5058487e585a7e5a5d5d405a585a585150585876587e7e2b587e587e585c5c487870485850585c552e7e545b5b51217e58705c585829585a485a585c505843575058587e582920605d48587e585a2958585a505b487f36366e6e5b555d48585a7f60585848485f6850585f5b5e514b5b5e514f5b585c2d57585b767e584c515a584c7257584a585b487d215b4d484b585058547e585e6d5b58727e57587058585548585b507e4f5b6e585f614840585b4b60585f484d206150585f5b5b774b5b6e5820617a725136362154584a2a505758705858484853685d585c555872585a485a585b487c215b4d484b585058547e585e6d5b58297e575b5a58585548585a50487a7e585a2958584a5c5f50585f5b2e485f5e5d485c7e584c517e584c405c485a585f487c585b7a4c5e7e584c4057586e6e5f5a60585f487a585b7a4c5e58584c7a575b586e5a5a60585d50585b6b48484b5050585f5b20585f557a70585c5058436b484853537a7e295d5058586d585854715b6058585548585a50487e7e585a2958584a5c5f5872585a485853585872587e584c516e584e6a565b48585a587e505b587e6a7e5b4c516e585e695b366e5f61484d5b535d4850545b7e6a7e5b4c516e58415f5b7e585f5e5d485c545b486a7e5b4c515858415f5b7e585f515d4848555058715b6e585f614840585b4b605851487a585b7a4c5e58584c7d6050587d5b492a5c7e5a5c5c5e7d5c5158512a5c7e584c5c4a7d5c5e587e4958587a4a585f484d2061484861297a775360487f36366e6e5b557a7e295d5058435b584e76715b70585848484b685d58505550584f5b2d585f614840585b4b6e295a5a605851487a585b7a4c5e58584c7a7e5b295c367a4a585b4848612948405d7e582a5c7e5b4c5c367a4c5c5e7d515360487f36366e6e5b557a7e295b50585b5b582b76555048587e5b725c5b78705c5e5d585c555a6058585058536b5a20545f58484b36506e5b5b5c5e6a70585a48585058587e5873405a5d5a585850584c2b587e7e5a7f6058585058502b587e6e7e585a585f577e50505872585a485853585829585a485a585852585054507e5c7e58292157585a585852585050507e4c7e5b722157585c5c5a5048767e584a2958585a505a487f36366e6e5b555d48487e585853365058535b5e514b5b5e514f5b585c2d5c485a585f5058502e5848587e584c5c5b787e6e5b5a60585a487a505b4a48295f5058535b2a6e5f575b5c587e5860585b78295c5a4a58295f50585c6d58585c705a5c515858415f5b7e585f515d48487e5a5c5c367a4a585a48484329487a58497a41507058725136362154584a6e295c50584c7e58736a5b585a585b484853685d585c555058535b2e6e5f575b5c587e5860585b78295c5d4a58295f50585c6d585850715a4a585b5548585b50487e5a485853585058535b2e485f515b5c587e5872517e584c7a57584a5850487c585b7a4c5e7e584c4057587e6e515a605850487c585b7a4c5e58584c405758486e5e5a605850487a585b7a4c5e58584c7a575b486a7e5a4c515858415f5b7e585f515d48487e5a4c5c367a4a5850484d2061484843295058535b5d514b607a70505a487f3636582a5f5b3636365d585c6a575b5a585f5058502e5848587e584c5c5d787e6e5b5a60585a487f485b4a6e295f48485c715a70585d50585f6b48484b505d48547e584a295858605c5350585c6d585850715a5a585b5548585b50485c5a485853585872585a485a585a487f585b786e2d5f5858505a587e5c5a5a60585b487f58587872513658415f5b545c21575a586e5a5a60585b487f585b7a4c5e58584c7a575b6e6e5b5a60585b487a585b7a4c5e58584c7a575b7e6a7e5a5c515858415f5b7e585f515058755b6e585f614840585b4b2a50575b4a585e50584f6b48484b505d48575b58705c525058755b492a5c705a4a585048484329507e6d5b6e5b206150585f5b5d514b5b7e5658497a4a585a48487d61507e535b5c774b607a77535b3636365d585c6a575860585f5058715b5b51435b582a5c7e584c5c5a7d5a505b487a585b7a4a585a484871297a70585b484d61617a77535b6e49215878725e586a585760566e5c585058587e5b4c5c5a7873405a5a5a585f50586d5b6e587d615058756048405a2d582a502e5848507e585a7e5a5d5c5c5c787e6a2b587e6e7e585a58585258505048485368577e50505d585c555a60585b505857535048765550587654587e6d5b58486e5b5a295c5a5a605c5b5058487e585a7e5a5d5d405a585a585150585876587e7e2b587e587e585c5c487870485850585c55327e4c5b58412173585c5c48786050585358587e585a585a577e50545058587e5b4d405a5a5853365058587e5873405a5d5a585850584c2b587e7e7e585a7e5a5d5a5c5a5872585a485857585058507e5829215c485c5c5850484c54586e6d5b58705c5f5058506f58485870584c5136362154584a6e295a5872585a485a585b487f21584d484b5848485c715b4a585e50585876587e7e7058746d5b585c6e575b4a58585058535b584e762b587e7e7e5870585b567e58585d585c5550585f5b366e20575b5c587e5b70585852585050507e536b484853505d48487e585a585a48485f68577e50505058507e584c5c5e7d7251585841502f5858587e585a585852585050507e535b584e762b587e7e7e5870585b484d20614840585b7a73765858586e5b5a60585b487f326f5829295c485a585e50585876587e7e7058746d5b58297e575b5a58585058535b584e762b587e7e7e5870585b4848612b487c585b7a737658585a585850585876587e7e7058725c5b7873405a5a5a585a50585f5b5b77435b492a5f5b7e585f60567e58585058587e585a7e5a5a5a505a48485f68577e50505058507e584c5c367a4c5e585841502f5858585458486a7e584c51366d6e57575b5c5b5b584a5c5f5058547e58746d5b5b5c7e575b4a585a556e5c5a507e715b7e497e5d7a4c5e586c5857515d48507e5b7058585258505078295c5c4a58295f5058715b366e7d6150585f5b5a774b5b7e497e5d7a4a585b487a58517a4a505f484869297a77535b7e50585c78725136362154584a6e295a5058587e58725c5a7873405a5d5a585850585876587e7e7058725c5b7873405a5a5a585a50584f5b5b77435b584e767058725c5a7d72516e5841502f5858587e585a585852585050507e4f5b584e762b587e7e7e5b4a585a48484b29484d5b6150585f5b5877435b5d2a5f604840585b7a737658585a585850585876587e7e7058725c5b7873405a5a5a585a5058715b5b77435b5d2a5c7e584c5c5c7d5c5c6e7a41535b7e585f60567e58585058587e585a7e5a5a5a505b48485f68577e505050585c7e5a5c5c367a4c5e585841502f5858585458486a7e584c5e586e5857535d48487e5b70585852585050507e536b484857505d48547e585a585a48485f68577e50505058507e584c5c547d72517e5841502f5858587e585a585852585050507e535b584e762b587e7e7e5870585b4848432b484d20614840585b7a737658585a585850585876587e7e7058725c5b7873405a5a5a585a50585f5b492a5f5b7e585f60567e58585a60585850585876587e615b587476705873405a5d586e5b5a6e6d5b587e6e5a5a295c5b5d585c5550584c5550485c7e5b5a585852585054577e505850587a7e585a7e5a5a5d405a585a5858484b5b685358587e58486a4f585a585852585050507e5b5f5b5c5b5b5848215550585848707e505572585c5b5b77215d485853585058507e5829407e5b5a58504d415057585c5c5b50487a7e585a7e5a5a5a5c5f506e5b5b5c5e6a705b7048585058407e5b4d405a5d5a585e484871685058435b5d5e76484c705c524848587e5870585d5058536b50585f5b6d507a5b50585c7b5c557a5b50484c7e5a715b4b5058435b5c5e7672585853585872587e5b4c5c5a787e2d5d587e505b58586a7e5b4a5c515a60585048485f6850487e7e5b60585378705c535058507e5b2b7671587e6e5b5a6e6a7e5a486d745848573650585876587e7e7158705458484b5b6b507e5c72585a585b5058502b587e6e7e584c5c507870585b484861685c5f507158705458484b5b6b507e5472585a585d484b5b6853585b5b585a5c5d505850484c4a585b484b5b685358587e586e4b364841215f50585876587e7e70585c4c5c485c5c5b5d6e6a7e585b5a5258725c5b4b7e6a55727e5c5b58412173585c5c487860505f5358587e5b5a585a577e50585877205b5870585f484861684848587e585a7e5a5a5b5d55584a505848485f68484853535d48587848485c7e585c5c5b7860505b5058547e5b5a7e5a585e6d555d48587850584f5b5d5e7671587e573650585c5c7f60585a554858585048587e5b5a585c52585058507e575b584e762b587e587e58605858567e585850585f5b584e6a71584a585a48485f685048505458484f5b58586a555a605c5a50584f5b5c5e7672585a585a5a216a5e58486136506e5b5b5c5e6a705c4a4858505850715a5857585872587e586058504b7e4b58505854715a586e5b5a605850554858584b4829585058715b584e76715a586e5b5a6e6a7e5b60585f577e50585058487e5873405a585857585872585a7f6e53585058507e5829407e5b4a585e4b775057585a584b50585c69587e582a586e7e7e585a7e5a5a5a5c53506e5b5b5c5e6a705c5a4858505b587e5a4d405a5d5a584848487168505b5b5b5d5e76484c705c4d50587e7e58746a715d4c5c5850487673585c5e485a5e6a705a60485850586a7e5b5a7e5a585a5056577e505450584c7e5a295c487870585f5e605c495872585a4858535850582c5f5058407e5b4e6d5b58774f5b7e58507e5b4b6a705d5c4f605d48585d485a58574848532b507e727e5d5c727e5d4c5e5d584c28615d48507e5d6058554848616850586e7e5a4a5853505861495e60585b5c57505a5071535b7f29405c485c5f365048695b585a5c5450586a76587e6e715d7e6e5a5a6058544848587e5c70584950586d5b5c5e695e5e60505378605c545058217e5a4c5c5a7d5e76715d60585750582c6850586a76587e6e705d746d5b585a58565e605c575058767e5c7476715a7058564b48295b50586e5758586a5550582c5f5d485c555058615f5058285f7a7e2958505876715a4857585872585a485a584950582d7e5d4a585b5c557a5b507e695b5874695b5872295c485853585872587e5a725c5b787e2d5a5b7e585b5a6058554848582b587e6e54587e6a7e584c5c58577e50585d585c5550586a7e5a607e5a5d5a585278705056577e50545058755b584e76715a4a585448485f6b507e6e5758486a7e5a4a5c525d5850555058205b5b5e76715d6058575058696b5048297e5a4a5c525058295758586a5550584c5c485a585c50586a76587e6e2b587e585550586d5b725871685358587e5a705c53505b54484c4a5848484b5b685358585a485853585872585a485a58534841205e5b5c585d4858535850587a7e5b4d405a585a585a50584876587e5b5e5d485b5b584a5c5e5872585a4858535850584c7e587058505058536b505b5f5b5a5e767e585a7e5a5a5b5a555870505b484853685d7e54505858505b5a60585c5058502b587e58545b486a7e584a5c5e5a60585a505843685048507e5b607e5a585c5c5c78705c5f5d585c555a60585c5058502b587e58545b486a7e5b605851525850585058755b58774b68507e4c2b587e587e5b4a585e4b7e295d50584876587e58715870585d5058715e5b5c587e58605c505d587e5550584c7e58725c5b50585c7e585a7e5a5a5b5a5558724c5758486d5b587e6e5c5a60585150587a76587e5b5b5b5e762b587e587e5b5a585c5258505848485f68507e502b587e587e58705c505829587e586058504b7e4b58505854715a586e5e5a605850554858584b48295f5058715b584e76715a586e585a6e58555058487e5873405a585c5c5b5d58505550584876587e5871587e6a7e5870585d4b6e6a71585a584b484b5b685358587e5858215550587a76587e58715b486e585a6e58556a6e4c5b5d512173585c5c48786050575358587e58705c505829585a485a585d5058715e5b5c587e58605c505d585c5550587e76587e5b5f5d48587e5a5c5c5c78705c505d585c555a60585150584c2b587e587e5b5a585a577e50585829585a485853585058507e5829407e5b4a585e4b77505c7f60585a5b4a585750585c69587e582a586e715b584a5c4850585876587e7e715a4a5458484b5b6b507e2d72585a58565058722b587e6e7e5d725c5078705856484861685c5f50715c60585e50584c705a4e6a715a725c5850482173585c5c487860504b5358585a485a585c52585058507e6d5f50587e7e58746d5b58774c705c724f605d48587e5a725c585058727b5048765d485a584b484861685058727e5a725c5c4a4b6a7e5a607e5a585b5d78584a50544841205e5b5c5b5b7f605c495d5850555058725c7f605852484857575b5c587e5a7058544a48295d5058727e5c4c5c54787058545c5c50785a6058525058616b5048767e5a4a5854787e4f5b58586a715a4a5855525850584b484b58484858715a6e6e5a5a605854505820685048217e5a295c5c78705c55505b535b584e6a705c7e29585a6e6a7e5a484b585058487e5a63405a58586a7e5c4c5c4878704858505821715a4a584d5c5f5c7e5d725c48787048585872585a485853585872585a485a585348485f685d7e50585b7e5c5550587a7e5b4d405a585857585872587e5870585c525850584b7e295850584c7e58707e5a585a5858525850505c546a5b507e5f5b7f294057585a585150587a76587e587e584e76705b4d405a585a585a48484b685048505458486a555058487e5873405a58586e5b5a60585150587a76587e587e5a4e76705b4d405a585a585f5058435e5d48507e586058504b7e4b5850584876587e58715870585d50487e545b6e6a7e5d4c5c5c78725c5850585876587e7e48606e5c705a5c5f364b6e295b5a295c5a504b5854586e6a7e5d4c5c5c78705c5a5058407e5b607e5a585e6a7e5a5c7257587e575850587e5c485a585a5548585850484c7e5b60585152585058507e755b584e762b587e587e5a4a585f567e58585058715b584e6a715a5a585a48485f685048505458486a555058487e5b5a7e5a585c5c5c7870505a577e5058505850715a5857585058547e5a5c405c485a585d50487e545b486a7e5a5a7e5a585c4c575b5a585048484b6850487e5458586a585a60585c525850585a60585d4b605c485a605857484b5b685358587e5c58215550587a76587e58715b486e585a6e58555a48587e585b5a40587158485a637a58506e5b5b5c5e6a70585a48585058587e5b5d405a5d5a58585058547e58746a2b587e7e7e585c5c5478705858484871685c52505b5258505850485c7e585c5c487870485850585c555758585d485a585b5058535e4b484b585058487e584a6e58585a50585058547e585c5c584d716a2f5858587e5b5c5c5b78705c5c50585f5b584e767158486e5b5a6e6a7e587e6a54585a585b5058507e584c5c584d716a55527e585d485a585b5058535e4b484b585058547e584a2958585d7658585a585d48485f685048547e584c5c5b78705c5b5d585c555a60585a5a2958585829587e584a585a4b6e4b5850585c7e584a6e58585a505848485b565b51205b295448585258505850585c6a58585b5b58774b68525850585b4a58585a637658585a585b48485f6850485c5458486a5550585055536e587e584c5c584d7e4b36487d5d5c585a7e5a585a585b487f215b7a4c5c5a7d5e7676587e585f50585c55484b7129484b71285a6321585829587e584a585a4b6e4b5850585c7e584a6e58585a505848485b565b51205b6e5d7e76587e587e584a6e58585c5c5a7d5e7676587e585f50585855567e585850585f5b584e767158486e5b5a6e6a7e587e6a74585a585b48485b565b51205b6e5d7e76587e587e584c513658415f5b58774b68525850585b4a585b5a295c407d5c5c407d486a53585a58585c502d5a5c5b58555748585d485a585b5058535e4b484b585058487e584a7e5a585a50585058547e585c5e58584c727b567e585850584b5b584e76715b5a585b48484b6850485c5458486a55505850555c6e587e584a585a50585f5b7e585f535e295c407d5c5c407d486a685858575850585c7e5872435f5b5c587e5860585b55585858577e50585058575b5b5e76715860585b48485f6850485c5458486a55505850554848585d485a585b505853515b5c587e584a585b52585058507e5b5b366e5b575b51205b295448585258505850585c76587e5b5b58774b68525850585b4a58585a63405a585a585b48484b6850485c5458486a5550585055517e587e584c5136585c295c7f29514861585876587e587e584c5c5a7d5e7676587e585f50585c555a2958585829587e584a585a4b6e4b5850585c7e584a7e5a585a5058487f21584d484b36487a582d5258505850585c76587e5b5b58774b68525850585b4a58585a63405a585a585b48484b6850485c5458486a55505850555148587e584c5136585c295c7f295158565a7e5a585a585b4848532978707e5a58584c7e58486a554b58585a485857585058507e582940575848535850585076587e5b5b366e5b555d485b5b6a5d5076587e587e58707e5a585c5c5b7d5e766f5848587e58415f5f5d48587e58725c5c78705c5a5d585c555a60585a5048545550585455486e585d485853585058507e58297a5c7f60585a52585058487f21584a6e295b487b58605258505850585076587e5b5b58414b68556e5c5850585f614b48295b5058505f505854555d6e6a7e58725c5c78705c5a5d58585558586d5f5858575850585c7e58727a5c485a585d50585c76587e5b5b366e5b575b51205b6a5d5076587e587e584a7e5a585c5c5b7d5e766f5848585f48485855566e5c585058575b587476715860585b48484b6850485c5458486a5550585055506e587e58725136585c295c7f295e6e54707e5a585a585a48485f297870215b585a585b7a4c5c584b6e4f5b58586a5548585c5a7f6058585258505852585058507e5876587e587e585a7e5a5a5a505a48485f2878705c5b50585876587e4871585a585b5058535b58415c5c7f60585b5258505850585b68525850585b4a58585a615c5b58586a49585a585850585876587e5876587e484b58485855516e587e58585336487f7050584c512d70585c76587e5b5b584e7670585d405a585a58585a63405a5b586a53585a58585c53545a5c5b585574585c58506e5b5b5c5e6a70586048585872587e5b4b58284b484b585058587e5b4a7e5a5a5d405a5a5a585850584c69587e582a587e585458486a7e5b4a7e5a585a5c5c5872585a4858535850584c76587e487058725c5b4d484b5850585871584a585850585048567e6e5b5a60585a487c36363636215d4a6e295b5058587e585a585a5c50505b48485f68507e4c487e485c70584b5b575058587e5b4b5b545058587e5871582c5a60585b5058487e58725c5b78715b615d585c555c5b7a585a6e6a7e58295c48787048585a6e72585058587e5b4b5d4b58486c5e586e5c507f605458487f585d786050585358587e585c5176582b76705b70585d5c58217e5b71582e5048767e5b4b58535b5c587e5b4c5c585c555c5b525850585058695b554b58204b705c555a60585a50586a7e585c5176582b767e585c517e582b767e585c517a582b767e585c5140582b767e585c5150582b76485c4a505450585b5b6c5857685c5c7a705b70585848787e5d78715b51507e7a7e585c5e72582b7648746e507e585c5c28577e504850585b5b5a5e695b585a5858484b5b68507e504851705c505872585a7f60585f5c58727e585a7e5a695857525b5c587e5b4b58535048727e585a7e5a695854715d4a58515c58727e5a4a585778295c5b7d5e767e5b7158537870585852585272582b695b584e765458486a7e5b615853505840485a4e767e585a7e5a69585768484853685a605053487c4c584a48295850587e7e5a4c5c5a7d5b58435c5a7a7e5a5a7e5a585a505a5d4858485f6e58555058507e585c5c5c7870585850585476587e487e5b4b585750584c485d4a585f5c58755b58774b685058767e5a605858487c585d787058585258557a5860585852585540586058545058407e5b6058585258527258615a785870585b5058507e585a7e5a5b5a5858525850585058547e5b5b5b7050485c7e5a5b587d50587a485a71767e5b7158525e7058545c58767850585b5b2f5857685c582d7e585c516e582b7672585a585b5a2e6a5c58486d36506e5b5b6a58716b507e5872585a585850584c2a5861587e585a585e576e54405058587e585c51585b2b76705b63405a6f587a7e5b605858484b5b685c57405a50487a7e585c5c28577e527e5b5a585848437e5c78725c5850585b5b76584b68507e724851705c5650585b5b574d405a7658487e585c5e485b5e695b585a58535c5b2d715a7e535850587d5b2c585b495b5c58485f705c515058587e5b4d7a5d585a58585058402a586e7e7e585c5e215b2b767e5b29516c515a58585c5f76705b295f364b7e295b50582d7e585a7e5a6f587a485360585250587d5b587748485e4b587750587648777e5057584a5852525850585048725550585b5b70584b68507e7e7e5861584950587e485660504b50585876586b6e51507e7e7e5b605850787058535c5e547e5b295c584a7e4b5850585876586b6e5155485858484a285e504821555058507e5d60585848407e5c787058584840585c78705858487f6e5d78705858487f7e5d78705858487c7e5d7871584b5071587e585c5140582b76484b60505050585b5b605857685c5c7a705a605858487a485d78715a7b58705858484d4c2b5873587e585c5c7678725c5850585b5b545e76705871587c50486e5a7f6058585258555c5860505750587d505b5c587e5a61585350587a7e5d4e6d5b58414b6850587e485a4e767e585a7e5a6158576848485f685d585c5550586a485a4a58505c58756850585876586a485d78725c5a787e6a705d4c5175585c215c485a58545058285b587748485e4b587750586e76587e587058724c5758486a7e58705858484a4b6850585b5b505e767e58607e5a5b5a58535058727e5b295c5a7d5e767e5c4a584950585b5b7e584b6850585876586f6e5d50585876586f7e5d505b587e5a5a585550585876586a485d5c53765a50585c7e5870585852585072505858765870587e5860585c5c5e5071584a58545c5b297e5a6158525e7058505c587678505b58485a71767e585c5e505b5e76485d7058525c5b297e5d71587d50585b5b6a5871685358587e584821555c5b7a585a362d5a58487136506e5b5b6e585f6b507e5872585a5858487b7e5b7870505e505854485d60585e5c5d50715a70585f5c58725c485a585f484858485a602958585a5852484a2948524c513658415f5e50486a555058507e5a605858487b7e5b78705858487b585b787058584878215b7870585848782d5b787058584878585b7871584b507e6e7e585c5e48584e76485c4a505e50585b5b7e585f685c5b5c705b605858487f6e5878715a7d58705858484d4c2b5871587e585c5c5078725c5850585b5b5c5e76705871587c50487e5a4858533650584c485a4a5858525853214a7e4b5850584c485a4a5c535058587658776e715d4a58515c58727e5a4a585778295c5b7d5e767e5b715853787058585258532178725c5b787e6e5b5a6058515c58727e5b715853787058585258532178725c5a787e6a705a4c5175585c7257585a5850505872485e4b587750587e76587e5870587e29585c5b7a585a60585a50585b5b5b5e767e585a585d5258505c50584c485d4a585f5c58297e5b4b58537870585250586a7e585c5e6e584e767e585a6e586b6e5c7e585a6e586b7e5c7e5d5a585e50587a7e585a7e5a7f5b5a7a5870585b5058507e585a7e5a5b5a5858525850585058547e5b5b5b4e50485c7e5a5b587d50587a485a71767e5b7158525e7058545c58767850585b5b6c585f685c582d7e585c5158584e7672585a585b5a2e505c58486d36506e5b5b2958576b507e5872585a585850584c2a5861587e585a585e576e54405058587e585c517e587476705b63405a2a58507e5b605858484b5b685c57405a50487a7e585c5c28577e556e584a5858487c7e5b78725c5850585b5b21585f68507e724851705c5650585b5b574d405a21585c7e585c517e584e695b585a58535c5b2d715a7e535850587d5b2c585b495b5c58485f705c515058587e5b4d7a5d585a58585058402a586e7e7e585c517a5874767e5b29516c515a58585c5f76705b295f364b7e295b50582d7e585a7e5a2a5850485360585250587a485e4b587750587648777e5057584a5852525850585048725550585b5b2b585f68507e7e7e5861584950587e485470504b50585876586d6e5a507e7e7e5b605850787058535c5e217e5b295c584a7e4b5850585876586d6e5a55485858484a285e504821555058507e5d605858487d7e5b78705858487d585b78705858487a215b78705858487a2d5b78705858487a585b7871584b5071587e585c5e6e584e76485c4a505050585b5b76585f685c5b5c705a60585848436e5b78715a7d58705858484d4c2b5873587e585c5c7678725c5850585b5b545e76705871587c50486e5a7f6058585258527a584a505750587d505b5c587e5a61585350587a7e5d4e6d5b58414b6850587e485a4e767e585a7e5a77585f6848485f685d585c5550586a485a4a58505c5875685058587658696e5b78725c5a787e6a705d4c5175585c215c485a5854505829485e4b587750586e76587e587058724c5758486a7e58705858484a4b6850585b5b505e767e58607e5a5b5a585350587a7e5a4e767e5c4a584950585b5b29585f685058586a5854215b5058586a58542d5b505b587e5a5a58555058587658696e5b5c536e5a50585c7e5870585852585072505858765870587e5860585c5c5f4071584a58545c5b297e5a6158525e7058505c587678505b58485a71767e585c5140584e76485d7058525c5b297e5d71587d50585b5b295857685358587e584821555c5b7a585a2f7a5f58485736506e5b5b6e58576b507e5872585a58585058502b586b585d5058587e584d405a6c58547e585c5c2b577e504c50585b5b5e5e767e585c5c7e78705858484b4b68507e7a4851705c5350585b5b5c5e7670584a585c5c58217e584b582e50487e7e585c5c58567e584950585b5b6c5857685058507e5860585b50584876587e487e5b4a58584848206850587e7e5a4a585150585b5b6a5857685c52485a5b5c5873585c5c487860505b5358585a485a585e5c5d4c5c485a585e525850585048507e584c5c58577e50545058507e584c5c54787158635058435b585b582c5d585c5550585f5b585d405a5a5a585e50585f5b5a5e76485460585e48485848567e6a7e584c5c48787048585058586d5858215c485a585e5058715b554b58205c547a5b5a605850484d5848494a5c5b50587276587e58715b5a58585258504c507e715b5b5e6a71587e57585872587e5870585c4d48295850584876587e587e584c7a57585a585c48484b685048485458486a55506e5b5b5c5e6a70584a4858505840485a4a5c5a50584048636e5c71586e53585058487e5a5b5a70587050514b482958505840485d4a585c4d484b365058487e5b715857505840485a4c5c5a7d5e69575b4c5c585a294c5c485a58515058547e58746d555b5c587e5b70585d5058507e5b2b767e582b6a7e5870585a5c49545b5a60585e5c58297e58725c5a7d5e7671586e57585058487e5a5c7a5c485a585d505848485460585c48484b685048487e58295c5c78705c5d5d585c555a60585b4848582b587e587e5860585b5c5d547e5b70585a50587d685c517e5458486a73585c5c487860505a5358587e584a585c50587e48637e507e58725c487870485850585c485d4a5c5050585c485a4a5c5a506e5b5b5c5e6a705b5a48585872587e5870585e5c54215b507e7a7e5b715853507e576b4d484b585058535f5d485c7e5b715857507e7a7e58295c5a7d5e767e5a5a585a5c515c7e5b70585a50585768507e50487c5a585c4848582b587e6e7e5b60585a484853297870585c484861685c5d545458486a7e5b7058515058507e582b767e5b2b6a7e5860585d4848587e587058505c49485b5a60585c484b5b685358587e584b58525e7e6a7e584c5c48787048585a605858487b7e5d78705858487b585d787158765b5c587e5b4a585f5258505848485360577e50585a6058585258522d58605c5b50585b5b5c5e76485d7058535c5b297e585c5158582b7672585a585b5a207a5d58485336506e5b5b21584b6b507e5872585a58585058502b586c585c5058587e584d405a2f58487e585c5c2b577e504850585b5b60585f6850585b5b29585f6850585b5b5c5e764851705c5b50585b5b6e585f68507e7a7e5b5b584950587a4856605c5050585b5b585d76586f6e5c5a485a5858487c7e5c7870585a5058547e5b60585c5258505c50584c7e585c5e36584e767e5a5a585b50585b5b61585f6850585b5b2d584b685c52485a4b48295850585b5b76612d765858582b58557a5b50585b5b775b2d695858582a582e585b50587e7e585c5e6e584e767e585c5e2f584e767e585c5e58584e764840605858484d4c2b5871587e585c5c5078725c5850585b5b5c5e76705871587c5048545a485a58585258555c584a585b5258505878295e5358292d5c485a585d50585876586a485b50585c76587e5b6b48485328484853685c5b72485360585d525850584b48295b50585476587e5871587e6a7e585a29586f6e5c5c485a585a484a292f5858587e58725c5b78705c5a5a60585b525850585048485d485a58585258555c584a585c4d484b585872587e58725c58567e58585058587e5b73405a585a5858484b5b6850585848286e535b584c7a57585a585d5c5b29545b586a5f5058507e585c5e6e584e767e585c5e58584e76705b605851484a716850584848297e5c7e5b2b6d5b58774f6855485858567e58585058535b584e76715870585c48484b685048485458486a555c5b7a585a61584158586a7e585c51765b5e767e585c517e5b5e764852584b5850584c7e5b4a7e5a585c5c5a7a73405a58586a7e585a7e5a2f58487158705858487a585b7871585650585c48514a5858487f585c787048585058505569584c5b582a2173585c5e7e584e6a70585a48585058587e5873405a72585c7e585a585b577e5240584a5858484d402b5871487e585c5c4078705858484a5b6850585b5b5f5e76705b61587c5048727e585c5c487870505b505848485d60585b5c5d50715a5a58584848582f5858217e585c5e40584e767e5870585d50585c7e5b5a7e5a5b5a585f50585b5b5d2b767e5a5a585350587a7e585c5e5c584e7648686e505c485a5458484b5b6b507e5c72585853585058404857484b5850584076587e58715870585b4848582f5858217e5870585b484820685c5d487e5b725c585c5d725458486a7e584c5c58567e58565058407e584c5c56787158295058435b585b582f5a60585b484b5b685358587e585a29585d6e4b585058407e5a5c5c6d5c5a724876485c555058715b545b586950485c7e5a4a7e5a585a5c5c50585876587148705a5c5c5b78605c5a50585f5b366e5f6150485c5d485853585058507e5b5c2957585a585c5548585850585f515d48587e5b5c5c5b78705c5c5d585c555a605458484b5b6b507e5c72585a585e5c5872715870585e5c5b5471586e53585058487e5a5b5d6f587050514b482958505840485d4a585c4d484b365058487e5b715857505840485a4e69575b4c5c585a294c5c485a58515058547e58746d555b5c587e5b70585d5058507e5b2b767e582b6a7e5870585a5c547e5b5a60585e5c58297e58747671586e57585058487e5a5c7a5c485a585d50584848575a585c48485f685048487e58295c5b78705c5d5d585c555a60585b4848582f5858217e5860585b484820685c5d487e5b70585a50587d685c517e5458486a73585c5c487860505a5358587e584a585c50587e48216e507e58725c487870485850585c485d4a5c5050585c485a4a5c5a506e5b5b5c5e6a705b5a48585872587e5870585e5c5b54705b60585e5c587270582b6d575b5c587e58724c57584a585e5c5829705b60585d78705850505850484f4a585e5058507e582b767058715b2d50584b5b585d76585d60585a50587d6850584b5b5d2b764857586e5b5a60585e50587a7e5870585d787058517860585d5058575b585a585a50587e4832585c5550584b5b5c5e7672585a585b5c5876785a60585b484b5b685358585550585b5b74585f6850585b5b72585f685c5a405c485a585f50584c76587e5b5b5877502b587e58555058587658697e5b50485c7e585c5c487871585650587248514a58584878585b7870485850585c556348545b58772173585c5e7e58746a70585a48585058587e5873405a7258507e585a585b577e524058705858484d402b5871587e585c5e40584e767e585c5e7e584e767e585c5c487871587c50485c7e585c5e48584e76705b60585c5c58217e5b61586050487e7e585c5c58567e5a495848535850585b5b745853685058507e5860585150584876587e487e5b4a58584840215b7870585050585c7e585c5e4c584e767e585c5e5c58747648686e535f5d48587e585c5e7351707e58585d4058716e5c7e585c5e7a51707258585d7a5d7e585c7e5a5a58584840585b787058584840765b78705858487f405878715b6f50585b5b574d405a5c5a5858484871684848587e585c5c487870505a5c5b2d71586e5358505858765869485b50585c76587e5b6b487c54584d7e4b585058547e585a7e5a75585c7e584a7e5a585e6d5b587476485e4b587750585476587e5b5f5d485c7e58607e5a585a5c5a5a60585855485a4958484b585058535b554d7658585a585a48485f685048505550585c76587e58715b585758505858765869485b50584b575b5c585a485a585a4848582f5858587e585a585e577e505850585b5b5c5e767e585b5d4158725c5b4b6e29585058544851486e5c5a6e4c7e58705858487f40587870505150587d5b5a74767e5b5b5d4f584a585878605858787029585a737658585a585a48485f685048507e5b5c5c5b78705c5c5d585c555a61584158586a485f6e585550585b5b7458536850585b5b725853685c5a405c485a585f50584c76587e5b5b5877502b587e58555058587658697e5a5048507e585c5e48584e76485d70585b5c5b297e585c5e7e58747672585a585a5a2c7e5a58485336506e5b5b7658576b507e7e72585a58505058715b76585768507e542b587e6e73585c5e48584e6a705b60485850587a7e5b295e5c584e762b58716e7e585c5c5078705851484a5b68507e507e5b295c7a7870585c50584c7e5b715a6158705851487e582a5861587e5b60585a577e50545058715b5c5e767058705850525850545c522d5a5048487e585a7e5a5a5a5c5f506e5b5b5c5e6a70585a48585058587e5b4d405a5d5a58584848716850585b5b5d5e76484c705c5f5058507e5b295c547870585c50587d5b5c5e7648297e50715b5a585f5c5f5c7e585c5c487870485850584b5b7f29405c485b584158586a7e5a5a585a50584b5b58774b68577e505450587d5b72585f685358587e5a5a7e5a5d5a5c5c506e5b5b5c5e6a70585a48585058587e584d405a5a5857585058507e5b5c7a5c485a58584848716850585076587e5848206e507e58725c5c78705c5a5d585c555a6058585258505050485c7e585c5c487870485850585472585a585b5a2d4c5b585a54584840585b7860505a5358587e5870585a487f48587873405a5d5a5858484871685058535b5c5e7670585a585a484861685058487e5b4a585e5c555c5a505858715b5a585a5258505450485473585c5c48786050585358587e585a585b577e50505829587e5860585c4b6e4b5850585b5b5a5e767e5b5a6e58585b5d2d5870585c48485f685048485458486a5550585876587e7e71584a5858484b5b685358587e58725e58584e7672585a585b5a32585458485f36506e5b5b485e76705b60485850587a7e584d405a565a585c4848582b587e587e5b60585d5c58217e5b61582e50487e7e5b6158565877215a485853585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585058435b6e485b6b5d737258584b7a5c5f6e4c415b7e7a415f617a525f617a415f6e2d495c5b7a415f61544f5f617a415f617a415f6e585b587e545d5f617a5b5f6e7e415f6e72555f6e6e415d4b7a555f617a4b5c71484e5a60585850584f5b5e5e767e5b295c2d7870585a5058487e5a5b5a28587e6e405a60585850584f5b5c5e767e5b295c2d7870585a5058487e5a5b5a29587e6e415a6058515058587e584a585a5058547e5b5a585f50585b5b5a5e767e585a7e5a5a5a7e5a5d5b5c58585a50585c58297e585b5857505858485a4c5c5a7d5e7648405d405a56586e4e5a605851484d71685058507e5b5a5850484850484e5a5c585872587e5b5a7e5a585a505b48484b6150585b5b585c616050585b5b512969604b484b5850584c7e585d405a5d586e5b5a60585c50585f5b5b51502b587e58555d5b4c5550587d5b6c575c5852485458576e544050587d5b6a575c5852485458576e544850587d5b68575c5852485458576e545050587d5b76575c5852485458576e545850587a7e585a585b5058507e5860585c50584c7e5b605851484a5b685c5e582b58737e545f586a7e5b29514029485869586e582a58617e7e5b29514829485869586e582a5861587e5b29515029485869586e582a586e7e7e5b29515829485869586e582a586e587e5b60585850585c7e5870585d5058487e5b4a585150587d5b505e7648405d405a56586e4d5a605851484d71685058507e5b5a5850484850484e5a5c585872587e5b5a7e5a585a505b48484b6150585b5b5f2969604b484b5850584c7e585d405a5a586e5b5a60585c50585f5b5b51502b587e58555d5b505550587d5b565e767e5870585c5058715b58715b405048585a485a585c52585058507e5f5b5b515c7e585c5c584d51507e585c5c544a77535f5b5c587e5b4a5858577e50505d585c555058487e584c5c5c7a73405a58586a545c486a7e5b295c2d7870585a5058487e5a5c5c5d5c5f7e715858535850584876587e5870584c5c5c7a4a5858487c295a4a77535f5b5c587e5b4a5858577e507a5d585c555058487e584c5c5c7a73405a58586a545c586a7e5b295c2d7870585a5058487e5a5c5c5a5c5f7e715858535850584876587e5870584c5c5c7a4a5858484861527a724c5c485a585f50585b5b584e6a2b5871585458486a7e5b5a585b48484b60577e50585a6e6e495a605851484d71685058507e5b5a5850484850484e5a5c585872587e5b5a7e5a585a505b48484b6150585b5b562969604b484b5850584c7e585d405a5b586e5b5a60585c50585f5b5b51502b587e58555d582d5550587d5b565e7671585a5458484b5b6b507e5c72585a585b5058502b587e7e5d485853585058587e584c5c507871582b4b4829585058715b7e54585850585848504b5b564b48295850585848534b765458486a555058587e584c5c50787158765b5c587e5b5a585c5258505848485360577e50585a60585b484b5b68535858545d486a7e5b295c2d78705c5b5872587e585c5c507870585852585050525850505c485858507e58485a4c5c5850585b5b5d5e76485a4e6d5e5b5c587e5b5a585c5258505848484b60577e50585d585c5550585c7e5870585850585b5b5e5e767e5a5a585c484858486a7e5c7e585e6a70584a585f52585050507e5b5b5d5c7d604b484b5850584f5b585d405a5a586e5b5a60585b4848615150585b5b5a2969604b484b5850584c7e585c5c547873405a5a586a555d586e5550587d5b2d575c58484a6e484870505e5058587e584a585a5058547e5b5a585f5058407e5b725c6a78715b7e577e502d5d586a5550587d5b7657505852585058577e504850587d5b7457505852485458576e545050587d5b7257505852485458576e545850587a7e585a585b5058507e5860585c50584c7e5b605851484b4b685c5e582b58737e545a7e6a7e5b295c2d7870585a5058487e5a5c5c5a5c5f7e715858535850584876587e5870584c5c5c7a4a5858484d61527a724c5c485a585f5058582b587e585458486a7e5b5a585b48484b60577e50585a6e6e535a605851487a734a585a725d585d7a5d5e5a5851487a5d4a585a725d585d7a5d5c5a5851487b734a585a725d585d7a5d5a5a5851487b5d4a585a725d585d7a5d585a58515058587e584a585a5058547e5b5a585f50587a7e5b295c7e78715b7e577e502d5d587e5550587d5b565e767e5870585c5058715b584b5b405048585a485a585c52585058507e5f5b5b515c7e585c5c5e4a77535f5b5c587e5b4a5858577e50405d585c555058487e584c5c5c7a73405a58586a545b6e6a7e585a585b5058507e5860585c50584c7e585a7e5a585a7e5a5f5b5c5f58586e515a6058515058587e584a585a5058547e5b5a585f50585b5b5a5e767e585a7e5a5a5a7e5a5e5b5c58585a50585c58297e585b5857505858485a4c5c5a7d5e7648405d405a56586e5f5a60585f484b4b6850587d5b565e767e5870585c50587e486a6e50545b586a7e5b295c2d7870585a5058487e5a5c5c5c5c5f7e71585a585c5548585848484b614b484b5850584c7e585c516a5d746a2b587148555d5854555058435b534c405758486a7e5b5a585c5258505848484b60577e50585d585c55506e5b5b5c5e6a70585a48585058587e5873405a5a5c5c5e50485c5a4858535850587d5b565e767058705858484871685c5a7e57585c5c5c50485c7e5a5a585a5c5a5c48716e5f5b534c7a57585c5c5a50485c7e5871587550585b5b5a5e7648525c4c5758486a7e5b5a585c5258505850585f60577e50585a605858484b5b685358585550587a7658737e555048587e5b295f5878604858505858554b6e5c5b7f605458484b5b6b507e4072585a585e50585c2b587e7e7e5b70585d5c58217e5b71582e50485c7e5b71585650584f5b5f5e767e5b725c507870585a5058487e584b5a635870585e525850505048587e5b725c4878704858505858554a485c5b7f605458484b5b6b507e4072585a585e50585c2b587e7e7e5b70585d5c58217e5b71582e50485c7e5b7158565058587e5b4c5c487870585e484871685058507e5b5a585b5c55485a50584076587e7e71585a585e484b5b685358587e58586d5358485f36506e5b5b5c5e6a705b7048585058407e584d405a5a5a585e505854485d60585e5c5d6a71584a585e5c582d7e585a585f484b71685058435b5a5e767e5870585c50585c486d48507e5b707e5a5a5a5c585058435b5c5e7672585a58585a6358585058587e584a585a5058547e5b5a585f50585b5b5a5e767e585a7e5a5a5a7e5a5f5b5c58585a50585c58297e585b5857505858485a4c5c5a7d5e764840586d7a58485f36506e5b5b505e6a705b7048585058435b6057505852485458576e54405058435b6e57505852485458576e54485058435b6c57505852485458576e54505058435b6a57505852485458576e54585058587e584a585a5058547e5b5a585f5058407e5b725c7e7870505b5c5e5871585a585b5358587e58586d5458485f36487a4a5b584c51587e485c7e58716a7e584d405a585a585b48485b525b5c5b5b76505c5b48405a5b584a585a5e605c5d48485871587e57585058507e582b767e585a585a78702958585d7658585a585a48485f68507e507e584c7a5758586a555a2c585458485336506e5b5b505e6a705b60485850587a7e584d405a5e5a585c4848582b587e587e5b295c5078705053505854485d6058535c5d50715a5a58535c582d5a7f6e53585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585872587e5b72515b585e6a565648585b5f6e48415b4b7a5e5b617a415f6e76415f617a415d7e21485f617a415c614c415f617a415f617a4158585c5a586e54415f6e5c415a5b7a415a486a415d5b7a575f6e6a415f615c4a5f5b40555058587e5b4c5c4078705851484b71685058507e5b5a58505c557e5a5d5b7e555058587e5b4c5c4878705851484b71685058507e5b5a58505c557a5a5d5b7a5550587a7e585a585b5058507e5860585c50584c7e585c5c507870585852585050525850545c485858507e58485d4a58585c58297e585b585378715b71577e50405d5b405550587d5b5e5e767e5870585c5058715b58715b435048585a485a585c52585058507e5f5b5b515c7e585c5c584d51507e585c5c7f4a77535f5b5c587e5b4a5858577e50545d585c555058487e584c5c5c7a73405a58586a545f486a7e5b2952752b6b2b696e6c6355726f7258576e545050587a7e585a585b5058507e5860585c50584c7e5b295c5078705851484b5b685c5e5c2b58717e545f586a7e5b2952756a6b4e6929682a55726c4858576e545050587a7e585a585b5058507e5860585c50584c7e5b295c5078705851484b5b685c5e5c2b58717e545c6e6a7e5b295c407870585a5058487e5a5c5c5a5c5f72715858535850584876587e5870584c5c5c7a4a5858484b7d527a724c5c485a585f5058582b587e7e5458486a7e5b5a585b48484b60577e50585a6e6e4a5a605851484b71685058507e5b5a5850484850484e4a5c585872587e5b5a7e5a585a505b48484b6150585b5b585c616050585b5b5d5c69604b484b5850584c7e585d405a5a586e5b5a60585c50585f5b5b51502b587e58555d5b5c5550587d5b5e5e767e5870585c5058715b58615b435048585a485a585c52585058507e5f5b5b515c7e585c516d587269604b484b5850584c7e585d405a51586e5b5a60585c50585f5b5b51502b587e58555d5b585550587d5b5e5e767e5870585c5058715b58715b435048585a485a585c52585058507e5f5b5b515c7e585c5c544a77535f5b5c587e5b4a585848485f6b577e50485d585c555058487e584c5c5c7a73405a58586a545d6e6a7e5b295c407870585a5058487e5a5c5c5a5c5f72715858535850584876587e5870584c5c5c7a4a5858484d6d527a724c5c485a585f5058582b587e485458486a7e5b5a585b48484b60577e50585a6e6e565a605851484b716850485873585c5c487860505b5358587e584a585a577e50505829585a485a585850585f5b5a5e7648544c4c57585a585048405d58585a58585c5b21484b5c4c57585a58585c5a50785d585c555a60585850585f5b5a5e7648537e4b585058487e5b5a7e5a585c5c5a7a73405a58586a7e584c5c48787048585d58295550587d5b5e5e76715848535850585b5b5a5e767e585a7e5a5a5a7e5a5a5b5c58585a50585c58755b585a5858484861685c58756b4b7e4b585058487e5b5a7e5a585c5c5c7a73405a58586e5b5a60585b5058507e585a5858484b716850587e7e5b5c5c585c55485b50585b6b507e5c7e5b4a7e5a5a5a5058484861517a724c5c485a585f4848582b587e7e5458486a7e584c5c544b60585848486d527a724c5c485a585f50585b5b5d5e762b587e7e555a6e6e545a60585148434d4b585a7e58585d40585d60585148402a4b585a7258585d7a5d5a5a58515058587e584a585a5058547e5b5a585f50587d5b5a5e767e5b295c4d78715b71577e50405d586a5550587d5b77575c5855485858567e585450587d5b74575c5852585858577e505050587a7e585a585b5058507e5860585c50584c7e5b295c5078705851484828685c5e5c2b58717e545a7e6a7e5b295c407870585a5058487e5a5c5c5a5c5f72715858535850584876587e5870584c5c5c7a4a5858484d61527a724c5c485a585f5058582b587e585458486a7e5b5a585b48484b60577e50585a6e6e535a60585148684e482f78774a607a2f4a296e582a586e7e7e5b60585850585c7e5870585d5058487e5b4a58514848716850587d5b5c5e7648404d405a5e586e505a605851484b71685058507e5b5a585048485c484e4a5c585872587e5b5a7e5a585a505b48484b6150585b5b5b7269604b484b5850584c7e585d405a5e586e5b5a60585c50585f5b5b51502b587e58555d587a555058587e584a585a5058547e5b5a585f50585876587e58765871484b5b4858545b6e6a7e5b60585850585c7e5870585d5058487e5b4a58584848716850585876587e7e7658717e4b58585870585b5857505858485d4a58585c5875685c5e5c2b58717e545b486a7e5b4c5c4c78705851484b71685058507e5b5a58505c55405a5d58485550587d5b5e5e767e5870585c5058715b5b5b5b435048587e5b5a2958585c5c5c7a4c4c5c485a585f50585b5b2e582c6b577e504c5a6e6e5d5a60585e484a4f5e5d485c555058487e5b5a7e5a585c5c5c7a73405a58586e5b5a605458484b5b6b507e5872585a58585058502b587e715b5b705c5b5872585a485a5851484b7168507e507e585c5c50787158745d485b5b5b5a5c5b50587e7e5871587f5c507e5b484a4f515d485b5b58705c5b5058504850705858484871685c5a435f5d485c555058487e5b5a7e5a585a585b7a73405a58586a7e585c5c48787048585a605851525850405a605c5850587d5b505e7672585a58585a297a5b58412173585c5c487860505e5358587e5b70585b577e50505058407e586158495058404854705c5b505840485d70585f484b4b685058435b5a5e767e5870585c50585c486d7e507e5b707e5a5a5a5c585058435b5c5e7672585a58585a29725b58412173585c5c487860505e5358587e5b70585b577e50505058407e586158495058404854705c5b505840485d70585850584f5b5c5e767e5b725c507870585a5058487e584b5a2a5870585e525850505048587e5b725c4878704858505858554a485c5b7f605458484b5b6b507e4072585a585e50585c2b587e7e7e5b70585d5c58217e5b71586050485c7e5b7158565058587e5b4c5c407870585e484871685058507e5b5a585b5c557e5a50584076587e7e71585a585e484b5b685358587e58586a6d585a585850585c7e5870585d5058487e5b4a58584848716850585876587e7e765871484b58585870585b5857505858485d4a58585c5875685c5e5c55496e5c5b7f605458484b5b6b507e4072585a585e48684e482f78774a607a2f4a296e582a586e7e7e585a585b5058507e5860585c50584c7e5b725c507870585e484b5b68507e5c48404a5c5850585c72585a58585a2f2d5b58484f36506e5b5b29585f6b507e5872585a585848406f4b585a2158585d6a5b63585c7e585c5e51294858765858582b586a7e5b5c5b40715b7058585058482b587e587e585c5e6e584e76705b60585150587d5b5f5a585e50585b5b60585f6850585848555a50507870505c5058504849605c5e50585b5b5c5e76705b4a585a5c58217e5b4b582e5048727e5b4b58565058727e5b60585c50584c484060585b50584c7e5a5c5c5a7d5a585f7870505b5058407e585e6d5b5877487e585e695b6a584f6b5058487e5b72407b50585c7e5870585d5c5e5071584a5858487d585b7870485850585c557e58485b5b2a2173585c5e6e582b6a70585a485850585b5a534d7a5d6858547e585c5e76582b695b5841535b73612d7e58707e5a5b5b5a6f584a5c505058587e585c5e58582b762b586f6e5a5c5b40715b7e533650587e5c485a585a5258505050487a7e585c5f587860585f576e54585058587e5b5d7a5d565a585850587a2b5873587e585c5e58582b695b5170585e50585b5b6858576850585b5b545e764855586e5b5a6058585058482a5828587e585a585f576e574050585b5b7e585768484b2d7e5b70585848787e5d78705858487d58587871586a5a605c5e50585b5b574d405a7e585c7e585c516e5874695b585a58584840585b7871587c5048727e585c5e58582b76705a705c515872587e5b725c7c4d7e4b585c5b40715b7e533650587e5c485a585a5258505050487a7e585a585f576e54485058587e5b5d7a5d5a5a585850587a2b587e587e585c51215874767e5b70585848787e5d787058585c5f765458486a7e585a585c576e547e5058587e5b4d7a5d525a5858487f6e5a7870585e50585b5b6858576850585b5b505e76484e7e6a705b725f364b7e295b5058727e585a7e5a36585048536058585258552158705c515a6058515058407e5b2b76705a60585a5c5d21715d5a5858484d4c2b5876585b50585b5b32585b684848587e585c5e58584e764851705c515872587e585a7e5a3658507e585c5e58582b695e5b5c587e585c5e58584e76715b7e6e5b5a60585e484857295c5b72705b724c57584a585150584048536058585258552158705c525a605858487c7e5878705050505850485d60585250586e7e5a60585e50585b5b20585b6850585b5b21585b6850587e486c7e507e5a5b585650585c7e5b70585852585329505858765877587e5870585d5c5e5071584a58515c5b297e5a4b587d50585b5b6a5857685358587e584821555c5b7a585a206e5d58487d36506e5b5b7e58576b507e5872585a585848704c2a58367e5a50585b5b3258536848485f604878487f50585076587e48486b6e5c715b60585850585b5b29585368577e55545871584e50484c5a7f6058515b5c587e58707e5a5a5a5c5e5058587e5b5d725d525a58585058402b5870587e585c51485874695b5170585f50585b5b3258536850585b5b505e764855586e5b5a6058585058482c5863587e585c51485874695b5170585f50585b5b3258536850585b5b545e764855586a715b4a5858484d4c2b5875587e585c51585874695b585a5858487d58587871587c50487e7e585c5148587476705a4a5c5e5872587e5b4c5c7c4d7e4b585c5b40715b48533650587a5c485a585a525850505048407e585a585c564854505058587e5b73405a585a5858487a6e5a7870585f50585b5b32585368505858484e7e6e5b5a6058585058482c5861587e585c51545874767e5b4a5858487f7e5a78705858484b5b685c5f7655507e4f5b7f294057584a585050585876586a6e5a5c5a7a7e585a7e5a635850715b7e6a7e5b70585f50584368507e767e5871583650486a7e585c5c28577e534850585b5b60585b684848587e585c5148585e764851705c5e5872587e585a7e5a6358507e585c51485874695e5b5c587e585c5148585e76715b486e5b5a60585f484857295c5b72705b4c4c57584a585e50584c48536058585258555458705c535a605858484d7168507e7a7e587158495058727e5a60585250584c7e585c515c585e767e585c5f58786058515c55765a50587a485d70585b50584c7e585a7e5a4b5a5858525853585058507e58615b7050485c7e5b71587d50587e48514a58584840585d7870485850585c495a61584158586c7058485c5c7f6054584840585a786050585358587e585c5075576e492d584a5858487f7e5b7870505e48485f60487d547a4848587e58707e5a5b5b5b6d5c5b40715b6058585058482a586e587e585c517e584e76705b4a585f484b7e7e5b60585e50585848555a585f787050515058504849605c5050585b5b5c5e76705b70585a5c58217e5b4a585050587a7e585c5c7e7870505f50585b5b515e767e585c5c407870585e5c522d5b505840485d70585b50584c7e585a7e5a515a5858525850405058507e58615b7050485c7e585c5e5858747672585a585b5a2e485b58485736506e5b5b76585f6b507e5872585a58584840414b585a2158585d6a5b77585c7e585c5e5b294858765858582b58697e5b50585b5b74585f68507e4f5b5841535b2b71615b585a585a5258505c5c5e29485f705c5e5058587e5b5d405a585a585848406a5b7870505c50584b5b5d4a585e50584c7e585b586a50584b68507e407e5871583650487a7e585c5c487870505f505850485d60585c50587a7e5b705858484a5b68507e487e585c5c7a78705858484b716850584c486b7e5c7e5b4b585650585c7e5b5a58585258507a5058587658717e7e5870585d5c5e5071584a58584878585b7870485850585c55767e5c5b5b512173585c5e5858746a70585a485850585b5a534d7a5d32585c7e585c512d584e76705b725c5b7a72514d515c5c5b50585076587e48487b4b584e50487a7e585a585c576e545850585b5b2d585f68507e4c7e5b4c5c4050587a7e5b7058585c5a6e7e5b4e76705b60585a5c5d21715a5a5858484b5b68507e407e5871584950584c7e5a5a585150585b5b505e76705b4a5858484b616850585b5b5e5e767e5b715a6c584a585e5c582d7e584a585f5058587658716e7e585a7e5a5e5a585a5058544840705c5b50585b5b7e5853685358587e58486a4e585c5e7e7e485f5b61505c5b525850585058507e585a585b5c56405b5a2e485b58485736506e5b5b76585f6b507e5872585a58584840414b585a2158585d6a5b77585c7e585c5e5b294858765858582b58697e5b50585b5b74585f68507e4f5b5841535b2b71615b584a585a5258505c5c5e29485f705c5e5058587e5b5d405a585a585848406a5b7870505c50584b5b5d4a585e50584c7e585b586a50584b68507e407e5871583650487a7e585c5c487870505f505850485d60585c50587a7e5b705858484a5b68507e487e585c5c7a78705858484b716850584c486b7e5c7e5b4b585650585c7e5b5a58585258507a5058587658717e7e5870585d5c5e5071584a58584878585b7870485850585c5563485c5b58412173585c5c6e7860505f5358587e5b4a585b577e50765872587e58707e5a5b5c5c5b7a4c4c5c485a585850585c7e5870585d5058487e585a7e5a585a7e5a5e5b5c5e585a5c5a5d585c5550584f5b5e5e7670585a585a5c58217e585b5a54584a5c5b505858485d7e53585058485c485a585f484b716850585c484a6e6e5b5a60585f484b716850585c484a7e6a7e5b4a585f484b71685c5c582b5871585d485a585f50584f5b5e5e76487b5d405a5a5a585f484b5b6850584f5b5a5e76484e6e4b5850584f5b525e767e5b4c5c487870505852585058525850585c497a5a5058584875485c5458484c7e5b4a7e5a525a5c5a50584f5b5e5e76485a7176555a6e6a7e5b4c5c6e787048585058505569585c5b5b412173585c517e585e6a70585a485850585b5b70205c58556e5858566e5f7a50585b5b71205c5852585858577e53405c5b40715b7058585058482b587e587e585c5f587860505150587a7e5b295c4c5058407e585c5140585e767e585b586a507e7168507e487e587158365048407e585c5c487870505f505850485d60585f5c5d50715a4a585f5c582d7e5a4a58515058487e5b4b5b6f50585c7e5b4a585f50587168507e5c7e5b7058587860585878725c6e7860585c5058435e5e60585b5058507e58615b4e50485c7e585c517e585e7672585a585b5a2d585c58487d36506e5b5b7e58536b507e5872585a585848704c2a58367e5b50585b5b32585f6848485f604840217c50585076587e48486b6e5c715a5a585850585b5b29585f68577e5554584b584e5048405a7f6058505b5c587e58707e5a5a5a5c5150585b5b485e6a7e5b4d7a5d585a58585058482a58637e7e585a5851577e506e50585b5b29585f68484b2d7e5b705858487f7e5b78705858484d5b685c5a6e5458486a7e585a585c576e57485058587e5b4d7a5d4e5a5858487d585b78725c7c5058407e585c512d584e767e585c5148585e764855586a715b705858484d4c2b5876585b50585b5b6e585f684848587e585c5e58584e764851705c5350585b5b29585f68507e76715b6e53585058435b51722d5c485b584e5048405a7f6058505b5c587e58707e5a5a5a5c515058587e5b4d7a5d5c5a58585058482a586e7e7e585a5851577e505850585b5b63585f685058407e585c512d584e767e585b5b785d585c555058587e5b5d7a5d505a585850584c2a58607e7e585c5154584e767e5b705858487f7e5b78705858484a5b685c5f7655507e435b7f294057584a585350585876586a6e5b5c5a7a7e585a7e5a63585c715b6e6a7e5b60585e50587d68507e6a7e5871583650486e7e585c5c28577e5258584a5858487f7e5878725c5850585b5b7e585f685c5b2d715b6e535850585876586a6e5b50585b5b29585f684b7e4b5850585b5b7e585f685048405458486a7e5b725c5b7d5b5843507e435f5d485c7e5b60585e5c5a7a7e585a7e5a63585c715a7e6a7e585c5176585e76705a5a585a5c58217e5a70585450586a7e5b705858487f485878705858487f5858787058505c556e5a50587e485d70585b5058407e585a7e5a7d5a58585258536e5058507e58615b4e50485c7e5b61587d50587248514a58584840585a7870485850585c495a61584158586f7a586e5c517f605458487d585b786050585358587e585c5075576e4950584a5858487a7e5b78725c5b7a725e725160585a5258505c5c52215b50487a7e585a58584878585b7873405a77585c485f705c5f5877217e5b6e4b5850585076587e7e715b7058585058482c58607e7e585a585e577e507e50585b5b76585f68484b2d7e5b4a5858487a7e5b78705858484a5b685c5a6e5458486a7e585a585c5648546e50585b5b76585f68484b2d7e5b4a5858487a7e5b78705858484d5b685c5a6e5550484c7e585c5c28577e534850585b5b72585f684848587e585c5148585e764851705c5050585b5b76585f68507e72715b7e535850584f5b51722d5c485b584e50484c5a7f6058515b5c587e58707e5a5a5a5c5e5058587e5b5d725d5a5a58585058402b587e587e585c5e7a584e767e5b4a5858487a7e5b787058585c5f765458486a7e585a585c5648544850585b5b77585f6850584c7e585c5150584e767e585c5c4878715b785a60505f4841205e5d485c7e5a5a58585258527a584b58775058587658696e5b504840555058407e5b4a585e787050525058504849605c5550585b5b574d405a4c5a5858487a7e5878725c5850585b5b29585b685c5b2d715b7e53585058587658696e5b50585b5b76585f684b7e4b5850585b5b29585b6850484c5458486a7e5b4c5c5b7d5b5843507e4f5f5d485c7e5b70585f5c5a7a7e585a7e5a77585c715a486a7e585c5c2d78705051505850485d60585350586a7e5a70585f50585b5b61585b6850585b5b485e6a7e5b615a21587058515c582d7e584a585f505858765872487e585a7e5a485a585a505854484f705c5b50584048514a58505c5b297e585c5148584e7672585a585b5d6e6a485f6e585576485c5b5b512173585c516e585e6a70585a485850585b5a534d7a5d785a5858487c7e587870505e48485f60487d547a4848587e58707e5a5b5b5b6d5c5b40715b6058585058482a586e587e585c5148585e76705b4a585f484b7e7e5b60585e50585848555a585f787050515058504849605c5050585b5b5c5e76705b70585a5c58217e5b4a585050587a7e585c5c7e7870505f50585b5b515e767e585c5c407870585e5c55585b505840485d70585b50584c7e585a7e5a515a5858525850405058507e58615b4e50485c7e585c516e585e7672585a585b5a2e5c5b58485736506e5b5b29585b6b507e5872585a58584840414b585a2158585d6a5b4d5a58584840514b585a7e58585d405a4a5a5858487a7e587870505f48485f60487d767a4848587e58707e5a5b5b5b6d5c5b40715b7058585058482b587e587e585c5c2e7870505c50584b5b5d4a585e50584c7e585b586a50584b68507e407e5871583650487a7e585c5c487870505f505850485d60585c50587a7e5b705858484a5b68507e487e585c5c7a78705858484b716850584c486a585c7e5b4b585650585c7e5b5a58585258507a5058587658717e7e5870585d5c5f4071584a5858487d58587870485850585c5576485c5b5b512173585c516e585e6a70585a485850585b5a534d7a5d785a5858487c7e587870505e48485f60487d547a48485c7e58707e5a5b5b5b6d5c5b40715b6058585058482a586e587e585c5148585e76705b4a585f484b7e7e5b60585e50585848555a585f787050515058504849605c5050585b5b5c5e76705b70585a5c58217e5b4a585050587a7e585c5c7e7870505f50585b5b515e767e585c5c407870585e5c55585b505840485d70585b50584c7e585a7e5a515a5858525850405058507e58615b4e50485c7e585c516e585e7672585a585b5a32294b58482c36506e5b5b6e58536b507e4072585a585e50585c7e58725c5b5c57765a577e524c5870585e505840765869485a5c53505b577e524058725e733250786b7f295e7a755455757f4a585c5e605c5650585b5f5048205b6a437f416c777671584857585872585a485853585872585a485853585872585a485853585872585a485853585872585a4858535850585c70585c516e6c6d2e7c584c6e5c485a5858487a70606d7d532e4d584b5850585b5b616a6c6b705169545b5c587e585c516d2c555e737c5c40575a6058584840605e692e612c4b7e295250585b5b7521637e204175515d4b507e5b707e5a6d58535b7e505c5b7870585e55485a7f58737658585c5e416b546e6950485c545c7e6a7e585c5e6175207c2f7c72405758705858487c6043696c532f4b7e295550585b5b61216c6b705169515d4b5c7e5b725158587476725858215550585b5b20557c282d772c545b5c587e585c51536a6b414a7c2940575b5a58584843604c6e6c4f204b7e295e50585b5b7349606b61512c515d4b5c545c586a7e585c51286d2e41707f7240575b5a58584878492d71686d364b7e295e50585b5b752f6354524c7a575c5a585e5258522958725c5b78705c5748404a282d214c5150485c545c586a7e585c5e6c2921635d5b4c6e5c485a5858487f4d516f6d7e5a4d584b5850582d71584a5858487f5e2f2a6d2d5b4b7e294b50585871584a5858487c492b6b692d5a4b6e294b5058435b76585f685c587678505840765868585a5e7e6e485a605858487f41516f6d7e5a4b7e295450585b5b29565d4f716e575e5d487a7e585c51722a7f562a5b5c7a575c5a585e5258522958725e7e7e485f685058406d5853215a567e585848437c6a635a727158486e485a605858487d60587155545e4d584b5850585b5b6b2049546e6e4f5e5d486a7e585c5e292b2c51545b4c40575d7058584843417e32572d5f4b6e2948487a4a5b584a585d577e5058487f5e2f2a6d2d5b50485c545c586a7e585c517d7e504a635b7240575d5a5858487d417f6e7f545e4b7e295b50585b5b7155417361487d515d48217e5b705857577e522958725e5471687c217c4c5e5436526f5c7f70585e525852295870585d4a5b6a7158486e495a295c5850487a7e5b70585c48485b52567e5a7d5872514f2a2151635b7251536a6b414a7c60585e55485a7d58725c5b7a4b6a71584a585e5258524c58705c525d582d555058435b70585368505840765869485a5c5f48705c5a5c52484858715a5c5c5850487273585c5c487860505b5358587e5a71585350486a73585c5c48786050515358587e5b72512d584e7670585c5058576e505850587d5b585d405a5d5a58584848716850587d5b5d5e764863485c7e5b295c48787048585872587e5a294c57585857585872587e5a7058535c586a6d58585b5b494c4057585a5852505872485a602958585a5051484a6d5e50587d5b5051535b2d485b6b484b69535b51205b58484c7e5b615b5f48485b515a295c584b2a507e5b295c6f4b77535f5d48587e5a295c5b78605c5550585f5b5d5e767e5a5e767e5a7058535c586a6d5858582f58585b5b585a5c515058715b584e76705a5c5c5c4b7e4b585829587e584c5c54787058517870505050587e6a5858584820485c2f5858587e5b295c5b7870505148484b515d48585550585c7e584a29585d60585b55485856507e7d5b5b774b68567e585550585c7e584a29585d4a505048484b2b4848576150585c6d5858615b58774b60567e585350585c7e5b295c5a7d725c497a4a585048484b297a7376585a725c585048715b585a5c515829587e585a585b4848756850587d685c49485a50587d5b584e76705b295c5d4b6e29585a6e6a7e5a4c5c5b78705c5350586a5758486a555058715f5d48587e5a5c5c5d4d584b5850585f5b5d5e767e5a5e695b585c5c5c5058716b5c5c40785a295c5850487a5d485a585b4848616850587d68507e727e5a4a6e58585b5d28584d7658585a585148485f68507e7d5b5b5c7a5758586a7e584a585b5548584950585c6d58582d705b295c5e7d5e762f58586a7e584a585b55485857507e755b5b51435b582a5c7e584a29585d5c5c5a7d51502f5858727e584a58514848532b484820615058755b5b514b60567e58525058715b58727e57585a585048485f6b5048715b585a5c515829587e585a585b4848756850587d685c49485a50587d5b584e76705b6058504b6e29585a6e6a7e584c5c48787048585058584870485c715c4a58585258505850486e7e5b725e6d51607e58585d405a21585c7e5b725e7551607258585d7a5d2f585c7e5b725058576e4940584a585e487e582a5820585b5058435a585d7a5d60585c7e5b725058576e4958584a585e487e582a582e7e5b5058435a585d7a5d6a585c7e585b5a53584a5c555058435b6a585f6850487673585c5c6e7860505b5358587e584c5c7e78705c5050584c7e5b5b5a32587050515b5c587e5a5c5058576e58585058715a585d7a585a5a585150587e7e5a5b5a7758486a7e5b725e36587476715c70585e487d585b78705c4d50587a5c7f605458484b5b6b507e7272585a585b484b5b68507e7e7e5b7072582f585c2a5858587e5a5a585e52585d6e584d40585a5a585048405a587e587e2b58586e7e5a4c5c4878704858506e5b5b5c5e6a705a4a485850586a5c485a585350587e695858582a586e587e5a4a585052485850576e5450505872482f6e5c7e5b60585350586e7e5a6058525c504c5a5a605853484b5b6853585873585c5c48786050535358587e584c5058576e585850585f5a585d7a585a5a585b484a5b68507e6e7e5c725c5850585c486f6e5c7e5d5a585250586a7e584b5a36584a5853487e58482e485c7e5a4c5c507a705855484857296b4b5d6d584a58545058755b5c5a585b5c55215b5058755b5c5e7672585a585150587e7e584c5c48505b54487148507e5b6158484848585f484121555e70585b484d5b685358587e585b5d6d58705858525850585b5c587e585a7e5a5b5a505b50585876587e58705b297a5c48585758505858484861767e5b60585b48485f6b507e5f515d4858555a60585850587a2b587e487e585b5b5d5e7058585258505850485c7e585b5a5f584b767e584b58485a6058485c587678484a5b5b5c5a584b484d5b5e5e605c51487a74606d7d532e50485c545d486a7e5b705849567e5a7c5870585e50587a2b586b585a5058407e5a73405a6b58535b207b7c282d772c5b757c5d2d2a7e4c7e5b702958777e535b58415c7b50485c545d586d5b6e505c5b5058542b587e5b5b217b6b7c2a7e5c7158486e555a2951482d574e5158295e733250786b7f60585e525852405870585d4b716a7158486e525a2951482d574e515829516d2c555e737c5a585e5258526e58725c484b716d5b2e7c4a61762a7e7e5b7029587748535b58415c7b50485c545a486d5b7155417361487a71584c5c58504829545a586a7e5b70585e5258526a5870585e525852295874766d5858582f5853215a5058406d5853215a5e725e4163565d287c4c51722a7f562a5b5a585e55485a7c58725c5b7a4b6a7158486e515a60585e5058435b76585f68507e582b5868585a505840765868585a5e7058585058407658686e5a5c5f4878487c6043696c532f50485f5b585a5c5a5d5840555058407e5873405a6c58535b6b2049546e6e4f5b2d36786c777e507e5b707e5a6c58507e58297e7b50485c545b486a7e5b70585e484b5b68507e582b5868485a505840765868485a5e7058585c546e5a5e70585e5058435b5d5e76705a5d405a6858507e5b707e5a68585078505840765868485a484871685c54505a5048727e5b725e6e584e7670584a585e4878585b7870585e5258522d58725c5b7d5b5d585870585350585c486f48507e584b58525e70585850587e483648535b207a7c322b58535b2a405a5c6a6e407e5b702958777e535b58415c7b50485c545b586a7e5b707e5a6c58535b7e505c5b7870585e52585054567e5858487b4d7b727a6e5f50485c54586e6a7e5b707e5a6c58535b76505c5b7870585e52585054567e5858487b4d7b727a6e5f50485c54587e6a7e5b707e5a685850785058435b5c5e7648707e5c78505840765868485a5e70585e5258522d5870505848485f294848536150585b5b584157685048535b2e5374742d77767158486e5b5a295151602f6c507c705c5b5d58585558586c6158485c5d7f605458487d5858786050585358587e585c5e5f2948586f5858582e584c6e7e585c5e5b294858765858582b58727e7e585c5150585e76705b4c5c5b7a725178515c5c5b50585076587e48487b4b584e5048407e585a585c577e505850585b5b562b76705b5a585c4848297e5b70585f50585848555a585c7870505e5058504849605c5150585b5b5c5e76705b4a585a5c58217e5b5a58515058407e585c5c7e7870505c50585b5b515e767e585c5c407870585f5c55585b50584c485d70585b5058487e585a7e5a515a5858525850405058507e58615b4e50485c7e585c5148585e7672585a585b5a21295b58485f36506e5b5b545e6a705b4a485850584c7e584d405a5258535850585076587e4b5b58415f5f5b5c587e585a585b5058507e5860585c50585876587e587658717e4b5b7e5871587e6e5b5a60585f484b7168507e587e5871584950585848737e5c71584a58585c582d5a485a585c5b5c587e5b4c5c407870585b5c5c6a5458486a7e5b4c5c407870585b5c5c765550584c7e5b4c5c4078715b58577e50485829587e5b4a585f484b71685c5e2d2b587e7e7e5b4c5c487870585f484871685c5f6a5c485a585f484a716850584f5b5c5e7670585a7e5a585a6e58585b5d2d587058585c537a5b5d585c5f50584c7658707e715870585f484b71685c5876785a6e6a5550584f5b545e7672585a585a5a36505a58485f36506e5b5b2d58536b507e5872585a58585058502b586d585a5058587e584d405a2b58507e585c5148584e76485c4a5c5e50585b5b5c5e76705870585d5c58217e5871582e487c5d48585c512f2958587e585c517e584e76484060585a5c582d7e585c5158584e76485c4a505d505854485c6158545058587e58295c585c586a70584d405a6f585c7e585a585a577e505450585b5b585d405a5a5857585872587e585c51405874767e585c51485874764857724c57585a585852585221584a585d5c58727e584e695e5b5c587e586158535048507e5860585d5c58755b584148485d5a585d505854485c6158545058587e5870585d484858485a60505b7873405a6f585c5550585b5b2b5853685c5a5f5b5c5a585b50585b5b6f585f6850585b5b5a5e695b585a585e50585b5b5c5e767e585c5c5478705858487c585b78715a555848295850585b5b2b5853685c5a4c785d585c555a60585d50585876586b6e5b50585f6b5c586e7e58615857504850485f705c5b5058587e5b4d405a585a585a50585c7e585b5d5b58725c5b4b6e4b5850584b5b5b5d405a58586a7e585c51405874767e585c51485874764852584b585058487e5b5a7e5a585c5c5a7a73405a58586a7e585a7e5a2b585071584a585d5c587678505840485a71767e585c517e58747672585a585b5a20505d58485f32506e5b5b7e58576b507e5872585a58585058502b586f585a5058587e584d405a3258507e585c5140584e767e58605858487f585b78705858487c6e5b78705858487c7e5b78715d4c584a5858487a7e5b7871584b507e5c7e584b584d5c586e7e585a585b484858485a60505a577e555c584a585850585b5b505e762b58716e7e585c5c58577e504050585b5b584d76585f605858487a4c58567e584e5829585a485a5858487f7e5a78705858487f585a7871582b4b48295850585876586a485b50585c485a4a585a7872405c485a585b5c5872715860585b50585c485a4c5c5b7d5b585450585c7e584b584d5c586e7e585a585d50585f5b585b5855507e5368577e555c58486a7e585c512d58747648504a5858484b7d6850585b5b5f74767e58705858487a485b787058585258556a584a585852585576584a5858487d7e5b78705858484a5b6850585b5b515e767e585c5c4078705858487f585b78715d4d5848295850585b5b325853685c5a4c785d585c555a6e535850585b5b2b585f685c58755f5d48587e585a29585f294c57585a58585258507a507e547e585c5c7e78746d5b776e5f525d48587e585a585d48484b68577e507a5058547e585a7e5a5e5d405a58586a7e585a585a50585876586a485b505848486e6e507e585a725d585a5c5e50584c7e585a725d5a5d7a5d5a5a585f5058402a586e587e585c5140584e767e585c5c7e787058585258507a50584848554a5858487f7e5a78705858487f585a787158765b5c587e5b5a585c5258505848485360577e50585a6058585258552d58705c5a50585c485a71767e585c5140584e76485a71767e585c5e58582b7672585a585a5a2e6a5d585a5458487f585a786050585358587e585a585a577e557e5870585850585c2b586c7e5a50585b5b60585f685058547e585c517e584e767e585c517a584e767e585c5140584e764828585c7e585c5e2d584e76485c4a505b50585c485c6158545058587e584c5c585c586a705873405a6d585c7e585a5858484b5b68577e505450585b5b585d405a5a5a585848485c2f58587a7e585c515f585d76585b7e57585872587e585c51765874767e585c517e5874764857724c57585a585852585229584a585b5c58727e5874695e5b5c587e584b58535048547e584a585b5c58755b584148485d5a585b50585c485c6158545058587e5860585b484858485a60505a7873405a6d585c5550585b5b2f5853685c5a5c7e585c5c5178705858484843685058507e585c5e29584e767e585a7e5a2a585c7e585a7e5a2b585c7e585c5150584e767e585c5c48787058584848616850585b5b5a5e767e585c517e584e7648296e5c57585a5858487c7e5a787158755e7e6e5b5a6e6a5a485a5858487a7e5b787158534b4829585058586d58587d5f5d48587e585a7e5a5d5a505d50585b5b5c5e696b4843215b4a7e29585058587e58295c5c7873405a5d5a585d50585876587e7e2b587e585550584c7e5870585852585229584a585c5c54485a5648545850585b5b60585f6850585b5b5c5e767e585a7e5a5d5a585c5c5a297e585c51765874767e585c517e5874764852584b585058487e5b5a7e5a585c5c5a7a73405a58586a7e585a7e5a2f5850715870585b5c58767850585b5b60585f685c58767850585b5b215853685358587e587e6c2e586e5873585c516e58746a70585a48585058587e5873405a2d58507e585a585b577e557658705858487a7e5b7870585d50585b5b2d585f6850585b5b2a585f6850585b5b2b585f685c57485b50585b5b6c585f685c5b5c70584a585b5c5b54485d5a585850585f5b585b5855507e502b586b485b5058587e585c5c487873405a5d5a58584848582b587e7e7e585c5c5b567e585150585b5b6148582f5858405d4858535850585b5b2f58536850585b5b2d5853685c5d435f5d48587e585a7e5a6d585c7e584b5853505853684b7e4b5850585c485a4a5c5d50585c7e584b585348485f295c586e7e584a585b5c5b54485d5a58585058547e584c5c585c586a705874762b586b485b5a605858487c7e5a7871587150585b5b5b2b767e585c5c5e7870585a50585b5b6d585f6850585876586d6e5b50585876586d7e5b50585b5b60585f6850585b5b5c5e767e585c5c54787058584848716850585b5b2d585f685c57545b5d48587e585c517658747648534b765458486a555872587e585c5150584e76485a4c4c57585a5858554858514b48295850585876587e6e7058605858484b5b6878295e7f584c7657585a58585058575b5b5e762b587e6e7e5860585852585050577e50585a60585f5058507e585a7e5a6d585c7e5b5b5d5f58737e5a585a5858487a7e5b78705858484b5b6850585876587e6e7e5b5b586d50585b5b2f58536850585b5b2d5853685c5a7e5c485a585c50584876587e5b5b5877502b587e585550585876586c7e5a5048507e584b58525e705858487a7e5b787158525e705858487f585a78704858505850557748545b58772173585c517e58746a70585a48585058587e5873405a2958507e585a585b577e55405870585d5c5f6e715b70585d50585b5b2d585f685c53725b50487a7e585c5148584e767e58605858487a6e5a78715a40584a5858487a585b7871584b507e5c7e584b584d5c586e7e585a585b484858485a60505a577e5221584a585850585b5b5c5e762b587e6e7e585c5c58577e50505829585a485a5858487d7e5a78705858487d585a7871582b4b48295850585876586b6e5b50585c485a4a585a7872405c485a585b5c5872715860585b50585c485a4c5c5b7d5b585450585c7e584b584d5c586e7e585a585d50585f5b585b5855507e5368577e522158486a7e585c514058747648504a585e5058507e585c5e21584e767e585c5c50787058585258555458705858487d585b78705858484b5b6850585b5b5d5e767e5b615a555848295850585b5b2b5853685c5a4c785d585c555a6e535850585b5b29585f685c58755f5d48587e585a7e5a5d5a505d50585b5b5c5e696b4843215b4a7e29585058587e58295c5c7873405a5d5a585d50585876587e7e2b587e585550584c7e5870585852585221584a585c50584048617e502a586e587e585c5148584e767e585c5c48787058585258505450584848554a5858487d7e5a78705858487d585a787158765b5c587e5b5a585c5258505848485360577e50585a6058585258554058705c5a50585c485a71767e585c5148584e76485a71767e585c517e58747672585a585a5a2c295d58485336506e5b5b2d58536b507e5872585a58585058502b586d585a5058587e584d405a2b58507e58615b7a5048407e58605858487c585b78715a43584a5c5150585b5b29585f685058547e585c51545874764874585c7e585c5158584e76485c4a505b50585c485c6158545058587e584c5c585c586a705873405a6f585c7e585a5858484b5b68577e505450585b5b585d405a5a5857585872587e585c51405874767e585c51485874764857724c57585a585852585221584a585b5c58727e5874695e5b5c587e584b58535048547e584a585b5c58755b584148485d5a585b50585c485c6158545058587e5860585b484858485a60505a7873405a6f585c5550585b5b2b5853685c5a5c7e5b70585a50585b5b6f585f6850585b5b5a5e767e585a7e5a6358507e585c5148584e767e585c5c48787058584848616850587a48706e5c57585a5858487d7e5a787158755e7e6e5b5a6e6a5a485a5858487d585b787158534b48295850585876587e6e7058605858484b5b6878295e7f584c7657585a58585058575b5b5e762b587e6e7e5860585852585050577e50585a60585f5058507e585a7e5a6f585c7e5b5a585e5c54725a566e5c5850585b5b29585f6850585b5b5c5e767e585a7e5a5d5a585c5c5a297e585c51405874767e585c51485874764852584b585058487e5b5a7e5a585c5c5a7a73405a58586a7e585a7e5a2b5850715870585b5c58767850585b5b29585f685c58767850585b5b2d5853685358587e587e6c7d586e5c5a7f605458487c585a786050585358587e585a585a577e55485870585850585c2b586d7e5a50585448415a5c5e5058547e585c517e584e764874485c715b605858487d585b7870585d50585b5b635853685c537e5b50585b5b6e585f685c5b5c70584a585b5c5b54485d5a585850585f5b585b5855507e502b586b6e5b5058587e585c5c487873405a5d5a58584848582b587e7e5d4858535850585b5b2b58536850585b5b295853685c5d435f5d48587e585a7e5a6f585c7e584b5853505853684b7e4b5850585c485a4a5c5d50585c7e584b585348485f295c586e7e584a585b5c5b54485d5a58585058547e584c5c585c586a705874762b586b6e5b5a605858487d7e5a787158715058407e58705858487b6e5b787058584848716850585876586a6e5a50585b5b29585f6850585b5b5c5e767e585c5c54787058515c506a5b5d48587e585c514058747648534b765458486a555872587e585c5148584e76485a4c4c57585a585852585054507e547e585c5c4878746d5b776e5f525d48587e585a585d48484b68577e50545058547e585a7e5a5a5d405a58586a7e5b4a585a50585876586b6e5b5058487e5b715d5258737a5d585a5858487d585b78705858484b5b6850585876587e6e7e5b5b586d50585b5b2b58536850585b5b295853685c5a7e5c485a585c50584876587e5b5b5877502b587e585550585876586d7e5a5048507e584b58525e705858487d585b787158525e705858487c585a78704858505850557748545b58772173585c517e58746a70585a48585058587e5873405a2958507e585a585b577e55405870585d5c5f6e715b70585d50585b5b2d585f685c53725b50487a7e585c5148584e767e58605858487a6e5a78715a40584a5858487a585b7871584b507e5c7e584b584d5c586e7e585a585b484858485a60505a577e5221584a585850585b5b5c5e762b587e6e7e585c5c58577e50505829585a485a5858487d7e5a78705858487d585a7871582b4b48295850585876586b6e5b50585c485a4a585a7872405c485a585b5c5872715860585b50585c485a4c5c5b7d5b585450585c7e584b584d5c586e7e585a585d50585f5b585b5855507e5368577e522158486a7e585c514058747648504a585e5058507e585c5e21584e767e585c5c50787058585258555458705858487d585b78705858484b5b6850585b5b5d5e767e5b615a555848295850585b5b2b5853685c5a4c785d585c555a6e535850585b5b29585f685c58755f5d48587e585a7e5a5d5a505d50585b5b5c5e696b4843215b4a7e29585058587e58295c5c7873405a5d5a585d50585876587e7e2b587e585550584c7e5870585852585221584a585c50584048606e502b587e587e585c5148584e767e585c5c48787058585258505450584848554a5858487d7e5a78705858487d585a787158765b5c587e5b5a585c5258505848485360577e50585a6058585258554058705c5a50585c485a71767e585c5148584e76485a71767e585c517e58747672585a585a5a326e5b58485f36506e5b5b505e6a705b7048585058407e584d405a5e58535850585476587e4b5b58415f5f5b5c587e5b725f36577e50585058407e585a585b5058507e5860585c5058407e585a7e5a585a7e5a5c5b5c5f585a505b577e50405872585a4858535850584076587e5856587e585b587e6a7e5b4c5c58567e58585d58545550584f5b584d765858586e5a5a60585f48485c2f5858587e5b5c5c5c577e50585d585c555058407e586158495058404856605c5b505840485d70585e505854485d60585e5c506e5b5048587e5b7158565058407e585b5b555058435b5d51507e585b5b5250584c7e5b725c407870505d5058507e5b70585d50585c7e5b5c5c5b5c55505b5058435e567e58585058407658717e71584857585058575b5d5e6a485a70505d505843515d4858555a60585e484a5b685358587e58486f60587e5c5b7f6054584843585a786050585358587e585a585a577e52585870585850585c2b58767e5a50585b5b29585f685c5b5c715b705858484b5b68507e507e58615849505850485472517e29585b5b326d585850585b5b2d585f685c5e217e5871585650585b5b6e585f685c5b5c705860585d5c5b54485d5a58585058575b585b5855507e5c2b586b6e5b5058587e5873405a5d5a58584848582b587e7e5d4858535850585b5b7058536850585b5b7e5853685c5d5f5f5d48587e585a7e5a6f585c7e5861585350585f684b7e4b58505854485a4a5c5a5058547e5861585348485f295c586e7e5860585d5c5b54485d5a58585058507e58295c585c586a70584e762b586b6e5b5a60585848407e5a7871587f484b587e584a5858487b6e5b78705858484871684848587e5b705858484b5b6850585b5b5d5e767e585c517e584e764873485c57585a585848407e5a787158705e7e6e5b5a6e6a7e5860585852585221584a585b78615854505854485d4a5c5a5c5b4071584a585850584c2b587e587e5870585b505858486e48535b584c7a5c485a585c4848482b587e585550585b5b7058536850585b5b7e5853685c5a405c485a585c50584876587e5b5b5877502b587e58555058587658767e5a50485c7e586158525e70585e5c58767850585b5b725853685358587e58486f4a586e5c5b7f7054584878585a786050585358587e585a585a577e52485870585850585c2b58697e5a50585b5b2d585f685058547e585c516e584e767e585c516f584e767e585c516c584e7648286e5c7e585c5148584e76485c4a505b50585c485c6158545058587e584c5c585c586a705873405a63585c7e585a5858484a5b68577e507a50585b5b585d405a5e5a585848485c2f585b7a7e585c515f585d76585f7e57585872587e585c5e405874767e585c5e4858747648544c4c57585a585852585554584a585b5c58727e5874695e5b5c587e584b58535048547e584a585b5c58755b584148485d5a585b50585c485c6158545058587e5860585b484858485a60505a7873405a63585c5550585b5b745853685c5b217e585c5c4178705858484b43685058507e585c5154584e767e585a6e582e6e5c7e585a6e582e7e5c7e585c517e584e767e585c5c7e78705858484b616850585b5b5e5e767e585c516e584e7648287e5c57585a585848437e5a787158705e7e6e5b5a6e6a5a485a5858487c585b787158534b4829585058586d585b7d5f5d48587e585a7e5a515a505d50585b5b505e696b4843215b4a7e29585058587e58295c5c7873405a515a585d5058587658717e2b587e58555058587e5870585852585554584a585c5c54545a50585869586e58715b70585f50585869586e7e2a586e7e7e5b4a585e576e545850585b5b2d585f6850585b5b505e767e585a7e5a515a585c5c5a297e585c5e405874767e585c5e4858747648537e4b585058487e5b5a7e5a585c5c5a7a73405a58586a7e585a7e5a745850715870585b5c58767850585b5b2d585f685c58767850585b5b765853685358587e587e6c2e586e5873585c5e4858746a70585a48585058587e5873405a7e58507e585a585b577e525058705858487d585b7870585d50585b5b2d585f6850585b5b2a6e5f6850585b5b2a7e5f685c577a5b50585b5b6e585f685c5b5c70584a585b5c5b54485d5a585850585f5b585b5855507e502b586b6e5b5058587e585c5c487873405a5d5a58584848582b587e7e7e585c5c5b567e585150585b5b6148582f5858405d4858535850585b5b7058536850585b5b7e5853685c5d5f5f5d48587e585a7e5a6f585c7e584b5853505853684b7e4b5850585c485a4a5c5d50585c7e584b585348485f295c586e7e584a585b5c5b54485d5a58585058547e584c5c585c586a705874762b586b6e5b5a60585848407e5a7871587f50585b5b5b2b767e585c5c5e7870585a50585b5b6f585f685058586a5857215b5058586a58572d5b50585b5b29585f6850585b5b5c5e767e585c5c54787058584848716850585b5b2d585f685c57405b5d48587e585c5e50587476485071765458486a555872587e585c5148584e76485a4c4c57585a5858554858514b48295850585876587e6e7058605858484b5b6878295e7f584c7657585a58585058575b5b5e762b587e6e7e5860585852585050577e50585a60585f5058507e585a7e5a6f585c7e5b5b5d5c5873725d585a5858487d585b78705858484b5b6850585876587e6e7e5b5b586d50585b5b7058536850585b5b7e5853685c5a405c485a585c50584876587e5b5b5877502b587e58555058587658767e5a5048507e584b58525e705858487d585b787158525e7058584843585a78704858505850556c6e5458506e5b5b7258536b507e5872585a58585058502b5876585a5058587e584d405a7058507e585c5148584e767e58605858487c585b78705858487d215b78705858487d2d5b78715d41584a5858487a585b7871584b507e5c7e584b584d5c586e7e585a585b484858485a60505a577e5221584a585850585b5b5c5e762b587e6e7e585c5c58577e505050585b5b584d76585b605858487a4c58567e585e5829585a485a585848407e5a787058584840585a787158614b48295850585876586b6e5b50585c485a4a585a7872405c485a585b5c5872715860585b50585c485a4c5c5b7d5b585450585c7e584b584d5c586e7e585a585d50585f5b585b5855507e5368577e522158486a7e585c5e50587476485160585848487d6850585b5b5b74767e58705858487b6e5b7870585855585d7f584a585855585d7c584a5858487d585b78705858484b5b6850585b5b5d5e767e585c5c5078705858487c585b78715d4e5848295850585b5b705853685c5a50785d585c555a6e535850585b5b29585f685c58755f5d48587e585a29585b294c57585a585852585054507e547e585c5c4878746d5b776e5f525d48587e585a585d48484b68577e50545058547e585a7e5a5a5d405a58586a7e5b4a585a50585876586b6e5b505848486148502d587e587e585c5148584e767e585c5c48787058585258505450584848554a585848407e5a787058584840585a787158745b5c587e5b5a585c5258505848485360577e50585a6058585258525058705c5a50585c485a71767e585c5148584e76485a71767e585c5e4858747672585a585a5a2c505d58485f36506e5b5b7258536b507e5872585a58585058502b5876585a5058587e584d405a7058507e58615b7a5048407e585c5148584e767e58605858487f215b78715a78584a5858487a585b7871584b507e5c7e584b584d5c586e7e585a585b484858485a60505a577e5221584a585850585b5b5c5e762b587e6e7e585c5c58577e50505829585a485a585848407e5a787058584840585a787158614b48295850585876586b6e5b50585c485a4a585a7872405c485a585b5c5872715860585b50585c485a4c5c5b7d5b585450585c7e584b584d5c586e7e585a585d50585f5b585b5855507e5368577e522158486a7e585c5e50587476485160585e5058507e585c5e21584e767e585c5c507870585855585d36584a5858487d585b78705858484b5b6850585b5b5d5e695b2d5758585c50295b5d48587e585c5e50587476485071765458486a555872587e585c5148584e76485a4c4c57585a585852585054507e547e585c5c4878746d5b776e5f525d48587e585a585d48484b68577e50545058547e585a7e5a5a5d405a58586a7e5b4a585a50585876586b6e5b5058487e5b715d5e58737a5d585a5858487d585b78705858484b5b6850585876587e6e7e5b5b586d50585b5b7058536850585b5b7e5853685c5a405c485a585c50584876587e5b5b5877502b587e58555058587658767e5a5048507e584b58525e705858487d585b787158525e7058584843585a78704858505850555348587e585a7e5a5b5b767e585a58585258505c487b4f367a4d405a5b5a585850585876587e4b5b5a51502b587e487e58586c4a586e5c5b7f6054584843585a786050585358587e585a585a577e52585870585850585c2b58767e5a50585448415a5c5e50585b5b29585f685058547e585c5136584e7648747e5c7e585c5158584e76485c4a505b50585c485c6158545058587e584c5c585c586a705873405a6f585c7e585a5858484b5b68577e505450585b5b585d405a5a5857585872587e585c5e505874767e585c5e5858747648544c4c57585a585852585221584a585b5c58727e5874695e5b5c587e584b58535048547e584a585b5c58755b584148485d5a585b50585c485c6158545058587e5860585b484858485a60505a7873405a6f585c5550585b5b705853685c5b217e5b70585a50585b5b6f585f6850585b5b5a5e767e585a6e58366e5c7e585c5148584e767e585c5c487870585848486168487c5d48585b5a575848295850585b5b705853685c5a50785d585c555a6e535850585b5b29585f685c58755f5d48587e585a7e5a5d5a505d50585b5b5c5e696b4843215b4a7e29585058587e58295c5c7873405a5d5a585d50585876587e7e2b587e585550584c7e5870585852585221584a585c505840486048502e5848587e585c5148584e767e585c5c48787058585258505450584848554a585848407e5a787058584840585a787158745b5c587e5b5a585c5258505848485360577e50585a6058585258525058705c5a50585c485a71767e585c5148584e76485a71767e585c5e4858747672585a585a5a2c505d58485f36506e5b5b7258536b507e5872585a58585058502b5876585a5058587e584d405a7058507e58615b7a5048407e585c5148584e767e58605858487f215b78715a78584a5858487a585b7871584b507e5c7e584b584d5c586e7e585a585b484858485a60505a577e5221584a585850585b5b5c5e762b587e6e7e585c5c58577e50505829585a485a585848407e5a787058584840585a787158614b48295850585876586b6e5b50585c485a4a585a7872405c485a585b5c5872715860585b50585c485a4c5c5b7d5b585450585c7e584b584d5c586e7e585a585d50585f5b585b5855507e5368577e522158486a7e585c5e50587476485160585e5058507e585c5e21584e767e585c5c507870585855585d36584a5858487d585b78705858484b5b6850585b5b5d5e695b2d5758585c50295b5d48587e585c5e50587476485071765458486a555872587e585c5148584e76485a4c4c57585a585852585054507e547e585c5c4878746d5b776e5f525d48587e585a585d48484b68577e50545058547e585a7e5a5a5d405a58586a7e5b4a585a50585876586b6e5b5058487e5b715d5258737a5d585a5858487d585b78705858484b5b6850585876587e6e7e5b5b586d50585b5b7058536850585b5b7e5853685c5a405c485a585c50584876587e5b5b5877502b587e58555058587658767e5a5048507e584b58525e705858487d585b787158525e7058584843585a7870485850585055727e545b58412173585c5e4858746a70585a48585058587e5873405a7e58507e585a585b577e52505870585d5c5f6e715b705858487d585b7870585d50585b5b366e5f685c53765b50585b5b6e585f685c5b5c70584a585b5c5b54485d5a585850585f5b585b5855507e502b586b6e5b5058587e585c5c487873405a5d5a58584848582b587e7e5d4858535850585b5b7058536850585b5b7e5853685c5d5f5f5d48587e585a7e5a6f585c7e584b5853505853684b7e4b5850585c485a4a5c5d50585c7e584b585348485f295c586e7e584a585b5c5b54485d5a58585058547e584c5c585c586a705874762b586b6e5b5a60585848407e5a7871587f5058407e58705858487b6e5b78705858484871685058586a5849215b50585b5b29585f6850585b5b5c5e767e585c5c547872517e2958584873485c57585a585848407e5a787158705e7e6e5b5a6e6a5a485a5858487d585b787158534b48295850585876587e6e7058605858484b5b6878295e7f584c7657585a58585058575b5b5e762b587e6e7e5860585852585050577e50585a60585f5058507e585a7e5a6f585c7e5b5a585e5c546a5a577e505850585b5b29585f6850585b5b5c5e767e585a7e5a5d5a585c5c5a297e585c5e505874767e585c5e5858747648537e4b585058487e5b5a7e5a585c5c5a7a73405a58586a7e585a7e5a705850715870585b5c58767850585b5b29585f685c58767850585b5b725853685358587e587e6f4f5b485c507f605458487d585b7860505e5358587e5861584350487a7e5b70585a577e5221584a585e50587a2b586b7e5b487b7c69746c4321487c772a216f532c50584f5b5c5c407b487c772a216f532c5058575b505c407b50486a7e5b725c7e78705c5458295b5b606f7f74206e5071587e57585872585a485853585872585a485853585872585a485a585a487b6f4d687b5b204d584b585058535b7e6a5676737761545b5c587e5872517732507c2c7c5c40575870585a487d4a2a326a5b2d4b7e295f5058535b2f7f7f60217775515d48695b7e21567673776e7158725c5850487a545a7e6a7e58725e5d6e2f70567f5c40575b60585a48402f5f6a6c4b214b7e295f5058535b6d2f74782c7761515d48727e5b70585e48787e5b7870505a577e5558584a585e52585558584b767e5870585e5258522d584b5b4c5e725e56717b55727f5a5c5a484858715a586e535a60585a4840745a6d562d5a4a7e295b5058535b6f5756696a51285e5d48507e5872514a2d2e604a587240575b4a585a487c4e363253215a4b6e29505058435b68585f685c58767850584076586a585b5e7e6d5b707652292e7e5071587e6e515a60585a487a6b2a2c6f7a5a4b6e4b585058535b696a7f4f697e4b5e5d48407e58725e527e6b4d6c58727a575b60585e5258522d584b58485058435b29585f68535858495a60585e5058762b586a485b487d4a2a326a5b2d487b634d687b5b2050584076586a485b505857505e605c5a5d584055487a4a5b584a585f577e50585058587e584a585c50584076586b7e5b505854482c7e5c7e5a605c5a5d584c5550584076586b7e5b50584076586a485b7870585e52585221584a585e5258555c584e766d5858582f5858587e5b707e5a61585f5b584e76715a7e6e5f5a60585e50587e2b586a7e5b487d55736f53505a487c4e363253215a50584076586a7e5b50584f505e605c5a5d5854555058435b5e5e76705d4b5d5458705c5a50586e486e7e50715a5a585e48487168507e727e5b725e76584e767e5b707e5a60585f5b584148486e58507e5a5a58535c55295a505872485a71767e5d4a58535c49295a50584076586a7e5b48785a5b584e767e5b707e5a5a5d7658585a585a5c50765b5e70585e52585550584c5c5b78705c5048402f5f6a6c4b2150485054587e6a7e5b705851577e5554584c5e7461204e745b5c517732507c2c7c5a585e52585554584a585f4a5b6a71587e6e5b5a60585e52585554584c5e7e7e485f6850584076586b7e5b50584076586a6e5b78702958585d7658585a585e52585554584c5c5b78705c514840495d68502c215048505458586a585a6e58552e585c5b58412173585c5c7e7860505e5358587e5b70585b577e50405872587e58607e5a5b5c5c5b7a4c4c5c485a585e4841212b587e587e5b70585850585c7e5870585d5058487e5b70585852585058525850485c484c58507e5c2b58717e5a485853585872587e5b707e5a58582d5a58585c5a5a60585f4848582f58585854586e6a7e5b4c5c5b567e58585d58505550584f5b584d7658585a585c4848482b587e585458486a7e5b70585d5c58217e5b71586050485c7e5b7158565058407e5861584950584048737e5c71585a585e5c582d7e5b7058585c5c6a7e5b725c547a7058585c5c767e5b4a585e484b7168507e547e5870585e5058547e584a585c48485c486d585c7e5b72402f5858587e5b707e5a5e5a5c5b5829587e58295c5478615852507e547e5b727a5758586a555058435b505e7672585a585b5a29585b5841205b585a5c58582a217e584a585a4b7e4b365058585f50585c76587e587e585c5c5c7d5e7670585c5e587e505a587f2a5c7058295c407d70585d7a7058587a605c5850585f5b5b5e767158486e5b5a6e6a555e6e5873585c5c487860505b5358587e585a585a50585448637e507e584c5c48787048585a28485b5877215a485857585058547e5b5c7a5c485c5f365048587e584a585a4b7e295a50585c76587e58705b4a585d52585058507e43505d48507e5b4a585e4a7e4b5848485c495b4a585d48484b685048547e584c5c5c78705c5b5d58505558586a5550585c7e58727a7158586a7e58586d5858485f36484858715858573650585c7e5872405c7f6058585b4a585b5558585850585b5b5b514b68507e5b5b7e505a587e512061507e575b5e51407e582a507e58515471585a585b48485f6850485c5458486a555a367a5b5848573650585b5f5b5c5b5b6e505c5b5258505850485873585c5c7e7860505c53585b5b7e505c5b505858486f7e50705b484b365058487e58607258585d7a5d5c5a585c5058546958587e2a58617e7e587e4b585829587e5b4a585c484b5b6850584848696e5c7e58725c485058535b5c5c727b5048575b585a5c585829587e585a585b7870505e5058406d5858587e585a585c787029585851542f5858587e585c5c5b78705058505857515d4858555058507e582b6a715870585b5058576850485f5b5d605c585829585a485a5858507e547e5b5c5c4878747670585a58585548585848485f68507e582f5858587e585c513658415c57585a585d48485f6b5048587e586e295b5a6e6a7e587e29585a6e6a7e5b4b58484848585f484121555e70585c484a5b68535858495a295e7e7e485f5b61505c5b525850585058547e584a585a5c56405b5a616a58506e5b5b5c5e6a70584a48585058587e5870585d5c49545a50585f5b5c5e767258586d7c5848573650585c7e5b5a585d782b76715b4853585829587e5860585c4b6e4b5848412171585a585b5058535e5d48507e584a6e58585a505e5058546a585858705b297e575870585e50587d525b5c5b5b5848215f5058575b584e76715860585b48485f6850485c54587e6a585a6e6a7e5870585f4b605c585a6058585a2f725b58484b36505858765875487058607e5a5b5a505f505858765871487e585a7e5a515a505e7860505c5058487e5b4c6a7b507e485c485a585d525850585058407e5b5b5b5a5e70585d50585476587e587e5b5e762b587e587e5860585d5258505c50584b6b507e4c2b587e485550585476587e58715b5a585f5058507e5870585f4a616a705b484b585058487e584a585f5c5c50785058547e58607e5a585a585f7870505c577e50585058547e58607e5a5b5a585f7863405a5b586a7e5b5c5c58567e58585058587e585a7e5a555a505b577e507a5058587e584d405a5f5a585a5a60725850585c7e584a7e5a585c5c5178725f2d7a4a505b484b5b68577e50585058587e584a725d585a585b524854505c57295b564854585a2e48405861533658416e5a7f705458487b585c786050555358587e5a295c58577e506a5872587e587b29705e4c50584c6e4b5848485c715c5c512c5e705c4d50585e78507e5e20504b725458486a7e5b5c5e585c515c5c485c5c5b504b5b5b365b76715c6e6e5b5a2951365e72512f5e70585c48485f615071587b504b547e5c5c4c715f586a5a485a584348765a587e505a587e505d2d366e5a5d48765a587e505a587e505d2d366e5b4b5b5c587e585c5c7e5058507e5c5c5c5d7870505d50584b5b3636202e7a4b586c5058587e5c6058485c5a767e585c5151515c5e585170585f484a5b61507e4c7b487c767a4843407c50584c7b50585c7e584e507b4848544852705858484a587e5870585d50584b5b7e5458587a61586c5058507e5860585a505857525e605c535d585c5550586d5b5c5e76715c4853585877215a485a585b50586d5b555e76482a485070584a585b765a505b4b5858585858585858585858407e4b5850586a7e5a607e5a555a505e48485f6b577e506a50584f5b505150705d725171585c7a5758486e5d5a60585f484a5b60507e2c5b2d485b5e5d48507e5a607e5a555a5c524848407e5860585d48485b505e6e6e5b5a6058555058435b514e6a705a73405a555a585b4b5858585858585858555b5b76705c5b4848407e5860585d48485b505e6e6a715d5a5855484d5b6850586d5b295853685058695b585c7e7b507e29715b6e575850587a5a7f60585b4b5858585858585858495b5b4060585b4b585858585858585858585843775c5c485a585b686e6e5b5a295c585a60505d577e505850587d5b5b5e76715b60585b5058562d764c485858585858437a2a5748785070584c48585858585858585858585e505758586a5a485a585248485b545b5c587e5a705c5d50587a715b70585750487e5458486a7e5d4a5c5050587671586e57585058575b514a585d484b28505e605c5d5872587e5b295c5c7860505e505871535d48587e582f29715e725058504b725d485a585e505b755a36363636366e325d50584028587e587e5e7643215071727e5e4c525875566f7a582d58705e4c525875566f7a582a2c20497e50585058435b5b5e6a705b7058504d6e29585a6058436960505e4b4829585058715b5b5e6a705a5a585e577e50585a6e575850587e7e5b60505e4a484b585058435b5b5e6a705b607e5a585c4c5758486a5550586a7e5a607e5a555a585d7860505d577e506a505840715b60585d48485b525d4858555a605854484b75684848756c50487a7e58295c584a584b5850587d5b584e76715c705856487c40584b705c4f58295b5b585a585d7860505d4848727e58295c534a5b6a715a4853585058407e5a5c6a5c485c5e5875566f7a586058537d705c4e4841217e5a414b5b7f2a54715d295c585048547e5a5a5c515829587e5b60585d50587a76587e58705f6058537d74762b587e587e5d6058417a4a584e7b5a5c5d50587d5b5b5e76705b60585e4a4829585a6058505258505850487a7e58294c57584a585e5058542b587e587e5b725c5c78705c5e5d585c5550587e76587e58715b6e6a7e5a6058555258506a50587568507e542b58706e7e5d4a585050587d5f4848532978705050505b4c7b507e7a7e5c725c5a7d5e767e5b70585e50587d6b48485328505b53525e605c5e5058575b585c7e5758586a5548485871586e53585058407e5a5c2957585a58575058716b484853284848756a5048575b5a705c5150587e76587e58705a4c5c524a4829585829587e58295c5b78705c5d5058727e5b295c527b5a50514d6e29585a6e6a7e5d5c5c585058547e5d725174585c407b78605856487c7a584b70585448485b517a4e6a705b60585e5058286b484853284848756a4848756b4a584b5848484b5b6958507e5a725c584a5b6a7e5a2b767e5b295e5860585b68507e755b5a4e29705d295c5a7d5e695b295b206b5048695b5a705c515058727e5d295c537b5e6a705a4c5c514d584b585829587e5b295c527b5a5c515058755b584e76705a4c5c504b6e29585a6e6a5a485a5852525850585071507e5c7058517b70504f50587d6a786050534b4a585248484b68507e217e5b7243615d48585a485a584f48485f614b484b584b58585858585858585c5b5d50485c7e5b295e5875566f7a58297a7e5a5a58524d2a5057584a585248484b6b5548585848485f614b48295b5a29485b5858585858585b5848605c5b5a2948585858585858585d7e492948585858585858585d6e492948585858585858585d2d4960585e5058205e5e2948585858585858585d2d4960585350587d5b584140705d29407b5058727e5d29727b504b7e5a485a584c5d48587e5c602958585c5c6d4b6e2958505b7078504b7e7e5843767158486a7e5a70584a5058756b507e722b587e587e584a5840765a585b404829585058767e5b6058537870505d577e50585058575b7e534d6b2a5857495b5c585d485a58524848582b587e587e5a5a585248484b6b507e69555b5c587e5a5c5c5c786050504848582b587e58555058767e5a707e5a585c5c5b7870505d577e50585058575b362c496b2a5857555d4858555a6058575058716b484853284848756a5048575b5a705c5150587e76587e58705a4c5c524a4829585829587e58295c5b78705c5d5058727e5b295c527b5a50514d6e29585a6e6a7e5a725c5c787050515058407e5b7058514a616a715b7e6a5d485a585e507e7a7e5a5c29705a4c4c5c485a585148484b6b507e4076587e5b5f5d485c555a6e535850582c5b2c6e5b515b5c587e5b5c5c507a4a5c525d585c555058575b7f2a575b7f60585448485c7e5d5b6a705b70585d4a70585d48416d527a4a50525e60585e78705c544841205b7f7058525e60585f78705c5f50584b5b5a515c705a7e295848417a715b7e535850587257585a585148484b6b52585058507e2c5f5d485b5b5a705c53484858715b7058564848696e5d48585d485a585e507e695b584e76715b7058565058755b5a746e705a415b5f5d4858555058695b7f2a54715b7e6a7e5b60585778295c5a7d4c5c537b5a5c5350584f5b412a5f5b617e5b5e5b5c5b5b585a5c5250586e7e5b70585378725c537860505e4848587e5b725c584a716a705b70585e505861525e605c545d585c55484858715a7058545058547e5a4e767e5b74695b5a4e6a705b725c585058435b585c767b507e407e5b7058544a716a715d586d5b7f605c535058615b367f3636366e7d5b366f3636366e7a7e5a7058547a70505e5e297657584a58545058435b585c7a705c74695b584e76715d7e535850584f5b412a5c705f5c515e585c405c485a585d487f36363636215150582c6b4a7e295d5058575b585a585d48485b525e605c5e5d585c55505b5c7e5860585d484b2028507e4368505843636b4a584b5c50215b507e436b48485f545b5c585d485a585e48485f6b507e435b545d7658585a584b5058436b484853505d4858555a60585e4848536b507e217e5b4d7658585a585e48485f6b484a285b5260585d48485b505e637658585a584b5058206b507e435b36363636366e7a7e5d746d525d4850555058407e5d74767058605848487f3636363621517a297657584a5858484a587e5870585d505b5b68507e4c7e5b5b586c5058587e5c6058485c5a767e585c5c6e5058507e5b4a585c48405a585b515448557e53585872585a485a584c487a40584b7e4b5850586d5b5c5e76705b725c507a705c5d5058435b5a4150715a70585750587e7e5a5a58574a616a705a4a5c505829587e5a5d4c5a585a58525c50215b5048405a485a5850505875515b5c587e5b705855484b5b684d48295b5829587e5b725c5b7860505e484d582f5858587e5b705855484b5b684a6e29585a6e6e5b5a60585e505869515d48587e5a295c6e567e5840505854715b7e6a7e585a585e5058767e5b746a485270585048484b68507e7e7e5d4c295758586d5b585a5c5e505b535f5d48507e585c513251725c5b5c5a767e5d5c5c584d5a5851505871577a7e295b5829587e5a5d4c5a585a58525c50215b507e407e5a295c4878726a5c485857585058435b584e6a705b725c6e567e58585058407e5a295c4878726a5758586a555058587e5b7058544848727e5d5c5c534a5b6a48527058544848756b5048407e5a5c5c5c7870505050587d495d48547e5d5c5c534a705c5d505840715d5a585d5d4858555d5850555872587e5d5c5c584a58295850587a7e5a5c5c5c78705851505871555e605c5350586d5b5c5e767058295c537a705c575058575b5a5150715860585050487a5d485a585750587a28587e587e5d4b5a49584a505e4b7e4b5850586d5b545d76585e5a585d504840555872587e5b6058504b6e4b585058407e5a295c4878722957584857585058435b584e6a705b725c6e567e58585058407e5a295c4878726a5758586a5458486a7e585a585e48485c485270585e48485f685048435b585a585448485b545058767b5d48587e585c513251725c5b5c5a76555058587e5b7058575058436b507e407e5d5a585e505861505e61586850586e7e5b746a715d5a585148484b68507e7a7e5a4c2157584a585448485b565d4858555a605858484d587e5d5c5c4a78725c4a48485848557058585058217e5c4a5849786158685d58505550586e715b7e6a7e585c5c6e5058435b5a4e695b5a4c5c585c5a2d5550585b5b505a585a50584c7e5b5c5e586e585b635c5a2d7e5870585f5058507e5b4c767b5048725458486a7e5c60585f484b6929484b20284848756178705c545872587e58295c554a6e295848486e7e582b6a715b724858585858585858586e485a5c405829587e5e5c4858585858585858586e485250715e5a585e48485f6b507e405758586a7e5d5a2958585c5c6d4b7e4b58505b7e7e5843767e5e525e7e74705c5b5d585c5550585c7e5e52587e5e525c7158486a7e5c4a58555258506a507e407e5b725c7f7d4a505e7870585e7a2f297e5c4b5a49584a505e4b7e4b5850586d5b545d76585d6058554848206850484055505b5b5b587750715a70585f484a5b6150487e7e5a607e5a555a5c515058435b58746a705d4a585f48482068567e58585058435b584e6d5b554c5c6b50587d5b585c7e7b567e585850584b5b5a515c715b705855484b5b6850487a5d485a5851507e4c5a7f60585b744c48585858585858585d7e484e545c485a585b687e6e5b5a295e587e505a587c586a705b295e7e5474766d5858587e5a51502f58585b5b584a585d48485b5250585c7e5b2e7c714b58585858585858585d5b587670505b4b58585858585858585858584077507e5b716d5f50584f5b584e76705b605855484b5b6878295c5b4b2a535f5b5c587e5b4c5c6c567e585b50584f5b587476715b6e6a7e584c48585858585858585858585e505758586d5b7f605c53487f2a36363621515058767e5c4a58577860505f7870505e7860585d4a58295850585b5b505a585a5058405a7f6e53585058575f5d48587e5b605855484b5b68786050504848536b505857565d48587e58295c5a787e6e5b5a60585150586d5b5c5e696b507e7e55507e7d68507e547e5b5b586c5058587e5d5a58525c5a767e585c5c6e5058507e5860585c48405a585b5154485570585850586d5b5c5e767e5a5b586850585b5b545a58515058716b48485b5b585b586c5058587e5d4a585f5c5a767e585c5c7e5058507e5860585c48405d58585154485570585a5058547e5870585d4a716a715a486a7e5a295e6e5b5e7672585a58535a28485b5877217e584a58585258534c507e5c7e584c5c585058535b7e585368507e54482a585c705b5a585b7860585d5058487b507e547e5870585a505857555e60505a5c5c50785058587e584a585d7870505d577e534c5058587e5863405a5a5a585850585c7e5874762b587e487e587e6a53585a58585c565c5b5c5b58555c6e587e585a5858525850584848616b5258505878715d7058486a4d585a585850585876587e5b5b5d5e6a76587e5b685c50765b5a6e765850585b5b5a5e6a482d7e5c555a7e587e585c5c5078615a5258486a78585a585850585c7e5870725d5a5c5c585058547e584a7e5a585a7e5a5c5b5c4e58586a53585a58585c57585b5c5b58557558505a5841215d7f70585b5258504050585c76587061555b5c587e584a585b52585040577e506a5a29533650487e5a485a585c484b7161507e4f5f50584f5b5e5c407e58295c5b4b775f605d48587e584a7e5a555a505f5b5c587e5b4a585b484a5b685c58286b6b5a5c5e5a6e53585872585a485a585d5d7e545a58585c5d5a60585c484871615b5c587e584a7e5a5d5a585b52585050782f6e715b6e6e5a5a60585b5258504050585c7658714b6b6b5a5c515d585c55505840715b6e6a7e587058517f5a505a487e5b4d5058507e5b754f605d48587e5b5c5c507a4a5c5d5872587e58755857585a585d5b5c587e584a7e5a5d5c4c57587e6a7e5b5c5c487a4c4c57585a585b525850404b48295b5a60585d5b5c587e584a585b5258505050585c76587e7e7e58687d6850585c7658706e48746e5c5550584b5b5c515c5c485a585b50585c765871487e584a7e5a515b5d2b5870585b505852775c494c5a5a60585a50487e555058587e5a5b5a2e58486c5d587e5c537f605458484b5b6b507e54725858533650585f5b7f615b7c4b484b5850585876587e6e715b5a58585258505050484c7e585a7e5a5e5a58585258507a4b7e4b584841217e585a2958545c5c487a4c4c575871767e585a7e5a5e5a5c5e50585876587148715b6058585258506a50487e7e585a7e5a5f5a5c5350585b5b505e767058725c585c525c5b5058507e5871584d5c586e7e585a585a5c5829705a70585a5c58727e5a747648207e507e585a585e50587d6b5c494c5a5058587e585a7e5a5f5a58505058756b7873405a55586a7e586058585258504048485f68577e50545058587e58295c5478705858484a61685c514076587e582b58706e7e585a2958545c5c507a484b585058587e585c5c7e78715857507e507e5870585c50584f6b787058585258506a5c536a5b5a60585850585c4877585c48367e505458486a7e584b5d60587e6a71585a585d484b5b685358587e58586c7e58485c5b7f6058585258504050585876587061555b5c587e585a585852585040577e506a5a6e535850585876587e7e7e585a7e5a5d5c2157585a585b48412148417e4b585058587e585a7e5a5a5a58585258505448485f6b5058587658706e48746e5c7e584b5d60587e21555058586d585d5b5b5c515f5f5b5c587e584b5a7a584a58585258505448485f6b555858585c5f2c5f5d485c555058587e585a7e5a5a5a58585258505448485f6b5058587658706e48746e5c7e584b5a7a584a5c5a50585876587e6e7e58737658585a585b5d6e6d5b7f6e6d72585a58585258504050585876587061555b5c587e585a585852585040577e506a5a6e53585058586d585d5b5b5a515f5f5d48587e585a7e5a5c5a58585258506a4a484b585058587e585a7e5a5a5a5858525850545058587658706e48746e5c5550585876587e6e7e585a7e5a5c5c2157585a585852585054555858585c5e4c495a295f365a6e7a5850585876587e7e555c6e587e585a5858525850584848616b5258505878715d7358486a52585a58584848716b5c56545b5a6154585058587e585a7e5a585c5c5478607e5a585e76486c585c555a7e587e585c5c5078615a2d58486a4d585a585850585876587e5b5b5d5e6a76587e5b685c49725a5a6154585058587e585a7e5a585c5c5478607e5a585e76482c585c555a485b5b60505c5b5c5876785a6154585058587e585a7e5a585c5c5478607e5a585e7648716e54555c6e587e585a5858525850584848616b5258505878715d7558486c6d58485c5c7f605458484b5b6b507e4c72585857585872587e5870585c4d5829585058587658717e70586058585258507a507e43495b5c587e585a585b555858585c5e4c7e585a7e5a585a7e5a575b5c5a585c5f364b7e295b50584b5b584e76715b5a585b48485f6850485c5f50584c7e5b70585d7863405a5d5a585f5058507e5b5e6a2b587e7e7e5b4c5c547870585f484871685c55765b5048547e585a7e5a5e5a585b50585476587e587058615b4f5058587e58605858525850407873405a5e5a585d50584b685048487e584a585d78705c5b5a6e6e5b5a6e6a7e5b4c5c4878704858505848555a365370507e5b5b7e587e556a604e75402b495e715161213253752a7d322f577c2a6f2b5d7f5560362e286b782078617b2b367c4f54415f724f586e545e585d58485c5a684e7d776377296b52284043366f2e77406d7f416d7c786b68292b787d777b6a4b7a6b52732c2b5a7e712058607a7453712a28203271412f326c366b4e4f7460604c7d51737e6f6e21496f6a6b78285b43204d4c6a362b70767536686b2f205f6f2c607a50367c72695f564e7a7755724e215d587421522a6d2a4c7a367f2a716b69564d494e7674537261785773436a484d21367f7e552a20364f496354605d415d482978494a75694f5c292c7c414b5a495161324357617a7c53632b57706b4c635c614073214f5f4a76545b5848504c6a7f51754e4c735029437c6e21567d525b7e4054525e4e75737a495b484c526d436878556e72515b6e2d2b5c715072742d5a585e632a702d6d21742f326f57784a7a774d6a2b606a77327f7d4141685e6e72535c692f5d7e612829555a614055717678575a297b5e6378607b742e7a2e7569786d496c7e765f6f2b4c7552724d4d6a2e7d74514e286b7f566a2e57207c6072694c732e732d2028615560207c752d4a5c5c364f4d4c2f4376297d5e2c58585858585a636d2e7a5f7e505a5b58513663212d2170616a41776d4e286c2b6f746968285c7b55602d2a436f6b2c774a63722c7a6d2c524a694d4c4d5c60402f5f71406a5c6b49632d4f6b29575a2e526c366f617c4e686872214e32366f6d614c575d716d7d574d43694f5463577475504e5f5c7a205f4b407648327f77695b7e505a5b505f367f362e6e4c5f5a7e4b5d6e217c55687f776041736852715521285f4b766f2f7376282a58485c5a58707632495b782b4a72733221774329714a5d7e2d7a584d28207f517f6f5561736e7b782b7d2a41782b682073504a5f5a545b5848505b6b3636324c56213649207b7d554a6f29635763405c4c5d586e40574b544d5370366a2e5449714128323276697c41577a615c4b507e2c5f617a6c4f214d5c7236527769284e5a7f772e214b6329207c68617243547377414f2b2f5261724354694f637a32787e405e5d5874505e5b5e7d5f494d2c2c362a576073437050704b512d6852754a6b7253582e7e2d70505a21695e4b766e692e6c2e51292e702d78636e4c5f5a712c2a6d2f772d752c7c6f5b29555a61432b2b206c6d56325d7e2b28406054744b5656736929517e76525f576d534a4350525b7e40547b5a48724a564b7a4155717d6e6a527f7b6d494d6f7c326a6b5c56744074555c68535e4b56784a4f754d5c2a2c564d4d702a752c217355772c204f5d605470554e4d7a2a7b6b7d6d7b7d68547340295b4357414f6a7d53564d69637e687875536d5e616a2b49694e4f686e5120494d63537c6b68632f2075437a68567c776b292f782f6c4b617e505a5b5d4f6c6b696f7051712d215e2175534c696055702c7a535b6e7a56495e7469757f516d554b634c7a7b5e756049762f546d212a7d2b7177514b292f5a5c7f51632e7d4a296c4e2a552b2040407855706e2b5f7076764972515b6e2d5c50324977635c6d7b4f6168744374635771504a53585f586e545e587f7b2b206150565d716073404e515a41634c28786f75414f2f2e486c7b75697240785e5f28735b6e437277514b292f6c432f7c536373712d7d724d3249736b6a2c70405263544b5c4a522e784e774a7a57774368407456737e7c77755348636d696c7b554a507c5173604a712d7a4f50567769604c775663767f364f4f4e687c5a7e764c516b7f2a2f4e4973506e5d32525e714e405a53704872415d4829782b6b3236434d51742c6d7f5e4872525c6c5e71762954575b4840526e744372697d60296d4e715c495d612e556a555b2e365f4b4c6857782e6c2b292f5f71406a4c527f294c4f577548412e5d695b7a7875752d77566a6d6b68636f614b43297f6828732f6b53545d2d296d4f3273587e2074282b6b435f2b63507e754d58552836577f754d207f55526a4e584b5d4c74732f57706d4c75786a7d2c775e2e767574582e684b7c51583675295a7d4a365d5c6f5b547e7856414b762a5e327d576b2c283249582c4e7a7271416b7c742b362b75754a754a2b5d6f6d4d4d50414b40524e777e4a4c4d5060402c68707a53287c517456205e6a324e53777d7a7b72776d7236716f717c6d70495b746b5a5d536d5d6b567f4b71522a2b565a544b6b75405d574b75294f364c2b557e7d2b4a6171522c6b6c61607e7e7f2f4c526e732c4e5e71507a5b77204b4032517b572f4c6d36712e4c70494d7a2f6f7058726d604f2d217f2d60686b4f4e405152566c6058215228552c692e614078755a5d7f4d21767a76545552756f60562f787e545a4150504e2e4a6a7a632d684a6d51747721495051212f5170784c2e5720576975287b2d5f5b71207057575e5236687b5c774f546c57525b4f212f50602d40765f7d7c6f2b695d776a7e6e6c682e2b5b585b69206141755c487b6b2a2c70705c3249487b7d75682d5f496d285e6f7c43576d40284c72484f7d61515f6f2858405c36614f48405a4d2e745b74412f7b2a4e635c575870417c7c2b4e7c20486c706e70506c535b63717b5e7c7f7b2e6a712c4b6e6921767c72494877635351764d2d585858585850565e7e5875502e4a6a606b51584b51722c604e74632e366e2e204f73705f5d612e4f6b732977564a292b435772495a705e74415e734b4f5f6c7b56702d2b53555f775a7e6e492c287c4d29697b6c6d532f4b74616d49617a5a5876705d7a404e75557d28764e5e71507a5a6b684d2d6c4c6876545b5d2d5a5021514b7a7b5c7e6a575a482f6d612d6f606c78702b557a706951714a5f5e7f5f414d587d286b2e6f7d747c2e20405132737760405b202e63287a75635f562b435c57512e2e4e2a4069482d6f7a617049557849636d6d7449612c5573522a5d51415c504f73487258707561547e5c7a785c7f4a4b52717f7e206c20504b546f746c7b785c6961296a6f77712a635455557a2e5f525e5d7d5d736e417d6a5f6b546b747b756e687f6950755b5c704356755161506321685b763621525d405551284e2e2c5863506a7d564a407f5b294d734336685552735d4055285373497e7f4e7452572c2f694a78566d2068726f2f29362c53292f55582b4a7c5f5a7b635f2068407243324f54504d737f7b766c577048416f7a2c556f4e6f6e2d52327e5f2b7f7f5349487878726d284e32635c704149562c746a60527d205e5b5b6c402c63767c2e6a2e2b6e752d536a2a295e5f756c587b7c782e5270784d2d57757b6941747f6c7b36687e73496f5a51742f5b416f2b436f776c6a2d2b7b296b4c5a4336682877606e52783260695d5c615063216854534a75616a5b7476734c2a6f5c2c29696a685a36555d487256584f2b527a634a697e5c217f7f782e5c5c564c5428365536784b5f2d2a4e4d4143576a56205d4f5c2b686357215c756c4d736d7d5e7c5e2d71684d557e7f55545f364c4e4f5e5b56697c774f292873585f637d507f2f55725c553228767d432e574a296d6c4a542840482f4b575128742b54407d7c787c7e6071572d2d4c325f7453495b496b2e707c6963734153407b7f6d2c4b637149555f517c75777f29696e367a36534f7c7a2d4c5e55212a612a4968637f7d4d4e2f6b2041614b6f497d325e2b294b2d7e7f566f60732e5c7855726a575a482d41295a736e77555d514b4054537c522170297221525c5e4f5d7f206158787e2c2a6b54545a5363726d5770486e4f437240404d557c2a5a2b546d4f29415e615048757c2d295f5053786d4c6e57684c2d6f295a737776516328366d212d63745a7460363671634a5648294d5c2a6c77554f516c4c54687b5a50632a6c4d534c55486f6b5d4d7e7e6c764e40762b4a4a607d756c704a4e2b55294a4f6032494372717470405f6d4a724154617d437b784a7b515b504c492a6d6c7d697c5f4c4341692d2b7d71535d40686e5a546f57545220324b405b7b70634b487b48555b2f4960732149586a5e6f6f48545b5c2d696b56695c4b484c20772a566841216a365621554d747a2c786a7d5a55776b4d4e5f2d6f722a2f5b61282a2b2c51214b6961514a775f704e322a407e2f685e552d7b365f40324a217b4a7c4a5a782b215d327c542878205b367d685d56505b217a616a4b50484e4a7c582e5f207e4c4132695e7b4f525d4a2a757c69324d6043636f7656582e4d782d68207b5d502f2e6a217e285643404b7a6b5b512f2f7d2040742d4e724c40284c715d51295b587e48505c5a5b587e5b6a2b784e2c74784e2c697d5172584b744f707a774f717a7772584a745f6c7d4e5f607c485b527d4e612c585f4b767d415363435e5f2c585f4b2843415772404172584f2b4f727b744f63435e5f2c585f57717d514f60435e5f2c585f57287b744b717c485b577b2b2c72404172584b775369435e5f2c585c28717c4858757b4a2175435a21757c48586d5260587e505d5b4054517e58554d5b4052635b40505d5b40554d5b2d52635b2d505d5b2d585c2c6f7d7e5b4c78514c5848414f777d415729585c20737d585b4d4041485848415b6058514375402a4b6f7a7e5b49402a4b6f40744f60585c2c6f7d744f6d40744f60585f57757a514b757b4e53757a7e5b5c434e57757b4e53757a7e5b697b2a577f40745f63434d762f402b6175404150584d4e5f60585f57757a5858754a4d76754d4d76754c6058757a585b4d7d4e2d584a774f6c58515729435d762f4341717343415b29784e206c585f207f402a7171412b7d2840415372412b5f737a414f697a744c7e435e4f29434e5729434e487e7a744f737d41536378414375505e756c78414b69404e61697c745f29784e206c585c286f7b7e5b6c404e2d584a745f6c585c69287b585b6a7b585b5b7a5153697b585b5e7a7472584d4e5f60402b7e5848414f77585e756c437e587555735b54437e58754d5e4058404e616a7b2b57717d5e2060495f4832567369717b5e616f402b5f29434a716378416975412a487e7b70727e532b2d77505e4f2d402b4f754351547e7b4e5f2d784e28287b4a5b637d415b6e7b2a5329434e487e7a2b752f43485b297a774f75585f4b2843485b74404e616343485b527d4e2c75585f7d7543585b5c434e54584b744f70585a4f71505a4f70505a4f72505a4f5056704f5756704f4d505a4f43585f5b494c297540585a4f5056704f5756704f4d585c2c5b4d7e5b484d485b5b4d485b544828205b4d5c6e584d5c5f564b6e5b534d724058486e586e544d5063575d4c2b57637e2c585c546c4f4f4b5e554d7e5840415b6e412a406058517d754075202b547e5b5b4872575c4b4c43514a5c75524a2961574d7220484c4f534d4f5f4f4e4f2871434e745f70402b4b7543747d76784e696b7b5e286c7b2a5b617a7757297d41432a7c51752f545d5c605463482857737a2d564a6a6f585a2d58525e2c287b5e6e69585f5b287a744c7e7d7475607d514f717b5a5b747d4e2c737d5e756f7b705b73404e616a434e4871585f6d764b4c6c7a68322c51607e4d295b4858585858585858585b765c4858585b58585858584c585858585e585858585b6e585858587e5858585853585858585a7e585858586a5858585854585858585d48585858582d5858585849585858585c585858585b5c585858585058585858585858585852584b5858584a585858585c6e5858584973363636362d36363636765b5c58585b48585858584f58585858585b5858585b48485858585c585858585858585858567e4b5858584e585858585f6e58585849633636363621363636362f5b5c58585b7e585858584358585858545b5858585c48485858585458585858585858585850584a58585878585858585e6e58585858485858585d2d363636367e5b5058585b6e585858587d585858582049363636364d36363632585c7e5858517e5858585b215858585b7e5c5858585d5b5058585a584a585858295c7e58584a5b505858507e4858585b295c585858585858585856484a5858587e5858585850485858585840585858585158585858507e5858585a545858585852585858585a6e585858586e5858585872585858585d7e5858585a4c585858584858585858537e585858585858585858765c485858536e5858585a7e5858585b564c2a486341282160564e53717a2b7573412b756f7a2975734d75577f544d5f73785e5f60412a4b60404e75297a2975734b4c4f5f4b485858585b7e3658585d215c5858584e5b4858585c2c4d7d5d577f41635061574e53717a2b7573412a57297a744f717b4e5328437275734d75577f544d5f73785e5f60412a4b60404e75297a2975734b4c4f5f4b48585858585d6e497e5858575b5c58585c2c4d7d5d577f41635061542b53717a2b7573412b75637d515375404e285340292c4d41635c61402b71717a7520297a745f697d51575340294f5f4b4c4c585851483658585b6e5c4858585858585858585c58585858765c48585858364d3636292c4d7d5d577f41635061542b53717a2b7573412b20637d515375404e285340292c4d41635c61402b71717a7520297a745f697d51575340294f5f4b4c4c585851483658585a2d5c4858585858585858585c58585858765c48585858364d36366e6e585858585858585858765b5c58585b50585858584d585858582049363636364d363636327e5c4858585f585858585b4c585858585c585858585858585858567e4b5858584e585858585f6e58585849633636363621363636362f5b5c58585b7e5858585843585858584d7557295428207f54735c2940745f63784e577f784e20637d515375404e285340292c4d41635c61402b71717a7520297a745f697d51575340294f5f4b4c4c587d5d2158585f584a5858585d58585858587e58585852584b5858585a585858582f5b5c585858505058585b564c2a486341282160544d4f7040415769402820637d5153697b747d707d4e435340292c4d41635c61402b71717a7520297a745f697d51575340294f5f4d75577f564e5f6a7b5e207340414b6f7a7275734b4c4f5f4b485858585b7e3658585a7e5c7e5858785b5c58585c58585858585858585858525b4858585a725858585868585858585658585858497336363621765f585858526e5858585a6e5858585d58363636366e49363636607e4c5858586d58585858557e585858496e4a58585b7e5c6e5858775b54585855584d58585d5c5c6e58582b5b545858507e4d58585b295c6e5858535b5458585b584d58585b5858585858585858585850584a58585878585858585e6e5858585d7e5858585d2d363636367e5b5058585b6e585858587d585858586e49363636215d36363632585c7e5858517e5858585b215858585b5858585858585858585852584b5858584a585858585c6e585858545d363636365836363636765b5c58585b48585858584f58585858565858585858585858585d765c4858585f7e5858585b7a5858585d50363636366049363636327e4b58585840585858585e485858585c2c4d7d5d577f41635061565e53717a2b7573412a57297a74756c432a57297a744f717b4c75734d75577f544d5f73785e5f60412a4b60404e75297a2975734b4c4f564c28212c404e616a7b2b57717d5e20604a4e575f4b4c4f5f58585858585b7e3658585d7e5c6e58587e5b50585858585858585b405f585858556e5858585d585858585b564c2a486341282160565e756f7a282070404157754b4858585849583258585b5c5f58585829414a7c585f7c7d6f4a68587a5f504936362132536e765858585b72585858582f585458585b587758585a7e717e5c58485c504958505a4e745858582d7f4c5f5e585858585d4c5858585b61585858587836363636212e2e3636324a6f363636585858585858585858585d363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363658585c5a586e485f5b7e7a505a7f363636363636363621525a6e6e575d7e21485c4b504d5f5b4c4e5f617e435e716a7a514b2d7f505a5c705036363636363636366e76555d5829565d61584b5c71544c5f4b40415e5b72785e616e7d5171217e504a50733636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636366e585b587e4851586e405f5858585858585858585850585854585d58585d585b5858586e584c585854585e58585d585b6e58586e587e585854585358585d585a7e58586e586a585854585458585d585d4858586e582d585854584958585d585c5858586e5b5c585854584a58585d585c6e58586e5b48585854584f58585d585f7e58586e5b7a585854584058585d585e4858586e5b76585854587b58585d58515858586e5b29585854587c58585d58516e58586e5858585855545b58585d5d587e58586e6e54585854545c58585d5d5b4858586e6e40585854545158585d5d5a5858586e6e72585854545258585d5d5a6e58586e6e6e585854545758585d4d5d7e58586e6e2158585454585858602e584858546e6e50585d54545d5858635d5b5858542b6e585858585d7c5c7e4a4f5858585858493636363636363636363636363636362c584e5858584c5858585848602c4f4f5c406d56585b5b2d5a29555868484e585c5e58557e6d514d5c577f48284b434c5c4c58585858584d5c577f4d754f574b4f5353486e58584d5c577f4f5c75574b485858585858584d5c577f482920544d5c5f4c4b4858584d5c577f4d4c20564b4f4b5b4c7572584d5c577f4d4c4f4d4c295f514b4f5458487d586c5a295c43585876585e4b72435858585858584c5858585858585858535858585858586a585858585858585858585b72585c4876435e4b725d5a7e7a58584858535a617e585858725e5a6e58585a6e585e5e485858585b72435e485b5b764a215550482d585858585858585858585b72585a7e29435e4b72585d485858587e58535d7e5858585872585d7e58585d7e5b5b2b60215558486e58487c7a6f5a614c4d58585858585b5458585858585a486e585858585858586e5858586e5848434c6e5a6e5c48585c5e7154586a4f5d6e5858585848495858585858587248585858585858584858585848585c514954586a5b5c7e5b5b2b63585551715c58585858585c485858585858535c7e5858585858585c7e58585c7e58585e7e5858585b76785e7e5b5b72735c555d717658585858785e7176585858585858585853585c515d54486a5b5f585b5b63635c555f4b7a58585858585f6e5858585858535f585858585858585f5858585f585b5b364d5c55584b4058484072605a60724f58585858585b4c58585858585a4b405858585858585b4058585b4058585d586154735429574d402a565d755b4872575c4b4c43585e7e5b5b6e5d4855366e5c5a58585058587e585a58585058587e585a58585058587e585d5058507e5870585a5058507e587e585a58585058587e585a58585058587e585a58585058587e585a58585058587e585a58585058587e585a58585058584e585c6e584d585b54585c6e584d585b54585c6e584d585b54585c6e584d585b54585c6e584d585b5458502b5873405a577e502b5873405a577e502b5873405a577e502b584d585b54585c6e584d585b54585c6e584d585a574c502848734f5a574c502848734f5a544c506148735f5a544c506148735f5a544c506148735f5a544c506148735f5a544c506148735f5a544c506148735f5a544c5061484d585b54585c6e584d585b54585c6e58734e5a574050287e734e5a574050287e735e5a544050617e735e5a544050617e735e5a544050617e735e5a544050617e735e5a544050617e735e5a544050617e735e5a54405c6e584d585b54585c6e585058487a582d5a6e5348517e5b5b285d6e553248545b58585858587e5858585854585858585c585858585b4858585858405858585851585858585a5858585858725858585852585858585a6e585858586e5858585857585858585d7e58585858215858585848585858585c485858585b50585858584d585858585f585858585b4c585858584e585858585f6e5858585b7e5858585843585858585e7e5858585b6a585858587a5858585851485858585b2d585858587f5858585850585858585a5c585858587058585858506e5858585a48585858587558585858537e5858585a7a58585858765858585852485858585a76585858586b5858585855585858585a29585858586c58585858556e5858585d58585858586158585858547e5858585d5458585858295858585857485858585d40585858582a5858585856585858585d72585858582f58585858566e5858585d6e585858582058585858497e5858585d215858585b585858585848485858585c505858585b5d585858584b585858585c4c5858585b5e585858584b6e5858585c7e5858585b53585858584a7e5858585c6a5858585b54585858584d485858585c2d5858585b49585858584c585858585f5c5858585b4a585858584c6e5858585f485858585b4f585858584f7e5858585f7a5858585b40585858584e485858585f765858585b7b5858585841585858585f295858585b7c58585858416e5858585e585858585b5b58585858487e5858585c545858585b5c585858584b485858585c405858585b51585858584a585858585c725858585b52585858584a6e5858585c6e5858585b57585858584d7e5858585c215858585b48585858584c485858585f505858585b4d585858584f585858585f4c5858585b4e585858584f6e5858585f7e5858585b43585858584e7e585858516a5858585b21585858587f48585858512d5858585b36585c51486158585558745872585c5172605858553248545b58585858587e5858585854585858585c585858585b4858585858405858585851585858585a5858585858725858585852585858585a6e585858586e5858585857585858585d7e58585858215858585848585858585c485858585b50585858584d585858585f585858585b4c585858584e585858585f6e5858585b7e5858585843585858585e7e5858585b6a585858587a5858585851485858585b2d585858587f5858585850585858585a5c585858587058585858506e5858585a48585858587558585858537e5858585a7a58585858765858585852485858585a76585858586b5858585855585858585a29585858586c58585858556e5858585d58585858586158585858547e5858585d5458585858295858585857485858585d40585858582a5858585856585858585d72585858582f58585858566e5858585d6e585858582058585858497e5858585d215858585b585858585840485858585e505858585b735858585843585858585e4c5858585b7458585858436e5858585e7e5858585b6958585858787e5858585e6a5858585b6a585858587b485858585e2d5858585b6f585858587a58585858515c5858585b60585858587a6e58585851485858585b28585858587d7e585858517a5858585b2d585858587c4858585851765858585b7b5858585841585858585f295858585b7c58585858416e5858585e585858585b7158585858407e5858585e545858585b725858585843485858585e405858585b775858585878585858585e725858585b6858585858786e5858585e6e5858585b6d585858587b7e5858585e215858585b6e585858587a4858585851505858585b63585858587d58585858514c5858585b2b585858587d6e585858517e5858585b2c585858587c7e585858516a5858585b21585858587f48585858512d5858585b36585c517e295858556e485c6e544d5063575d4c2b57637e2c404e5373435e4f74484c535d4b5c4f5e7c5f7e6b55415b48784c756c4d7e587558585858585858757a585858585858754a4d76754d4d76754c6058757a5a4f5056704f575858585853485858585e29585858586f5858585853485858585e48585858586f58585858534858585851725858585875585858584e485858585a295858585875585858587b485858585a2958585858755858585843585858585a4c5858585b5358585858567e5858585a4c5858585b5758585858567e5858585a4c5858585b4d5858585850585858585a4c5858585b6e5858585858585858585a4c5858585b5058585858567e5858585a4c5858585b57585c5e6e297e58552b485475585858584a585858585d765858585875585858584d485858585d765858585875585858584c6e58585858585858585a29554858584b6e5858585c7e5858585b535858585858585858585b486c58585b52585858584a6e5858585c725858585b54585858584d485858585c2d5858585b49585858584c585858585f5c5858585b4a585858584c6e58585858585858585b21554858584f585858585f4c5858585b53585858584f7e5858585f7a5858585b40585858584e485858585f765858585b7b58585858415858585858585858585b54557e585841485858585f2d5858585b5358585858416e5858585e585858585b7158585858407e5858585e545858585858585858587a5a2d58585e485858585b75585858584a485858585e405858585b775858585878585858585e725858585b68585858587d5858585851505858585b2858585858434858585858585858585b745858585840485858585e6e5858585b6358585858434858585858585858585875585858587b485858585a2158585858755858585843585858585a215858585875585858587c4858585858585858585875585858584a585858585d765858585875585858584d485858585d765858585875585858584c6e585858585858585858755858585840485858585a58585858587558585858407e5858585a5858585858755858585843585858585a585858585875585858584a585858585d765858585875585858584d485858585d765858585875585858584c6e5858585a585858585875585858584e4858585858585858585875585858584a485858585d765858585875585858584d485858585d765858585875585858584c6e5858585a585858585875585858587a585b5b755740585a2c4053495a6a58585e6a5858585b6a585858584a485858585c2c4d7d5d577f4163502b7b5e2073404e6175574e4371402b4f294b485858585b7e3658585872526e58587e5d2d585858585858585a21526e5858786e5858585e295858585b53585858587b7e5858585e215858585b6e585858587a4858585851505858585b63585858587d58585858514c5858585b2b585858587d6e585858517e5858585b2c585858584d7557295428207f54734f737d51756e434c752a4b4c4c584d7557295428207f54735c6e402a4b2c7a5e4f7f40745f63434c4c585849583258585a7c526e58587d5d215858506e6b5858585858585858587e5858585d6e6b5858585a585858586d5a6a585858505858585858585858584c5a6e58585e6a5858585b2f585858584a48585858516a5858585b21585858587f48585858512d5858585b36585858587e58585858505c5858585b564c2a486341282160572b576f435e4f737d774b53402b5461544f207f7b4e53637d5e5f29434f20294b4c4c584d7557295428207f54735c60402b2072434e572b7d5f2070404157754b48585858585d6e497e585855706e58585148365858585455585858585858585858505858585821526e5858587e5858585c7e6a5858585a58585858585858585854486a58585b6b585858587e7e5858585c725858585a5d585858587158585858504c5858585a5e58585858716e585858507e5858585a53585858584d7557295428207f54737d737b2b4b75402a43294a4c4b6340635c614128206d4077572940414b75412a4b5f4b4858587d5d21585852586a5858585858585858587e5858585d6e6b5858585a585858584a5a6e58585850585858585858585858565a2958585e6a5858585a52585858584a48585858506a5858585a54585858587348585858502d5858585a49585858587258585858535c5858585b564c2a486341282160572b576f435e4f737d774b534b5e7573544d5f7f412b28707a2a4b717d5e4f7f7d5c4f5f58585b29496e58585f5a2958585858585858585a58585858495a6a585858505858585b5055585858587e5858585c2c4d7d5d577f4163502a402b2072434e572b7d5c752a40635c614128206d4077572940414b75412a4b5f4b4858585851483658585b4055485858585858585858505858585821526e5858587e5858585c7e6a5858585a585858584d7557295428207f5473436a7b2b57717b5e4c28412820697b415b5f585858585e5d215858536e6d58585821526e58584d7557295428207f54737d737b2b616a40414b754a4e575f4b485840496e58586e5a2958585d6e6b58585b564c2a486341282160572b576f7b5e61717d5e4f537d294f5f585b7e3658585d7e55485858495a6a58585c2c4d7d5d577f41635028402a4b2c7a5e4f5340294f5f585858587d5d21585858586c5858585858585858587e5858585d6e6b5858585a585858586d5a6a585858505858585b564c2a486341282160565e2c287b415b287b7457294a4e575f4b48585858585840496e5858575a2d58585d6e6b58585b564c2a486341282160565e2c287b415b287b7457294a417d5f4b48585858585840496e58584e5a2d58585d6e6b5858585858585858285a29585853505858585a4d585858584a4858585853485858585a4f58585858757e58585858585858585d2955485858756e585858537e5858585b5358585858744858585853765858585a7b58585858585858585853586f58585b6b5858585877585858585c725858585a7d58585858777e58585853215858585a7e58585858764858585852505858585a73585858586958585858524c5858585a7458585858696e5858585c2c4d7d5d577f4163502a7b774f6d412b7d757d5c75734d75577f544d75697a2a4b60434e5f6d40774f74412b7529434153717d5e20604a4e57564c282161544e57764041537f7d51537178414b634a4e575f4b4c4f5f4b4c4c584d7557295428207f5473757f412b2c287b4f207743414b5340294f5f585c2c4d7d5d577f41635061575f207f7b774f6d412b7d757d5f2070404157754b485858215d2d58585f406f58585b29496e5858485a2158585858585858585b585858587a5a21585858585858585b29496e5858365a2d58585858585858585a58585858495a6a585858505858585b2d556e5b5b6d5721585a21765b435d5858585e6a5858585a76585858584a4858585852725858585a6858585858686e585858526e5858585a6d585858586b7e58585852215858585a6e585858586a4858585855505858585a63585858584d7557295428207f54737d6c7d4e287f432b4f294a417d564c282161564e75637d515375404e28707d4e437f78414b757a745f297b2a53537d292c4d41635c61402b71717a7520297a745f697d5157537d294f5f4b4c4f5f4b485b564c2a486341282160564f207f7b774f6d412b7d757d5c752a4b4c4c5858585b29496e5858575d5858585858585858585b585858587a5a21585858585858585b29496e5858215a2158585858585858585a58585858495a6a585858505858585b5454585b5b70565c585a202d5b4d5d5c58585e6a5858585a29585858584a48585858554c5858585a2b585858586d6e585858557e5858585a2c585858586c7e585858556a5858585a21585858584d7557295428207f54737d6c7d4e287f7a514f294a4e57564c282161564e20637d515375404e28707d4e437f78414b757a745f297b2a535340292c4d41635c61402b71717a7520297a745f697d51575340294f5f4b4c4f5f4b485b564c2a486341282160564f207f7b774f6d412a5b287d5c75734b4c4c584d7557295428207f54735c294128206c7d4e287f7a514f29412b53717a2b4f5f58585d6e497e58585c735c585851483658585d21545858585858585858585c585858586a54485858585858585851483658585a2d54585858585858585858505858585821526e5858587e5858585d4861585c516e2d7e58556f7e5c4c547e5858786e58585855295858585b53585858586f7e58585855215858585d58585858586e4858585854505858585d5d585858586158585858544c5858585b564c2a486341282160572b2c287b4f206e7d414b537d292c4d41635c2c7b2a57297a744f717b4e5328437520697d5e4f6040414b6f7a72752a4d75577f544d5f73785e5f60412a4b60404e75297a29752a4b4c4f5f4b4c4f5f585c2c4d7d5d577f4163502c4128206c7d4e287f7a514f294a417d5f4b4858585851483658585d72544858585858585858585c585858586a54485858585858585851483658585a7e54485858585858585858505858585821526e5858587e585858496e61585c5e2d2c585855747e6a4c546e5858617e585858547a5858585b5358585858605858585854725858585d5258585858606e585858546e5858585d5758585858637e5858584973363636214c546e5858636e58585857585858585d4b58585858297e58585857545858585d4c5858585828485858585c2c4d7d5d577f4163502d7d5e756d434f207743414b5340292c4d41635c2c784157297a744f717b4e5328437520697d5e4f6040414b6f7a7275734d75577f544d5f73785e5f60412a4b60404e75297a2975734b4c4f5f4b4c4f5f585c2c4d7d5d577f4163502c7d5e756d434f2070404157754b485d6e497e5858634d5058585c2c4d7d5d577f41635060545f207f7d5e756d434f207743414b7f402820637d5e2060404e7d754a4e575f4b4858585849583258585d76547e58587d5d215858507e605858585858585858586e5858585d6e6b5858585a585858582d5d50585858505858585854546e585858587e58585858585858585857585858287e585858577a5858585b53585858582b5858585857725858585d78585858582b6e585858576e5858585d7d585858582a7e58585849733636362158575858582a6e58585856585858585d71585858582d7e58585856545858585d72585858582c485858585c2c4d7d5d577f4163502d7d5e756d434f207743414b537d292c4d41635c2c784157297a744f717b4e5328437520697d5e4f6040414b6f7a72752a4d75577f544d5f73785e5f60412a4b60404e75297a29752a4b4c4f5f4b4c4f5f585c2c4d7d5d577f41635060545f207f7d5e756d434f207743414b7f402820637d5e2060404e7d754a417d5f4b485858215d2d5858574c6358585b29496e5858725d5458585858585858585d58585858495a6a585858505858585d7e547e5858587e585858497e63585858585a585858585858585852482958585d74585858582c6e5858585c725858585d76585858584d7557295428207f54737129784e2875412a5b287d5c75734d75577f544d756f7a2a4b60434e5f6d40774f74412b7529434153717d5e20604a4e57564c282161544e57764041537f7d51537178414b634a4e575f4b4c4f5f4b4c4c584d7557295428207f54735c6e41282029784e2875412a5b287d5c4c5858585d6e497e5858714d48585851483658585b5857585858585858585858505858585821526e5858587e585858536e29585858585a58585858585858585a482858585d69585858582f7e5858585c725858585d6b585858584d7557295428207f54737129784e2875412a5b287d5c752a4d75577f544d756f7a2a4b60434e5f6d40774f74412b7529434153717d5e20604a417d564c282161544e57764041537f7d51537178414b634a417d5f4b4c4f5f4b4c4c58585858587d5d215858576e295858585858585858587e5858585d6e6b5858585a58585858775d48585858585058585858585858586c5d4c58585e6a5858585d6a585858584a4858585856295858585d6c585858582e6e58585849585858585d6158585858217e58585849545858585d295858585820485858585c2c4d7d5d577f41635061545e286f7b744f2c7a514f6c402a4b5340296170545c4f5f4b485b564c2a486341282160544d5b6d7b2b2c757c4f2070404157754b48585858585d6e497e5858745d4c585851483658585b2157485858585858585858505858585821526e5858587e5858585558285858585a5858585858585858585a6e2b58585b6b58585858207e5858585c725858585d2a58585858325858585849725858585d2f58585858326e585858496e5858585d2058585858367e58585849215858585b564c2a486341282160544d5b6d7b2b2c757c415b287b7457294a4e575440735f5f4b4c4c587d5d2158585b582b5858585858585858587e5858585d6e6b5858585a585858586a5d4c58585850585858585858585858765d4058585e6a5858585858584858584a48585858585c5b5858585a58485858586e5c585858485b5858585f584858585b7e5c5858587a5b58585850584858585a485c58585c2c4d7d5d577f41635061545e286f7b744f2c7a514f6c402a4b537d296170545c4f5f4b485b29496e5858715d4058585858585858585a58585858495a6a585858505858585a6e57485858587e5858585858585858584c576e5858786e58585858765b58585b53585858585a6e5c5858586e5b58585857584858585d7e5c585858215b58585848584858585c485c58585b505b5858584d584858584d7557295428207f54735c6e7b4e206c4341756e7d4e2c737d5c752a4d5e50614b4c4f5f5851483658585d2d577e5858585858585858505858585821526e5858587e5858585558285858585a585858585858585858557e2a58585b6b585858585f585c58585c72585858584f584858585f7e5c58585c2c4d7d5d577f4163502c7b4e206c4341757f432b4f294a4e57564c282161564e75637d515375404e28707d4e437f78414b757a745f297b2a535340292c4d41635c61402b71717a7520297a745f697d51575340294f5f4b4c4f5f4b485b564c2a486341282160544d5f7f412b286f7b744f2c412b7d757d5c75734b4c4c585849583258585a4e576e58587d5d2158585f582a5858585858585858587e5858585d6e6b5858585a585858586a5d7a58487d636f58586c78584f6e2d58585b6b585858585f6e5c58585c725858585840584858585e485c58585c2c4d7d5d577f4163502c7b4e206c4341757f432b4f294a417d564c282161564e75637d515375404e28707d4e437f78414b757a745f297b2a53537d292c4d41635c61402b71717a7520297a745f697d5157537d294f5f4b4c4f5f4b485b564c2a486341282160544d5f7f412b286f7b744f2c412b7d757d5c752a4b4c4c58584958325858582f565858587d5d21585849482a5858585858585858587e5858585d6e6b5858585a585858584f5d7e584840516158586c43584d7258585e6a5858585878584858584a485858585b6a5b5858587a584858584d7557295428207f5473756d7b2b2c757c4f206e7d414b5340292c4d41635c2c7b2a57297a744f717b4e5328437520697d5e4f6040414b6f7a7275734d75577f544d5f73785e5f60412a4b60404e75297a2975734b4c4f5f4b4c4f5f585c2c4d7d5d577f41635061544f207f7b4e206c4341757f7a514f294a4e575f4b485858215d2d5858572d2d58585b29496e5858745d7e58585858585858585a58585858495a6a585858505858585d2d56585b5b694950585a2c765b695d7258585e6a585858587d584858584a485858585b2d5b5858587f584858584d7557295428207f5473756d7b2b2c757c4f206e7d414b537d292c4d41635c2c7b2a57297a744f717b4e5328437520697d5e4f6040414b6f7a72752a4d75577f544d5f73785e5f60412a4b60404e75297a29752a4b4c4f5f4b4c4f5f585c2c4d7d5d577f41635061544f207f7b4e206c4341757f7a514f294a417d5f4b485858215d2d585850502c58585b29496e5858495d7258585858585858585a58585858495a6a585858505858585a7a56485b5b604954585a2e7250515d7658585e6a585858587e584858584a485858585a5c5b5858587058485858506e5c58585c2c4d7d5d577f4163502d7b4e4f637a2b5f774341575340294f5f585c2c4d7d5d577f41635061542b28757a2a5771432b4f63412b53717a2b4f5f585858585849583258585d2c564858587d5d21585856482c5858585858585858587e5858585d6e6b5858585a585858585f5d76585858505858585858585858587d5d7658585e6a5858585872584858584a485858585a4c5b5858587458485858536e5c58585c2c4d7d5d577f4163502d7b4e4f637a2b5f77434157537d294f5f585858585851483658585b7a567e5858585858585858505858585821526e5858587e5858585b482f5858585a585858584c6e585858514c5858585b6c5858585843585858585e5c5858585b2c5858585858585858585c295858585b6f585858587b7e5858585e485858585b71585858587c4858585858585858585b4c585858587d485858585e4c5858585b635858585843585858585e5c5858585b2c5858585858585858585f7a5858585b755858585843585858585e2d5858585b75585858587a6e5858585e485858585b71585858587c4858585858585858585b4c585858587858585858514c5858585b60585858587a6e5858585e485858585b71585858587c4858585858585858585b5e585858587a7e5858585e725858585b7258585858404858585851725858585858585858584c6e5858585e5c5858585b29585858587d4858585851505858585b7258585858404858585851725858585858585858584c6e585858514c5858585b6c5858585858585858585c295858585b6f585858587b7e58585858585858585b4c585858587d485858585e4c5858585858585858584f6e5858585e4c5858585b725858585858585858585f485858585b76585858587d4858585858585858585b5e585858587a7e5858585e725858585858585858584c6e5858585e5c5858585b295858585858585858585c765858585b71585858587b7e585858514c5858585b71585858587a7e58585851725858585858585858584b7e5858585e4c5858585b70585858587a7e585858514c5858585b71585858587a7e58585851725858585858585858584d485858585e5c5858585b6058585858406e5858585e7e585858585858585858484858585851585858585b605858585878485858585e6e5858585858585858584d485858585e5c5858585b2c5858585858585858585c765858585b28585858587b7e5858585e4c5858585858585858584a7e585858514c5858585b6a585858587c4858585858585858585b5b585858587d485858585e7a5858585b28585858587a6e58585851485858585858585858584c6e5858585e4c5858585b6e585858587d585858585e4c5858585b6d58585858407e5858585e4c5858585b605858585858585858585c215858585b73585858587d585858585e215858585b7058585858434858585851505858585858585858584d7e5858585e215858585b2b5858585843485858585e295858585b7058585858434858585851505858585858585858584b585858585e4c5858585b735858585843485858585e295858585b7058585858434858585851505858585858585858584a7e5858585e5c5858585b6c5858585858585858585c405858585b7558585858407e58585858585858585b575858585840485858585150585858585858585858484858585851585858585b605858585858585858585c765858585b28585858587b7e58585858585858585b52585858587d485858585e6e5858585858585858584848585858514c5858585b775858585858585858585f545858585b75585858587a5858585858585858585b4958585858406e58585851485858585858585858584d7e5858585e215858585b2b5858585858585858585c485858585b7558585858406e58585858585858585b5b585858584d4858585858585858585b48585858584d485b5b73496e585a32505c5d5d54585854215858585d4858585858294858585857505858585d4d585858582858585858574c585858585858585858325d54585857215858585d7e585858582d4858585856505858585d73585858582c58585858564c5858585858585858587e5d2d58585a7e5b5858586958485858527e5c58585c2c4d7d5d577f41635061575f207f7a2b71717a744f72412b576f7d4e2c294b48585858585d6e497e5858435d2d58585c2d61545f207f402a712d404e53697d735c615775207f7a2b71697b4f20297c415b75412b756c4374205f58585858585b7e3658585a50497e5858785c5858585c2d61545f207f402a712d404e53697d735c615728207f402b61717a2a577f7d51756e434f20697b74436f4b485858585b7e3658585a2d497e58586b5d2d585858585858585d7a497e5858526e5c58585a6e5b5858586d58485858557e5c58585a215b5858586e5848585854485c58585d505b5858585858585858405d2158585a6a5b585858635848585855485c58585a2d5b5858586f5848585857585c58585d4c5b5858582b584858584d735c6e412820737c5171714074752b544d506e41282063784f20737b5e5f637a2820297c415b75412b756c4374205f58585858585b7e365858582d496e58582a5d2d585858585858585a21496e5858526e5c58585d7a5b5858586d58485858557e5c58585a215b5858582d5848585856485c58585d765b58585b56544d5b7f412b572d7c5e5f707841406154735f7f412a436d784f20737b5e5f637a2820297c415b75412b756c4374205f585858585e5d21585853483658585d7a497e58585858585858566e365858582e5848585849585c58585d295b58585b4d7d5d75757c5e57757a514b697b2b2d5858585858215d2d5858576e3658585858585858585e5c5858585854585858583258485858496e5c58585f5729544d5f6a7b2b7d69402820757a77536f7a7e5840496e58585a5c585858566e3658585858585858584d5c58585858545858585b5858485858496e5c58585f5729544d536a434e2c777d5e717f434153607b2a5058585858585e5d2158585d715858585840485858584c2a482c7d51756e434f20697b74436f585858585849583258585b4048585b5b2150585b5a6e527e786e2424077c6169766b6d6a0f70776a6d78776d70786d7c4e786a7406786a6a707e770e37366d71706a37696b767e6b78740875767a786d70767704716b7c7f0770777d7c61567f057b75767b23066a6c7b6a6d6b0642263a4437330b75786a6d50777d7c61567f01360476697c77035e5c4d0b786b6b78607b6c7f7f7c6b0c6b7c6a6976776a7c4d60697c046a7c777d086b7c6a6976776a7c05696b70776d0375767e047b70777d08696b70776d5c6b6b046e786b7709786b7e6c747c776d6a0b6d71706a496b767e6b787404686c706d0a6e786a745b7077786b600d77765c61706d4b6c776d70747c06767b737c7a6d096c777d7c7f70777c7d1f77763977786d706f7c396e786a74396a6c6969766b6d397d7c6d7c7a6d7c7d046c6d7f21086a6c7b786b6b7860067d7c7a767d7c0c7f6b76745a71786b5a767d7c036a7c6d05515c58492106515c5849282f06515c58492a2b06515c58494c2107515c58494c282f07515c58494c2a2b07515c58495f2a2b07515c58495f2f2d0e5057504d50585546545c54564b40077677587b766b6d08587b766b6d7c7d3101302b37395b6c70757d396e706d7139346a39584a4a5c4b4d5056574a2428397f766b3974766b7c3970777f76370c4b6c776d70747c5c6b6b766b257d786d782378696975707a786d70767736767a6d7c6d346a6d6b7c7874227b786a7c2f2d352f7b766d7139786a60777a3978777d396a60777a397f7c6d7a7170777e39767f396d717c396e786a74397f7870757c7d056a71707f6d047f6c777a06776c747b7c6b03786b7e067c617a496d6b03696d6b086a7c6d466d60697c087e7c6d466d60697c0e6a7c6d467d7c6a6d6b6c7a6d766b0e7e7c6d467d7c6a6d6b6c7a6d766b0c6a7c6d466b7c7f7a766c776d0a6a7c6d467a786c7e716d0a7e7c6d467a786c7e716d0c6a7c6d466b7c6d716b766e770c7e7c6d466b7c6d716b766e77047077706d07787d7d466b7c7f0b6b7c757c786a7c466b7c7f047e6b766e0a7b606d7c557c777e6d71067b6c7f7f7c6b0f696b7c7576787d7c7d5074787e7c6a0f696b7c7576787d7c7d586c7d70766a07786e376e786a740a75767a786d7c5f70757c076a6d6b70777e6a086e7c7b466c6a7c6b044c4a5c4b0755565e5758545c0449584d5103494e5d0e367176747c366e7c7b466c6a7c6b045156545c097578777e6c787e7c6a015a0134014606374c4d5f3421045558575e04696c6a710124077e7c6d4d70747c0b7e7c6d5f6c7575407c786b087e7c6d5476776d71077e7c6d5d786d7c076a7c6d5d786d7c086a7c6d5476776d710b6a7c6d5f6c7575407c786b0171017e01780a7a7669604e706d717077017f0a2b282d2e2d212a2f2d210329372b0374707703747861017c077f766b5c787a71017a017d066d74466a7c7a066d7446747077076d744671766c6b076d7446747d7860066d7446747677076d7446607c786b076d74466e7d7860076d7446607d7860086d7446706a7d6a6d096d74467e746d767f7f076d74466376777c143c78393c7b393c7d393c51233c54233c4a393c40023c7a083c74363c7d363c60023c5d083c40343c74343c7d023c5f023c7b023c710b3c50233c54233c4a393c69023c6b053c51233c54023c4b083c51233c54233c4a023c4d023c61023c41033c5c7a023c5a033c5c5a033c5c61033c5c41023c60033c5c60023c40033c5c40023c7d033c567d023c7c033c567c023c51033c5651023c50033c5650023c74033c5674023c54033c5654023c4a033c564a023c6c033c566c023c4c033c564c023c4f033c564f023c6e033c566e023c4e033c564e033c5660064a6c777d7860065476777d7860074d6c7c6a7d7860094e7c7d777c6a7d7860084d716c6b6a7d7860065f6b707d7860084a786d6c6b7d7860075378776c786b60085f7c7b6b6c786b600554786b7a710558696b70750354786004536c777c04536c756006586c7e6c6a6d094a7c696d7c747b7c6b07567a6d767b7c6b0857766f7c747b7c6b085d7c7a7c747b7c6b086d764a6d6b70777e0129067e7c6d5d7860096a6c7b6a6d6b70777e023c78023c58023c5b0139023c7e023c5e023c730113023c77025854024954023c690110023c6d047a7c7075022928022929022c2a03787b6a01320429292929056a75707a7c023c63023c43013c023c3c0870777a756c7d7c6a017b03786a740170016d0173076c776a71707f6d16747677706d766b4b6c775d7c697c777d7c777a707c6a076b7c6a76756f7c0b6a78747c34766b707e70770b7a6b7c7d7c776d7078756a027672247f7870757c7d396d76397576787d396e786a74397b7077786b60397f70757c39786d393e013e057a786d7a71277f7870757c7d396d7639786a60777a716b7677766c6a756039696b7c69786b7c396e786a7423393354767d6c757c3770776a6d78776d70786d7c4e786a74397a7875757b787a72397f7870757c7d396e706d71397c6b6b766b23391f6e786a74396a6d6b7c787470777e397a76746970757c397f7870757c7d2339297f78757570777e397b787a72396d7639586b6b78605b6c7f7f7c6b3970776a6d78776d70786d707677124646466e786a74467a787575467a6d766b6a0578696975600172074674787575767a017505467f6b7c7c0174084676697c775b7661017709467d7c6a7a6b60696d01760f467d7c6a7a6b60696d527d6a527c6001690b467d7c7a6b60696d527c6001680c467d7c6a7a6b60696d5a5b5a016b08466b7c757c786a7c016a07466a7c6d4b786e016c096a6d787a724a786f7c016f0c6a6d787a724b7c6a6d766b7c016e0a6a6d787a72587575767a097a7875757c7d4b6c771476774b6c776d70747c5077706d70787570637c7d0769766a6d4b6c7706696b7c4b6c77096a7c6d4a6d786d6c6a0a4b6c777770777e3737371270776d586b6b78605f6b76744a6d6b70777e066a6d6b70777e05786b6b7860077b7676757c7877057a7a7875750c4c4d5f214d764a6d6b70777e0c787575767a786d7c4c4d5f21036b6c7707696b7c5077706d03697669056b7c787d600d6e706d714b7c6a76756f7c6b6a066b7c737c7a6d07696b7674706a7c03727c60056f78756c7c085a5c575a46525c400751554a46525c400674767d6c757c0b7d7c6a7a6b60696d527c6004786d767b087d7c6a7a6b60696d0e7d7c6a7a6b60696d527d6a527c600b7d7c6a7a6b60696d5a5b5a066a7c6d4b786e077d7c6a6d6b7660012001630a7a76776f7c6b6d527c600a7a76776f7c6b6d557c77047376707706747c6d71767d09747c6d71767d557c77022828022b2b097869697d7c6f707a7c096e7c7b7d7c6f707a7c06786969466f2b066e7c7b466f2b057470615077057a7576777c0b7a76776a6d6b6c7a6d766b067a6b7c786d7c0a7b606d7c567f7f6a7c6d056e766b7d6a086a707e5b606d7c6a096a6d6b70777e707f60067a76777a786d057a757874690a2d2b202d202f2e2b202c047a787575066b78777d76740a2d2b202d202f2e2b202f0329372c0569786b6a7c145478757f766b747c7d394c4d5f3421397d786d780e467470775b6c7f7f7c6b4a70637c056b7c6a7c6d05467d786d780b46775d786d785b606d7c6a07467869697c777d0846696b767a7c6a6a097b75767a724a70637c0f467d76496b767a7c6a6a5b75767a72066a6975707a7c037a7f7e08467d764b7c6a7c6d066c697d786d7c087f7077787570637c0b467d765f7077787570637c0d467a6b7c786d7c517c75697c6b11467a6b7c786d7c5174787a517c75697c6b074671786a717c6b054676527c60054670527c6004467478690429372e2c067a71786b586d0b466b7c6f7c6b6a7c54786941585b5a5d5c5f5e515053525554575649484b4a4d4c4f4e414043787b7a7d7c7f7e717073727574777669686b6a6d6c6f6e61606329282b2a2d2c2f2e2120323624036a70770a2d292b2a2b2a2a2d282e0a2b2c2f2b2a212a28292b054671786a710a2d2b2e212b2c2c2a2f29057f7576766b07727c604a70637c0671786a717c6b0a706d7c6b786d7076776a077a7674696c6d7c0a46617f766b7454767d7c0446727c6007696b767a7c6a6a0f7a6b7c786d7c5c777a6b60696d766b0f465c575a46415f564b544654565d5c0f7a6b7c786d7c5d7c7a6b60696d766b0f465d5c5a46415f564b544654565d5c077c777a6b60696d077d7c7a6b60696d06706f4a70637c07467a7069717c6b0346706f095c777a6b60696d766b095d7c7a6b60696d766b0a46696b7c6f5b75767a720c696b767a7c6a6a5b75767a720c7c777a6b60696d5b75767a720c7d7c7a6b60696d5b75767a720369787d056c7769787d0474767d7c0769787d7d70777e02706f054674767d7c0946467a6b7c786d766b097f766b74786d6d7c6b0a7a7069717c6b6d7c616d046a78756d0978757e766b706d7174067f766b74786d064669786b6a7c077c617c7a6c6d7c03727d7f0846774b766c777d6a0e46727c60496b70766b4b7c6a7c6d0c46727c604a7a717c7d6c757c0f4670776f527c604a7a717c7d6c757c0d467d765a6b60696d5b75767a72056a6975706d0123077c777a5d786d7809696b766d766d60697c07706a586b6b7860066b7c7d6c7a7c0147144237333226473d6264313065424544453645454403453d3f2f6d764a6d6b70777e65317f6c777a6d70767730373326312624454545313065397f766b393732263126244545454430053d28373326013d046d7c6a6d06706a4f707c6e066a6c7b6d757c05787c6a504f07585c4a345a5b5a047778747c087e7c6d4c70776d21097c616978777d527c6009707469766b6d527c60036b786e0a75767e5c77787b757c7d116a767f6d6e786b7c5d7c7a6b60696d7c6b0d6b7c747870777d7c6b5d786d78097a6c6b6b7c776d504f0d7a6c6b6b7c776d4b7c6a6c756d09786e547877787e7c6b0b6e786a74496b7674706a7c126b7c74766f7c49525a4a2e49787d7d70777e067a76777f707e067a6b60696d760c6e7c7b72706d4a6c7b6d757c117c77787b757c4a767f6d6e786b7c585c4a06706a4a60777a057f756c6a7111696b706f786d7c527c605d7c7a6b60696d0474786b72046e6b786904777c616d04696b7c6f037c777d022834026d29106e7c7b5a6b60696d765d7c7a6b60696d096d787e557c777e6d71047d786d78046a7c776d06787b6b6c696d066b7c6d6c6b77046a6d766915696b706f786d7c527c605d7c7a6b60696d4e786a74134a6d6b70777e4d76586b6b78605b6c7f7f7c6b0b5b786a7c2f2d4d76517c610f6a767f6d6e786b7c5d7c7a6b60696d0775767e56777a7c0e534a39585c4a397d7c7a6b60696d0d7e7c6d4f7875707d5a716c7772176e7c7b7a6b60696d76397a717c7a72397f7870756c6b7c37427d7c7a6b60696d7c6b376d6a4423394e7c7b5a6b60696d76395c6b6b766b35397d706a787b757c394e7c7b5a6b60696d7639584950231076774e7c7b5a6b60696d765c6b6b766b0a467d7c7a6b60696d7c6b0f7d7c7a6b60696d397f7870756c6b7c",{get 0(){return"undefined"!=typeof Buffer?Buffer:void 0},get 1(){return"undefined"!=typeof atob?atob:void 0},2:Error,3:Uint8Array,4:WebAssembly,get 5(){return"undefined"!=typeof fetch?fetch:void 0},6:ArrayBuffer,7:Object,get 8(){return self},get 9(){return XMLHttpRequest},get 10(){return console},get 11(){return"undefined"!=typeof TextDecoder?TextDecoder:void 0},12:String,13:Int8Array,14:Int16Array,15:Int32Array,16:Uint16Array,17:Uint32Array,18:Float32Array,19:Float64Array,get 20(){return"undefined"!=typeof navigator?navigator:void 0},21:Date,22:Array,23:Math,24:RegExp,25:Promise,get 26(){return setTimeout},27:Boolean,28:Number,29:Uint8ClampedArray,30:parseInt,31:decodeURIComponent,get 32(){return escape},get 33(){return unescape},34:encodeURIComponent,35:Function,36:DataView,get 37(){return Pe},get 38(){return _e},get 39(){return ye},get 40(){return me},get 41(){return we},get 42(){return Re},get 43(){return ve},get 44(){return Ae},get 45(){return pe},get 46(){return De},get 47(){return qe.aes4js},get 48(){return qe.TRANSFORM_IV},get 49(){return qe.util},get 50(){return Ue},set 50(e){Ue=e},get 51(){return Ne},set 51(e){Ne=e},get 52(){return Fe},set 52(e){Fe=e},get 53(){return Ge},set 53(e){Ge=e},get 54(){return Ve},set 54(e){Ve=e}},void 0);var ze="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};var He={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},Ke={exports:{}};!function(e,a){const{MAX_SAFE_COMPONENT_LENGTH:c,MAX_SAFE_BUILD_LENGTH:t,MAX_LENGTH:b}=He,r=ze,n=(a=e.exports={}).re=[],i=a.safeRe=[],d=a.src=[],f=a.safeSrc=[],o=a.t={};let s=0;const u="[a-zA-Z0-9-]",l=[["\\s",1],["\\d",b],[u,t]],h=(e,a,c)=>{const t=(e=>{for(const[a,c]of l)e=e.split(`${a}*`).join(`${a}{0,${c}}`).split(`${a}+`).join(`${a}{1,${c}}`);return e})(a),b=s++;r(e,b,a),o[e]=b,d[b]=a,f[b]=t,n[b]=new RegExp(a,c?"g":void 0),i[b]=new RegExp(t,c?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${u}*`),h("MAINVERSION",`(${d[o.NUMERICIDENTIFIER]})\\.(${d[o.NUMERICIDENTIFIER]})\\.(${d[o.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${d[o.NUMERICIDENTIFIERLOOSE]})\\.(${d[o.NUMERICIDENTIFIERLOOSE]})\\.(${d[o.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${d[o.NUMERICIDENTIFIER]}|${d[o.NONNUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${d[o.NUMERICIDENTIFIERLOOSE]}|${d[o.NONNUMERICIDENTIFIER]})`),h("PRERELEASE",`(?:-(${d[o.PRERELEASEIDENTIFIER]}(?:\\.${d[o.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${d[o.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${d[o.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${u}+`),h("BUILD",`(?:\\+(${d[o.BUILDIDENTIFIER]}(?:\\.${d[o.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${d[o.MAINVERSION]}${d[o.PRERELEASE]}?${d[o.BUILD]}?`),h("FULL",`^${d[o.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${d[o.MAINVERSIONLOOSE]}${d[o.PRERELEASELOOSE]}?${d[o.BUILD]}?`),h("LOOSE",`^${d[o.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${d[o.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${d[o.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${d[o.XRANGEIDENTIFIER]})(?:\\.(${d[o.XRANGEIDENTIFIER]})(?:\\.(${d[o.XRANGEIDENTIFIER]})(?:${d[o.PRERELEASE]})?${d[o.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${d[o.XRANGEIDENTIFIERLOOSE]})(?:\\.(${d[o.XRANGEIDENTIFIERLOOSE]})(?:\\.(${d[o.XRANGEIDENTIFIERLOOSE]})(?:${d[o.PRERELEASELOOSE]})?${d[o.BUILD]}?)?)?`),h("XRANGE",`^${d[o.GTLT]}\\s*${d[o.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${d[o.GTLT]}\\s*${d[o.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${c}})(?:\\.(\\d{1,${c}}))?(?:\\.(\\d{1,${c}}))?`),h("COERCE",`${d[o.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",d[o.COERCEPLAIN]+`(?:${d[o.PRERELEASE]})?(?:${d[o.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",d[o.COERCE],!0),h("COERCERTLFULL",d[o.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${d[o.LONETILDE]}\\s+`,!0),a.tildeTrimReplace="$1~",h("TILDE",`^${d[o.LONETILDE]}${d[o.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${d[o.LONETILDE]}${d[o.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${d[o.LONECARET]}\\s+`,!0),a.caretTrimReplace="$1^",h("CARET",`^${d[o.LONECARET]}${d[o.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${d[o.LONECARET]}${d[o.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${d[o.GTLT]}\\s*(${d[o.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${d[o.GTLT]}\\s*(${d[o.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${d[o.GTLT]}\\s*(${d[o.LOOSEPLAIN]}|${d[o.XRANGEPLAIN]})`,!0),a.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${d[o.XRANGEPLAIN]})\\s+-\\s+(${d[o.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${d[o.XRANGEPLAINLOOSE]})\\s+-\\s+(${d[o.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(Ke,Ke.exports);var $e=Ke.exports;const We=Object.freeze({loose:!0}),Ye=Object.freeze({});var Xe=e=>e?"object"!=typeof e?We:e:Ye;const Qe=/^[0-9]+$/,Je=(e,a)=>{const c=Qe.test(e),t=Qe.test(a);return c&&t&&(e=+e,a=+a),e===a?0:c&&!t?-1:t&&!c?1:e<a?-1:1};var Ze={compareIdentifiers:Je,rcompareIdentifiers:(e,a)=>Je(a,e)};const ea=ze,{MAX_LENGTH:aa,MAX_SAFE_INTEGER:ca}=He,{safeRe:ta,safeSrc:ba,t:ra}=$e,na=Xe,{compareIdentifiers:ia}=Ze;const da=class e{constructor(a,c){if(c=na(c),a instanceof e){if(a.loose===!!c.loose&&a.includePrerelease===!!c.includePrerelease)return a;a=a.version}else if("string"!=typeof a)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof a}".`);if(a.length>aa)throw new TypeError(`version is longer than ${aa} characters`);ea("SemVer",a,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;const t=a.trim().match(c.loose?ta[ra.LOOSE]:ta[ra.FULL]);if(!t)throw new TypeError(`Invalid Version: ${a}`);if(this.raw=a,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>ca||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ca||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ca||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const a=+e;if(a>=0&&a<ca)return a}return e})):this.prerelease=[],this.build=t[5]?t[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(a){if(ea("SemVer.compare",this.version,this.options,a),!(a instanceof e)){if("string"==typeof a&&a===this.version)return 0;a=new e(a,this.options)}return a.version===this.version?0:this.compareMain(a)||this.comparePre(a)}compareMain(a){return a instanceof e||(a=new e(a,this.options)),ia(this.major,a.major)||ia(this.minor,a.minor)||ia(this.patch,a.patch)}comparePre(a){if(a instanceof e||(a=new e(a,this.options)),this.prerelease.length&&!a.prerelease.length)return-1;if(!this.prerelease.length&&a.prerelease.length)return 1;if(!this.prerelease.length&&!a.prerelease.length)return 0;let c=0;do{const e=this.prerelease[c],t=a.prerelease[c];if(ea("prerelease compare",c,e,t),void 0===e&&void 0===t)return 0;if(void 0===t)return 1;if(void 0===e)return-1;if(e!==t)return ia(e,t)}while(++c)}compareBuild(a){a instanceof e||(a=new e(a,this.options));let c=0;do{const e=this.build[c],t=a.build[c];if(ea("build compare",c,e,t),void 0===e&&void 0===t)return 0;if(void 0===t)return 1;if(void 0===e)return-1;if(e!==t)return ia(e,t)}while(++c)}inc(e,a,c){if(e.startsWith("pre")){if(!a&&!1===c)throw new Error("invalid increment argument: identifier is empty");if(a){const e=new RegExp(`^${this.options.loose?ba[ra.PRERELEASELOOSE]:ba[ra.PRERELEASE]}$`),c=`-${a}`.match(e);if(!c||c[1]!==a)throw new Error(`invalid identifier: ${a}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",a,c);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",a,c);break;case"prepatch":this.prerelease.length=0,this.inc("patch",a,c),this.inc("pre",a,c);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",a,c),this.inc("pre",a,c);break;case"release":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(c)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let t=this.prerelease.length;for(;--t>=0;)"number"==typeof this.prerelease[t]&&(this.prerelease[t]++,t=-2);if(-1===t){if(a===this.prerelease.join(".")&&!1===c)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(a){let t=[a,e];!1===c&&(t=[a]),0===ia(this.prerelease[0],a)?isNaN(this.prerelease[1])&&(this.prerelease=t):this.prerelease=t}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};var fa,oa,sa,ua,la,ha=Me(((e,a,c=!1)=>{if(e instanceof da)return e;try{return new da(e,a)}catch(t){if(!c)return null;throw t}})),pa={exports:{}};fa=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,oa=/^(?=([^\/?#]*))\1([^]*)$/,sa=/(?:\/|^)\.(?=\/)/g,ua=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,pa.exports=la={buildAbsoluteURL:function(e,a,c){if(c=c||{},e=e.trim(),!(a=a.trim())){if(!c.alwaysNormalize)return e;var t=la.parseURL(e);if(!t)throw new Error("Error trying to parse base URL.");return t.path=la.normalizePath(t.path),la.buildURLFromParts(t)}var b=la.parseURL(a);if(!b)throw new Error("Error trying to parse relative URL.");if(b.scheme)return c.alwaysNormalize?(b.path=la.normalizePath(b.path),la.buildURLFromParts(b)):a;var r=la.parseURL(e);if(!r)throw new Error("Error trying to parse base URL.");if(!r.netLoc&&r.path&&"/"!==r.path[0]){var n=oa.exec(r.path);r.netLoc=n[1],r.path=n[2]}r.netLoc&&!r.path&&(r.path="/");var i={scheme:r.scheme,netLoc:b.netLoc,path:null,params:b.params,query:b.query,fragment:b.fragment};if(!b.netLoc&&(i.netLoc=r.netLoc,"/"!==b.path[0]))if(b.path){var d=r.path,f=d.substring(0,d.lastIndexOf("/")+1)+b.path;i.path=la.normalizePath(f)}else i.path=r.path,b.params||(i.params=r.params,b.query||(i.query=r.query));return null===i.path&&(i.path=c.alwaysNormalize?la.normalizePath(b.path):b.path),la.buildURLFromParts(i)},parseURL:function(e){var a=fa.exec(e);return a?{scheme:a[1]||"",netLoc:a[2]||"",path:a[3]||"",params:a[4]||"",query:a[5]||"",fragment:a[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(sa,"");e.length!==(e=e.replace(ua,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}};var va=Me(pa.exports);function ya(e,a){var c=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),c.push.apply(c,t)}return c}function ma(e){for(var a=1;a<arguments.length;a++){var c=null!=arguments[a]?arguments[a]:{};a%2?ya(Object(c),!0).forEach((function(a){Ta(e,a,c[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(c)):ya(Object(c)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(c,a))}))}return e}function ga(){ga=function(){return e};var e={},a=Object.prototype,c=a.hasOwnProperty,t=Object.defineProperty||function(e,a,c){e[a]=c.value},b="function"==typeof Symbol?Symbol:{},r=b.iterator||"@@iterator",n=b.asyncIterator||"@@asyncIterator",i=b.toStringTag||"@@toStringTag";function d(e,a,c){return Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}),e[a]}try{d({},"")}catch(I){d=function(e,a,c){return e[a]=c}}function f(e,a,c,b){var r=a&&a.prototype instanceof u?a:u,n=Object.create(r.prototype),i=new x(b||[]);return t(n,"_invoke",{value:k(e,c,i)}),n}function o(e,a,c){try{return{type:"normal",arg:e.call(a,c)}}catch(I){return{type:"throw",arg:I}}}e.wrap=f;var s={};function u(){}function l(){}function h(){}var p={};d(p,r,(function(){return this}));var v=Object.getPrototypeOf,y=v&&v(v(T([])));y&&y!==a&&c.call(y,r)&&(p=y);var m=h.prototype=u.prototype=Object.create(p);function g(e){["next","throw","return"].forEach((function(a){d(e,a,(function(e){return this._invoke(a,e)}))}))}function _(e,a){function b(t,r,n,i){var d=o(e[t],e,r);if("throw"!==d.type){var f=d.arg,s=f.value;return s&&"object"==typeof s&&c.call(s,"__await")?a.resolve(s.__await).then((function(e){b("next",e,n,i)}),(function(e){b("throw",e,n,i)})):a.resolve(s).then((function(e){f.value=e,n(f)}),(function(e){return b("throw",e,n,i)}))}i(d.arg)}var r;t(this,"_invoke",{value:function(e,c){function t(){return new a((function(a,t){b(e,c,a,t)}))}return r=r?r.then(t,t):t()}})}function k(e,a,c){var t="suspendedStart";return function(b,r){if("executing"===t)throw new Error("Generator is already running");if("completed"===t){if("throw"===b)throw r;return{value:void 0,done:!0}}for(c.method=b,c.arg=r;;){var n=c.delegate;if(n){var i=E(n,c);if(i){if(i===s)continue;return i}}if("next"===c.method)c.sent=c._sent=c.arg;else if("throw"===c.method){if("suspendedStart"===t)throw t="completed",c.arg;c.dispatchException(c.arg)}else"return"===c.method&&c.abrupt("return",c.arg);t="executing";var d=o(e,a,c);if("normal"===d.type){if(t=c.done?"completed":"suspendedYield",d.arg===s)continue;return{value:d.arg,done:c.done}}"throw"===d.type&&(t="completed",c.method="throw",c.arg=d.arg)}}}function E(e,a){var c=a.method,t=e.iterator[c];if(void 0===t)return a.delegate=null,"throw"===c&&e.iterator.return&&(a.method="return",a.arg=void 0,E(e,a),"throw"===a.method)||"return"!==c&&(a.method="throw",a.arg=new TypeError("The iterator does not provide a '"+c+"' method")),s;var b=o(t,e.iterator,a.arg);if("throw"===b.type)return a.method="throw",a.arg=b.arg,a.delegate=null,s;var r=b.arg;return r?r.done?(a[e.resultName]=r.value,a.next=e.nextLoc,"return"!==a.method&&(a.method="next",a.arg=void 0),a.delegate=null,s):r:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,s)}function S(e){var a={tryLoc:e[0]};1 in e&&(a.catchLoc=e[1]),2 in e&&(a.finallyLoc=e[2],a.afterLoc=e[3]),this.tryEntries.push(a)}function w(e){var a=e.completion||{};a.type="normal",delete a.arg,e.completion=a}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function T(e){if(e){var a=e[r];if(a)return a.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var t=-1,b=function a(){for(;++t<e.length;)if(c.call(e,t))return a.value=e[t],a.done=!1,a;return a.value=void 0,a.done=!0,a};return b.next=b}}return{next:A}}function A(){return{value:void 0,done:!0}}return l.prototype=h,t(m,"constructor",{value:h,configurable:!0}),t(h,"constructor",{value:l,configurable:!0}),l.displayName=d(h,i,"GeneratorFunction"),e.isGeneratorFunction=function(e){var a="function"==typeof e&&e.constructor;return!!a&&(a===l||"GeneratorFunction"===(a.displayName||a.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,d(e,i,"GeneratorFunction")),e.prototype=Object.create(m),e},e.awrap=function(e){return{__await:e}},g(_.prototype),d(_.prototype,n,(function(){return this})),e.AsyncIterator=_,e.async=function(a,c,t,b,r){void 0===r&&(r=Promise);var n=new _(f(a,c,t,b),r);return e.isGeneratorFunction(c)?n:n.next().then((function(e){return e.done?e.value:n.next()}))},g(m),d(m,i,"Generator"),d(m,r,(function(){return this})),d(m,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var a=Object(e),c=[];for(var t in a)c.push(t);return c.reverse(),function e(){for(;c.length;){var t=c.pop();if(t in a)return e.value=t,e.done=!1,e}return e.done=!0,e}},e.values=T,x.prototype={constructor:x,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!e)for(var a in this)"t"===a.charAt(0)&&c.call(this,a)&&!isNaN(+a.slice(1))&&(this[a]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var a=this;function t(c,t){return n.type="throw",n.arg=e,a.next=c,t&&(a.method="next",a.arg=void 0),!!t}for(var b=this.tryEntries.length-1;b>=0;--b){var r=this.tryEntries[b],n=r.completion;if("root"===r.tryLoc)return t("end");if(r.tryLoc<=this.prev){var i=c.call(r,"catchLoc"),d=c.call(r,"finallyLoc");if(i&&d){if(this.prev<r.catchLoc)return t(r.catchLoc,!0);if(this.prev<r.finallyLoc)return t(r.finallyLoc)}else if(i){if(this.prev<r.catchLoc)return t(r.catchLoc,!0)}else{if(!d)throw new Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return t(r.finallyLoc)}}}},abrupt:function(e,a){for(var t=this.tryEntries.length-1;t>=0;--t){var b=this.tryEntries[t];if(b.tryLoc<=this.prev&&c.call(b,"finallyLoc")&&this.prev<b.finallyLoc){var r=b;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=a&&a<=r.finallyLoc&&(r=null);var n=r?r.completion:{};return n.type=e,n.arg=a,r?(this.method="next",this.next=r.finallyLoc,s):this.complete(n)},complete:function(e,a){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&a&&(this.next=a),s},finish:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.finallyLoc===e)return this.complete(c.completion,c.afterLoc),w(c),s}},catch:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.tryLoc===e){var t=c.completion;if("throw"===t.type){var b=t.arg;w(c)}return b}}throw new Error("illegal catch attempt")},delegateYield:function(e,a,c){return this.delegate={iterator:T(e),resultName:a,nextLoc:c},"next"===this.method&&(this.arg=void 0),s}},e}function _a(e){return(_a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ka(e,a,c,t,b,r,n){try{var i=e[r](n),d=i.value}catch(f){return void c(f)}i.done?a(d):Promise.resolve(d).then(t,b)}function Ea(e){return function(){var a=this,c=arguments;return new Promise((function(t,b){var r=e.apply(a,c);function n(e){ka(r,t,b,n,i,"next",e)}function i(e){ka(r,t,b,n,i,"throw",e)}n(void 0)}))}}function Sa(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}function wa(e,a){for(var c=0;c<a.length;c++){var t=a[c];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,Ba(t.key),t)}}function xa(e,a,c){return a&&wa(e.prototype,a),c&&wa(e,c),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ta(e,a,c){return(a=Ba(a))in e?Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):e[a]=c,e}function Aa(e,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(a&&a.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),a&&Da(e,a)}function Ia(e){return(Ia=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Da(e,a){return(Da=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,a){return e.__proto__=a,e})(e,a)}function Oa(e,a){if(null==e)return{};var c,t,b=function(e,a){if(null==e)return{};var c,t,b={},r=Object.keys(e);for(t=0;t<r.length;t++)c=r[t],a.indexOf(c)>=0||(b[c]=e[c]);return b}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t<r.length;t++)c=r[t],a.indexOf(c)>=0||Object.prototype.propertyIsEnumerable.call(e,c)&&(b[c]=e[c])}return b}function Ra(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function La(e){var a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var c,t=Ia(e);if(a){var b=Ia(this).constructor;c=Reflect.construct(t,arguments,b)}else c=t.apply(this,arguments);return function(e,a){if(a&&("object"==typeof a||"function"==typeof a))return a;if(void 0!==a)throw new TypeError("Derived constructors may only return object or undefined");return Ra(e)}(this,c)}}function Ca(e,a){return function(e){if(Array.isArray(e))return e}(e)||function(e,a){var c=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=c){var t,b,r,n,i=[],d=!0,f=!1;try{if(r=(c=c.call(e)).next,0===a){if(Object(c)!==c)return;d=!1}else for(;!(d=(t=r.call(c)).done)&&(i.push(t.value),i.length!==a);d=!0);}catch(o){f=!0,b=o}finally{try{if(!d&&null!=c.return&&(n=c.return(),Object(n)!==n))return}finally{if(f)throw b}}return i}}(e,a)||ja(e,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pa(e){return function(e){if(Array.isArray(e))return Ma(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ja(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ja(e,a){if(e){if("string"==typeof e)return Ma(e,a);var c=Object.prototype.toString.call(e).slice(8,-1);return"Object"===c&&e.constructor&&(c=e.constructor.name),"Map"===c||"Set"===c?Array.from(e):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?Ma(e,a):void 0}}function Ma(e,a){(null==a||a>e.length)&&(a=e.length);for(var c=0,t=new Array(a);c<a;c++)t[c]=e[c];return t}function Ba(e){var a=function(e,a){if("object"!=typeof e||null===e)return e;var c=e[Symbol.toPrimitive];if(void 0!==c){var t=c.call(e,a||"default");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(e)}(e,"string");return"symbol"==typeof a?a:String(a)}function Ua(e,a){var c=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),c.push.apply(c,t)}return c}function Na(e){for(var a=1;a<arguments.length;a++){var c=null!=arguments[a]?arguments[a]:{};a%2?Ua(Object(c),!0).forEach((function(a){$a(e,a,c[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(c)):Ua(Object(c)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(c,a))}))}return e}function Fa(){Fa=function(){return e};var e={},a=Object.prototype,c=a.hasOwnProperty,t=Object.defineProperty||function(e,a,c){e[a]=c.value},b="function"==typeof Symbol?Symbol:{},r=b.iterator||"@@iterator",n=b.asyncIterator||"@@asyncIterator",i=b.toStringTag||"@@toStringTag";function d(e,a,c){return Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}),e[a]}try{d({},"")}catch(I){d=function(e,a,c){return e[a]=c}}function f(e,a,c,b){var r=a&&a.prototype instanceof u?a:u,n=Object.create(r.prototype),i=new x(b||[]);return t(n,"_invoke",{value:k(e,c,i)}),n}function o(e,a,c){try{return{type:"normal",arg:e.call(a,c)}}catch(I){return{type:"throw",arg:I}}}e.wrap=f;var s={};function u(){}function l(){}function h(){}var p={};d(p,r,(function(){return this}));var v=Object.getPrototypeOf,y=v&&v(v(T([])));y&&y!==a&&c.call(y,r)&&(p=y);var m=h.prototype=u.prototype=Object.create(p);function g(e){["next","throw","return"].forEach((function(a){d(e,a,(function(e){return this._invoke(a,e)}))}))}function _(e,a){function b(t,r,n,i){var d=o(e[t],e,r);if("throw"!==d.type){var f=d.arg,s=f.value;return s&&"object"==typeof s&&c.call(s,"__await")?a.resolve(s.__await).then((function(e){b("next",e,n,i)}),(function(e){b("throw",e,n,i)})):a.resolve(s).then((function(e){f.value=e,n(f)}),(function(e){return b("throw",e,n,i)}))}i(d.arg)}var r;t(this,"_invoke",{value:function(e,c){function t(){return new a((function(a,t){b(e,c,a,t)}))}return r=r?r.then(t,t):t()}})}function k(e,a,c){var t="suspendedStart";return function(b,r){if("executing"===t)throw new Error("Generator is already running");if("completed"===t){if("throw"===b)throw r;return{value:void 0,done:!0}}for(c.method=b,c.arg=r;;){var n=c.delegate;if(n){var i=E(n,c);if(i){if(i===s)continue;return i}}if("next"===c.method)c.sent=c._sent=c.arg;else if("throw"===c.method){if("suspendedStart"===t)throw t="completed",c.arg;c.dispatchException(c.arg)}else"return"===c.method&&c.abrupt("return",c.arg);t="executing";var d=o(e,a,c);if("normal"===d.type){if(t=c.done?"completed":"suspendedYield",d.arg===s)continue;return{value:d.arg,done:c.done}}"throw"===d.type&&(t="completed",c.method="throw",c.arg=d.arg)}}}function E(e,a){var c=a.method,t=e.iterator[c];if(void 0===t)return a.delegate=null,"throw"===c&&e.iterator.return&&(a.method="return",a.arg=void 0,E(e,a),"throw"===a.method)||"return"!==c&&(a.method="throw",a.arg=new TypeError("The iterator does not provide a '"+c+"' method")),s;var b=o(t,e.iterator,a.arg);if("throw"===b.type)return a.method="throw",a.arg=b.arg,a.delegate=null,s;var r=b.arg;return r?r.done?(a[e.resultName]=r.value,a.next=e.nextLoc,"return"!==a.method&&(a.method="next",a.arg=void 0),a.delegate=null,s):r:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,s)}function S(e){var a={tryLoc:e[0]};1 in e&&(a.catchLoc=e[1]),2 in e&&(a.finallyLoc=e[2],a.afterLoc=e[3]),this.tryEntries.push(a)}function w(e){var a=e.completion||{};a.type="normal",delete a.arg,e.completion=a}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function T(e){if(e){var a=e[r];if(a)return a.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var t=-1,b=function a(){for(;++t<e.length;)if(c.call(e,t))return a.value=e[t],a.done=!1,a;return a.value=void 0,a.done=!0,a};return b.next=b}}return{next:A}}function A(){return{value:void 0,done:!0}}return l.prototype=h,t(m,"constructor",{value:h,configurable:!0}),t(h,"constructor",{value:l,configurable:!0}),l.displayName=d(h,i,"GeneratorFunction"),e.isGeneratorFunction=function(e){var a="function"==typeof e&&e.constructor;return!!a&&(a===l||"GeneratorFunction"===(a.displayName||a.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,d(e,i,"GeneratorFunction")),e.prototype=Object.create(m),e},e.awrap=function(e){return{__await:e}},g(_.prototype),d(_.prototype,n,(function(){return this})),e.AsyncIterator=_,e.async=function(a,c,t,b,r){void 0===r&&(r=Promise);var n=new _(f(a,c,t,b),r);return e.isGeneratorFunction(c)?n:n.next().then((function(e){return e.done?e.value:n.next()}))},g(m),d(m,i,"Generator"),d(m,r,(function(){return this})),d(m,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var a=Object(e),c=[];for(var t in a)c.push(t);return c.reverse(),function e(){for(;c.length;){var t=c.pop();if(t in a)return e.value=t,e.done=!1,e}return e.done=!0,e}},e.values=T,x.prototype={constructor:x,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!e)for(var a in this)"t"===a.charAt(0)&&c.call(this,a)&&!isNaN(+a.slice(1))&&(this[a]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var a=this;function t(c,t){return n.type="throw",n.arg=e,a.next=c,t&&(a.method="next",a.arg=void 0),!!t}for(var b=this.tryEntries.length-1;b>=0;--b){var r=this.tryEntries[b],n=r.completion;if("root"===r.tryLoc)return t("end");if(r.tryLoc<=this.prev){var i=c.call(r,"catchLoc"),d=c.call(r,"finallyLoc");if(i&&d){if(this.prev<r.catchLoc)return t(r.catchLoc,!0);if(this.prev<r.finallyLoc)return t(r.finallyLoc)}else if(i){if(this.prev<r.catchLoc)return t(r.catchLoc,!0)}else{if(!d)throw new Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return t(r.finallyLoc)}}}},abrupt:function(e,a){for(var t=this.tryEntries.length-1;t>=0;--t){var b=this.tryEntries[t];if(b.tryLoc<=this.prev&&c.call(b,"finallyLoc")&&this.prev<b.finallyLoc){var r=b;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=a&&a<=r.finallyLoc&&(r=null);var n=r?r.completion:{};return n.type=e,n.arg=a,r?(this.method="next",this.next=r.finallyLoc,s):this.complete(n)},complete:function(e,a){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&a&&(this.next=a),s},finish:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.finallyLoc===e)return this.complete(c.completion,c.afterLoc),w(c),s}},catch:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.tryLoc===e){var t=c.completion;if("throw"===t.type){var b=t.arg;w(c)}return b}}throw new Error("illegal catch attempt")},delegateYield:function(e,a,c){return this.delegate={iterator:T(e),resultName:a,nextLoc:c},"next"===this.method&&(this.arg=void 0),s}},e}function Ga(e){return(Ga="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Va(e,a,c,t,b,r,n){try{var i=e[r](n),d=i.value}catch(f){return void c(f)}i.done?a(d):Promise.resolve(d).then(t,b)}function qa(e){return function(){var a=this,c=arguments;return new Promise((function(t,b){var r=e.apply(a,c);function n(e){Va(r,t,b,n,i,"next",e)}function i(e){Va(r,t,b,n,i,"throw",e)}n(void 0)}))}}function za(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}function Ha(e,a){for(var c=0;c<a.length;c++){var t=a[c];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,nc(t.key),t)}}function Ka(e,a,c){return a&&Ha(e.prototype,a),c&&Ha(e,c),Object.defineProperty(e,"prototype",{writable:!1}),e}function $a(e,a,c){return(a=nc(a))in e?Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):e[a]=c,e}function Wa(e,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(a&&a.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),a&&Xa(e,a)}function Ya(e){return(Ya=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Xa(e,a){return(Xa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,a){return e.__proto__=a,e})(e,a)}function Qa(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function Ja(e,a,c){return(Ja=Qa()?Reflect.construct.bind():function(e,a,c){var t=[null];t.push.apply(t,a);var b=new(Function.bind.apply(e,t));return c&&Xa(b,c.prototype),b}).apply(null,arguments)}function Za(e){var a="function"==typeof Map?new Map:void 0;return Za=function(e){if(null===e||(c=e,-1===Function.toString.call(c).indexOf("[native code]")))return e;var c;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==a){if(a.has(e))return a.get(e);a.set(e,t)}function t(){return Ja(e,arguments,Ya(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Xa(t,e)},Za(e)}function ec(e,a){if(null==e)return{};var c,t,b=function(e,a){if(null==e)return{};var c,t,b={},r=Object.keys(e);for(t=0;t<r.length;t++)c=r[t],a.indexOf(c)>=0||(b[c]=e[c]);return b}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t<r.length;t++)c=r[t],a.indexOf(c)>=0||Object.prototype.propertyIsEnumerable.call(e,c)&&(b[c]=e[c])}return b}function ac(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function cc(e){var a=Qa();return function(){var c,t=Ya(e);if(a){var b=Ya(this).constructor;c=Reflect.construct(t,arguments,b)}else c=t.apply(this,arguments);return function(e,a){if(a&&("object"==typeof a||"function"==typeof a))return a;if(void 0!==a)throw new TypeError("Derived constructors may only return object or undefined");return ac(e)}(this,c)}}function tc(){return tc="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,a,c){var t=function(e,a){for(;!Object.prototype.hasOwnProperty.call(e,a)&&null!==(e=Ya(e)););return e}(e,a);if(t){var b=Object.getOwnPropertyDescriptor(t,a);return b.get?b.get.call(arguments.length<3?e:c):b.value}},tc.apply(this,arguments)}function bc(e,a){(null==a||a>e.length)&&(a=e.length);for(var c=0,t=new Array(a);c<a;c++)t[c]=e[c];return t}function rc(e,a){var c="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!c){if(Array.isArray(e)||(c=function(e,a){if(e){if("string"==typeof e)return bc(e,a);var c=Object.prototype.toString.call(e).slice(8,-1);return"Object"===c&&e.constructor&&(c=e.constructor.name),"Map"===c||"Set"===c?Array.from(e):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?bc(e,a):void 0}}(e))||a&&e&&"number"==typeof e.length){c&&(e=c);var t=0,b=function(){};return{s:b,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:b}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,n=!0,i=!1;return{s:function(){c=c.call(e)},n:function(){var e=c.next();return n=e.done,e},e:function(e){i=!0,r=e},f:function(){try{n||null==c.return||c.return()}finally{if(i)throw r}}}}function nc(e){var a=function(e,a){if("object"!=typeof e||null===e)return e;var c=e[Symbol.toPrimitive];if(void 0!==c){var t=c.call(e,a||"default");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(e)}(e,"string");return"symbol"==typeof a?a:String(a)}var ic,dc=function(){function e(){za(this,e)}return Ka(e,null,[{key:"start",value:function(e){return e&&e.length?1===e.length&&e.end(0)-e.start(0)<1e-6||1===e.length&&e.start(0)<0?0:e.start(0):0}},{key:"end",value:function(e){return e&&e.length?1===e.length&&e.end(0)-e.start(0)<1e-6?0:e.end(e.length-1):0}},{key:"get",value:function(e){if(e)try{return e.buffered}catch(a){}}},{key:"buffers",value:function(e,a){if(!e||!e.length)return[];for(var c=[],t=0,b=e.length;t<b;t++){var r=c.length;if(r&&a){var n=c[r-1],i=n[1];if(e.start(t)-i<=a){var d=e.end(t);d>i&&(n[1]=d)}else c.push([e.start(t),e.end(t)])}else c.push([e.start(t),e.end(t)])}return c}},{key:"totalLength",value:function(e){return e&&e.length?e.reduce((function(e,a){return e+(a[1]-a[0])}),0):0}},{key:"info",value:function(a){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!a||!a.length)return{start:0,end:0,buffers:[]};for(var b=0,r=0,n=0,i=0,d=0,f=0,o=0,s=e.buffers(a,t),u=0,l=s.length;u<l;u++){var h=s[u];if(c+t>=h[0]&&c<=h[1])b=h[0],r=h[1],n=u;else{if(c+t<h[0]){i=h[0],d=h[1];break}c+t>h[1]&&(f=h[0],o=h[1])}}return{start:b,end:r,index:n,buffers:s,nextStart:i,nextEnd:d,prevStart:f,prevEnd:o,currentTime:c,behind:c-b,remaining:r?r-c:0,length:e.totalLength&&e.totalLength(s)}}},{key:"isBuffered",value:function(a,c){if(a){var t=e.get(a);if(null!=t&&t.length)for(var b=0;b<t.length;b++)if(c>=t.start(b)&&c<=t.end(b))return!0}return!1}}]),e}(),fc="undefined"!=typeof window,oc="manifest",sc="network",uc="network_timeout",lc="network_forbidden",hc="network_notfound",pc="network_range_not_satisfiable",vc="demux",yc="remux",mc="media",gc="drm",_c="other",kc="runtime",Ec={FLV:"FLV",HLS:"HLS",MP4:"MP4",FMP4:"FMP4",MSE_ADD_SB:"MSE_ADD_SB",MSE_APPEND_BUFFER:"MSE_APPEND_BUFFER",MSE_OTHER:"MSE_OTHER",MSE_FULL:"MSE_FULL",MSE_CHANGE_TYPE:"MSE_CHANGE_TYPE",OPTION:"OPTION",DASH:"DASH",LICENSE:"LICENSE",CUSTOM_LICENSE:"CUSTOM_LICENSE",MSE_HIJACK:"MSE_HIJACK",EME_HIJACK:"EME_HIJACK",SIDX:"SIDX",NO_CANPLAY_ERROR:"NO_CANPLAY_ERROR",BUFFERBREAK_ERROR:"BUFFERBREAK_ERROR",WAITING_TIMEOUT_ERROR:"WAITING_TIMEOUT_ERROR",MEDIA_ERR_ABORTED:"MEDIA_ERR_ABORTED",MEDIA_ERR_NETWORK:"MEDIA_ERR_NETWORK",MEDIA_ERR_DECODE:"MEDIA_ERR_DECODE",MEDIA_ERR_SRC_NOT_SUPPORTED:"MEDIA_ERR_SRC_NOT_SUPPORTED",MEDIA_ERR_CODEC_NOT_SUPPORTED:"MEDIA_ERR_CODEC_NOT_SUPPORTED",MEDIA_ERR_URL_EMPTY:"MEDIA_ERR_URL_EMPTY"},Sc=($a(ic={},oc,{HLS:1100,DASH:1200}),$a(ic,sc,2100),$a(ic,uc,2101),$a(ic,lc,2103),$a(ic,hc,2104),$a(ic,pc,2116),$a(ic,vc,{FLV:3100,HLS:3200,MP4:3300,FMP4:3400,SIDX:3410}),$a(ic,yc,{FMP4:4100,MP4:4200}),$a(ic,mc,{MEDIA_ERR_ABORTED:5101,MEDIA_ERR_NETWORK:5102,MEDIA_ERR_DECODE:5103,MEDIA_ERR_SRC_NOT_SUPPORTED:5104,MEDIA_ERR_CODEC_NOT_SUPPORTED:5105,MEDIA_ERR_URL_EMPTY:5106,MSE_ADD_SB:5200,MSE_APPEND_BUFFER:5201,MSE_OTHER:5202,MSE_FULL:5203,MSE_HIJACK:5204,MSE_CHANGE_TYPE:5205,EME_HIJACK:5301}),$a(ic,gc,{LICENSE:7100,CUSTOM_LICENSE:7200}),$a(ic,_c,8e3),$a(ic,kc,{NO_CANPLAY_ERROR:9001,BUFFERBREAK_ERROR:9002,WAITING_TIMEOUT_ERROR:9003}),ic),wc=function(e){Wa(c,e);var a=cc(c);function c(e,t,b,r,n){var i;return za(this,c),(i=a.call(this,n||(null==b?void 0:b.message))).errorType=e===uc?sc:e,i.originError=b,i.ext=r,i.errorCode=Sc[e][t]||Sc[e],i.errorMessage=i.message,i.errorCode||(i.errorType=_c,i.errorCode=Sc[i.errorType]),i}return Ka(c,null,[{key:"create",value:function(e,a,t,b,r){return e instanceof c?e:(e instanceof Error&&(t=e,e=""),e||(e=_c),new c(e,a,t,b,r))}},{key:"network",value:function(e){var a;return new c(null!=e&&e.isTimeout?uc:sc,null,e instanceof Error?e:null,{url:null==e?void 0:e.url,response:null==e?void 0:e.response,httpCode:null==e||null===(a=e.response)||void 0===a?void 0:a.status})}}]),c}(Za(Error)),xc={DEBUG:1,LOG:2,WARN:3,ERROR:4},Tc=["Boolean","Number","String","Undefined","Null","Date","Object"],Ac=function(){function e(a,c){za(this,e),this.name=a||"",this._prefix="[".concat(this.name,"]"),this.logCacheLevel=(null==c?void 0:c.logCacheLevel)||3,this.logMaxSize=(null==c?void 0:c.logMaxSize)||204800,this.logSize=0,this.logTextArray=[]}return Ka(e,[{key:"debug",value:function(){for(var a,c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];this.logCache.apply(this,[xc.DEBUG].concat(t)),e.disabled||(a=console).debug.apply(a,["[".concat(Ic(),"]"),this._prefix].concat(t))}},{key:"log",value:function(){for(var a,c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];this.logCache.apply(this,[xc.LOG].concat(t)),e.disabled||(a=console).log.apply(a,["[".concat(Ic(),"]"),this._prefix].concat(t))}},{key:"warn",value:function(){for(var a,c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];this.logCache.apply(this,[xc.WARN].concat(t)),e.disabled||(a=console).warn.apply(a,["[".concat(Ic(),"]"),this._prefix].concat(t))}},{key:"error",value:function(){for(var a,c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];this.logCache.apply(this,[xc.ERROR].concat(t)),e.disabled||(a=console).error.apply(a,["[".concat(Ic(),"]"),this._prefix].concat(t))}},{key:"logCache",value:function(e){if(!(e<this.logCacheLevel)){var a="";try{for(var c=arguments.length,t=new Array(c>1?c-1:0),b=1;b<c;b++)t[b-1]=arguments[b];var r=t.map((function(e){return Oc(e)}));a="[".concat(Ic(),"]")+this._prefix+JSON.stringify(r)}catch(i){return}if(e>=this.logCacheLevel&&(this.logSize+=a.length,this.logTextArray.push(a)),this.logSize>this.logMaxSize){var n=this.logTextArray.shift();this.logSize-=n.length}}}},{key:"getLogCache",value:function(){var e=this.logTextArray.join("\n");return this.reset(),e}},{key:"reset",value:function(){this.logTextArray=[],this.logSize=0}},{key:"table",value:function(){var a;e.disabled||(console.group(this._prefix),(a=console).table.apply(a,arguments),console.groupEnd())}},{key:"setLogLevel",value:function(e){this.logCacheLevel=e}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();function Ic(){return(new Date).toLocaleString()}function Dc(e){if("object"!==Ga(e))return e;var a=Object.prototype.toString.call(e).slice(8,-1);switch(a){case"Array":case"Uint8Array":case"ArrayBuffer":return a+"["+e.length+"]";case"Object":return"{}";default:return a}}function Oc(e,a,c){c||(c=1),a||(a=2);var t={};if(!e||"object"!==Ga(e))return e;var b=Object.prototype.toString.call(e).slice(8,-1);if(!Tc.includes(b))return b;if(!(c>a)){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(c===a?t[r]=Dc(e[r]):"object"===Ga(e[r])?t[r]=Oc(e[r],a,c+1):t[r]=e[r]);return t}}function Rc(){var e,a,c=new Promise((function(c,t){e=c,a=t}));return c.used=!1,c.resolve=function(){return c.used=!0,e.apply(void 0,arguments)},c.reject=function(){return c.used=!0,a.apply(void 0,arguments)},c}function Lc(){try{return parseInt(performance.now(),10)}catch(e){return(new Date).getTime()}}$a(Ac,"disabled",!0);var Cc=function(e){try{return JSON.stringify(e)}catch(a){return""}};function Pc(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];try{return fc?e&&"undefined"!=typeof ManagedMediaSource?ManagedMediaSource:window.MediaSource:null}catch(a){}}function jc(e){return/ManagedMediaSource/gi.test(Object.prototype.toString.call(e))}var Mc="appendBuffer",Bc="removeBuffer",Uc="updateDuration",Nc=function(){function e(a,c){var t=this;za(this,e),$a(this,"media",null),$a(this,"mediaSource",null),$a(this,"_openPromise",Rc()),$a(this,"_queue",Object.create(null)),$a(this,"_sourceBuffer",Object.create(null)),$a(this,"_mseFullFlag",{}),$a(this,"_st",0),$a(this,"_opst",0),$a(this,"_logger",null),$a(this,"_config",null),$a(this,"_url",null),$a(this,"_onStartStreaming",(function(){t._logger.debug("startstreaming")})),$a(this,"_onEndStreaming",(function(){t._logger.debug("endstreaming")})),$a(this,"_onSBUpdateEnd",(function(e){var a=t._queue[e];if(a){var c=a[0];if((null==c?void 0:c.opName)!==Uc&&a.shift(),c){var b,r,n=Lc()-t._opst;t._logger.debug("UpdateEnd(".concat(e,"/").concat(c.opName,")"),Cc(function(e){var a=[];if(e instanceof TimeRanges)for(var c=0;c<e.length;c++)a.push({start:e.start(c),end:e.end(c)});return a}(null===(b=t._sourceBuffer[e])||void 0===b?void 0:b.buffered)),n,c.context),c.promise.resolve({name:c.opName,context:c.context,costtime:n});var i=null===(r=c.context)||void 0===r?void 0:r.callback;i&&"function"==typeof i&&i(c.context),t._startQueue(e)}}})),$a(this,"_onSBUpdateError",(function(e,a){var c=t._queue[e];if(c){var b=c[0];b&&(t._logger.error("UpdateError",e,b.opName,b.context),b.promise.reject(new wc(mc,Ec.MSE_APPEND_BUFFER,a)))}})),this._config=Object.assign(e.getDefaultConfig(),c),a&&this.bindMedia(a),this._logger=new Ac("MSE"),this._config.openLog&&Ac.enable()}var a,c,t;return Ka(e,[{key:"isOpened",get:function(){var e;return"open"===(null===(e=this.mediaSource)||void 0===e?void 0:e.readyState)}},{key:"hasOpTasks",get:function(){var e=this,a=!1;return Object.keys(this._queue).forEach((function(c){var t=e._queue[c];Array.isArray(t)&&(a||(a=t.length>0))})),a}},{key:"url",get:function(){return this._url}},{key:"duration",get:function(){var e;return(null===(e=this.mediaSource)||void 0===e?void 0:e.duration)||-1}},{key:"isEnded",get:function(){return!!this.mediaSource&&"ended"===this.mediaSource.readyState}},{key:"streaming",get:function(){return!jc(this.mediaSource)||this.mediaSource.streaming}},{key:"isFull",value:function(a){return a?this._mseFullFlag[a]:this._mseFullFlag[e.VIDEO]}},{key:"updateDuration",value:function(e){var a=this,c=this.mediaSource&&this.mediaSource.duration>e;if(this.mediaSource&&this.mediaSource.duration>e){var t=0;if(Object.keys(this._sourceBuffer).forEach((function(e){try{t=Math.max(a.bufferEnd(e)||0,t)}catch(c){}})),e<t)return Promise.resolve()}return this._enqueueBlockingOp((function(){a.isEnded?a._logger.debug("setDuration but ended"):a.mediaSource&&(a.mediaSource.duration=e,a._logger.debug("setDuration",e))}),Uc,{isReduceDuration:c})}},{key:"open",value:function(){var e=this;if(this._openPromise.used&&!this.isOpened&&this.mediaSource){var a=this.mediaSource;a.addEventListener("sourceopen",(function c(){var t=Lc()-e._st;e._logger.debug("sourceopen",t),a.removeEventListener("sourceopen",c),e._openPromise.resolve({costtime:t})})),this._openPromise=Rc()}return this._openPromise}},{key:"bindMedia",value:(t=qa(Fa().mark((function e(a){var c,t,b,r,n=this;return Fa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.mediaSource&&!this.media){e.next=3;break}return e.next=3,this.unbindMedia();case 3:if(c=Pc(this._config.preferMMS),a&&c){e.next=6;break}throw new Error("Param media or MediaSource does not exist");case 6:return this.media=a,t=this.mediaSource=new c,b=jc(t),this._st=Lc(),r=function e(){var c=Lc()-n._st;n._logger.debug("sourceopen"),t.removeEventListener("sourceopen",e),URL.revokeObjectURL(a.src),n._openPromise.resolve({costtime:c})},t.addEventListener("sourceopen",r),b&&(t.addEventListener("startstreaming",this._onStartStreaming),t.addEventListener("endstreaming",this._onEndStreaming)),this._url=URL.createObjectURL(t),a.src=this._url,a.disableRemotePlayback=b,e.abrupt("return",this._openPromise);case 17:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"unbindMedia",value:(c=qa(Fa().mark((function e(){var a,c,t,b=this;return Fa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._openPromise.used||this._openPromise.resolve(),a=this.mediaSource){if(Object.keys(this._queue).forEach((function(e){var a=b._queue[e];a&&a.forEach((function(e){var a,c;return null===(a=e.promise)||void 0===a||null===(c=a.resolve)||void 0===c?void 0:c.call(a)}))})),c=!!this.media&&this.media.readyState>=1,t="open"===a.readyState,c&&t)try{a.endOfStream()}catch(r){}Object.keys(this._sourceBuffer).forEach((function(e){try{a.removeSourceBuffer(b._sourceBuffer[e])}catch(r){}})),jc(a)&&(a.removeEventListener("startstreaming",this._onStartStreaming),a.removeEventListener("endstreaming",this._onEndStreaming))}if(this.media){this.media.disableRemotePlayback=!1,this.media.removeAttribute("src");try{this.media.load()}catch(r){}this.media=null}this.mediaSource=null,this._openPromise=Rc(),this._queue=Object.create(null),this._sourceBuffer=Object.create(null);case 8:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"createSource",value:function(e,a){if(!this._sourceBuffer[e]&&this.mediaSource){var c;try{c=this._sourceBuffer[e]=this.mediaSource.addSourceBuffer(a)}catch(t){throw new wc(mc,Ec.MSE_ADD_SB,t)}c.mimeType=a,c.addEventListener("updateend",this._onSBUpdateEnd.bind(this,e)),c.addEventListener("error",this._onSBUpdateError.bind(this,e))}}},{key:"changeType",value:function(e,a){var c=this,t=this._sourceBuffer[e];return this.mediaSource&&t&&t.mimeType!==a?"function"!=typeof t.changeType?Promise.reject(new wc(mc,Ec.MSE_CHANGE_TYPE,new Error("changeType is not a function"))):this._enqueueOp(e,(function(){try{t.changeType(a)}catch(b){throw new wc(mc,Ec.MSE_CHANGE_TYPE,b)}t.mimeType=a,c._onSBUpdateEnd(e)}),"changeType",{mimeType:a}):Promise.resolve()}},{key:"createOrChangeSource",value:function(e,a){return this.createSource(e,a),this.changeType(e,a)}},{key:"append",value:function(e,a,c){var t=this;return a&&a.byteLength&&this._sourceBuffer[e]?this._enqueueOp(e,(function(){var b;t.mediaSource&&!t.media.error&&(t._logger.debug("MSE APPEND START",c),t._opst=Lc(),null===(b=t._sourceBuffer[e])||void 0===b||b.appendBuffer(a))}),Mc,c):Promise.resolve()}},{key:"remove",value:function(e,a,c,t){var b=this,r=!1;return this._mseFullFlag[e]&&(r=!0),this._enqueueOp(e,(function(){if(b.mediaSource&&!b.media.error){var r=b._sourceBuffer[e];a>=c||!r?b._onSBUpdateEnd(e):(b._opst=Lc(),b._logger.debug("MSE REMOVE START",e,a,c,t),r.remove(a,c))}}),Bc,t,r)}},{key:"clearBuffer",value:function(e,a){var c,t=this;return Object.keys(this._sourceBuffer).forEach((function(b){c=t.remove(b,e,a)})),c||Promise.resolve()}},{key:"clearAllBuffer",value:function(){var e,a=this;return Object.keys(this._sourceBuffer).forEach((function(c){var t=a._sourceBuffer[c];e=a.remove(c,0,dc.end(dc.get(t)))})),e}},{key:"clearOpQueues",value:function(e,a){var c;this._logger.debug("MSE clearOpQueue START");var t=this._queue[e];if(a&&t)this._queue[e]=[];else if(t&&t[e]&&!(t.length<5)){var b=[];t.forEach((function(e){e.context&&e.context.isinit&&b.push(e)})),this._queue[e]=t.slice(0,2),b.length>0&&(c=this._queue[e]).push.apply(c,b)}}},{key:"endOfStream",value:function(e){var a=this;return this.mediaSource&&"open"===this.mediaSource.readyState?this._enqueueBlockingOp((function(){var c=a.mediaSource;c&&"open"===c.readyState&&(a._logger.debug("MSE endOfStream START"),e?c.endOfStream(e):c.endOfStream())}),"endOfStream"):Promise.resolve()}},{key:"setLiveSeekableRange",value:function(e,a){var c=this.mediaSource;e<0||a<e||null==c||!c.setLiveSeekableRange||"open"!==c.readyState||c.setLiveSeekableRange(e,a)}},{key:"getSourceBuffer",value:function(e){return this._sourceBuffer[e]}},{key:"buffered",value:function(e){return dc.get(this._sourceBuffer[e])}},{key:"bufferStart",value:function(e){return dc.start(this.buffered(e))}},{key:"bufferEnd",value:function(e){return dc.end(this.buffered(e))}},{key:"_enqueueOp",value:function(e,a,c,t,b){var r=this;if(!this.mediaSource)return Promise.resolve();var n=this._queue[e]=this._queue[e]||[],i={exec:a,promise:Rc(),opName:c,context:t};return b?(n.splice(0,0,i),this._mseFullFlag[e]=!1,this._startQueue(e)):n.push(i),this.isOpened||this.isEnded?1===n.length&&this._startQueue(e):this._openPromise.then((function(){1===n.length&&r._startQueue(e)})),i.promise}},{key:"_enqueueBlockingOp",value:(a=qa(Fa().mark((function e(a,c,t){var b,r,n=this;return Fa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.mediaSource){e.next=2;break}return e.abrupt("return",Promise.resolve());case 2:if((b=Object.keys(this._sourceBuffer)).length){e.next=5;break}return e.abrupt("return",a());case 5:return r=[],b.forEach((function(e){var a=n._queue[e],b=Rc();r.push(b),a.push({exec:function(){b.resolve()},promise:b,opName:c,context:t}),1===a.length&&n._startQueue(e)})),e.abrupt("return",Promise.all(r).then((function(){try{return a()}finally{b.forEach((function(e){var a=n._queue[e],c=n._sourceBuffer[e];null==a||a.shift(),c&&c.updating||n._startQueue(e)}))}})));case 8:case"end":return e.stop()}}),e,this)}))),function(e,c,t){return a.apply(this,arguments)})},{key:"_startQueue",value:function(e){var a=this._queue[e];if(a){var c=a[0];if(c&&!this._mseFullFlag[e])try{c.exec()}catch(r){var t,b;if(r&&r.message&&r.message.indexOf("SourceBuffer is full")>=0)this._mseFullFlag[e]=!0,c.context&&"object"===Ga(c.context)&&(c.context.isFull=!0),this._logger.error("[MSE error], context,",c.context," ,name,",c.opName,",err,SourceBuffer is full"),null==c||null===(t=c.promise)||void 0===t||t.reject(new wc(mc,Ec.MSE_FULL,r));else this._logger.error(r),null==c||null===(b=c.promise)||void 0===b||b.reject(r.constructor===wc?r:new wc(mc,Ec.MSE_OTHER,r)),a.shift(),this._startQueue(e)}}}},{key:"setTimeoffset",value:function(e,a,c){var t=this;return this._enqueueOp(e,(function(){a<0&&(a+=.001),t._sourceBuffer[e].timestampOffset=a,t._onSBUpdateEnd(e)}),"setTimeoffset",c)}},{key:"abort",value:function(e,a){var c=this;return this.isOpened?this._enqueueOp(e,(function(){c._sourceBuffer[e].abort(),c._onSBUpdateEnd(e)}),"abort",a):Promise.resolve()}}],[{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'video/mp4; codecs="avc1.42E01E,mp4a.40.2"',a=Pc();if(!a)return!1;try{return a.isTypeSupported(e)}catch(c){return this._logger.error(e,c),!1}}},{key:"isMMSOnly",value:function(){return"undefined"!=typeof ManagedMediaSource&&"undefined"==typeof MediaSource}},{key:"getDefaultConfig",value:function(){return{openLog:!1,preferMMS:!1}}}]),e}();$a(Nc,"VIDEO","video"),$a(Nc,"AUDIO","audio");var Fc="fetch",Gc="xhr",Vc="arraybuffer",qc="text",zc="json",Hc=function(e){Wa(c,e);var a=cc(c);function c(e,t,b,r){var n;return za(this,c),$a(ac(n=a.call(this,r)),"retryCount",0),$a(ac(n),"isTimeout",!1),$a(ac(n),"loaderType",Fc),$a(ac(n),"startTime",0),$a(ac(n),"endTime",0),$a(ac(n),"options",{}),n.url=e,n.request=t,n.response=b,n}return Ka(c)}(Za(Error)),Kc=Object.prototype.toString;function $c(e){if("[object Object]"!==Kc.call(e))return!1;var a=Object.getPrototypeOf(e);return null===a||a===Object.prototype}function Wc(e){if(e&&null!==e[0]&&void 0!==e[0]&&(0!==e[0]||null!==e[1]&&void 0!==e[1])){var a="bytes="+e[0]+"-";return e[1]&&(a+=e[1]),a}}function Yc(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Xc(e,a){if(e){if(!a)return e;var c,t=Object.keys(a).map((function(e){if(null!=(c=a[e]))return Array.isArray(c)?e+="[]":c=[c],c.map((function(a){var c;return c=a,"[object Date]"===Kc.call(c)?a=a.toISOString():function(e){return null!==e&&"object"===Ga(e)}(a)&&(a=JSON.stringify(a)),"".concat(Yc(e),"=").concat(Yc(a))})).join("&")})).filter(Boolean).join("&");if(t){var b=e.indexOf("#");-1!==b&&(e=e.slice(0,b)),e+=(-1===e.indexOf("?")?"?":"&")+t}return e}}function Qc(e,a,c,t,b,r,n,i,d,f,o){return b=null!=b?parseFloat(b):null,t=parseInt(t||"0",10),Number.isNaN(t)&&(t=0),{data:e,done:a,options:{range:d,vid:f,index:i,contentLength:t,age:b,startTime:r,firstByteTime:n,endTime:Date.now(),priOptions:o},response:c}}function Jc(e,a){return Math.round(8*e*1e3/a/1024)}var Zc={ERROR:"error",TTFB:"core.ttfb",LOAD_START:"core.loadstart",LOAD_RESPONSE_HEADERS:"core.loadresponseheaders",LOAD_COMPLETE:"core.loadcomplete",LOAD_RETRY:"core.loadretry",SOURCEBUFFER_CREATED:"core.sourcebuffercreated",MEDIASOURCE_OPENED:"core.mediasourceopened",ANALYZE_DURATION_EXCEEDED:"core.analyzedurationexceeded",APPEND_BUFFER:"core.appendbuffer",REMOVE_BUFFER:"core.removebuffer",BUFFEREOS:"core.buffereos",KEYFRAME:"core.keyframe",CHASEFRAME:"core.chaseframe",METADATA_PARSED:"core.metadataparsed",SEI:"core.sei",SEI_IN_TIME:"core.seiintime",FLV_SCRIPT_DATA:"core.flvscriptdata",LOWDECODE:"core.lowdecode",SWITCH_URL_SUCCESS:"core.switchurlsuccess",SWITCH_URL_FAILED:"core.switchurlfailed",SPEED:"core.speed",HLS_MANIFEST_LOADED:"core.hlsmanifestloaded",HLS_LEVEL_LOADED:"core.hlslevelloaded",DEMUXED_TRACK:"core.demuxedtrack",STREAM_EXCEPTION:"core.streamexception",LARGE_AV_FIRST_FRAME_GAP_DETECT:"LARGE_AV_FIRST_FRAME_GAP_DETECT",LARGE_VIDEO_DTS_GAP_DETECT:"LARGE_VIDEO_DTS_GAP_DETECT",LARGE_AUDIO_DTS_GAP_DETECT:"LARGE_AUDIO_DTS_GAP_DETECT",AUDIO_GAP_DETECT:"AUDIO_GAP_DETECT",AUDIO_OVERLAP_DETECT:"AUDIO_OVERLAP_DETECT",MAX_DTS_DELTA_WITH_NEXT_SEGMENT_DETECT:"MAX_DTS_DELTA_WITH_NEXT_SEGMENT_DETECT",REAL_TIME_SPEED:"real_time_speed"},et={exports:{}};!function(e){var a=Object.prototype.hasOwnProperty,c="~";function t(){}function b(e,a,c){this.fn=e,this.context=a,this.once=c||!1}function r(e,a,t,r,n){if("function"!=typeof t)throw new TypeError("The listener must be a function");var i=new b(t,r||e,n),d=c?c+a:a;return e._events[d]?e._events[d].fn?e._events[d]=[e._events[d],i]:e._events[d].push(i):(e._events[d]=i,e._eventsCount++),e}function n(e,a){0==--e._eventsCount?e._events=new t:delete e._events[a]}function i(){this._events=new t,this._eventsCount=0}Object.create&&(t.prototype=Object.create(null),(new t).__proto__||(c=!1)),i.prototype.eventNames=function(){var e,t,b=[];if(0===this._eventsCount)return b;for(t in e=this._events)a.call(e,t)&&b.push(c?t.slice(1):t);return Object.getOwnPropertySymbols?b.concat(Object.getOwnPropertySymbols(e)):b},i.prototype.listeners=function(e){var a=c?c+e:e,t=this._events[a];if(!t)return[];if(t.fn)return[t.fn];for(var b=0,r=t.length,n=new Array(r);b<r;b++)n[b]=t[b].fn;return n},i.prototype.listenerCount=function(e){var a=c?c+e:e,t=this._events[a];return t?t.fn?1:t.length:0},i.prototype.emit=function(e,a,t,b,r,n){var i=c?c+e:e;if(!this._events[i])return!1;var d,f,o=this._events[i],s=arguments.length;if(o.fn){switch(o.once&&this.removeListener(e,o.fn,void 0,!0),s){case 1:return o.fn.call(o.context),!0;case 2:return o.fn.call(o.context,a),!0;case 3:return o.fn.call(o.context,a,t),!0;case 4:return o.fn.call(o.context,a,t,b),!0;case 5:return o.fn.call(o.context,a,t,b,r),!0;case 6:return o.fn.call(o.context,a,t,b,r,n),!0}for(f=1,d=new Array(s-1);f<s;f++)d[f-1]=arguments[f];o.fn.apply(o.context,d)}else{var u,l=o.length;for(f=0;f<l;f++)switch(o[f].once&&this.removeListener(e,o[f].fn,void 0,!0),s){case 1:o[f].fn.call(o[f].context);break;case 2:o[f].fn.call(o[f].context,a);break;case 3:o[f].fn.call(o[f].context,a,t);break;case 4:o[f].fn.call(o[f].context,a,t,b);break;default:if(!d)for(u=1,d=new Array(s-1);u<s;u++)d[u-1]=arguments[u];o[f].fn.apply(o[f].context,d)}}return!0},i.prototype.on=function(e,a,c){return r(this,e,a,c,!1)},i.prototype.once=function(e,a,c){return r(this,e,a,c,!0)},i.prototype.removeListener=function(e,a,t,b){var r=c?c+e:e;if(!this._events[r])return this;if(!a)return n(this,r),this;var i=this._events[r];if(i.fn)i.fn!==a||b&&!i.once||t&&i.context!==t||n(this,r);else{for(var d=0,f=[],o=i.length;d<o;d++)(i[d].fn!==a||b&&!i[d].once||t&&i[d].context!==t)&&f.push(i[d]);f.length?this._events[r]=1===f.length?f[0]:f:n(this,r)}return this},i.prototype.removeAllListeners=function(e){var a;return e?(a=c?c+e:e,this._events[a]&&n(this,a)):(this._events=new t,this._eventsCount=0),this},i.prototype.off=i.prototype.removeListener,i.prototype.addListener=i.prototype.on,i.prefixed=c,i.EventEmitter=i,e.exports=i}(et);var at=Me(et.exports),ct=2097152,tt=function(e){Wa(t,e);var a,c=cc(t);function t(){var e;return za(this,t),$a(ac(e=c.call(this)),"_abortController",null),$a(ac(e),"_timeoutTimer",null),$a(ac(e),"_reader",null),$a(ac(e),"_response",null),$a(ac(e),"_aborted",!1),$a(ac(e),"_index",-1),$a(ac(e),"_range",null),$a(ac(e),"_receivedLength",0),$a(ac(e),"_running",!1),$a(ac(e),"_logger",null),$a(ac(e),"_vid",""),$a(ac(e),"_onProcessMinLen",0),$a(ac(e),"_onCancel",null),$a(ac(e),"_priOptions",null),e}return Ka(t,[{key:"load",value:function(e){var a,c=this,t=e.url,b=e.vid,r=e.timeout,n=e.responseType,i=e.onProgress,d=e.index,f=e.onTimeout,o=e.onCancel,s=e.range,u=e.transformResponse,l=e.request,h=e.params,p=e.logger,v=e.method,y=e.headers,m=e.body,g=e.mode,_=e.credentials,k=e.cache,E=e.redirect,S=e.referrer,w=e.referrerPolicy,x=e.onProcessMinLen,T=e.priOptions;this._logger=p,this._aborted=!1,this._onProcessMinLen=x,this._onCancel=o,this._abortController="undefined"!=typeof AbortController&&new AbortController,this._running=!0,this._index=d,this._range=s||[0,0],this._vid=b||t,this._priOptions=T||{};var A={method:v,headers:y,body:m,mode:g,credentials:_,cache:k,redirect:E,referrer:S,referrerPolicy:w,signal:null===(a=this._abortController)||void 0===a?void 0:a.signal},I=!1;clearTimeout(this._timeoutTimer),t=Xc(t,h);var D=Wc(s);D&&(y=l?l.headers:A.headers=A.headers||(Headers?new Headers:{}),Headers&&y instanceof Headers?y.append("Range",D):y.Range=D),r&&(this._timeoutTimer=setTimeout((function(){if(I=!0,c.cancel(),f){var e=new Hc(t,A,null,"timeout");e.isTimeout=!0,f(e,{index:c._index,range:c._range,vid:c._vid,priOptions:c._priOptions})}}),r));var O=Date.now();return this._logger.debug("[fetch load start], index,",d,",range,",s),new Promise((function(e,a){fetch(l||t,l?void 0:A).then(function(){var b=qa(Fa().mark((function b(r){var f,o,l,h;return Fa().wrap((function(b){for(;;)switch(b.prev=b.next){case 0:if(clearTimeout(c._timeoutTimer),c._response=r,!c._aborted&&c._running){b.next=4;break}return b.abrupt("return");case 4:if(u&&(r=u(r,t)||r),r.ok){b.next=7;break}throw new Hc(t,A,r,"bad network response");case 7:if(f=Date.now(),n!==qc){b.next=15;break}return b.next=11,r.text();case 11:o=b.sent,c._running=!1,b.next=37;break;case 15:if(n!==zc){b.next=22;break}return b.next=18,r.json();case 18:o=b.sent,c._running=!1,b.next=37;break;case 22:if(!i){b.next=29;break}return c.resolve=e,c.reject=a,c._loadChunk(r,i,O,f),b.abrupt("return");case 29:return b.next=31,r.arrayBuffer();case 31:o=b.sent,o=new Uint8Array(o),c._running=!1,l=Date.now()-O,h=Jc(o.byteLength,l),c.emit(Zc.REAL_TIME_SPEED,{speed:h,len:o.byteLength,time:l,vid:c._vid,index:c._index,range:c._range,priOptions:c._priOptions});case 37:c._logger.debug("[fetch load end], index,",d,",range,",s),e(Qc(o,!0,r,r.headers.get("Content-Length"),r.headers.get("age"),O,f,d,s,c._vid,c._priOptions));case 39:case"end":return b.stop()}}),b)})));return function(e){return b.apply(this,arguments)}}()).catch((function(e){var b;clearTimeout(c._timeoutTimer),c._running=!1,c._aborted&&!I||((e=e instanceof Hc?e:new Hc(t,A,null,null===(b=e)||void 0===b?void 0:b.message)).startTime=O,e.endTime=Date.now(),e.isTimeout=I,e.options={index:c._index,range:c._range,vid:c._vid,priOptions:c._priOptions},a(e))}))}))}},{key:"cancel",value:(a=qa(Fa().mark((function e(){return Fa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._aborted){e.next=2;break}return e.abrupt("return");case 2:if(this._aborted=!0,this._running=!1,!this._response){e.next=14;break}if(e.prev=5,!this._reader){e.next=9;break}return e.next=9,this._reader.cancel();case 9:e.next=13;break;case 11:e.prev=11,e.t0=e.catch(5);case 13:this._response=this._reader=null;case 14:if(this._abortController){try{this._abortController.abort()}catch(a){}this._abortController=null}this._onCancel&&this._onCancel({index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions});case 16:case"end":return e.stop()}}),e,this,[[5,11]])}))),function(){return a.apply(this,arguments)})},{key:"_loadChunk",value:function(e,a,c,t){var b=this;if(!e.body||!e.body.getReader){this._running=!1;var r=new Hc(e.url,"",e,"onProgress of bad response.body.getReader");return r.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},void this.reject(r)}this._onProcessMinLen>0&&(this._cache=new Uint8Array(ct),this._writeIdx=0);var n,i,d,f=this._reader=e.body.getReader(),o=function(){var r=qa(Fa().mark((function r(){var s,u,l,h,p,v,y,m;return Fa().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return i=Date.now(),r.prev=1,r.next=4,f.read();case 4:n=r.sent,d=Date.now(),r.next=13;break;case 8:return r.prev=8,r.t0=r.catch(1),d=Date.now(),b._aborted||(b._running=!1,r.t0.options={index:b._index,range:b._range,vid:b._vid,priOptions:b._priOptions},b.reject(r.t0)),r.abrupt("return");case 13:if(u=(null===(s=b._range)||void 0===s?void 0:s.length)>0?b._range[0]:0,l=u+b._receivedLength,!b._aborted){r.next=19;break}return b._running=!1,a(void 0,!1,{range:[l,l],vid:b._vid,index:b._index,startTime:i,endTime:d,st:c,firstByteTime:t,priOptions:b._priOptions},e),r.abrupt("return");case 19:h=n.value?n.value.byteLength:0,b._receivedLength+=h,b._logger.debug("【fetchLoader,onProgress call】,task,",b._range,", start,",l,", end,",u+b._receivedLength,", done,",n.done),b._onProcessMinLen>0?b._writeIdx+h>=b._onProcessMinLen||n.done?((p=new Uint8Array(b._writeIdx+h)).set(b._cache.slice(0,b._writeIdx),0),h>0&&p.set(n.value,b._writeIdx),b._writeIdx=0,b._logger.debug("【fetchLoader,onProgress enough】,done,",n.done,",len,",p.byteLength,", writeIdx,",b._writeIdx)):h>0&&b._writeIdx+h<ct?(b._cache.set(n.value,b._writeIdx),b._writeIdx+=h,b._logger.debug("【fetchLoader,onProgress cache】,len,",h,", writeIdx,",b._writeIdx)):h>0&&(v=new Uint8Array(b._writeIdx+h+2048),b._logger.debug("【fetchLoader,onProgress extra start】,size,",b._writeIdx+h+2048,", datalen,",h,", writeIdx,",b._writeIdx),v.set(b._cache.slice(0,b._writeIdx),0),h>0&&v.set(n.value,b._writeIdx),b._writeIdx+=h,delete b._cache,b._cache=v,b._logger.debug("【fetchLoader,onProgress extra end】,len,",h,", writeIdx,",b._writeIdx)):p=n.value,(p&&p.byteLength>0||n.done)&&a(p,n.done,{range:[b._range[0]+b._receivedLength-(p?p.byteLength:0),b._range[0]+b._receivedLength],vid:b._vid,index:b._index,startTime:i,endTime:d,st:c,firstByteTime:t,priOptions:b._priOptions},e),n.done?(y=Date.now()-c,m=Jc(b._receivedLength,y),b.emit(Zc.REAL_TIME_SPEED,{speed:m,len:b._receivedLength,time:y,vid:b._vid,index:b._index,range:b._range,priOptions:b._priOptions}),b._running=!1,b._logger.debug("[fetchLoader onProgress end],task,",b._range,",done,",n.done),b.resolve(Qc(n,!0,e,e.headers.get("Content-Length"),e.headers.get("age"),c,t,b._index,b._range,b._vid,b._priOptions))):o();case 25:case"end":return r.stop()}}),r,null,[[1,8]])})));return function(){return r.apply(this,arguments)}}();o()}},{key:"receiveLen",get:function(){return this._receivedLength}},{key:"running",get:function(){return this._running},set:function(e){this._running=e}}],[{key:"isSupported",value:function(){return!("undefined"==typeof fetch)}}]),t}(at);var bt=function(e){Wa(c,e);var a=cc(c);function c(){var e;return za(this,c),$a(ac(e=a.call(this)),"_xhr",null),$a(ac(e),"_aborted",!1),$a(ac(e),"_timeoutTimer",null),$a(ac(e),"_range",null),$a(ac(e),"_receivedLength",0),$a(ac(e),"_url",null),$a(ac(e),"_onProgress",null),$a(ac(e),"_index",-1),$a(ac(e),"_headers",null),$a(ac(e),"_currentChunkSizeKB",384),$a(ac(e),"_timeout",null),$a(ac(e),"_xhr",null),$a(ac(e),"_withCredentials",null),$a(ac(e),"_startTime",-1),$a(ac(e),"_loadCompleteResolve",null),$a(ac(e),"_loadCompleteReject",null),$a(ac(e),"_runing",!1),$a(ac(e),"_logger",!1),$a(ac(e),"_vid",""),$a(ac(e),"_responseType",void 0),$a(ac(e),"_credentials",void 0),$a(ac(e),"_method",void 0),$a(ac(e),"_transformResponse",void 0),$a(ac(e),"_firstRtt",void 0),$a(ac(e),"_onCancel",null),$a(ac(e),"_priOptions",null),e}return Ka(c,[{key:"load",value:function(e){var a=this;clearTimeout(this._timeoutTimer),this._logger=e.logger,this._range=e.range,this._onProgress=e.onProgress,this._index=e.index,this._headers=e.headers,this._withCredentials="include"===e.credentials||"same-origin"===e.credentials,this._body=e.body||null,e.method&&(this._method=e.method),this._timeout=e.timeout||null,this._runing=!0,this._vid=e.vid||e.url,this._responseType=e.responseType,this._firstRtt=-1,this._onTimeout=e.onTimeout,this._onCancel=e.onCancel,this._request=e.request,this._priOptions=e.priOptions||{},this._logger.debug("【xhrLoader task】, range",this._range),this._url=Xc(e.url,e.params);var c=Date.now();return new Promise((function(e,c){a._loadCompleteResolve=e,a._loadCompleteReject=c,a._startLoad()})).catch((function(e){if(clearTimeout(a._timeoutTimer),a._runing=!1,!a._aborted)throw(e=e instanceof Hc?e:new Hc(a._url,a._request)).startTime=c,e.endTime=Date.now(),e.options={index:a._index,vid:a._vid,priOptions:a._priOptions},e}))}},{key:"_startLoad",value:function(){var e=null;if(this._responseType===Vc&&this._range&&this._range.length>1)if(this._onProgress){this._firstRtt=-1;var a=1024*this._currentChunkSizeKB,c=this._range[0]+this._receivedLength,t=this._range[1];a<this._range[1]-c&&(t=c+a),e=[c,t],this._logger.debug("[xhr_loader->],tast :",this._range,", SubRange, ",e)}else e=this._range,this._logger.debug("[xhr_loader->],tast :",this._range,", allRange, ",e);this._internalOpen(e)}},{key:"_internalOpen",value:function(e){var a=this;try{this._startTime=Date.now();var c=this._xhr=new XMLHttpRequest;c.open(this._method||"GET",this._url,!0),c.responseType=this._responseType,this._timeout&&(c.timeout=this._timeout),c.withCredentials=this._withCredentials,c.onload=this._onLoad.bind(this),c.onreadystatechange=this._onReadyStatechange.bind(this),c.onerror=function(e){var c,t,b;a._running=!1;var r=new Hc(a._url,a._request,null==e||null===(c=e.currentTarget)||void 0===c?void 0:c.response,"xhr.onerror.status:"+(null==e||null===(t=e.currentTarget)||void 0===t?void 0:t.status)+",statusText,"+(null==e||null===(b=e.currentTarget)||void 0===b?void 0:b.statusText));r.options={index:a._index,range:a._range,vid:a._vid,priOptions:a._priOptions},a._loadCompleteReject(r)},c.ontimeout=function(e){a.cancel();var c=new Hc(a._url,a._request,{status:408},"timeout");a._onTimeout&&(c.isTimeout=!0,a._onTimeout(c,{index:a._index,range:a._range,vid:a._vid,priOptions:a._priOptions})),c.options={index:a._index,range:a._range,vid:a._vid,priOptions:a._priOptions},a._loadCompleteReject(c)};var t=this._headers||{},b=Wc(e);b&&(t.Range=b),t&&Object.keys(t).forEach((function(e){c.setRequestHeader(e,t[e])})),this._logger.debug("[xhr.send->] tast,",this._range,",load sub range, ",e),c.send(this._body)}catch(r){r.options={index:this._index,range:e,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(r)}}},{key:"_onReadyStatechange",value:function(e){2===e.target.readyState&&this._firstRtt<0&&(this._firstRtt=Date.now())}},{key:"_onLoad",value:function(e){var a,c=e.target.status;if(c<200||c>299){var t=new Hc(this._url,null,Na(Na({},e.target.response),{},{status:c}),"bad response,status:"+c);return t.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(t)}var b,r=null,n=!1,i=(null===(a=this._range)||void 0===a?void 0:a.length)>0?this._range[0]:0;if(this._responseType===Vc){var d,f=new Uint8Array(e.target.response);if(b=i+this._receivedLength,f&&f.byteLength>0){this._receivedLength+=f.byteLength;var o=Date.now()-this._startTime,s=Jc(this._receivedLength,o);this.emit(Zc.REAL_TIME_SPEED,{speed:s,len:this._receivedLength,time:o,vid:this._vid,index:this._index,range:[b,i+this._receivedLength],priOptions:this._priOptions})}r=f,n=!((null===(d=this._range)||void 0===d?void 0:d.length)>1&&this._range[1]&&this._receivedLength<this._range[1]-this._range[0]),this._logger.debug("[xhr load done->], tast :",this._range,", start",b,"end ",i+this._receivedLength,",dataLen,",f?f.byteLength:0,",receivedLength",this._receivedLength,",index,",this._index,", done,",n)}else n=!0,r=e.target.response;var u={ok:c>=200&&c<300,status:c,statusText:this._xhr.statusText,url:this._xhr.responseURL,headers:this._getHeaders(this._xhr),body:this._xhr.response};this._transformResponse&&(u=this._transformResponse(u,this._url)||u),this._onProgress&&this._onProgress(r,n,{index:this._index,vid:this._vid,range:[b,i+this._receivedLength],startTime:this._startTime,endTime:Date.now(),priOptions:this._priOptions},u),n?(this._runing=!1,this._loadCompleteResolve&&this._loadCompleteResolve(Qc(this._onProgress?null:r,n,u,u.headers["content-length"],u.headers.age,this._startTime,this._firstRtt,this._index,this._range,this._vid,this._priOptions))):this._startLoad()}},{key:"cancel",value:function(){if(!this._aborted)return this._aborted=!0,this._runing=!1,tc(Ya(c.prototype),"removeAllListeners",this).call(this),this._onCancel&&this._onCancel({index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions}),this._xhr?this._xhr.abort():void 0}},{key:"receiveLen",get:function(){return this._receivedLength}},{key:"running",get:function(){return this._running},set:function(e){this._running=e}},{key:"_getHeaders",value:function(e){var a,c={},t=rc(e.getAllResponseHeaders().trim().split("\r\n"));try{for(t.s();!(a=t.n()).done;){var b=a.value.split(": ");c[b[0].toLowerCase()]=b.slice(1).join(": ")}}catch(r){t.e(r)}finally{t.f()}return c}}],[{key:"isSupported",value:function(){return"undefined"!=typeof XMLHttpRequest}}]),c}(at),rt=["retry","retryDelay","onRetryError","transformError"],nt=function(){function e(a,c){za(this,e),this.promise=Rc(),this.alive=!!c.onProgress,!c.logger&&(c.logger=new Ac("Loader")),this._loaderType=a,this._loader=a===Fc&&"undefined"!=typeof fetch?new tt:new bt,this._config=c,this._retryCount=0,this._retryTimer=null,this._canceled=!1,this._retryCheckFunc=c.retryCheckFunc,this._logger=c.logger}var a;return Ka(e,[{key:"exec",value:function(){var e=this,a=this._config,c=a.retry,t=a.retryDelay,b=a.onRetryError,r=a.transformError,n=ec(a,rt),i=function(){var a=qa(Fa().mark((function a(){var d,f,o;return Fa().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,e._loader.load(n);case 3:d=a.sent,e.promise.resolve(d),a.next=27;break;case 7:if(a.prev=7,a.t0=a.catch(0),e._loader.running=!1,e._logger.debug("[task request catch err]",a.t0),!e._canceled){a.next=13;break}return a.abrupt("return");case 13:if(a.t0.loaderType=e._loaderType,a.t0.retryCount=e._retryCount,f=a.t0,r&&(f=r(f)||f),b&&e._retryCount>0&&b(f,e._retryCount,{index:n.index,vid:n.vid,range:n.range,priOptions:n.priOptions}),e._retryCount++,o=!0,e._retryCheckFunc&&(o=e._retryCheckFunc(a.t0)),!(o&&e._retryCount<=c)){a.next=26;break}return clearTimeout(e._retryTimer),e._logger.debug("[task request setTimeout],retry",e._retryCount,",retry range,",n.range),e._retryTimer=setTimeout(i,t),a.abrupt("return");case 26:e.promise.reject(f);case 27:case"end":return a.stop()}}),a,null,[[0,7]])})));return function(){return a.apply(this,arguments)}}();return i(),this.promise}},{key:"cancel",value:(a=qa(Fa().mark((function e(){return Fa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return clearTimeout(this._retryTimer),this._canceled=!0,this._loader.running=!1,e.abrupt("return",this._loader.cancel());case 4:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"running",get:function(){return this._loader&&this._loader.running}},{key:"loader",get:function(){return this._loader}}]),e}();function it(){for(var e=arguments.length,a=new Array(e),c=0;c<e;c++)a[c]=arguments[c];if((a=a.filter(Boolean)).length<2)return a[0];var t=new Uint8Array(a.reduce((function(e,a){return e+a.byteLength}),0)),b=0;return a.forEach((function(e){t.set(e,b),b+=e.byteLength})),t}function dt(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((function(a){return setTimeout(a,e)}))}var ft=function(e){Wa(t,e);var a,c=cc(t);function t(e){var a;return za(this,t),$a(ac(a=c.call(this,e)),"type",Fc),$a(ac(a),"_queue",[]),$a(ac(a),"_alive",[]),$a(ac(a),"_currentTask",null),$a(ac(a),"_finnalUrl",""),$a(ac(a),"_config",void 0),a._config=function(e){return Na({loaderType:Fc,retry:0,retryDelay:0,timeout:0,request:null,onTimeout:void 0,onProgress:void 0,onRetryError:void 0,transformRequest:void 0,transformResponse:void 0,transformError:void 0,responseType:qc,range:void 0,url:"",params:void 0,method:"GET",headers:{},body:void 0,mode:void 0,credentials:void 0,cache:void 0,redirect:void 0,referrer:void 0,referrerPolicy:void 0,integrity:void 0,onProcessMinLen:0},e)}(e),a._config.loaderType!==Gc&&tt.isSupported()||(a.type=Gc),a.log=e.logger,a}return Ka(t,[{key:"isFetch",value:function(){return this.type===Fc}},{key:"load",value:function(e){var a=this,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};"string"!=typeof e&&e?c=e:c.url=e||c.url||this._config.url,(c=Object.assign({},this._config,c)).params&&(c.params=Object.assign({},c.params)),c.headers&&$c(c.headers)&&(c.headers=Object.assign({},c.headers)),c.body&&$c(c.body)&&(c.body=Object.assign({},c.body)),c.transformRequest&&(c=c.transformRequest(c)||c),c.logger=this.log;var t=new nt(this.type,c);return t.loader.on(Zc.REAL_TIME_SPEED,(function(e){a.emit(Zc.REAL_TIME_SPEED,e)})),this._queue.push(t),1!==this._queue.length||this._currentTask&&this._currentTask.running||this._processTask(),t.promise}},{key:"cancel",value:(a=qa(Fa().mark((function e(){var a;return Fa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=this._queue.map((function(e){return e.cancel()})).concat(this._alive.map((function(e){return e.cancel()}))),this._currentTask&&a.push(this._currentTask.cancel()),this._queue=[],this._alive=[],e.next=6,Promise.all(a);case 6:return e.next=8,dt();case 8:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"_processTask",value:function(){var e=this;if(this._currentTask=this._queue.shift(),this._currentTask){this._currentTask.alive&&this._alive.push(this._currentTask);var a=this._currentTask.exec().catch((function(e){}));a&&"function"==typeof a.finally&&a.finally((function(){var a,c;null!==(a=e._currentTask)&&void 0!==a&&a.alive&&(null===(c=e._alive)||void 0===c?void 0:c.length)>0&&(e._alive=e._alive.filter((function(a){return a&&a!==e._currentTask}))),e._processTask()}))}}}],[{key:"isFetchSupport",value:function(){return tt.isSupported()}}]),t}(at),ot=function(){function e(){za(this,e),$a(this,"_prevCurrentTime",0)}return Ka(e,[{key:"do",value:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,c=arguments.length>2?arguments[2]:void 0,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;if(e){var b=e.currentTime,r=0;if(this._prevCurrentTime===b){var n=dc.info(dc.get(e),b);if(!n.buffers.length)return;c&&n.nextStart||n.nextStart&&n.nextStart-b<a?r=n.nextStart+.1:n.end&&n.end-b>t&&!e.seeking&&(r=b+.1)}this._prevCurrentTime=b,r&&b!==r&&(e.currentTime=r)}}}]),e}(),st=function(){function e(a){var c=this;za(this,e),$a(this,"_seiSet",new Set),this.emitter=a,a.on(Zc.SEI,(function(e){e&&c._seiSet.add(e)}))}return Ka(e,[{key:"throw",value:function(e,a){var c=this;if(null!=e&&this._seiSet.size){var t=e-.2,b=e+.2,r=[];this._seiSet.forEach((function(e){e.time>=t&&e.time<=b&&r.push(e)})),r.forEach((function(e){c._seiSet.delete(e),c.emitter.emit(Zc.SEI_IN_TIME,e)})),a&&this._seiSet.forEach((function(a){a.time<e-5&&c._seiSet.delete(a)}))}}},{key:"reset",value:function(){this._seiSet.clear()}}]),e}(),ut=function(){function e(a){za(this,e),$a(this,"_chunkSpeed",0),$a(this,"_chunkCache",[]),$a(this,"_speeds",[]),$a(this,"_totalSize",0),$a(this,"_totalCost",0),this._opts=a||{}}return Ka(e,[{key:"addRecord",value:function(e,a){e&&a&&(this._speeds.push(8e3*e/a),this._speeds=this._speeds.slice(-3))}},{key:"addChunkRecord",value:function(e,a){var c,t;if(e&&a&&!(e<((null===(c=this._opts)||void 0===c?void 0:c.skipChunkSize)||1e3))){this._totalSize+=e,this._totalCost+=a,this._chunkSpeed=8e3*e/a,this._chunkCache.push({size:e,duration:a,timestamp:performance.now()});var b=(null===(t=this._opts)||void 0===t?void 0:t.chunkCountForSpeed)||50;this._chunkCache.length>b&&(this._chunkCache=this._chunkCache.slice(-b))}}},{key:"getAvgSpeed",value:function(){var e;if(!this._chunkCache.length&&!this._speeds.length)return 0;if(this._speeds.length)return this._speeds.reduce((function(e,a){return e+a}))/this._speeds.length;var a=this._chunkCache[this._chunkCache.length-1],c=performance.now()-a.timestamp;return c>((null===(e=this._opts)||void 0===e?void 0:e.longtimeNoReceived)||3e3)&&this._chunkCache.push({size:0,duration:c,timestamp:performance.now()}),8e3*this._chunkCache.reduce((function(e,a){return e+a.size}),0)/this._chunkCache.reduce((function(e,a){return e+a.duration}),0)}},{key:"getLatestSpeed",value:function(){return this._chunkCache.length||this._speeds.length?this._speeds.length?this._speeds[this._speeds.length-1]:this._chunkSpeed:0}},{key:"getTotalSize",value:function(){return this._totalSize}},{key:"getTotalCost",value:function(){return this._totalCost}},{key:"reset",value:function(){this._chunkCache=[],this._speeds=[],this._totalSize=0,this._totalCost=0}}]),e}(),lt=function(){function e(a){za(this,e),$a(this,"encodeType",""),$a(this,"audioCodec",""),$a(this,"videoCodec",""),$a(this,"domain",""),$a(this,"fps",0),$a(this,"bitrate",0),$a(this,"width",0),$a(this,"height",0),$a(this,"samplerate",0),$a(this,"channelCount",0),$a(this,"gop",0),$a(this,"_bitsAccumulateSize",0),$a(this,"_bitsAccumulateDuration",0),$a(this,"_startGopId",-1),this._timescale=a}return Ka(e,[{key:"getStats",value:function(){return{encodeType:this.encodeType,audioCodec:this.audioCodec,videoCodec:this.videoCodec,domain:this.domain,fps:this.fps,bitrate:this.bitrate,width:this.width,height:this.height,samplerate:this.samplerate,channelCount:this.channelCount,gop:this.gop}}},{key:"setEncodeType",value:function(e){this.encodeType=e}},{key:"setFpsFromScriptData",value:function(e){var a,c=e.data,t=null==c||null===(a=c.onMetaData)||void 0===a?void 0:a.framerate;t&&t>0&&t<100&&(this.fps=t)}},{key:"setVideoMeta",value:function(e){if(this.width=e.width,this.height=e.height,this.videoCodec=e.codec,this.encodeType=e.codecType,e.fpsNum&&e.fpsDen){var a=e.fpsNum/e.fpsDen;a>0&&a<100&&(this.fps=a)}}},{key:"setAudioMeta",value:function(e){this.audioCodec=e.codec,this.samplerate=e.sampleRate,this.channelCount=e.channelCount}},{key:"setDomain",value:function(e){this.domain=e.split("/").slice(2,3)[0]}},{key:"updateBitrate",value:function(e){var a=this;if((!this.fps||this.fps>=100)&&e.length){var c=e.reduce((function(e,a){return e+a.duration}),0)/e.length;this.fps=Math.round(this._timescale/c)}e.forEach((function(e){-1===a._startGopId&&(a._startGopId=e.gopId),e.gopId===a._startGopId&&a.gop++,a._bitsAccumulateDuration+=e.duration/(a._timescale/1e3),a._bitsAccumulateSize+=e.units.reduce((function(e,a){return e+a.length}),0),a._bitsAccumulateDuration>=1e3&&(a.bitrate=8*a._bitsAccumulateSize,a._bitsAccumulateDuration=0,a._bitsAccumulateSize=0)}))}}]),e}(),ht=function(){function e(a){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;za(this,e),$a(this,"_core",null),$a(this,"_samples",[]),this._core=a,this._timescale=c,this._stats=new lt(c),this._bindEvents()}return Ka(e,[{key:"getStats",value:function(){var e,a,c,t,b,r,n,i,d,f,o,s=(null===(e=this._core)||void 0===e?void 0:e.media)||{},u=s.currentTime,l=void 0===u?0:u,h=s.decodeFps,p=void 0===h?0:h;return Na(Na({},this._stats.getStats()),{},{downloadSpeed:(null===(a=this._core)||void 0===a||null===(c=a.speedInfo)||void 0===c?void 0:c.call(a).speed)||0,avgSpeed:(null===(t=this._core)||void 0===t||null===(b=t.speedInfo)||void 0===b?void 0:b.call(t).avgSpeed)||0,totalReceivedByte:(null===(r=this._core)||void 0===r||null===(n=r.speedInfo)||void 0===n?void 0:n.call(r).totalSize)||0,totalReceivedCost:(null===(i=this._core)||void 0===i||null===(d=i.speedInfo)||void 0===d?void 0:d.call(i).totalCost)||0,currentTime:l,bufferEnd:(null===(f=this._core)||void 0===f||null===(o=f.bufferInfo())||void 0===o?void 0:o.remaining)||0,decodeFps:p})}},{key:"_bindEvents",value:function(){var e=this;this._core.on(Zc.DEMUXED_TRACK,(function(a){var c=a.videoTrack;return e._stats.updateBitrate(c.samples)})),this._core.on(Zc.FLV_SCRIPT_DATA,(function(a){e._stats.setFpsFromScriptData(a)})),this._core.on(Zc.METADATA_PARSED,(function(a){"video"===a.type?e._stats.setVideoMeta(a.track):e._stats.setAudioMeta(a.track)})),this._core.on(Zc.TTFB,(function(a){e._stats.setDomain(a.responseUrl)}))}},{key:"reset",value:function(){this._samples=[],this._stats=new lt(this._timescale)}}]),e}();function pt(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}function vt(e,a){for(var c=0;c<a.length;c++){var t=a[c];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,At(t.key),t)}}function yt(e,a,c){return a&&vt(e.prototype,a),c&&vt(e,c),Object.defineProperty(e,"prototype",{writable:!1}),e}function mt(e,a,c){return(a=At(a))in e?Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):e[a]=c,e}function gt(e){return(gt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _t(e,a){return(_t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,a){return e.__proto__=a,e})(e,a)}function kt(e,a){if(a&&("object"==typeof a||"function"==typeof a))return a;if(void 0!==a)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function Et(e){var a=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var c,t=gt(e);if(a){var b=gt(this).constructor;c=Reflect.construct(t,arguments,b)}else c=t.apply(this,arguments);return kt(this,c)}}function St(e,a){return function(e){if(Array.isArray(e))return e}(e)||function(e,a){var c=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=c){var t,b,r,n,i=[],d=!0,f=!1;try{if(r=(c=c.call(e)).next,0===a){if(Object(c)!==c)return;d=!1}else for(;!(d=(t=r.call(c)).done)&&(i.push(t.value),i.length!==a);d=!0);}catch(o){f=!0,b=o}finally{try{if(!d&&null!=c.return&&(n=c.return(),Object(n)!==n))return}finally{if(f)throw b}}return i}}(e,a)||xt(e,a)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function wt(e){return function(e){if(Array.isArray(e))return Tt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||xt(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function xt(e,a){if(e){if("string"==typeof e)return Tt(e,a);var c=Object.prototype.toString.call(e).slice(8,-1);return"Object"===c&&e.constructor&&(c=e.constructor.name),"Map"===c||"Set"===c?Array.from(e):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?Tt(e,a):void 0}}function Tt(e,a){(null==a||a>e.length)&&(a=e.length);for(var c=0,t=new Array(a);c<a;c++)t[c]=e[c];return t}function At(e){var a=function(e,a){if("object"!=typeof e||null===e)return e;var c=e[Symbol.toPrimitive];if(void 0!==c){var t=c.call(e,a||"default");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(e)}(e,"string");return"symbol"==typeof a?a:String(a)}var It="video",Dt="audio",Ot="metadata",Rt="av1",Lt="avc",Ct="hevc",Pt="aac",jt="g7110a",Mt="g7110m",Bt="opus",Ut="mp3",Nt="LARGE_AV_SHIFT",Ft="LARGE_VIDEO_GAP",Gt="LARGE_VIDEO_GAP_BETWEEN_CHUNK",Vt="LARGE_AUDIO_GAP",qt="AUDIO_FILLED",zt="AUDIO_DROPPED",Ht=function(){function e(){pt(this,e),mt(this,"id",1),mt(this,"type",It),mt(this,"codecType",Lt),mt(this,"pid",-1),mt(this,"hvcC",void 0),mt(this,"codec",""),mt(this,"timescale",0),mt(this,"formatTimescale",0),mt(this,"sequenceNumber",0),mt(this,"baseMediaDecodeTime",0),mt(this,"baseDts",0),mt(this,"duration",0),mt(this,"warnings",[]),mt(this,"samples",[]),mt(this,"pps",[]),mt(this,"sps",[]),mt(this,"vps",[]),mt(this,"fpsNum",0),mt(this,"fpsDen",0),mt(this,"sarRatio",[]),mt(this,"width",0),mt(this,"height",0),mt(this,"nalUnitSize",4),mt(this,"present",!1),mt(this,"isVideoEncryption",!1),mt(this,"isAudioEncryption",!1),mt(this,"isVideo",!0),mt(this,"lastKeyFrameDts",0),mt(this,"kid",null),mt(this,"pssh",null),mt(this,"ext",void 0)}return yt(e,[{key:"reset",value:function(){this.sequenceNumber=this.width=this.height=this.fpsDen=this.fpsNum=this.duration=this.baseMediaDecodeTime=this.timescale=0,this.codec="",this.present=!1,this.pid=-1,this.pps=[],this.sps=[],this.vps=[],this.sarRatio=[],this.samples=[],this.warnings=[],this.hvcC=null}},{key:"firstDts",get:function(){return this.samples.length?this.samples[0].dts:null}},{key:"firstPts",get:function(){return this.samples.length?this.samples[0].pts:null}},{key:"samplesDuration",get:function(){if(this.samples.length>0){var e=this.samples[0],a=this.samples[this.samples.length-1];return a.dts-e.dts+a.duration}return 0}},{key:"exist",value:function(){return!!/av01/.test(this.codec)||!!(this.pps.length&&this.sps.length&&this.codec)}},{key:"hasSample",value:function(){return!!this.samples.length}},{key:"isEncryption",get:function(){return this.isVideoEncryption}}]),e}(),Kt=function(){function e(){pt(this,e),mt(this,"id",2),mt(this,"type",Dt),mt(this,"codecType",Pt),mt(this,"pid",-1),mt(this,"codec",""),mt(this,"container",""),mt(this,"sequenceNumber",0),mt(this,"sampleDuration",0),mt(this,"timescale",0),mt(this,"formatTimescale",0),mt(this,"baseMediaDecodeTime",0),mt(this,"duration",0),mt(this,"warnings",[]),mt(this,"samples",[]),mt(this,"baseDts",0),mt(this,"sampleSize",16),mt(this,"sampleRate",0),mt(this,"channelCount",0),mt(this,"objectType",0),mt(this,"sampleRateIndex",0),mt(this,"config",[]),mt(this,"present",!1),mt(this,"isVideoEncryption",!1),mt(this,"isAudioEncryption",!1),mt(this,"kid",null),mt(this,"ext",void 0)}return yt(e,[{key:"reset",value:function(){this.sequenceNumber=0,this.timescale=0,this.sampleDuration=0,this.sampleRate=0,this.channelCount=0,this.baseMediaDecodeTime=0,this.present=!1,this.pid=-1,this.codec="",this.samples=[],this.config=[],this.warnings=[]}},{key:"exist",value:function(){return!(!this.sampleRate||!this.channelCount||!this.codec&&!this.container||this.codecType!==Pt&&this.codecType!==jt&&this.codecType!==Mt&&this.codecType!==Bt&&this.codecType!==Ut)}},{key:"hasSample",value:function(){return!!this.samples.length}},{key:"isEncryption",get:function(){return this.isAudioEncryption}},{key:"firstDts",get:function(){return this.samples.length?this.samples[0].dts:null}},{key:"firstPts",get:function(){return this.samples.length?this.samples[0].pts:null}},{key:"samplesDuration",get:function(){if(this.samples.length>0){var e=this.samples[0],a=this.samples[this.samples.length-1];return a.dts-e.dts+a.duration}return 0}}]),e}(),$t=function(){function e(a,c,t){pt(this,e),mt(this,"flag",{}),mt(this,"keyframe",!1),mt(this,"gopId",0),mt(this,"duration",0),mt(this,"size",0),mt(this,"units",[]),mt(this,"chromaFormat",420),this.originPts=this.pts=a,this.originDts=this.dts=c,t&&(this.units=t)}return yt(e,[{key:"cts",get:function(){return this.pts-this.dts}},{key:"setToKeyframe",value:function(){this.keyframe=!0,this.flag.dependsOn=2,this.flag.isNonSyncSample=0}}]),e}(),Wt=yt((function e(a,c,t,b){pt(this,e),mt(this,"duration",1024),mt(this,"flag",{dependsOn:2,isNonSyncSample:0}),mt(this,"keyframe",!0),this.originPts=this.pts=this.dts=a,this.data=c,this.size=c.byteLength,this.sampleOffset=b,t&&(this.duration=t)})),Yt=function(e){!function(e,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(a&&a.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),a&&_t(e,a)}(c,e);var a=Et(c);function c(){return pt(this,c),a.apply(this,arguments)}return yt(c)}(yt((function e(a,c){pt(this,e),mt(this,"time",0),this.data=a,this.originPts=this.pts=c}))),Xt=function(){function e(){pt(this,e),mt(this,"id",3),mt(this,"type",Ot),mt(this,"timescale",0),mt(this,"flvScriptSamples",[]),mt(this,"seiSamples",[])}return yt(e,[{key:"exist",value:function(){return!(!this.flvScriptSamples.length&&!this.seiSamples.length||!this.timescale)}},{key:"reset",value:function(){this.timescale=0,this.flvScriptSamples=[],this.seiSamples=[]}},{key:"hasSample",value:function(){return!(!this.flvScriptSamples.length&&!this.seiSamples.length)}}]),e}(),Qt=function(){function e(a){pt(this,e),this.name=a||"",this._prefix="[".concat(this.name,"]")}return yt(e,[{key:"warn",value:function(){var a;if(!e.disabled){for(var c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];(a=console).warn.apply(a,[this._prefix].concat(t))}}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();mt(Qt,"disabled",!0);var Jt="undefined"!=typeof window,Zt=Jt&&navigator.userAgent.toLocaleLowerCase(),eb=Jt&&/^((?!chrome|android).)*safari/.test(Zt),ab=Jt&&Zt.includes("firefox"),cb=Jt&&Zt.includes("android"),tb=function(){function e(){pt(this,e)}return yt(e,null,[{key:"getRateIndexByRate",value:function(a){return e.FREQ.indexOf(a)}},{key:"parseADTS",value:function(a,c){for(var t=a.length,b=0;b+2<t&&(255!==a[b]||240!=(246&a[b+1]));)b++;if(!(b>=t)){var r=b,n=[],i=(60&a[b+2])>>>2,d=e.FREQ[i];if(!d)throw new Error("Invalid sampling index: ".concat(i));for(var f,o,s=1+((192&a[b+2])>>>6),u=(1&a[b+2])<<2|(192&a[b+3])>>>6,l=e._getConfig(i,u,s),h=l.config,p=l.codec,v=0,y=e.getFrameDuration(d);b+7<t;)if(255===a[b]&&240==(246&a[b+1])){if(!(o=(3&a[b+3])<<11|a[b+4]<<3|(224&a[b+5])>>5)||t-b<o)break;f=2*(1&~a[b+1]),n.push({pts:c+v*y,data:a.subarray(b+7+f,b+o)}),v++,b+=o}else b++;return{skip:r,remaining:b>=t?void 0:a.subarray(b),frames:n,samplingFrequencyIndex:i,sampleRate:d,objectType:s,channelCount:u,codec:p,config:h,originCodec:"mp4a.40.".concat(s)}}}},{key:"parseAudioSpecificConfig",value:function(a){if(a.length){var c=a[0]>>>3,t=(7&a[0])<<1|a[1]>>>7,b=(120&a[1])>>>3,r=e.FREQ[t];if(r){var n=e._getConfig(t,b,c);return{samplingFrequencyIndex:t,sampleRate:r,objectType:c,channelCount:b,config:n.config,codec:n.codec,originCodec:"mp4a.40.".concat(c)}}}}},{key:"getFrameDuration",value:function(e){return 1024*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4)/e}},{key:"_getConfig",value:function(e,a,c){var t,b,r=[];return ab?e>=6?(t=5,b=e-3):(t=2,b=e):cb?(t=2,b=e):(t=5,b=e,e>=6?b=e-3:1===a&&(t=2,b=e)),r[0]=t<<3,r[0]|=(14&e)>>1,r[1]=(1&e)<<7,r[1]|=a<<3,5===t&&(r[1]|=(14&b)>>1,r[2]=(1&b)<<7,r[2]|=8,r[3]=0),{config:r,codec:"mp4a.40.".concat(t)}}},{key:"getSilentFrame",value:function(e,a){if("mp4a.40.2"===e){if(1===a)return new Uint8Array([0,200,0,128,35,128]);if(2===a)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===a)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===a)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===a)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===a)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===a)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===a)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===a)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}}]),e}();function bb(){for(var e=arguments.length,a=new Array(e),c=0;c<e;c++)a[c]=arguments[c];a=a.filter(Boolean);var t=new Uint8Array(a.reduce((function(e,a){return e+a.byteLength}),0)),b=0;return a.forEach((function(e){t.set(e,b),b+=e.byteLength})),t}mt(tb,"FREQ",[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350]);var rb=Math.pow(2,32);function nb(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[a]<<8)+(e[a+1]||0)}function ib(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[a]<<24>>>0)+(e[a+1]<<16)+(e[a+2]<<8)+(e[a+3]||0)}function db(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return ib(e,a)*rb+ib(e,a+4)}function fb(e){for(var a,c="avc1.",t=0;t<3;t++)(a=e[t].toString(16)).length<2&&(a="0".concat(a)),c+=a;return c}function ob(e){if(!Array.isArray(e)){for(var a=[],c="",t=0;t<e.length;t++)t%2&&(c=e[t-1]+e[t],a.push(parseInt(c,16)),c="");return a}return e.map((function(e){return parseInt(e,16)}))}function sb(e,a){return Number(e+"."+a)}var ub=function(){function e(){pt(this,e)}return yt(e,null,[{key:"parseAnnexB",value:function(e){var a=e.byteLength-1,c=0;do{if(0!==e[a])break;c++,a--}while(a>0);c>=3&&(e=e.subarray(0,a+1));for(var t=e.length,b=2,r=0;null!==e[b]&&void 0!==e[b]&&1!==e[b];)b++;if((r=++b+2)>=t)return[];for(var n=[];r<t;)switch(e[r]){case 0:if(0!==e[r-1]){r+=2;break}if(0!==e[r-2]){r++;break}if(r<t-1&&1!==e[r+1]){r++;break}b!==r-2&&n.push(e.subarray(b,r-2));do{r++}while(1!==e[r]&&r<t);r=(b=r+1)+2;break;case 1:if(0!==e[r-1]||0!==e[r-2]){r+=3;break}b!==r-2&&n.push(e.subarray(b,r-2)),r=(b=r+1)+2;break;default:r+=3}return b<t&&n.push(e.subarray(b)),n}},{key:"parseAvcC",value:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(!(e.length<4)){for(var c,t=e.length,b=[],r=0;r+a<t;)if(c=ib(e,r),3===a&&(c>>>=8),r+=a,c){if(r+c>t)break;b.push(e.subarray(r,r+c)),r+=c}return b}}},{key:"parseSEI",value:function(e,a){for(var c=e.length,t=a?2:1,b=0,r=0,n="";255===e[t];)b+=255,t++;for(b+=e[t++];255===e[t];)r+=255,t++;if(r+=e[t++],5===b&&c>t+16)for(var i=0;i<16;i++)n+=e[t].toString(16),t++;return{payload:e.subarray(t,t+r),type:b,size:r,uuid:n}}},{key:"removeEPB",value:function(e){for(var a=e.byteLength,c=[],t=1;t<a-2;)0===e[t]&&0===e[t+1]&&3===e[t+2]?(c.push(t+2),t+=2):t++;if(!c.length)return e;var b=a-c.length,r=new Uint8Array(b),n=0;for(t=0;t<b;n++,t++)n===c[0]&&(n++,c.shift()),r[t]=e[n];return r}}]),e}(),lb=function(){function e(a){if(pt(this,e),mt(this,"_bytesAvailable",void 0),mt(this,"_bitsAvailable",0),mt(this,"_word",0),!a)throw new Error("ExpGolomb data params is required");this._data=a,this._bytesAvailable=a.byteLength,this._bytesAvailable&&this._loadWord()}return yt(e,[{key:"bitsAvailable",get:function(){return this._bitsAvailable}},{key:"_loadWord",value:function(){var e=this._data.byteLength-this._bytesAvailable,a=Math.min(4,this._bytesAvailable);if(0===a)throw new Error("No bytes available");var c=new Uint8Array(4);c.set(this._data.subarray(e,e+a)),this._word=new DataView(c.buffer).getUint32(0),this._bitsAvailable=8*a,this._bytesAvailable-=a}},{key:"skipBits",value:function(e){if(this._bitsAvailable>e)this._word<<=e,this._bitsAvailable-=e;else{e-=this._bitsAvailable;var a=Math.floor(e/8);e-=8*a,this._bytesAvailable-=a,this._loadWord(),this._word<<=e,this._bitsAvailable-=e}}},{key:"readBits",value:function(e){if(e>32)throw new Error("Cannot read more than 32 bits");var a=Math.min(this._bitsAvailable,e),c=this._word>>>32-a;return this._bitsAvailable-=a,this._bitsAvailable>0?this._word<<=a:this._bytesAvailable>0&&this._loadWord(),(a=e-a)>0&&this._bitsAvailable?c<<a|this.readBits(a):c}},{key:"skipLZ",value:function(){var e;for(e=0;e<this._bitsAvailable;++e)if(this._word&2147483648>>>e)return this._word<<=e,this._bitsAvailable-=e,e;return this._loadWord(),e+this.skipLZ()}},{key:"skipUEG",value:function(){this.skipBits(1+this.skipLZ())}},{key:"readUEG",value:function(){var e=this.skipLZ();return this.readBits(e+1)-1}},{key:"readEG",value:function(){var e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}},{key:"readBool",value:function(){return 1===this.readBits(1)}},{key:"readUByte",value:function(){return this.readBits(8)}},{key:"skipScalingList",value:function(e){for(var a=8,c=8,t=0;t<e;t++)0!==c&&(c=(a+this.readEG()+256)%256),a=0===c?a:c}}]),e}(),hb=function(){function e(){pt(this,e)}return yt(e,null,[{key:"parseAVCDecoderConfigurationRecord",value:function(a){if(!(a.length<7)){for(var c,t,b=1+(3&a[4]),r=[],n=[],i=6,d=31&a[5],f=0;f<d;f++)if(t=a[i]<<8|a[i+1],i+=2,t){var o=a.subarray(i,i+t);i+=t,r.push(o),c||(c=e.parseSPS(ub.removeEPB(o)))}var s,u=a[i];i++;for(var l=0;l<u;l++)s=a[i]<<8|a[i+1],i+=2,s&&(n.push(a.subarray(i,i+s)),i+=s);return{sps:c,spsArr:r,ppsArr:n,nalUnitSize:b}}}},{key:"parseSPS",value:function(e){var a=new lb(e);a.readUByte();var c=a.readUByte(),t=a.readUByte(),b=a.readUByte();a.skipUEG();var r=420;if(100===c||110===c||122===c||244===c||44===c||83===c||86===c||118===c||128===c||138===c||144===c){var n=a.readUEG();if(n<=3&&(r=[0,420,422,444][n]),3===n&&a.skipBits(1),a.skipUEG(),a.skipUEG(),a.skipBits(1),a.readBool())for(var i=3!==n?8:12,d=0;d<i;d++)a.readBool()&&(d<6?a.skipScalingList(16):a.skipScalingList(64))}a.skipUEG();var f=a.readUEG();if(0===f)a.readUEG();else if(1===f){a.skipBits(1),a.skipUEG(),a.skipUEG();for(var o=a.readUEG(),s=0;s<o;s++)a.skipUEG()}a.skipUEG(),a.skipBits(1);var u=a.readUEG(),l=a.readUEG(),h=a.readBits(1);0===h&&a.skipBits(1),a.skipBits(1);var p,v,y,m,g,_=0,k=0,E=0,S=0;if(a.readBool()&&(_=a.readUEG(),k=a.readUEG(),E=a.readUEG(),S=a.readUEG()),a.readBool()){if(a.readBool())switch(a.readUByte()){case 1:p=[1,1];break;case 2:p=[12,11];break;case 3:p=[10,11];break;case 4:p=[16,11];break;case 5:p=[40,33];break;case 6:p=[24,11];break;case 7:p=[20,11];break;case 8:p=[32,11];break;case 9:p=[80,33];break;case 10:p=[18,11];break;case 11:p=[15,11];break;case 12:p=[64,33];break;case 13:p=[160,99];break;case 14:p=[4,3];break;case 15:p=[3,2];break;case 16:p=[2,1];break;case 255:p=[a.readUByte()<<8|a.readUByte(),a.readUByte()<<8|a.readUByte()]}if(a.readBool()&&a.readBool(),a.readBool()&&(a.readBits(4),a.readBool()&&a.readBits(24)),a.readBool()&&(a.readUEG(),a.readUEG()),a.readBool()){var w=a.readBits(32),x=a.readBits(32);v=a.readBool(),g=(y=x)/(m=2*w)}}return{codec:fb(e.subarray(1,4)),profileIdc:c,profileCompatibility:t,levelIdc:b,chromaFormat:r,width:Math.ceil(16*(u+1)-2*(_+k)),height:(2-h)*(l+1)*16-(h?2:4)*(E+S),sarRatio:p,fpsNum:y,fpsDen:m,fps:g,fixedFrame:v}}}]),e}(),pb=function(){function e(){pt(this,e)}return yt(e,null,[{key:"parseHEVCDecoderConfigurationRecord",value:function(a){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(a.length<23)){c=c||{};for(var t,b,r,n,i,d=1+(3&a[21]),f=[],o=[],s=[],u=23,l=a[22],h=0;h<l;h++){r=63&a[u],n=a[u+1]<<8|a[u+2],u+=3;for(var p=0;p<n;p++)if(i=a[u]<<8|a[u+1],u+=2,i){switch(r){case 32:var v=a.subarray(u,u+i);t||(t=e.parseVPS(ub.removeEPB(v),c)),s.push(v);break;case 33:var y=a.subarray(u,u+i);b||(b=e.parseSPS(ub.removeEPB(y),c)),f.push(y);break;case 34:o.push(a.subarray(u,u+i))}u+=i}}return{hvcC:c,sps:b,spsArr:f,ppsArr:o,vpsArr:s,nalUnitSize:d}}}},{key:"parseVPS",value:function(a,c){c=c||{};var t=new lb(a);t.readUByte(),t.readUByte(),t.readBits(12);var b=t.readBits(3);return c.numTemporalLayers=Math.max(c.numTemporalLayers||0,b+1),t.readBits(17),e._parseProfileTierLevel(t,b,c),c}},{key:"parseSPS",value:function(a){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};c=c||{};var t=new lb(a);t.readUByte(),t.readUByte(),t.readBits(4);var b=t.readBits(3);c.numTemporalLayers=Math.max(b+1,c.numTemporalLayers||0),c.temporalIdNested=t.readBits(1),e._parseProfileTierLevel(t,b,c),t.readUEG();var r=c.chromaFormatIdc=t.readUEG(),n=420;r<=3&&(n=[0,420,422,444][r]);var i=0;3===r&&(i=t.readBits(1));var d,f,o,s,u=t.readUEG(),l=t.readUEG(),h=t.readBits(1);(1===h&&(d=t.readUEG(),f=t.readUEG(),o=t.readUEG(),s=t.readUEG()),c.bitDepthLumaMinus8=t.readUEG(),c.bitDepthChromaMinus8=t.readUEG(),1===h)&&(u-=(1!==r&&2!==r||0!==i?1:2)*(f+d),l-=(1===r&&0===i?2:1)*(s+o));return{codec:"hev1.1.6.L93.B0",width:u,height:l,chromaFormat:n,hvcC:c}}},{key:"_parseProfileTierLevel",value:function(e,a,c){var t=c.generalTierFlag||0;c.generalProfileSpace=e.readBits(2),c.generalTierFlag=Math.max(e.readBits(1),t),c.generalProfileIdc=Math.max(e.readBits(5),c.generalProfileIdc||0),c.generalProfileCompatibilityFlags=e.readBits(32),c.generalConstraintIndicatorFlags=[e.readBits(8),e.readBits(8),e.readBits(8),e.readBits(8),e.readBits(8),e.readBits(8)];var b=e.readBits(8);t<c.generalTierFlag?c.generalLevelIdc=b:c.generalLevelIdc=Math.max(b,c.generalLevelIdc||0);var r=[],n=[];if(a>e.bitsAvailable)throw new Error("maxSubLayersMinus inavlid size ".concat(a));for(var i=0;i<a;i++)r[i]=e.readBits(1),n[i]=e.readBits(1);a>0&&e.readBits(2*(8-a));for(var d=0;d<a;d++)0!==r[d]&&(e.readBits(2),e.readBits(1),e.readBits(5),e.readBits(16),e.readBits(16),e.readBits(4),e.readBits(16),e.readBits(16),e.readBits(12)),0!==n[d]&&e.readBits(8)}}]),e}(),vb=9e4,yb=45e4,mb=9e4,gb=function(){function e(a,c,t,b){pt(this,e),this.videoTrack=a,this.audioTrack=c,this.metadataTrack=t,this._baseDts=-1,this._baseVideoDts=-1,this._baseAudioDts=-1,this._baseDtsInited=!1,this._audioNextPts=void 0,this._videoNextDts=void 0,this._audioTimestampBreak=!1,this._videoTimestampBreak=!1,this._lastAudioExceptionGapDot=0,this._lastAudioExceptionOverlapDot=0,this._lastAudioExceptionLargeGapDot=0,this._needForceFixLargeGap=null==b?void 0:b.forceFixLargeGap,this._largeGapThreshold=(null==b?void 0:b.largeGapThreshold)||45e4}return yt(e,[{key:"fix",value:function(){var e=this,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,c=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];a=Math.round(9e4*a);var b=this.videoTrack,r=this.audioTrack,n=b.samples,i=r.samples;if(n.length||i.length){var d=n[0],f=i[0],o=0;if(n.length&&i.length&&(o=d.dts-f.pts),this._baseDtsInited||this._calculateBaseDts(this.audioTrack,this.videoTrack),c&&(this._calculateBaseDts(this.audioTrack,this.videoTrack),this._baseDts-=a,this._baseAudioDts-=a,this._baseVideoDts-=a),!t){this._videoNextDts=o>0?a+o:a,this._audioNextPts=o>0?a:a-o,this._needForceFixLargeGap&&(this._videoNextDts=0,this._audioNextPts=0);var s=d?d.dts-this._baseDts-this._videoNextDts:0,u=f?f.pts-this._baseDts-this._audioNextPts:0;Math.abs(s||u)>mb&&(this._calculateBaseDts(this.audioTrack,this.videoTrack),this._baseDts-=a)}if(this._resetBaseDtsWhenStreamBreaked(),this._fixAudio(r),this._fixVideo(b),this.metadataTrack.exist()){var l=this.metadataTrack.timescale;this.metadataTrack.seiSamples.forEach((function(a){a.pts=a.originPts-e._baseDts,a.time=Math.max(0,a.pts)/l}))}b.samples.length&&(b.baseMediaDecodeTime=b.samples[0].dts),r.samples.length&&(r.baseMediaDecodeTime=r.samples[0].pts*r.timescale/9e4)}}},{key:"_fixVideo",value:function(e){var a=this,c=e.samples;if(c.length){if(c.forEach((function(e){e.dts-=a._needForceFixLargeGap?a._baseVideoDts:a._baseDts,e.pts-=a._needForceFixLargeGap?a._baseVideoDts:a._baseDts})),void 0===this._videoNextDts){var t=c[0];this._videoNextDts=t.dts}var b,r,n=c.length,i=0,d=c[0],f=c[1],o=this._videoNextDts-d.dts;if(Math.abs(o)>45e3)if(e.warnings.push({type:Gt,nextDts:this._videoNextDts/90,firstSampleDts:d.dts/90,nextSampleDts:((null===(b=c[1])||void 0===b?void 0:b.dts)||0)/90,sampleDuration:o/90}),d.dts+=o,d.pts+=o,f&&Math.abs(f.dts-d.dts)>mb)this._videoTimestampBreak=!0,c.forEach((function(e,a){0!==a&&(e.dts+=o,e.pts+=o)}));else for(var s=1;s<n-1;s++){var u,l=null===(u=c[s])||void 0===u?void 0:u.dts,h=c[s-1].dts;l&&l-h<0&&(c[s].dts+=o,c[s].pts+=o)}if(e.fpsNum&&e.fpsDen&&(r=e.timescale*(e.fpsDen/e.fpsNum)),r<900&&(r=0),!r){var p=e.samples[0],v=e.samples[1];r=1===n?9e3:Math.floor(v.dts-p.dts)}for(var y=0;y<n;y++){var m=c[y].dts,g=c[y+1];if((i=y<n-1?g.dts-m:c[y-1]?Math.min(m-c[y-1].dts,r):r)>mb||i<0){this._videoTimestampBreak=!0,i=this._audioTimestampBreak?r:Math.max(i,2700);var _=this._audioNextPts||0;g&&g.dts>_&&(i=r),e.warnings.push({type:Ft,time:m/e.timescale,dts:m,originDts:c[y].originDts,nextDts:this._videoNextDts,sampleDuration:i,refSampleDuration:r})}c[y].duration=i,this._videoNextDts+=i}}}},{key:"_fixAudio",value:function(e){var a=this,c=e.samples;if(c.length)if(e.codecType!==Ut)c.forEach((function(e){e.pts-=a._needForceFixLargeGap?a._baseAudioDts:a._baseDts,e.dts=e.pts})),this._doFixAudioInternal(e,c,9e4);else{this.lastAudioSample&&c.unshift(this.lastAudioSample);for(var t=0;t<c.length;t++){var b=c[t];if(!c[t+1])break;b.duration=c[t+1].pts-b.pts,b.pts-=this._baseDts,b.dts=b.pts}this.lastAudioSample=c.pop()}}},{key:"_calculateBaseDts",value:function(e,a){var c=e.samples,t=a.samples;if(!c.length&&!t.length)return!1;var b=1/0,r=1/0;c.length&&(e.baseDts=b=c[0].pts,this._baseAudioDts=b),t.length&&(a.baseDts=r=t[0].dts,this._baseVideoDts=r),this._baseDts=Math.min(b,r);var n=r-b,i=!1;return Number.isFinite(n)&&Math.abs(n)>45e3&&a.warnings.push({type:Nt,videoBaseDts:r,audioBasePts:b,baseDts:this._baseDts,delta:n}),Number.isFinite(n)&&Math.abs(n)>this._largeGapThreshold*vb&&(i=!0),this._baseDtsInited||(i&&this._needForceFixLargeGap?this._needForceFixLargeGap=!0:this._needForceFixLargeGap=!1),this._baseDtsInited=!0,!0}},{key:"_resetBaseDtsWhenStreamBreaked",value:function(){if(this._baseDtsInited&&this._videoTimestampBreak&&this._audioTimestampBreak){if(!this._calculateBaseDts(this.audioTrack,this.videoTrack))return;this._baseDts-=Math.min(this._audioNextPts,this._videoNextDts),this._audioLastSample=null,this._videoLastSample=null,this._videoTimestampBreak=!1,this._audioTimestampBreak=!1}}},{key:"_doFixAudioInternal",value:function(e,a,c){e.sampleDuration||(e.sampleDuration=tb.getFrameDuration(e.timescale,c));var t=e.sampleDuration;if(void 0===this._audioNextPts){var b=a[0];this._audioNextPts=b.pts}for(var r=0;r<a.length;r++){var n=this._audioNextPts,i=a[r],d=i.pts-n;if(!this._audioTimestampBreak&&d>=3*t&&d<=vb&&!eb){var f=tb.getSilentFrame(e.codec,e.channelCount)||a[0].data.subarray(),o=Math.floor(d/t);Math.abs(i.pts-this._lastAudioExceptionGapDot)>yb&&(this._lastAudioExceptionGapDot=i.pts),e.warnings.push({type:qt,pts:i.pts/90,originPts:i.originPts,count:o,nextPts:n/90,refSampleDuration:t});for(var s=0;s<o;s++){var u=new Wt(Math.floor(n),f);u.originPts=Math.floor(this._baseDts+n),a.splice(r,0,u),this._audioNextPts+=t,r++}r--}else d<=-3*t&&d>=-9e4?(Math.abs(i.pts-this._lastAudioExceptionOverlapDot)>yb&&(this._lastAudioExceptionOverlapDot=i.pts,e.warnings.push({type:zt,pts:i.pts/90,originPts:i.originPts,nextPts:n/90,refSampleDuration:t})),a.splice(r,1),r--):(Math.abs(d)>=vb&&(this._audioTimestampBreak=!0,Math.abs(i.pts-this._lastAudioExceptionLargeGapDot)>yb&&(this._lastAudioExceptionLargeGapDot=i.pts,e.warnings.push({type:Vt,time:i.pts/1e3,pts:i.pts/90,originPts:i.originPts,nextPts:n/90,sampleDuration:d,refSampleDuration:t}))),i.dts=i.pts=n,this._audioNextPts+=t)}}}]),e}(),_b=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],kb=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],Eb=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],Sb=[0,1,1,4],wb=null,xb=function(){function e(){pt(this,e)}return yt(e,null,[{key:"isHeader",value:function(e,a){return a+1<e.length&&255===e[a]&&!(224&~e[a+1])&&!!(6&e[a+1])}},{key:"appendFrame",value:function(a,c,t,b,r){if(!(t+24>c.length)){var n=e.parseHeader(c,t);if(n&&t+n.frameLength<=c.length){var i=b+r*(9e4*n.samplesPerFrame/n.sampleRate),d={data:c.subarray(t,t+n.frameLength),pts:i,dts:i};return d.size=d.data.byteLength,a.config=[],a.channelCount=n.channelCount,a.sampleRate=n.sampleRate,ab?a.codec="mp3":a.container="audio/mpeg",a.samples.push(d),{length:n.frameLength}}}}},{key:"parseHeader",value:function(e,a){var c=e[a+1]>>3&3,t=e[a+1]>>1&3,b=e[a+2]>>4&15,r=e[a+2]>>2&3;if(1!==c&&0!==b&&15!==b&&3!==r){var n=e[a+2]>>1&1,i=e[a+3]>>6,d=1e3*_b[14*(3===c?3-t:3===t?3:4)+b-1],f=kb[3*(3===c?0:2===c?1:2)+r],o=3===i?1:2,s=Eb[c][t],u=Sb[t],l=8*s*u,h=Math.floor(s*d/f+n)*u;if(null===wb){var p=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);wb=p?parseInt(p[1]):0}return!!wb&&wb<=87&&2===t&&d>=224e3&&0===i&&(e[a+3]=128|e[a+3]),{sampleRate:f,channelCount:o,frameLength:h,samplesPerFrame:l}}}}]),e}(),Tb=new Qt("TsDemuxer"),Ab=function(){function e(a,c,t){var b=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};pt(this,e),mt(this,"_pmtId",-1),mt(this,"_remainingPacketData",null),mt(this,"_videoPesData",[]),mt(this,"_audioPesData",[]),mt(this,"_gopId",0),this.videoTrack=a||new Ht,this.audioTrack=c||new Kt,this.metadataTrack=t||new Xt,this._fixer=new gb(this.videoTrack,this.audioTrack,this.metadataTrack,b)}return yt(e,[{key:"demux",value:function(e){var a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],t=this.audioTrack,b=this.videoTrack,r=this.metadataTrack;a&&(this._pmtId=-1,b.reset(),t.reset(),r.reset()),!c||a?(this._remainingPacketData=null,this._videoPesData=[],this._audioPesData=[]):(b.samples=[],t.samples=[],r.seiSamples=[],b.warnings=[],t.warnings=[],this._remainingPacketData&&(e=bb(this._remainingPacketData,e),this._remainingPacketData=null));var n=e.length,i=n%188;i&&(this._remainingPacketData=e.subarray(n-i),n-=i);for(var d=b.pid,f=t.pid,o=0;o<n;o+=188){if(71!==e[o])throw new Error("TS packet did not start with 0x47");var s=!!(64&e[o+1]),u=((31&e[o+1])<<8)+e[o+2],l=void 0;if((48&e[o+3])>>4>1){if((l=o+5+e[o+4])===o+188)continue}else l=o+4;switch(u){case 0:s&&(l+=e[l]+1),this._pmtId=(31&e[l+10])<<8|e[l+11];break;case this._pmtId:s&&(l+=e[l]+1);var h=l+3+((15&e[l+1])<<8|e[l+2])-4;for(l+=12+((15&e[l+10])<<8|e[l+11]);l<h;){var p=(31&e[l+1])<<8|e[l+2];switch(e[l]){case 15:t.pid=f=p;break;case 3:case 4:-1===t.pid&&(t.pid=f=p,t.codecType=Ut);break;case 27:if(-1!==d)break;b.codecType=Lt,b.pid=d=p;break;case 36:if(-1!==d)break;b.codecType=Ct,b.pid=d=p;break;default:Tb.warn("Unsupported stream. type: ".concat(e[l],", pid: ").concat(p))}l+=5+((15&e[l+3])<<8|e[l+4])}break;case d:s&&this._videoPesData.length&&this._parseVideoData(),this._videoPesData.push(e.subarray(l,o+188));break;case f:s&&this._audioPesData.length&&this._parseAudioData(),this._audioPesData.push(e.subarray(l,o+188));break;case 17:case 8191:break;default:Tb.warn("Unknown pid: ".concat(u))}}return this._parseVideoData(),this._parseAudioData(),t.formatTimescale=b.formatTimescale=b.timescale=r.timescale=9e4,t.timescale=t.sampleRate||0,{videoTrack:b,audioTrack:t,metadataTrack:r}}},{key:"fix",value:function(e,a,c){return this._fixer.fix(e,a,c),{videoTrack:this.videoTrack,audioTrack:this.audioTrack,metadataTrack:this.metadataTrack}}},{key:"demuxAndFix",value:function(e,a,c,t){return this.demux(e,a,c),this.fix(t,a,c)}},{key:"_parseVideoData",value:function(){if(this._videoPesData.length){var a=e._parsePES(bb.apply(void 0,wt(this._videoPesData)));if(a){var c=ub.parseAnnexB(a.data);c?this._createVideoSample(c,a.pts,a.dts):Tb.warn("Cannot parse avc units",a),this._videoPesData=[]}else Tb.warn("Cannot parse video pes",this._videoPesData)}}},{key:"_createVideoSample",value:function(e,a,c){var t=this;if(e.length){var b=this.videoTrack,r=b.codecType===Ct,n=new $t(a,c);e.forEach((function(e){var c=r?e[0]>>>1&63:31&e[0];switch(c){case 5:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:if(!r&&5!==c||r&&5===c)break;n.setToKeyframe(),t._gopId++;break;case 6:case 39:case 40:if(!r&&6!==c||r&&6===c)break;return void t.metadataTrack.seiSamples.push(new Yt(ub.parseSEI(ub.removeEPB(e),r),a));case 32:if(!r)break;if(!b.vps.length){var i=pb.parseVPS(ub.removeEPB(e),b.hvcC);b.hvcC=b.hvcC||i,b.vps=[e]}break;case 7:case 33:if(!r&&7!==c||r&&7===c)break;if(!b.sps.length){var d=ub.removeEPB(e),f=r?pb.parseSPS(d,b.hvcC):hb.parseSPS(d);b.sps=[e],b.hvcC=b.hvcC||f.hvcC,b.codec=f.codec,b.width=f.width,b.height=f.height,b.sarRatio=f.sarRatio,b.fpsNum=f.fpsNum,b.fpsDen=f.fpsDen}break;case 8:case 34:if(!r&&8!==c||r&&8===c)break;b.pps.length||(b.pps=[e]);break;case 9:case 35:break;case 38:if(r){for(var o=!1,s=2;s<e.byteLength;s++)if(255===e[s]){o=!0;break}if(!o)return}}n.units.push(e)})),n.gopId=this._gopId,this._pushVideoSample(b,n)}}},{key:"_pushVideoSample",value:function(e,a){if(a.units.length)if(null===a.pts||void 0===a.pts){Tb.warn("Video sample no pts",a);var c=e.samples[e.samples.length-1];c?(a.pts=c.pts,a.dts=c.dts):Tb.warn("Drop video sample",a)}else e.samples.push(a)}},{key:"_parseAudioData",value:function(){if(this._audioPesData.length){var a=e._parsePES(bb.apply(void 0,wt(this._audioPesData)));if(a){switch(this.audioTrack.codecType){case Pt:this._parseAacData(a);break;case Ut:this._parseMPEG(a)}this._audioPesData=[]}else Tb.warn("Cannot parse audio pes",this._audioPesData)}}},{key:"_parseAacData",value:function(e){var a=this.audioTrack,c=e.pts;if(null==c){if(Tb.warn("AAC pes not pts",a),!a.samples.length||!a.sampleRate)return;c=a.samples[a.samples.length-1].pts+tb.getFrameDuration(a.sampleRate)}var t,b=tb.parseADTS(e.data,c);b?(a.codec=b.codec,a.channelCount=b.channelCount,a.sampleRate=b.sampleRate,a.objectType=b.objectType,a.sampleRateIndex=b.samplingFrequencyIndex,a.config=b.config,(t=a.samples).push.apply(t,wt(b.frames.map((function(e){return new Wt(e.pts,e.data)})))),b.skip&&Tb.warn("Skip aac adts ".concat(b.skip," bits")),b.remaining&&Tb.warn("Remaining aac adts ".concat(b.remaining," bits"))):Tb.warn("Cannot parse aac adts",e)}},{key:"_parseMPEG",value:function(e){var a=e.data,c=a.length,t=0,b=0,r=e.pts;if(void 0!==r)for(;b<c;)if(xb.isHeader(a,b)){var n=xb.appendFrame(this.audioTrack,a,b,r,t);if(!n)break;b+=n.length,t++}else b++;else Tb.warn("[tsdemuxer]: MPEG PES unknown PTS")}}],[{key:"probe",value:function(e){return!!e.length&&(71===e[0]&&71===e[188]&&71===e[376])}},{key:"_parsePES",value:function(e){var a=e[8];if(!(null==a||e.length<a+9)&&1===(e[0]<<16|e[1]<<8|e[2])){var c=(e[4]<<8)+e[5];if(!(c&&c>e.length-6)){var t,b,r=e[7];return 192&r&&(t=536870912*(14&e[9])+4194304*(255&e[10])+16384*(254&e[11])+128*(255&e[12])+(254&e[13])/2,64&r?t-(b=536870912*(14&e[14])+4194304*(255&e[15])+16384*(254&e[16])+128*(255&e[17])+(254&e[18])/2)>54e5&&(t=b):b=t),{data:e.subarray(9+a),pts:t,dts:b}}}}}]),e}(),Ib=function(){function e(a,c,t){pt(this,e),this.dv=new DataView(a),this.start=this.offset=c||this.dv.byteOffset,this.end=t?this.start+t:this.start+this.dv.byteLength}return yt(e,[{key:"buffer",get:function(){return this.dv.buffer}},{key:"unreadLength",get:function(){return Math.max(this.end-this.offset,0)}},{key:"size",get:function(){return this.end-this.start}},{key:"readFloat",value:function(e){var a=0;switch(e){case 4:a=this.dv.getFloat32(this.offset);break;case 8:a=this.dv.getFloat64(this.offset);break;default:throw new Error("read ".concat(e,"-byte float is not supported"))}return this.offset+=e,a}},{key:"back",value:function(e){this.offset-=e}},{key:"skip",value:function(e){this.offset+=e}},{key:"readInt",value:function(e){var a=this.offset;switch(this.offset+=e,e){case 1:return this.dv.getInt8(a);case 2:return this.dv.getInt16(a);case 4:return this.dv.getInt32(a);default:throw new Error("read ".concat(e,"-byte integers is not supported"))}}},{key:"read",value:function(e){var a=this.offset;switch(this.offset+=e,e){case 1:return this.dv.getUint8(a);case 2:return this.dv.getUint16(a);case 3:return(this.dv.getUint16(a)<<8)+this.dv.getUint8(a+2);case 4:return this.dv.getUint32(a);default:return this.back(e-4),this.read(e-4)+this.dv.getUint32(a)*Math.pow(256,e-4)}}},{key:"write",value:function(e,a){var c=this.offset;switch(this.offset+=e,e){case 1:return this.dv.setUint8(c,a);case 2:return this.dv.setUint16(c,a);case 3:return this.dv.setUint8(c,a>>>16),this.dv.setUint16(c+1,65535&a);case 4:return this.dv.setUint32(c,a);default:throw new Error("write ".concat(e,"-byte integers is not supported"))}}},{key:"readToBuffer",value:function(e){var a;return a=this.offset||e?this.dv.buffer.slice(this.offset,e?this.offset+e:this.end):this.dv.buffer,this.offset+=a.byteLength,a}},{key:"readToUint8",value:function(e){var a=new Uint8Array(this.dv.buffer,this.offset,e||this.unreadLength);return this.offset+=a.byteLength,a}},{key:"readString",value:function(e){for(var a=0,c="";a<e;a++)c+=String.fromCharCode(this.dv.getUint8(this.offset)),this.offset++;return c}}],[{key:"fromUint8",value:function(a){return new e(a.buffer,a.byteOffset,a.byteLength)}},{key:"concatUint8s",value:function(e){var a=new Uint8Array(e.reduce((function(e,a){return e+a.byteLength}),0)),c=0;return e.forEach((function(e){a.set(e,c),c+=e.byteLength})),a}},{key:"concatUint8",value:function(){for(var e=arguments.length,a=new Array(e),c=0;c<e;c++)a[c]=arguments[c];return this.concatUint8s(a)}}]),e}(),Db=function(){function e(a,c){pt(this,e),this.offset=0,this.val=a,this.size=c}return yt(e,[{key:"skip",value:function(e){this.offset+=e}},{key:"read",value:function(e){var a=this.size-this.offset-e;if(a>=0){var c=0,t=0;if(this.offset+=e,this.size>31){for(;t<e;t++)c+=Math.pow(2,t);return this.val/Math.pow(2,a)&c}for(;t<e;t++)c+=1<<t;return this.val>>>a&c}throw new Error("the number of the read operation exceeds the total length limit of bits")}}],[{key:"fromByte",value:function(a,c){return new e(a.read(c),c<<3)}}]),e}(),Ob=function(){function e(){pt(this,e)}return yt(e,null,[{key:"findBox",value:function(a,c){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,b=[];if(!a)return b;for(var r=0,n="",i=0;a.length>7;){if(r=ib(a),n=String.fromCharCode.apply(null,a.subarray(4,8)),i=8,1===r?(r=db(a,8),i+=8):r||(r=a.length),!c[0]||n===c[0]){var d=a.subarray(0,r);if(!(c.length<2))return e.findBox(d.subarray(i),c.slice(1),t+i);b.push({start:t,size:r,headerSize:i,type:n,data:d})}t+=r,a=a.subarray(r)}return b}},{key:"tfhd",value:function(e){return Pb(e,!0,(function(e,a){e.trackId=ib(a);var c=4,t=1&e.flags,b=2&e.flags,r=8&e.flags,n=16&e.flags,i=32&e.flags;t&&(c+=4,e.baseDataOffset=ib(a,c),c+=4),b&&(e.sampleDescriptionIndex=ib(a,c),c+=4),r&&(e.defaultSampleDuration=ib(a,c),c+=4),n&&(e.defaultSampleSize=ib(a,c),c+=4),i&&(e.defaultSampleFlags=ib(a,c))}))}},{key:"sidx",value:function(e){return Pb(e,!0,(function(e,a){var c=0;e.reference_ID=ib(a,c),c+=4,e.timescale=ib(a,c),c+=4,0===e.version?(e.earliest_presentation_time=ib(a,c),c+=4,e.first_offset=ib(a,c),c+=4):(e.earliest_presentation_time=db(a,c),c+=8,e.first_offset=db(a,c),c+=8),c+=2,e.references=[];var t=nb(a,c);c+=2;for(var b=0;b<t;b++){var r={};e.references.push(r);var n=ib(a,c);c+=4,r.reference_type=n>>31&1,r.referenced_size=2147483647&n,r.subsegment_duration=ib(a,c),n=ib(a,c+=4),c+=4,r.starts_with_SAP=n>>31&1,r.SAP_type=n>>28&7,r.SAP_delta_time=268435455&n}}))}},{key:"moov",value:function(a){return Pb(a,!1,(function(a,c,t){a.mvhd=e.mvhd(e.findBox(c,["mvhd"],t)[0]),a.trak=e.findBox(c,["trak"],t).map((function(a){return e.trak(a)})),a.pssh=e.pssh(e.findBox(c,["pssh"],t)[0])}))}},{key:"mvhd",value:function(e){return Pb(e,!0,(function(e,a){var c=0;1===e.version?(e.timescale=ib(a,16),e.duration=db(a,20),c+=28):(e.timescale=ib(a,8),e.duration=ib(a,12),c+=16),e.nextTrackId=ib(a,c+76)}))}},{key:"trak",value:function(a){return Pb(a,!1,(function(a,c,t){a.tkhd=e.tkhd(e.findBox(c,["tkhd"],t)[0]),a.mdia=e.mdia(e.findBox(c,["mdia"],t)[0])}))}},{key:"tkhd",value:function(e){return Pb(e,!0,(function(e,a){var c=Ib.fromUint8(a);1===e.version?(c.read(8),c.read(8),e.trackId=c.read(4),c.read(4),e.duration=c.read(8)):(c.read(4),c.read(4),e.trackId=c.read(4),c.read(4),e.duration=c.read(4)),c.skip(16),e.matrix=[];for(var t=0;t<36;t++)e.matrix.push(c.read(1));c.back(36);for(var b,r=[],n=0;n<3;n++)r.push(sb(c.readInt(2),c.readInt(2))),r.push(sb(c.readInt(2),c.readInt(2))),b=c.readInt(4),r.push(sb(b>>30,1073741823&b));e.rotation=function(e){if(e.length<5)return 0;var a=Math.hypot(e[0],e[3]),c=Math.hypot(e[1],e[4]);return 0===a||0===c?0:180*Math.atan2(e[1]/c,e[0]/a)/Math.PI}(r),e.width=c.read(4),e.height=c.read(4)}))}},{key:"mdia",value:function(a){return Pb(a,!1,(function(a,c,t){a.mdhd=e.mdhd(e.findBox(c,["mdhd"],t)[0]),a.hdlr=e.hdlr(e.findBox(c,["hdlr"],t)[0]),a.minf=e.minf(e.findBox(c,["minf"],t)[0])}))}},{key:"mdhd",value:function(e){return Pb(e,!0,(function(e,a){var c=0;1===e.version?(e.timescale=ib(a,16),e.duration=db(a,20),c+=28):(e.timescale=ib(a,8),e.duration=ib(a,12),c+=16);var t=nb(a,c);e.language=String.fromCharCode(96+(t>>10&31),96+(t>>5&31),96+(31&t))}))}},{key:"hdlr",value:function(e){return Pb(e,!0,(function(e,a){0===e.version&&(e.handlerType=String.fromCharCode.apply(null,a.subarray(4,8)))}))}},{key:"minf",value:function(a){return Pb(a,!1,(function(a,c,t){a.vmhd=e.vmhd(e.findBox(c,["vmhd"],t)[0]),a.smhd=e.smhd(e.findBox(c,["smhd"],t)[0]),a.stbl=e.stbl(e.findBox(c,["stbl"],t)[0])}))}},{key:"vmhd",value:function(e){return Pb(e,!0,(function(e,a){e.graphicsmode=nb(a),e.opcolor=[nb(a,2),nb(a,4),nb(a,6)]}))}},{key:"smhd",value:function(e){return Pb(e,!0,(function(e,a){e.balance=nb(a)}))}},{key:"stbl",value:function(a){return Pb(a,!1,(function(a,c,t){var b,r,n;a.stsd=e.stsd(e.findBox(c,["stsd"],t)[0]),a.stts=e.stts(e.findBox(c,["stts"],t)[0]),a.ctts=e.ctts(e.findBox(c,["ctts"],t)[0]),a.stsc=e.stsc(e.findBox(c,["stsc"],t)[0]),a.stsz=e.stsz(e.findBox(c,["stsz"],t)[0]),a.stco=e.stco(e.findBox(c,["stco"],t)[0]),a.stco||(a.co64=e.co64(e.findBox(c,["co64"],t)[0]),a.stco=a.co64);var i=null===(b=a.stsd.entries[0])||void 0===b||null===(r=b.sinf)||void 0===r||null===(n=r.schi)||void 0===n?void 0:n.tenc.default_IV_size;a.stss=e.stss(e.findBox(c,["stss"],t)[0]),a.senc=e.senc(e.findBox(c,["senc"],t)[0],i)}))}},{key:"senc",value:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return Pb(e,!0,(function(e,c){var t=0,b=ib(c,t);t+=4,e.samples=[];for(var r=0;r<b;r++){for(var n={InitializationVector:[]},i=0;i<a;i++)n.InitializationVector[i]=c[t+i];if(t+=a,2&e.flags){n.subsamples=[];var d=nb(c,t);t+=2;for(var f=0;f<d;f++){var o={};o.BytesOfClearData=nb(c,t),t+=2,o.BytesOfProtectedData=ib(c,t),t+=4,n.subsamples.push(o)}}e.samples.push(n)}}))}},{key:"pssh",value:function(e){return Pb(e,!0,(function(e,a){for(var c=[],t=[],b=0,r=0;r<16;r++)t.push(jb(a[b+r]));if(b+=16,e.version>0){var n=ib(a,b);b+=4;for(var i=0;i<(""+n).length;i++)for(var d=0;d<16;d++){var f=a[b];b+=1,c.push(jb(f))}}var o=ib(a,b);e.data_size=o,b+=4,e.kid=c,e.system_id=t,e.buffer=a}))}},{key:"stsd",value:function(a){return Pb(a,!0,(function(a,c,t){a.entryCount=ib(c),a.entries=e.findBox(c.subarray(4),[],t+4).map((function(a){switch(a.type){case"av01":return e.av01(a);case"avc1":case"avc2":case"avc3":case"avc4":return e.avc1(a);case"hvc1":case"hev1":return e.hvc1(a);case"mp4a":return e.mp4a(a);case"alaw":case"ulaw":return e.alaw(a);case"enca":return Pb(a,!1,(function(a,c,t){a.channelCount=nb(c,16),a.samplesize=nb(c,18),a.sampleRate=ib(c,24)/65536,c=c.subarray(28),a.sinf=e.sinf(e.findBox(c,["sinf"],t)[0]),a.esds=e.esds(e.findBox(c,["esds"],t)[0])}));case"encv":return Pb(a,!1,(function(a,c,t){a.width=nb(c,24),a.height=nb(c,26),a.horizresolution=ib(c,28),a.vertresolution=ib(c,32),c=c.subarray(78),a.sinf=e.sinf(e.findBox(c,["sinf"],t)[0]),a.avcC=e.avcC(e.findBox(c,["avcC"],t)[0]),a.hvcC=e.hvcC(e.findBox(c,["hvcC"],t)[0]),a.pasp=e.pasp(e.findBox(c,["pasp"],t)[0])}))}})).filter(Boolean)}))}},{key:"tenc",value:function(e){return Pb(e,!1,(function(e,a){var c=6;e.default_IsEncrypted=a[c],c+=1,e.default_IV_size=a[c],c+=1,e.default_KID=[];for(var t=0;t<16;t++)e.default_KID.push(jb(a[c])),c+=1}))}},{key:"schi",value:function(a){return Pb(a,!1,(function(a,c,t){a.tenc=e.tenc(e.findBox(c,["tenc"],t)[0])}))}},{key:"sinf",value:function(a){return Pb(a,!1,(function(a,c,t){a.schi=e.schi(e.findBox(c,["schi"],t)[0]),a.frma=e.frma(e.findBox(c,["frma"],t)[0])}))}},{key:"frma",value:function(e){return Pb(e,!1,(function(e,a){e.data_format="";for(var c=0;c<4;c++)e.data_format+=String.fromCharCode(a[c])}))}},{key:"colr",value:function(e){return Pb(e,!1,(function(a,c){var t=Ib.fromUint8(c);a.data=e.data,a.colorType=t.readString(4),"nclx"===a.colorType?(a.colorPrimaries=t.read(2),a.transferCharacteristics=t.read(2),a.matrixCoefficients=t.read(2),a.fullRangeFlag=t.read(1)>>7):"rICC"!==a.colorType&&"prof"!==a.colorType||(a.iccProfile=c.readToUint8())}))}},{key:"av01",value:function(a){return Pb(a,!1,(function(a,c,t){var b=Lb(a,c),r=c.subarray(b);t+=b,a.av1C=e.av1C(e.findBox(r,["av1C"],t)[0]),a.colr=e.colr(e.findBox(r,["colr"],t)[0])}))}},{key:"av1C",value:function(e){return Pb(e,!1,(function(a,c){a.data=e.data;var t,b=Ib.fromUint8(c),r=Db.fromByte(b,4);a.marker=r.read(1),a.version=r.read(7),a.seqProfile=r.read(3),a.seqLevelIdx0=r.read(5),a.seqTier0=r.read(1),a.highBitdepth=r.read(1),a.twelveBit=r.read(1),a.monochrome=r.read(1),a.chromaSubsamplingX=r.read(1),a.chromaSubsamplingY=r.read(1),a.chromaSamplePosition=r.read(2),a.reserved=r.read(3),a.initialPresentationDelayPresent=r.read(1),a.initialPresentationDelayPresent?a.initialPresentationDelayMinusOne=r.read(4):a.initialPresentationDelayMinusOne=0,a.configOBUs=b.readToUint8(),2===a.seqLevelIdx0&&1===a.highBitdepth?t=1===a.twelveBit?"12":"10":a.seqProfile<=2&&(t=1===a.highBitdepth?"10":"08"),a.codec=["av01",a.seqProfile,(a.seqLevelIdx0<10?"0"+a.seqLevelIdx0:a.seqLevelIdx0)+(a.seqTier0?"H":"M"),t].join(".")}))}},{key:"avc1",value:function(a){return Pb(a,!1,(function(a,c,t){var b=Lb(a,c),r=c.subarray(b);t+=b,a.avcC=e.avcC(e.findBox(r,["avcC"],t)[0]),a.pasp=e.pasp(e.findBox(r,["pasp"],t)[0])}))}},{key:"avcC",value:function(e){return Pb(e,!1,(function(a,c){a.data=e.data,a.configurationVersion=c[0],a.AVCProfileIndication=c[1],a.profileCompatibility=c[2],a.AVCLevelIndication=c[3],a.codec=fb([c[1],c[2],c[3]]),a.lengthSizeMinusOne=3&c[4],a.spsLength=31&c[5],a.sps=[];for(var t=6,b=0;b<a.spsLength;b++){var r=nb(c,t);t+=2,a.sps.push(c.subarray(t,t+r)),t+=r}a.ppsLength=c[t],t+=1,a.pps=[];for(var n=0;n<a.ppsLength;n++){var i=nb(c,t);t+=2,a.pps.push(c.subarray(t,t+=i)),t+=i}}))}},{key:"hvc1",value:function(a){return Pb(a,!1,(function(a,c,t){var b=Lb(a,c),r=c.subarray(b);t+=b,a.hvcC=e.hvcC(e.findBox(r,["hvcC"],t)[0]),a.pasp=e.pasp(e.findBox(r,["pasp"],t)[0])}))}},{key:"hvcC",value:function(e){return Pb(e,!1,(function(a,c){a.data=e.data,a.codec="hev1.1.6.L93.B0",a.configurationVersion=c[0];var t=c[1];a.generalProfileSpace=t>>6,a.generalTierFlag=(32&t)>>5,a.generalProfileIdc=31&t,a.generalProfileCompatibility=ib(c,2),a.generalConstraintIndicatorFlags=c.subarray(6,12),a.generalLevelIdc=c[12],a.avgFrameRate=nb(c,19),a.numOfArrays=c[22],a.vps=[],a.sps=[],a.pps=[];for(var b=23,r=0,n=0,i=0,d=0;d<a.numOfArrays;d++){r=63&c[b],n=nb(c,b+1),b+=3;for(var f,o=[],s=0;s<n;s++)i=nb(c,b),b+=2,o.push(c.subarray(b,b+i)),b+=i;if(32===r)(f=a.vps).push.apply(f,o);else if(33===r){var u;(u=a.sps).push.apply(u,o)}else if(34===r){var l;(l=a.pps).push.apply(l,o)}}}))}},{key:"pasp",value:function(e){return Pb(e,!1,(function(e,a){e.hSpacing=ib(a),e.vSpacing=ib(a,4)}))}},{key:"mp4a",value:function(a){return Pb(a,!1,(function(a,c,t){var b=Cb(a,c);a.esds=e.esds(e.findBox(c.subarray(b),["esds"],t+b)[0])}))}},{key:"esds",value:function(e){return Pb(e,!0,(function(e,a){e.codec="mp4a.";for(var c=0,t=0,b=0,r=0;a.length;){for(r=a[c=0],t=a[c+1],c+=2;128&t;)b=(127&t)<<7,t=a[c],c+=1;if(b+=127&t,3===r)a=a.subarray(c+3);else{if(4!==r){if(5===r){var n=e.config=a.subarray(c,c+b),i=(248&n[0])>>3;return 31===i&&n.length>=2&&(i=32+((7&n[0])<<3)+((224&n[1])>>5)),e.objectType=i,e.codec+=i.toString(16),void("."===e.codec[e.codec.length-1]&&(e.codec=e.codec.substring(0,e.codec.length-1)))}return void("."===e.codec[e.codec.length-1]&&(e.codec=e.codec.substring(0,e.codec.length-1)))}e.codec+=(a[c].toString(16)+".").padStart(3,"0"),a=a.subarray(c+13)}}}))}},{key:"alaw",value:function(e){return Pb(e,!1,(function(e,a){Cb(e,a)}))}},{key:"stts",value:function(e){return Pb(e,!0,(function(e,a){for(var c=ib(a),t=[],b=4,r=0;r<c;r++)t.push({count:ib(a,b),delta:ib(a,b+4)}),b+=8;e.entryCount=c,e.entries=t}))}},{key:"ctts",value:function(e){return Pb(e,!0,(function(e,a){var c=ib(a),t=[],b=4;if(1===e.version)for(var r=0;r<c;r++)t.push({count:ib(a,b),offset:ib(a,b+4)}),b+=8;else for(var n=0;n<c;n++)t.push({count:ib(a,b),offset:-(1+~ib(a,b+4))}),b+=8;e.entryCount=c,e.entries=t}))}},{key:"stsc",value:function(e){return Pb(e,!0,(function(e,a){for(var c=ib(a),t=[],b=4,r=0;r<c;r++)t.push({firstChunk:ib(a,b),samplesPerChunk:ib(a,b+4),sampleDescriptionIndex:ib(a,b+8)}),b+=12;e.entryCount=c,e.entries=t}))}},{key:"stsz",value:function(e){return Pb(e,!0,(function(e,a){var c=ib(a),t=ib(a,4),b=[];if(!c)for(var r=8,n=0;n<t;n++)b.push(ib(a,r)),r+=4;e.sampleSize=c,e.sampleCount=t,e.entrySizes=b}))}},{key:"stco",value:function(e){return Pb(e,!0,(function(e,a){for(var c=ib(a),t=[],b=4,r=0;r<c;r++)t.push(ib(a,b)),b+=4;e.entryCount=c,e.entries=t}))}},{key:"co64",value:function(e){return Pb(e,!0,(function(e,a){for(var c=ib(a),t=[],b=4,r=0;r<c;r++)t.push(db(a,b)),b+=8;e.entryCount=c,e.entries=t}))}},{key:"stss",value:function(e){return Pb(e,!0,(function(e,a){for(var c=ib(a),t=[],b=4,r=0;r<c;r++)t.push(ib(a,b)),b+=4;e.entryCount=c,e.entries=t}))}},{key:"moof",value:function(a){return Pb(a,!1,(function(a,c,t){a.mfhd=e.mfhd(e.findBox(c,["mfhd"],t)[0]),a.traf=e.findBox(c,["traf"],t).map((function(a){return e.traf(a)}))}))}},{key:"mfhd",value:function(e){return Pb(e,!0,(function(e,a){e.sequenceNumber=ib(a)}))}},{key:"traf",value:function(a){return Pb(a,!1,(function(a,c,t){a.tfhd=e.tfhd(e.findBox(c,["tfhd"],t)[0]),a.tfdt=e.tfdt(e.findBox(c,["tfdt"],t)[0]),a.trun=e.trun(e.findBox(c,["trun"],t)[0])}))}},{key:"trun",value:function(e){return Pb(e,!0,(function(e,a){var c=e.version,t=e.flags,b=a.length,r=e.sampleCount=ib(a),n=4;if(b>n&&1&t&&(e.dataOffset=-(1+~ib(a,n)),n+=4),b>n&&4&t&&(e.firstSampleFlags=ib(a,n),n+=4),e.samples=[],b>n)for(var i,d=0;d<r;d++)i={},256&t&&(i.duration=ib(a,n),n+=4),512&t&&(i.size=ib(a,n),n+=4),1024&t&&(i.flags=ib(a,n),n+=4),2048&t&&(i.cts=c?-(1+~ib(a,n+4)):ib(a,n),n+=4),e.samples.push(i)}))}},{key:"tfdt",value:function(e){return Pb(e,!0,(function(e,a){1===e.version?e.baseMediaDecodeTime=db(a):e.baseMediaDecodeTime=ib(a)}))}},{key:"probe",value:function(a){return!!e.findBox(a,["ftyp"])}},{key:"parseSampleFlags",value:function(e){return{isLeading:(12&e[0])>>>2,dependsOn:3&e[0],isDependedOn:(192&e[1])>>>6,hasRedundancy:(48&e[1])>>>4,paddingValue:(14&e[1])>>>1,isNonSyncSample:1&e[1],degradationPriority:e[2]<<8|e[3]}}},{key:"moovToTrack",value:function(e,a,c){var t,b,r=e.trak;if(r&&r.length){var n=r.find((function(e){var a,c;return"vide"===(null===(a=e.mdia)||void 0===a||null===(c=a.hdlr)||void 0===c?void 0:c.handlerType)})),i=r.find((function(e){var a,c;return"soun"===(null===(a=e.mdia)||void 0===a||null===(c=a.hdlr)||void 0===c?void 0:c.handlerType)}));if(n&&a){var d,f,o,s,u,l,h,p=a,v=null===(d=n.tkhd)||void 0===d?void 0:d.trackId;null!=v&&(p.id=n.tkhd.trackId),p.tkhdDuration=n.tkhd.duration,p.mvhdDurtion=e.mvhd.duration,p.mvhdTimecale=e.mvhd.timescale,p.timescale=p.formatTimescale=n.mdia.mdhd.timescale,p.duration=n.mdia.mdhd.duration||p.mvhdDurtion/p.mvhdTimecale*p.timescale,p.rotation=n.tkhd.rotation,p.matrix=n.tkhd.matrix;var y,m,g,_,k,E,S,w,x=n.mdia.minf.stbl.stsd.entries[0];if(p.width=x.width,p.height=x.height,x.pasp&&(p.sarRatio=[x.pasp.hSpacing,x.pasp.vSpacing]),x.av1C)p.codecType=Rt,p.codec=x.av1C.codec,p.av1C=x.av1C.data,p.colr=x.colr.data;else if(x.hvcC)p.codecType=Ct,p.codec=x.hvcC.codec,p.vps=x.hvcC.vps,p.sps=x.hvcC.sps,p.pps=x.hvcC.pps,p.hvcC=x.hvcC.data;else{if(!x.avcC)throw new Error("unknown video stsd entry");p.codec=x.avcC.codec,p.sps=x.avcC.sps,p.pps=x.avcC.pps}if(p.present=!0,p.ext={},p.ext.stss=null===(f=n.mdia)||void 0===f||null===(o=f.minf)||void 0===o||null===(s=o.stbl)||void 0===s?void 0:s.stss,p.ext.ctts=null===(u=n.mdia)||void 0===u||null===(l=u.minf)||void 0===l||null===(h=l.stbl)||void 0===h?void 0:h.ctts,x&&"encv"===x.type)p.isVideoEncryption=!0,x.default_KID=null===(y=x.sinf)||void 0===y||null===(m=y.schi)||void 0===m?void 0:m.tenc.default_KID,x.default_IsEncrypted=null===(g=x.sinf)||void 0===g||null===(_=g.schi)||void 0===_?void 0:_.tenc.default_IsEncrypted,x.default_IV_size=null===(k=x.sinf)||void 0===k||null===(E=k.schi)||void 0===E?void 0:E.tenc.default_IV_size,p.videoSenc=n.mdia.minf.stbl.senc&&n.mdia.minf.stbl.senc.samples,x.data_format=null===(S=x.sinf)||void 0===S||null===(w=S.frma)||void 0===w?void 0:w.data_format,p.useEME=e.useEME,p.kidValue=e.kidValue,p.pssh=e.pssh,p.encv=x}if(i&&c){var T,A,I,D,O,R,L,C,P,j=c,M=null===(T=i.tkhd)||void 0===T?void 0:T.trackId;null!=M&&(j.id=i.tkhd.trackId),j.tkhdDuration=i.tkhd.duration,j.mvhdDurtion=e.mvhd.duration,j.mvhdTimecale=e.mvhd.timescale,j.timescale=j.formatTimescale=i.mdia.mdhd.timescale,j.duration=i.mdia.mdhd.duration||j.mvhdDurtion/j.mvhdTimecale*j.timescale;var B,U,N,F,G,V,q,z,H=i.mdia.minf.stbl.stsd.entries[0];switch(j.sampleSize=H.sampleSize,j.sampleRate=H.sampleRate,j.channelCount=H.channelCount,j.present=!0,H.type){case"alaw":j.codecType=j.codec=jt,j.sampleRate=8e3;break;case"ulaw":j.codecType=j.codec=Mt,j.sampleRate=8e3;break;default:j.sampleDuration=tb.getFrameDuration(j.sampleRate,j.timescale),j.sampleRateIndex=tb.getRateIndexByRate(j.sampleRate),j.objectType=(null===(t=H.esds)||void 0===t?void 0:t.objectType)||2,H.esds&&(j.config=Array.from(H.esds.config)),j.codec=(null===(b=H.esds)||void 0===b?void 0:b.codec)||"mp4a.40.2"}if(j.sampleDuration=tb.getFrameDuration(j.sampleRate,j.timescale),j.objectType=(null===(A=H.esds)||void 0===A?void 0:A.objectType)||2,H.esds&&(H.esds.config?j.config=Array.from(H.esds.config):console.warn("esds config is null")),j.codec=(null===(I=H.esds)||void 0===I?void 0:I.codec)||"mp4a.40.2",j.sampleRateIndex=tb.getRateIndexByRate(j.sampleRate),j.ext={},j.ext.stss=null===(D=i.mdia)||void 0===D||null===(O=D.minf)||void 0===O||null===(R=O.stbl)||void 0===R?void 0:R.stss,j.ext.ctts=null===(L=i.mdia)||void 0===L||null===(C=L.minf)||void 0===C||null===(P=C.stbl)||void 0===P?void 0:P.ctts,j.present=!0,H&&"enca"===H.type)j.isAudioEncryption=!0,H.data_format=null===(B=H.sinf)||void 0===B||null===(U=B.frma)||void 0===U?void 0:U.data_format,H.default_KID=null===(N=H.sinf)||void 0===N||null===(F=N.schi)||void 0===F?void 0:F.tenc.default_KID,H.default_IsEncrypted=null===(G=H.sinf)||void 0===G||null===(V=G.schi)||void 0===V?void 0:V.tenc.default_IsEncrypted,H.default_IV_size=null===(q=H.sinf)||void 0===q||null===(z=q.schi)||void 0===z?void 0:z.tenc.default_IV_size,j.audioSenc=i.mdia.minf.stbl.senc&&i.mdia.minf.stbl.senc.samples,j.useEME=e.useEME,j.kidValue=e.kidValue,j.enca=H}if(c&&(c.isVideoEncryption=!!a&&a.isVideoEncryption),a&&(a.isAudioEncryption=!!c&&c.isAudioEncryption),null!=a&&a.encv||null!=c&&c.enca){var K,$,W=null==a||null===(K=a.encv)||void 0===K?void 0:K.default_KID,Y=null==c||null===($=c.enca)||void 0===$?void 0:$.default_KID,X=W||Y?(W||Y).join(""):null;a&&(a.kid=X),c&&(c.kid=X)}return a&&(a.flags=3841),c&&(c.flags=1793),{videoTrack:a,audioTrack:c}}}},{key:"evaluateDefaultDuration",value:function(e,a,c){var t,b=null==a||null===(t=a.samples)||void 0===t?void 0:t.length;return b?1024*b/a.timescale*e.timescale/c:1024}},{key:"moofToSamples",value:function(a,c,t){var b={};return a.mfhd&&(c&&(c.sequenceNumber=a.mfhd.sequenceNumber),t&&(t.sequenceNumber=a.mfhd.sequenceNumber)),a.traf.forEach((function(a){var r=a.tfhd,n=a.tfdt,i=a.trun;if(r&&i){n&&(c&&c.id===r.trackId&&(c.baseMediaDecodeTime=n.baseMediaDecodeTime),t&&t.id===r.trackId&&(t.baseMediaDecodeTime=n.baseMediaDecodeTime));var d=r.defaultSampleSize||0,f=r.defaultSampleDuration||e.evaluateDefaultDuration(c,t,i.samples.length||i.sampleCount),o=i.dataOffset||0,s=0,u=-1;if(!i.samples.length&&i.sampleCount){b[r.trackId]=[];for(var l=0;l<i.sampleCount;l++)b[r.trackId].push({offset:o,dts:s,duration:f,size:d}),s+=f,o+=d}else b[r.trackId]=i.samples.map((function(e,a){return(e={offset:o,dts:s,pts:s+(e.cts||0),duration:e.duration||f,size:e.size||d,gopId:u,keyframe:0===a||null!==e.flags&&void 0!==e.flags&&(65536&e.flags)>>>0!=65536}).keyframe&&(u++,e.gopId=u),s+=e.duration,o+=e.size,e}))}})),b}},{key:"moovToSamples",value:function(e){var a=e.trak;if(a&&a.length){var c=a.find((function(e){var a,c;return"vide"===(null===(a=e.mdia)||void 0===a||null===(c=a.hdlr)||void 0===c?void 0:c.handlerType)})),t=a.find((function(e){var a,c;return"soun"===(null===(a=e.mdia)||void 0===a||null===(c=a.hdlr)||void 0===c?void 0:c.handlerType)}));if(c||t){var b,r;if(c){var n,i,d=null===(n=c.mdia)||void 0===n||null===(i=n.minf)||void 0===i?void 0:i.stbl;if(!d)return;var f=d.stts,o=d.stsc,s=d.stsz,u=d.stco,l=d.stss,h=d.ctts;if(!(f&&o&&s&&u&&l))return;b=Rb(f,o,s,u,h,l)}if(t){var p,v,y,m=null===(p=t.mdia)||void 0===p||null===(v=p.minf)||void 0===v?void 0:v.stbl;if(!m)return;var g=null===(y=t.mdia.mdhd)||void 0===y?void 0:y.timescale,_=m.stts,k=m.stsc,E=m.stsz,S=m.stco;if(!(g&&_&&k&&E&&S))return;r=Rb(_,k,E,S)}return{videoSamples:b,audioSamples:r}}}}}]),e}();function Rb(e,a,c,t,b,r){var n,i,d,f=[],o=null==b?void 0:b.entries,s=a.entries,u=t.entries,l=c.entrySizes,h=null==r?void 0:r.entries;h&&(n={},h.forEach((function(e){n[e-1]=!0}))),o&&(i=[],o.forEach((function(e){for(var a=e.count,c=e.offset,t=0;t<a;t++)i.push(c)})));var p=-1,v=0,y=0,m=0,g=0,_=0,k=s[0].samplesPerChunk,E=s[1]?s[1].firstChunk-1:1/0;return e.entries.forEach((function(e){for(var a=e.count,t=e.delta,b=0;b<a;b++)d={dts:v,duration:t,size:l[y]||c.sampleSize,offset:u[m]+_,index:y},h&&(d.keyframe=n[y],d.keyframe&&p++,d.gopId=p),i&&y<i.length&&(d.pts=d.dts+i[y]),f.push(d),v+=t,++y<k?_+=d.size:(m++,_=0,m>=E&&(g++,E=s[g+1]?s[g+1].firstChunk-1:1/0),k+=s[g].samplesPerChunk)})),f}function Lb(e,a){return e.dataReferenceIndex=nb(a,6),e.width=nb(a,24),e.height=nb(a,26),e.horizresolution=ib(a,28),e.vertresolution=ib(a,32),e.frameCount=nb(a,40),e.depth=nb(a,74),78}function Cb(e,a){return e.dataReferenceIndex=nb(a,6),e.channelCount=nb(a,16),e.sampleSize=nb(a,18),e.sampleRate=ib(a,24)/65536,28}function Pb(e,a,c){if(e){if(e.size!==e.data.length)throw new Error("box ".concat(e.type," size !== data.length"));var t={start:e.start,size:e.size,headerSize:e.headerSize,type:e.type};return a&&(t.version=e.data[e.headerSize],t.flags=function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[a]<<16)+(e[a+1]<<8)+(e[a+2]||0)}(e.data,e.headerSize+1),t.headerSize+=4),c(t,e.data.subarray(t.headerSize),t.start+t.headerSize),t}}var jb=function(){for(var e=[],a=arguments.length,c=new Array(a),t=0;t<a;t++)c[t]=arguments[t];return c.forEach((function(a){e.push(function(e,a,c){for(var t=String(c),b=0|a,r=Math.ceil(b/t.length),n=[],i=String(e);r--;)n.push(t);return n.join("").substring(0,b-i.length)+i}(Number(a).toString(16),2,0))})),e[0]},Mb=function(){function e(a,c,t){pt(this,e),mt(this,"__loadedMoofWraps",[]),mt(this,"__lastRemainData",null),mt(this,"__lastRemainDataStart",0),mt(this,"__nextMoofStart",-1),this.videoTrack=a||new Ht,this.audioTrack=c||new Kt,this.metadataTrack=t||new Xt}return yt(e,[{key:"demuxPart",value:function(e,a,c){var t=this,b=this.videoTrack,r=this.audioTrack,n=b.exist(),i=r.exist(),d=/av01/.test(b.codec);b.samples=[],r.samples=[];var f=e,o=a;if(this.__lastRemainData){var s=this.__lastRemainDataStart+this.__lastRemainData.byteLength;if(a<=s&&a>this.__lastRemainDataStart&&a+e.byteLength>s){var u=e.subarray(this.__lastRemainData.byteLength+this.__lastRemainDataStart-a);f=bb(this.__lastRemainData,u),o=this.__lastRemainDataStart,this.__lastRemainData=null}else this.__lastRemainData=null,this.__lastRemainDataStart=0,this.__nextMoofStart=-1}if(!c){var l=Ob.findBox(f,["moov"])[0];if(!l)throw new Error("cannot found moov box");c=Ob.moov(l)}if(f){var h=o+f.byteLength;n||i||Ob.moovToTrack(c,b,r);var p=[];this.__nextMoofStart<0?Ob.findBox(f,["moof"],o).forEach((function(e){return p.push(e)})):this.__nextMoofStart>=o&&this.__nextMoofStart<=h-8&&Ob.findBox(f.subarray(this.__nextMoofStart-o),["moof"],this.__nextMoofStart).forEach((function(e){return p.push(e)})),p.filter((function(e){return e.size<=e.data.length})).forEach((function(e){var a=Ob.moof(e);t.__nextMoofStart=a.start+Math.max.apply(Math,wt(a.traf.map((function(e){return e.trun.samples.reduce((function(e,a){return e+a.size}),e.trun.dataOffset||0)})))),t.__loadedMoofWraps.push({start:a.start,nextMoofStart:t.__nextMoofStart,moof:a}),t.__loadedMoofWraps.sort((function(e,a){return e.start-a.start}))}));var v,y=function(e,a){var c="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!c){if(Array.isArray(e)||(c=xt(e))||a&&e&&"number"==typeof e.length){c&&(e=c);var t=0,b=function(){};return{s:b,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:b}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,n=!0,i=!1;return{s:function(){c=c.call(e)},n:function(){var e=c.next();return n=e.done,e},e:function(e){i=!0,r=e},f:function(){try{n||null==c.return||c.return()}finally{if(i)throw r}}}}(this.__loadedMoofWraps);try{var m=function(){var e=v.value;if(e.start>h||e.nextMoofStart<o)return"continue";var a,c=e.start,n=Ob.moofToSamples(e.moof,b,r),i=b.baseMediaDecodeTime,s=r.baseMediaDecodeTime;Object.keys(n).forEach((function(e){b.id==e?n[e].some((function(e){var r=e.offset+=c;if(!(r<o)){if(r+e.size>h)return!0;var n=new $t((e.pts||e.dts)+i,e.dts+i);n.duration=e.duration,n.gopId=e.gopId,e.keyframe&&n.setToKeyframe();var s=f.subarray(r-o,r-o+e.size);if(n.data=s,!d)for(var u=0,l=s.length-1;u<l;)a=ib(s,u),u+=4,n.units.push(s.subarray(u,u+a)),u+=a;t.__lastRemainDataStart=r+e.size,b.samples.push(n)}})):r.id==e&&n[e].some((function(e){var a=e.offset+c;if(!(a<o)){if(a+e.size>h)return!0;var b=f.subarray(a-o,a-o+e.size);r.samples.push(new Wt(e.dts+s,b,e.duration)),t.__lastRemainDataStart=a+e.size}}))}))};for(y.s();!(v=y.n()).done;)m()}catch(g){y.e(g)}finally{y.f()}}return this.__lastRemainDataStart>o&&this.__lastRemainDataStart<f.byteLength+o?this.__lastRemainData=f.subarray(this.__lastRemainDataStart-o):(this.__lastRemainData=f,this.__lastRemainDataStart=o),b.samples.length&&(b.baseMediaDecodeTime=b.samples[0].pts),r.samples.length&&(r.baseMediaDecodeTime=r.samples[0].pts),{videoTrack:b,audioTrack:r,metadataTrack:this.metadataTrack}}},{key:"demux",value:function(e,a){var c=this.videoTrack,t=this.audioTrack,b=c.exist(),r=t.exist();if(c.samples=[],t.samples=[],a){if(!r){var n=Ob.findBox(a,["moov"])[0];if(!n)throw new Error("cannot found moov box");Ob.moovToTrack(Ob.moov(n),null,t)}var i=Ob.findBox(a,["moof"])[0];if(i){var d=Ob.moofToSamples(Ob.moof(i),null,t)[t.id],f=t.baseMediaDecodeTime;if(d){var o=i.start;d.map((function(e){e.offset+=o;var c=a.subarray(e.offset,e.offset+e.size);t.samples.push(new Wt(e.dts+f,c,e.duration))}))}}}if(e){if(!b&&!r){var s=Ob.findBox(e,["moov"])[0];if(!s)throw new Error("cannot found moov box");Ob.moovToTrack(Ob.moov(s),c,t)}var u=Ob.findBox(e,["moof"])[0];if(u){var l,h=Ob.moofToSamples(Ob.moof(u),c,t),p=c.baseMediaDecodeTime,v=t.baseMediaDecodeTime,y=u.start;Object.keys(h).forEach((function(a){c.id==a?h[a].map((function(a){a.offset+=y;var t=new $t((a.pts||a.dts)+p,a.dts+p);t.duration=a.duration,t.gopId=a.gopId,a.keyframe&&t.setToKeyframe();var b=e.subarray(a.offset,a.offset+a.size);t.data=b;for(var r=0,n=b.length-1;r<n;)l=ib(b,r),r+=4,t.units.push(b.subarray(r,r+l)),r+=l;c.samples.push(t)})):t.id==a&&h[a].map((function(a){a.offset+=y;var c=e.subarray(a.offset,a.offset+a.size);t.samples.push(new Wt(a.dts+v,c,a.duration))}))}))}}return{videoTrack:c,audioTrack:t,metadataTrack:this.metadataTrack}}},{key:"reset",value:function(){this.videoTrack.reset(),this.audioTrack.reset(),this.metadataTrack.reset()}}],[{key:"probe",value:function(e){return Ob.probe(e)}}]),e}();var Bb=function(){function e(){pt(this,e),this.buffer=new Uint8Array(0)}return yt(e,[{key:"write",value:function(){for(var e=this,a=arguments.length,c=new Array(a),t=0;t<a;t++)c[t]=arguments[t];c.forEach((function(a){a?e.buffer=function(e){for(var a=0,c=arguments.length,t=new Array(c>1?c-1:0),b=1;b<c;b++)t[b-1]=arguments[b];t.forEach((function(e){a+=e.length}));var r=new e(a),n=0;return t.forEach((function(e){r.set(e,n),n+=e.length})),r}(Uint8Array,e.buffer,a):window.console.warn(a)}))}}],[{key:"writeUint16",value:function(e){return new Uint8Array([e>>8&255,255&e])}},{key:"writeUint32",value:function(e){return new Uint8Array([e>>24,e>>16&255,e>>8&255,255&e])}}]),e}(),Ub=Math.pow(2,32)-1,Nb=function(){function e(){pt(this,e)}return yt(e,null,[{key:"box",value:function(e){for(var a=arguments.length,c=new Array(a>1?a-1:0),t=1;t<a;t++)c[t-1]=arguments[t];var b=8+(c=c.filter(Boolean)).reduce((function(e,a){return e+a.byteLength}),0),r=new Uint8Array(b);r[0]=b>>24&255,r[1]=b>>16&255,r[2]=b>>8&255,r[3]=255&b,r.set(e,4);var n=8;return c.forEach((function(e){r.set(e,n),n+=e.byteLength})),r}},{key:"ftyp",value:function(a){return a.find((function(e){return e.type===It&&e.codecType===Ct}))?e.FTYPHEV1:e.FTYPAVC1}},{key:"initSegment",value:function(a){return bb(e.ftyp(a),e.moov(a))}},{key:"pssh",value:function(a){var c=new Uint8Array([1,0,0,0].concat([16,119,239,236,192,178,77,2,172,227,60,30,82,226,251,75],[0,0,0,1],ob(a.kid),[0,0,0,0]));return e.box(e.types.pssh,c)}},{key:"moov",value:function(a){if(a[0].useEME&&(a[0].encv||a[0].enca)){a[0].pssh||(a[0].pssh={kid:a[0].kid});var c=this.pssh(a[0].pssh);return e.box.apply(e,[e.types.moov,e.mvhd(a[0].mvhdDurtion||a[0].duration,a[0].mvhdTimecale||a[0].timescale),e.mvex(a)].concat(wt(a.map((function(a){return e.trak(a)}))),[c]))}return e.box.apply(e,[e.types.moov,e.mvhd(a[0].mvhdDurtion||a[0].duration,a[0].mvhdTimecale||a[0].timescale)].concat(wt(a.map((function(a){return e.trak(a)}))),[e.mvex(a)]))}},{key:"mvhd",value:function(a){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4;return e.box(e.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,c>>24&255,c>>16&255,c>>8&255,255&c,a>>24&255,a>>16&255,a>>8&255,255&a,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}},{key:"trak",value:function(a){return e.box(e.types.trak,e.tkhd(a.id,a.tkhdDuration||0,a.width,a.height),e.mdia(a))}},{key:"tkhd",value:function(a,c){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,b=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;return e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,a>>24&255,a>>16&255,a>>8&255,255&a,0,0,0,0,c>>24&255,c>>16&255,c>>8&255,255&c,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,t>>8&255,255&t,0,0,b>>8&255,255&b,0,0]))}},{key:"mdia",value:function(a){return e.box(e.types.mdia,e.mdhd(a.duration,a.timescale),e.hdlr(a.type),e.minf(a))}},{key:"mdhd",value:function(a){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4;return e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,c>>24&255,c>>16&255,c>>8&255,255&c,a>>24&255,a>>16&255,a>>8&255,255&a,85,196,0,0]))}},{key:"hdlr",value:function(a){return e.box(e.types.hdlr,e.HDLR_TYPES[a])}},{key:"minf",value:function(a){return e.box(e.types.minf,a.type===It?e.VMHD:e.SMHD,e.DINF,e.stbl(a))}},{key:"stbl",value:function(a){var c=[];return a&&a.ext&&a.ext.stss&&c.push(e.stss(a.ext.stss.entries)),e.box(e.types.stbl,e.stsd(a),e.STTS,c[0],e.STSC,e.STSZ,e.STCO)}},{key:"stsd",value:function(a){var c;return c="audio"===a.type?a.useEME&&a.enca?e.enca(a):a.codecType===Bt?e.opus(a):e.mp4a(a):a.useEME&&a.encv?e.encv(a):a.av1C?e.av01(a):e.avc1hev1(a),e.box(e.types.stsd,new Uint8Array([0,0,0,0,0,0,0,1]),c)}},{key:"enca",value:function(a){var c=a.enca.channelCount,t=a.enca.sampleRate,b=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,c,0,16,0,0,0,0,t>>8&255,255&t,0,0]),r=e.esds(a.config),n=e.sinf(a.enca);return e.box(e.types.enca,b,r,n)}},{key:"encv",value:function(a){var c,t,b=a.sps.length>0?a.sps[0]:[],r=a.pps.length>0?a.pps[0]:[],n=a.width,i=a.height,d=a.sarRatio[0],f=a.sarRatio[1],o=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,n>>8&255,255&n,i>>8&255,255&i,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),s=new Uint8Array((c=(t=[1,b[1],b[2],b[3],255,225,b.length>>>8&255,255&b.length]).concat.apply(t,wt(b)).concat([1,r.length>>>8&255,255&r.length])).concat.apply(c,wt(r))),u=new Uint8Array([0,0,88,57,0,15,200,192,0,4,86,72]),l=e.sinf(a.encv),h=new Uint8Array([d>>24,d>>16&255,d>>8&255,255&d,f>>24,f>>16&255,f>>8&255,255&f]);return e.box(e.types.encv,o,e.box(e.types.avcC,s),e.box(e.types.btrt,u),l,e.box(e.types.pasp,h))}},{key:"schi",value:function(a){var c=new Uint8Array([]),t=e.tenc(a);return e.box(e.types.schi,c,t)}},{key:"tenc",value:function(a){var c=new Uint8Array([0,0,0,0,0,0,255&a.default_IsEncrypted,255&a.default_IV_size].concat(ob(a.default_KID)));return e.box(e.types.tenc,c)}},{key:"sinf",value:function(a){var c=new Uint8Array([]),t=new Uint8Array([a.data_format.charCodeAt(0),a.data_format.charCodeAt(1),a.data_format.charCodeAt(2),a.data_format.charCodeAt(3)]),b=new Uint8Array([0,0,0,0,99,101,110,99,0,1,0,0]),r=e.schi(a);return e.box(e.types.sinf,c,e.box(e.types.frma,t),e.box(e.types.schm,b),r)}},{key:"av01",value:function(a){return e.box(e.types.av01,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,a.width>>8&255,255&a.width,a.height>>8&255,255&a.height,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),a.av1C,a.colr)}},{key:"avc1hev1",value:function(a){var c=a.codecType===Ct,t=c?e.types.hvc1:e.types.avc1,b=c?e.hvcC(a):e.avcC(a),r=[new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,a.width>>8&255,255&a.width,a.height>>8&255,255&a.height,0,72,0,0,0,72,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),b];return c?r.push(e.box(e.types.fiel,new Uint8Array([1,0]))):a.sarRatio&&a.sarRatio.length>1&&r.push(e.pasp(a.sarRatio)),e.box.apply(e,[t].concat(r))}},{key:"avcC",value:function(a){var c,t,b,r=[],n=[];return a.sps.forEach((function(e){b=e.byteLength,r.push(b>>>8&255),r.push(255&b),r.push.apply(r,wt(e))})),a.pps.forEach((function(e){b=e.byteLength,n.push(b>>>8&255),n.push(255&b),n.push.apply(n,wt(e))})),e.box(e.types.avcC,new Uint8Array((c=(t=[1,r[3],r[4],r[5],255,224|a.sps.length]).concat.apply(t,r).concat([a.pps.length])).concat.apply(c,n)))}},{key:"hvcC",value:function(a){var c=a.hvcC;if(c instanceof ArrayBuffer||c instanceof Uint8Array)return c;var t,b=a.vps,r=a.sps,n=a.pps;if(c){var i=c.generalProfileCompatibilityFlags,d=c.generalConstraintIndicatorFlags,f=(b.length&&1)+(r.length&&1)+(n.length&&1);t=[1,c.generalProfileSpace<<6|c.generalTierFlag<<5|c.generalProfileIdc,i>>>24,i>>>16,i>>>8,i,d[0],d[1],d[2],d[3],d[4],d[5],c.generalLevelIdc,240,0,252,252|c.chromaFormatIdc,248|c.bitDepthLumaMinus8,248|c.bitDepthChromaMinus8,0,0,c.numTemporalLayers<<3|c.temporalIdNested<<2|3,f];var o=function(e){var a;t.push(e.length>>8,e.length),(a=t).push.apply(a,wt(e))};b.length&&(t.push(160,0,b.length),b.forEach(o)),r.length&&(t.push(161,0,r.length),r.forEach(o)),n.length&&(t.push(162,0,n.length),n.forEach(o))}else t=[1,1,96,0,0,0,144,0,0,0,0,0,93,240,0,252,253,248,248,0,0,15,3,160,0,1,0,24,64,1,12,1,255,255,1,96,0,0,3,0,144,0,0,3,0,0,3,0,93,153,152,9,161,0,1,0,45,66,1,1,1,96,0,0,3,0,144,0,0,3,0,0,3,0,93,160,2,128,128,45,22,89,153,164,147,43,154,128,128,128,130,0,0,3,0,2,0,0,3,0,50,16,162,0,1,0,7,68,1,193,114,180,98,64];return e.box(e.types.hvcC,new Uint8Array(t))}},{key:"pasp",value:function(a){var c=St(a,2),t=c[0],b=c[1];return e.box(e.types.pasp,new Uint8Array([t>>24,t>>16&255,t>>8&255,255&t,b>>24,b>>16&255,b>>8&255,255&b]))}},{key:"mp4a",value:function(a){return e.box(e.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,a.channelCount,0,16,0,0,0,0,a.sampleRate>>8&255,255&a.sampleRate,0,0]),a.config.length?e.esds(a.config):void 0)}},{key:"esds",value:function(a){var c=a.length;return e.box(e.types.esds,new Uint8Array([0,0,0,0,3,23+c,0,0,0,4,15+c,64,21,0,6,0,0,0,218,192,0,0,218,192,5].concat([c]).concat(a).concat([6,1,2])))}},{key:"opus",value:function(a){var c=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,a.channelCount,0,16,0,0,0,0,a.sampleRate>>8&255,255&a.sampleRate,0,0]),t=a.config.length?e.dOps(a):[];return e.box(e.types.Opus,c,t)}},{key:"dOps",value:function(a){if(a.config)return a.config[4]=a.sampleRate>>>24&255,a.config[5]=a.sampleRate>>>16&255,a.config[6]=a.sampleRate>>>8&255,a.config[7]=255&a.sampleRate,e.box(e.types.dOps,a.config)}},{key:"mvex",value:function(a){return e.box.apply(e,[e.types.mvex].concat(wt(a.map((function(a){return e.trex(a.id)})))))}},{key:"trex",value:function(a){return e.box(e.types.trex,new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}},{key:"trex1",value:function(a){return e.box(e.types.trex,new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,0,0,0,1,0,0,2,0,0,0,0,0,0,1,0,0]))}},{key:"trex2",value:function(a){return e.box(e.types.trex,new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,0,0,0,1,0,0,4,0,0,0,0,0,2,0,0,0]))}},{key:"moof",value:function(a){return e.box.apply(e,[e.types.moof,e.mfhd(a[0].samples?a[0].samples[0].gopId:0)].concat(wt(a.map((function(a){return e.traf(a)})))))}},{key:"mfhd",value:function(a){return e.box(e.types.mfhd,new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a]))}},{key:"traf",value:function(a){var c=e.tfhd(a.id),t=e.tfdt(a,a.baseMediaDecodeTime),b=0;if(a.isVideo&&a.videoSenc&&a.videoSenc.forEach((function(e){b+=8,e.subsamples&&e.subsamples.length&&(b+=2,b+=6*e.subsamples.length)})),a.videoSencLength=b,a.useEME&&(a.isVideoEncryption||a.isAudioEncryption)){if(a.isVideoEncryption){if(a.isVideo){var r=e.saiz(a),n=e.saio(a),i=e.trun1(a),d=e.senc(a);return e.box(e.types.traf,c,t,r,n,i,d)}if(a.isAudioEncryption){var f=e.sbgp(),o=e.saiz(a),s=e.saio(a),u=e.senc(a),l=e.trun1(a);return e.box(e.types.traf,c,t,f,o,s,u,l)}var h=e.sbgp(),p=e.trun1(a);return e.box(e.types.traf,c,t,h,p)}if(a.isVideo){var v=e.trun1(a);return e.box(e.types.traf,c,t,v)}var y=e.sbgp(),m=e.saiz(a),g=e.saio(a),_=e.senc(a),k=e.trun1(a);return e.box(e.types.traf,c,t,y,m,g,_,k)}var E=e.sdtp(a);return e.box(e.types.traf,c,t,E,e.trun(a.samples,E.byteLength+76))}},{key:"sdtp",value:function(a){var c=new Bb;return a.samples.forEach((function(e){c.write(new Uint8Array(a.isVideo?[e.keyframe?32:16]:[16]))})),e.box(e.types.sdtp,this.extension(0,0),c.buffer)}},{key:"trun1",value:function(a){var c=new Bb,t=Bb.writeUint32(a.samples.length),b=null;if(a.isVideo){var r=a.videoSencLength;b=Bb.writeUint32(16*a.samples.length+r+149),!a.isVideoEncryption&&a.isAudioEncryption&&(b=Bb.writeUint32(16*a.samples.length+92))}else{var n=12*a.samples.length+124;a.isAudioEncryption&&(n=12*a.samples.length+8*a.audioSenc.length+177),b=Bb.writeUint32(n)}return a.samples.forEach((function(e){c.write(Bb.writeUint32(e.duration)),c.write(Bb.writeUint32(e.size)),c.write(Bb.writeUint32(e.keyframe?33554432:65536)),a.isVideo&&c.write(Bb.writeUint32(e.cts?e.cts:0))})),e.box(e.types.trun,this.extension(0,a.flags),t,b,c.buffer)}},{key:"senc",value:function(a){var c=new Bb,t=a.samples.length,b=a.isVideo?16:8,r=a.isVideo?2:0,n=[],i=0;return a.isVideo?(n=a.videoSenc,i=a.videoSencLength):n=a.audioSenc,i=i||b*t,c.write(Bb.writeUint32(16+i),e.types.senc,this.extension(0,r)),c.write(Bb.writeUint32(t)),n.forEach((function(e){for(var a=0;a<e.InitializationVector.length;a++)c.write(new Uint8Array([e.InitializationVector[a]]));e.subsamples&&e.subsamples.length&&(c.write(Bb.writeUint16(e.subsamples.length)),e.subsamples.forEach((function(e){c.write(Bb.writeUint16(e.BytesOfClearData)),c.write(Bb.writeUint32(e.BytesOfProtectedData))})))})),c.buffer}},{key:"saio",value:function(a){var c=12*a.samples.length+141;!a.isVideo&&a.isAudioEncryption&&(c=149);var t=new Uint8Array([1,0,0,0,0,0,0,1,0,0,0,0,c>>24&255,c>>16&255,c>>8&255,255&c]);return e.box(e.types.saio,t)}},{key:"saiz",value:function(a){var c=a.samples.length,t=new Uint8Array([0,0,0,0,16,c>>24&255,c>>16&255,c>>8&255,255&c]);return e.box(e.types.saiz,t)}},{key:"sbgp",value:function(){var a=new Uint8Array([114,111,108,108,0,0,0,1,0,0,1,25,0,0,0,1]);return e.box(e.types.sbgp,this.extension(0,0),a)}},{key:"extension",value:function(e,a){return new Uint8Array([e,a>>16&255,a>>8&255,255&a])}},{key:"tfhd",value:function(a){return e.box(e.types.tfhd,new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a]))}},{key:"tfdt",value:function(a,c){var t=Math.floor(c/(Ub+1)),b=Math.floor(c%(Ub+1));return a.useEME&&(a.isVideoEncryption||a.isAudioEncryption)?e.box(e.types.tfdt,new Uint8Array([0,0,0,0,b>>24,b>>16&255,b>>8&255,255&b])):e.box(e.types.tfdt,new Uint8Array([1,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,b>>24,b>>16&255,b>>8&255,255&b]))}},{key:"trun",value:function(a,c){var t=a.length,b=12+16*t;c+=8+b;var r=new Uint8Array(b);r.set([0,0,15,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t,c>>>24&255,c>>>16&255,c>>>8&255,255&c],0);for(var n=0;n<t;n++){var i=a[n],d=i.duration,f=i.size,o=i.flag,s=void 0===o?{}:o,u=i.cts,l=void 0===u?0:u;r.set([d>>>24&255,d>>>16&255,d>>>8&255,255&d,f>>>24&255,f>>>16&255,f>>>8&255,255&f,s.isLeading<<2|(null===s.dependsOn||void 0===s.dependsOn?1:s.dependsOn),s.isDependedOn<<6|s.hasRedundancy<<4|s.paddingValue<<1|(null===s.isNonSyncSample||void 0===s.isNonSyncSample?1:s.isNonSyncSample),61440&s.degradationPriority,15&s.degradationPriority,l>>>24&255,l>>>16&255,l>>>8&255,255&l],12+16*n)}return e.box(e.types.trun,r)}},{key:"moovMP4",value:function(a){return e.box.apply(e,[e.types.moov,e.mvhd(a[0].duration,a[0].timescale)].concat(wt(a.map((function(a){return e.trackMP4(a)})))))}},{key:"trackMP4",value:function(a){return e.box(e.types.trak,e.tkhd(a.id,a.duration,a.width,a.height),e.mdiaMP4(a))}},{key:"mdiaMP4",value:function(a){return e.box(e.types.mdia,e.mdhd(a.duration,a.timescale),e.hdlr(a.type),e.minfMP4(a))}},{key:"minfMP4",value:function(a){return e.box(e.types.minf,a.type===It?e.VMHD:e.SMHD,e.DINF,e.stblMP4(a))}},{key:"stblMP4",value:function(a){var c=a.ext,t=[e.stsd(a),e.stts(c.stts),e.stsc(c.stsc),e.stsz(c.stsz),e.stco(c.stco)];return c.stss.length&&t.push(e.stss(c.stss)),c.ctts.length&&t.push(e.ctts(c.ctts)),e.box.apply(e,[e.types.stbl].concat(t))}},{key:"stts",value:function(a){var c=a.length,t=new Uint8Array(8*c),b=0;return a.forEach((function(e){var a=e.value,c=e.count;t.set([c>>24,c>>16&255,c>>8&255,255&c,a>>24,a>>16&255,a>>8&255,255&a],b),b+=8})),e.box(e.types.stts,bb(new Uint8Array([0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c]),t))}},{key:"stsc",value:function(a){var c=a.length,t=new Uint8Array(12*c),b=0;return a.forEach((function(e){var a=e.firstChunk,c=e.samplesPerChunk,r=e.sampleDescIndex;t.set([a>>24,a>>16&255,a>>8&255,255&a,c>>24,c>>16&255,c>>8&255,255&c,r>>24,r>>16&255,r>>8&255,255&r],b),b+=12})),e.box(e.types.stsc,bb(new Uint8Array([0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c]),t))}},{key:"stsz",value:function(a){var c=a.length,t=new Uint8Array(4*c),b=0;return a.forEach((function(e){t.set([e>>24,e>>16&255,e>>8&255,255&e],b),b+=4})),e.box(e.types.stsz,bb(new Uint8Array([0,0,0,0,0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c]),t))}},{key:"stco",value:function(a){var c=a.length,t=new Uint8Array(4*c),b=0;return a.forEach((function(e){t.set([e>>24,e>>16&255,e>>8&255,255&e],b),b+=4})),e.box(e.types.stco,bb(new Uint8Array([0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c]),t))}},{key:"stss",value:function(a){var c=a.length,t=new Uint8Array(4*c),b=0;return a.forEach((function(e){t.set([e>>24,e>>16&255,e>>8&255,255&e],b),b+=4})),e.box(e.types.stss,bb(new Uint8Array([0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c]),t))}},{key:"ctts",value:function(a){var c=a.length,t=new Uint8Array(8*c),b=0;return a.forEach((function(e){var a=e.value,c=e.count;t.set([c>>24,c>>16&255,c>>8&255,255&c,a>>24,a>>16&255,a>>8&255,255&a],b),b+=8})),e.box(e.types.ctts,bb(new Uint8Array([0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c]),t))}},{key:"styp",value:function(){return e.box(e.types.styp,new Uint8Array([109,115,100,104,0,0,0,0,109,115,100,104,109,115,105,120]))}},{key:"sidx",value:function(a){var c=a.timescale,t=a.samples[0].duration,b=t*a.samples.length,r=a.samples[0].sampleOffset*t,n=8;a.samples.forEach((function(e){n+=e.size}));var i=0;if(a.isVideo){var d,f=0;a.videoSenc&&(d=a.videoSenc),a.isVideo&&d.forEach((function(e){f+=8,e.subsamples&&e.subsamples.length&&(f+=2,f+=6*e.subsamples.length)})),a.videoSencLength=f,i=n+141+16*a.samples.length+f,a.useEME&&a.isAudioEncryption&&!a.isVideoEncryption&&(i=n+16*a.samples.length+84)}else i=n+116+12*a.samples.length,a.useEME&&a.isAudioEncryption&&(i=n+169+12*a.samples.length+8*a.audioSenc.length);var o=new Uint8Array([0,0,0,0,0,0,0,255&a.id,c>>24&255,c>>16&255,c>>8&255,255&c,r>>24&255,r>>16&255,r>>8&255,255&r,0,0,0,0,0,0,0,1,0,i>>16&255,i>>8&255,255&i,b>>24&255,b>>16&255,b>>8&255,255&b,144,0,0,0]);return e.box(e.types.sidx,o)}},{key:"mdat",value:function(a){return e.box(e.types.mdat,a)}}]),e}();mt(Nb,"types",["Opus","dOps","av01","av1C","avc1","avcC","hvc1","hvcC","dinf","dref","esds","ftyp","hdlr","mdat","mdhd","mdia","mfhd","minf","moof","moov","mp4a","mvex","mvhd","pasp","stbl","stco","stsc","stsd","stsz","stts","tfdt","tfhd","traf","trak","trex","tkhd","vmhd","smhd","ctts","stss","styp","pssh","sidx","sbgp","saiz","saio","senc","trun","encv","enca","sinf","btrt","frma","tenc","schm","schi","mehd","fiel","sdtp"].reduce((function(e,a){return e[a]=[a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2),a.charCodeAt(3)],e}),Object.create(null))),mt(Nb,"HDLR_TYPES",{video:new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),audio:new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0])}),mt(Nb,"FTYPAVC1",Nb.box(Nb.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]))),mt(Nb,"FTYPHEV1",Nb.box(Nb.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,104,101,118,49]))),mt(Nb,"DINF",Nb.box(Nb.types.dinf,Nb.box(Nb.types.dref,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1])))),mt(Nb,"VMHD",Nb.box(Nb.types.vmhd,new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]))),mt(Nb,"SMHD",Nb.box(Nb.types.smhd,new Uint8Array([0,0,0,0,0,0,0,0]))),mt(Nb,"StblTable",new Uint8Array([0,0,0,0,0,0,0,0])),mt(Nb,"STTS",Nb.box(Nb.types.stts,Nb.StblTable)),mt(Nb,"STSC",Nb.box(Nb.types.stsc,Nb.StblTable)),mt(Nb,"STSZ",Nb.box(Nb.types.stsz,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]))),mt(Nb,"STCO",Nb.box(Nb.types.stco,Nb.StblTable));var Fb=function(){function e(a,c){pt(this,e),this.name=a||"",this._prefix="[".concat(this.name,"]"),e.disabled=c}return yt(e,[{key:"debug",value:function(){var a;if(!e.disabled){for(var c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];(a=console).debug.apply(a,[this._prefix].concat(t))}}},{key:"log",value:function(){var a;if(!e.disabled){for(var c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];(a=console).log.apply(a,[this._prefix].concat(t))}}},{key:"warn",value:function(){var a;if(!e.disabled){for(var c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];(a=console).warn.apply(a,[this._prefix].concat(t))}}},{key:"error",value:function(){var a;if(!e.disabled){for(var c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];(a=console).error.apply(a,[this._prefix].concat(t))}}},{key:"table",value:function(){var a;e.disabled||(console.group(this._prefix),(a=console).table.apply(a,arguments),console.groupEnd())}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();mt(Fb,"disabled",!0);var Gb=function(){function e(a,c,t){pt(this,e),this.videoTrack=a,this.audioTrack=c;var b=/Chrome\/([^.]+)/.exec(navigator.userAgent);this.forceFirstIDR=b&&Number(b[1])<50,this.log=new Fb("FMP4Remuxer",!t||!t.openLog||!t.openLog)}return yt(e,[{key:"remux",value:function(){var e,a,c,t,b,r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=this.videoTrack,d=this.audioTrack,f=i.exist(),o=d.exist(),s=[];return r&&(n&&n.initMerge?(f&&s.push(this.videoTrack),o&&s.push(this.audioTrack),c=Nb.initSegment(s)):(f&&(e=Nb.initSegment([this.videoTrack])),o&&(a=Nb.initSegment([this.audioTrack])))),f&&i.hasSample()&&(t=this._remuxVideo()),o&&d.hasSample()&&(b=this._remuxAudio()),i.samples=[],d.samples=[],{initSegment:c,videoInitSegment:e,audioInitSegment:a,videoSegment:t,audioSegment:b}}},{key:"_remuxVideo",value:function(){var e=this.videoTrack;this.forceFirstIDR&&(e.samples[0].flag={dependsOn:2,isNonSyncSample:0});var a=e.samples,c=/av01/.test(e.codec),t=0;c?a.forEach((function(e){t+=e.data.byteLength})):a.forEach((function(e){t+=e.units.reduce((function(e,a){return e+a.byteLength}),0),t+=4*e.units.length}));var b=new Uint8Array(t);if(c)for(var r,n=0,i=a.length,d=0;n<i;n++)r=a[n],b.set(r.data,d),r.size=r.data.byteLength,d+=r.size;else for(var f,o=new DataView(b.buffer),s=function(e,c){c=a[u];var t=0;c.units.forEach((function(a){o.setUint32(e,a.byteLength),e+=4,b.set(a,e),e+=a.byteLength,t+=4+a.byteLength})),c.size=t,h=e,f=c},u=0,l=a.length,h=0;u<l;u++)s(h,f);var p=Nb.mdat(b);return bb(Nb.moof([e]),p)}},{key:"_remuxAudio",value:function(){var e=this.audioTrack,a=new Uint8Array(e.samples.reduce((function(e,a){return e+a.size}),0));e.samples.reduce((function(e,c){return a.set(c.data,e),e+c.size}),0);var c=Nb.mdat(a);return bb(Nb.moof([e]),c)}},{key:"reset",value:function(){this.videoTrack.reset(),this.audioTrack.reset()}}]),e}(),Vb=function(){function e(){Sa(this,e);var a=window.crypto||window.msCrypto;this.subtle=a&&(a.subtle||a.webkitSubtle),this.externalDecryptor=null}var a,c;return xa(e,[{key:"destroy",value:function(){var e;null!==(e=this.externalDecryptor)&&void 0!==e&&e.destroy&&this.externalDecryptor.destroy()}},{key:"decrypt",value:function(e,a){if(e||a){var c=[];return e&&(c[0]=this._decryptSegment(e)),a&&(c[1]=this._decryptSegment(a)),Promise.all(c)}}},{key:"_decryptSegment",value:(c=Ea(ga().mark((function e(a){var c;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=a.data,!a.key){e.next=5;break}return e.next=4,this._decryptData(a.data,a.key,a.keyIv);case 4:c=e.sent;case 5:if(a.map){e.next=7;break}return e.abrupt("return",c);case 7:return e.abrupt("return",it(a.map,c));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"_decryptData",value:(a=Ea(ga().mark((function e(a,c,t){var b;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.externalDecryptor){e.next=6;break}return e.next=3,this.externalDecryptor.decrypt(a,c,t);case 3:return e.abrupt("return",e.sent);case 6:if(this.subtle){e.next=8;break}throw new Error("crypto is not defined");case 8:return e.next=10,this.subtle.importKey("raw",c,{name:"AES-CBC"},!1,["encrypt","decrypt"]);case 10:return b=e.sent,e.t0=Uint8Array,e.next=14,this.subtle.decrypt({name:"AES-CBC",iv:t},b,a);case 14:return e.t1=e.sent,e.abrupt("return",new e.t0(e.t1));case 16:case"end":return e.stop()}}),e,this)}))),function(e,c,t){return a.apply(this,arguments)})}]),e}(),qb=ma(ma({},Zc),{},{STREAM_PARSED:"core.streamparsed",NO_AUDIO_TRACK:"core.noaudiotrack",SUBTITLE_SEGMENTS:"core.subtitlesegments",SUBTITLE_PLAYLIST:"core.subtitleplaylist",SEI_PAYLOAD_TIME:"core.seipayloadtime",APPEND_COST:"core.appendcost"}),zb=new Ac("Transmuxer"),Hb=function(){function e(a,c,t,b){Sa(this,e),Ta(this,"_initSegmentId",""),this.hls=a,this._demuxer=c?new Mb:new Ab(null,null,null,b),this._isMP4=c,t&&(this._remuxer=new Gb(this._demuxer.videoTrack,this._demuxer.audioTrack))}return xa(e,[{key:"transmux",value:function(e,a,c,t,b,r){var n=this._demuxer;try{this._isMP4?n.demux(e,a):n.demuxAndFix(it(e,a),c,t,b)}catch(_){throw new wc(vc,Ec.HLS,_)}var i=n.videoTrack,d=n.audioTrack,f=n.metadataTrack,o={codec:i.codec,timescale:i.timescale,firstDts:i.firstDts/i.timescale,firstPts:i.firstPts/i.timescale,duration:i.samplesDuration/i.timescale},s={codec:d.codec,timescale:d.timescale,firstDts:d.firstDts/i.timescale,firstPts:d.firstPts/i.timescale,duration:d.samplesDuration/i.timescale,container:d.container},u="".concat(i.codec,"/").concat(i.width,"/").concat(i.height,"/").concat(d.codec,"/").concat(d.config);if(u!==this._initSegmentId&&(this._initSegmentId=u,r=!0),this._fireEvents(i,d,f,c||r),this.hls.emit(qb.DEMUXED_TRACK,{videoTrack:i,audioTrack:d}),!this._remuxer)return[i,d];r&&this.hls.isLive&&!this.hls.config.mseLowLatency&&(i.duration=this.hls.totalDuration*i.timescale,d.duration=this.hls.totalDuration*d.timescale);try{var l=this._remuxer.remux(r),h=l.videoInitSegment,p=l.videoSegment,v=l.audioInitSegment,y=l.audioSegment,m=it(h,p),g=it(v,y);return[m?ma(ma({},o),{},{data:m}):void 0,g?ma(ma({},s),{},{data:g}):void 0]}catch(_){throw new wc(yc,Ec.FMP4,_)}}},{key:"_fireEvents",value:function(e,a,c,t){var b=this,r=[e,a],n="discontinuity: ".concat(t);r.forEach((function(e){var a;null!==(a=e.samples)&&void 0!==a&&a.length&&(n+="; ".concat(e.samples.length," ").concat(e.type===It?"video":"audio"," samples, firstDts/firstPts/duration: ").concat((e.firstDts/e.timescale).toFixed(3),"/").concat((e.firstPts/e.timescale).toFixed(3),"/").concat((e.samplesDuration/e.timescale).toFixed(3))),t&&e.exist()&&b.hls.emit(qb.METADATA_PARSED,{type:e.type,track:e,meta:ma({codec:e.codec,timescale:e.timescale,baseDts:e.baseDts},e.type===It?{width:e.width,height:e.height,sarRatio:e.sarRatio}:{codec:e.codec,channelCount:e.channelCount,sampleRate:e.sampleRate})})})),zb.debug(n),e.warnings.forEach((function(e){var a;switch(e.type){case Nt:a=qb.LARGE_AV_FIRST_FRAME_GAP_DETECT;break;case Ft:a=qb.LARGE_VIDEO_DTS_GAP_DETECT;break;case Gt:a=qb.MAX_DTS_DELTA_WITH_NEXT_SEGMENT_DETECT}a&&b.hls.emit(qb.STREAM_EXCEPTION,ma(ma({},e),{},{type:a})),zb.warn("video exception",e)})),a.warnings.forEach((function(e){var a;switch(e.type){case Vt:a=qb.LARGE_AUDIO_DTS_GAP_DETECT;break;case qt:a=qb.AUDIO_GAP_DETECT;break;case zt:a=qb.AUDIO_OVERLAP_DETECT}a&&b.hls.emit(qb.STREAM_EXCEPTION,ma(ma({},e),{},{type:a})),zb.warn("audio exception",e)})),e.samples.forEach((function(e){e.keyframe&&b.hls.emit(qb.KEYFRAME,{pts:e.pts})})),c.seiSamples.forEach((function(e){b.hls.emit(qb.SEI,ma(ma({},e),{},{originPts:e.originPts/90,sei:{code:e.data.type,content:e.data.payload,dts:e.pts}}))}))}}]),e}(),Kb=["data"],$b=["data"],Wb=new Ac("BufferService"),Yb=function(){function e(a){var c=this;Sa(this,e),Ta(this,"_decryptor",new Vb),Ta(this,"_transmuxer",null),Ta(this,"_mse",null),Ta(this,"_softVideo",null),Ta(this,"_sourceCreated",!1),Ta(this,"_needInitSegment",!0),Ta(this,"_directAppend",!1),this.hls=a,a.config.softDecode?this._softVideo=a.media:(this._mse=new Nc(null,{preferMMS:a.config.preferMMS}),a.config.url&&this._mse.bindMedia(a.media).then((function(e){c.hls.emit(Zc.MEDIASOURCE_OPENED,e)}))),a.config.decryptor&&(this._decryptor.externalDecryptor=a.config.decryptor)}var a,c,t,b,r,n,i,d,f,o;return xa(e,[{key:"baseDts",get:function(){var e,a,c;return null===(e=this._transmuxer)||void 0===e||null===(a=e._demuxer)||void 0===a||null===(c=a._fixer)||void 0===c?void 0:c._baseDts}},{key:"nbSb",get:function(){var e;return null!==(e=this._mse)&&void 0!==e&&e._sourceBuffer?Object.keys(this._mse._sourceBuffer).length:0}},{key:"msIsOpened",get:function(){var e;return null===(e=this._mse)||void 0===e?void 0:e.isOpened}},{key:"msHasOpTasks",get:function(){var e;return null===(e=this._mse)||void 0===e?void 0:e.hasOpTasks}},{key:"msStreaming",get:function(){var e;return null===(e=this._mse)||void 0===e?void 0:e.streaming}},{key:"updateDuration",value:(o=Ea(ga().mark((function e(a){return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Wb.debug("update duration",a),!this._mse){e.next=9;break}if(this._mse.isOpened){e.next=5;break}return e.next=5,this._mse.open();case 5:return e.next=7,this._mse.updateDuration(a);case 7:e.next=10;break;case 9:this._softVideo&&(this._softVideo.duration=a);case 10:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"createSource",value:function(e,a,c,t){if(!this._sourceCreated){var b=e||a;if(b){if(Ab.probe(b))this._transmuxer||(this._transmuxer=new Hb(this.hls,!1,!this._softVideo,this.hls.config.fixerConfig));else{if(!Ob.probe(b))throw new wc(_c,null,null,null,"unsupported stream");if(this._softVideo)this._transmuxer||(this._transmuxer=new Hb(this.hls,!0,null,this.hls.config.fixerConfig));else{this._directAppend=!0;var r=!1;e&&!c&&Ob.findBox(e,["moov","trak"]).forEach((function(e){var a=Ob.findBox(e.data,["trak","mdia","minf","stbl","stsd"])[0];if(a){var b=Ob.stsd(a).entries[0];if(b)if(b.hvcC)c=b.hvcC.codec||"hev1.1.6.L93.B0";else if(b.avcC)c=b.avcC.codec;else if(b.sampleRate||b.esds){var n;t=(null===(n=b.esds)||void 0===n?void 0:n.codec)||"mp4a.40.2",r=!0}}})),a&&!t&&Ob.findBox(a,["moov","trak","mdia","minf","stbl","stsd"]).forEach((function(e){var a=Ob.stsd(e).entries[0];a&&a.esds&&(t=a.esds.codec)})),e&&!c&&(c="avc1.42e01e"),a&&!t&&(t="mp4a.40.2"),r&&(c+=", ".concat(t),t=""),this._createMseSource(c,t)}}this._softVideo&&(this._sourceCreated=!0)}}}},{key:"appendBuffer",value:(f=Ea(ga().mark((function e(a,c,t,b,r,n,i){var d,f,o,s,u,l,h,p,v,y,m,g,_,k,E,S=this;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=t&&t.length||null!=b&&b.length){e.next=2;break}return e.abrupt("return");case 2:if(d=function(){var e,c;null!==(e=S.hls)&&void 0!==e&&e.emit&&(null===(c=S.hls)||void 0===c||c.emit(Zc.APPEND_BUFFER,{start:a.start,end:a.end}))},!this._directAppend){e.next=8;break}return f=[],t&&f.push(this._mse.append(Nc.VIDEO,t)),b&&f.push(this._mse.append(Nc.AUDIO,b)),e.abrupt("return",Promise.all(f).then(d));case 8:if(o=this._needInitSegment||r,s=this._transmuxer.transmux(t,b,o,n,i,this._needInitSegment||r),u=Ca(s,2),l=u[0],h=u[1],b&&c&&(null==c||c.setTrackExist(!1,!0)),b&&a&&(null==a||a.setTrackExist(!0,!1)),c||null==a||a.setTrackExist(!!l,!!h),l&&!h&&this.hls.emit(qb.NO_AUDIO_TRACK),!this._softVideo){e.next=20;break}this._softVideo.appendBuffer(l,h),this._needInitSegment=!1,d(),e.next=32;break;case 20:if(!this._mse){e.next=32;break}return(p=!this._sourceCreated)&&this._createMseSource(null==l?void 0:l.codec,null==h?void 0:h.codec,null==h?void 0:h.container),this._needInitSegment=!1,v=this._mse,y=[],o&&!p&&this._handleCodecChange(l,h).forEach((function(e){return y.push(e)})),l&&(m=l.data,g=Oa(l,Kb),y.push(v.append(Nc.VIDEO,m,g))),h&&(_=h.data,k=Oa(h,$b),y.push(v.append(Nc.AUDIO,_,k))),(E=Promise.all(y)).then(d),e.abrupt("return",E);case 32:case"end":return e.stop()}}),e,this)}))),function(e,a,c,t,b,r,n){return f.apply(this,arguments)})},{key:"removeBuffer",value:(d=Ea(ga().mark((function e(){var a,c,t,b=this,r=arguments;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=r.length>0&&void 0!==r[0]?r[0]:0,c=r.length>1&&void 0!==r[1]?r[1]:1/0,t=this.hls.media,!(!this._mse||!t||a<0||c<a||a>=this._mse.duration)){e.next=5;break}return e.abrupt("return");case 5:return e.abrupt("return",this._mse.clearBuffer(a,c).then((function(){return b.hls.emit(Zc.REMOVE_BUFFER,{start:a,end:c,removeEnd:c})})));case 6:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"evictBuffer",value:(i=Ea(ga().mark((function e(a){var c,t,b;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=this.hls.media,this._mse&&c&&a&&!(a<0)){e.next=3;break}return e.abrupt("return");case 3:if(t=c.currentTime,!((b=t-a)<=0)){e.next=7;break}return e.abrupt("return");case 7:if(!(dc.start(dc.get(c))+1>=b)){e.next=10;break}return e.abrupt("return");case 10:return e.abrupt("return",this.removeBuffer(0,b));case 11:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"clearAllBuffer",value:(n=Ea(ga().mark((function e(){return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._mse){e.next=2;break}return e.abrupt("return",this._mse.clearAllBuffer());case 2:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"decryptBuffer",value:function(e,a){return this._decryptor.decrypt(e,a)}},{key:"reset",value:(r=Ea(ga().mark((function e(){var a,c=arguments;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=c.length>0&&void 0!==c[0]&&c[0],!this._mse||a){e.next=8;break}return this._transmuxer=null,this._sourceCreated=!1,e.next=6,this._mse.unbindMedia();case 6:return e.next=8,this._mse.bindMedia(this.hls.media);case 8:this._needInitSegment=!0,this._directAppend=!1;case 10:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"endOfStream",value:(b=Ea(ga().mark((function e(){return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._mse){e.next=5;break}if(!this._sourceCreated){e.next=5;break}return e.next=4,this._mse.endOfStream();case 4:this.hls.emit(Zc.BUFFEREOS);case 5:this._softVideo&&this._softVideo.endOfStream();case 6:case"end":return e.stop()}}),e,this)}))),function(){return b.apply(this,arguments)})},{key:"setLiveSeekableRange",value:(t=Ea(ga().mark((function e(a,c){return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._mse&&this._mse.setLiveSeekableRange(a,c);case 1:case"end":return e.stop()}}),e,this)}))),function(e,a){return t.apply(this,arguments)})},{key:"detachMedia",value:(c=Ea(ga().mark((function e(){return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._mse){e.next=3;break}return e.next=3,this._mse.unbindMedia();case 3:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"destroy",value:(a=Ea(ga().mark((function e(){var a;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null===(a=this._decryptor)||void 0===a||a.destroy(),e.next=3,this.detachMedia();case 3:this._decryptor=null,this._mse=null,this._softVideo=null;case 6:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"_createMseSource",value:function(e,a,c){Wb.debug("create mse source, videoCodec=".concat(e,", audioCodec=").concat(a));var t=this._mse;t&&(e&&(t.createSource(Nc.VIDEO,"video/mp4;codecs=".concat(e)),this._sourceCreated=!0),a?(t.createSource(Nc.AUDIO,"audio/mp4;codecs=".concat(a)),this._sourceCreated=!0):c&&(t.createSource(Nc.AUDIO,"".concat(c,';codecs=""')),this._sourceCreated=!0),this.hls.emit(Zc.SOURCEBUFFER_CREATED))}},{key:"_handleCodecChange",value:function(e,a){var c=[],t=this._mse;return[{type:Nc.VIDEO,codecs:null==e?void 0:e.codec},{type:Nc.AUDIO,codecs:null==a?void 0:a.codec}].filter((function(e){return!!e.codecs})).forEach((function(e){var a=e.type,b=e.codecs,r=t.getSourceBuffer(a);if(r){var n=b.split(",")[0];new RegExp(n,"ig").test(r.mimeType)||c.push(t.changeType(a,"".concat(a,"/mp4;codecs=").concat(b)))}})),c}},{key:"seamlessSwitch",value:function(){this._needInitSegment=!0}},{key:"isFull",value:function(){var e,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Nc.VIDEO;return null===(e=this._mse)||void 0===e?void 0:e.isFull(a)}}]),e}();var Xb=xa((function e(){Sa(this,e),Ta(this,"version",0),Ta(this,"streams",[]),Ta(this,"isMaster",!0)})),Qb="AUDIO",Jb="SUBTITLE",Zb={CLEAR_KEY:"org.w3.clearkey",FAIRPLAY:["urn:uuid:94ce86fb-07ff-4f43-adb8-93d2fa968ca2","com.apple.streamingkeydelivery"],WIDEVINE:["urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed","com.widevine.alpha","com.widevine"],PLAYREADY:["urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95","com.microsoft.playready"]};function er(e){for(var a=[],c=0;c<e.length;c++)Array.isArray(e[c])?a=a.concat(er(e[c])):a.push(e[c]);return a}var ar=xa((function e(){Sa(this,e),Ta(this,"id",0),Ta(this,"url",""),Ta(this,"default",!1),Ta(this,"autoSelect",!1),Ta(this,"forced",!1),Ta(this,"group",""),Ta(this,"name",""),Ta(this,"lang",""),Ta(this,"segments",[]),Ta(this,"endSN",0)})),cr=function(e){Aa(c,e);var a=La(c);function c(){var e;Sa(this,c);for(var t=arguments.length,b=new Array(t),r=0;r<t;r++)b[r]=arguments[r];return Ta(Ra(e=a.call.apply(a,[this].concat(b))),"mediaType",Qb),Ta(Ra(e),"channels",0),e}return xa(c)}(ar),tr=function(e){Aa(c,e);var a=La(c);function c(){var e;Sa(this,c);for(var t=arguments.length,b=new Array(t),r=0;r<t;r++)b[r]=arguments[r];return Ta(Ra(e=a.call.apply(a,[this].concat(b))),"mediaType",Jb),e}return xa(c)}(ar),br=xa((function e(){Sa(this,e),Ta(this,"id",0),Ta(this,"bitrate",0),Ta(this,"width",0),Ta(this,"height",0),Ta(this,"name",""),Ta(this,"url",""),Ta(this,"audioCodec",""),Ta(this,"videoCodec",""),Ta(this,"textCodec",""),Ta(this,"audioGroup",""),Ta(this,"audioStreams",[]),Ta(this,"subtitleStreams",[]),Ta(this,"closedCaptionsStream",[])})),rr=xa((function e(){Sa(this,e),Ta(this,"version",0),Ta(this,"url",""),Ta(this,"type",""),Ta(this,"startCC",0),Ta(this,"endCC",0),Ta(this,"startSN",0),Ta(this,"endSN",0),Ta(this,"totalDuration",0),Ta(this,"targetDuration",0),Ta(this,"partTargetDuration",0),Ta(this,"canSkipUntil",0),Ta(this,"canSkipDateRanges",!1),Ta(this,"skippedSegments",0),Ta(this,"canBlockReload",!1),Ta(this,"partHoldBack",0),Ta(this,"live",!0),Ta(this,"lowLatency",!1),Ta(this,"endPartIndex",0),Ta(this,"segments",[]),Ta(this,"dateRanges",{}),Ta(this,"skippedSegments",0)})),nr=function(){function e(a){Sa(this,e),Ta(this,"sn",0),Ta(this,"cc",0),Ta(this,"url",""),Ta(this,"parentUrl",""),Ta(this,"title",""),Ta(this,"start",0),Ta(this,"duration",0),Ta(this,"dataTime",""),Ta(this,"key",null),Ta(this,"byteRange",null),Ta(this,"isInitSegment",!1),Ta(this,"initSegment",null),Ta(this,"isLast",!1),Ta(this,"hasAudio",!1),Ta(this,"hasVideo",!1),Ta(this,"independent",!1),Ta(this,"partIndex",0),this.parentUrl=a}return xa(e,[{key:"end",get:function(){return this.start+this.duration}},{key:"setTrackExist",value:function(e,a){this.hasVideo=e,this.hasAudio=a}},{key:"setByteRange",value:function(e,a){this.byteRange=[0];var c=e.split("@");1===c.length&&a&&a.byteRange?(this.byteRange[0]=a.byteRange[1]||0,this.byteRange[0]&&(this.byteRange[0]+=1)):this.byteRange[0]=parseInt(c[1]),this.byteRange[1]=this.byteRange[0]+parseInt(c[0])-1}}]),e}(),ir=function(){function e(a){Sa(this,e),Ta(this,"method",""),Ta(this,"url",""),Ta(this,"iv",null),Ta(this,"keyFormat",""),Ta(this,"keyFormatVersions",""),a instanceof e&&(this.method=a.method,this.url=a.url,this.keyFormat=a.keyFormat,this.keyFormatVersions=a.keyFormatVersions,a.iv&&(this.iv=new Uint8Array(a.iv)))}return xa(e,[{key:"clone",value:function(a){var c=new e(this);return null!=a&&c.setIVFromSN(a),c}},{key:"setIVFromSN",value:function(e){if(!this.iv&&"AES-128"===this.method&&"number"==typeof e&&this.url){this.iv=new Uint8Array(16);for(var a=12;a<16;a++)this.iv[a]=e>>8*(15-a)&255}}},{key:"isSegmentEncrypted",value:function(){return"AES-128"===this.method}},{key:"isValidKeySystem",value:function(){return er([Zb.CLEAR_KEY,Zb.FAIRPLAY,Zb.WIDEVINE,Zb.PLAYREADY]).indexOf(this.keyFormat)>-1&&!!(["SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)>-1)}},{key:"isSupported",value:function(){return!!this.method&&(!!this.isSegmentEncrypted()||!!this.isValidKeySystem())}}]),e}(),dr=function(){function e(a,c,t){Sa(this,e),this.msn=a,this.part=c,this.skip=t}return xa(e,[{key:"addDirectives",value:function(e){var a=new self.URL(e);return void 0!==this.msn&&a.searchParams.set("_HLS_msn",this.msn.toString()),this.part&&a.searchParams.set("_HLS_part",this.part.toString()),this.skip&&a.searchParams.set("_HLS_skip",this.skip),a.href}}]),e}(),fr=/^#(EXT[^:]*)(?::(.*))?$/,or=/([^=]+)=(?:"([^"]*)"|([^",]*))(?:,|$)/g,sr=/^(?:[a-zA-Z0-9+\-.]+:)?\/\//,ur=/^((?:[a-zA-Z0-9+\-.]+:)?\/\/[^/?#]*)?([^?#]*\/)?/;function lr(e){var a=e.match(fr);if(a&&a[1])return[a[1].replace("EXT-X-",""),a[2]]}function hr(e){for(var a={},c=or.exec(e);c;)a[c[1]]=c[2]||c[3],c=or.exec(e);return a}function pr(e,a){if(!a||!e||sr.test(e))return e;var c=ur.exec(a);return c?"/"===e[0]?c[1]+e:c[1]+c[2]+e:e}var vr={audio:[/^mp4a/,/^vorbis$/,/^opus$/,/^flac$/,/^[ae]c-3$/],video:[/^avc/,/^hev/,/^hvc/,/^vp0?[89]/,/^av1$/],text:[/^vtt$/,/^wvtt/,/^stpp/]};function yr(e,a){var c=vr[e];if(c&&a&&a.length)for(var t=0;t<c.length;t++)for(var b=0;b<a.length;b++)if(c[t].test(a[b]))return a[b]}function mr(e,a){var c;if(a)for(var t in a)if(Object.prototype.hasOwnProperty.call(a,t)&&e[t]!==a[t]){c=t;break}var b=null;e.DURATION&&(b=parseFloat(e.DURATION),Number.isFinite(b)?e._endDate&&(b=(e._endDate.getTime()-e._startDate.getTime())/1e3):b=null);var r,n,i=(r=e.CUE||e["X-CUE"],n={pre:!1,post:!1,once:!1},(r?r.split(/[ ,]+/):[]).reduce((function(e,a){return e[a.toLowerCase()]=!0,e}),n));return!!e.ID&&!c&&Number.isFinite(e._startDate.getTime())&&(null===b||b>=0)&&(!("YES"===e.END_ON_NEXT)||!!e.CLASS)&&(!e.CUE||!i.pre&&!i.post||i.pre!==i.post)&&(!("com.apple.hls.interstitial"===e.CLASS)||"X-ASSET-URI"in e||"X-ASSET-LIST"in e)}var gr=function(){function e(){Sa(this,e)}return xa(e,null,[{key:"parse",value:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",c=arguments.length>1?arguments[1]:void 0,t=arguments.length>2?arguments[2]:void 0;if(!a.includes("#EXTM3U"))throw new Error("Invalid m3u8 file");var b=function(e){return e.split(/[\r\n]/).map((function(e){return e.trim()})).filter(Boolean)}(a);return e.isMediaPlaylist(a)?function(e,a,c){var t=new rr;t.url=a;for(var b,r=new nr(a),n=null,i=null,d=0,f=0,o=0,s=0,u=!1,l=0;b=e[s++];)if("#"===b[0]){var h=lr(b);if(h){var p=Ca(h,2),v=p[0],y=p[1];switch(v){case"VERSION":t.version=parseInt(y);break;case"PLAYLIST-TYPE":t.type=null==y?void 0:y.toUpperCase();break;case"TARGETDURATION":t.targetDuration=parseFloat(y);break;case"PART-INF":c&&(t.lowLatency=!0);var m=hr(y);m["PART-TARGET"]&&(t.partTargetDuration=parseFloat(m["PART-TARGET"]));break;case"SERVER-CONTROL":var g=hr(y);t.canBlockReload="YES"===g["CAN-BLOCK-RELOAD"],t.partHoldBack=parseFloat(g["PART-HOLD-BACK"]||0),t.canSkipUntil=parseFloat(g["CAN-SKIP-UNTIL"]||0),t.canSkipDateRanges=t.canSkipUntil>0&&"YES"===g["CAN-SKIP-DATERANGES"];break;case"ENDLIST":u=!0;break;case"MEDIA-SEQUENCE":f=t.startSN=parseInt(y);break;case"DISCONTINUITY-SEQUENCE":o=t.startCC=parseInt(y);break;case"DISCONTINUITY":o++;break;case"BYTERANGE":r.setByteRange(y,t.segments[t.segments.length-1]);break;case"PART":if(!t.lowLatency)break;var _=hr(y);r.duration=parseFloat(_.DURATION),r.independent="YES"===_.INDEPENDENT,r.sn=f,r.cc=o,r.partIndex=l,r.start=d,r.duration=parseFloat(_.DURATION),d+=r.duration,r.url=pr(_.URI,a),i&&(r.key=i.clone(f)),n&&(r.initSegment=n),t.segments.push(r),r=new nr(a),l++;break;case"PRELOAD-HINT":var k=hr(y);if(t.preloadHint=k,"PART"===k.TYPE&&k.URI){var E=k.URI.split(".ts")[0].split("-");t.nextSN=E[3],t.nextIndex=E[E.length-1]}break;case"PROGRAM-DATE-TIME":r.dataTime=y;break;case"EXTINF":if(t.lowLatency){l=0;break}var S=Ca(y.split(","),2),w=S[0],x=S[1];r.start=d,r.duration=parseFloat(w),d+=r.duration,r.title=x;break;case"KEY":var T=hr(y);if("NONE"===T.METHOD){i=null;break}if((i=new ir).method=T.METHOD,i.url=/^blob:/.test(T.URI)?T.URI:pr(T.URI,a),i.keyFormat=T.KEYFORMAT||"identity",i.keyFormatVersions=T.KEYFORMATVERSIONS,!i.isSupported())throw new Error("encrypt ".concat(T.METHOD,"/").concat(T.KEYFORMAT," is not supported"));if(T.IV){var A=T.IV.slice(2);A=(1&A.length?"0":"")+A,i.iv=new Uint8Array(A.length/2);for(var I=0,D=A.length/2;I<D;I++)i.iv[I]=parseInt(A.slice(2*I,2*I+2),16)}break;case"MAP":var O=hr(y);r.url=pr(O.URI,a),O.BYTERANGE&&r.setByteRange(O.BYTERANGE),r.isInitSegment=!0,r.sn=0,i&&(r.key=i.clone(0)),n=r,r=new nr(a);break;case"SKIP":var R=hr(y),L=parseInt(R["SKIPPED-SEGMENTS"],10);L<=Number.MAX_SAFE_INTEGER&&(t.skippedSegments+=L,f+=L);break;case"DATERANGE":var C=hr(y),P=t.dateRanges[C.ID];C._startDate=P?P._startDate:new Date(C["START-DATE"]);var j=(null==P?void 0:P._endDate)||new Date(C.END_DATE);Number.isFinite(j)&&(C._endDate=j),(mr(C,P)||t.skippedSegments)&&(t.dateRanges[C.ID]=C)}}}else{if(t.lowLatency){f++;continue}r.sn=f,r.cc=o,r.url=pr(b,a),i&&(r.key=i.clone(f)),n&&(r.initSegment=n),t.segments.push(r),r=new nr(a),f++}t.segments=t.segments.filter((function(e){return 0!==e.duration}));var M=t.segments[t.segments.length-1];return M&&(u&&(M.isLast=!0),t.endSN=M.sn,t.endPartIndex=M.partIndex),u&&(t.live=!1),t.totalDuration=d,t.endCC=o,t}(b,c,t):function(e,a){for(var c,t=new Xb,b=0,r=[],n=[];c=e[b++];){var i=lr(c);if(i){var d=Ca(i,2),f=d[0],o=d[1];if("VERSION"===f)t.version=parseInt(o);else if("MEDIA"===f&&o){var s=hr(o),u=void 0;switch(s.TYPE){case"AUDIO":u=new cr;break;case"SUBTITLES":u=new tr;break;default:u=new ar}u.url=pr(s.URI,a),u.default="YES"===s.DEFAULT,u.autoSelect="YES"===s.AUTOSELECT,u.group=s["GROUP-ID"],u.name=s.NAME,u.lang=s.LANGUAGE,s.CHANNELS&&(u.channels=Number(s.CHANNELS.split("/")[0]),Number.isNaN(u.channels)&&(u.channels=0)),"AUDIO"===s.TYPE&&s.URI&&r.push(u),"SUBTITLES"===s.TYPE&&n.push(u)}else if("STREAM-INF"===f&&o){var l=new br,h=hr(o);if(l.bitrate=parseInt(h["AVERAGE-BANDWIDTH"]||h.BANDWIDTH),l.name=h.NAME,l.url=pr(e[b++],a),h.RESOLUTION){var p=Ca(h.RESOLUTION.split("x"),2),v=p[0],y=p[1];l.width=parseInt(v),l.height=parseInt(y)}if(h.CODECS){var m=h.CODECS.split(/[ ,]+/).filter(Boolean);l.videoCodec=yr("video",m),l.audioCodec=yr("audio",m),l.textCodec=yr("text",m)}l.audioGroup=h.AUDIO,l.subtitleGroup=h.SUBTITLES,t.streams.push(l)}}}return t.streams.forEach((function(e,a){e.id=a})),r.length&&(r.forEach((function(e,a){e.id=a})),t.streams.forEach((function(e){e.audioGroup&&(e.audioStreams=r.filter((function(a){return a.group===e.audioGroup})))}))),n.length&&(n.forEach((function(e,a){e.id=a})),t.streams.forEach((function(e){e.subtitleGroup&&(e.subtitleStreams=n.filter((function(a){return a.group===e.subtitleGroup})))}))),t}(b,c)}},{key:"isMediaPlaylist",value:function(e){return e.includes("#EXTINF:")||e.includes("#EXT-X-TARGETDURATION:")}}]),e}(),_r=function(){function e(a){var c=this;Sa(this,e),Ta(this,"_emitOnLoaded",(function(e,a){var t=e.response,b=e.options||{},r=b.firstByteTime,n=b.startTime,i=b.endTime,d=b.contentLength,f=i-n;c.hls.emit(Zc.SPEED,{time:f,byteLength:d,url:a}),c.hls.emit(Zc.LOAD_COMPLETE,{url:a,elapsed:f||0}),c.hls.emit(Zc.TTFB,{url:a,responseUrl:t.url,elapsed:r-n}),c.hls.emit(Zc.LOAD_RESPONSE_HEADERS,{headers:t.headers,url:a})})),Ta(this,"_onLoaderRetry",(function(e,a){c.hls.emit(qb.LOAD_RETRY,{error:wc.network(e),retryTime:a})})),this.hls=a,this._timer=null,this._useLowLatency=a.config.useLowLatency;var t=this.hls.config,b=t.retryCount,r=t.retryDelay,n=t.manifestLoadTimeout,i=t.fetchOptions;this._loader=new ft(ma(ma({},i),{},{responseType:"text",retry:b,retryDelay:r,timeout:n,onRetryError:this._onLoaderRetry})),this._audioLoader=new ft(ma(ma({},i),{},{responseType:"text",retry:b,retryDelay:r,timeout:n,onRetryError:this._onLoaderRetry})),this._subtitleLoader=new ft(ma(ma({},i),{},{responseType:"text",retry:b,retryDelay:r,timeout:n,onRetryError:this._onLoaderRetry}))}var a;return xa(e,[{key:"load",value:(a=Ea(ga().mark((function e(a,c,t){var b,r,n,i,d,f,o,s,u,l,h,p,v,y,m,g,_,k,E,S;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b=[this._loader.load(a)],c&&b.push(this._audioLoader.load(c)),t&&b.push(this._subtitleLoader.load(t)),e.prev=3,e.next=6,Promise.all(b);case 6:if(s=e.sent,u=Ca(s,3),l=u[0],h=u[1],p=u[2],l){e.next=13;break}return e.abrupt("return",[]);case 13:this._emitOnLoaded(l,a),r=l.data,d=l.response.url||a,c?(n=null==h?void 0:h.data,i=null==p?void 0:p.data,f=(null==h||null===(v=h.response)||void 0===v?void 0:v.url)||c,o=(null==p||null===(y=p.response)||void 0===y?void 0:y.url)||t,n&&this._emitOnLoaded(h,c),i&&this._emitOnLoaded(p,t)):(i=null==h?void 0:h.data,o=(null==h||null===(m=h.response)||void 0===m?void 0:m.url)||t,i&&this._emitOnLoaded(h,t)),e.next=22;break;case 19:throw e.prev=19,e.t0=e.catch(3),wc.network(e.t0);case 22:if(g=this.hls.config.onPreM3U8Parse,e.prev=23,g&&(r=g(r)||r,n&&(n=g(n,!0)||n),i&&(i=g(i,!0)||i)),_=gr.parse(r,d,this._useLowLatency),!1!==(null===(S=_)||void 0===S?void 0:S.live)||!_.segments||_.segments.length){e.next=28;break}throw new Error("empty segments list");case 28:n&&(k=gr.parse(n,f,this._useLowLatency)),i&&(E=gr.parse(i,o,this._useLowLatency)),e.next=35;break;case 32:throw e.prev=32,e.t1=e.catch(23),new wc(oc,Ec.HLS,e.t1);case 35:return _&&(_.isMaster?this.hls.emit(qb.HLS_MANIFEST_LOADED,{playlist:_}):(this._useLowLatency&&(_.canBlockReload?this.deliveryDirectives=new dr(_.nextSN,_.nextIndex,""):this.deliveryDirectives=null),this.hls.emit(qb.HLS_LEVEL_LOADED,{playlist:_}))),e.abrupt("return",[_,k,E]);case 37:case"end":return e.stop()}}),e,this,[[3,19],[23,32]])}))),function(e,c,t){return a.apply(this,arguments)})},{key:"parseText",value:function(e,a){var c,t=this.hls.config.onPreM3U8Parse;try{var b;if(t&&(e=t(e)||e),!1===(null===(b=c=gr.parse(e,a,this._useLowLatency))||void 0===b?void 0:b.live)&&c.segments&&!c.segments.length)throw new Error("empty segments list")}catch(r){throw new wc(oc,Ec.HLS,r)}return c&&(c.isMaster?this.hls.emit(qb.HLS_MANIFEST_LOADED,{playlist:c}):this.hls.emit(qb.HLS_LEVEL_LOADED,{playlist:c})),[c]}},{key:"poll",value:function(e,a,c,t,b,r){var n=this;clearTimeout(this._timer),r=r||3e3;var i=this.hls.config.pollRetryCount,d=function(){var f=Ea(ga().mark((function f(){var o,s;return ga().wrap((function(f){for(;;)switch(f.prev=f.next){case 0:return clearTimeout(n._timer),o=e,f.prev=2,n.deliveryDirectives&&(o=n.deliveryDirectives.addDirectives(e)),f.next=6,n.load(o,a,c);case 6:if((s=f.sent)[0]){f.next=9;break}return f.abrupt("return");case 9:i=n.hls.config.pollRetryCount,t(s[0],s[1],s[2]),f.next=17;break;case 13:f.prev=13,f.t0=f.catch(2),--i<=0&&b(f.t0);case 17:n._timer=setTimeout(d,r);case 18:case"end":return f.stop()}}),f,null,[[2,13]])})));return function(){return f.apply(this,arguments)}}();this._timer=setTimeout(d,r)}},{key:"stopPoll",value:function(){return clearTimeout(this._timer),this.cancel()}},{key:"cancel",value:function(){return Promise.all([this._loader.cancel(),this._audioLoader.cancel()])}}]),e}();function kr(e,a,c){return a>c&&(c=a),Math.min(Math.max(e,a),c)}var Er=new Ac("playlist"),Sr=function(){function e(a,c,t){Sa(this,e),Ta(this,"live",void 0),Ta(this,"id",0),Ta(this,"bitrate",0),Ta(this,"width",0),Ta(this,"height",0),Ta(this,"name",""),Ta(this,"url",""),Ta(this,"audioCodec",""),Ta(this,"videoCodec",""),Ta(this,"textCodec",""),Ta(this,"startCC",0),Ta(this,"endCC",0),Ta(this,"startSN",0),Ta(this,"endSN",-1),Ta(this,"totalDuration",0),Ta(this,"targetDuration",0),Ta(this,"partTargetDuration",0),Ta(this,"canSkipUntil",0),Ta(this,"canSkipDateRanges",!1),Ta(this,"skippedSegments",0),Ta(this,"canBlockReload",!1),Ta(this,"partHoldBack",0),Ta(this,"lowLatency",!1),Ta(this,"endPartIndex",0),Ta(this,"snDiff",null),Ta(this,"segments",[]),Ta(this,"audioStreams",[]),Ta(this,"subtitleStreams",[]),Ta(this,"closedCaptions",[]),Ta(this,"currentAudioStream",null),Ta(this,"currentSubtitleStream",null),this.update(this._setLLPlaybackPoint(a),c,t)}return xa(e,[{key:"lastSegment",get:function(){return this.segments.length?this.segments[this.segments.length-1]:null}},{key:"segmentDuration",get:function(){var e;return this.targetDuration||(null===(e=this.segments[0])||void 0===e?void 0:e.duration)||0}},{key:"liveEdge",get:function(){return this.endTime},set:function(e){this.endTime=e}},{key:"endTime",get:function(){var e;return(null===(e=this.lastSegment)||void 0===e?void 0:e.end)||0},set:function(e){var a=this.lastSegment;a&&(a.duration=e-a.start)}},{key:"currentSubtitleEndSn",get:function(){var e;return(null===(e=this.currentSubtitleStream)||void 0===e?void 0:e.endSN)||0}},{key:"clearOldSegment",value:function(e,a){return this.currentAudioStream&&this._clearSegments(e,a),this._clearSegments(e,a)}},{key:"getAudioSegment",value:function(e){if(e&&this.currentAudioStream){var a=e.sn-this.snDiff;return this.currentAudioStream.segments.find((function(e){return e.sn===a}))}}},{key:"update",value:function(e,a){this.url=e.url,Array.isArray(e.segments)?(null!==this.live&&void 0!==this.live||(this.live=e.live),this._updateSegments(e,this),this.startCC=e.startCC,this.endCC=e.endCC,this.startSN=e.startSN,this.endSN=e.endSN||-1,this.totalDuration=e.totalDuration,this.targetDuration=e.targetDuration,this.live=e.live,this.lowLatency=e.lowLatency,this.canBlockReload=e.canBlockReload,this.canSkipDateRanges=e.canSkipDateRanges,this.canSkipUntil=e.canSkipUntil,this.partHoldBack=e.partHoldBack,this.partTargetDuration=e.partTargetDuration,this.skippedSegments=e.skippedSegments,this.endPartIndex=e.endPartIndex,a&&this.currentAudioStream&&Array.isArray(a.segments)&&(this._updateSegments(a,this.currentAudioStream),(null===this.snDiff||void 0===this.snDiff)&&e.segments.length&&a.segments.length&&(this.snDiff=e.segments[0].sn-a.segments[0].sn))):(this.id=e.id,this.bitrate=e.bitrate,this.width=e.width,this.height=e.height,this.name=e.name,this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.textCodec=e.textCodec,this.audioStreams=e.audioStreams,this.subtitleStreams=e.subtitleStreams,!this.currentAudioStream&&this.audioStreams.length&&(this.currentAudioStream=this.audioStreams.find((function(e){return e.default}))||this.audioStreams[0]),!this.currentSubtitleStream&&this.subtitleStreams.length&&(this.currentSubtitleStream=this.subtitleStreams.find((function(e){return e.default}))||this.subtitleStreams[0]))}},{key:"updateSubtitle",value:function(e){var a=this;if(e&&this.currentSubtitleStream&&Array.isArray(e.segments)){var c=this._updateSegments(e,this.currentSubtitleStream),t=this.currentSubtitleStream.segments;if(t.length>100&&(this.currentSubtitleStream.segments=t.slice(100)),c)return c.map((function(e){return{sn:e.sn,url:e.url,duration:e.duration,start:e.start,end:e.end,lang:a.currentSubtitleStream.lang}}))}}},{key:"switchSubtitle",value:function(e){var a=this.subtitleStreams.find((function(a){return a.lang===e})),c=this.currentSubtitleStream;a&&(this.currentSubtitleStream=a,c.segments=[])}},{key:"_setLLPlaybackPoint",value:function(e){if(!e.lowLatency||!e.segments.length)return e;for(var a=e.totalDuration-e.partHoldBack,c=e.segments,t=0,b=0,r=c.length;b<r;b++)c[b].start<=a&&c[b].independent&&(t=b);var n=c.slice(t),i=0;return n.forEach((function(e){e.start=i,i=e.end})),e.segments=n,e.totalDuration=i,e.startSN=n[0].sn,e.startCC=n[0].cc,Er.log("set ll-hls playback point: SN=".concat(e.startSN," partIndex=").concat(n[0].partIndex,", duration=").concat(i)),e}},{key:"_clearSegments",value:function(e,a){for(var c=0,t=this.segments,b=0,r=t.length;b<r;b++)if(t[b].end>=e){c=b;break}return c>a&&(c=a),c&&(this.segments=this.segments.slice(c),this.currentAudioStream&&(this.currentAudioStream.segments=this.currentAudioStream.segments.slice(c))),a-c}},{key:"_updateSegments",value:function(e,a){var c=a.segments;if(this.live){var t,b=e.lowLatency,r=c[c.length-1],n=null!==(t=null==r?void 0:r.sn)&&void 0!==t?t:-1,i=(null==r?void 0:r.partIndex)||0,d=n<e.endSN&&e.segments.length;if(b&&(d=d||i<e.endPartIndex),d){Er.log("update segments: endSN:".concat(n,", partIndex:").concat(i," --\x3e endSN:").concat(e.endSN,", partIndex:").concat(e.endPartIndex));var f=e.segments.findIndex((function(e){return e.sn===n&&e.partIndex===i})),o=f<0?e.segments:e.segments.slice(f+1);if(c.length&&o.length){var s=r.end,u=s;o.forEach((function(e){e.start=s,s=e.end})),Er.log("liveEdge: ".concat(u," -> ").concat(s));var l=(null==r?void 0:r.cc)||-1;l>o[0].cc&&o.forEach((function(e){return e.cc+=l}))}return a.endSN=e.endSN,a.segments=c.concat(o),o}}else a.segments=e.segments}}]),e}(),wr=function(){function e(a){Sa(this,e),Ta(this,"streams",[]),Ta(this,"currentStream",null),Ta(this,"dvrWindow",0),Ta(this,"_segmentPointer",-1),this.hls=a}return xa(e,[{key:"lowLatency",get:function(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.lowLatency}},{key:"lastSegment",get:function(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.lastSegment}},{key:"currentSegment",get:function(){var e;return null===(e=this.currentSegments)||void 0===e?void 0:e[this._segmentPointer]}},{key:"nextSegment",get:function(){var e;return null===(e=this.currentSegments)||void 0===e?void 0:e[this._segmentPointer+1]}},{key:"currentSegments",get:function(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.segments}},{key:"currentSubtitleEndSn",get:function(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.currentSubtitleEndSn}},{key:"liveEdge",get:function(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.liveEdge},set:function(e){this.currentStream&&(this.currentStream.liveEdge=e)}},{key:"totalDuration",get:function(){var e;return(null===(e=this.currentStream)||void 0===e?void 0:e.totalDuration)||0}},{key:"seekRange",get:function(){var e=this.currentSegments;if(e&&e.length)return[e[0].start,e[e.length-1].end]}},{key:"nbSegments",get:function(){var e;return(null===(e=this.currentSegments)||void 0===e?void 0:e.length)||0}},{key:"isEmpty",get:function(){var e;return!(null!==(e=this.currentSegments)&&void 0!==e&&e.length)}},{key:"isLive",get:function(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.live}},{key:"hadSegmentLoaded",get:function(){return-1!==this._segmentPointer}},{key:"hasSubtitle",get:function(){var e;return!(null===(e=this.currentStream)||void 0===e||!e.currentSubtitleStream)}},{key:"getAudioSegment",value:function(e){var a;return null===(a=this.currentStream)||void 0===a?void 0:a.getAudioSegment(e)}},{key:"moveSegmentPointer",value:function(e){var a;null==e&&(e=this._segmentPointer+1),this._segmentPointer=kr(e,-1,null===(a=this.currentSegments)||void 0===a?void 0:a.length)}},{key:"reset",value:function(){this.streams=[],this.currentStream=null,this.dvrWindow=0,this._segmentPointer=-1}},{key:"getSegmentByIndex",value:function(e){var a;return null===(a=this.currentSegments)||void 0===a?void 0:a[e]}},{key:"setNextSegmentByIndex",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._segmentPointer=e-1}},{key:"setNextSegmentBySN",value:function(){var e,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,c=null===(e=this.currentSegments)||void 0===e?void 0:e.findIndex((function(e){return e.sn===a}));return-1!==c&&this.setNextSegmentByIndex(c+1),c}},{key:"findSegmentIndexByTime",value:function(e){var a=this.currentSegments;if(a){for(var c,t=0,b=a.length;t<b;t++)if(e>=(c=a[t]).start&&e<c.end)return t;var r=a[a.length-1];if(Math.abs(e-(null==r?void 0:r.end))<.2)return a.length-1}}},{key:"upsertPlaylist",value:function(e,a,c){var t=this;if(e){if(e.isMaster)this.streams.length=e.streams.length,e.streams.filter((function(e){return e.url})).forEach((function(e,a){t.streams[a]?t.streams[a].update(e):t.streams[a]=new Sr(e)})),this.currentStream=this.streams[0];else if(Array.isArray(e.segments)){var b=this.currentStream;if(b){b.update(e,a,c);var r=b.updateSubtitle(c);r&&this.hls.emit(qb.SUBTITLE_SEGMENTS,{list:r})}else this.reset(),this.currentStream=this.streams[0]=new Sr(e,a,c)}this.currentStream&&this.hls.isLive&&!this.dvrWindow&&(this.dvrWindow=this.currentSegments.reduce((function(e,a){return e+=a.duration}),0))}}},{key:"updateSegmentsRanges",value:function(e,a){var c;(null===(c=this.currentSegments)||void 0===c?void 0:c.filter((function(a){return a.sn>=e}))).forEach((function(e){e.start=a,a=e.end}))}},{key:"switchSubtitle",value:function(e){var a;null===(a=this.currentStream)||void 0===a||a.switchSubtitle(e)}},{key:"clearOldSegment",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.hls.config.maxPlaylistSize||50,a=this.currentStream;if(this.dvrWindow&&a){var c=a.endTime-this.dvrWindow;if(!(c<=0))a.segments.length<=e||(this._segmentPointer=a.clearOldSegment(c,this._segmentPointer))}}},{key:"checkSegmentTrackChange",value:function(e,a){var c=this.findSegmentIndexByTime(e),t=this.getSegmentByIndex(c);if(t&&(t.hasAudio||t.hasVideo)){if(2!==a&&t.hasAudio&&t.hasVideo)return t;if(!(t.end-e>.3)){var b=this.getSegmentByIndex(c+1);if(b&&(b.hasAudio||b.hasVideo))return b.hasAudio!==t.hasAudio||b.hasVideo!==t.hasVideo?b:void 0}}}},{key:"feedbackLiveEdge",value:function(e,a){var c;this.currentSegments&&((null===(c=this.lastSegment)||void 0===c?void 0:c.sn)===e.sn?this.liveEdge=a:this.updateSegmentsRanges(e.sn+1,a))}}]),e}(),xr=function(){function e(a){var c=this;Sa(this,e),Ta(this,"error",null),Ta(this,"_emitOnLoaded",(function(e,a){var t=e.data,b=e.response,r=e.options||{},n=r.firstByteTime,i=r.startTime,d=r.endTime,f=r.contentLength,o=d-i;c._bandwidthService.addRecord(f||t.byteLength,o),c.hls.emit(Zc.SPEED,{time:o,byteLength:f,url:a}),c.hls.emit(Zc.LOAD_COMPLETE,{url:a,elapsed:o||0}),c.hls.emit(Zc.TTFB,{url:a,responseUrl:b.url,elapsed:n-i}),c.hls.emit(Zc.LOAD_RESPONSE_HEADERS,{headers:b.headers,url:a})})),Ta(this,"_onLoaderRetry",(function(e,a){c.hls.emit(Zc.LOAD_RETRY,{error:wc.network(e),retryTime:a})})),this.hls=a,this._bandwidthService=new ut,this._mapCache={},this._keyCache={};var t=this.hls.config,b=t.retryCount,r=t.retryDelay,n=t.loadTimeout,i=t.fetchOptions;this._segmentLoader=new ft(ma(ma({},i),{},{responseType:"arraybuffer",retry:b,retryDelay:r,timeout:n,onRetryError:this._onLoaderRetry})),this._audioSegmentLoader=new ft(ma(ma({},i),{},{responseType:"arraybuffer",retry:b,retryDelay:r,timeout:n,onRetryError:this._onLoaderRetry})),this._keyLoader=new ft(ma(ma({},i),{},{responseType:"arraybuffer",retry:b,retryDelay:r,timeout:n,onRetryError:this._onLoaderRetry}))}var a,c;return xa(e,[{key:"speedInfo",value:function(){return{speed:this._bandwidthService.getLatestSpeed(),avgSpeed:this._bandwidthService.getAvgSpeed()}}},{key:"load",value:function(e,a,c){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:c,b=[];return e&&(b[0]=this.loadVideoSegment(e,c)),a&&(b[1]=this.loadAudioSegment(a,t)),Promise.all(b)}},{key:"loadVideoSegment",value:function(e,a){return this._loadSegment(this._segmentLoader,e,a)}},{key:"loadAudioSegment",value:function(e,a){return this._loadSegment(this._audioSegmentLoader,e,a)}},{key:"_loadSegment",value:(c=Ea(ga().mark((function e(a,c,t){var b,r,n,i,d,f,o,s,u,l,h,p,v,y,m,g=this;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=[],this.hls.emit(Zc.LOAD_START,{url:c.url}),o[0]=a.load(c.url),t&&c.initSegment&&(u=c.initSegment.url,(r=this._mapCache[u])||(this.hls.emit(Zc.LOAD_START,{url:u}),o[1]=a.load(u).then((function(e){e&&(Object.keys(g._mapCache)>30&&(g._mapCache={}),r=g._mapCache[u]=e.data,g._emitOnLoaded(e,u))}))),(l=null===(s=c.initSegment.key)||void 0===s?void 0:s.url)&&(f=c.initSegment.key.iv,(d=this._keyCache[l])||(this.hls.emit(Zc.LOAD_START,{url:l}),o[2]=this._keyLoader.load(l).then((function(e){e&&(d=g._keyCache[l]=e.data,g._emitOnLoaded(e,l))}))))),(h=null===(b=c.key)||void 0===b?void 0:b.url)&&c.key.isSegmentEncrypted()&&(i=c.key.iv,(n=this._keyCache[h])||(this.hls.emit(Zc.LOAD_START,{url:h}),o[3]=this._keyLoader.load(h).then((function(e){e&&(n=g._keyCache[h]=e.data,g._emitOnLoaded(e,h))})))),e.next=8,Promise.all(o);case 8:if(p=e.sent,v=Ca(p,1),y=v[0]){e.next=13;break}return e.abrupt("return");case 13:return m=y.data,this._emitOnLoaded(y,c.url),e.abrupt("return",{data:m,map:r,key:n,mapKey:d,keyIv:i,mapKeyIv:f});case 16:case"end":return e.stop()}}),e,this)}))),function(e,a,t){return c.apply(this,arguments)})},{key:"reset",value:function(){this.error=null,this._mapCache={},this._keyCache={},this._bandwidthService.reset()}},{key:"cancel",value:(a=Ea(ga().mark((function e(){return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([this._keyLoader.cancel(),this._segmentLoader.cancel(),this._audioSegmentLoader.cancel()]);case 2:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})}]),e}(),Tr=new Ac("hls"),Ar=function(e){Aa(y,e);var a,c,t,b,r,n,i,d,f,o,s,u,l,h,p,v=La(y);function y(e){var a,c,t;return Sa(this,y),Ta(Ra(a=v.call(this)),"version",y.version),Ta(Ra(a),"media",null),Ta(Ra(a),"config",null),Ta(Ra(a),"_manifestLoader",null),Ta(Ra(a),"_segmentLoader",null),Ta(Ra(a),"_playlist",null),Ta(Ra(a),"_bufferService",null),Ta(Ra(a),"_gapService",null),Ta(Ra(a),"_seiService",null),Ta(Ra(a),"_stats",null),Ta(Ra(a),"_prevSegSn",null),Ta(Ra(a),"_prevSegCc",null),Ta(Ra(a),"_tickTimer",null),Ta(Ra(a),"_tickInterval",500),Ta(Ra(a),"_segmentProcessing",!1),Ta(Ra(a),"_reloadOnPlay",!1),Ta(Ra(a),"_switchUrlOpts",null),Ta(Ra(a),"_isProcessQuotaExceeded",!1),Ta(Ra(a),"_loadSegment",Ea(ga().mark((function e(){var c,t,b,r,n,i,d,f;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!a._segmentProcessing&&a.media){e.next=2;break}return e.abrupt("return");case 2:if(c=a._playlist,t=c.nextSegment,b=c.lastSegment,r=Ra(a),n=r.config,i=Math.min(Math.max((null==b?void 0:b.duration)-.008||0,.016),.1),t){e.next=8;break}return e.abrupt("return");case 8:if(a.isLive){e.next=18;break}if(d=a.bufferInfo(),a.media.paused&&!a.media.currentTime&&(d=a.bufferInfo(d.nextStart||.5)),f=Math.abs(d.end-a.media.duration)<i,!(d.remaining>=n.preloadTime||f)){e.next=15;break}return a._tryEos(),e.abrupt("return");case 15:if(!n.preferMMSStreaming||a._bufferService.msStreaming){e.next=17;break}return e.abrupt("return");case 17:!a._urlSwitching&&a._prevSegSn!==t.sn-1&&d.end&&Math.abs(t.start-d.end)>1&&a._playlist.setNextSegmentByIndex(a._playlist.findSegmentIndexByTime(d.end+.1));case 18:return e.abrupt("return",a._loadSegmentDirect());case 19:case"end":return e.stop()}}),e)})))),Ta(Ra(a),"_onLoadeddata",(function(){a.isLive&&!a.config.mseLowLatency&&a.media.duration!==1/0&&a._bufferService.updateDuration(1/0).catch((function(e){}))})),Ta(Ra(a),"_onPlay",Ea(ga().mark((function e(){return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!a.media.seeking||0!==a.media.currentTime){e.next=3;break}return Tr.debug("replay currentTime 0, return"),e.abrupt("return");case 3:if(clearTimeout(a._disconnectTimer),!a._reloadOnPlay){e.next=9;break}a._reloadOnPlay=!1,a.replay(!0),e.next=12;break;case 9:return e.next=11,a._loadSegment();case 11:a._startTick();case 12:case"end":return e.stop()}}),e)})))),Ta(Ra(a),"_onPause",(function(){if(a.isLive){if(!a._reloadOnPlay){var e=a.config.disconnectTime;if(null==e&&(e=a._playlist.dvrWindow),!Number.isFinite(e))return;clearTimeout(a._disconnectTimer),a._disconnectTimer=setTimeout((function(){a._reloadOnPlay=!0,a._clear()}),e||0)}}else a._stopTick()})),Ta(Ra(a),"_onSeeking",Ea(ga().mark((function e(){var c,t,b,r,n,i,d;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a.media){e.next=2;break}return e.abrupt("return");case 2:if(a._onCheckQuotaExceeded(),c=a.media.currentTime,!(t=a._playlist.seekRange)){e.next=10;break}if(!((b=kr(c,t[0],a.isLive?t[1]:a.media.duration))>=0&&Math.abs(c-b)>=.1)){e.next=10;break}return a.media.currentTime=b,e.abrupt("return");case 10:if(r=a._playlist.currentSegment,n=dc.info(dc.get(a.media),c,.1),!r){e.next=17;break}if(!(n.end&&Math.abs(n.end-r.end)<.2)){e.next=15;break}return e.abrupt("return");case 15:if(!a.isLive||!n.end){e.next=17;break}return e.abrupt("return");case 17:if(i=a._playlist.findSegmentIndexByTime(c),d=a._playlist.getSegmentByIndex(i),null!=i&&d&&(!a._segmentProcessing||d!==a._playlist.nextSegment)){e.next=21;break}return e.abrupt("return");case 21:return Tr.debug("seek to",c,d),a._playlist.setNextSegmentByIndex(i),a._stopTick(),e.next=26,a._segmentLoader.cancel();case 26:if(a._segmentProcessing=!1,n.end&&!a.isLive){e.next=30;break}return e.next=30,a._loadSegmentDirect(!0);case 30:a._startTick();case 31:case"end":return e.stop()}}),e)})))),Ta(Ra(a),"_onTimeupdate",(function(){if(a.media){var e,c=a.config;if(c.isLive&&c.maxLatency&&c.targetLatency){var t=a._playlist.liveEdge;if(!t)return;var b=t-a.media.currentTime;b>=c.maxLatency&&(Tr.debug("latency jump, currentTime:".concat(a.media.currentTime,", liveEdge:").concat(t,", latency=").concat(b)),a.media.currentTime=t-c.targetLatency)}if(c.seiInTime)null===(e=a._seiService)||void 0===e||e.throw(a.media.currentTime);c.allowedStreamTrackChange&&!c.softDecode&&a.media.readyState&&a._checkStreamTrackChange(a.media.currentTime)}})),Ta(Ra(a),"_tick",(function(){if(a.media){a._startTick();var e=a.media,c=a._segmentLoader.error;if(a._onCheckQuotaExceeded(),a._isProcessQuotaExceeded&&(a._bufferService.isFull()||(a._isProcessQuotaExceeded=!1,a._segmentProcessing=!1)),c){(!e.readyState||a.bufferInfo(.5).remaining<1)&&(c.fatal=!0,a._emitError(wc.network(c)))}else e.readyState&&(!function(e){return e&&!e.paused&&!e.ended&&0!==e.playbackRate&&0!==e.readyState}(e)?e.readyState<2&&a._gapService&&a._gapService.do(e,a.config.maxJumpDistance,!e.currentTime||a.isLive):(a._loadSegment(),a._gapService&&a._gapService.do(e,a.config.maxJumpDistance,a.isLive))),a.isLive||a._tryEos()}})),a.config=(t=(null==(c=e)?void 0:c.media)||document.createElement("video"),e=ma(ma({maxPlaylistSize:50,retryCount:3,retryDelay:1e3,pollRetryCount:2,loadTimeout:1e4,manifestLoadTimeout:1e4,preloadTime:30,softDecode:!1,bufferBehind:10,maxJumpDistance:3,startTime:0,useLowLatency:!0,targetLatency:10,maxLatency:20,allowedStreamTrackChange:!0,seiInTime:!1,manifestList:[],minSegmentsStartPlay:3,preferMMS:!1,preferMMSStreaming:!1,mseLowLatency:!0,fixerConfig:{forceFixLargeGap:!1,largeGapThreshold:5}},c),{},{media:t})),a.media=a.config.media,a._manifestLoader=new _r(Ra(a)),a._segmentLoader=new xr(Ra(a)),a._playlist=new wr(Ra(a)),a._bufferService=new Yb(Ra(a)),e.seiInTime&&(a._seiService=new st(Ra(a))),e.softDecode||(a._gapService=new ot),a._stats=new ht(Ra(a),9e4),a.media.addEventListener("loadeddata",a._onLoadeddata),a.media.addEventListener("play",a._onPlay),a.media.addEventListener("pause",a._onPause),a.media.addEventListener("seeking",a._onSeeking),a.media.addEventListener("timeupdate",a._onTimeupdate),a}return xa(y,[{key:"isLive",get:function(){return this._playlist.isLive}},{key:"streams",get:function(){return this._playlist.streams}},{key:"currentStream",get:function(){return this._playlist.currentStream}},{key:"hasSubtitle",get:function(){return this._playlist.hasSubtitle}},{key:"totalDuration",get:function(){return this._playlist.totalDuration}},{key:"baseDts",get:function(){var e;return null===(e=this._bufferService)||void 0===e?void 0:e.baseDts}},{key:"abrSwitchPoint",get:function(){var e=this._urlSwitching?this._playlist.currentSegment:this._playlist.nextSegment;return e?e.start+e.duration/2:null}},{key:"speedInfo",value:function(){return this._segmentLoader.speedInfo()}},{key:"bufferInfo",value:function(){var e,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.1;return dc.info(dc.get(this.media),null===(e=this.media)||void 0===e?void 0:e.currentTime,a)}},{key:"getStats",value:function(){return this._stats.getStats()}},{key:"playbackQuality",value:function(){return function(e){if(!e)return{};if("function"==typeof e.getVideoPlaybackQuality){var a=e.getVideoPlaybackQuality();return{droppedVideoFrames:a.droppedVideoFrames||a.corruptedVideoFrames,totalVideoFrames:a.totalVideoFrames,creationTime:a.creationTime}}return{droppedVideoFrames:e.webkitDroppedFrameCount,totalVideoFrames:e.webkitDecodedFrameCount,creationTime:performance.now()}}(this.media)}},{key:"load",value:(p=Ea(ga().mark((function e(){var a,c,t,b=arguments;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=b.length>0&&void 0!==b[0]?b[0]:"",t="boolean"==typeof(c=b.length>1&&void 0!==b[1]?b[1]:{})?c:!(null==c||!c.reuseMse),"object"===_a(c)&&null!=c&&c.clearSwitchStatus&&(this._urlSwitching=!1,this._switchUrlOpts=null,this.config.startTime=void 0),a&&(this.config.url=a),a=this.config.url,e.next=8,this._reset(t);case 8:return e.next=10,this._loadData(a);case 10:this._startTick();case 11:case"end":return e.stop()}}),e,this)}))),function(){return p.apply(this,arguments)})},{key:"_loadData",value:(h=Ea(ga().mark((function e(a){var c,t,b,r,n,i,d,f,o,s,u,l,h;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{a&&(a=a.trim())}catch(p){}if(a){e.next=3;break}throw this._emitError(new wc(_c,Ec.OPTION,null,null,"m3u8 url is missing"));case 3:return e.next=5,this._loadM3U8(a);case 5:if(c=e.sent,t=this._playlist.currentStream,!this._urlSwitching){e.next=23;break}if(!this.isLive){e.next=14;break}b=this._playlist.setNextSegmentBySN(this._prevSegSn),Tr.log("segment nb=".concat(this._prevSegSn," index of ").concat(b," in the new playlist")),-1===b&&(this._prevSegCc=null,this._prevSegSn=null),e.next=23;break;case 14:if(0===t.bitrate&&null!==(r=this._switchUrlOpts)&&void 0!==r&&r.bitrate&&(t.bitrate=null===(d=this._switchUrlOpts)||void 0===d?void 0:d.bitrate),f="number"==typeof(null===(n=this._switchUrlOpts)||void 0===n?void 0:n.startTime)?null===(i=this._switchUrlOpts)||void 0===i?void 0:i.startTime:this._getSeamlessSwitchPoint(),this.config.startTime=f,o=this._playlist.findSegmentIndexByTime(f),!(s=this._playlist.getSegmentByIndex(o+1))){e.next=23;break}return u=s.start,e.next=23,this._bufferService.removeBuffer(u);case 23:if(c){e.next=25;break}return e.abrupt("return");case 25:if(!this.isLive){e.next=36;break}if(this._bufferService.setLiveSeekableRange(0,4294967295),Tr.log("totalDuration first time got:",this._playlist.totalDuration),Tr.log("nb segments got:",this._playlist.nbSegments),this.config.targetLatency<this._playlist.totalDuration&&(this.config.targetLatency=this._playlist.totalDuration,this.config.maxLatency=1.5*this.config.targetLatency),c.isMaster||this._pollM3U8(a),!(this._playlist.nbSegments<this.config.minSegmentsStartPlay)){e.next=33;break}return e.abrupt("return");case 33:return e.next=35,this._loadSegment();case 35:return e.abrupt("return");case 36:return e.next=38,this._bufferService.updateDuration(t.totalDuration);case 38:return(l=this.config.startTime)&&(null!==(h=this._switchUrlOpts)&&void 0!==h&&h.seamless||(this.media.currentTime=l),this._playlist.setNextSegmentByIndex(this._playlist.findSegmentIndexByTime(l)||0)),e.next=42,this._loadSegment();case 42:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"replay",value:(l=Ea(ga().mark((function e(a){return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.config.startTime=0,this._urlSwitching=!1,this._switchUrlOpts=null,e.next=5,this.load();case 5:return this._reloadOnPlay=!1,e.abrupt("return",this.media.play(!a));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"switchURL",value:(u=Ea(ga().mark((function e(a){var c,t,b,r,n,i,d,f=arguments;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:c=f.length>1&&void 0!==f[1]?f[1]:{},t={seamless:!1,startTime:0,bitrate:0},e.t0=_a(c),e.next="number"===e.t0?5:"boolean"===e.t0?7:"object"===e.t0?9:11;break;case 5:return c={startTime:c},e.abrupt("break",12);case 7:return c={seamless:c},e.abrupt("break",12);case 9:for(b in c)void 0!==c[b]&&null!==c[b]||delete c[b];return e.abrupt("break",12);case 11:throw"unsupported switchURL args: ".concat(c);case 12:if(c=Object.assign({},t,c),n=(r=c).seamless,i=r.startTime,this.config.url=a,this.config.startTime=i,this._switchUrlOpts=c,n){e.next=38;break}if(e.prev=18,!this.config.softDecode){e.next=23;break}e.t1=this.load(a),e.next=26;break;case 23:return e.next=25,this.load(a);case 25:e.t1=e.sent;case 26:d=e.t1,e.next=33;break;case 29:throw e.prev=29,e.t2=e.catch(18),this.emit(qb.SWITCH_URL_FAILED,e.t2),e.t2;case 33:return this._reloadOnPlay=!1,d&&this.emit(qb.SWITCH_URL_SUCCESS,{url:a}),e.abrupt("return",this.media.play(!0));case 38:return this._urlSwitching=!0,this.isLive||(this._prevSegSn=null,this._prevSegCc=null),this._playlist.reset(),this._bufferService.seamlessSwitch(),e.next=44,this._clear();case 44:return e.next=46,this._loadData(a);case 46:this._startTick();case 47:this._switchUrlOpts=null;case 48:case"end":return e.stop()}}),e,this,[[18,29]])}))),function(e){return u.apply(this,arguments)})},{key:"switchStream",value:(s=Ea(ga().mark((function e(a){var c,t,b,r,n,i=arguments;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=!(i.length>1&&void 0!==i[1])||i[1],t=this.currentStream,b=this.streams,t&&t.id!==a&&b&&!(b.length<2)){e.next=5;break}return e.abrupt("return");case 5:if(r=b.find((function(e){return e.id===a}))){e.next=8;break}return e.abrupt("return");case 8:return e.prev=8,e.next=11,this._clear();case 11:if(!c){e.next=14;break}return e.next=14,this._bufferService.clearAllBuffer();case 14:e.next=19;break;case 16:throw e.prev=16,e.t0=e.catch(8),this._emitError(wc.create(e.t0));case 19:if(t.currentAudioStream&&r.audioStreams.length>2&&(n=t.currentAudioStream.id,r.currentAudioStream=r.audioStreams.find((function(e){return e.id===n}))||r.currentAudioStream),this._playlist.currentStream=r,e.prev=21,!this.isLive&&r.segments.length){e.next=25;break}return e.next=25,this._refreshM3U8();case 25:return this._playlist.setNextSegmentByIndex(this._playlist.findSegmentIndexByTime(this.media.currentTime)||0),this._prevSegCc=null,e.next=29,this._loadSegmentDirect();case 29:e.next=35;break;case 31:throw e.prev=31,e.t1=e.catch(21),this._playlist.currentStream=t,e.t1;case 35:return this._startTick(),e.abrupt("return",r);case 37:case"end":return e.stop()}}),e,this,[[8,16],[21,31]])}))),function(e){return s.apply(this,arguments)})},{key:"switchAudioStream",value:(o=Ea(ga().mark((function e(a){var c,t,b,r,n=arguments;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=!(n.length>1&&void 0!==n[1])||n[1],t=this.currentStream){e.next=4;break}return e.abrupt("return");case 4:if((b=t.currentAudioStream)&&b.id!==a&&!(t.audioStreams.length<2)){e.next=7;break}return e.abrupt("return");case 7:if(r=t.audioStreams.find((function(e){return e.id===a}))){e.next=10;break}return e.abrupt("return");case 10:return e.prev=10,e.next=13,this._clear();case 13:if(!c){e.next=16;break}return e.next=16,this._bufferService.clearAllBuffer();case 16:e.next=21;break;case 18:throw e.prev=18,e.t0=e.catch(10),this._emitError(wc.create(e.t0));case 21:if(t.currentAudioStream=r,e.prev=22,!this.isLive&&r.segments.length){e.next=26;break}return e.next=26,this._refreshM3U8();case 26:return this._playlist.setNextSegmentByIndex(this._playlist.findSegmentIndexByTime(this.media.currentTime)||0),this._prevSegCc=null,e.next=30,this._loadSegmentDirect();case 30:e.next=36;break;case 32:throw e.prev=32,e.t1=e.catch(22),t.currentAudioStream=b,e.t1;case 36:return this._startTick(),e.abrupt("return",r);case 38:case"end":return e.stop()}}),e,this,[[10,18],[22,32]])}))),function(e){return o.apply(this,arguments)})},{key:"switchSubtitleStream",value:(f=Ea(ga().mark((function e(a){return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._playlist.switchSubtitle(a),e.next=3,this._manifestLoader.stopPoll();case 3:return e.next=5,this._refreshM3U8();case 5:case"end":return e.stop()}}),e,this)}))),function(e){return f.apply(this,arguments)})},{key:"detachMedia",value:(d=Ea(ga().mark((function e(){return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._bufferService){e.next=3;break}return e.next=3,this._bufferService.detachMedia();case 3:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"destroy",value:(i=Ea(ga().mark((function e(){var a;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.media){e.next=2;break}return e.abrupt("return");case 2:return this.removeAllListeners(),this._playlist.reset(),this._segmentLoader.reset(),null===(a=this._seiService)||void 0===a||a.reset(),this.media.removeEventListener("loadeddata",this._onLoadeddata),this.media.removeEventListener("play",this._onPlay),this.media.removeEventListener("pause",this._onPause),this.media.removeEventListener("seeking",this._onSeeking),this.media.removeEventListener("timeupdate",this._onTimeupdate),e.next=13,Promise.all([this._clear(),this._bufferService.destroy()]);case 13:this.media=null;case 14:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"_loadM3U8",value:(n=Ea(ga().mark((function e(a){var c,t,b,r,n,i,d;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,!(r=null===(t=this.config.manifestList)||void 0===t||null===(b=t.filter((function(e){return e.url===a}))[0])||void 0===b?void 0:b.manifest)){e.next=6;break}e.t0=this._manifestLoader.parseText(r,a),e.next=9;break;case 6:return e.next=8,this._manifestLoader.load(a);case 8:e.t0=e.sent;case 9:n=e.t0,i=Ca(n,1),c=i[0],e.next=17;break;case 14:throw e.prev=14,e.t1=e.catch(0),this._emitError(wc.create(e.t1));case 17:if(c){e.next=19;break}return e.abrupt("return");case 19:if(this._playlist.upsertPlaylist(c),!c.isMaster){e.next=24;break}return null!==(d=this._playlist.currentStream.subtitleStreams)&&void 0!==d&&d.length&&this.emit(qb.SUBTITLE_PLAYLIST,{list:this._playlist.currentStream.subtitleStreams}),e.next=24,this._refreshM3U8();case 24:return this.emit(qb.STREAM_PARSED),e.abrupt("return",c);case 26:case"end":return e.stop()}}),e,this,[[0,14]])}))),function(e){return n.apply(this,arguments)})},{key:"_refreshM3U8",value:function(){var e,a,c=this,t=this._playlist.currentStream;if(!t||!t.url)throw this._emitError(wc.create(null,null,new Error("m3u8 url is not defined")));var b=t.url,r=null===(e=t.currentAudioStream)||void 0===e?void 0:e.url,n=null===(a=t.currentSubtitleStream)||void 0===a?void 0:a.url;return this._manifestLoader.load(b,r,n).then((function(e){var a=Ca(e,3),t=a[0],i=a[1],d=a[2];t&&(c._playlist.upsertPlaylist(t,i,d),c.isLive&&c._pollM3U8(b,r,n))})).catch((function(e){throw c._emitError(wc.create(e))}))}},{key:"_pollM3U8",value:function(e,a,c){var t,b,r=this,n=this._playlist.isEmpty;this._playlist.lowLatency?t=1e3*(this._playlist.currentStream.partTargetDuration||0):t=1e3*((null===(b=this._playlist.lastSegment)||void 0===b?void 0:b.duration)||0);this._manifestLoader.poll(e,a,c,(function(e,a,c){r._playlist.upsertPlaylist(e,a,c),r._playlist.clearOldSegment(),(e&&n&&!r._playlist.isEmpty||!r._playlist.hadSegmentLoaded&&r._playlist.nbSegments>=r.config.minSegmentsStartPlay)&&r._loadSegment(),n&&(n=r._playlist.isEmpty)}),(function(e){r._emitError(wc.create(e))}),t)}},{key:"_loadSegmentDirect",value:(r=Ea(ga().mark((function e(a){var c,t,b,r,n,i;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=this._playlist.nextSegment){e.next=3;break}return e.abrupt("return");case 3:return t=!1,b=null,e.prev=5,this._segmentProcessing=!0,Tr.log("load segment, sn:".concat(c.sn,", [").concat(c.start,", ").concat(c.end,"], partIndex:").concat(c.partIndex)),e.next=10,this._reqAndBufferSegment(c,this._playlist.getAudioSegment(c));case 10:t=e.sent,e.next=16;break;case 13:e.prev=13,e.t0=e.catch(5),b=e.t0;case 16:return e.prev=16,this._segmentProcessing=!1,e.finish(16);case 19:if(!b){e.next=26;break}if(!this._bufferService.isFull()){e.next=25;break}return Tr.log("load segment, sn:".concat(c.sn,", partIndex:").concat(c.partIndex)),this._segmentProcessing=!0,this._isProcessQuotaExceeded=!0,e.abrupt("return",!1);case 25:return e.abrupt("return",this._emitError(wc.create(b)));case 26:return t&&(n=this.bufferInfo().end,this.isLive&&!this.media.seeking&&n&&Math.abs(c.end-n)>1&&(Tr.warn("segment: ".concat(c.sn," expected end=").concat(c.end,", real end=").concat(n)),this._playlist.feedbackLiveEdge(c,n)),i=(null===(r=this._playlist.currentStream)||void 0===r?void 0:r.url)===c.parentUrl,this._urlSwitching&&!i&&(Tr.warn("pre playlist segment appended!"),this._bufferService.seamlessSwitch()),this.isLive&&this._urlSwitching&&i&&(this._urlSwitching=!1,this.emit(qb.SWITCH_URL_SUCCESS,{url:this.config.url})),this._playlist.moveSegmentPointer(),c.isLast?this._end():a||this._loadSegment()),e.abrupt("return",t);case 28:case"end":return e.stop()}}),e,this,[[5,13,16,19]])}))),function(e){return r.apply(this,arguments)})},{key:"_reqAndBufferSegment",value:(b=Ea(ga().mark((function e(a,c){var t,b,r,n,i,d,f,o,s,u,l;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b=a?a.cc:c.cc,r=this._prevSegCc!==b,n=[],e.prev=3,e.next=6,this._segmentLoader.load(a,c,r);case 6:n=e.sent,e.next=14;break;case 9:throw e.prev=9,e.t0=e.catch(3),e.t0.fatal=!1,this._segmentLoader.error=e.t0,e.t0;case 14:if(n[0]){e.next=16;break}return e.abrupt("return");case 16:return e.next=18,(t=this._bufferService).decryptBuffer.apply(t,Pa(n));case 18:if(i=e.sent){e.next=21;break}return e.abrupt("return");case 21:return d=a?a.sn:c.sn,f=a?a.start:c.start,o=this._playlist.currentStream,this._bufferService.createSource(i[0],i[1],null==o?void 0:o.videoCodec,null==o?void 0:o.audioCodec),s=Date.now(),u=this._prevSegSn===d-1,this.isLive&&this._urlSwitching&&(l=this.bufferInfo().end,this._playlist.updateSegmentsRanges(d,l),Tr.warn("update the new playlist liveEdge, segment id=".concat(d,", buffer start=").concat(l,", liveEdge=").concat(this._playlist.liveEdge)),f=l),e.next=30,this._bufferService.appendBuffer(a,c,i[0],i[1],r,u,f);case 30:return this.emit(qb.APPEND_COST,{elapsed:Date.now()-s,url:a.url}),e.next=33,this._bufferService.evictBuffer(this.config.bufferBehind);case 33:return this._prevSegCc=b,this._prevSegSn=d,e.abrupt("return",!0);case 36:case"end":return e.stop()}}),e,this,[[3,9]])}))),function(e,a){return b.apply(this,arguments)})},{key:"_onCheckQuotaExceeded",value:(t=Ea(ga().mark((function e(){var a,c,t,b,r,n;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=this.media.currentTime,c=this.media.buffered,t=!1,b=0;case 4:if(!(b<c.length)){e.next=11;break}if(!(c.start(0)>=a&&a<c.end(b))){e.next=8;break}return t=!0,e.abrupt("break",11);case 8:b++,e.next=4;break;case 11:if(!this._bufferService.isFull()){e.next=17;break}if(r=t?this.config.bufferBehind:5,!((n=this.media.currentTime)-r>0)){e.next=17;break}return e.next=17,this._bufferService.removeBuffer(0,n-r);case 17:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"_checkStreamTrackChange",value:function(e){var a=this._playlist.checkSegmentTrackChange(e,this._bufferService.nbSb);a&&this.switchURL(this.config.url,a.start+.2)}},{key:"_clear",value:(c=Ea(ga().mark((function e(){return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return clearTimeout(this._disconnectTimer),this._stopTick(),e.next=4,Promise.all([this._segmentLoader.cancel(),this._manifestLoader.stopPoll()]);case 4:this._segmentProcessing=!1;case 5:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"_reset",value:(a=Ea(ga().mark((function e(){var a,c,t=arguments;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=t.length>0&&void 0!==t[0]&&t[0],this._reloadOnPlay=!1,this._prevSegSn=null,this._prevSegCc=null,this._switchUrlOpts=null,this._playlist.reset(),this._segmentLoader.reset(),null===(a=this._seiService)||void 0===a||a.reset(),this._stats.reset(),e.next=11,this._clear();case 11:return e.abrupt("return",this._bufferService.reset(c));case 12:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"_end",value:function(){this._clear(),this._bufferService.endOfStream(),(this.media.readyState<=2||this.media.buffered.length>1)&&this._startTick()}},{key:"_stopTick",value:function(){this._tickTimer&&clearTimeout(this._tickTimer),this._tickTimer=null}},{key:"_startTick",value:function(){this._stopTick(),this._tickTimer=setTimeout(this._tick,this._tickInterval)}},{key:"_emitError",value:function(e){var a,c,t,b,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];!1===(null===(a=e.originError)||void 0===a?void 0:a.fatal)?Tr.warn(e):(Tr.table(e),Tr.error(e),Tr.error(null===(c=this.media)||void 0===c?void 0:c.error),null!==(t=this.media)&&void 0!==t&&t.readyState&&this.media.pause(),this._stopTick(),this._urlSwitching&&(this._urlSwitching=!1,this.emit(qb.SWITCH_URL_FAILED,e)),this.emit(qb.ERROR,e),r&&this._end(),null===(b=this._seiService)||void 0===b||b.reset());return e}},{key:"_getSeamlessSwitchPoint",value:function(){var e=this.media,a=e.currentTime;if(!e.paused){var c,t=this._playlist.findSegmentIndexByTime(e.currentTime),b=this._playlist.getSegmentByIndex(t),r=null===(c=this._stats)||void 0===c?void 0:c.getStats().downloadSpeed;if(r&&b)a+=b.duration*this._playlist.currentStream.bitrate/r+1;else a+=5}return a}},{key:"_tryEos",value:function(){var e,a,c=this.media,t=this._playlist,b=t.nextSegment,r=t.lastSegment;if((!b||r&&dc.isBuffered(c,r.start+r.duration/2))&&c.readyState&&c.duration>0&&(null===(e=this._bufferService)||void 0===e?void 0:e.msIsOpened)&&!(null!==(a=this._bufferService)&&void 0!==a&&a.msHasOpTasks)){var n=this.bufferInfo();c.paused&&!c.currentTime&&(n=this.bufferInfo(n.nextStart||.5)),(Math.abs(n.end-c.duration)<.1||!this.isLive&&r&&n.end>=r.start+r.duration)&&this._bufferService.endOfStream()}}}],[{key:"isSupported",value:function(e){return e&&"video"!==e&&"audio"!==e?"undefined"!=typeof WebAssembly:Nc.isSupported()}},{key:"enableLogger",value:function(){Ac.enable(),Qt.enable()}},{key:"disableLogger",value:function(){Ac.disable(),Qt.disable()}}]),y}(at);Ta(Ar,"version","3.0.21");try{localStorage.getItem("xgd")?Ar.enableLogger():Ar.disableLogger()}catch(Cn){}var Ir=function(){function e(a,c){var t=this;Sa(this,e),Ta(this,"_opts",null),Ta(this,"_plugin",null),Ta(this,"_onLowDecode",(function(){var e,a,c,b,r=t._opts,n=r.media,i=r.innerDegrade;null===(e=t._plugin)||void 0===e||null===(a=e.player)||void 0===a||a.emit("lowdecode",n.degradeInfo),null===(c=t._plugin)||void 0===c||null===(b=c.player)||void 0===b||b.emit("core_event",ma(ma({},n.degradeInfo),{},{eventName:qb.LOWDECODE})),1===i&&t._degrade(n.src)})),Ta(this,"_degrade",(function(e){var a=t._plugin.player,c=a.video;if(!c||"MVideo"===c.TAG){var b=a.video.degradeVideo;a.video=b,c.degrade(e),e&&(a.config.url=e);var r=a.root.firstChild;"MVideo"===r.TAG&&a.root.replaceChild(b,r);var n=t._plugin.constructor.pluginName.toLowerCase();a.unRegisterPlugin(n),a.once("canplay",(function(){a.play()}))}})),Ta(this,"forceDegradeToVideo",(function(e){1===t._opts.innerDegrade&&t._degrade(e)})),this._opts=a,this._plugin=c,this._init()}return xa(e,[{key:"_init",value:function(){var e=this._opts,a=e.media,c=e.preloadTime,t=e.innerDegrade,b=e.isLive;a&&(b||!a.setPlayMode?(t&&a.setAttribute("innerdegrade",t),c&&a.setAttribute("preloadtime",c),this._bindEvents()):a.setPlayMode("VOD"))}},{key:"_bindEvents",value:function(){this._opts.media.addEventListener("lowdecode",this._onLowDecode)}},{key:"destroy",value:function(){var e,a;null===(e=this._opts)||void 0===e||null===(a=e.media)||void 0===a||a.removeEventListener("lowdecode",this._onLowDecode),this._plugin=null}}]),e}(),Dr=["currentTime"];function Or(e,a){var c={startTime:a.player.currentTime};switch(_a(e)){case"boolean":c.seamless=e;break;case"object":var t=e.currentTime,b=Oa(e,Dr);Object.assign(c,b),"number"==typeof t&&(c.startTime=t)}return c}var Rr=function(e){Aa(c,e);var a=La(c);function c(){var e;Sa(this,c);for(var t=arguments.length,b=new Array(t),r=0;r<t;r++)b[r]=arguments[r];return Ta(Ra(e=a.call.apply(a,[this].concat(b))),"logger",Tr),Ta(Ra(e),"hls",null),Ta(Ra(e),"pluginExtension",null),Ta(Ra(e),"getStats",(function(){var a;return null===(a=e.hls)||void 0===a?void 0:a.getStats()})),Ta(Ra(e),"_onSwitchSubtitle",(function(a){var c,t=a.lang;null===(c=e.hls)||void 0===c||c.switchSubtitleStream(t)})),Ta(Ra(e),"_keepPauseStatus",(function(){e.player.paused&&e.player.once("canplay",(function(){e.player.pause()}))})),e}return xa(c,[{key:"core",get:function(){return this.hls}},{key:"version",get:function(){var e;return null===(e=this.hls)||void 0===e?void 0:e.version}},{key:"softDecode",get:function(){var e,a,c=null===(e=this.player)||void 0===e||null===(a=e.config)||void 0===a?void 0:a.mediaType;return!!c&&"video"!==c&&"audio"!==c&&"offscreen-video"!==c}},{key:"beforePlayerInit",value:function(){var e=this,a=this.player.config,c=this.player.media||this.player.video,t=a.hls||{};if((a.url||a.__allowHlsEmptyUrl__)&&(this.softDecode||t.preferMMS||!Nc.isMMSOnly())){this.hls&&this.hls.destroy();var b=Object.getOwnPropertyDescriptor(this.player,"switchURL");b&&!b.writable||(this.player.switchURL=function(a,c){return new Promise((function(t,b){var r=e.player,n=e.hls;if(n){var i,d,f=Or(c,e);r.config.url=a,n.switchURL(a,f).then((function(){return t(!0)})).catch(b),!f.seamless&&null!==(i=e.player.config)&&void 0!==i&&null!==(d=i.hls)&&void 0!==d&&d.keepStatusAfterSwitch&&e._keepPauseStatus()}else b()}))});var r,n=this.player.switchURL;if(this.player.handleSource=!1,t.innerDegrade=t.innerDegrade||a.innerDegrade,null!==t.disconnectTime&&void 0!==t.disconnectTime||(t.disconnectTime=0),this.hls=new Ar(ma({softDecode:this.softDecode,isLive:a.isLive,media:c,startTime:a.startTime,url:a.url},t)),this.softDecode||ue.BasePlugin.defineGetterOrSetter(this.player,{url:{get:function(){var a,c;return null===(a=e.hls)||void 0===a||null===(c=a.media)||void 0===c?void 0:c.src},configurable:!0}}),this.softDecode&&(this.pluginExtension=new Ir(ma({isLive:a.isLive,media:c},t),this),this.player.forceDegradeToVideo=function(){for(var a,c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];return null===(a=e.pluginExtension)||void 0===a?void 0:a.forceDegradeToVideo.apply(a,t)}),a.isLive)null===(r=this.player)||void 0===r||r.useHooks("replay",(function(){var a;return null===(a=e.hls)||void 0===a?void 0:a.replay()}));this.on(ue.Events.URL_CHANGE,n),this.on(ue.Events.SWITCH_SUBTITLE||"switch_subtitle",this._onSwitchSubtitle),this.on(ue.Events.DESTROY,this.destroy.bind(this)),this._transError(),this._transCoreEvent(Zc.TTFB),this._transCoreEvent(Zc.LOAD_START),this._transCoreEvent(Zc.LOAD_RESPONSE_HEADERS),this._transCoreEvent(Zc.LOAD_COMPLETE),this._transCoreEvent(Zc.LOAD_RETRY),this._transCoreEvent(Zc.SOURCEBUFFER_CREATED),this._transCoreEvent(Zc.MEDIASOURCE_OPENED),this._transCoreEvent(Zc.APPEND_BUFFER),this._transCoreEvent(Zc.REMOVE_BUFFER),this._transCoreEvent(Zc.BUFFEREOS),this._transCoreEvent(Zc.KEYFRAME),this._transCoreEvent(Zc.METADATA_PARSED),this._transCoreEvent(Zc.DEMUXED_TRACK),this._transCoreEvent(Zc.SEI),this._transCoreEvent(Zc.SEI_IN_TIME),this._transCoreEvent(Zc.SPEED),this._transCoreEvent(Zc.HLS_MANIFEST_LOADED),this._transCoreEvent(Zc.HLS_LEVEL_LOADED),this._transCoreEvent(Zc.STREAM_EXCEPTION),this._transCoreEvent(Zc.SWITCH_URL_SUCCESS),this._transCoreEvent(Zc.SWITCH_URL_FAILED),this._transCoreEvent(qb.NO_AUDIO_TRACK),this._transCoreEvent(qb.STREAM_PARSED),this._transCoreEvent(qb.SUBTITLE_SEGMENTS),this._transCoreEvent(qb.SUBTITLE_PLAYLIST),this._transCoreEvent(qb.APPEND_COST),a.url&&this.hls.load(a.url,{reuseMse:!0}).catch((function(e){}))}}},{key:"destroy",value:function(){var e;this.hls&&(this.hls.destroy(),this.hls=null),null===(e=this.pluginExtension)||void 0===e||e.destroy(),this.pluginExtension=null}},{key:"_transError",value:function(){var e=this;this.hls.on(qb.ERROR,(function(a){e.player&&e.player.emit(ue.Events.ERROR,new ue.Errors(e.player,a))}))}},{key:"_transCoreEvent",value:function(e){var a=this;this.hls.on(e,(function(c){a.player&&(a.player.emit("core_event",ma(ma({},c),{},{eventName:e})),e===Zc.SEI_IN_TIME&&a.hls.hasSubtitle&&a._emitSeiPaylodTime(c))}))}},{key:"_emitSeiPaylodTime",value:function(e){try{var a=JSON.parse(Array.from(e.data.payload).map((function(e){return String.fromCharCode(e)})).join("").slice(0,-1));if(!a.rtmp_dts)return;this.player.emit("core_event",{eventName:qb.SEI_PAYLOAD_TIME,time:a.rtmp_dts})}catch(c){}}}],[{key:"pluginName",get:function(){return"hls"}},{key:"isSupported",value:function(e,a){return Ar.isSupported(e,a)}}]),c}(ue.BasePlugin);Ta(Rr,"Hls",Ar),Ta(Rr,"EVENT",qb);const Lr="4.1.13-rc.1";var Cr=function(e){return e.GetKeyByKeyTokenFail="Get key by keyToken fail",e}(Cr||{}),Pr=function(e){return e[e.KDS=0]="KDS",e[e.DRM=1]="DRM",e}(Pr||{});function jr(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=window.MediaSource=window.MediaSource||(e?window.ManagedMediaSource:void 0)||window.WebKitMediaSource;return a&&"function"==typeof a.isTypeSupported}function Mr(e,a,c,t){e.once(t,(function b(){e.off(a,c),e.off(t,b)}))}var Br={getBrowserVersion:function(){var e=navigator.userAgent;if(e.toLowerCase().indexOf("mobile")>-1)return"Unknown";function a(a){return((e.match(a)||[""])[0].match(/[\d]+/)||["0"])[0]}if(e.indexOf("Firefox")>-1)return"Firefox ".concat(a(/firefox\/[\d.]+/gi));if(e.indexOf("Edge")>-1)return"Edge ".concat(a(/edge\/[\d.]+/gi));if(e.indexOf("rv:11")>-1)return"IE 11";if(e.indexOf("Opera")>-1||e.indexOf("OPR")>-1){if(e.indexOf("Opera")>-1)return"Opera ".concat(a(/opera\/[\d.]+/gi));if(e.indexOf("OPR")>-1)return"Opera ".concat(a(/opr\/[\d.]+/gi))}else{if(e.indexOf("Chrome")>-1)return"Chrome ".concat(a(/chrome\/[\d.]+/gi));if(e.indexOf("Safari")>-1)return"Safari ".concat(a(/safari\/[\d.]+/gi));if(!(e.indexOf("MSIE")>-1||e.indexOf("Trident")>-1))return"Unknown";if(e.indexOf("MSIE")>-1)return"IE ".concat(a(/msie [\d.]+/gi));if(e.indexOf("Trident")>-1){var c=a(/trident\/[\d.]+/gi),t=parseInt(c)+4;return"IE ".concat(t)}}},parseUrl:function(e){var a=e.split("?")[1],c={};return a&&a.split("&").forEach((function(e){var a=e.split("=");c[a[0]]=decodeURIComponent(a[1])})),c},isBase64:function(e){return/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/.test(e)},isRelativeURL:function(e){return/^:?\/\//i.test(e)},isMobile:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=!1;return navigator.userAgent.toLocaleLowerCase().indexOf("ipad")>-1?(navigator.userAgent.toLocaleLowerCase().indexOf("mobile")>-1&&"Win32"!==navigator.platform||!jr(e))&&(a=!0):navigator.userAgent.toLocaleLowerCase().indexOf("mobile")>-1&&"Win32"!==navigator.platform&&!jr(e)&&(a=!0),a},checkMediaSourceSupport:jr,getAbsoluteURL:function(e){var a=new Image;return a.src=e,e=a.src},offInDestroy:Mr,on:function(e,a,c,t){if(t)e.on(a,c),Mr(e,a,c,t);else{var b=function(c){b(c),e.off(a,b)};e.on(a,b)}},once:function(e,a,c,t){if(t)e.once(a,c),Mr(e,a,c,t);else{var b=function(c){b(c),e.off(a,b)};e.once(a,b)}}};function Ur(e){var a=e.url,c=e.method,t=void 0===c?"GET":c,b=e.type,r=e.timeout,n=void 0===r?1e4:r,i=e.body,d=e.xhrSetup,f=e.cache,o=void 0===f||f;return new Promise((function(e,c){var r=new window.XMLHttpRequest;if("GET"!==(t=t.toUpperCase())&&"POST"!==t)throw new Error("XHR ".concat(t," is not allowed"));if(b&&(r.responseType=b),n&&(r.timeout=n),r.onload=function(){200===r.status||206===r.status?e(r):c(r)},r.onerror=function(){c(r)},r.ontimeout=function(){c(r)},r.onabort=function(){c(r)},"GET"===t&&!o){var f=/\?/gi.test(a)?"&":"?";a+="".concat(f,"_=").concat((new Date).getTime())}if(r.open(t,"".concat(a),!0),d)try{d(r,a)}catch(s){console.error("xhr setup failure: ".concat((null==s?void 0:s.stack)||(null==s?void 0:s.message)))}switch(t){case"POST":"text"===b&&r.setRequestHeader("Content-type","application/x-www-form-urlencoded"),r.send(i);break;case"GET":r.send()}}))}var Nr=Br.getBrowserVersion();function Fr(e){return Gr.apply(this,arguments)}function Gr(){return Gr=pe(De().mark((function e(a){var c,t,b,r,n=arguments;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=n.length>1&&void 0!==n[1]?n[1]:{},e.prev=1,b=c.payload?JSON.stringify(c.payload):void 0,r=/^blob:/.test(a),"IE 11"===Nr){e.next=10;break}return e.next=7,Ur({url:a,type:c.type||"text",cache:r,body:b,method:c.method});case 7:t=e.sent,e.next=13;break;case 10:return e.next=12,new Promise((function(e,t){var r=new XMLHttpRequest;c.type&&(r.responseType=c.type),r.open(c.method||"get",a),r.send(b),r.onload=function(){200===r.status||206===r.status?e(r):t(r.status)}}));case 12:t=e.sent;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(1),console.error("error",e.t0);case 18:return e.abrupt("return",t);case 19:case"end":return e.stop()}}),e,null,[[1,15]])}))),Gr.apply(this,arguments)}function Vr(e,a){return qr.apply(this,arguments)}function qr(){return(qr=pe(De().mark((function e(a,c){var t,b,r,n,i,d,f,o,s,u,l;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.config,b=a.isNativeMode,r=c.url,n="",e.next=5,Fr(r);case 5:if(!(i=e.sent)){e.next=28;break}if(e.prev=7,d=JSON.parse(i.responseText),"TOP"!==t.getKeyType){e.next=13;break}n=d.Result.SecretKey,e.next=23;break;case 13:if(!b){e.next=22;break}if(f=Ve(d.data)){e.next=17;break}throw new Error("parse key data failed");case 17:o=f.encData,s=f.key,u=f.iv,l=Ne(o,s,u),n=window.btoa(l),e.next=23;break;case 22:n=window.btoa(d.data);case 23:e.next=28;break;case 25:e.prev=25,e.t0=e.catch(7),n=Br.isBase64(i.responseText)?i.responseText:window.btoa(i.responseText);case 28:return e.abrupt("return",n);case 29:case"end":return e.stop()}}),e,null,[[7,25]])})))).apply(this,arguments)}function zr(e,a){return Hr.apply(this,arguments)}function Hr(){return(Hr=pe(De().mark((function e(a,c){var t;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=void 0,e.t0=c.system,e.next=e.t0===Pr.KDS?4:8;break;case 4:return e.next=6,Vr(a,c);case 6:return t=e.sent,e.abrupt("break",9);case 8:console.error("wrong key system:",c.system);case 9:return e.abrupt("return",t);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Kr(e,a){return $r.apply(this,arguments)}function $r(){return($r=pe(De().mark((function e(a,c){var t,b,r,n,i,d,f,o,s;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=c.config,b={},e.next=4,Ur({url:a,xhrSetup:function(e){t.netAllowCredentials&&(e.withCredentials=!0)}});case 4:return r=e.sent,(n=r.responseText).match(/#EXT-X-KEY:(\w+=\w+)+/)&&(i=n.match(/,URI="([^"]+)"/),d=i?i[1]:"",null!=(f=Br.parseUrl(d))&&f.ak&&("TOP"===t.getKeyType?(o=/^https?:/.test(t.playDomain)?t.playDomain:"//".concat((t.playDomain||"").replace(/^\/\//gi,"")),s=Br.isBase64(t.keyToken)?window.atob(t.keyToken):t.keyToken,d="".concat(o,"?").concat(s,"&Source=jarvis&Ak=").concat(f.ak)):d="".concat(t.keyDomain||"","/kds/api/v3/keys?source=jarvis&ak=").concat(f.ak,"&token=").concat(t.keyToken||"")),b.keyUrl=d,b.responseText=n),e.abrupt("return",b);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Wr(){Promise.withResolvers||(Promise.withResolvers=function(){var e={};return e.promise=new Promise((function(a,c){e.resolve=a,e.reject=c})),e})}var Yr=function(){return _e((function e(){ye(this,e)}),null,[{key:"install",value:function(){if(window.requestAnimationFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame,window.cancelAnimationFrame=window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.cancelRequestAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame,!window.requestAnimationFrame){var e=Date.now();window.requestAnimationFrame=function(a){var c=Date.now(),t=Math.max(16.7-(c-e),0),b=setTimeout(a,t);return e=c+t,b}}window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e){clearTimeout(e)})}}])}(),Xr=function(){return _e((function e(){ye(this,e),this.fps=0,this.isStoped=!0,this.ticks=[],this.isSupport=!0,this.maxFps=0,this.step=this._step.bind(this),this.rafId=null}),[{key:"_step",value:function(e){var a=this.ticks;if(a.unshift(e),a.length>10){var c=a.pop();c&&(this.fps=Math.floor(1e4/(e-c)),this.updateFpsInfo())}this.isStoped||(this.rafId=window.requestAnimationFrame(this.step))}},{key:"updateFpsInfo",value:function(){this.fps>this.maxFps&&(this.maxFps=this.fps)}},{key:"start",value:function(){void 0!==window.requestAnimationFrame&&(this.isStoped=!1,this.rafId=window.requestAnimationFrame(this.step))}},{key:"stop",value:function(){window.cancelAnimationFrame(this.rafId),this.isStoped=!0}}],[{key:"install",value:function(){Yr.install()}}])}(),Qr=Jr&&!function(){var e="_localstorage_support_test";try{return localStorage.setItem(e,!0),localStorage.removeItem(e),!1}catch(a){return!0}}();function Jr(){try{return"undefined"!=typeof localStorage&&"setItem"in localStorage&&!!localStorage.setItem}catch(e){return!1}}var Zr={length:Qr?localStorage.length:0,clear:function(e){try{for(var a=localStorage.length-1;a>=0;a--){var c=localStorage.key(a);0===c.indexOf(e)&&localStorage.removeItem(c)}}catch(Cn){}},getItem:function(e){try{return localStorage.getItem(e)}catch(Cn){return null}},key:function(e){try{return localStorage.key(e)}catch(Cn){return null}},setItem:function(e,a){try{localStorage.setItem(e,a)}catch(Cn){}},removeItem:function(e){try{localStorage.removeItem(e)}catch(Cn){}},isSupport:Qr},en=function(){return _e((function e(){var a,c;ye(this,e);var t=new Promise((function(e,t){a=e,c=t}));return t.resolve=a,t.reject=c,t}),[{key:"resolve",value:function(e){}},{key:"reject",value:function(e){}}])}();!function(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var i=parseInt(e.slice(16,24),16),d=2*parseInt(e.slice(32,40),16);for(b=40;b<d+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var f=d+40,o=parseInt(e.slice(f,f+4),16);for(f+=4,b=0;b<o;++b){var s=t(e,f);f+=2*s[0];for(var u=0;u<s[1];++u){var l=t(e,f);String.fromCharCode(r^l[1]),f+=2*l[0]}}a.p=null,function e(a,c,t,b,r){var i,d,f,o,s,u=-1,l=[],h=null,p=[c];for(d=Math.min(c.length,t),f=0;f<d;++f)p.push(c[f]);p.p=b;for(var v=[];;)try{switch(n[a++]){case 22:l[++u]=null;break;case 48:l[++u]=void 0;break;case 33:for(d=n[a++],f=n[a++],o=p;d>0;--d)o=o.p;l[++u]=o[f];break;case 12:for(d=l[u--],f=null;o=v.pop();)if(2===o[0]||3===o[0]){f=o;break}if(f)a=f[2],f[0]=0,v.push(f);else{if(!h)return d;a=h[1],r=h[2],p=h[3],v=h[4],l[++u]=d,h=h[0]}break;case 74:u-=i=n[a++],f=l.slice(u+1,u+i+1),d=l[u--],o=l[u--],d._u===e?(d=d._v,h=[h,a,r,p,v],a=d[0],null==o&&(o=function(){return this}()),r=o,(p=[f].concat(f)).length=Math.min(d[1],i)+1,p.p=d[2],v=[]):(s=d.apply(o,f),l[++u]=s);break;case 0:--u;break;default:throw new Error("ioe")}}catch(y){for(;(i=v.pop())&&!i[0];);if(!i){e:for(;h;){for(d=h[4];i=d.pop();)if(i[0])break e;h=h[0]}if(!h)throw y;a=h[1],r=h[2],p=h[3],v=h[4],h=h[0]}1===(d=i[0])?(a=i[2],i[0]=0,v.push(i),l[++u]=y):2===d?(a=i[2],i[0]=0,v.push(i)):(a=i[3],i[0]=2,v.push(i),l[++u]=y)}}(i,[],0,a,c)}("504B010185868188000000008b83868500000009162101004a0000300c0000",{get 0(){return Wr}},void 0);var an=["module"],cn="danger_d_speed";var tn={stall_penalty:11,switch_penalty:4,interval:1e3,startInterval:1e3,decodeUnderflowBuffer:1,decodeUnderflowMode:1,decodeUnderflowCount:1},bn=function(){return _e((function e(a,c,t,b){var r=this,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{logger:function(){},openLog:!1};ye(this,e),this._wasmPromise=new en,this._hasDeviceInfoChanged=!0,this.uuid=(new Date).getTime().toString(36).slice(4),this._defaultMaxBitrate=0,this._underflowBitrate=0,this._minBitrate=1/0,this._isCurrentHDR=!1,this.config=a,this.segment_duration=b||5e3,this.logger=function(){for(var e=arguments.length,a=new Array(e),c=0;c<e;c++)a[c]=arguments[c];n.logger.apply(n,["abr(".concat(r.uuid,")::")].concat(a))},this.openLog=n.openLog,this.autoBitrateOpts=Object.assign({},tn,a.autoBitrateOpts),this.stall_penalty=this.autoBitrateOpts.stall_penalty,this.switch_penalty=this.autoBitrateOpts.switch_penalty,this.interval=this.autoBitrateOpts.interval;var i=a.progressTimer||1e3,d=this.autoBitrateOpts.startInterval||i;this.initInterval=.8*d,this._preloadMethod=a.preloadmethod||0,this._videoWidth=0,this._videoHeight=0,this._maxDefinition=this.autoBitrateOpts.maxDefinition||null,this._underflowDefinition=this.autoBitrateOpts.underflowDefinition||null,this.updateBitrate(c),this.updateMediaInfos(t,!1)}),[{key:"_onLoadWasm",value:function(){var e=this,a=this.autoBitrateOpts.module,c=this.autoBitrateOpts;c.module;var t=Ie(c,an),b=this.autoBitrateOpts.isClassic||!1;a&&(b?this.module=new a(Ae({promise:this._wasmPromise},t)):a(this.module={onRuntimeInitialized:function(){e._wasmPromise.resolve()}}));return this._wasmPromise}},{key:"updateMediaInfos",value:function(e){var a=this,c=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this._heightToDefinitionConfig=new Map,this._bitrateToDefinitionConfig=new Map,this._definitionToDefitionConfig=new Map,e?(e.dynamic_video_list.forEach((function(e){var c,t;null===(c=a._heightToDefinitionConfig)||void 0===c||c.set(e.height||e.vheight,e);var b,r=e.bandwidth||e.bitrate;(r<a._minBitrate&&(a._minBitrate=r),null===(t=a._bitrateToDefinitionConfig)||void 0===t||t.set(r,e),e.definition)&&(null===(b=a._definitionToDefitionConfig)||void 0===b||b.set(e.definition,e))})),this._maxDefinition&&(this._defaultMaxBitrate=this._getBitrate(this._maxDefinition)),this._underflowDefinition&&(this._underflowBitrate=this._getBitrate(this._underflowDefinition)),this.mediaInfos=e):c&&console.error("baseAbr mediaInfos null")}},{key:"_getBitrate",value:function(e){var a;return(null===(a=this._definitionToDefitionConfig)||void 0===a||null===(a=a.get(e))||void 0===a?void 0:a.bandwidth)||-1}},{key:"transformMediaInfo",value:function(){if(this.setDebugModel(this.openLog),this.mediaInfos){this.logger("mediaInfos",this.mediaInfos);try{for(var e,a=[],c=this.mediaInfos.dynamic_video_list,t=0;t<c.length;t++){var b=c[t];this._isCurrentHDR===!!b.isHDR&&a.push({stream_id:"s".concat(t),bandwidth:b.bitrate||b.bandwidth,width:b.vwidth||b.width,height:b.vheight||b.height,codec:b.codecs||b.codec_type||"h264",frame_rate:Number(b.fps)||-1,segment_duration:this.segment_duration,definition:b.qualityType,gearName:b.gearName})}var r={v_adaptation:a},n=JSON.stringify(r);null===(e=this.module)||void 0===e||e.ccall("parseMPD","null",["string"],[n])}catch(Cn){}}else console.warn("mediaInfos is null")}},{key:"_getDefaultSpeed",value:function(e){var a=0,c=navigator.connection;if(c&&c.downlink)a=1024*c.downlink/8,this.logger("initSpeed connect",a);else try{a=parseFloat(Zr.getItem(cn)||"")||0,this.logger("initSpeed connect",a)}catch(Cn){}return 0===a&&(a=e&&e.historyAvspeed||0,this.logger("initSpeed history",a)),a}},{key:"setDebugModel",value:function(e){var a,c;null===(a=this.module)||void 0===a||null===(c=a._setDebugModel)||void 0===c||c.call(a,e)}},{key:"updateBitrate",value:function(e){var a,c,t=this;(this.bitrate=e,e>0)&&(this.module?null===(a=(c=this.module).updateBitrate)||void 0===a||a.call(c,e):this.readyPromise().then((function(){var a,c;null===(a=t.module)||void 0===a||null===(c=a.updateBitrate)||void 0===c||c.call(a,e)})))}},{key:"getPreloadBitrate",value:function(){return null}},{key:"_updateDeviceInfo",value:function(e){try{if(this._hasDeviceInfoChanged){var a,c=window.devicePixelRatio||1;null===(a=this.module)||void 0===a||a._updateDeviceInfo(this._videoWidth||Number(this.config.width),this._videoHeight||Number(this.config.height),c,e||-1)}this._hasDeviceInfoChanged=!1}catch(Cn){}}},{key:"readyPromise",value:function(){return this._wasmPromise}}])}();bn.SPPED_CACHE=cn;var rn=function(e){return e.ABR_CHANGE="ABR_CHANGE_A",e.ABR_UPDATE_SPEC="ABR_UPDATE_SPEC",e.START_ABR="START_ABR",e.UPDATE_AUTO_DESC="UPDATE_AUTO_DESC",e.ABR_START_PROGRESS="ABR_START_PROGRESS",e.MAX_BUFFER_CHANGE="MAX_BUFFER_CHANGE",e.NEXT_SEGMENT_PREDICT="NEXT_SEGMENT_PREDICT",e.ABR_STAT="ABR_STAT",e.ABR_DEFINITION_REAL_CHANGE="ABR_DEFINITION_REAL_CHANGE",e.ABR_LIMIT_BITRATE="ABR_LIMIT_BITRATE",e}(rn||{}),nn={PLAYBACK_BITRATE:"avg_play_bitrate",DOWNLOAD_BITRATE:"avg_download_bitrate",DOWNLOAD_NETWORK_SPEED:"avg_download_speed",PREDICT_NETWORK_SPEED:"avg_predict_speed",BUFFER_LENGTH:"avg_buffer_length",QOE:"avg_qoe"},dn=function(e){function a(e,c,t,b,r){var n,i,d,f,o,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{logger:function(){},openLog:!1};ye(this,a),(n=ve(this,a,[c,t,b,r,s]))._bufferRange=new Map,n._sortedBufferRange=[],n._lastCheckResolutionStamp=0,n._currentDefinition=null,n._isSeeking=!1,n._waitingStartTime=0,n._stallCount=0,n._seekState=0,n._stallState=0,n._videoCurrentTime=0,n._hasStart=!1,n._isPaused=!1,n._hasAddFragment=!1,n._eventInfo={local_time_ms:0,internet_speed:0,buffer_length:0,last_bitrate:0,now_bitrate:0,play_speed:1},n._bitrateSet=[],n._generalInfo={},n._currentInAbr=!1,n._hasCalcTimelineLog=!1,n._abr_play_info={start_play_time_ms:0,is_hint:0,playback_info:{internet_speed_record:[],play_bitrate_record:[],buffer_length_record:[],play_speed_record:[],qoe_record:[],qoe_a_record:[],qoe_b_record:[],qoe_c_record:[]}},n._tickCount=0,n._fps=30,n.startTime=performance.now(),n._prevDefinitionItem=null,n._currentItem=null,n._switchCount=0,n._switchBitrate=0,n._avgStatItems={},n._qoeArgs=[0,0,0,0],n._abrUsed=-1,n._abrAlwaysOn=1,n._preloadInfo=null,n._hasLogStartInfo=!1,n._hasExecuteAbrAlgo=!1,n._lastExecuteTimeInMs=0,n._isSegmentDrive=!1,n._prevCurrentTime=-1,n._abrChangeTimeMap={},n._underFlowDecodeCount=0,n._onSegmentPredict=function(e){if(n.isCurrentInAbr&&n._isSegmentDrive){var a=Math.floor(n.player.downloadSpeed);e.isInitSegment||"video"!==e.mediaType||n._loopAbr(a,e.start,e.fix?e.end:0,e)}},n._onPlay=function(){n._hasStart=!0,n.logger("onplay")},n._onSeeking=function(){var e,a;n._isSeeking=!0,n.player.currentTime<n._videoCurrentTime?n._seekState=-1:n._seekState=1,null===(e=n.module)||void 0===e||null===(a=e._updateSeekInfo)||void 0===a||a.call(e,n._seekState),n.logger("seekState",n._seekState)},n._onSeekEnd=function(){n._isSeeking=!1,n.checkRestart()},n._onWaiting=function(){if(!(n._isSeeking||n._waitingStartTime>0)){for(var e=n.player.video.buffered,a=n.player.currentTime,c=!0,t=0;t<e.length;t++){var b=e.start(t),r=e.end(t);if(b<=a&&a<r-(n.autoBitrateOpts.decodeUnderflowBuffer||1)&&n.player.readyState<HTMLVideoElement.HAVE_ENOUGH_DATA){n._underFlowDecodeCount++,c=!1;break}}var i=n._underFlowDecodeCount>=(n.autoBitrateOpts.decodeUnderflowCount||1),d=n._defaultMaxBitrate>0||n._underflowBitrate>0,f=1===n.autoBitrateOpts.decodeUnderflowMode&&n._isSegmentDrive;if(i&&(d||f)){var o=!0;if(f){var s=n._maxBitrate;n._maxBitrate=n._minBitrate,o=n._maxBitrate!==s}n.player.emit("ABR_LIMIT_BITRATE",{removed:o}),n._underflowBitrate>0&&(n._maxBitrate=n._underflowBitrate)}n._waitingStartTime=(new Date).getTime(),n._stallId=setTimeout((function(){var e,a;clearTimeout(n._stallId),n._stallCount++,n._stallState=1,null===(e=n.module)||void 0===e||null===(a=e.updateWaitingState)||void 0===a||a.call(e,c)}),200)}},n._onPlaying=function(){n._waitingStartTime=0,n._stallState=0,clearTimeout(n._stallId),n.checkRestart()},n._onTimeUpdate=function(e){var a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(n._sortedBufferRange&&0!==n._sortedBufferRange.length&&n._currentInAbr&&n.player){n._videoCurrentTime=n.player.currentTime;var c=Date.now();if(!(c-n._lastCheckResolutionStamp<1e3&&0!==n._lastCheckResolutionStamp)||a){n._lastCheckResolutionStamp=c;for(var t=n.player.currentTime,b=0,r=n._sortedBufferRange.length-1,i=null;b<=r;){var d=Math.floor(b+(r-b)/2),f=n._sortedBufferRange[d];if(t<f.start)r=d-1;else{if(!(t>=f.end)){i=f;break}b=d+1}}if(i){var o,s=null===(o=n._bitrateToDefinitionConfig)||void 0===o?void 0:o.get(i.bandwidth),u=null==s?void 0:s.definition;if(n._currentDefinition===u&&!a||!u)return void(u||n.logger("error definition, mpd配置与接口配置不一致"));n._currentDefinition=u,n._prevDefinitionItem=n._currentItem,n._currentFps=s.fps,n._currentItem=s,n._emitAutoDescChange(u,!1,n._currentFps,s),n._prevDefinitionItem&&n._currentDefinition&&n._prevDefinitionItem.definition!==n._currentDefinition.definition&&n._emitDefinitionRealChange(i)}}}},n._onCanPlay=function(){n._currentInAbr&&n._currentDefinition&&(n._updateId=setTimeout((function(){clearTimeout(n._updateId),n._emitAutoDescChange(n._currentDefinition,!1,n._currentFps,n._currentItem)}),0))},n._onBufferRangeUpdate=function(e){if(void 0!==e.start){null===n._currentItem&&n._onTimeUpdate(null,!0);var a=e.start;n._hasAddFragment=!0,n._bufferRange.set(a,e);var c=Le(n._bufferRange.values());n._sortedBufferRange=c.sort((function(e,a){return e.start-a.start})),n.avgStat(nn.DOWNLOAD_BITRATE,e.bandwidth)}},n._onReplay=function(){n.checkRestart()},n._onEnded=function(){n.stop()},n._onError=function(){n.stop()},n.start=function(){if(n.logger("start"),n._isPaused=!1,!n._hasCalcTimelineLog){var e=1===Math.floor(100*Math.random());n._abr_play_info.is_hint=e?1:0}n._hasCalcTimelineLog=!0,n._loop()},n.stop=function(){!0===(arguments.length>0&&void 0!==arguments[0]&&arguments[0])&&(n._abrAlwaysOn=-1),clearTimeout(n.timerId),n._isPaused=!0,n.logger("stop")},n.logger("constructor",c,t,b,r,n.bitrate),n.player=e,n.isOpenAutoDefi=!!n.autoBitrateOpts.isOpenAutoDefi,n._isSegmentDrive=1===n.autoBitrateOpts.abrDriveMode,n.onPlayRateChange=n._onPlayrateChange.bind(n),n._onWinSizeChange=(i=n.onWinElemSizeChange.bind(n),d=1e3,f=!1,function(){for(var e=this,a=arguments.length,c=new Array(a),t=0;t<a;t++)c[t]=arguments[t];var b=c,r=f&&!o;clearTimeout(o),o=setTimeout((function(){o=null,f||i.apply(e,b)}),d),r&&i.apply(e,b)}),n._maxDefinition=n.autoBitrateOpts.maxDefinition||null,n._maxBitrate=-1,n.listeners=[{evt:"MAX_BUFFER_CHANGE",handler:n._onMaxBufferChange.bind(n)},{evt:"playbackrateChange",handler:n.onPlayRateChange},{evt:"replay",handler:n._onReplay},{evt:"ended",handler:n._onEnded},{evt:"error",handler:n._onError},{evt:"timeupdate",handler:n._onTimeUpdate},{evt:"addVideoBufferEnd",handler:n._onBufferRangeUpdate},{evt:"canplay",handler:n._onCanPlay},{evt:"play",handler:n._onPlay},{evt:"seeking",handler:n._onSeeking},{evt:"seeked",handler:n._onSeekEnd},{evt:"waiting",handler:n._onWaiting},{evt:"playing",handler:n._onPlaying},{evt:"video_resize",handler:n._onWinSizeChange},{evt:"NEXT_SEGMENT_PREDICT",handler:n._onSegmentPredict}],n.listeners.forEach((function(e){var a=e.evt,c=e.handler;n.player.on(a,c)})),n._abrMethod=n.autoBitrateOpts.method||0,n._loopInterval=n.initInterval,Xr.install(),n._maxCacheTimeVideo=n.config.preloadTime||5,n._maxCacheTimeAudio=n._maxCacheTimeVideo;for(var u=Object.keys(nn),l=0;l<u.length;l++){var h=u[l],p=nn[h];n._avgStatItems[p]=new fn}return n}return we(a,e),_e(a,[{key:"init",value:function(e){return this._mediaList=e,this.isOpenAutoDefi?this._onLoadWasm():this._wasmPromise.resolve(),this._wasmPromise}},{key:"execute",value:function(){return this.listenSize(),this.initFps(),this.onWinElemSizeChange(),this._execDecision()}},{key:"initFps",value:function(){this.fpsDetection=new Xr,this.fpsDetection.start(),this._fps=this.fpsDetection.fps,this._hasDeviceInfoChanged=!0}},{key:"listenSize",value:function(){window.removeEventListener("resize",this._onWinSizeChange),window.addEventListener("resize",this._onWinSizeChange)}},{key:"onWinElemSizeChange",value:function(){var e,a,c=(null===(e=this.player)||void 0===e?void 0:e.media)||(null===(a=this.player)||void 0===a?void 0:a.video);if(c){var t=c.getBoundingClientRect();this._videoWidth=Math.floor(t.width),this._videoHeight=Math.floor(t.height),this._hasDeviceInfoChanged=!0}}},{key:"execTimeUpdate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._onTimeUpdate(null,e)}},{key:"_onMaxBufferChange",value:function(e){var a=e.videoCacheTime,c=e.audioCacheTime;this._maxCacheTimeAudio=c,this._maxCacheTimeVideo=a}},{key:"_emitAutoDescChange",value:function(e,a,c,t){var b;this.logger("[ABR],emitAutoDescChange, definition, ",e,",item,",t,",pre_item,",this._prevDefinitionItem),null===(b=this.player)||void 0===b||b.emit("UPDATE_AUTO_DESC",{definition:e,reset:a,fps:c,item:t,pre_item:this._prevDefinitionItem})}},{key:"_emitDefinitionRealChange",value:function(e){var a,c=0,t=e.start;this._abrChangeTimeMap[t]&&(this._abrChangeTimeMap[t]=0,delete this._abrChangeTimeMap[t],c=1),null===(a=this.player)||void 0===a||a.emit("ABR_DEFINITION_REAL_CHANGE",{orgDefinition:this._prevDefinitionItem.definition,orgBitrate:this._prevDefinitionItem.bitrate||this._prevDefinitionItem.bandwidth,currentDefinition:this._currentItem.definition,currentBitrate:this._currentItem.bitrate||this._currentItem.bandwidth,abrChange:c})}},{key:"_onPlayrateChange",value:function(){this.module&&this.updateBufferInfo()}},{key:"_execDecision",value:function(){if(!this.isOpenAutoDefi)return 0;var e=0;try{this.logger("exec decision"),this.updateSwitchInfo(),this.transformMediaInfo(),this.updateDeviceInfo();var a=!!this.autoBitrateOpts.isPlayAutoDefi;if(this.isOpenAutoDefi&&a){this._abrUsed=1;var c=this._getDefaultSpeed(this.player);this._isSegmentDrive||(e=this._loopAbr(c)),this.start(),this._changeLoopInterval(),this.logger("time start progress",(new Date).getTime()),this.logger("time costTime",performance.now()-this.startTime)}}catch(Cn){this.logger("decision error",Cn),this.logger("time costTime err",performance.now()-this.startTime)}return e}},{key:"_changeLoopInterval",value:function(){var e=this;this.startTimer&&(clearTimeout(this.startTimer),this.startTimer=null),this.startTimer=setTimeout((function(){e._loopInterval=e.interval,e.startTimer&&clearTimeout(e.startTimer),e.logger("interval change")}),5e3)}},{key:"_loop",value:function(){var e=this;this._isPaused||this._isSegmentDrive||(clearTimeout(this.timerId),this.timerId=setTimeout((function(){var a,c=e.player,t=e.config;if(e._hasStart&&null!==(a=t.autoBitrateOpts)&&void 0!==a&&a.stillRunWhenPaused||!c.paused||!c.config.autoplay&&!e._hasStart){var b=e._hasAddFragment?void 0:e._getDefaultSpeed(c);e._loopAbr(b)}e._loop()}),this._loopInterval))}},{key:"checkRestart",value:function(){var e;null!==(e=this.config.autoBitrateOpts)&&void 0!==e&&e.autoRestartAbr&&this._currentInAbr&&this._isPaused&&this.start()}},{key:"updateDeviceInfo",value:function(){try{if(this.fpsDetection){var e=this.fpsDetection.fps;e!==this._fps&&(this._fps=e,this._hasDeviceInfoChanged=!0)}this._updateDeviceInfo(this._fps)}catch(Cn){}}},{key:"updateBufferInfo",value:function(e){var a,c,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,b=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=this.player.playbackRate,n=this.bufferLength;b>0&&(this.player&&(n=b-this.player.video.currentTime));var i=e||Math.floor(this.player.downloadSpeed);this._tickCount<5&&0===i&&(i=this._getDefaultSpeed(this.player),this.logger("initSpeed fix"));var d=-1===this._maxBitrate?this._defaultMaxBitrate:this._maxBitrate;return this.logger("downloadSpeed:",i,"buffer:",n,"maxCacheTimeAudio:",this._maxCacheTimeAudio,"maxCacheVideoTime",this._maxCacheTimeVideo,"seekState",this._seekState,"stallState",this._stallState,"segmentBufferStart",t,"segmentBufferEnd",b),null===(a=this.module)||void 0===a||a._updateBufferInfo(r,this._maxCacheTimeAudio,this._maxCacheTimeVideo,n,this._isSegmentDrive?b:n,i,this._seekState,null===(c=this.player)||void 0===c?void 0:c.currentTime,this._stallState,d),this._seekState=0,this._eventInfo={internet_speed:i,buffer_length:n,last_bitrate:this.bitrate,play_speed:r},this.logger("playRate:",r,"buff:",n,"downloadSpeed:",i),{buffer:n,downloadSpeed:i}}},{key:"updateSwitchInfo",value:function(){var e,a,c=(new Date).getTime();this._openTimeMs=c,this._abr_play_info.start_play_time_ms=c;var t,b,r=(null===(e=this.player)||void 0===e?void 0:e.config.preloadTime)||50,n=(b=(t=c).toString(16)).length<=8?{high:0,low:t}:{high:parseInt(b.substr(0,b.length-8),16),low:parseInt(b.substr(b.length-8),16)},i=this.autoBitrateOpts.noStallCheckTime||5,d=this.openLog;this.logger("openTime:",c,"this.logger",d),null===(a=this.module)||void 0===a||a._updateSwitchInfo(n.low,n.high,i,d,this.stall_penalty,this.switch_penalty);var f=this._mediaList.video,o=f.map((function(e){var a=e.bandwidth,c=e.bitrate;return a||c}));this._bitrateSet=o.map((function(e,a){return{bitrate:e,codecs:f[a].codecs||f[a].codec_type||""}})),this._generalInfo={max_cache_time:r,bitrate_set:this._bitrateSet,segment_duration:this.segment_duration,preload_info:{},startup_info:{}}}},{key:"updatePreloadCacheInfo",value:function(e){try{this._preloadInfo=e,this.logger("update preloadInfo",e),e&&e.item_num!==e.items.length&&(this.logger("preloadInfo invalid"),this._preloadInfo=null)}catch(a){this.logger("updatePreloadCacheInfo",a),this._preloadInfo=null}}},{key:"updatePreloadLogInfo",value:function(e){this._generalInfo.preload_info=e||{}}},{key:"_loopAbr",value:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this._tickCount++;var b=-1,r=[];if(!this.module||!this.player)return this.bitrate;try{var n,i=(new Date).getTime(),d=this.player;this.updateDeviceInfo();var f=this.updateBufferInfo(e,a,c),o=f.downloadSpeed,s=f.buffer;if(this.module.updateDropFrame&&d.video.getVideoPlaybackQuality){var u,l=d.video.getVideoPlaybackQuality(),h=l.droppedVideoFrames/l.totalVideoFrames;null===(u=this.module)||void 0===u||u.updateDropFrame(h)}b=this.module._getPredictedBitrate(this.bitrate,this._abrMethod);for(var p=0;p<7;p++)r.push(this.module.HEAP32[b/Int32Array.BYTES_PER_ELEMENT+p]);var v=r[0],y=1===r[1];this._eventInfo.now_bitrate=v,this._eventInfo.local_time_ms=(new Date).getTime();var m=0;if(v!==this.bitrate&&0!==v||this.autoBitrateOpts.reportVerboseAbrLog){var g=this.player.currentTime;if(this.module.getStat){var _=this.module.getStat();d.emit("ABR_STAT",Ae(Ae({v_time:g,diff_current_position:-1===this._prevCurrentTime?0:g-this._prevCurrentTime,net_speed:8*o,costTime:(new Date).getTime()-i,download_time:null==t?void 0:t.costTime},_),{},{gop_size:null==t?void 0:t.gopSize,audio_buffer:null==t?void 0:t.audioBuffer})),this._abrChangeTimeMap[_.download_position]=1}this._prevCurrentTime=g}if(v!==this.bitrate&&0!==v){var k=this.bitrate;m=Math.abs(k-v);for(var E=[],S=(d.media||d.video).buffered,w=0;w<S.length;w++)E.push({start:S.start(w),end:S.end(w)});var x=this._videoWidth||Number(this.config.width),T=this._videoHeight||Number(this.config.height),A=(new Date).getTime(),I={speed:"".concat(o," KB/s"),buffer_length:"".concat(s," s"),video_pos:d.currentTime,all_buffers:E,seek_state:this._seekState,stall_state:this._stallState,screen_width:x,screen_height:T,dpr:window&&window.devicePixelRatio,playbackRate:d.playbackRate,bitrateSet:this._bitrateSet,abrMethod:this._abrMethod,delta:this._hasExecuteAbrAlgo?A-this._lastExecuteTimeInMs:0};this._lastExecuteTimeInMs=A,this._hasExecuteAbrAlgo=!0,this.logger("abr predicate: ".concat(v,", prevBitrate: ").concat(k,","),"willStall: ".concat(y,", switchBitrate: ").concat(m)),this.updateBitrate(v),d.emit("ABR_CHANGE_A",k,v,y,JSON.stringify(I))}this._hasLogStartInfo||(this._hasLogStartInfo=!0,this._generalInfo.startup_info={predict_bitrate:v,download_speed:o,screen_width:this._videoWidth||Number(this.config.width),screen_height:this._videoHeight||Number(this.config.height),device_pixel_ratio:window&&window.devicePixelRatio,screen_fps:this._fps,startup_method:this._abrMethod}),null===(n=this.player)||void 0===n||n.emit("ABR_LOOP"),this.onAbrLoop(o,r[2],m,r.slice(3))}catch(Cn){this.logger("abr error",Cn),console.error("loopAbr error",Cn)}finally{b>-1&&this.module._free(b)}return this.bitrate}},{key:"destroy",value:function(){var e,a=this;this.stop(),this.listeners.forEach((function(e){var c,t=e.evt,b=e.handler;null===(c=a.player)||void 0===c||c.off(t,b)})),this._maxBitrate=-1,this.player=null,this._heightToDefinitionConfig=null,this._bitrateToDefinitionConfig=null,this._bitrateToDefinitionConfig=null,this._bufferRange.clear(),this._sortedBufferRange=[],this.module=null,clearTimeout(this._stallId),clearTimeout(this._updateId),this.startTimer&&clearTimeout(this.startTimer),window.removeEventListener("resize",this._onWinSizeChange),null===(e=this.fpsDetection)||void 0===e||e.stop()}},{key:"eventInfo",get:function(){return this._eventInfo}},{key:"generalInfo",get:function(){return this._generalInfo}},{key:"bufferLength",get:function(){var e,a,c=(null===(e=this.player)||void 0===e?void 0:e.getBufferedRange())||[],t=((null===(a=this.player)||void 0===a?void 0:a.video)||{currentTime:0}).currentTime,b=c[1]-Math.max(c[0],t),r=Math.max(0,b).toFixed(2);return parseFloat(r)}},{key:"downloadSpeed",get:function(){return Math.floor(this.player.downloadSpeed)}},{key:"nowBitrate",get:function(){return this.bitrate}},{key:"openTimeMs",get:function(){return this._openTimeMs}},{key:"isCurrentInAbr",get:function(){return this._currentInAbr},set:function(e){this._currentInAbr=e}},{key:"isCurrentHDR",get:function(){return this._isCurrentHDR},set:function(e){this._isCurrentHDR=e}},{key:"onAbrLoop",value:function(e){var a,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,b=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];if(this._qoeArgs=b,this._currentItem&&this.avgStat(nn.PLAYBACK_BITRATE,this._currentItem.bitrate),this.avgStat(nn.DOWNLOAD_NETWORK_SPEED,1e3*e*8),this.avgStat(nn.PREDICT_NETWORK_SPEED,c),this.avgStat(nn.BUFFER_LENGTH,this.bufferLength),this.avgStat(nn.QOE,this.getQoeRelValue(0)),t>0&&(this._switchCount++,this._switchBitrate+=t),this._abr_play_info.is_hint){var r=((new Date).getTime()-this.openTimeMs)/1e3;r=parseFloat(r.toFixed(2)),this._abr_play_info.playback_info.internet_speed_record.push([r,this.downloadSpeed]),this._abr_play_info.playback_info.play_bitrate_record.push([r,this.nowBitrate]),this._abr_play_info.playback_info.buffer_length_record.push([r,this.bufferLength]),this._abr_play_info.playback_info.play_speed_record.push([r,(null===(a=this.player)||void 0===a?void 0:a.playbackRate)||-1]),this._abr_play_info.playback_info.qoe_record.push([r,this.getQoeRelValue(0)]),this._abr_play_info.playback_info.qoe_a_record.push([r,this.getQoeRelValue(1)]),this._abr_play_info.playback_info.qoe_b_record.push([r,this.getQoeRelValue(2)]),this._abr_play_info.playback_info.qoe_c_record.push([r,this.getQoeRelValue(3)])}}},{key:"getQoeRelValue",value:function(e){return this._qoeArgs[e]/100}},{key:"avgStat",value:function(e,a){var c=this._avgStatItems[e];c&&c.add(a)}},{key:"getAbrPlayInfo",value:function(){return this._abr_play_info}},{key:"updateAbrMethod",value:function(e){this._abrMethod=e}},{key:"getAbrMethod",value:function(){return this._abrMethod}},{key:"updateSegmentDuration",value:function(e){var a;this.segment_duration=e,null!==(a=this.module)&&void 0!==a&&a.updateSegmentDuration&&this.module.updateSegmentDuration(e)}},{key:"getAbrVVStats",value:function(){for(var e={},a=Object.keys(nn),c=0;c<a.length;c++){var t=a[c],b=nn[t],r=this._avgStatItems[b];e[b]=r.avg()}return e.switch_counts=this._switchCount,e.avg_switch_bitrate=0===this._switchCount?0:this._switchBitrate/this._switchCount,e.abr_qoe=this.getQoeRelValue(0),e.abr_qoe_a=this.getQoeRelValue(1),e.abr_qoe_b=this.getQoeRelValue(2),e.abr_qoe_c=this.getQoeRelValue(3),e.abr_method=this._abrMethod,e.abr_used=this._abrUsed,e.abr_always_on=this._abrAlwaysOn,this.logger("abrVVStats",e),e}}])}(bn),fn=function(){return _e((function e(){ye(this,e),this.total=0,this.count=0}),[{key:"add",value:function(e){this.total+=e,this.count++}},{key:"avg",value:function(){if(0===this.count)return 0;var e=this.total/this.count;return Math.floor(e)}}])}();!function(e,a){function c(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var t,b=0,r=[];for(t=0;t<4;++t)b+=(3&parseInt(e.slice(8+2*t,10+2*t),16))<<2*t;var n=parseInt(e.slice(16,24),16),i=2*parseInt(e.slice(32,40),16);for(t=40;t<i+40;t+=2)r.push(parseInt(e.slice(t,t+2),16));var d=i+40,f=parseInt(e.slice(d,d+4),16);for(d+=4,t=0;t<f;++t){var o=c(e,d);d+=2*o[0];for(var s=0;s<o[1];++s){var u=c(e,d);String.fromCharCode(b^u[1]),d+=2*u[0]}}a.p=null,function(e,a,c,t){var b,n,i,d,f=-1,o=[],s=null,u=[a];for(n=Math.min(a.length,0),i=0;i<n;++i)u.push(a[i]);u.p=t;for(var l=[];;)try{switch(r[e++]){case 48:o[++f]=void 0;break;case 12:for(n=o[f--],i=null;d=l.pop();)if(2===d[0]||3===d[0]){i=d;break}if(i)e=i[2],i[0]=0,l.push(i);else{if(!s)return n;e=s[1],s[2],u=s[3],l=s[4],o[++f]=n,s=s[0]}break;default:throw new Error("ioe")}}catch(h){for(;(b=l.pop())&&!b[0];);if(!b){e:for(;s;){for(n=s[4];b=n.pop();)if(b[0])break e;s=s[0]}if(!s)throw h;e=s[1],s[2],u=s[3],l=s[4],s=s[0]}1===(n=b[0])?(e=b[2],b[0]=0,l.push(b),o[++f]=h):2===n?(e=b[2],b[0]=0,l.push(b)):(e=b[3],b[0]=2,l.push(b),o[++f]=h)}}(n,[],0,a)}("504B010185868188000000008b83868500000002300c0000",{});var on=function(){try{return"undefined"!=typeof localStorage&&"setItem"in window.localStorage&&!!window.localStorage.setItem}catch(e){return!1}}()&&!function(){var e="_localstorage_support_test";try{return window.localStorage.setItem(e,"true"),window.localStorage.removeItem(e),!1}catch(a){return!0}}(),sn=function(){if(on)try{return!!window.localStorage.getItem("playerlog")}catch(e){return!1}return!1}();!function(){if(on)try{return!!window.localStorage.getItem("playertestlog")}catch(e){return!1}}();var un={1:"debug",2:"log",3:"warn",4:"error"};function ln(e,a,c){for(var t=un[a],b=arguments.length,r=new Array(b>3?b-3:0),n=3;n<b;n++)r[n-3]=arguments[n];if(t&&e&&e[t])e[t].apply(e,[c].concat(r));else if(sn&&console.log){var i;(i=console).log.apply(i,["[logger]",c].concat(r))}}function hn(e,a,c){for(var t=arguments.length,b=new Array(t>3?t-3:0),r=3;r<t;r++)b[r-3]=arguments[r];if(1===arguments.length)ln(console,2,e);else ln.apply(void 0,[e,2,c||""].concat(b))}function pn(e){return"auto"===e||"自动"===e}var vn=function(){return _e((function e(a,c){var t=this;ye(this,e),this._startPlay=!1,this.bitrateMap={},this.defIdMap={},this.canplayHandler=function(){t._startPlay=!0},this.updateABRDownSpeed=function(e){e.eventName===qb.SPEED&&(t._abrInstance.updateBufferInfo(),t._abrInstance.getPreloadBitrate())},this._onAbrChange=function(e,a,c,b){var r=t._plugin,n=r.player,i=r.core,d=t.bitrateMap[e],f=t.bitrateMap[a],o=null==d?void 0:d.definition,s=f&&f.definition?f.definition:o,u=n.getBufferedRange(),l=Array.isArray(u)?u[1]:n.currentTime;null===(null==i?void 0:i.abrSwitchPoint)||o===s||!t._startPlay||n.duration>0&&n.duration-l<2?t.abrInstance.bitrate!==e&&t.abrInstance.updateBitrate(e):(t._abrSwitchHandler(f),n.emit("ABR_CHANGE",{prev:o,cur:s,prevName:d.definitionName,curName:f.definitionName,abrInfo:b}))},this._onAutoDescChange=function(e){var a=e.definition,c=e.reset,b=e.fps,r=e.item;t.updateAutoDefiDesc(a,c,b,r)};var b=a.player;this._plugin=a,this._abrSwitchHandler=c;var r=a.config.autoBitrateOpts||{};this.isPlayAutoDef=!!r.isPlayAutoDefi,this.isOpenAutoDef=!!r.isOpenAutoDefi,this.isCurrentAutoDef=this.isOpenAutoDef&&this.isPlayAutoDef,b.once("playing",this.canplayHandler)}),[{key:"abrInstance",get:function(){return this._abrInstance}},{key:"bitrate",get:function(){return this._abrInstance.bitrate},set:function(e){this._abrInstance.updateBitrate(e)}},{key:"init",value:(e=pe(De().mark((function e(a){var c,t,b,r,n,i=this;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.isOpenAutoDef){e.next=2;break}return e.abrupt("return",{type:"FIXED"});case 2:return c=this._plugin,t=c.player,b=c.config,r=b.autoBitrateOpts||{},t.on(rn.UPDATE_AUTO_DESC,this._onAutoDescChange),t.on(rn.ABR_CHANGE,this._onAbrChange),this.bitrateMap={},this.defIdMap={},n=a.video.map((function(e){return{bandwidth:e.bitrate,height:e.height,width:e.width,codecs:e.codecs,definition:e.definition}})),"boolean"!=typeof r.autoRestartAbr&&(r.autoRestartAbr=!0),"boolean"!=typeof r.stillRunWhenPaused&&(r.stillRunWhenPaused=!0),this._abrInstance=new dn(t,b,0,{dynamic_video_list:Le(n)},5e3,{logger:function(e){for(var a=arguments.length,c=new Array(a>1?a-1:0),t=1;t<a;t++)c[t-1]=arguments[t];hn.apply(void 0,[i._plugin.logger,1,e].concat(c))},openLog:sn}),e.next=14,this._abrInstance.init(a);case 14:this._abrInstance.isCurrentInAbr=this.isCurrentAutoDef;case 15:case"end":return e.stop()}}),e,this)}))),function(a){return e.apply(this,arguments)})},{key:"execute",value:function(){var e=this._abrInstance.execute();return{bitrate:e,type:-1===e?"FIXED":"AUTO"}}},{key:"enable",value:function(){this._abrInstance.start(),this.isCurrentAutoDef=!0,this._abrInstance.isCurrentInAbr=!0,this._abrInstance.execTimeUpdate(!0)}},{key:"disable",value:function(){this._abrInstance&&(this.updateAutoDefiDesc("",!0),this.isCurrentAutoDef=!1,this._abrInstance.isCurrentInAbr=!1,this._abrInstance.stop(!0))}},{key:"isCurrentInAbr",value:function(){var e;return(null===(e=this._abrInstance)||void 0===e?void 0:e.isCurrentInAbr)||!1}},{key:"updateAutoDefiDesc",value:function(e){var a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0,b=this._plugin,r=b.player,n=(b.config.autoBitrateOpts||{}).autoDefiText||"auto";this.curDefinition={definition:"自动 ".concat(e),item:t},r.emit("ABR_AUTO_DESC_CHANGE",n,a?void 0:e,c,t)}},{key:"updateAbrCacheData",value:function(){var e,a=this,c=this._plugin,t=c.player,b=c.config,r=c.playerConfig,n=b.autoBitrateOpts||{},i=(null===(e=r.definition)||void 0===e?void 0:e.list)||[],d=!1;if(i.forEach((function(e){var c=a.isAutoDefValue(e.definition);c&&(d=!0),e.bitrate&&(c||a.bitrateMap[e.bitrate]||(a.bitrateMap[e.bitrate]={url:e.url,definition:e.definition,definitionName:e.text},a.defIdMap[e.definition]={bitrate:e.bitrate,definition:e.definition}))})),this.isOpenAutoDef&&!d&&r.definition&&t.curDefinition){var f,o=n.autoDefiText||"auto",s={definition:"auto",bitrate:t.curDefinition.bitrate,text:o,url:"__auto__",selected:this.isPlayAutoDef,name:"自动",vwidth:t.curDefinition.vwidth,vheight:t.curDefinition.vheight};null===(f=r.definition)||void 0===f||f.list.push(s)}}},{key:"isAutoDefValue",value:function(e){return pn(e)}},{key:"destroy",value:function(){var e=this._plugin.player;e.off(rn.ABR_CHANGE,this._onAbrChange),e.off("playing",this.canplayHandler),e.off("core_event",this.updateABRDownSpeed),this._abrInstance&&(e.off(rn.UPDATE_AUTO_DESC,this._onAutoDescChange),this._abrInstance.destroy()),this.defIdMap={},this.bitrateMap={}}}]);var e}();function yn(e){e.root&&ue.Util.addClass(e.root,"xgplayer-is-enter")}function mn(e){e.root&&ue.Util.removeClass(e.root,"xgplayer-is-enter")}function gn(e,a,c){if(e&&a&&c){var t=Object.getOwnPropertyDescriptor(e,a);null!=t&&t.configurable?delete e[a]:t&&!t.writable||(e[a]=c)}}var _n=function(e){var a={};function c(t){if(a[t])return a[t].exports;var b=a[t]={i:t,l:!1,exports:{}};return e[t].call(b.exports,b,b.exports,c),b.l=!0,b.exports}return c.m=e,c.c=a,c.d=function(e,a,t){c.o(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:t})},c.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.t=function(e,a){if(1&a&&(e=c(e)),8&a)return e;if(4&a&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(c.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&a&&"string"!=typeof e)for(var b in e)c.d(t,b,function(a){return e[a]}.bind(null,b));return t},c.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(a,"a",a),a},c.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},c.p="",c(c.s=22)}([function(e,a,c){var t=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=t)},function(e,a,c){var t=c(12)("wks"),b=c(13),r=c(0).Symbol,n="function"==typeof r;(e.exports=function(e){return t[e]||(t[e]=n&&r[e]||(n?r:b)("Symbol."+e))}).store=t},function(e,a,c){var t=e.exports={version:"2.6.12"};"number"==typeof __e&&(__e=t)},function(e,a,c){var t=c(4);e.exports=function(e){if(!t(e))throw TypeError(e+" is not an object!");return e}},function(e,a,c){var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};e.exports=function(e){return"object"===(void 0===e?"undefined":t(e))?null!==e:"function"==typeof e}},function(e,a,c){var t=c(6);e.exports=function(e,a,c){if(t(e),void 0===a)return e;switch(c){case 1:return function(c){return e.call(a,c)};case 2:return function(c,t){return e.call(a,c,t)};case 3:return function(c,t,b){return e.call(a,c,t,b)}}return function(){return e.apply(a,arguments)}}},function(e,a,c){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,a,c){e.exports=!c(15)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,a,c){var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},function(e,a,c){var t=c(3),b=c(26),r=c(27),n=Object.defineProperty;a.f=c(7)?Object.defineProperty:function(e,a,c){if(t(e),a=r(a,!0),t(c),b)try{return n(e,a,c)}catch(i){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(e[a]=c.value),e}},function(e,a,c){e.exports=!1},function(e,a,c){var t=c(8),b=c(1)("toStringTag"),r="Arguments"==t(function(){return arguments}());e.exports=function(e){var a,c,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(c=function(e,a){try{return e[a]}catch(c){}}(a=Object(e),b))?c:r?t(a):"Object"==(n=t(a))&&"function"==typeof a.callee?"Arguments":n}},function(e,a,c){var t=c(2),b=c(0),r=b["__core-js_shared__"]||(b["__core-js_shared__"]={});(e.exports=function(e,a){return r[e]||(r[e]=void 0!==a?a:{})})("versions",[]).push({version:t.version,mode:c(10)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(e,a,c){var t=0,b=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++t+b).toString(36))}},function(e,a,c){var t=c(9),b=c(28);e.exports=c(7)?function(e,a,c){return t.f(e,a,b(1,c))}:function(e,a,c){return e[a]=c,e}},function(e,a,c){e.exports=function(e){try{return!!e()}catch(a){return!0}}},function(e,a,c){var t=c(4),b=c(0).document,r=t(b)&&t(b.createElement);e.exports=function(e){return r?b.createElement(e):{}}},function(e,a,c){var t=c(0),b=c(14),r=c(18),n=c(13)("src"),i=c(29),d=(""+i).split("toString");c(2).inspectSource=function(e){return i.call(e)},(e.exports=function(e,a,c,i){var f="function"==typeof c;f&&(r(c,"name")||b(c,"name",a)),e[a]!==c&&(f&&(r(c,n)||b(c,n,e[a]?""+e[a]:d.join(String(a)))),e===t?e[a]=c:i?e[a]?e[a]=c:b(e,a,c):(delete e[a],b(e,a,c)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[n]||i.call(this)}))},function(e,a,c){var t={}.hasOwnProperty;e.exports=function(e,a){return t.call(e,a)}},function(e,a,c){e.exports={}},function(e,a,c){var t,b,r,n=c(5),i=c(38),d=c(39),f=c(16),o=c(0),s=o.process,u=o.setImmediate,l=o.clearImmediate,h=o.MessageChannel,p=o.Dispatch,v=0,y={},m=function(){var e=+this;if(y.hasOwnProperty(e)){var a=y[e];delete y[e],a()}},g=function(e){m.call(e.data)};u&&l||(u=function(e){for(var a=[],c=1;arguments.length>c;)a.push(arguments[c++]);return y[++v]=function(){i("function"==typeof e?e:Function(e),a)},t(v),v},l=function(e){delete y[e]},"process"==c(8)(s)?t=function(e){s.nextTick(n(m,e,1))}:p&&p.now?t=function(e){p.now(n(m,e,1))}:h?(r=(b=new h).port2,b.port1.onmessage=g,t=n(r.postMessage,r,1)):o.addEventListener&&"function"==typeof postMessage&&!o.importScripts?(t=function(e){o.postMessage(e+"","*")},o.addEventListener("message",g,!1)):t="onreadystatechange"in f("script")?function(e){d.appendChild(f("script")).onreadystatechange=function(){d.removeChild(this),m.call(e)}}:function(e){setTimeout(n(m,e,1),0)}),e.exports={set:u,clear:l}},function(e,a,c){var t=c(6);function b(e){var a,c;this.promise=new e((function(e,t){if(void 0!==a||void 0!==c)throw TypeError("Bad Promise constructor");a=e,c=t})),this.resolve=t(a),this.reject=t(c)}e.exports.f=function(e){return new b(e)}},function(e,a,c){e.exports=c(23)},function(e,a,c){Object.defineProperty(a,"__esModule",{value:!0}),c(24);var t,b=(t=c(48))&&t.__esModule?t:{default:t};a.default={url:b.default},e.exports=a.default},function(e,a,c){var t,b,r,n,i=c(10),d=c(0),f=c(5),o=c(11),s=c(25),u=c(4),l=c(6),h=c(30),p=c(31),v=c(37),y=c(20).set,m=c(40)(),g=c(21),_=c(41),k=c(42),E=c(43),S=d.TypeError,w=d.process,x=w&&w.versions,T=x&&x.v8||"",A=d.Promise,I="process"==o(w),D=function(){},O=b=g.f,R=!!function(){try{var e=A.resolve(1),a=(e.constructor={})[c(1)("species")]=function(e){e(D,D)};return(I||"function"==typeof PromiseRejectionEvent)&&e.then(D)instanceof a&&0!==T.indexOf("6.6")&&-1===k.indexOf("Chrome/66")}catch(t){}}(),L=function(e){var a;return!(!u(e)||"function"!=typeof(a=e.then))&&a},C=function(e,a){if(!e._n){e._n=!0;var c=e._c;m((function(){for(var t=e._v,b=1==e._s,r=0,n=function(a){var c,r,n,i=b?a.ok:a.fail,d=a.resolve,f=a.reject,o=a.domain;try{i?(b||(2==e._h&&M(e),e._h=1),!0===i?c=t:(o&&o.enter(),c=i(t),o&&(o.exit(),n=!0)),c===a.promise?f(S("Promise-chain cycle")):(r=L(c))?r.call(c,d,f):d(c)):f(t)}catch(s){o&&!n&&o.exit(),f(s)}};c.length>r;)n(c[r++]);e._c=[],e._n=!1,a&&!e._h&&P(e)}))}},P=function(e){y.call(d,(function(){var a,c,t,b=e._v,r=j(e);if(r&&(a=_((function(){I?w.emit("unhandledRejection",b,e):(c=d.onunhandledrejection)?c({promise:e,reason:b}):(t=d.console)&&t.error&&t.error("Unhandled promise rejection",b)})),e._h=I||j(e)?2:1),e._a=void 0,r&&a.e)throw a.v}))},j=function(e){return 1!==e._h&&0===(e._a||e._c).length},M=function(e){y.call(d,(function(){var a;I?w.emit("rejectionHandled",e):(a=d.onrejectionhandled)&&a({promise:e,reason:e._v})}))},B=function(e){var a=this;a._d||(a._d=!0,(a=a._w||a)._v=e,a._s=2,a._a||(a._a=a._c.slice()),C(a,!0))},U=function e(a){var c,t=this;if(!t._d){t._d=!0,t=t._w||t;try{if(t===a)throw S("Promise can't be resolved itself");(c=L(a))?m((function(){var b={_w:t,_d:!1};try{c.call(a,f(e,b,1),f(B,b,1))}catch(r){B.call(b,r)}})):(t._v=a,t._s=1,C(t,!1))}catch(b){B.call({_w:t,_d:!1},b)}}};R||(A=function(e){h(this,A,"Promise","_h"),l(e),t.call(this);try{e(f(U,this,1),f(B,this,1))}catch(a){B.call(this,a)}},(t=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=c(44)(A.prototype,{then:function(e,a){var c=O(v(this,A));return c.ok="function"!=typeof e||e,c.fail="function"==typeof a&&a,c.domain=I?w.domain:void 0,this._c.push(c),this._a&&this._a.push(c),this._s&&C(this,!1),c.promise},catch:function(e){return this.then(void 0,e)}}),r=function(){var e=new t;this.promise=e,this.resolve=f(U,e,1),this.reject=f(B,e,1)},g.f=O=function(e){return e===A||e===n?new r(e):b(e)}),s(s.G+s.W+s.F*!R,{Promise:A}),c(45)(A,"Promise"),c(46)("Promise"),n=c(2).Promise,s(s.S+s.F*!R,"Promise",{reject:function(e){var a=O(this);return(0,a.reject)(e),a.promise}}),s(s.S+s.F*(i||!R),"Promise",{resolve:function(e){return E(i&&this===n?A:this,e)}}),s(s.S+s.F*!(R&&c(47)((function(e){A.all(e).catch(D)}))),"Promise",{all:function(e){var a=this,c=O(a),t=c.resolve,b=c.reject,r=_((function(){var c=[],r=0,n=1;p(e,!1,(function(e){var i=r++,d=!1;c.push(void 0),n++,a.resolve(e).then((function(e){d||(d=!0,c[i]=e,--n||t(c))}),b)})),--n||t(c)}));return r.e&&b(r.v),c.promise},race:function(e){var a=this,c=O(a),t=c.reject,b=_((function(){p(e,!1,(function(e){a.resolve(e).then(c.resolve,t)}))}));return b.e&&t(b.v),c.promise}})},function(e,a,c){var t=c(0),b=c(2),r=c(14),n=c(17),i=c(5),d=function e(a,c,d){var f,o,s,u,l=a&e.F,h=a&e.G,p=a&e.P,v=a&e.B,y=h?t:a&e.S?t[c]||(t[c]={}):(t[c]||{}).prototype,m=h?b:b[c]||(b[c]={}),g=m.prototype||(m.prototype={});for(f in h&&(d=c),d)s=((o=!l&&y&&void 0!==y[f])?y:d)[f],u=v&&o?i(s,t):p&&"function"==typeof s?i(Function.call,s):s,y&&n(y,f,s,a&e.U),m[f]!=s&&r(m,f,u),p&&g[f]!=s&&(g[f]=s)};t.core=b,d.F=1,d.G=2,d.S=4,d.P=8,d.B=16,d.W=32,d.U=64,d.R=128,e.exports=d},function(e,a,c){e.exports=!c(7)&&!c(15)((function(){return 7!=Object.defineProperty(c(16)("div"),"a",{get:function(){return 7}}).a}))},function(e,a,c){var t=c(4);e.exports=function(e,a){if(!t(e))return e;var c,b;if(a&&"function"==typeof(c=e.toString)&&!t(b=c.call(e)))return b;if("function"==typeof(c=e.valueOf)&&!t(b=c.call(e)))return b;if(!a&&"function"==typeof(c=e.toString)&&!t(b=c.call(e)))return b;throw TypeError("Can't convert object to primitive value")}},function(e,a,c){e.exports=function(e,a){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:a}}},function(e,a,c){e.exports=c(12)("native-function-to-string",Function.toString)},function(e,a,c){e.exports=function(e,a,c,t){if(!(e instanceof a)||void 0!==t&&t in e)throw TypeError(c+": incorrect invocation!");return e}},function(e,a,c){var t=c(5),b=c(32),r=c(33),n=c(3),i=c(34),d=c(36),f={},o={},s=e.exports=function(e,a,c,s,u){var l,h,p,v,y=u?function(){return e}:d(e),m=t(c,s,a?2:1),g=0;if("function"!=typeof y)throw TypeError(e+" is not iterable!");if(r(y)){for(l=i(e.length);l>g;g++)if((v=a?m(n(h=e[g])[0],h[1]):m(e[g]))===f||v===o)return v}else for(p=y.call(e);!(h=p.next()).done;)if((v=b(p,m,h.value,a))===f||v===o)return v};s.BREAK=f,s.RETURN=o},function(e,a,c){var t=c(3);e.exports=function(e,a,c,b){try{return b?a(t(c)[0],c[1]):a(c)}catch(n){var r=e.return;throw void 0!==r&&t(r.call(e)),n}}},function(e,a,c){var t=c(19),b=c(1)("iterator"),r=Array.prototype;e.exports=function(e){return void 0!==e&&(t.Array===e||r[b]===e)}},function(e,a,c){var t=c(35),b=Math.min;e.exports=function(e){return e>0?b(t(e),9007199254740991):0}},function(e,a,c){var t=Math.ceil,b=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?b:t)(e)}},function(e,a,c){var t=c(11),b=c(1)("iterator"),r=c(19);e.exports=c(2).getIteratorMethod=function(e){if(null!=e)return e[b]||e["@@iterator"]||r[t(e)]}},function(e,a,c){var t=c(3),b=c(6),r=c(1)("species");e.exports=function(e,a){var c,n=t(e).constructor;return void 0===n||null==(c=t(n)[r])?a:b(c)}},function(e,a,c){e.exports=function(e,a,c){var t=void 0===c;switch(a.length){case 0:return t?e():e.call(c);case 1:return t?e(a[0]):e.call(c,a[0]);case 2:return t?e(a[0],a[1]):e.call(c,a[0],a[1]);case 3:return t?e(a[0],a[1],a[2]):e.call(c,a[0],a[1],a[2]);case 4:return t?e(a[0],a[1],a[2],a[3]):e.call(c,a[0],a[1],a[2],a[3])}return e.apply(c,a)}},function(e,a,c){var t=c(0).document;e.exports=t&&t.documentElement},function(e,a,c){var t=c(0),b=c(20).set,r=t.MutationObserver||t.WebKitMutationObserver,n=t.process,i=t.Promise,d="process"==c(8)(n);e.exports=function(){var e,a,c,f=function(){var t,b;for(d&&(t=n.domain)&&t.exit();e;){b=e.fn,e=e.next;try{b()}catch(r){throw e?c():a=void 0,r}}a=void 0,t&&t.enter()};if(d)c=function(){n.nextTick(f)};else if(!r||t.navigator&&t.navigator.standalone)if(i&&i.resolve){var o=i.resolve(void 0);c=function(){o.then(f)}}else c=function(){b.call(t,f)};else{var s=!0,u=document.createTextNode("");new r(f).observe(u,{characterData:!0}),c=function(){u.data=s=!s}}return function(t){var b={fn:t,next:void 0};a&&(a.next=b),e||(e=b,c()),a=b}}},function(e,a,c){e.exports=function(e){try{return{e:!1,v:e()}}catch(a){return{e:!0,v:a}}}},function(e,a,c){var t=c(0).navigator;e.exports=t&&t.userAgent||""},function(e,a,c){var t=c(3),b=c(4),r=c(21);e.exports=function(e,a){if(t(e),b(a)&&a.constructor===e)return a;var c=r.f(e);return(0,c.resolve)(a),c.promise}},function(e,a,c){var t=c(17);e.exports=function(e,a,c){for(var b in a)t(e,b,a[b],c);return e}},function(e,a,c){var t=c(9).f,b=c(18),r=c(1)("toStringTag");e.exports=function(e,a,c){e&&!b(e=c?e:e.prototype,r)&&t(e,r,{configurable:!0,value:a})}},function(e,a,c){var t=c(0),b=c(9),r=c(7),n=c(1)("species");e.exports=function(e){var a=t[e];r&&a&&!a[n]&&b.f(a,n,{configurable:!0,get:function(){return this}})}},function(e,a,c){var t=c(1)("iterator"),b=!1;try{var r=[7][t]();r.return=function(){b=!0},Array.from(r,(function(){throw 2}))}catch(n){}e.exports=function(e,a){if(!a&&!b)return!1;var c=!1;try{var r=[7],n=r[t]();n.next=function(){return{done:c=!0}},r[t]=function(){return n},e(r)}catch(i){}return c}},function(e,a,c){Object.defineProperty(a,"__esModule",{value:!0});var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};a.default=function(e,a,c){if(e&&a){var b=void 0;try{b=(0,r.getUri)(e,a,c)}catch(i){return Promise.reject(i.message)}return new n.default({type:"json",method:"GET",url:b}).then((function(e){return e&&e.response?"string"==typeof e.response?JSON.parse(e.response).Result:"object"===t(e.response)?e.response.Result:e.response:e}))}return Promise.reject("vid, host and token can't be empty")};var b,r=c(49),n=(b=c(51))&&b.__esModule?b:{default:b};e.exports=a.default},function(e,a,c){Object.defineProperty(a,"__esModule",{value:!0}),a.getUri=function(e,a){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{e=JSON.parse((0,t.decode)(e))}catch(i){throw new Error("base64 decode error: "+i.message)}var b=[];for(var r in c)b.push(r+"="+c[r]);var n=(/^http/.test(a)?a:"//"+a)+"?"+e.GetPlayInfoToken+"&ssl=true";return b.length>0&&(n+="&"+b.join("&")),n};var t=c(50)},function(e,a,c){Object.defineProperty(a,"__esModule",{value:!0}),a.decode=function(e){var a,c,t,b,r,n,i,d=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1];for(n=e.length,r=0,i="";r<n;){do{a=d[255&e.charCodeAt(r++)]}while(r<n&&-1===a);if(-1===a)break;do{c=d[255&e.charCodeAt(r++)]}while(r<n&&-1===c);if(-1===c)break;i+=String.fromCharCode(a<<2|(48&c)>>4);do{if(61==(t=255&e.charCodeAt(r++)))return i;t=d[t]}while(r<n&&-1===t);if(-1===t)break;i+=String.fromCharCode((15&c)<<4|(60&t)>>2);do{if(61==(b=255&e.charCodeAt(r++)))return i;b=d[b]}while(r<n&&-1===b);if(-1===b)break;i+=String.fromCharCode((3&t)<<6|b)}return i}},function(e,a,c){Object.defineProperty(a,"__esModule",{value:!0}),a.default=function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},c=a.url,t=a.method,b=void 0===t?"GET":t,r=(a.type,a.data),n=void 0===r?{}:r,i=a.headers,d=void 0===i?{}:i;return function(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}(this,e),new Promise((function(e,a){var t=new window.XMLHttpRequest,r=b.toUpperCase(),i=[];for(var f in n)i.push(f+"="+n[f]);if("GET"!==r)throw new Error("xhr "+r+" is not supported");for(var o in t.open(r,""+c,!0),t.responseType="",d)t.setRequestHeader(o,""+d[o]);t.send(),t.onload=function(){200===t.status||206===t.status?e(t):a(t)},t.onerror=function(){a(t)},t.ontimeout=function(){a(t)}}))},e.exports=a.default}]),kn=Me(_n);function En(e,a){return Sn.apply(this,arguments)}function Sn(){return(Sn=pe(De().mark((function e(a,c){return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){hn("service request: ".concat(c,", ").concat(a)),kn.url(a,c).then((function(a){var c=[],t=(null==a?void 0:a.Data)||a;hn("service response: ".concat(t?JSON.stringify({Status:t.Status,vid:t.VideoID}):void 0)),null!=t&&t.PlayInfoList&&t.PlayInfoList.length>0?(c=t.PlayInfoList,e({videoList:c,vid:t.VideoID,rawData:a})):(console.error("HAS NO VIDEO INFORMATION CORRECTLY, PLEASE CHECK THE TOKEN."),e({videoList:[],rawData:a}))}))})));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function wn(e){if(e.sort((function(e,a){return a.Bitrate-e.Bitrate})),e[0].Bitrate){var a=0;e.every((function(c,t){return e[0].Bitrate===c.Bitrate&&(a=t,!0)})),a>0&&e.splice(a)}return e}function xn(e,a,c){var t=c||[];if(e.sort((function(e,a){return a.Bitrate-e.Bitrate})),e[0].Bitrate){var b=0;e.every((function(a,c){return e[0].Bitrate===a.Bitrate&&(b=c,!0)})),b>0&&e.splice(b)}e.forEach((function(e){var a,c,b={name:e.Definition||"标清",definition:e.Definition,url:e.MainPlayUrl||e.src||"",backupUrl:e.BackupPlayUrl,bitrate:e.Bitrate,size:e.Size,kid:e.PlayAuthID,codec:e.Codec,width:e.Width,height:e.Height,playAuth:e.PlayAuth,drmType:e.DrmType},r=function(e,a){for(var c=0;c<a.length;c++)if(e.Definition.toLocaleLowerCase()===a[c].definition.toLocaleLowerCase())return c;return-1}(e,t);r>=0?(a=b,(c=t[r])||(c=a),Object.keys(a).map((function(e){c[e]=a[e]}))):t.push(b)}));var r=-1;if(a)for(var n=0;n<e.length;n++)e[n].Definition.toLocaleLowerCase()===a.toLocaleLowerCase()&&(r=n);return r<0&&(r=0),c[r]&&(c[r].selected=!0),{index:r,list:t}}var Tn=function(){return _e((function e(a,c){ye(this,e),this.timeID=void 0,this.func=a,this.frequency=c}),[{key:"repeat",value:function(){var e=this,a=this.func,c=this.frequency;a&&c&&(this.timeID=setTimeout((function(){a(),e.repeat()}),c))}},{key:"cancel",value:function(){this.timeID&&(clearTimeout(this.timeID),this.timeID=void 0)}}])}();function An(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[],i=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var d=parseInt(e.slice(16,24),16),f=2*parseInt(e.slice(32,40),16);for(b=40;b<f+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var o=f+40,s=parseInt(e.slice(o,o+4),16);for(o+=4,b=0;b<s;++b){var u=t(e,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=t(e,o);l+=String.fromCharCode(r^p[1]),o+=2*p[0]}i.push(l)}return a.p=null,function e(a,c,t,b,r){var d,f,o,s,u,l=-1,h=[],p=[0,null],v=null,y=[c];for(f=Math.min(c.length,t),o=0;o<f;++o)y.push(c[o]);y.p=b;for(var m=[];;)try{switch(n[a++]){case 76:d=n[a++],h[++l]=d<<24>>24;break;case 7:d=((d=((d=n[a++])<<8)+n[a++])<<8)+n[a++],h[++l]=(d<<8)+n[a++];break;case 63:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=i[d];break;case 48:h[++l]=void 0;break;case 72:h[++l]=r;break;case 57:d=(n[a]<<8)+n[a+1],a+=2,l=l-d+1,f=h.slice(l,l+d),h[l]=f;break;case 39:h[++l]={};break;case 61:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],h[l][f]=o;break;case 33:for(f=n[a++],o=n[a++],s=y;f>0;--f)s=s.p;h[++l]=s[o];break;case 42:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],h[l]=h[l][f];break;case 70:f=h[l--],h[l]=h[l][f];break;case 60:for(f=n[a++],o=n[a++],s=y;f>0;--f)s=s.p;s[o]=h[l--];break;case 25:f=h[l--],h[l]+=f;break;case 15:f=h[l--],h[l]=h[l]===f;break;case 13:f=h[l--],h[l]=h[l]!==f;break;case 62:f=h[l--],h[l]=h[l]>f;break;case 35:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?--l:a+=d;break;case 31:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?a+=d:--l;break;case 23:d=n[a++],f=h[l--],(o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)})._v=[f,d,y],o._u=e,h[++l]=o;break;case 45:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=m[m.length-1])[1]=a+d;break;case 5:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=m[m.length-1])&&!f[1]?(f[0]=3,f.push(a)):m.push([1,0,a]),a+=d;break;case 26:if(o=(f=m.pop())[0],s=p[0],1===o)a=f[1];else if(0===o)if(0===s)a=f[1];else{if(1!==s)throw p[1];if(!v)return p[1];a=v[1],r=v[2],y=v[3],m=v[4],h[++l]=p[1],p=[0,null],v=v[0]}else a=f[2],f[0]=0,m.push(f);break;case 12:for(f=h[l--],o=null;s=m.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)p=[1,f],a=o[2],o[0]=0,m.push(o);else{if(!v)return f;a=v[1],r=v[2],y=v[3],m=v[4],h[++l]=f,p=[0,null],v=v[0]}break;case 74:l-=d=n[a++],o=h.slice(l+1,l+d+1),f=h[l--],s=h[l--],f._u===e?(f=f._v,v=[v,a,r,y,m],a=f[0],null==s&&(s=function(){return this}()),r=s,(y=[o].concat(o)).length=Math.min(f[1],d)+1,y.p=f[2],m=[]):(u=f.apply(s,o),h[++l]=u);break;case 47:for(d=n[a++],s=[void 0],u=d;u>0;--u)s[u]=h[l--];o=h[l--],u=new(f=Function.bind.apply(o,s)),h[++l]=u;break;case 44:a+=2+(d=(d=(n[a]<<8)+n[a+1])<<16>>16);break;case 54:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=h[l--])||(a+=d);break;case 0:--l;break;case 46:f=h[l],h[++l]=f;break;default:throw new Error("ioe")}}catch(g){for(p=[0,null];(d=m.pop())&&!d[0];);if(!d){e:for(;v;){for(f=v[4];d=f.pop();)if(d[0])break e;v=v[0]}if(!v)throw g;a=v[1],r=v[2],y=v[3],m=v[4],v=v[0]}1===(f=d[0])?(a=d[2],d[0]=0,m.push(d),h[++l]=g):2===f?(a=d[2],d[0]=0,m.push(d),p=[3,g]):(a=d[3],d[0]=2,m.push(d),h[++l]=g)}}(d,[],0,a,c)}var In=["eventName"],Dn=null,On=null,Rn=function(){function e(){var a,c;ye(this,e);for(var t=arguments.length,b=new Array(t),r=0;r<t;r++)b[r]=arguments[r];return(a=ve(this,e,[].concat(b))).abrService=null,a._currentPlaySessionId=-1,Dn||(Dn=a.player._startInit),On||(On=a.player.playNext),ue.BasePlugin.defineGetterOrSetter(a.player,(c=a,{downloadSpeed:{get:function(){return c.core.speedInfo().speed/8e3},configurable:!0},historyAvspeed:{get:function(){return c.core.speedInfo().avgSpeed/8e3},configurable:!0},abrInstance:{get:function(){var e;return null===(e=c.abrService)||void 0===e?void 0:e.abrInstance},configurable:!0},logCache:{get:function(){if(c.logger)return c.logger.getLogCache()},configurable:!0},currentDefinitionFromPlayer:{get:function(){var e;return null!=c&&null!==(e=c.abrService)&&void 0!==e&&e.isCurrentInAbr()?c.abrService.curDefinition:c.player.curDefinition},configurable:!0}})),ue.BasePlugin.defineMethod(a.player,function(e){var a=e.player,c=e.playerConfig,t=Object.getOwnPropertyDescriptor(a,"switchURL");return null!=t&&t.configurable&&delete a.switchURL,{playNext:function(t){var b;e._currentPlaySessionId++;var r=e._currentPlaySessionId,n=a.paused;a.pause(),a.hasStart=!1,a.curDefinition=null,["url","vid","kid","playAuthToken","keyToken","startTime","secretKey"].forEach((function(a){e.config[a]=void 0})),c.url=void 0,c.definition&&(c.definition={list:[]}),Object.keys(t).map((function(a){a.toLocaleLowerCase()===e.pluginName.toLocaleLowerCase()?"Object"===ue.Util.typeOf(t[a])&&Object.keys(t[a]).map((function(c){e.config[c]=t[a][c]})):c[a]=t[a]})),c.autoplay="boolean"==typeof t.autoplay?t.autoplay:!n,e.getUrlTime=(new Date).getTime()/1e3,null===(b=e.abrService)||void 0===b||b.destroy(),e.abrService=null,e.isNativeMode?e.start(void 0,{playSessionId:r}):new Promise((function(a){e.hls?a(void 0):setTimeout((function(){a(void 0)}),0)})).then((function(){e.isPlaySessionValid(r)&&e.hls.detachMedia().then((function(){e.isPlaySessionValid(r)&&e.start(void 0,{playSessionId:r})}))}))},_startInit:function(a){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t={};ue.Util.isNotNull(c.playSessionId)?t.playSessionId=c.playSessionId:e._currentPlaySessionId>0&&(t.playSessionId=e._currentPlaySessionId),e.start("",t)},switchURL:function(a,c){return pe(De().mark((function t(){var b,r,n,i,d,f,o;return De().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(b=e.player,r=e.hls,n=e.isNativeMode,i=b.paused,d=Or(c,e),f=++e._currentPlaySessionId,!r&&!n){t.next=11;break}return b.config.url=a,d.seamless||(yn(b),n&&((o=b.media||b.video).removeAttribute("src"),o.load(),d.startTime>0&&(b.currentTime=d.startTime))),t.next=9,e.start(a,{switchUrlArgs:d,playSessionId:f});case 9:if(e.isPlaySessionValid(f)){t.next=11;break}return t.abrupt("return");case 11:return t.abrupt("return",new Promise((function(e){var a=function(){mn(b),i?b.once("playing",(function(){b.pause(),e()})):e()};d.seamless?e():(ue.Sniffer.os.isAndroid?b.once("timeupdate",(function(){a()})):b.once("canplay",(function(){a()})),n&&!i&&b.play())})));case 12:case"end":return t.stop()}}),t)})))()},changeDefinition:function(a,c){var t,b,r,n,i,d,f,o,s,u,l,h=arguments.length>2&&void 0!==arguments[2]&&arguments[2],p=e.player,v=e.playerConfig,y=e.abrService,m=e.isNativeMode,g=p.config.definition,_="自动"===(null===(t=a)||void 0===t?void 0:t.definition)||"auto"===(null===(b=a)||void 0===b?void 0:b.definition);if(!c&&p.curDefinition&&(c=p.curDefinition),Array.isArray(null==g?void 0:g.list)&&g.list.forEach((function(e){var c,t;h?!pn(e.definition)&&(null===(c=a)||void 0===c?void 0:c.bitrate)===e.bitrate&&p.curDefinition&&(p.curDefinition.bitrate=e.bitrate,"number"==typeof e.height&&"number"==typeof e.width&&(p.curDefinition.height=e.height,p.curDefinition.width=e.width)):(null===(t=a)||void 0===t?void 0:t.definition)===e.definition&&(p.curDefinition=e)})),null!==(r=a)&&void 0!==r&&r.bitrate&&"number"!=typeof a.bitrate&&(a.bitrate=parseInt(a.bitrate,10)||0),!h&&!_){var k,E=null===(k=v.definition)||void 0===k?void 0:k.list;if(E&&(!a.bitrate||!a.uri||!a.size||!a.duration))for(var S=0;S<E.length;S++)if(a.definition===E[S].definition){var w;a.bitrate=E[S].bitrate,a.uri=E[S].uri||(null===(w=c)||void 0===w?void 0:w.uri),a.size=E[S].size,a.duration=E[S].duration||v.duration;break}}h?e.log("[switchBitrate:ABR] switch bitrate to ".concat(a.definition,", ").concat(null===(d=c)||void 0===d?void 0:d.bitrate,"->").concat(a.bitrate),e.core.abrSwitchPoint,_):(p.emit(ue.Events.DEFINITION_CHANGE,{from:c,to:a}),_&&p.curDefinition&&pn(null===(o=a=p.curDefinition)||void 0===o?void 0:o.definition)&&"number"==typeof(null===(s=c)||void 0===s?void 0:s.bitrate)&&c.bitrate>0&&(a.bitrate=null===(u=c)||void 0===u?void 0:u.bitrate),_?(null==y||y.enable(),y&&"number"==typeof(null===(l=c)||void 0===l?void 0:l.bitrate)&&c.bitrate>0&&(y.bitrate=c.bitrate)):null==y||y.disable(),e.log("[switchBitrate:CBS] switch bitrate to ".concat(a.definition,", ").concat(null===(f=c)||void 0===f?void 0:f.bitrate,"->").concat(a.bitrate)));if(!(!h&&_||h&&!e.core.abrSwitchPoint||h&&(null===(n=a)||void 0===n?void 0:n.bitrate)===(null===(i=c)||void 0===i?void 0:i.bitrate)))if(p.hasStart){h||(p.curDefinition=a);var x=h?e.core.abrSwitchPoint:p.currentTime,T=p.getBufferedRange(),A=Array.isArray(T)?T[1]:-1;e.log("beforeSwitchURL: ".concat(a.url,", isAbrSwitch: ").concat(h,", targetTime: ").concat(x),"duration: ".concat(p.duration,", bufferEnd: ").concat(A));var I=p.switchURL(a.url,Ae({seamless:!m&&(!1!==(null==g?void 0:g.seamless)&&"undefined"!=typeof MediaSource&&"function"==typeof MediaSource.isTypeSupported||h),currentTime:x},a));I&&I.then?I.then((function(){h||p.emit(ue.Events.AFTER_DEFINITION_CHANGE,{from:c,to:a})})):h||p.emit(ue.Events.AFTER_DEFINITION_CHANGE,{from:c,to:a})}else p.config.url=a.url}}}(a)),a}return we(e,Rr),_e(e,[{key:"versionNum",get:function(){return Rn.semver.major}},{key:"beforePlayerInit",value:function(){var a=this;this.log("beforePlayerInit"),this.player;var c=this.playerConfig,t=this.config,b=Br.isMobile(t.preferMMS);this.isNativeMode=!(!b&&(void 0===t.useHls||t.useHls)),this.getUrlTime=(new Date).getTime()/1e3,this.hlsOpts=t.hlsOpts||{},this.hlsTimer=new Tn((function(){a._detectExpires()}),t.checkExpireInterval),c.hls||(c.hls={}),c.hls.preferMMS=!!t.preferMMS,c.hls.preferMMSStreaming=!!t.preferMMSStreaming,c.hls.fetchOptions||(c.hls.fetchOptions={}),t.netAllowCredentials&&(c.hls.fetchOptions.credentials="include"),t.maxBufferLength>0&&(c.hls.preloadTime=t.maxBufferLength),this.isNativeMode||c.hls.decryptor||(c.hls.decryptor=new Ue({enableSoftwareAES:!!this.hlsOpts.enableSoftwareAES})),!this.isNativeMode&&this._mseEnvValid()&&(c.url&&(t.url=c.url,c.url=""),c.__allowHlsEmptyUrl__=!0,Re(e,"beforePlayerInit",this,3)([])),this._bindEvents()}},{key:"_bindEvents",value:function(){var e=this,a=this.config,c=this.player;this.isNativeMode||c.once("playing",(function(){var e=c.media||c.video,a=!1,t=e.querySelector("track");t&&("hidden"===t.track.mode&&(a=!0),t.track.mode="hidden",e.removeChild(t)),c.config.textTrack&&c.config.textTrack.length>0&&c.config.textTrack.some((function(c){if(c.src&&c.label&&c.default){var t=document.createElement("track");return t.src=c.src,t.kind=c.kind,t.label=c.label,t.srclang=c.srclang,t.default=!0,e.appendChild(t),a&&(t.track.mode="hidden"),!0}}))})),a.checkHlsOffline&&Br.on(this,"timeupdate",(function(){e._checkOffline()}),"destroy"),Br.on(c,"loadeddata",(function(){var a,c;e.isNativeMode||(null!==(a=e.abrService)&&void 0!==a&&a.isCurrentInAbr()&&e.abrService.enable(),null===(c=e.abrService)||void 0===c||c.execute())}),"destroy"),Br.on(c,"error",(function(){var a;null===(a=e.hlsTimer)||void 0===a||a.cancel()}),"destroy"),Br.on(c,"core_event",(function(a){var t=a.eventName,b=Ie(a,In);switch(t){case qb.STREAM_PARSED:var r,n,i=null===(r=e.core)||void 0===r?void 0:r.currentStream;i&&!i.bitrate&&null!==(n=c.curDefinition)&&void 0!==n&&n.bitrate&&(i.bitrate=c.curDefinition.bitrate);break;case qb.APPEND_BUFFER:var d,f;(null===(d=e.core)||void 0===d?void 0:d.currentStream)&&c.emit("addVideoBufferEnd",{start:b.start,end:b.end,bandwidth:null===(f=c.curDefinition)||void 0===f?void 0:f.bitrate})}}),"destroy")}},{key:"destroy",value:function(){var a;Re(e,"destroy",this,3)([]),this.hlsTimer&&(this.hlsTimer.cancel(),this.hlsTimer=void 0),gn(this.player,"_startInit",Dn),gn(this.player,"playNext",On),this._playOriginalUrl=null,null===(a=this._secretKey)||void 0===a||a.destroy()}},{key:"log",value:function(e){for(var a=arguments.length,c=new Array(a>1?a-1:0),t=1;t<a;t++)c[t-1]=arguments[t];hn.apply(void 0,[this.logger,2,e].concat(c))}},{key:"_mseEnvValid",value:function(){var e=this.player,a=this.config,c=!1;return qe.checkMSEValid(a.preferMMS)?c=!0:e.emit("error",{msg:"MediaSource or SourceBuffer hijack",errorCode:-9995}),c}},{key:"start",value:(n=pe(De().mark((function e(){var a,c,t,b,r,n,i,d,f,o,s,u,l,h,p,v,y,m,g,_,k=arguments;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=k.length>0&&void 0!==k[0]?k[0]:"",b=k.length>1&&void 0!==k[1]?k[1]:{},this.log("_start"),r=this.player,n=b.playSessionId,(i=/^blob:/i.test(t))||(this._playOriginalUrl=null),e.prev=7,t){e.next=20;break}return e.next=11,this._getRawManifest({playSessionId:n});case 11:if(d=e.sent,this.isPlaySessionValid(n)){e.next=14;break}return e.abrupt("return");case 14:if(null!=d&&d.url){e.next=16;break}throw new Error("no service url");case 16:t=d.url,this._rawManifestInfo=d,e.next=21;break;case 20:this._rawManifestInfo&&(this._rawManifestInfo.url=t,this._rawManifestInfo.videoList=this._rawManifestInfo.videoList||r.definitionList||[]);case 21:if(f={playSessionId:n},!this._rawManifestInfo){e.next=36;break}if(o=this._rawManifestInfo,s=o.url,u=o.vid,l=o.videoList,!Array.isArray(l)){e.next=36;break}h=0;case 26:if(!(h<l.length)){e.next=36;break}if((p=l[h]).url!==s){e.next=33;break}return f.vid=u,f.kid=p.kid,f.playAuth=p.playAuth,e.abrupt("break",36);case 33:h++,e.next=26;break;case 36:if(i){e.next=44;break}return this._playOriginalUrl=r.config.url=t,e.next=40,this._getTransformManifestUrl(t,f);case 40:if(v=e.sent,this.isPlaySessionValid(n)&&v){e.next=43;break}return e.abrupt("return");case 43:r.config.url=v.url;case 44:e.next=53;break;case 46:return e.prev=46,e.t0=e.catch(7),y=e.t0.message||e.t0.name||"url transform error",m=e.t0.stack||"",g=e.t0.code||-9996,y===Cr.GetKeyByKeyTokenFail&&(g=-9991),e.abrupt("return",r.emit("error",{errorCode:g,msg:y,errorStack:m}));case 53:if(this.isPlaySessionValid(n)){e.next=55;break}return e.abrupt("return");case 55:t=this.player.config.url,this.isNativeMode||(b.switchUrlArgs?(this.log("hls switchUrl: ".concat(t)),this.hls.switchURL(t,b.switchUrlArgs)):(this.log("hls load: ".concat(t)),this.hls.load(t,{clearSwitchStatus:!0}))),null!==(a=b.switchUrlArgs)&&void 0!==a&&a.seamless||null===(_=Dn)||void 0===_||_.call(this.player,t,{playSessionId:n}),null===(c=this.hlsTimer)||void 0===c||c.repeat();case 59:case"end":return e.stop()}}),e,this,[[7,46]])}))),function(){return n.apply(this,arguments)})},{key:"_getRawManifest",value:(r=pe(De().mark((function e(a){var c,t,b,r,n,i,d,f,o,s,u,l,h,p,v;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.log("getRawManifest()"),t=a.playSessionId,b=this.config,r=this.playerConfig,n=b.vid,i=b.playAuthToken,d=b.playDomain,f=b.testUrl,o=b.testUrlExpire,s=b.autoBitrateOpts,u={url:b.url||r.url,playAuthToken:i,vid:n,playDomain:d,testUrl:f,testUrlExpire:o},l=(null===(c=r.definition)||void 0===c?void 0:c.list)||[],h=(null==s?void 0:s.isOpenAutoDefi)&&Array.isArray(l)&&l.filter((function(e){return pn(e.definition)})).length>0,!this.isNativeMode&&h&&(p=this._initAbrDefinition())&&(u.url=p.url),!u.url){e.next=20;break}if(this.log("directUrl: ".concat(u.url)),this.emit&&this.emit("can_start"),!(l.length>0)){e.next=17;break}return e.next=14,this._initAbrService(l.filter((function(e){return!pn(e.definition)})));case 14:if(this.isPlaySessionValid(t)){e.next=16;break}return e.abrupt("return",null);case 16:this._emitResourceReady(l);case 17:return e.abrupt("return",{url:u.url});case 20:if(!i&&!u.vid){e.next=31;break}return e.prev=21,e.next=24,this._playByToken(i,d,{playSessionId:t});case 24:return v=e.sent,e.abrupt("return",v);case 28:throw e.prev=28,e.t0=e.catch(21),new Error("playByToken error: ".concat(e.t0.message));case 31:return e.abrupt("return",null);case 32:case"end":return e.stop()}}),e,this,[[21,28]])}))),function(e){return r.apply(this,arguments)})},{key:"_initAbrService",value:(b=pe(De().mark((function e(a){var c,t,b,r,n,i,d=this;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=this.player,t=this.playerConfig,b=this.config,!this.isNativeMode&&b.autoBitrateOpts&&b.autoBitrateOpts.isOpenAutoDefi){e.next=3;break}return e.abrupt("return",!1);case 3:return this.abrService||(this.log("new ABRService()"),this.abrService=new vn(this,(function(e){for(var a,b=(null===(a=t.definition)||void 0===a?void 0:a.list)||[],r=0,n=0;n<b.length;n++)if(e.definition===b[n].definition){r=n;break}var i=b.filter((function(e){var a;return e.bitrate===(null===(a=c.curDefinition)||void 0===a?void 0:a.bitrate)&&!pn(e.definition)}))[0],f=b[r];d.log("changeDefinition: ".concat((null==i?void 0:i.definition)||(null==i?void 0:i.text)," -> ").concat(f.definition||f.text)),c.changeDefinition(f,i,!0)}))),this.log("abrService init"),e.next=7,this.abrService.init({video:a.map((function(e){return{width:e.width||0,height:e.height||0,bitrate:e.bitrate||0,codecs:e.codec||"",definition:e.definition}}))});case 7:return this.abrService&&(i=null===(r=t.definition)||void 0===r?void 0:r.list,Array.isArray(i)&&i.length>0&&this.abrService.updateAbrCacheData(),null!==(n=c.curDefinition)&&void 0!==n&&n.bitrate&&(this.abrService.bitrate=c.curDefinition.bitrate)),e.abrupt("return",!0);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return b.apply(this,arguments)})},{key:"_initAbrDefinition",value:function(){var e,a,c=this.player,t=this.playerConfig,b=this.config,r=(null===(e=t.definition)||void 0===e?void 0:e.list)||[],n=t.definition&&void 0!==Pe(t.definition.defaultDefinition)?t.definition.defaultDefinition:t.defaultDefinition,i=!(null===(a=b.autoBitrateOpts)||void 0===a||!a.isPlayAutoDefi),d=null;if(r.length>0){var f=r.filter((function(e){return!pn(e.definition)}));d=f.length>0?f.filter((function(e){return e.definition===n}))[0]||f[0]:null,c.curDefinition&&!i||(c.curDefinition=r.filter((function(e){return i?pn(e.definition):e.definition===n}))[0]||null),c.curDefinition.vwidth||Object.assign(c.curDefinition,this._getDefinitionItem(c.curDefinition.definition)),d&&!c.curDefinition.bitrate&&(c.curDefinition.bitrate=d.bitrate)}if(i)for(var o=0;o<r.length;o++){var s=r[o];s.selected=pn(s.definition)}return d}},{key:"_getDefinitionItem",value:function(e){var a=this.playerConfig;if(!a.definition||!a.definition.list)return null;for(var c=0;c<a.definition.list.length;c++){var t=a.definition.list[c];if(t.definition===e)return t}return null}},{key:"_playByToken",value:(t=pe(De().mark((function e(a,c,t){var b,r,n,i,d,f,o,s,u,l,h,p,v,y,m,g,_,k=this;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b=this.player,r=this.config,n=t.playSessionId,e.next=4,En(a,c);case 4:if(i=e.sent,d=i.vid,f=i.videoList,o=i.rawData,this.isPlaySessionValid(n)){e.next=10;break}return e.abrupt("return",null);case 10:if(this.emit&&this.emit("get_play_info",o),!(f&&f.length>0&&(f[0].MainPlayUrl||f[0].src))){e.next=31;break}return wn(f),this.getUrlTime=(new Date).getTime()/1e3,s=b.config.definition,u=(null==s?void 0:s.defaultDefinition)||b.config.defaultDefinition,f[0].UrlExpire&&(this.urlExpireTimestamp=r.testUrlExpire||f[0].UrlExpire),l=xn(f,u,(null==s?void 0:s.list)||[]),e.next=20,this._initAbrService(l.list);case 20:if(p=e.sent,this.isPlaySessionValid(n)){e.next=23;break}return e.abrupt("return",null);case 23:return p?(h=(null===(y=b.config.definition)||void 0===y?void 0:y.list)||[],v=h.filter((function(e){var a;return e.bitrate===(null===(a=k.abrService)||void 0===a?void 0:a.bitrate)}))[0]):(h=l.list,v=h[l.index],b.curDefinition=v),"private_encrypt_upgrade"===v.drmType&&(r.secretKey=v.playAuth),m=v.url,this._emitResourceReady(h),this.emit&&this.emit("can_start"),e.abrupt("return",{url:m,vid:d,videoList:l.list});case 31:throw g=(o||{ResponseMetadata:{Error:{CodeN:0,Message:""},RequestId:""}}).ResponseMetadata,this.emit&&this.emit("playInterfaceInfo",{code:g.Error.CodeN,message:g.Error.Message,logid:g.RequestId}),_={msg:"HAS NO VIDEO INFORMATION CORRECTLY, PLEASE CHECK THE TOKEN.",errorCode:-9998},this.emit&&this.emit("error",_),_;case 37:case"end":return e.stop()}}),e,this)}))),function(e,a,c){return t.apply(this,arguments)})},{key:"_getTransformManifestUrl",value:(c=pe(De().mark((function e(a){var c,t,b=arguments;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=b.length>1&&void 0!==b[1]?b[1]:{},e.next=3,this._loadSource(a,c);case 3:if(t=e.sent,this.isPlaySessionValid(c.playSessionId)){e.next=6;break}return e.abrupt("return",null);case 6:if(t){e.next=8;break}return e.abrupt("return",null);case 8:if("string"!=typeof t){e.next=12;break}return e.abrupt("return",{url:t});case 12:return e.abrupt("return",new Promise((function(e){var a=new FileReader;a.onload=function(){e({url:a.result})},a.readAsDataURL(t)})));case 13:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"_processRetData",value:function(e){if(e.sort((function(e,a){return a.Bitrate-e.Bitrate})),e[0].Bitrate){var a=0;e.every((function(c,t){return e[0].Bitrate===c.Bitrate&&(a=t,!0)})),a>0&&e.splice(a)}}},{key:"_checkOffline",value:function(){var e,a,c=(null===(e=this.player)||void 0===e?void 0:e.media)||(null===(a=this.player)||void 0===a?void 0:a.video);this.hls&&c&&!c.videoHeight?(this.hls.hlsOfflineCount=void 0===this.hls.hlsOfflineCount?1:this.hls.hlsOfflineCount+1,this.hls.hlsOfflineCount>3&&(this.pause(),this.emit&&this.emit("error",{msg:"OFFLINE",errorCode:-9997}),this.onError())):this.hls&&(this.hls.hlsOfflineCount=0)}},{key:"pause",value:function(){throw new Error("Method not implemented.")}},{key:"onError",value:function(){throw new Error("Method not implemented.")}},{key:"_detectExpires",value:function(){var e=this,a=this.config,c=this.player;c&&!c.ended&&(a.expireDetectType.indexOf("getUrlTime")>-1&&this.getUrlTime&&c.duration&&(new Date).getTime()/1e3>this.getUrlTime+3300+c.duration&&(this.getUrlTime=0,this._emitExpireEvent()),a.expireDetectType.indexOf("xhrStatus")>-1&&this._playOriginalUrl&&Math.random()<1/7.5&&Ur({url:this._playOriginalUrl,xhrSetup:function(e){a.netAllowCredentials&&(e.withCredentials=!0)}}).catch((function(a){a&&void 0!==a.status&&(e.hlsExpireCount=void 0===e.hlsExpireCount?1:e.hlsExpireCount+1,e.hlsExpireCount>3&&(e.hlsExpireCount=0,e._emitExpireEvent()))})),a.expireDetectType.indexOf("urlExpire")>-1&&this.urlExpireTimestamp&&(new Date).getTime()/1e3>=this.urlExpireTimestamp&&(this.urlExpireTimestamp=5e9,this._emitExpireEvent()))}},{key:"_emitExpireEvent",value:function(){var e=this.player,a=(new Date).getTime()/1e3;this.emitExpireTimestamp?a-this.emitExpireTimestamp>300&&(this.emitExpireTimestamp=a,e.emit("MEDIA_EXPIRED")):(this.emitExpireTimestamp=a,e.emit("MEDIA_EXPIRED"))}},{key:"_updateM3U8",value:function e(a,c,t){return An("504B0101858681880000005f8b8386850000024f21020b3f001d2f012e2a001e2100044a013600203f00192e2a0011210002210003193f001f4a022e2a00112100044a010c2c00293f00192e2a0011210002210003193f001f4a022e2a00112102062e2a00202101072100044a024a010c300c482a00003c0001482a00012a00023f00030d23000a21010a2101012a00040f36000f2101022e2a00052101094a013c01090500433c000c2101023f0006461f00072101023f0007461f00072101023f0008463c00032100032f003c00022100022e2a00092101094a01002100022e2a000a4a003c00021a2d0016210103210109390001273f000b3d000c2f023c00021a2101042e2a000d2100024a013c00042101082e2a000e21010b3f000f2f013f00102e2a00112100043f00124a024a023c01082101052e2a00132100012a00012a00144a013600152101052e2a00152100012a00012a00144a012c00092100012a00012a00143c00052100052e2a001621010b3f00172f014a011f00033900003c00062100053600272100062a00184c013e3600153f00192e2a00112100064c01463f001a4a022c00033f00192c00033f00193c00072101082e2a000e21010b3f001b3f001c2f02070000000017044a023c01080500433c000d2101023f0006461f00072101023f0007461f00072101023f0008463c00092100092f003c00082100082e2a00092101084a01002100082e2a000a4a003c00081a2d0016210103210108390001273f00213d000c2f023c00081a2101052e2a00224a003c000a21000a3600072100080c2c00132101042e2a000d2100084a013c000b21000b0c300c002306697578607c6b067a76777f707e0a7e7c6d527c604d60697c034d564903525d4a04786d767b0b5b75767b5b6c70757d7c6b114e7c7b52706d5b75767b5b6c70757d7c6b0e5476635b75767b5b6c70757d7c6b067869697c777d077e7c6d5b75767b096d7c616d36716d7475046d60697c0f7a6b7c786d7c567b737c7a6d4c4b55076b7c6975787a7c0e354c4b50243b3142473b4432303b06354c4b50243b067a76777a786d013b0d706a4b7c75786d706f7c4c4b55036c6b750e7e7c6d587b6a76756c6d7c4c4b550574786d7a71203131716d6d6965716d6d696a302326453645363732304536456e324537456e3206757c777e6d710001363f313a5c414d50575f233031457d32453726457d6229352b296430312623353126234247456b654577443330312623456b6545773033303137333126383a3030017e1431716d6d6965716d6d696a302645232645364536046d7c6a6d023513107b6c70757d587b6a76756c6d7c4c4b551578696975707a786d70767736613474697c7e4c4b5508706a54767b70757c",{get 0(){return e},get 1(){return Pr},get 2(){return window},get 3(){return Blob},get 4(){return URL},get 5(){return Br},get 6(){return va},7:arguments,8:a,9:c,10:t,11:RegExp},this)}},{key:"_loadSource",value:(a=pe(De().mark((function e(a){var c,t,b,r,n,i,d,f,o,s,u,l,h,p,v,y,m,g,_,k,E,S,w,x,T=arguments;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=T.length>1&&void 0!==T[1]?T[1]:{},t=this.player,b=this.config,r=c.kid||b.kid,n=c.vid||b.vid,i=c.playSessionId,d=c.playAuth||b.secretKey,this.log("loadSource: ".concat(a,", Kid: ").concat(r,", vid: ").concat(n,", secretKey: ").concat(d)),e.next=9,Kr(a,this);case 9:if(f=e.sent,this.isPlaySessionValid(i)){e.next=12;break}return e.abrupt("return",null);case 12:if(null!=f&&f.keyUrl&&null!=f&&f.responseText){e.next=15;break}return this.log("loadSource with normal url: ".concat(t.config.url)),e.abrupt("return",t.config.url);case 15:if(o=f.keyUrl,s=f.responseText,u=b.getLicenseUrl,l=b.drmType,h=b.drmKeyToken,p=b.playDomain,v=b.sessionId,!b.keyValue){e.next=21;break}y=this._updateM3U8(s,b.keyValue),e.next=65;break;case 21:if(!(u&&r||r&&h&&p||d)){e.next=51;break}if(this._secretKey=new qe.XGSecretKey({getLicenseUrl:u,vid:n,useUnionInfoDRM:b.useUnionInfoDRM,playDomain:p,drmType:l,drmKeyToken:h,drm:b.drm,keyValue:b.keyValue,kid:r,useEME:!1,secretKey:d,keyTokenExpiredDuration:b.keyTokenExpiredDuration,sessionId:v}),e.prev=23,!this.isNativeMode){e.next=33;break}return e.next=27,this._secretKey.getLicense();case 27:if(g=e.sent,this.isPlaySessionValid(i)){e.next=30;break}return e.abrupt("return",null);case 30:m=(null==g?void 0:g.keyValue)||g,e.next=42;break;case 33:return e.next=35,this._secretKey.getLicenseSecret();case 35:if(_=e.sent,this.isPlaySessionValid(i)){e.next=38;break}return e.abrupt("return",null);case 38:k=null==_?void 0:_.secretKey,E=null==_?void 0:_.decryptKey,S=E&&qe.util.ArrayBufferToString(E),m="".concat(Pr.DRM,"-").concat(k,"_").concat(S);case 42:e.next=48;break;case 44:throw e.prev=44,e.t0=e.catch(23),this.logger.error("getLicense, err: (".concat((null===e.t0||void 0===e.t0||null===(w=e.t0.error)||void 0===w?void 0:w.message)||(null===e.t0||void 0===e.t0?void 0:e.t0.message),")")),(null===e.t0||void 0===e.t0?void 0:e.t0.error)||e.t0||new Error("SecretKey failure without msg");case 48:y=this._updateM3U8(s,m,Pr.DRM),e.next=65;break;case 51:if(!b.keyToken||!("TOP"===b.getKeyType?b.playDomain:b.keyDomain)){e.next=64;break}return e.next=54,zr(this,{system:Pr.KDS,url:o});case 54:if(x=e.sent,this.isPlaySessionValid(i)){e.next=57;break}return e.abrupt("return",null);case 57:if(!x){e.next=61;break}y=this._updateM3U8(s,x,Pr.KDS),e.next=62;break;case 61:throw new Error(Cr.GetKeyByKeyTokenFail);case 62:e.next=65;break;case 64:throw new Error("There is no available ways for encrypt hls to generate manifest url");case 65:return this.log("loadSource by key and return: ".concat(y)),e.abrupt("return",y);case 67:case"end":return e.stop()}}),e,this,[[23,44]])}))),function(e){return An("504B010185868188000000008b8386850000000e2101002e2a0000482101014a020c0001057869697560",{get 0(){return a},1:arguments,2:e},this)})},{key:"_emitResourceReady",value:function(e){var a=this.player,c=this.abrService;(null!=c&&c.isPlayAutoDef||!e.some((function(e){return!!e.selected})))&&e.forEach((function(e){var t;e.selected=null!=c&&c.isPlayAutoDef?c.isAutoDefValue(e.definition):e.definition===(null===(t=a.curDefinition)||void 0===t?void 0:t.definition)})),a.emit("resourceReady",e)}},{key:"isPlaySessionValid",value:function(e){return void 0===e&&-1===this._currentPlaySessionId||this._currentPlaySessionId===e}}],[{key:"pluginName",get:function(){return"EncryptHlsPlugin"}},{key:"defaultConfig",get:function(){return{expireDetectType:[],hlsOpts:{},checkExpireInterval:400,type:"",playAuthToken:"",vid:"",checkHlsOffline:!1,getLicenseUrl:"",preferMMS:!1}}},{key:"version",get:function(){return Lr}},{key:"semver",get:function(){var e=ha(Lr)||{},a=e.major,c=e.minor,t=e.patch;return{version:Lr,major:a,minor:c,patch:t}}}]);var a,c,t,b,r,n}(),Ln=Rn;return Ln.updateUnionInfo=qe.XGSecretKey.updateUnionInfo,Ln.generateEncryptInfo=qe.XGSecretKey.generateEncryptInfo,Ln.isSupported=function(e){e=(e||navigator.userAgent).toLocaleLowerCase();var a=/(iphone)/.test(e)||/(ipad)/.test(e),c=/(android)/.test(e),t=/(windows phone)/.test(e),b=!(a||c||t),r=/(quark)/.test(e);if(b||c){var n=function(){return"undefined"!=typeof MediaSource?MediaSource:arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&void 0!==self.ManagedMediaSource?self.ManagedMediaSource:void 0!==self.WebKitMediaSource?self.WebKitMediaSource:void 0}(!0);return!(null==n||!n.isTypeSupported('video/mp4; codecs="avc1.42E01E, mp4a.40.2"'))}return!!a&&!r&&!/iphone os 11_[2-4]\D/gi.test(e)},Ln}));
|