PiotrDabkowski / Js2Py

JavaScript to Python Translator & JavaScript interpreter written in 100% pure Python🚀 Try it online:
http://piter.io/projects/js2py
MIT License
2.44k stars 257 forks source link

JS 6 Support #101

Closed steven7851 closed 6 years ago

steven7851 commented 6 years ago

HTML source: https://steven7851.github.io/douyu/index.html?rid=67373&tt=25254787&did=C509BCDFDD593B0082493A579FEE00AB

import js2py
js = """
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.FlashEmu=t()}(this,function(){"use strict";function e(e,t,s,a){var r,i=arguments.length,n=i<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,s):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,a);else for(var o=e.length-1;o>=0;o--)(r=e[o])&&(n=(i<3?r(n):i>3?r(t,s,n):r(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n}function t(e,t,s,a){return new(s||(s=Promise))(function(r,i){function n(e){try{l(a.next(e))}catch(e){i(e)}}function o(e){try{l(a.throw(e))}catch(e){i(e)}}function l(e){e.done?r(e.value):new s(function(t){t(e.value)}).then(n,o)}l((a=a.apply(e,t)).next())})}function s(e){tt=e}function a(e,t,s){let a=e;if(t+s<a.length){for(;s--;)if(128!=(192&a[++t]))return!1;return!0}return!1}function r(e){let t=[];for(let s=0;s<e.length;s++)t=t.concat((e=>{let t=[];return e<128?t.push(e):e<2048?(t.push(e>>>6|192),t.push(63&e|128)):e<65536?(t.push(e>>>12|224),t.push(e>>6&63|128),t.push(63&e|128)):e<1<<21&&(t.push(e>>>18|240),t.push(e>>12&63|128),t.push(e>>6&63|128),t.push(63&e|128)),t})(e.charCodeAt(s)));return new Uint8Array(t)}function i(e){let t=[],s=e,r=0,i=e.length;for(;r<i;)if(s[r]<128)t.push(String.fromCharCode(s[r])),++r;else{if(s[r]<192);else if(s[r]<224){if(a(s,r,1)){let e=(31&s[r])<<6|63&s[r+1];if(e>=128){t.push(String.fromCharCode(65535&e)),r+=2;continue}}}else if(s[r]<240){if(a(s,r,2)){let e=(15&s[r])<<12|(63&s[r+1])<<6|63&s[r+2];if(e>=2048&&55296!=(63488&e)){t.push(String.fromCharCode(65535&e)),r+=3;continue}}}else if(s[r]<248&&a(s,r,3)){let e=(7&s[r])<<18|(63&s[r+1])<<12|(63&s[r+2])<<6|63&s[r+3];if(e>65536&&e<1114112){e-=65536,t.push(String.fromCharCode(e>>>10|55296)),t.push(String.fromCharCode(1023&e|56320)),r+=4;continue}}t.push(String.fromCharCode(65533)),++r}return t.join("")}function n(e){return e.map(e=>at[e>>4]+at[15&e]).join("")}function o(e,t,s){let a=t;for(;a--;)s[a]=e.pop();s.length=t}function l(e){return e.charCodeAt(0)}function c(e){let t=new Uint8Array(e);return 208===t[0]&&48===t[1]&&71===t[2]}function h(e){return"string"==typeof e?e:void 0===e?null:e+""}function d(e){return"string"==typeof e?e:e+""}function u(e,t){return e==t}function p(e){return typeof e}function f(e){return"string"==typeof e?e:void 0==e?"null":e.toString()}function g(e,t){let s;if(t instanceof Function&&!(t instanceof qt)){let a=Zt.get(e);if(a||Zt.set(e,a=new WeakMap),s=a.get(t))return s;(s=e.system.getClass(wt.Public("Function")).axNew()).native.func=t,a.set(t,s)}return s.call=function(...e){return this.native.call(...e)},s}function m(){Jt.clear(),Qt.clear()}function _(e=20,t="runTime"){let s={},a={};for(let[e,t]of Jt)s[e]=t;return Array.from(Jt.keys()).sort((e,s)=>Jt.get(s)[t]-Jt.get(e)[t]).slice(0,e).forEach(e=>{a[e]=s[e]}),a}function E(e,t,s){const a=e.app;a.sec;let r=e.traits,i=[];for(let e of t){let t,n=new Tt(e.name,e.kindType);switch(e.kindType){case $e.Method:t=a.createMethodForTrait(e,s),n.value=t;break;case $e.Getter:n.get=a.createMethodForTrait(e,s);break;case $e.Setter:n.set=a.createMethodForTrait(e,s);break;case $e.Slot:case $e.Const:case $e.Class:const i=e.data;n.writable=!0,n.value=i.getDefaultValue(),n.typeName=i.typeName,n.slot=i.slotId,r.addSlotTrait(n)}let o=r.addTrait(n);i.push(n),o&&(e.kindType!==$e.Getter&&e.kindType!==$e.Setter||i.splice(i.indexOf(o),1))}for(let t of i)e.val.set(t.name.mangledName,t)}function b(e){let t=hs.get(e.sec);return t||hs.set(e.sec,t={AXClass:new Map,FunctionClass:new WeakMap}),t}function S(e){return t=>{e||"AX"===(e=t.name).substr(0,2)&&(e=e.substr(2)),cs.set(e,t)}}function w(){return e=>{os.set(e,!0)}}function N(e){return function(t,s,a){const r=t.constructor;if(e=e||s,ls.has(e))throw new Error("duplication of native function name");let i=ds.get(r);i||ds.set(r,i=new Map),i.set(e,s),ls.set(e,r)}}function U(e,t){let s=ls.get(t);if(!s)return null;let a=b(e).FunctionClass,r=a.get(s);return r||a.set(s,r=new s(e)),(...e)=>r[ds.get(s).get(t)].call(r,...e)}function y(e){return function(){return this.native[e]}}function v(e){return function(t){return this.native||ns.error("wtf!!"),this.native[e]=t}}function T(e,t){const s=t.holder;b(e);let a;if(s instanceof ht)a=s.holderMeta&&s.holderMeta.filter(e=>"native"===e.name);else{if(!(s instanceof _t))throw new Error(`Unsupport trait type`);{const e=s.getClass();a=e.holderMeta&&e.holderMeta.filter(e=>"native"===e.name)}}let r;if(1===a.length){const e=a[0];if(!cs.get(e.get("cls")))return ns.warn("Class",e.get("cls"),"not found"),null;const s=t.isGetter(),i=t.isSetter();let n=t.name.name;return s?y(n):i?v(n):r=function(...e){const t=this.native;return t[n]||ns.error("propertyKey",n,"not found"),t[n].call(this.native,...e)}}throw new Error("No native metadata")}function C(e,t,...s){const a=b(e.app).AXClass.get(t);if(!a)throw new Error(`Native class ${t} not registered`);if(!a.native||!a.native.axNewNative)throw new Error("wrong axNativeClass "+t);return a.native.axNewNative(e,...s)}function I(e,t,s){if(!t)return null;const a=cs.get(t),r=os.get(a);let i=b(e).AXClass,n=i.get(t);return n||(n=r?new rs(e,a,t,s):new as(e,a,t,s),i.set(t,n),a||ns.warn(`cls ${t} not found`)),n}function P(e){e.nsSet&&(e.nsSet=e.nsSet.map(e=>{if(e instanceof es)return e.native;if(e instanceof nt)return e;throw new Error("unwrapNsset: Type error")}))}function k(e){for(var t=e.length;--t>=0;)e[t]=0}function A(e,t,s,a,r){this.static_tree=e,this.extra_bits=t,this.extra_base=s,this.elems=a,this.max_length=r,this.has_stree=e&&e.length}function L(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function x(e){return e<256?Ua[e]:Ua[256+(e>>>7)]}function R(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function O(e,t,s){e.bi_valid>da-s?(e.bi_buf|=t<<e.bi_valid&65535,R(e,e.bi_buf),e.bi_buf=t>>da-e.bi_valid,e.bi_valid+=s-da):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=s)}function D(e,t,s){O(e,s[2*t],s[2*t+1])}function M(e,t){var s=0;do{s|=1&e,e>>>=1,s<<=1}while(--t>0);return s>>>1}function B(e){16===e.bi_valid?(R(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}function F(e,t){var s,a,r,i,n,o,l=t.dyn_tree,c=t.max_code,h=t.stat_desc.static_tree,d=t.stat_desc.has_stree,u=t.stat_desc.extra_bits,p=t.stat_desc.extra_base,f=t.stat_desc.max_length,g=0;for(i=0;i<=ha;i++)e.bl_count[i]=0;for(l[2*e.heap[e.heap_max]+1]=0,s=e.heap_max+1;s<ca;s++)(i=l[2*l[2*(a=e.heap[s])+1]+1]+1)>f&&(i=f,g++),l[2*a+1]=i,a>c||(e.bl_count[i]++,n=0,a>=p&&(n=u[a-p]),o=l[2*a],e.opt_len+=o*(i+n),d&&(e.static_len+=o*(h[2*a+1]+n)));if(0!==g){do{for(i=f-1;0===e.bl_count[i];)i--;e.bl_count[i]--,e.bl_count[i+1]+=2,e.bl_count[f]--,g-=2}while(g>0);for(i=f;0!==i;i--)for(a=e.bl_count[i];0!==a;)(r=e.heap[--s])>c||(l[2*r+1]!==i&&(e.opt_len+=(i-l[2*r+1])*l[2*r],l[2*r+1]=i),a--)}}function z(e,t,s){var a,r,i=new Array(ha+1),n=0;for(a=1;a<=ha;a++)i[a]=n=n+s[a-1]<<1;for(r=0;r<=t;r++){var o=e[2*r+1];0!==o&&(e[2*r]=M(i[o]++,o))}}function H(){var e,t,s,a,r,i=new Array(ha+1);for(s=0,a=0;a<ra-1;a++)for(va[a]=s,e=0;e<1<<_a[a];e++)ya[s++]=a;for(ya[s-1]=a,r=0,a=0;a<16;a++)for(Ta[a]=r,e=0;e<1<<Ea[a];e++)Ua[r++]=a;for(r>>=7;a<oa;a++)for(Ta[a]=r<<7,e=0;e<1<<Ea[a]-7;e++)Ua[256+r++]=a;for(t=0;t<=ha;t++)i[t]=0;for(e=0;e<=143;)wa[2*e+1]=8,e++,i[8]++;for(;e<=255;)wa[2*e+1]=9,e++,i[9]++;for(;e<=279;)wa[2*e+1]=7,e++,i[7]++;for(;e<=287;)wa[2*e+1]=8,e++,i[8]++;for(z(wa,na+1,i),e=0;e<oa;e++)Na[2*e+1]=5,Na[2*e]=M(e,5);Ca=new A(wa,_a,ia+1,na,ha),Ia=new A(Na,Ea,0,oa,ha),Pa=new A(new Array(0),ba,0,la,ua)}function G(e){var t;for(t=0;t<na;t++)e.dyn_ltree[2*t]=0;for(t=0;t<oa;t++)e.dyn_dtree[2*t]=0;for(t=0;t<la;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*pa]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function W(e){e.bi_valid>8?R(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function V(e,t,s,a){W(e),a&&(R(e,s),R(e,~s)),Js.arraySet(e.pending_buf,e.window,t,s,e.pending),e.pending+=s}function X(e,t,s,a){var r=2*t,i=2*s;return e[r]<e[i]||e[r]===e[i]&&a[t]<=a[s]}function j(e,t,s){for(var a=e.heap[s],r=s<<1;r<=e.heap_len&&(r<e.heap_len&&X(t,e.heap[r+1],e.heap[r],e.depth)&&r++,!X(t,a,e.heap[r],e.depth));)e.heap[s]=e.heap[r],s=r,r<<=1;e.heap[s]=a}function Y(e,t,s){var a,r,i,n,o=0;if(0!==e.last_lit)do{a=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],r=e.pending_buf[e.l_buf+o],o++,0===a?D(e,r,t):(D(e,(i=ya[r])+ia+1,t),0!==(n=_a[i])&&O(e,r-=va[i],n),D(e,i=x(--a),s),0!==(n=Ea[i])&&O(e,a-=Ta[i],n))}while(o<e.last_lit);D(e,pa,t)}function Z(e,t){var s,a,r,i=t.dyn_tree,n=t.stat_desc.static_tree,o=t.stat_desc.has_stree,l=t.stat_desc.elems,c=-1;for(e.heap_len=0,e.heap_max=ca,s=0;s<l;s++)0!==i[2*s]?(e.heap[++e.heap_len]=c=s,e.depth[s]=0):i[2*s+1]=0;for(;e.heap_len<2;)i[2*(r=e.heap[++e.heap_len]=c<2?++c:0)]=1,e.depth[r]=0,e.opt_len--,o&&(e.static_len-=n[2*r+1]);for(t.max_code=c,s=e.heap_len>>1;s>=1;s--)j(e,i,s);r=l;do{s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],j(e,i,1),a=e.heap[1],e.heap[--e.heap_max]=s,e.heap[--e.heap_max]=a,i[2*r]=i[2*s]+i[2*a],e.depth[r]=(e.depth[s]>=e.depth[a]?e.depth[s]:e.depth[a])+1,i[2*s+1]=i[2*a+1]=r,e.heap[1]=r++,j(e,i,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],F(e,t),z(i,c,e.bl_count)}function K(e,t,s){var a,r,i=-1,n=t[1],o=0,l=7,c=4;for(0===n&&(l=138,c=3),t[2*(s+1)+1]=65535,a=0;a<=s;a++)r=n,n=t[2*(a+1)+1],++o<l&&r===n||(o<c?e.bl_tree[2*r]+=o:0!==r?(r!==i&&e.bl_tree[2*r]++,e.bl_tree[2*fa]++):o<=10?e.bl_tree[2*ga]++:e.bl_tree[2*ma]++,o=0,i=r,0===n?(l=138,c=3):r===n?(l=6,c=3):(l=7,c=4))}function J(e,t,s){var a,r,i=-1,n=t[1],o=0,l=7,c=4;for(0===n&&(l=138,c=3),a=0;a<=s;a++)if(r=n,n=t[2*(a+1)+1],!(++o<l&&r===n)){if(o<c)do{D(e,r,e.bl_tree)}while(0!=--o);else 0!==r?(r!==i&&(D(e,r,e.bl_tree),o--),D(e,fa,e.bl_tree),O(e,o-3,2)):o<=10?(D(e,ga,e.bl_tree),O(e,o-3,3)):(D(e,ma,e.bl_tree),O(e,o-11,7));o=0,i=r,0===n?(l=138,c=3):r===n?(l=6,c=3):(l=7,c=4)}}function Q(e){var t;for(K(e,e.dyn_ltree,e.l_desc.max_code),K(e,e.dyn_dtree,e.d_desc.max_code),Z(e,e.bl_desc),t=la-1;t>=3&&0===e.bl_tree[2*Sa[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}function $(e,t,s,a){var r;for(O(e,t-257,5),O(e,s-1,5),O(e,a-4,4),r=0;r<a;r++)O(e,e.bl_tree[2*Sa[r]+1],3);J(e,e.dyn_ltree,t-1),J(e,e.dyn_dtree,s-1)}function q(e){var t,s=4093624447;for(t=0;t<=31;t++,s>>>=1)if(1&s&&0!==e.dyn_ltree[2*t])return $s;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return qs;for(t=32;t<ia;t++)if(0!==e.dyn_ltree[2*t])return qs;return $s}function ee(e,t,s,a){O(e,(ta<<1)+(a?1:0),3),V(e,t,s,!0)}function te(e,t){return e.msg=Da[t],t}function se(e){return(e<<1)-(e>4?9:0)}function ae(e){for(var t=e.length;--t>=0;)e[t]=0}function re(e){var t=e.state,s=t.pending;s>e.avail_out&&(s=e.avail_out),0!==s&&(Js.arraySet(e.output,t.pending_buf,t.pending_out,s,e.next_out),e.next_out+=s,t.pending_out+=s,e.total_out+=s,e.avail_out-=s,t.pending-=s,0===t.pending&&(t.pending_out=0))}function ie(e,t){La._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,re(e.strm)}function ne(e,t){e.pending_buf[e.pending++]=t}function oe(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function le(e,t,s,a){var r=e.avail_in;return r>a&&(r=a),0===r?0:(e.avail_in-=r,Js.arraySet(t,e.input,e.next_in,r,s),1===e.state.wrap?e.adler=xa(e.adler,t,r,s):2===e.state.wrap&&(e.adler=Oa(e.adler,t,r,s)),e.next_in+=r,e.total_in+=r,r)}function ce(e,t){var s,a,r=e.max_chain_length,i=e.strstart,n=e.prev_length,o=e.nice_match,l=e.strstart>e.w_size-dr?e.strstart-(e.w_size-dr):0,c=e.window,h=e.w_mask,d=e.prev,u=e.strstart+hr,p=c[i+n-1],f=c[i+n];e.prev_length>=e.good_match&&(r>>=2),o>e.lookahead&&(o=e.lookahead);do{if(s=t,c[s+n]===f&&c[s+n-1]===p&&c[s]===c[i]&&c[++s]===c[i+1]){i+=2,s++;do{}while(c[++i]===c[++s]&&c[++i]===c[++s]&&c[++i]===c[++s]&&c[++i]===c[++s]&&c[++i]===c[++s]&&c[++i]===c[++s]&&c[++i]===c[++s]&&c[++i]===c[++s]&&i<u);if(a=hr-(u-i),i=u-hr,a>n){if(e.match_start=t,n=a,a>=o)break;p=c[i+n-1],f=c[i+n]}}}while((t=d[t&h])>l&&0!=--r);return n<=e.lookahead?n:e.lookahead}function he(e){var t,s,a,r,i,n=e.w_size;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=n+(n-dr)){Js.arraySet(e.window,e.window,n,n,0),e.match_start-=n,e.strstart-=n,e.block_start-=n,t=s=e.hash_size;do{a=e.head[--t],e.head[t]=a>=n?a-n:0}while(--s);t=s=n;do{a=e.prev[--t],e.prev[t]=a>=n?a-n:0}while(--s);r+=n}if(0===e.strm.avail_in)break;if(s=le(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=s,e.lookahead+e.insert>=cr)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[i+cr-1])&e.hash_mask,e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<cr)););}while(e.lookahead<dr&&0!==e.strm.avail_in)}function de(e,t){for(var s,a;;){if(e.lookahead<dr){if(he(e),e.lookahead<dr&&t===Ma)return Sr;if(0===e.lookahead)break}if(s=0,e.lookahead>=cr&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+cr-1])&e.hash_mask,s=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==s&&e.strstart-s<=e.w_size-dr&&(e.match_length=ce(e,s)),e.match_length>=cr)if(a=La._tr_tally(e,e.strstart-e.match_start,e.match_length-cr),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=cr){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+cr-1])&e.hash_mask,s=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else a=La._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(a&&(ie(e,!1),0===e.strm.avail_out))return Sr}return e.insert=e.strstart<cr-1?e.strstart:cr-1,t===za?(ie(e,!0),0===e.strm.avail_out?Nr:Ur):e.last_lit&&(ie(e,!1),0===e.strm.avail_out)?Sr:wr}function ue(e,t){for(var s,a,r;;){if(e.lookahead<dr){if(he(e),e.lookahead<dr&&t===Ma)return Sr;if(0===e.lookahead)break}if(s=0,e.lookahead>=cr&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+cr-1])&e.hash_mask,s=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=cr-1,0!==s&&e.prev_length<e.max_lazy_match&&e.strstart-s<=e.w_size-dr&&(e.match_length=ce(e,s),e.match_length<=5&&(e.strategy===Za||e.match_length===cr&&e.strstart-e.match_start>4096)&&(e.match_length=cr-1)),e.prev_length>=cr&&e.match_length<=e.prev_length){r=e.strstart+e.lookahead-cr,a=La._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-cr),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=r&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+cr-1])&e.hash_mask,s=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=cr-1,e.strstart++,a&&(ie(e,!1),0===e.strm.avail_out))return Sr}else if(e.match_available){if((a=La._tr_tally(e,0,e.window[e.strstart-1]))&&ie(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return Sr}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(a=La._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<cr-1?e.strstart:cr-1,t===za?(ie(e,!0),0===e.strm.avail_out?Nr:Ur):e.last_lit&&(ie(e,!1),0===e.strm.avail_out)?Sr:wr}function pe(e,t){for(var s,a,r,i,n=e.window;;){if(e.lookahead<=hr){if(he(e),e.lookahead<=hr&&t===Ma)return Sr;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=cr&&e.strstart>0&&(r=e.strstart-1,(a=n[r])===n[++r]&&a===n[++r]&&a===n[++r])){i=e.strstart+hr;do{}while(a===n[++r]&&a===n[++r]&&a===n[++r]&&a===n[++r]&&a===n[++r]&&a===n[++r]&&a===n[++r]&&a===n[++r]&&r<i);e.match_length=hr-(i-r),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=cr?(s=La._tr_tally(e,1,e.match_length-cr),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(s=La._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),s&&(ie(e,!1),0===e.strm.avail_out))return Sr}return e.insert=0,t===za?(ie(e,!0),0===e.strm.avail_out?Nr:Ur):e.last_lit&&(ie(e,!1),0===e.strm.avail_out)?Sr:wr}function fe(e,t){for(var s;;){if(0===e.lookahead&&(he(e),0===e.lookahead)){if(t===Ma)return Sr;break}if(e.match_length=0,s=La._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,s&&(ie(e,!1),0===e.strm.avail_out))return Sr}return e.insert=0,t===za?(ie(e,!0),0===e.strm.avail_out?Nr:Ur):e.last_lit&&(ie(e,!1),0===e.strm.avail_out)?Sr:wr}function ge(e,t,s,a,r){this.good_length=e,this.max_lazy=t,this.nice_length=s,this.max_chain=a,this.func=r}function me(e){e.window_size=2*e.w_size,ae(e.head),e.max_lazy_match=ka[e.level].max_lazy,e.good_match=ka[e.level].good_length,e.nice_match=ka[e.level].nice_length,e.max_chain_length=ka[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=cr-1,e.match_available=0,e.ins_h=0}function _e(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=er,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Js.Buf16(2*or),this.dyn_dtree=new Js.Buf16(2*(2*ir+1)),this.bl_tree=new Js.Buf16(2*(2*nr+1)),ae(this.dyn_ltree),ae(this.dyn_dtree),ae(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Js.Buf16(lr+1),this.heap=new Js.Buf16(2*rr+1),ae(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Js.Buf16(2*rr+1),ae(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Ee(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=qa,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?pr:Er,e.adler=2===t.wrap?0:1,t.last_flush=Ma,La._tr_init(t),Ga):te(e,Va)}function be(e){var t=Ee(e);return t===Ga&&me(e.state),t}function Se(e,t,s,a,r,i){if(!e)return Va;var n=1;if(t===Ya&&(t=6),a<0?(n=0,a=-a):a>15&&(n=2,a-=16),r<1||r>tr||s!==er||a<8||a>15||t<0||t>9||i<0||i>Qa)return te(e,Va);8===a&&(a=9);var o=new _e;return e.state=o,o.strm=e,o.wrap=n,o.gzhead=null,o.w_bits=a,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=r+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+cr-1)/cr),o.window=new Js.Buf8(2*o.w_size),o.head=new Js.Buf16(o.hash_size),o.prev=new Js.Buf16(o.w_size),o.lit_bufsize=1<<r+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Js.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=i,o.method=s,be(e)}function we(e,t){if(t<65537&&(e.subarray&&Cr||!e.subarray&&Tr))return String.fromCharCode.apply(null,Js.shrinkBuf(e,t));for(var s="",a=0;a<t;a++)s+=String.fromCharCode(e[a]);return s}function Ne(e){if(!(this instanceof Ne))return new Ne(e);this.options=Js.assign({level:Rr,method:Dr,chunkSize:16384,windowBits:15,memLevel:8,strategy:Or,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ar,this.strm.avail_out=0;var s=vr.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(s!==xr)throw new Error(Da[s]);if(t.header&&vr.deflateSetHeader(this.strm,t.header),t.dictionary){var a;if(a="string"==typeof t.dictionary?kr.string2buf(t.dictionary):"[object ArrayBuffer]"===Lr.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(s=vr.deflateSetDictionary(this.strm,a))!==xr)throw new Error(Da[s]);this._dict_set=!0}}function Ue(e,t){var s=new Ne(t);if(s.push(e,!0),s.err)throw s.msg||Da[s.err];return s.result}function ye(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function ve(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Js.Buf16(320),this.work=new Js.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Te(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=ni,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Js.Buf32(Bi),t.distcode=t.distdyn=new Js.Buf32(Fi),t.sane=1,t.back=-1,$r):ti}function Ce(e){var t;return e&&e.state?(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,Te(e)):ti}function Ie(e,t){var s,a;return e&&e.state?(a=e.state,t<0?(s=0,t=-t):(s=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?ti:(null!==a.window&&a.wbits!==t&&(a.window=null),a.wrap=s,a.wbits=t,Ce(e))):ti}function Pe(e,t){var s,a;return e?(a=new ve,e.state=a,a.window=null,(s=Ie(e,t))!==$r&&(e.state=null),s):ti}function ke(e){if(Hi){var t;for(Mr=new Js.Buf32(512),Br=new Js.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Xr(Yr,e.lens,0,288,Mr,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Xr(Zr,e.lens,0,32,Br,0,e.work,{bits:5}),Hi=!1}e.lencode=Mr,e.lenbits=9,e.distcode=Br,e.distbits=5}function Ae(e,t,s,a){var r,i=e.state;return null===i.window&&(i.wsize=1<<i.wbits,i.wnext=0,i.whave=0,i.window=new Js.Buf8(i.wsize)),a>=i.wsize?(Js.arraySet(i.window,t,s-i.wsize,i.wsize,0),i.wnext=0,i.whave=i.wsize):((r=i.wsize-i.wnext)>a&&(r=a),Js.arraySet(i.window,t,s-a,r,i.wnext),(a-=r)?(Js.arraySet(i.window,t,s-a,a,0),i.wnext=a,i.whave=i.wsize):(i.wnext+=r,i.wnext===i.wsize&&(i.wnext=0),i.whave<i.wsize&&(i.whave+=r))),0}function Le(e){if(!(this instanceof Le))return new Le(e);this.options=Js.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ar,this.strm.avail_out=0;var s=Gi.inflateInit2(this.strm,t.windowBits);if(s!==Wi.Z_OK)throw new Error(Da[s]);this.header=new Vi,Gi.inflateGetHeader(this.strm,this.header)}function xe(e,t){var s=new Le(t);if(s.push(e,!0),s.err)throw s.msg||Da[s.err];return s.result}function Re(e){return t(this,void 0,void 0,function*(){return Zi(new Uint8Array(e)).buffer})}function Oe(e,s){return t(this,void 0,void 0,function*(){return(new tn).decodeSWF(new Uint8Array(e),s).buffer})}function De(e){return function(t){t.type=e,sn.set(e,t)}}const Me=7,Be=13,Fe=15,ze=16,He=17,Ge=18,We=9,Ve=14,Xe=27,je=28,Ye=29;var Ze;!function(e){e[e.NEED_ARGUMENTS=1]="NEED_ARGUMENTS",e[e.NEED_ACTIVATION=2]="NEED_ACTIVATION",e[e.NEED_REST=4]="NEED_REST",e[e.HAS_OPTIONAL=8]="HAS_OPTIONAL",e[e.Native=32]="Native",e[e.SET_DXNS=64]="SET_DXNS",e[e.HAS_PARAM_NAMES=128]="HAS_PARAM_NAMES"}(Ze||(Ze={}));var Ke;!function(e){e[e.Int=3]="Int",e[e.UInt=4]="UInt",e[e.Double=6]="Double",e[e.Utf8=1]="Utf8",e[e.True=11]="True",e[e.False=10]="False",e[e.Null=12]="Null",e[e.Undefined=0]="Undefined",e[e.Namespace=8]="Namespace",e[e.PackageNamespace=22]="PackageNamespace",e[e.PackageInternalNs=23]="PackageInternalNs",e[e.ProtectedNamespace=24]="ProtectedNamespace",e[e.ExplicitNamespace=25]="ExplicitNamespace",e[e.StaticProtectedNs=26]="StaticProtectedNs",e[e.PrivateNs=5]="PrivateNs"}(Ke||(Ke={}));const Je=[8,22,23,24,25,26,5];var Qe;!function(e){e[e.Public=0]="Public",e[e.Protected=1]="Protected",e[e.PackageInternal=2]="PackageInternal",e[e.Private=3]="Private",e[e.Explicit=4]="Explicit",e[e.StaticProtected=5]="StaticProtected"}(Qe||(Qe={}));var $e;!function(e){e[e.Slot=0]="Slot",e[e.Method=1]="Method",e[e.Getter=2]="Getter",e[e.Setter=3]="Setter",e[e.Class=4]="Class",e[e.Function=5]="Function",e[e.Const=6]="Const",e[e.GetterSetter=7]="GetterSetter"}($e||($e={}));var qe;!function(e){e[e.Final=1]="Final",e[e.Override=2]="Override",e[e.Metadata=4]="Metadata"}(qe||(qe={}));var et;!function(e){e[e.ClassSealed=1]="ClassSealed",e[e.ClassFinal=2]="ClassFinal",e[e.ClassInterface=4]="ClassInterface",e[e.ClassProtectedNs=8]="ClassProtectedNs"}(et||(et={}));let tt={enableDebug:!1,enableLog:!1,enableWarn:!0,enableError:!0};class st{constructor(e){this._tag=e,this.enableDebug=null,this.enableLog=null,this.enableWarn=null,this.enableError=null,this._tag=`[${e}]`}get tag(){return this._tag}get _enableDebug(){return st.logFilter(this._tag)&&null===this.enableDebug?tt.enableDebug:this.enableDebug}get _enableLog(){return st.logFilter(this._tag)&&null===this.enableLog?tt.enableLog:this.enableLog}get _enableWarn(){return st.logFilter(this._tag)&&null===this.enableWarn?tt.enableWarn:this.enableWarn}get _enableError(){return st.logFilter(this._tag)&&null===this.enableError?tt.enableError:this.enableError}debug(...e){this._enableDebug&&console.log(this.tag,...e)}log(...e){this._enableLog&&console.log(this.tag,...e)}warn(...e){this._enableWarn&&console.log(this.tag,...e)}error(...e){this._enableError&&console.error(this.tag,...e)}}st.logFilter=(e=>!0);new st("Utils");const at="0123456789abcdef";class rt extends Error{}class it{constructor(e){this.buffer=e,this.dataView=new DataView(e,0),this.ptr=0}isEOF(){return this.ptr>=this.buffer.byteLength}throwEOF(){throw new rt("Read EOF")}movePtr(e){const t=this.ptr;return this.ptr+=e,this.ptr>this.buffer.byteLength&&this.throwEOF(),t}readU8(){const e=this.ptr;return this.ptr=e+1,this.dataView.getUint8(e)}readU16(){return this.dataView.getUint16(this.movePtr(2),!0)}readUI16(){return this.dataView.getUint16(this.movePtr(2),!0)}readUI32(){return this.dataView.getUint32(this.movePtr(4),!0)}readS8(){return this.dataView.getInt8(this.movePtr(1))}readS24(){let e=this.readU8(),t=this.readU16()<<8|e;return t=t<<8>>8}readU30(){const e=this.dataView;let t,s=this.ptr,a=e.getUint8(s),r=127&a;for(t=1;128&a&&t<5;t++)r|=(127&(a=e.getUint8(s+t)))<<7*t;return this.ptr+=t,r>>>0}readU32(){return this.readU30()}readS32(){return 0|this.readU32()}readD64(){return this.dataView.getFloat64(this.movePtr(8),!0)}readString(e){return i(new Uint8Array(this.readArray(e)))}readCStyleString(){let e,t;for(t=this.ptr;0!==e;t++)e=this.dataView.getUint8(t);let s=new Uint8Array(this.readArray(t-this.ptr-1));return this.readU8(),i(s)}readArray(e){e<0&&(e+=this.buffer.byteLength-this.ptr+1),this.ptr+e>this.buffer.byteLength&&(console.error("EOF",this.ptr,e,this.buffer.byteLength),this.throwEOF());let t=this.buffer.slice(this.ptr,this.ptr+e);return this.ptr+=e,t}getPosition(){return this.ptr}}new st("Abc");class nt{constructor(e,t,s=""){this._type=e,this._uri=t,this._prefix=s,this._mangledName=null,null===this._uri&&(this._uri=""),null===this._prefix&&(this._prefix="")}static Package(e){return new nt(Qe.Public,e)}static PackageInternal(e){return new nt(Qe.PackageInternal,e)}static get Public(){return nt._public||(nt._public=new nt(Qe.Public,"")),nt._public}static Private(e=""){return new nt(Qe.Private,e)}static MangledName(e,t,s){return e===Qe.Public&&""===t?nt.PublicMangledName:"_"+e.toString(16)+"_"+s+"_"+t}static read(e,t){let s,a=e.readU8();switch(a){case Ke.Namespace:case Ke.PackageNamespace:s=Qe.Public;break;case Ke.PackageInternalNs:s=Qe.PackageInternal;break;case Ke.ProtectedNamespace:s=Qe.Protected;break;case Ke.ExplicitNamespace:s=Qe.Explicit;break;case Ke.StaticProtectedNs:s=Qe.StaticProtected;break;case Ke.PrivateNs:s=Qe.Private;break;default:throw new Error("Namespace type error.")}let r=null;return Je.includes(a)?r=t.getString(e.readU30()):console.error("kind not includes",a),new nt(s,r)}get type(){return this._type}get uri(){return this._uri}get prefix(){return this._prefix}get mangledName(){return this._mangledName||(this._mangledName=nt.MangledName(this._type,this._uri,this._prefix)),this._mangledName}isPublic(){return this._type===Qe.Public}Multiname(e){return wt.QName(this,e)}toString(){return this._uri}}nt.PublicMangledName="_public";class ot{static read(e,t){let s=new ot;if(s.start=e.readU30(),s.end=e.readU30(),s.target=e.readU30(),s.excType=t.getMultiname(e.readU30()),s.varName=t.getMultiname(e.readU30()),s.varName){let e=new gt(t);e.holder=s,e.name=s.varName,e.kindType=$e.Slot,e.data=new dt(t),e.data.typeName=s.excType,s.traits=new mt(e)}return s}getTrait(){return this.traits}}class lt{static read(e,t){let s=new lt;s.method=t.getMethod(e.readU30()),s.maxStack=e.readU30(),s.localCount=e.readU30(),s.initScopeDepth=e.readU30(),s.maxScopeDepth=e.readU30();const a=e.readU30();s.code=e.readArray(a);const r=e.readU30();s.exception=[];for(let a=0;a<r;a++)s.exception.push(ot.read(e,t));const i=e.readU30();s.trait=new mt;for(let a=0;a<i;a++)s.trait.push(gt.read(e,t,s));return s}}class ct{constructor(e){this.abc=e}static read(e,t){let s=new ct(t);s.init=t.getMethod(e.readU30());const a=e.readU30();s.trait=new mt;for(let r=0;r<a;r++)s.trait.push(gt.read(e,t,s));return s}getID(){return this.abc.script.indexOf(this)}}class ht{constructor(e){this.abc=e,this.trait=new mt,this.holderMeta=[]}static read(e,t){let s=new ht(t);s.cinit=t.getMethod(e.readU30());const a=e.readU30();for(let r=0;r<a;r++)s.trait.push(gt.read(e,t,s));return s}getInstance(){return this.abc?this.abc.getInstanceByClass(this):null}}class dt{constructor(e){this.abc=e,this.vkind=-1}static read(e,t){let s=new dt(t);return s.slotId=e.readU30(),s.typeName=t.getMultiname(e.readU30()),s.vindex=e.readU30(),0!==s.vindex&&(s.vkind=e.readU8()),s}getDefaultValue(){if(-1===this.vkind){if(null===this.typeName)return;let e=Nt[this.typeName.mangledName];return void 0===e?null:e}return this.abc.getConstant(this.vkind,this.vindex)}}class ut extends dt{constructor(e){super(e),this.vkind=0,this.vindex=-1,this.typeName=null}static read(e,t){let s=new ut(t);return s.slotId=e.readU30(),s.classi=t.getClass(e.readU30()),s}}class pt{static read(e,t){let s=new pt;return s.dispId=e.readU30(),s.method=t.getMethod(e.readU30()),s}}class ft{static read(e,t){let s=new ft;return s.slotId=e.readU30(),s.function=t.getMethod(e.readU30()),s}}class gt{constructor(e){this.abc=e}static read(e,t,s){let a=new gt(t);a.holder=s,a.name=t.getMultiname(e.readU30());const r=e.readU8();switch(a.kindType=15&r,a.kindFlags=r>>4,a.data=null,a.kindType){case $e.Slot:case $e.Const:a.data=dt.read(e,t);break;case $e.Method:case $e.Getter:case $e.Setter:a.data=pt.read(e,t);break;case $e.Class:a.data=ut.read(e,t);break;case $e.Function:a.data=ft.read(e,t)}if(0!=(a.kindFlags&qe.Metadata)){const s=e.readU30();a.metadata=[];for(let r=0;r<s;r++)a.metadata.push(t.getMetadata(e.readU30()))}if(a.data instanceof ut){const e=a.data.classi;a.metadata&&(e.holderMeta=e.holderMeta.concat(a.metadata)),e.holderTraitName=a.name}return a}isSetter(){return this.kindType===$e.Setter}isGetter(){return this.kindType===$e.Getter}isMethod(){return this.kindType===$e.Method}}class mt extends Array{getTrait(e){let t=e.name,s=e.nsSet,a=this;for(let e of a){let a=e.name;if(a.name===t){let t=a.nsSet[0];for(let a=0;a<s.length;a++)if(t.mangledName===s[a].mangledName)return e}}return null}}class _t{constructor(e){this.abc=e}static read(e,t){let s=new _t(t);s.name=t.getMultiname(e.readU30()),s.superName=t.getMultiname(e.readU30()),s.flags=e.readU8(),0!=(s.flags&et.ClassProtectedNs)&&(s.protectedNs=t.getNamespace(e.readU30()));const a=e.readU30();s.interface=[];for(let r=0;r<a;r++)s.interface.push(t.getMultiname(e.readU30()));s.iinit=t.getMethod(e.readU30());const r=e.readU30();s.trait=new mt;for(let a=0;a<r;a++)s.trait.push(gt.read(e,t,s));return s}getClass(){return this.abc.getClassByInstance(this)}}class Et extends Map{static read(e,t){let s=new Et;s.name=t.getString(e.readU30());const a=e.readU30();let r=[];for(let s=0;s<a;s++)r.push(t.getString(e.readU30()));for(let i=0;i<a;i++){const a=t.getString(e.readU30());null===r[i]?s.value=a:s.set(r[i],a)}return s}toJSON(){let e={};for(let t of this.entries())e[t[0]]=t[1];return e.__name__=this.name,e}}class bt{static read(e,t){let s=new bt,a=e.readU30();return s.kind=e.readU8(),s.val=t.getConstant(s.kind,a),s}}class St{constructor(e){this.abc=e}static read(e,t){let s=new St(t);const a=e.readU30();s.returnType=t.getMultiname(e.readU30()),s.paramType=[];for(let r=0;r<a;r++)s.paramType.push(t.getMultiname(e.readU30()));if(s.name=t.getString(e.readU30()),s.flags=e.readU8(),s.options=[],0!=(s.flags&Ze.HAS_OPTIONAL)){const a=e.readU30();for(let r=0;r<a;r++)s.options.push(bt.read(e,t))}if(s.paramNames=[],0!=(s.flags&Ze.HAS_PARAM_NAMES))for(let r=0;r<a;r++)s.paramNames.push(t.getString(e.readU30()));return s.flags,Ze.Native,s}getBody(){return this.abc.getMethodBodyByMethod(this)}needsRest(){return 0!=(this.flags&Ze.NEED_REST)}isNative(){return 0!=(this.flags&Ze.Native)}}class wt{constructor(){this._mangledName=null}static Public(e){let t=new wt;return t.kind=Me,t.nsSet=[new nt(Qe.Public,"")],t.name=e,t}static Package(e,t){let s=new wt;return s.kind=Me,s.nsSet=[nt.Package(e)],s.name=t,s}static PackageInternal(e,t){let s=new wt;return s.kind=Me,s.nsSet=[nt.PackageInternal(e)],s.name=t,s}static QName(e,t){let s=new wt;return s.kind=Me,s.nsSet=[e],s.name=t,s}static PublicMangledName(e){return wt.MangledName(nt.Public,e)}static MangledName(e,t){return"$"+e.mangledName+"-"+t}static stripPublicMangledName(e){const t=wt.PublicMangledName("");return e.startsWith(t)?e.substr(t.length):null}static read(e,t){let s,a,r,i=e.readU8(),n=[],o=!1;switch(i){case Me:case Be:n=[t.getNamespace(e.readU30())],s=t.getString(e.readU30());break;case Fe:case ze:s=t.getString(e.readU30());break;case He:case Ge:break;case We:case Ve:s=t.getString(e.readU30()),n=t.getNsSet(e.readU30());break;case Xe:case je:n=t.getNsSet(e.readU30());break;case Ye:o=!0,a=e.readU30();const l=e.readU30();r=[];for(let t=0;t<l;t++)r.push(e.readU30());break;default:console.error("Unknown kind of Multiname:"+i)}return e=>{let t=new wt;return t.kind=i,t.name=s,t.nsSet=n,t.kind===Ye&&(t.factory=e(a),t.params=r.map(t=>e(t)),t.nsSet=t.factory.nsSet,t.name=t.factory.name),t}}get mangledName(){let e=this._mangledName;return e||(e=this._mangledName=wt.MangledName(this.nsSet[0],this.name)),e}toString(){let e=this.nsSet[0];return e?e.toString()+":"+this.name:this.name}toJSON(){return this.kind===Me&&1===this.nsSet.length?this.nsSet[0].isPublic()?this.name:`${this.nsSet[0].uri}::${this.name}`:this}isRuntimeName(){switch(this.kind){case He:case Ge:case Xe:case je:return!0}return!1}isRuntime(){switch(this.kind){case Me:case Be:case We:case Ve:return!1}return!0}isRuntimeNamespace(){switch(this.kind){case Fe:case ze:case He:case Ge:return!0}return!1}isAttribute(){switch(this.kind){case Be:case ze:case Ge:case Ve:case je:return!0}return!1}isAnyName(){return null===this.name}}let Nt={[wt.PublicMangledName("Number")]:NaN,[wt.PublicMangledName("int")]:0,[wt.PublicMangledName("uint")]:0,[wt.PublicMangledName("Boolean")]:!1};class Ut{static read(e,t,s){const a=t.readU30()-1;e.integer=[null];for(let s=0;s<a;s++)e.integer.push(t.readS32());const r=t.readU30()-1;e.uinteger=[null];for(let s=0;s<r;s++)e.uinteger.push(t.readU32());const i=t.readU30()-1;e.double=[null];for(let s=0;s<i;s++)e.double.push(t.readD64());const n=t.readU30()-1;e.string=[null];for(let s=0;s<n;s++){const s=t.readU30();e.string.push(t.readString(s))}const o=t.readU30()-1;e.namespace=[null];for(let a=0;a<o;a++)e.namespace.push(nt.read(t,s));const l=t.readU30()-1;e.nsSet=[null];for(let a=0;a<l;a++){let a=[];const r=t.readU30();for(let e=0;e<r;e++)a.push(s.getNamespace(t.readU30()));e.nsSet.push(a)}const c=t.readU30()-1;let h=[null];for(let e=0;e<c;e++)h.push(wt.read(t,s));const d=e=>{let t=h[e];return t instanceof wt?t:t(d)};for(let e=1;e<=c;e++)h[e]=d(e);return e.multiname=h,e}}class yt{constructor(){this.methodBody=this.instance=this.cls=new WeakMap}}class vt{constructor(e,t){this.app=t,this.minorVersion=e.readU16(),this.majorVersion=e.readU16(),this.constantPool=new Ut,Ut.read(this.constantPool,e,this);const s=e.readU30();this.method=[];for(let t=0;t<s;t++)this.method.push(St.read(e,this));for(let e=0;e<s;e++)this.method[e].id=e;const a=e.readU30();this.metadata=[];for(let t=0;t<a;t++)this.metadata.push(Et.read(e,this));const r=e.readU30();this.instance=[];for(let t=0;t<r;t++)this.instance.push(_t.read(e,this));this.classes=[];for(let t=0;t<r;t++)this.classes.push(ht.read(e,this));const i=e.readU30();this.script=[];for(let t=0;t<i;t++)this.script.push(ct.read(e,this));const n=e.readU30();this.methodBody=[];for(let t=0;t<n;t++)this.methodBody.push(lt.read(e,this));this.map=new yt;for(let e of this.methodBody)this.map.methodBody.set(e.method,e);for(let e=0;e<r;e++)this.map.instance.set(this.classes[e],this.instance[e]),this.map.cls.set(this.instance[e],this.classes[e])}getMetadata(e){return this.metadata[e]}getMethodBodyByMethod(e){return this.map.methodBody.get(e)}getInstanceByClass(e){return this.map.instance.get(e)}getClassByInstance(e){return this.map.cls.get(e)}getMethod(e){return this.method[e]}getString(e){return this.constantPool.string[e]}getMultiname(e){return this.constantPool.multiname[e]}getNamespace(e){return this.constantPool.namespace[e]}getClass(e){return this.classes[e]}getNsSet(e){return this.constantPool.nsSet[e]}getScript(e){return this.script[e]}getUInt(e){return this.constantPool.uinteger[e]}getInt(e){return this.constantPool.integer[e]}getDouble(e){return this.constantPool.double[e]}getConstant(e,t){switch(e){case Ke.Int:return this.getInt(t);case Ke.UInt:return this.getUInt(t);case Ke.Double:return this.getDouble(t);case Ke.Utf8:return this.getString(t);case Ke.True:case Ke.False:return Ke.True===e;case Ke.Null:return null;case Ke.Undefined:return;default:if(Je.includes(e))return this.getNamespace(t);throw new Error("Unknown constant kind"+e)}}toJSON(){let e=(new Error).stack;return e.length-e.replace(/AbcFile\.toJSON/g,"AbcFiletoJSON").length>1?null:JSON.parse(JSON.stringify({minorVersion:this.minorVersion,majorVersion:this.majorVersion,script:this.script,classes:this.classes,instance:this.instance,method:this.method,methodBody:this.methodBody},(e,t)=>{if("abc"!==e&&"app"!==e&&"holder"!==e)return"kind"===e||"_kind"===e?`0x${t.toString(16)}`:t instanceof ArrayBuffer?n(Array.from(new Uint8Array(t))):(t instanceof Object&&t.constructor&&t.constructor.name&&(t.cType=t.constructor.name),t)}))}}class Tt{constructor(e,t){this.name=e,this.kind=t,this.configurable=!0,this.enumerable=!1,this.writable=!0,this.metadata=null}setDescriptor(e){const t=["configurable","enumerable","value","writable","get","set"];Object.keys(e).filter(e=>t.includes(e)).forEach(t=>{this[t]=e[t]})}descriptor(){let e={configurable:this.configurable,enumerable:this.enumerable,writable:this.writable,get:this.get,set:this.set,value:this.value};return this.get||this.set?(delete e.value,delete e.writable):(delete e.get,delete e.set),e}}class Ct{constructor(e,t,s){this.superTraits=e,this.protectedNs=t,this.protectedNsMappings=s,this._nextSlotID=1,this.slots=[];let a=this.map=new Map;if(e){let t=e.map;for(let[e,s]of t)a.set(e,new Map(s))}}addTrait(e){let t=e.name,s=this.map.get(t.name);s||(s=new Map,this.map.set(t.name,s));const a=t.nsSet[0].mangledName,r=s.get(a);return s.set(a,e),r&&(e.kind===$e.Setter&&r.get&&(e.get=r.get,e.kind=$e.GetterSetter),e.kind===$e.Getter&&r.set&&(e.set=r.set,e.kind=$e.GetterSetter)),r}addSlotTrait(e){let t=e.slot;t?this._nextSlotID=t+1:t=e.slot=this._nextSlotID++,this.slots[t]=e}getTrait(e,t){let s=this.map.get(t);if(!s)return null;let a;for(let r=0;r<e.length;r++){let i=e[r];if(a=s.get(i.mangledName))return a;if(i.type===Qe.Protected){let e=this;for(;e;){if(e.protectedNs===i&&(a=e.protectedNsMappings[t]))return a;e=e.superTraits}}}return null}}var It;!function(e){e[e.BKPT=1]="BKPT",e[e.NOP=2]="NOP",e[e.THROW=3]="THROW",e[e.GETSUPER=4]="GETSUPER",e[e.SETSUPER=5]="SETSUPER",e[e.DXNS=6]="DXNS",e[e.DXNSLATE=7]="DXNSLATE",e[e.KILL=8]="KILL",e[e.LABEL=9]="LABEL",e[e.LF32X4=10]="LF32X4",e[e.SF32X4=11]="SF32X4",e[e.IFNLT=12]="IFNLT",e[e.IFNLE=13]="IFNLE",e[e.IFNGT=14]="IFNGT",e[e.IFNGE=15]="IFNGE",e[e.JUMP=16]="JUMP",e[e.IFTRUE=17]="IFTRUE",e[e.IFFALSE=18]="IFFALSE",e[e.IFEQ=19]="IFEQ",e[e.IFNE=20]="IFNE",e[e.IFLT=21]="IFLT",e[e.IFLE=22]="IFLE",e[e.IFGT=23]="IFGT",e[e.IFGE=24]="IFGE",e[e.IFSTRICTEQ=25]="IFSTRICTEQ",e[e.IFSTRICTNE=26]="IFSTRICTNE",e[e.LOOKUPSWITCH=27]="LOOKUPSWITCH",e[e.PUSHWITH=28]="PUSHWITH",e[e.POPSCOPE=29]="POPSCOPE",e[e.NEXTNAME=30]="NEXTNAME",e[e.HASNEXT=31]="HASNEXT",e[e.PUSHNULL=32]="PUSHNULL",e[e.PUSHUNDEFINED=33]="PUSHUNDEFINED",e[e.PUSHFLOAT=34]="PUSHFLOAT",e[e.NEXTVALUE=35]="NEXTVALUE",e[e.PUSHBYTE=36]="PUSHBYTE",e[e.PUSHSHORT=37]="PUSHSHORT",e[e.PUSHTRUE=38]="PUSHTRUE",e[e.PUSHFALSE=39]="PUSHFALSE",e[e.PUSHNAN=40]="PUSHNAN",e[e.POP=41]="POP",e[e.DUP=42]="DUP",e[e.SWAP=43]="SWAP",e[e.PUSHSTRING=44]="PUSHSTRING",e[e.PUSHINT=45]="PUSHINT",e[e.PUSHUINT=46]="PUSHUINT",e[e.PUSHDOUBLE=47]="PUSHDOUBLE",e[e.PUSHSCOPE=48]="PUSHSCOPE",e[e.PUSHNAMESPACE=49]="PUSHNAMESPACE",e[e.HASNEXT2=50]="HASNEXT2",e[e.LI8=53]="LI8",e[e.LI16=54]="LI16",e[e.LI32=55]="LI32",e[e.LF32=56]="LF32",e[e.LF64=57]="LF64",e[e.SI8=58]="SI8",e[e.SI16=59]="SI16",e[e.SI32=60]="SI32",e[e.SF32=61]="SF32",e[e.SF64=62]="SF64",e[e.NEWFUNCTION=64]="NEWFUNCTION",e[e.CALL=65]="CALL",e[e.CONSTRUCT=66]="CONSTRUCT",e[e.CALLMETHOD=67]="CALLMETHOD",e[e.CALLSTATIC=68]="CALLSTATIC",e[e.CALLSUPER=69]="CALLSUPER",e[e.CALLPROPERTY=70]="CALLPROPERTY",e[e.RETURNVOID=71]="RETURNVOID",e[e.RETURNVALUE=72]="RETURNVALUE",e[e.CONSTRUCTSUPER=73]="CONSTRUCTSUPER",e[e.CONSTRUCTPROP=74]="CONSTRUCTPROP",e[e.CALLSUPERID=75]="CALLSUPERID",e[e.CALLPROPLEX=76]="CALLPROPLEX",e[e.CALLINTERFACE=77]="CALLINTERFACE",e[e.CALLSUPERVOID=78]="CALLSUPERVOID",e[e.CALLPROPVOID=79]="CALLPROPVOID",e[e.SXI1=80]="SXI1",e[e.SXI8=81]="SXI8",e[e.SXI16=82]="SXI16",e[e.APPLYTYPE=83]="APPLYTYPE",e[e.PUSHFLOAT4=84]="PUSHFLOAT4",e[e.NEWOBJECT=85]="NEWOBJECT",e[e.NEWARRAY=86]="NEWARRAY",e[e.NEWACTIVATION=87]="NEWACTIVATION",e[e.NEWCLASS=88]="NEWCLASS",e[e.GETDESCENDANTS=89]="GETDESCENDANTS",e[e.NEWCATCH=90]="NEWCATCH",e[e.FINDPROPSTRICT=93]="FINDPROPSTRICT",e[e.FINDPROPERTY=94]="FINDPROPERTY",e[e.FINDDEF=95]="FINDDEF",e[e.GETLEX=96]="GETLEX",e[e.SETPROPERTY=97]="SETPROPERTY",e[e.GETLOCAL=98]="GETLOCAL",e[e.SETLOCAL=99]="SETLOCAL",e[e.GETGLOBALSCOPE=100]="GETGLOBALSCOPE",e[e.GETSCOPEOBJECT=101]="GETSCOPEOBJECT",e[e.GETPROPERTY=102]="GETPROPERTY",e[e.GETOUTERSCOPE=103]="GETOUTERSCOPE",e[e.INITPROPERTY=104]="INITPROPERTY",e[e.UNUSED_69=105]="UNUSED_69",e[e.DELETEPROPERTY=106]="DELETEPROPERTY",e[e.UNUSED_6B=107]="UNUSED_6B",e[e.GETSLOT=108]="GETSLOT",e[e.SETSLOT=109]="SETSLOT",e[e.GETGLOBALSLOT=110]="GETGLOBALSLOT",e[e.SETGLOBALSLOT=111]="SETGLOBALSLOT",e[e.CONVERT_S=112]="CONVERT_S",e[e.ESC_XELEM=113]="ESC_XELEM",e[e.ESC_XATTR=114]="ESC_XATTR",e[e.CONVERT_I=115]="CONVERT_I",e[e.CONVERT_U=116]="CONVERT_U",e[e.CONVERT_D=117]="CONVERT_D",e[e.CONVERT_B=118]="CONVERT_B",e[e.CONVERT_O=119]="CONVERT_O",e[e.CHECKFILTER=120]="CHECKFILTER",e[e.CONVERT_F=121]="CONVERT_F",e[e.UNPLUS=122]="UNPLUS",e[e.CONVERT_F4=123]="CONVERT_F4",e[e.BC_7C=124]="BC_7C",e[e.BC_7D=125]="BC_7D",e[e.BC_7E=126]="BC_7E",e[e.BC_7F=127]="BC_7F",e[e.COERCE=128]="COERCE",e[e.COERCE_B=129]="COERCE_B",e[e.COERCE_A=130]="COERCE_A",e[e.COERCE_I=131]="COERCE_I",e[e.COERCE_D=132]="COERCE_D",e[e.COERCE_S=133]="COERCE_S",e[e.ASTYPE=134]="ASTYPE",e[e.ASTYPELATE=135]="ASTYPELATE",e[e.COERCE_U=136]="COERCE_U",e[e.COERCE_O=137]="COERCE_O",e[e.NEGATE=144]="NEGATE",e[e.INCREMENT=145]="INCREMENT",e[e.INCLOCAL=146]="INCLOCAL",e[e.DECREMENT=147]="DECREMENT",e[e.DECLOCAL=148]="DECLOCAL",e[e.TYPEOF=149]="TYPEOF",e[e.NOT=150]="NOT",e[e.BITNOT=151]="BITNOT",e[e.UNUSED_98=152]="UNUSED_98",e[e.UNUSED_99=153]="UNUSED_99",e[e.UNUSED_9A=154]="UNUSED_9A",e[e.UNUSED_9B=155]="UNUSED_9B",e[e.UNUSED_9C=156]="UNUSED_9C",e[e.UNUSED_9D=157]="UNUSED_9D",e[e.UNUSED_9E=158]="UNUSED_9E",e[e.UNUSED_9F=159]="UNUSED_9F",e[e.ADD=160]="ADD",e[e.SUBTRACT=161]="SUBTRACT",e[e.MULTIPLY=162]="MULTIPLY",e[e.DIVIDE=163]="DIVIDE",e[e.MODULO=164]="MODULO",e[e.LSHIFT=165]="LSHIFT",e[e.RSHIFT=166]="RSHIFT",e[e.URSHIFT=167]="URSHIFT",e[e.BITAND=168]="BITAND",e[e.BITOR=169]="BITOR",e[e.BITXOR=170]="BITXOR",e[e.EQUALS=171]="EQUALS",e[e.STRICTEQUALS=172]="STRICTEQUALS",e[e.LESSTHAN=173]="LESSTHAN",e[e.LESSEQUALS=174]="LESSEQUALS",e[e.GREATERTHAN=175]="GREATERTHAN",e[e.GREATEREQUALS=176]="GREATEREQUALS",e[e.INSTANCEOF=177]="INSTANCEOF",e[e.ISTYPE=178]="ISTYPE",e[e.ISTYPELATE=179]="ISTYPELATE",e[e.IN=180]="IN",e[e.UNUSED_B5=181]="UNUSED_B5",e[e.UNUSED_B6=182]="UNUSED_B6",e[e.UNUSED_B7=183]="UNUSED_B7",e[e.UNUSED_B8=184]="UNUSED_B8",e[e.UNUSED_B9=185]="UNUSED_B9",e[e.UNUSED_BA=186]="UNUSED_BA",e[e.UNUSED_BB=187]="UNUSED_BB",e[e.UNUSED_BC=188]="UNUSED_BC",e[e.UNUSED_BD=189]="UNUSED_BD",e[e.UNUSED_BE=190]="UNUSED_BE",e[e.UNUSED_BF=191]="UNUSED_BF",e[e.INCREMENT_I=192]="INCREMENT_I",e[e.DECREMENT_I=193]="DECREMENT_I",e[e.INCLOCAL_I=194]="INCLOCAL_I",e[e.DECLOCAL_I=195]="DECLOCAL_I",e[e.NEGATE_I=196]="NEGATE_I",e[e.ADD_I=197]="ADD_I",e[e.SUBTRACT_I=198]="SUBTRACT_I",e[e.MULTIPLY_I=199]="MULTIPLY_I",e[e.UNUSED_C8=200]="UNUSED_C8",e[e.UNUSED_C9=201]="UNUSED_C9",e[e.UNUSED_CA=202]="UNUSED_CA",e[e.UNUSED_CB=203]="UNUSED_CB",e[e.UNUSED_CC=204]="UNUSED_CC",e[e.UNUSED_CD=205]="UNUSED_CD",e[e.UNUSED_CE=206]="UNUSED_CE",e[e.UNUSED_CF=207]="UNUSED_CF",e[e.GETLOCAL0=208]="GETLOCAL0",e[e.GETLOCAL1=209]="GETLOCAL1",e[e.GETLOCAL2=210]="GETLOCAL2",e[e.GETLOCAL3=211]="GETLOCAL3",e[e.SETLOCAL0=212]="SETLOCAL0",e[e.SETLOCAL1=213]="SETLOCAL1",e[e.SETLOCAL2=214]="SETLOCAL2",e[e.SETLOCAL3=215]="SETLOCAL3",e[e.UNUSED_D8=216]="UNUSED_D8",e[e.UNUSED_D9=217]="UNUSED_D9",e[e.UNUSED_DA=218]="UNUSED_DA",e[e.UNUSED_DB=219]="UNUSED_DB",e[e.UNUSED_DC=220]="UNUSED_DC",e[e.UNUSED_DD=221]="UNUSED_DD",e[e.UNUSED_DE=222]="UNUSED_DE",e[e.UNUSED_DF=223]="UNUSED_DF",e[e.UNUSED_E0=224]="UNUSED_E0",e[e.UNUSED_E1=225]="UNUSED_E1",e[e.UNUSED_E2=226]="UNUSED_E2",e[e.UNUSED_E3=227]="UNUSED_E3",e[e.UNUSED_E4=228]="UNUSED_E4",e[e.UNUSED_E5=229]="UNUSED_E5",e[e.UNUSED_E6=230]="UNUSED_E6",e[e.UNUSED_E7=231]="UNUSED_E7",e[e.UNUSED_E8=232]="UNUSED_E8",e[e.UNUSED_E9=233]="UNUSED_E9",e[e.UNUSED_EA=234]="UNUSED_EA",e[e.UNUSED_EB=235]="UNUSED_EB",e[e.UNUSED_EC=236]="UNUSED_EC",e[e.UNUSED_ED=237]="UNUSED_ED",e[e.UNUSED_EE=238]="UNUSED_EE",e[e.INVALID=237]="INVALID",e[e.false=239]="false",e[e.falseLINE=240]="falseLINE",e[e.falseFILE=241]="falseFILE",e[e.BKPTLINE=242]="BKPTLINE",e[e.TIMESTAMP=243]="TIMESTAMP",e[e.RESTARGC=244]="RESTARGC",e[e.RESTARG=245]="RESTARG",e[e.UNUSED_F6=246]="UNUSED_F6",e[e.UNUSED_F7=247]="UNUSED_F7",e[e.UNUSED_F8=248]="UNUSED_F8",e[e.UNUSED_F9=249]="UNUSED_F9",e[e.UNUSED_FA=250]="UNUSED_FA",e[e.UNUSED_FB=251]="UNUSED_FB",e[e.UNUSED_FC=252]="UNUSED_FC",e[e.UNUSED_FD=253]="UNUSED_FD",e[e.UNUSED_FE=254]="UNUSED_FE",e[e.END=255]="END"}(It||(It={}));const Pt={[It.KILL]:"3",[It.IFNLT]:"2",[It.IFNGT]:"2",[It.IFNGE]:"2",[It.JUMP]:"2",[It.IFTRUE]:"2",[It.IFFALSE]:"2",[It.IFEQ]:"2",[It.IFNE]:"2",[It.IFLT]:"2",[It.IFLE]:"2",[It.IFGT]:"2",[It.IFGE]:"2",[It.LOOKUPSWITCH]:"LOOKUPSWITCH",[It.PUSHBYTE]:"8",[It.PUSHSHORT]:"3",[It.PUSHSTRING]:"3",[It.PUSHINT]:"3",[It.PUSHUINT]:"3",[It.PUSHNAMESPACE]:"3",[It.HASNEXT2]:"33",[It.NEWFUNCTION]:"3",[It.CALL]:"3",[It.CONSTRUCT]:"3",[It.CONSTRUCTSUPER]:"3",[It.CONSTRUCTPROP]:"33",[It.CALLSUPER]:"33",[It.CALLSUPERVOID]:"33",[It.CALLPROPLEX]:"33",[It.CALLPROPERTY]:"33",[It.CALLPROPVOID]:"33",[It.APPLYTYPE]:"3",[It.NEWOBJECT]:"3",[It.NEWARRAY]:"3",[It.NEWCLASS]:"3",[It.GETDESCENDANTS]:"3",[It.NEWCATCH]:"3",[It.FINDPROPERTY]:"3",[It.FINDPROPSTRICT]:"3",[It.FINDDEF]:"3",[It.GETLEX]:"3",[It.INITPROPERTY]:"3",[It.SETPROPERTY]:"3",[It.GETLOCAL]:"3",[It.SETLOCAL]:"3",[It.GETSCOPEOBJECT]:"3",[It.GETPROPERTY]:"3",[It.DELETEPROPERTY]:"3",[It.GETSLOT]:"3",[It.SETSLOT]:"3",[It.COERCE]:"3",[It.INCLOCAL_I]:"3",[It.DECLOCAL_I]:"3",[It.false]:"33",[It.falseLINE]:"3",[It.falseFILE]:"3"},kt=7,At=17,Lt=18;var xt;!function(e){e[e.NEED_ARGUMENTS=1]="NEED_ARGUMENTS",e[e.NEED_ACTIVATION=2]="NEED_ACTIVATION",e[e.NEED_REST=4]="NEED_REST",e[e.HAS_OPTIONAL=8]="HAS_OPTIONAL",e[e.Native=32]="Native",e[e.SET_DXNS=64]="SET_DXNS",e[e.HAS_PARAM_NAMES=128]="HAS_PARAM_NAMES"}(xt||(xt={}));var Rt;!function(e){e[e.Int=3]="Int",e[e.UInt=4]="UInt",e[e.Double=6]="Double",e[e.Utf8=1]="Utf8",e[e.True=11]="True",e[e.False=10]="False",e[e.Null=12]="Null",e[e.Undefined=0]="Undefined",e[e.Namespace=8]="Namespace",e[e.PackageNamespace=22]="PackageNamespace",e[e.PackageInternalNs=23]="PackageInternalNs",e[e.ProtectedNamespace=24]="ProtectedNamespace",e[e.ExplicitNamespace=25]="ExplicitNamespace",e[e.StaticProtectedNs=26]="StaticProtectedNs",e[e.PrivateNs=5]="PrivateNs"}(Rt||(Rt={}));var Ot;!function(e){e[e.Public=0]="Public",e[e.Protected=1]="Protected",e[e.PackageInternal=2]="PackageInternal",e[e.Private=3]="Private",e[e.Explicit=4]="Explicit",e[e.StaticProtected=5]="StaticProtected"}(Ot||(Ot={}));var Dt;!function(e){e[e.Slot=0]="Slot",e[e.Method=1]="Method",e[e.Getter=2]="Getter",e[e.Setter=3]="Setter",e[e.Class=4]="Class",e[e.Function=5]="Function",e[e.Const=6]="Const",e[e.GetterSetter=7]="GetterSetter"}(Dt||(Dt={}));var Mt;!function(e){e[e.Final=1]="Final",e[e.Override=2]="Override",e[e.Metadata=4]="Metadata"}(Mt||(Mt={}));var Bt;!function(e){e[e.ClassSealed=1]="ClassSealed",e[e.ClassFinal=2]="ClassFinal",e[e.ClassInterface=4]="ClassInterface",e[e.ClassProtectedNs=8]="ClassProtectedNs"}(Bt||(Bt={}));let Ft={NotImplementedError:{code:1001,message:"The method %1 is not implemented."},InvalidPrecisionError:{code:1002,message:"Number.toPrecision has a range of 1 to 21. Number.toFixed and Number.toExponential have a range of 0 to 20. Specified value is not within expected range."},InvalidRadixError:{code:1003,message:"The radix argument must be between 2 and 36; got %1."},InvokeOnIncompatibleObjectError:{code:1004,message:"Method %1 was invoked on an incompatible object."},ArrayIndexNotIntegerError:{code:1005,message:"Array index is not a positive integer (%1)."},CallOfNonFunctionError:{code:1006,message:"%1 is not a function."},ConstructOfNonFunctionError:{code:1007,message:"Instantiation attempted on a non-constructor."},ConvertNullToObjectError:{code:1009,message:"Cannot access a property or method of a null object reference."},ConvertUndefinedToObjectError:{code:1010,message:"A term is undefined and has no properties."},ClassNotFoundError:{code:1014,message:"Class %1 could not be found."},DescendentsError:{code:1016,message:"Descendants operator (..) not supported on type %1."},StackOverflowError:{code:1023,message:"Stack overflow occurred."},CpoolIndexRangeError:{code:1032,message:"Cpool index %1 is out of range %2."},CpoolEntryWrongTypeError:{code:1033,message:"Cpool entry %1 is wrong type."},CheckTypeFailedError:{code:1034,message:"Type Coercion failed: cannot convert %1 to %2."},CannotAssignToMethodError:{code:1037,message:"Cannot assign to a method %1 on %2."},CantUseInstanceofOnNonObjectError:{code:1040,message:"The right-hand side of instanceof must be a class or function."},IsTypeMustBeClassError:{code:1041,message:"The right-hand side of operator must be a class."},InvalidMagicError:{code:1042,message:"Not an ABC file.  major_version=%1 minor_version=%2."},UnsupportedTraitsKindError:{code:1045,message:"Unsupported traits kind=%1."},PrototypeTypeError:{code:1049,message:"Prototype objects must be vanilla Objects."},ConvertToPrimitiveError:{code:1050,message:"Cannot convert %1 to primitive."},InvalidURIError:{code:1052,message:"Invalid URI passed to %1 function."},WriteSealedError:{code:1056,message:"Cannot create property %1 on %2."},WrongArgumentCountError:{code:1063,message:"Argument count mismatch on %1. Expected %2, got %3."},UndefinedVarError:{code:1065,message:"Variable %1 is not defined."},ReadSealedError:{code:1069,message:"Property %1 not found on %2 and there is no default value."},ConstWriteError:{code:1074,message:"Illegal write to read-only property %1 on %2."},XMLPrefixNotBound:{code:1083,message:"The prefix '%1' for element '%2' is not bound."},XMLUnterminatedElementTag:{code:1085,message:"The element type '%1' must be terminated by the matching end-tag '</%2>'."},XMLOnlyWorksWithOneItemLists:{code:1086,message:"The %1 method only works on lists containing one item."},XMLAssignmentToIndexedXMLNotAllowed:{code:1087,message:"Assignment to indexed XML is not allowed."},XMLMarkupMustBeWellFormed:{code:1088,message:"The markup in the document following the root element must be well-formed."},XMLAssigmentOneItemLists:{code:1089,message:"Assignment to lists with more than one item is not supported."},XMLMalformedElement:{code:1090,message:"XML parser failure: element is malformed."},XMLUnterminatedCData:{code:1091,message:"XML parser failure: Unterminated CDATA section."},XMLUnterminatedXMLDecl:{code:1092,message:"XML parser failure: Unterminated XML declaration."},XMLUnterminatedDocTypeDecl:{code:1093,message:"XML parser failure: Unterminated DOCTYPE declaration."},XMLUnterminatedComment:{code:1094,message:"XML parser failure: Unterminated comment."},XMLUnterminatedElement:{code:1096,message:"XML parser failure: Unterminated element."},XMLNamespaceWithPrefixAndNoURI:{code:1098,message:"Illegal prefix %1 for no namespace."},RegExpFlagsArgumentError:{code:1100,message:"Cannot supply flags when constructing one RegExp from another."},InvalidBaseClassError:{code:1108,message:"The OP_newclass opcode was used with the incorrect base class."},XMLInvalidName:{code:1117,message:"Invalid XML name: %1."},XMLIllegalCyclicalLoop:{code:1118,message:"Illegal cyclical loop between nodes."},FilterError:{code:1123,message:"Filter operator not supported on type %1."},OutOfRangeError:{code:1125,message:"The index %1 is out of range %2."},VectorFixedError:{code:1126,message:"Cannot change the length of a fixed Vector."},TypeAppOfNonParamType:{code:1127,message:"Type application attempted on a non-parameterized type."},WrongTypeArgCountError:{code:1128,message:"Incorrect number of type parameters for %1. Expected %2, got %3."},JSONCyclicStructure:{code:1129,message:"Cyclic structure cannot be converted to JSON string."},JSONInvalidReplacer:{code:1131,message:"Replacer argument to JSON stringifier must be an array or a two parameter function."},JSONInvalidParseInput:{code:1132,message:"Invalid JSON parse input."},InvalidRangeError:{code:1506,message:"The specified range is invalid."},NullArgumentError:{code:1507,message:"Argument %1 cannot be null."},InvalidArgumentError:{code:1508,message:"The value specified for argument %1 is invalid."},ArrayFilterNonNullObjectError:{code:1510,message:"When the callback argument is a method of a class, the optional this argument must be null."},InvalidParamError:{code:2004,message:"One of the parameters is invalid."},ParamRangeError:{code:2006,message:"The supplied index is out of bounds."},NullPointerError:{code:2007,message:"Parameter %1 must be non-null."},InvalidEnumError:{code:2008,message:"Parameter %1 must be one of the accepted values."},CantInstantiateError:{code:2012,message:"%1 class cannot be instantiated."},InvalidBitmapData:{code:2015,message:"Invalid BitmapData."},EOFError:{code:2030,message:"End of file was encountered.",fqn:"flash.errors.EOFError"},CompressedDataError:{code:2058,message:"There was an error decompressing the data.",fqn:"flash.errors.IOError"},EmptyStringError:{code:2085,message:"Parameter %1 must be non-empty string."},ProxyGetPropertyError:{code:2088,message:"The Proxy class does not implement getProperty. It must be overridden by a subclass."},ProxySetPropertyError:{code:2089,message:"The Proxy class does not implement setProperty. It must be overridden by a subclass."},ProxyCallPropertyError:{code:2090,message:"The Proxy class does not implement callProperty. It must be overridden by a subclass."},ProxyHasPropertyError:{code:2091,message:"The Proxy class does not implement hasProperty. It must be overridden by a subclass."},ProxyDeletePropertyError:{code:2092,message:"The Proxy class does not implement deleteProperty. It must be overridden by a subclass."},ProxyGetDescendantsError:{code:2093,message:"The Proxy class does not implement getDescendants. It must be overridden by a subclass."},ProxyNextNameIndexError:{code:2105,message:"The Proxy class does not implement nextNameIndex. It must be overridden by a subclass."},ProxyNextNameError:{code:2106,message:"The Proxy class does not implement nextName. It must be overridden by a subclass."},ProxyNextValueError:{code:2107,message:"The Proxy class does not implement nextValue. It must be overridden by a subclass."},TooFewArgumentsError:{code:2001,message:"Too few arguments were specified; got %1, %2 expected."},ParamTypeError:{code:2005,message:"Parameter %1 is of the incorrect type. Should be type %2."},SocketConnectError:{code:2011,message:"Socket connection failed to %1:%2."},CantAddSelfError:{code:2024,message:"An object cannot be added as a child of itself."},NotAChildError:{code:2025,message:"The supplied DisplayObject must be a child of the caller."},UnhandledError:{code:2044,message:"Unhandled %1:."},FileVerificationError:{code:2046,message:"The loaded file did not have a valid signature."},AllowDomainArgumentError:{code:2052,message:"Only String arguments are permitted for allowDomain and allowInsecureDomain."},DelayRangeError:{code:2066,message:"The Timer delay specified is out of range."},ExternalInterfaceNotAvailableError:{code:2067,message:"The ExternalInterface is not available in this container. ExternalInterface requires Internet Explorer ActiveX, Firefox, Mozilla 1.7.5 and greater, or other browsers that support NPRuntime."},InvalidLoaderMethodError:{code:2069,message:"The Loader class does not implement this method."},InvalidStageMethodError:{code:2071,message:"The Stage class does not implement this property or method."},TimelineObjectNameSealedError:{code:2078,message:"The name property of a Timeline-placed object cannot be modified."},AlreadyConnectedError:{code:2082,message:"Connect failed because the object is already connected."},CloseNotConnectedError:{code:2083,message:"Close failed because the object is not connected."},ArgumentSizeError:{code:2084,message:"The AMF encoding of the arguments cannot exceed 40K."},AsyncError:{code:2095,message:"%1 was unable to invoke callback %2."},LoadingObjectNotSWFError:{code:2098,message:"The loading object is not a .swf file, you cannot request SWF properties from it."},LoadingObjectNotInitializedError:{code:2099,message:"The loading object is not sufficiently loaded to provide this information."},DecodeParamError:{code:2101,message:"The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs."},SceneNotFoundError:{code:2108,message:"Scene %1 was not found."},FrameLabelNotFoundError:{code:2109,message:"Frame label %1 not found in scene %2."},InvalidLoaderInfoMethodError:{code:2118,message:"The LoaderInfo class does not implement this method."},SecuritySwfNotAllowedError:{code:2121,message:"Security sandbox violation: %1: %2 cannot access %3. This may be worked around by calling Security.allowDomain."},UnknownFileTypeError:{code:2124,message:"Loaded file is an unknown type."},CantAddParentError:{code:2150,message:"An object cannot be added as a child to one of it's children (or children's children, etc.)."},Matrix3DRefCannontBeShared:{code:2189,message:"A Matrix3D can not be assigned to more than one DisplayObject."},ObjectWithStringsParamError:{code:2196,message:"Parameter %1 must be an Object with only String values."},AllowCodeImportError:{code:3226,message:"Cannot import a SWF file when LoaderContext.allowCodeImport is false."},PermissionDenied:{code:3315,message:"The current security context does not allow this operation."},InternalErrorIV:{code:3343,message:"Internal Error."}};for(let e in Ft){let t=Ft[e];t.typeName=e,Ft[t.code]=t}const zt=new st("Runtime");var Ht;!function(e){e[e.None=0]="None",e[e.Executing=1]="Executing",e[e.Executed=2]="Executed"}(Ht||(Ht={}));const Gt=new WeakMap,Wt=new WeakMap;class Vt{constructor(e,t){this.sec=e,this.parent=t,this.system=t?t.system:this,this.abcs=[],this.triatMethod=this.methodActivation=this.catchScope=new WeakMap,this.findPropertyCache=new Map,this.scriptNameMap=new Map}loadABC(e){if(-1===this.abcs.indexOf(e)){e.app=this;for(let t of e.script){Gt.set(t,{state:Ht.None,global:null});const e=this.scriptNameMap;for(let s of t.trait){const a=s.name.name;e.has(a)||e.set(a,[]),e.get(a).push(t)}}this.abcs.push(e)}}findProperty(e,t,s){const a=this.findPropertyCache;let r=a.get(e.mangledName);return r||(r=this.findDefiningScript(e,s),a.set(e.mangledName,r)),r?Gt.get(r).global:null}getClass(e){return this.getProperty(e,!0,!0)}getProperty(e,t,s){if(!e)return null;let a=this.findProperty(e,t,s);return a?a.axGetProperty(e):null}findDefiningScript(e,t){if(this.parent){let s=this.parent.findDefiningScript(e,t);if(s)return s}const s=this.scriptNameMap.get(e.name);if(!s)return null;for(let a of s){const s=Gt.get(a);if(a.trait.getTrait(e))return this.prepareGlobal(a),t&&s.state===Ht.None&&this.executeScript(a),a}return null}prepareGlobal(e){let t=Gt.get(e);if(t.global)return;let s=this.createGlobal(e);t.global=s}executeScript(e){e.abc.app;this.prepareGlobal(e);e.init;let t=Gt.get(e),s=t.global;return t.state=Ht.Executing,this.sec.flashEmu.interpreter.interpret(s,e.init,s.scope,[],null),t.state=Ht.Executed,s}createGlobal(e){const t=new ss(this,null);t.name=`ScriptGlobal${e.getID()}`;let s=new class extends is{constructor(e){super(t,e)}}(this);return E(s,e.trait,s.scope),s}throwError(e,t,...s){let a=t.message;a=t.message.replace(/%(\d)/,(e,t)=>s[t-1]);let r=this.getClass(wt.Public(e));throw new Yt(r.axNew(a))}createClass(e,t,s){const a=e.holderMeta.filter(e=>"native"===e.name)[0],r=this.sec.flashEmu.interpreter,i=e.getInstance();let n;n=a?I(this,a.get("cls"),t):new ss(this,t);let o=new jt(s,n);n.classInfo=e,n.applyClass(e,o),n instanceof as&&n.native&&n.native._onPrototype&&n.native._onPrototype(n.prototype,n);let l=null;for(let e=n;e;e=e.superCls)if(e instanceof as&&"ObjectClass"!==e.nativeName){l=e;break}const h=!!a;return n.iinit=h?function(...e){if(this instanceof qt){let t=this;t.native||(t.native=C(this,a.get("cls"),...e))}else zt.error(`iinit's this is not instanceof AXObject`)}:function(...e){let t=this;l&&!t.native&&(t.native=C(this,l.nativeName));const s=this.axClass.bin;return s&&(t.native.buf=s.slice(0,s.byteLength)),r.interpret(this,i.iinit,o,e,null)},c(e.cinit.getBody().code)||r.interpret(n,e.cinit,o,[n],null),n}createActivation(e,t){const s=e.getBody();let a=this.methodActivation.get(e);a||(a=new ss(this));let r=a.axNew();return E(r,s.trait,t),r}createCatch(e,t){let s=this.catchScope.get(e);s||(s=new ss(this));let a=s.axNew();return E(a,e.getTrait(),t),a}createMethodForTrait(e,t){let s=e.data,a=this.triatMethod.get(s);if(a)return a;let r=s.method;if(r.isNative()){const t=e.holder;if(t instanceof ht)a=T(this,e);else if(t instanceof _t)a=T(this,e);else if(t instanceof ct){const t=e.metadata&&e.metadata.filter(e=>"native"===e.name);if(1!==t.length)throw new Error(`Native global function don't have metadata`);(a=U(this,t[0].value))||zt.error(`Native function ${t[0].value} not found`)}else zt.error("Unknown type of trait holder")}else a=this.sec.createFunction(r,t);return this.triatMethod.set(s,a),a}applyType(e,t){1!==t.length&&this.throwError("TypeError",Ft.WrongTypeArgCountError,"__AS3__.vec::Vector",1,t.length);let s=Wt.get(t[0]);if(!s){const e=this.getClass(wt.PackageInternal("__AS3__.vec","Vector$object"));(s=new ss(this,e)).name=`Vector.<${t.map(e=>e.name).join(", ")}>`,s.applyClass(null,null),Wt.set(t[0],s)}return s}}class Xt{constructor(e){this.flashEmu=e,this.system=new Vt(this,null),this.apps=[this.system],this.vectorClasses=new WeakMap,this.AXClass=I(this.system,"Class",null),this.AXClass.axClass=this.AXClass,this.AXObject=I(this.system,"ObjectClass",null),this.AXObject.iinit=(()=>null),this.AXString=I(this.system,"StringClass",this.AXObject),this.AXArray=I(this.system,"ArrayClass",this.AXObject)}onBuiltinLoaded(){this.system}createApplicationDomain(e){if(e=e||this.system,!this.apps.includes(e))throw new Error("createApplicationDomain parent domain should be in sec domain");let t=new Vt(this,e);return this.apps.push(t),t}createFunction(e,t,s){const a=this.flashEmu.interpreter;let r;return r=g(this,function(...s){return a.interpret(this,e,t,s,r)})}box(e){return void 0==e?e:e instanceof qt?e:e instanceof Array?this.AXArray.axBox(e):"string"==typeof e?this.AXString.axBox(e):void 0}}class jt{constructor(e,t,s=!1){this.parent=e,this.object=t,this.isWith=s,this.global=e?e.global:this,this.cache=new Map}getScopeProperty(e,t,s){return this.findScopeProperty(e,t,s).axGetProperty(e)}findScopeProperty(e,t,s){let a;if(!s&&!e.isRuntime()&&(a=this.cache.get(e.mangledName)))return a;if(this.object&&(this.isWith?this.object.axHasPropertyInternal(e):this.object.traits.getTrait(e.nsSet,e.name)))return this.object;if(this.parent)return a=this.parent.findScopeProperty(e,t,s),e.kind===kt&&this.cache.set(e.mangledName,a),a;if(s)return null;const r=this.global.object;return e.isAttribute()&&r.app.throwError("ReferenceError",Ft.UndefinedletError,e.nsSet[0].uri+"."+e.name),(a=r.app.findProperty(e,t,!0))?a:(t&&(r.has(wt.PublicMangledName(e.name))||r.app.throwError("ReferenceError",Ft.UndefinedVarError,e.nsSet[0].uri+"."+e.name)),r)}}class Yt{constructor(e){this.error=e}}const Zt=new WeakMap;let Kt,Jt=new Map,Qt=new Map;Kt="undefined"!=typeof performance?()=>performance.now()/1e3:"undefined"!=typeof process?()=>{const e=process.hrtime();return 1e3*e[0]+e[1]/1e6}:()=>(new Date).getTime();const $t=new st("Base");class qt{constructor(e){this.axClass=e,this.dynamic=!1,this.val=new Map,e&&(this.app=e.app,this._proto=e.prototype,this.traits=new Ct(this._proto&&this._proto.traits))}static __axNew(e){return new qt(e)}get(e,t=this){if(!this.val.has(e)&&this._proto)return this._proto.get(e,t);if(this.val.has(e)){let s=this.val.get(e);return s.get?s.get.call(t):s.value}const s=this.val.get(e);return s&&s.value}setDescriptor(e,t){let s=this.get(e);if(!s)throw new Error("not found");s=Object.assign(s,t),this.val.set(e,s)}set(e,t,s=this){if(!this.val.has(e)&&this._proto)return this._proto.set(e,t,s);if(this.val.has(e)){let a=this.val.get(e);if(a.set)return a.set.call(s,t);let r={configurable:a.configurable,enumerable:a.enumerable,value:t,writable:a.writable,get:a.get,set:a.set};s.val.set(e,r)}else this.val.set(e,{value:t})}has(e){return!this.val.has(e)&&this._proto?this._proto.has(e):this.val.has(e)}axIsPrototypeOf(e){for(let t=e._proto;t;t=t._proto)if(t===this)return!0;return!1}axResolveMultiname(e){let t=e.name;if("number"==typeof t)return+t;let s=this.traits.getTrait(e.nsSet,t);return s?s.name.mangledName:wt.PublicMangledName(t)}axCallProperty(e,t,s){const a=this.axResolveMultiname(e);let r=this.get(a);r instanceof es&&(r=r.native);const i=this.app.sec.flashEmu.hooks.get(e.name);if(i&&(r=i.callback),r)return r.call(this,...t);throw new Error("axCallProperty: could not found Method: "+a)}callProperty(e,...t){return this.axCallProperty(wt.Public(e),t,!0)}axSetSlot(e,t){let s=this.traits.slots[e];this.set(s.name.mangledName,t)}axGetSlot(e){let t=this.traits.slots[e];return this.get(t.name.mangledName)}axHasPropertyInternal(e){return!!this.traits.getTrait(e.nsSet,e.name)||void 0!==this.get(e.mangledName)}axGetProperty(e){let t=this.axResolveMultiname(e),s=this.get(t);return s instanceof Function&&(s=g(this.app.sec,s.bind(this))),s}axDeleteProperty(e){let t=f(e.name);return!this.traits.getTrait(e.nsSet,t)&&this.val.delete(wt.PublicMangledName(e.name))}axSetProperty(e,t,s){let a,r=e.name,i=!1,n=this.traits.getTrait(e.nsSet,r);const o=this.axClass.app;if(n){switch(a=n.name.mangledName,n.kind){case $e.Method:o.throwError("ReferenceError",Ft.CannotAssignToMethodError,r,this.axClass.name);break;case $e.Getter:o.throwError("ReferenceError",Ft.ConstWriteError,r,this.axClass.name);break;case $e.Class:case $e.Const:s||o.throwError("ReferenceError",Ft.ConstWriteError,r,this.axClass.name),i=!0}let e=this.app.getClass(n.typeName);e&&(t=e.axCoerce(t))}else a="number"==typeof r?r:wt.PublicMangledName(r);this.set(a,t)}setProperty(e,t){return this.axSetProperty(wt.Public(e),t,!1)}axConstructProperty(e,t){let s=this.axResolveMultiname(e);return this.get(s).axNew(...t)}axCallSuper(e,t,...s){let a=this.axResolveMultiname(e),r=this.superObject.get(a);if(r)return r.call(this,...s);throw new Error("axCallProperty: could not found Method: "+a)}axGetEnumerableKeys(){let e=[];for(let t of this.val.keys()){if("number"==typeof t){e.push(t.toString());continue}let s=wt.stripPublicMangledName(t);s&&e.push(s)}return e}}class es extends qt{static __axNew(e){return new es(e)}}class ts extends es{static __axNew(e){return new ts(e)}get(e,t){return this.native.dynamic_shouldHandle(e)?this.native.dynamic_get(e):super.get(e,t)}set(e,t){this.native.dynamic_shouldHandle(e)&&this.native.dynamic_set(e,t),super.set(e,t)}has(e){return this.native.dynamic_shouldHandle(e)?this.native.dynamic_has(e):super.has(e)}axGetEnumerableKeys(){return this.native.dynamic_keys?this.native.dynamic_keys():super.axGetEnumerableKeys()}}class ss extends qt{constructor(e,t){super(e.sec.AXClass),this.app=e,this.superCls=t,this.name=null,this.axObjectCtor=t?t.axObjectCtor:qt}setName(e){const t=e.nsSet[0].uri+"."+e.name;if(null!==this.name)return;const s=this.app.sec.flashEmu.binaryData.get(t);s&&(this.bin=s),this.name=t}applyClass(e,t){let s=this.app.sec.AXObject.axNew();if(this.traits=new Ct(null),s.traits=new Ct(this.superCls&&this.superCls.prototype.traits),s._proto=this.superCls&&this.superCls.prototype,this.prototype=s,e){const a=e.getInstance();E(this,e.trait,t),E(s,a.trait,t)}}axCoerce(e){return e}axNew(...e){let t=this.axObjectCtor.__axNew(this);return this._axNew(t,...e),t}axSuperNew(e,...t){const s=this.superCls;s&&s._axNew(e,...t)}axIsType(e){return!(!e||"object"!=typeof e)&&this.prototype.axIsPrototypeOf(e)}_axNew(e,...t){return this.iinit?this.iinit.call(e,...t):this.axSuperNew(e,...t),e}}class as extends ss{constructor(e,t,s,a){super(e,a),this.nativeName=s,t?this.native=new t(this):$t.warn("Native class ctor error "+s),this.axObjectCtor=es}axCoerce(e){return this.native&&this.native.axCoerce?this.native.axCoerce(e,this):super.axCoerce(e)}axBox(e){if(this.native&&this.native.axBox)return this.native.axBox(e,this);throw new Error("Can not box"+e)}}class rs extends as{constructor(e,t,s,a){super(e,t,s,a),this.axObjectCtor=ts}}class is extends qt{constructor(e,t){super(e),this.scope=new jt(null,this)}}const ns=new st("Native");let os=new WeakMap,ls=new Map,cs=new Map,hs=new WeakMap,ds=new WeakMap;class us extends Error{}new us;class ps{constructor(e){this.app=e}}const fs=new st("Trace");new st("Functions");class gs extends ps{print(...e){e=e.map(e=>e instanceof qt?e.callProperty("toString"):e&&e.toString()),fs.log(...e)}casi32(e,t,s){const a=this.app.sec.flashEmu.interpreter.getCurrentAPP().domainMemory.view,r=a.getInt32(e,!0);return r===t&&a.setInt32(e,s,!0),r}describeType(){return null}}e([N()],gs.prototype,"print",null),e([N()],gs.prototype,"casi32",null),e([N()],gs.prototype,"describeType",null);class ms{}let _s=class{constructor(e){this.self=e}axNewNative(e,t){return new ms}_onPrototype(e,t){t.prototype.setProperty("toString",function(){return"[object Object]"})}["_init"](){}};_s=e([S("ObjectClass")],_s);let Es=class{get_prototype(){return null}};Es=e([S("Class")],Es);class bs extends Error{constructor(...e){super(...e)}}let Ss=class{constructor(e){this.self=e}axNewNative(e,...t){return new bs(...t)}};Ss=e([S("ReferenceErrorClass")],Ss);class ws extends Array{toString(){return super.toString()}dynamic_shouldHandle(e){return"number"==typeof e}dynamic_set(e,t){this[e]=t}dynamic_get(e){return this[e]}dynamic_has(e){return void 0!==this[e]}}let Ns=class{constructor(e){this.self=e}axBox(e,t){return t.axNew(...e)}axNewNative(e,...t){return new ws(...t)}};Ns=e([S("ArrayClass"),w()],Ns);class Us extends nt{constructor(e,t){void 0===t&&(t=e,e=""),super(Qe.Public,t,e)}toString(){return this.uri}valueOf(){console.error("Namespace.valueOf not impl")}}let ys=class{constructor(e){this.self=e}axNewNative(e,...t){return new Us(...t)}};ys=e([S("NamespaceClass")],ys);class vs{constructor(){this.position=0,this._length=0,this.littleEndian=!1,this.buf||(this.buf=new ArrayBuffer(0))}get bytesAvailable(){throw 1}set endian(e){this.littleEndian="littleEndian"===e}get endian(){return this.littleEndian?"littleEndian":"bigEndian"}get buf(){return this._buf}set buf(e){this._buf=e,this.reset(),this._length=e.byteLength}get length(){return this._length}set length(e){this.ensureCapacity(e),this._length=e}movePos(e){let t=this.position;return this.position+=e,this.position>this.length&&(this.length=this.position),t}readByte(){const e=this.movePos(1);return this.view.getInt8(e)}readUnsignedByte(){const e=this.movePos(1);return this.view.getUint8(e)}readInt(){const e=this.movePos(4);return this.view.getInt32(e,this.littleEndian)}readUnsignedInt(){const e=this.movePos(4);return this.view.getUint32(e,this.littleEndian)}readUTFBytes(e){const t=this.movePos(e);return i(this.u8view.slice(t,t+e))}readCStyleString(e){let t="";for(let s=0;!0;s++){const a=this.u8view[e+s];if(0===a)return t;t+=String.fromCharCode(a)}}writeByte(e){const t=this.movePos(1);this.view.setInt8(t,e)}writeBytes({native:e},t=0,s=0){if(!(e instanceof vs))throw new TypeError("writeBytes(bytes)");0===s&&(s=e.length),this._writeBytes(e.buf,t,s)}_writeBytes(e,t=0,s=0){let a=new Uint8Array(e.slice(t,t+s));const r=this.movePos(a.byteLength);this.u8view.set(a,r)}writeUnsignedInt(e){const t=this.movePos(4);this.view.setUint32(t,e,this.littleEndian)}writeInt(e){const t=this.movePos(4);this.view.setInt32(t,e,this.littleEndian)}writeUTFBytes(e){const t=r(e),s=this.movePos(t.byteLength);this.u8view.set(t,s)}ensureCapacity(e){const t=this.buf;if(t.byteLength<e){let s=Math.max(t.byteLength,1);for(;s<e;)s*=2;if(s>4294967295)throw new RangeError("RangeError");const a=new ArrayBuffer(s);new Uint8Array(a).set(new Uint8Array(t)),this.buf=a}}reset(){this.view=new DataView(this.buf),this.u8view=new Uint8Array(this.buf)}}let Ts=class{constructor(e){this.self=e}axNewNative(e,...t){return new vs(...t)}};Ts=e([S("ByteArrayClass")],Ts);let Cs=class{static get_MAX_VALUE(){return Number.MAX_VALUE}static get_MIN_VALUE(){return Number.MIN_VALUE}static get_NaN(){return Number.NaN}static get_NEGATIVE_INFINITY(){return Number.NEGATIVE_INFINITY}static get_POSITIVE_INFINITY(){return Number.POSITIVE_INFINITY}};Cs=e([S("NumberClass")],Cs);class Is{constructor(e=!1){this.dict=new Map}dynamic_shouldHandle(e){return!0}dynamic_set(e,t){return this.dict.set(e,t)}dynamic_get(e){return this.dict.get(e)}dynamic_has(e){return this.dict.has(e)}}let Ps=class{constructor(e){this.self=e}axNewNative(e,...t){return new Is(...t)}};Ps=e([S("DictionaryClass"),w()],Ps);let ks=class{constructor(e){this.self=e}axNewNative(e,...t){throw new Error("not imp")}};ks=e([S("VectorClass")],ks);class As extends Array{toString(){return super.toString()}dynamic_shouldHandle(e){return"number"==typeof e}dynamic_set(e,t){this[e]=t}dynamic_get(e){return this[e]}dynamic_has(e){return void 0!==this[e]}dynamic_keys(){let e=[];for(let t=0;t<this.length;t++)e.push(t);return e}concat(...e){let t=super.concat(...e),s=this.self.axClass.axNew();return s.native=t,s.native.self=s,s}reverse(){let e=super.reverse(),t=this.self.axClass.axNew();return t.native=e,t.native.self=t,t}}let Ls=class{constructor(e){this.self=e}axNewNative(e,...t){const s=new As(...t);return s.self=e,s}};Ls=e([S("ObjectVectorClass"),w()],Ls);class xs{call(e,...t){return this.func.call(e,...t)}apply(e,t){return t instanceof es&&(t=t.native),this.call(e,...t)}}let Rs=class{constructor(e){this.self=e}axNewNative(e,...t){return new xs(...t)}_onPrototype(e,t){const s=(t,s)=>{e.axSetProperty(wt.Public(t),function(...e){return s.call(this.native,...e)},!1)},a=xs.prototype;s("call",a.call),s("apply",a.apply)}};Rs=e([S("FunctionClass")],Rs);class Os{constructor(e){this.str=e}replace(e,t){return e&&e.native&&(e=e.native),t&&t.native&&(t=t.native),this.str.replace(e,t)}split(e){return e&&e.native&&(e=e.native),this.str.split(e)}substr(e=0,t){return this.str.substr(e,t)}get length(){return this.str.length}set length(e){}}let Ds=class{constructor(e){this.self=e}axNewNative(e,t){return new Os(t)}axCoerce(e,t){return e&&e.native?e.native.toString():e}axBox(e,t){return t.axNew(e)}};Ds=e([S("StringClass")],Ds);class Ms extends Date{toString(){return super.toString()}get time(){return this.getTime()}set time(e){this.setTime(e)}}let Bs=class{constructor(e){this.self=e}axNewNative(e,...t){return new Ms(...t)}};Bs=e([S("DateClass")],Bs);class Fs extends RegExp{constructor(e,t){super(e,t)}}let zs=class{constructor(e){this.self=e}axNewNative(e,...t){return new Fs(...t)}};zs=e([S("RegExpClass")],zs);let Hs=class{constructor(e){this.self=e}axNewNative(e,...t){return{}}};Hs=e([S("XMLListClass")],Hs);class Gs{addEventListener(e,t,s,a,r){"addedToStage"===e&&t.call(this.self)}removeEventListener(e,t,s){}}let Ws=class{constructor(e){this.self=e}axNewNative(e,...t){let s=new Gs(...t);return s.self=e,s}};Ws=e([S("EventDispatcherClass")],Ws);let Vs=class extends Ws{constructor(){super(),this.stage=!0}};Vs=e([S("DisplayObjectClass")],Vs);class Xs{constructor(e){this.app=e}get domainMemory(){const e=this.app.domainMemory;return e&&e.self}set domainMemory(e){this.app.domainMemory=e.native}}let js=class{constructor(e){this.self=e}axNewNative(e,t){return new Xs(t)}get currentDomain(){return this.self.axNew(this.self.app.sec.flashEmu.interpreter.getCurrentAPP())}get MIN_DOMAIN_MEMORY_LENGTH(){return 1024}};js=e([S("ApplicationDomainClass")],js);new st("Interpreter");class Ys{constructor(){this.psc=new WeakMap,this.globalStacks=[],this.Errors=Ft,this.callTable=[];let e=[];for(let t=0;t<256;t++)this[t]&&e.push(t);for(let t of e)this.callTable[t]=this[t]}[It.SETLOCAL0]({locals:e,stack:t,bc:s}){e[0]=t.pop()}[It.SETLOCAL1]({locals:e,stack:t,bc:s}){e[1]=t.pop()}[It.SETLOCAL2]({locals:e,stack:t,bc:s}){e[2]=t.pop()}[It.SETLOCAL3]({locals:e,stack:t,bc:s}){e[3]=t.pop()}[It.GETLOCAL0]({locals:e,stack:t,bc:s}){t.push(e[0])}[It.GETLOCAL1]({locals:e,stack:t,bc:s}){t.push(e[1])}[It.GETLOCAL2]({locals:e,stack:t,bc:s}){t.push(e[2])}[It.GETLOCAL3]({locals:e,stack:t,bc:s}){t.push(e[3])}[It.GETLOCAL]({locals:e,stack:t,bc:s,u30:a}){t.push(e[a()])}[It.SETLOCAL]({locals:e,stack:t,u30:s}){e[s()]=t.pop()}[It.PUSHSCOPE]({value:e,scopes:t,stack:s,bc:a,u30:r}){e=s.pop(),t.push(e,!1)}[It.FINDPROPERTY](e){return this[It.FINDPROPSTRICT](e)}[It.FINDPROPSTRICT]({scopes:e,value:t,rn:s,stack:a,bc:r,u30:i,abc:n}){this.popNameInto(a,n.getMultiname(i()),s),t=e.topScope().findScopeProperty(s,r===It.FINDPROPSTRICT,!1),a.push(t)}[It.CONSTRUCT]({receiver:e,locals:t,stack:s,bc:a,u30:r,args:i}){this.popManyInto(s,r(),i),e=s.pop(),s.push(e.axNew(...i))}[It.CONSTRUCTPROP]({receiver:e,abc:t,index:s,rn:a,args:r,locals:i,stack:n,bc:o,u30:l}){s=l(),this.popManyInto(n,l(),r),this.popNameInto(n,t.getMultiname(s),a),e=n.pop(),n.push(e.axConstructProperty(a,r))}[It.CONSTRUCTSUPER]({savedScope:e,receiver:t,args:s,locals:a,stack:r,bc:i,u30:n}){this.popManyInto(r,n(),s),t=r.pop(),e.object.axSuperNew(t,...s)}[It.CALL]({object:e,value:t,args:s,locals:a,stack:r,bc:i,u30:n}){this.popManyInto(r,n(),s),e=r.pop(),t=r[r.length-1],r[r.length-1]=t.axCallProperty(this.getPublicMultiname("call"),[e,...s])}[It.CALLSUPER](e){return this[It.CALLSUPERVOID](e)}[It.CALLSUPERVOID]({receiver:e,result:t,rn:s,abc:a,args:r,argCount:i,savedScope:n,index:o,locals:l,stack:c,bc:h,u30:d}){o=d(),i=d(),this.popManyInto(c,i,r),this.popNameInto(c,a.getMultiname(o),s),t=c.pop().axCallSuper(s,n,r),h!==It.CALLSUPERVOID&&c.push(t)}[It.NEWFUNCTION]({value:e,sec:t,scopes:s,abc:a,locals:r,stack:i,bc:n,u30:o}){e=t.createFunction(a.getMethod(o()),s.topScope(),!0),i.push(e)}[It.FINDDEF]({app:e,value:t,rn:s,abc:a,index:r,locals:i,stack:n,bc:o,u30:l}){r=l(),this.popNameInto(n,a.getMultiname(r),s),t=e.findProperty(s,!0,!0),n.push(t)}[It.CALLPROPLEX](e){return this[It.CALLPROPVOID](e)}[It.CALLPROPERTY](e){return this[It.CALLPROPVOID](e)}[It.CALLPROPVOID]({result:e,rn:t,abc:s,receiver:a,sec:r,app:i,args:n,argCount:o,index:l,locals:c,stack:h,bc:d,u30:u}){l=u(),o=u(),this.popManyInto(h,o,n),this.popNameInto(h,s.getMultiname(l),t),(a=h[h.length-1])&&this.instanceofAXObject(a)||(a=r.box(a))||i.throwError("ReferenceError",this.Errors.NotImplementedError,1,2),e=a.axCallProperty(t,n,d===It.CALLPROPLEX),d===It.CALLPROPVOID?h.length--:h[h.length-1]=e}[It.NOP](e){}[It.COERCE_A](e){}[It.RETURNVOID]({returnValue:e}){return this.globalStacks.pop(),e(void 0)}[It.RETURNVALUE]({value:e,stack:t,returnValue:s}){return e=t.pop(),this.globalStacks.pop(),s(e)}[It.PUSHSTRING]({abc:e,stack:t,u30:s}){t.push(e.getString(s()))}[It.PUSHTRUE]({stack:e}){e.push(!0)}[It.PUSHFALSE]({stack:e}){e.push(!1)}[It.PUSHSHORT]({stack:e,u30:t}){e.push(t()<<16>>16)}[It.PUSHUNDEFINED]({locals:e,stack:t,bc:s,u30:a}){t.push(void 0)}[It.GETGLOBALSCOPE]({savedScope:e,stack:t}){t.push(e.global.object)}[It.SWAP]({value:e,locals:t,stack:s,bc:a,u30:r}){e=s[s.length-1],s[s.length-1]=s[s.length-2],s[s.length-2]=e}[It.SETSLOT]({value:e,stack:t,receiver:s,u30:a}){e=t.pop(),t.pop().axSetSlot(a(),e)}[It.PUSHBYTE]({stack:e,s8:t}){e.push(t())}[It.ADD]({a:e,b:t,value:s,locals:a,stack:r,bc:i,u30:n}){t=r.pop(),s=r.pop()+t,r.push(s)}[It.MULTIPLY]({locals:e,stack:t,bc:s,u30:a}){t[t.length-2]*=t.pop()}[It.DIVIDE]({locals:e,stack:t,bc:s,u30:a}){t[t.length-2]/=t.pop()}[It.MODULO]({locals:e,stack:t,bc:s,u30:a}){t[t.length-2]%=t.pop()}[It.SUBTRACT]({locals:e,stack:t,bc:s,u30:a}){t[t.length-2]-=t.pop()}[It.JUMP]({pc:e,s24:t}){e(t())}[It.LESSTHAN]({stack:e}){e[e.length-2]=e[e.length-2]<e.pop()}[It.LESSEQUALS]({stack:e}){e[e.length-2]=e[e.length-2]<=e.pop()}[It.GREATERTHAN]({stack:e}){e[e.length-2]=e[e.length-2]>e.pop()}[It.GREATEREQUALS]({stack:e}){e[e.length-2]=e[e.length-2]>=e.pop()}[It.IFLE]({stack:e,a:t,b:s,s24:a,pc:r,offset:i}){s=e.pop(),t=e.pop(),i=a(),t<=s&&r(i)}[It.IFNLT]({a:e,b:t,stack:s,s24:a,offset:r,pc:i}){t=s.pop(),e=s.pop(),r=a(),e<t||i(r)}[It.IFGE]({a:e,b:t,stack:s,s24:a,offset:r,pc:i}){t=s.pop(),e=s.pop(),r=a(),e>=t&&i(r)}[It.IFGT]({offset:e,stack:t,a:s,b:a,s24:r,pc:i}){a=t.pop(),s=t.pop(),e=r(),s>a&&i(e)}[It.IFNGT]({offset:e,stack:t,a:s,b:a,s24:r,pc:i}){a=t.pop(),s=t.pop(),e=r(),s>a||i(e)}[It.IFNGE]({offset:e,stack:t,a:s,b:a,s24:r,pc:i}){a=t.pop(),s=t.pop(),e=r(),s>=a||i(e)}[It.IFLT]({offset:e,stack:t,a:s,b:a,s24:r,pc:i}){a=t.pop(),s=t.pop(),e=r(),s<a&&i(e)}[It.IFNE]({offset:e,stack:t,a:s,b:a,s24:r,pc:i}){a=t.pop(),s=t.pop(),e=r(),this.axEquals(s,a)||i(e)}[It.THROW]({value:e,stack:t}){e=t.pop(),this.throwWrapper(e)}[It.GETSLOT]({receiver:e,stack:t,result:s,u30:a}){s=t.pop().axGetSlot(a()),t.push(s)}[It.LABEL]({locals:e,stack:t,bc:s,u30:a}){}[It.INCLOCAL_I]({locals:e,index:t,u30:s}){e[t=s()]=1+(0|e[t])}[It.DECLOCAL_I]({locals:e,index:t,u30:s}){e[t=s()]=(0|e[t])-1}[It.INCREMENT]({locals:e,stack:t}){++t[t.length-1]}[It.DECREMENT]({locals:e,stack:t}){--t[t.length-1]}[It.INCREMENT_I]({locals:e,stack:t}){t[t.length-1]=1+(0|t[t.length-1])}[It.DECREMENT_I]({locals:e,stack:t}){t[t.length-1]=(0|t[t.length-1])-1}[It.KILL]({locals:e,stack:t,u30:s}){e[s()]=void 0}[It.POP]({locals:e,stack:t,bc:s,u30:a}){t.pop()}[It.GETSCOPEOBJECT]({scopes:e,stack:t,value:s,u30:a}){s=e.get(a()),t.push(s)}[It.GETPROPERTY]({receiver:e,sec:t,app:s,result:a,abc:r,stack:i,rn:n,u30:o}){this.popNameInto(i,r.getMultiname(o()),n),e=i.pop(),this.instanceofAXObject(e)||(e=t.box(e)),e||s.throwError("ReferenceError",this.Errors.UndefinedVarError,n.name),a=e.axGetProperty(n),i.push(a)}[It.DELETEPROPERTY]({locals:e,stack:t,abc:s,u30:a,rn:r,receiver:i}){this.popNameInto(t,s.getMultiname(a()),r),i=t.pop(),t.push(i.axDeleteProperty(r))}[It.NEWCLASS]({locals:e,stack:t,value:s,app:a,abc:r,scopes:i,u30:n}){s=t.pop(),s=a.createClass(r.getClass(n()),s,i.topScope()),t.push(s)}[It.GETLEX]({locals:e,stack:t,rn:s,object:a,result:r,scopes:i,u30:n,abc:o}){this.popNameInto(t,o.getMultiname(n()),s),r=i.topScope().findScopeProperty(s,!0,!1).axGetProperty(s),t.push(r)}[It.POPSCOPE]({scopes:e}){e.pop()}[It.INITPROPERTY](e){return this[It.SETPROPERTY](e)}[It.SETPROPERTY]({locals:e,stack:t,rn:s,abc:a,value:r,receiver:i,bc:n,u30:o}){r=t.pop(),this.popNameInto(t,a.getMultiname(o()),s),t.pop().axSetProperty(s,r,n===It.INITPROPERTY),this.instanceofAXClass(r)&&r.setName(s)}[It.NEWACTIVATION]({scopes:e,methodInfo:t,stack:s,app:a,u30:r}){s.push(a.createActivation(t,e.topScope()))}[It.DUP]({locals:e,stack:t,bc:s,u30:a}){t.push(t[t.length-1])}[It.PUSHNULL]({locals:e,stack:t,bc:s,u30:a}){t.push(null)}[It.NEWARRAY]({locals:e,stack:t,app:s,object:a,u30:r,argCount:i}){a=this.getPublicClass(s,"Array").axNew(),i=r();for(let e=t.length-i;e<t.length;e++)a.native.push(t[e]);t.length-=i,t.push(a)}[It.NOT]({stack:e}){e[e.length-1]=!e[e.length-1]}[It.IFTRUE]({pc:e,s24:t,offset:s,stack:a}){s=t(),a.pop()&&e(s)}[It.IFFALSE]({pc:e,s24:t,offset:s,stack:a}){s=t(),a.pop()||e(s)}[It.NEGATE]({stack:e}){e[e.length-1]=-e[e.length-1]}[It.COERCE_S]({locals:e,stack:t,bc:s,u30:a}){t[t.length-1]=this.axCoerceString(t[t.length-1])}[It.CONVERT_S]({locals:e,stack:t,bc:s,u30:a}){t[t.length-1]=this.axConvertString(t[t.length-1])}[It.COERCE_I](e){return this[It.CONVERT_I](e)}[It.CONVERT_I]({locals:e,stack:t,bc:s,u30:a}){t[t.length-1]|=0}[It.COERCE_B](e){return this[It.CONVERT_B](e)}[It.CONVERT_B]({locals:e,stack:t,bc:s,u30:a}){t[t.length-1]=!!t[t.length-1]}[It.COERCE_U](e){return this[It.CONVERT_U](e)}[It.CONVERT_U]({locals:e,stack:t,bc:s,u30:a}){t[t.length-1]>>>=0}[It.COERCE_D](e){return this[It.CONVERT_D](e)}[It.CONVERT_D]({locals:e,stack:t,bc:s,u30:a}){t[t.length-1]=+t[t.length-1]}[It.COERCE]({locals:e,stack:t,abc:s,rn:a,scopes:r,receiver:i,u30:n}){this.popNameInto(t,s.getMultiname(n()),a),i=r.topScope().getScopeProperty(a,!0,!1),t[t.length-1]=i.axCoerce(t[t.length-1])}[It.COERCE_S]({locals:e,stack:t,bc:s,u30:a}){t[t.length-1]=this.axCoerceString(t[t.length-1])}[It.APPLYTYPE]({locals:e,stack:t,args:s,app:a,u30:r}){this.popManyInto(t,r(),s),t[t.length-1]=a.applyType(t[t.length-1],s)}[It.ISTYPELATE]({stack:e,receiver:t}){t=e.pop(),e[e.length-1]=t.axIsType(e[e.length-1])}[It.ASTYPELATE]({value:e,stack:t,receiver:s,u30:a}){s=t.pop(),e=t.pop(),s.axIsType(e)||(e=null),t.push(e)}[It.NEWCATCH]({locals:e,stack:t,app:s,u30:a,methodBody:r,scopes:i}){t.push(s.createCatch(r.exception[a()],i.topScope()))}[It.NEWOBJECT]({locals:e,stack:t,object:s,value:a,app:r,argCount:i,u30:n}){s=this.getPublicClass(r,"Object").axNew(),i=n();for(let e=t.length-2*i;e<t.length;e+=2)a=t[e+1],s.axSetProperty(this.getPublicMultiname(t[e]),a,!0);t.length-=2*i,t.push(s)}[It.falseLINE]({u30:e}){e()}[It.falseFILE]({u30:e}){e()}[It.false]({pc:e,u30:t}){e(1),t(),e(1),t()}[It.PUSHNAN]({locals:e,stack:t,bc:s,u30:a}){t.push(Number.NaN)}[It.PUSHINT]({stack:e,abc:t,u30:s}){e.push(t.getInt(s()))}[It.PUSHUINT]({stack:e,abc:t,u30:s}){e.push(t.getUInt(s()))}[It.PUSHNAMESPACE]({locals:e,stack:t,app:s,abc:a,u30:r}){let i=a.getNamespace(r()),n=this.getPublicClass(s,"Namespace");t.push(n.axNew(i.uri))}[It.IFEQ]({a:e,b:t,offset:s,stack:a,pc:r,s24:i}){t=a.pop(),e=a.pop(),s=i(),this.axEquals(e,t)&&r(s)}[It.EQUALS]({a:e,b:t,stack:s}){e=s[s.length-2],t=s.pop(),s[s.length-1]=this.axEquals(e,t)}lookupSwitch(e){const t=e.pc-1;let s=e.s24();const a=e.u30(),r=e.stack.pop();r<=a&&(e.pc+=3*r,s=e.s24()),e.pc=t+s}[It.LOOKUPSWITCH]({context:e}){this.lookupSwitch(e)}[It.TYPEOF]({locals:e,stack:t,bc:s,u30:a}){t[t.length-1]=this.axTypeOf(t[t.length-1])}[It.HASNEXT2]({a:e,b:t,result:s,value:a,locals:r,stack:i,object:n,index:o,u30:l}){e=l(),t=l(),n=r[e],a=(o=r[t])<n.axGetEnumerableKeys().length,r[t]=o+1,i.push(a)}[It.NEXTNAME]({receiver:e,stack:t,index:s}){s=t.pop(),e=t.pop(),t.push(e.axGetEnumerableKeys()[s-1])}[It.NEXTVALUE]({receiver:e,stack:t,index:s}){s=t.pop(),s=(e=t.pop()).axGetEnumerableKeys()[s-1],t.push(e.axGetProperty(this.getPublicMultiname(s)))}[It.CHECKFILTER]({locals:e,stack:t,bc:s,u30:a}){}[It.GETDESCENDANTS]({app:e,stack:t,abc:s,rn:a,result:r,u30:i}){this.popNameInto(t,s.getMultiname(i()),a),void 0===a.name&&(a.name="*"),r=this.getPublicClass(e,"Array").axNew(),t[t.length-1]=r}[It.LSHIFT]({stack:e}){e[e.length-2]<<=e.pop()}[It.RSHIFT]({stack:e}){e[e.length-2]>>=e.pop()}[It.URSHIFT]({stack:e}){e[e.length-2]>>>=e.pop()}[It.BITAND]({stack:e}){e[e.length-2]&=e.pop()}[It.BITXOR]({stack:e}){e[e.length-2]^=e.pop()}[It.BITOR]({stack:e}){e[e.length-2]|=e.pop()}[It.SI8]({stack:e,a:t,domainMemory:s}){t=e.pop(),s.u8view[t]=e.pop()}[It.SI16]({stack:e,a:t,value:s,domainMemory:a}){t=e.pop(),s=e.pop(),a.view.setUint16(t,s,!0)}[It.SI32]({stack:e,a:t,value:s,domainMemory:a}){t=e.pop(),s=e.pop(),a.view.setInt32(t,s,!0)}[It.SF64]({stack:e,a:t,value:s,domainMemory:a}){t=e.pop(),s=e.pop(),a.view.setFloat64(t,s,!0)}[It.LI8]({stack:e,a:t,value:s,domainMemory:a}){e[e.length-1]=a.u8view[e[e.length-1]]}[It.LI16]({stack:e,a:t,value:s,domainMemory:a}){t=e.pop(),s=a.view.getUint16(t,!0),e.push(s)}[It.LI32]({stack:e,a:t,value:s,domainMemory:a}){t=e.pop(),s=a.view.getInt32(t,!0),e.push(s)}[It.LF32]({stack:e,a:t,value:s,domainMemory:a}){t=e.pop(),s=a.view.getFloat32(t,!0),e.push(s)}[It.LF64]({stack:e,a:t,value:s,domainMemory:a}){t=e.pop(),s=a.view.getFloat64(t,!0),e.push(s)}[It.SXI8]({stack:e,value:t}){t=(t=e.pop())<<24>>24,e.push(t)}[It.SXI16]({stack:e,value:t}){t=(t=e.pop())<<16>>16,e.push(t)}getPublicMultiname(e){return wt.Public(e)}getPublicClass(e,t){return e.getClass(wt.Public(t))}popNameInto(e,t,s){if(s._mangledName=null,s.kind=t.kind,t.isRuntimeName()){let a=e.pop();if(a&&a.axClass)return a=a.name,s.kind=t.isAttribute()?Lt:At,s.name=a.name,s.nsSet=a.nsSet,void P(s);s.name=a}else s.name=t.name;if(t.isRuntimeNamespace()){let t=e.pop();s.nsSet=[t]}else s.nsSet=t.nsSet;P(s)}popManyInto(e,t,s){o(e,t,s)}throwWrapper(e){throw new Yt(e)}axEquals(e,t){return u(e,t)}axTypeOf(e){return p(e)}axCoerceString(e){return h(e)}axConvertString(e){return d(e)}newMultiname(){return new wt}newScopeStack(e){return new Zs(e)}newContext(e,t,s,a,r){return new Ks(e,t,s,a,r)}function2str(e){let t=e.toString();return t=/[\s\S]*?\([\s\S]*?\)[\s\S]*?\{([\s\S]*)\}/.exec(t)[1],t=t.replace(/Bytecode\.(\w+)/g,(e,...t)=>It[t[0]])}instanceofAXObject(e){return e instanceof qt}instanceofAXClass(e){return e instanceof ss}procCatch(e,t){if(t instanceof Yt){const s=e.methodBody,a=e.stack,r=e.scopes,i=e.app.sec,n=e.pc,o=t.error;for(let t of s.exception)if(n>=t.start&&n<=t.end){const s=e.app.getClass(t.excType);if(!s||s.axIsType(o)){if(s);else{let e=o;i.AXObject.axIsType(o)&&(e=o.axClass.name)}return a.length=0,a.push(o),r.clear(),e.pc=t.target,!1}}}throw this.globalStacks.pop(),t}interpret(e,t,s,a,r){let i,n,o=t.abc.app,l=o.sec,c=t.abc,h=c.getMethodBodyByMethod(t),d=this.newContext(e,h,s,a,r),u=d.locals,p=d.stack,f=d.scopes,g=this.newMultiname(),m=o.domainMemory,_=[];this.globalStacks.push(d);let E,b,S,w=!1,N={locals:u,stack:p,bc:i,value:n,object:void 0,a:void 0,b:void 0,args:_,index:void 0,receiver:void 0,result:void 0,context:d,savedScope:s,scopes:f,rn:g,abc:c,sec:l,app:o,methodInfo:t,methodBody:h,argCount:void 0,offset:void 0,domainMemory:m,pc:e=>{d.pc+=e},u30:E=(()=>d.u30()),s8:b=(()=>d.s8()),s24:S=(()=>d.s24()),returnValue:e=>{w=!0,n=e}};for(;!w;){i=d.bc(),N.bc=i;try{this.callTable[i].call(this,N)}catch(e){this.procCatch(d,e)}}if(w)return n}prepare(e){const t=new it(e);let s=[];for(;!t.isEOF();){const e=t.ptr,a=t.readU8(),r=Pt[a];if(s[e]=[a],void 0!==r){if("LOOKUPSWITCH"===r){s[e].push(t.ptr);const a=t.readS24();t.ptr=e+a;continue}if(r.length>0)for(let a of r)"2"===a?s[e].push(t.readS24()):"3"===a?s[e].push(t.readU30()):"8"===a&&s[e].push(t.readS8())}s[e].push(t.ptr)}return s}getCurrentAPP(){return 0===this.globalStacks.length?null:this.globalStacks[this.globalStacks.length-1].scopes.topScope().global.object.app}}class Zs{constructor(e=null){this.parent=e,this.stack=[],this.isWith=[],this.scopes=null}get(e){return this.stack[e]}clear(){this.stack.length=0,this.isWith.length=0}push(e,t=!1){this.stack.push(e),this.isWith.push(t)}pop(){return this.isWith.pop(),this.stack.pop()}topScope(){if(!this.scopes){if(0===this.stack.length)return this.parent;this.scopes=[]}let e=this.parent;for(let t=0;t<this.stack.length;t++){const s=this.stack[t],a=this.isWith[t];let r=this.scopes[t];r&&r.parent===e&&r.object===s&&r.isWith===a||(r=this.scopes[t]=new jt(e,s,a)),e=r}return e}}class Ks{constructor(e,t,s,a,r){let i=t.method;this.methodBody=t,this.methodInfo=i,this.app=i.abc.app,this.stack=[],this.locals=[e],this.scopes=new Zs(s),this.reader=new it(t.code),this.codeView=new Uint8Array(t.code);const n=i.options.length,o=a.length,l=i.paramType;let c;for(let e=0;e<l.length;e++){c=e<o?a[e]:e<n?i.options[e].val:void 0;let t=l[e];if(t&&!t.isAnyName()){let e=s.getScopeProperty(t,!0,!1);e&&(c=e instanceof ss?e.axCoerce(c):e(c))}this.locals.push(c)}i.needsRest()&&this.locals.push(a.slice(l.length,a.length))}bc(){return this.codeView[this.reader.ptr++]}u30(){return this.reader.readU30()}u8(){return this.reader.readU8()}s8(){return this.reader.readS8()}s24(){return this.reader.readS24()}set pc(e){this.reader.ptr=e}get pc(){return this.reader.ptr}}var Js=function(e,t){return t={exports:{}},e(t,t.exports),t.exports}(function(e,t){var s="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;t.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var s=t.shift();if(s){if("object"!=typeof s)throw new TypeError(s+"must be non-object");for(var a in s)s.hasOwnProperty(a)&&(e[a]=s[a])}}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var a={arraySet:function(e,t,s,a,r){if(t.subarray&&e.subarray)e.set(t.subarray(s,s+a),r);else for(var i=0;i<a;i++)e[r+i]=t[s+i]},flattenChunks:function(e){var t,s,a,r,i,n;for(a=0,t=0,s=e.length;t<s;t++)a+=e[t].length;for(n=new Uint8Array(a),r=0,t=0,s=e.length;t<s;t++)i=e[t],n.set(i,r),r+=i.length;return n}},r={arraySet:function(e,t,s,a,r){for(var i=0;i<a;i++)e[r+i]=t[s+i]},flattenChunks:function(e){return[].concat.apply([],e)}};t.setTyped=function(e){e?(t.Buf8=Uint8Array,t.Buf16=Uint16Array,t.Buf32=Int32Array,t.assign(t,a)):(t.Buf8=Array,t.Buf16=Array,t.Buf32=Array,t.assign(t,r))},t.setTyped(s)}),Qs=4,$s=0,qs=1,ea=2,ta=0,sa=1,aa=2,ra=29,ia=256,na=ia+1+ra,oa=30,la=19,ca=2*na+1,ha=15,da=16,ua=7,pa=256,fa=16,ga=17,ma=18,_a=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Ea=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ba=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],Sa=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],wa=new Array(2*(na+2));k(wa);var Na=new Array(2*oa);k(Na);var Ua=new Array(512);k(Ua);var ya=new Array(256);k(ya);var va=new Array(ra);k(va);var Ta=new Array(oa);k(Ta);var Ca,Ia,Pa,ka,Aa=!1,La={_tr_init:function(e){Aa||(H(),Aa=!0),e.l_desc=new L(e.dyn_ltree,Ca),e.d_desc=new L(e.dyn_dtree,Ia),e.bl_desc=new L(e.bl_tree,Pa),e.bi_buf=0,e.bi_valid=0,G(e)},_tr_stored_block:ee,_tr_flush_block:function(e,t,s,a){var r,i,n=0;e.level>0?(e.strm.data_type===ea&&(e.strm.data_type=q(e)),Z(e,e.l_desc),Z(e,e.d_desc),n=Q(e),r=e.opt_len+3+7>>>3,(i=e.static_len+3+7>>>3)<=r&&(r=i)):r=i=s+5,s+4<=r&&-1!==t?ee(e,t,s,a):e.strategy===Qs||i===r?(O(e,(sa<<1)+(a?1:0),3),Y(e,wa,Na)):(O(e,(aa<<1)+(a?1:0),3),$(e,e.l_desc.max_code+1,e.d_desc.max_code+1,n+1),Y(e,e.dyn_ltree,e.dyn_dtree)),G(e),a&&W(e)},_tr_tally:function(e,t,s){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&s,e.last_lit++,0===t?e.dyn_ltree[2*s]++:(e.matches++,t--,e.dyn_ltree[2*(ya[s]+ia+1)]++,e.dyn_dtree[2*x(t)]++),e.last_lit===e.lit_bufsize-1},_tr_align:function(e){O(e,sa<<1,3),D(e,pa,wa),B(e)}},xa=function(e,t,s,a){for(var r=65535&e|0,i=e>>>16&65535|0,n=0;0!==s;){s-=n=s>2e3?2e3:s;do{i=i+(r=r+t[a++]|0)|0}while(--n);r%=65521,i%=65521}return r|i<<16|0},Ra=function(){for(var e,t=[],s=0;s<256;s++){e=s;for(var a=0;a<8;a++)e=1&e?3988292384^e>>>1:e>>>1;t[s]=e}return t}(),Oa=function(e,t,s,a){var r=Ra,i=a+s;e^=-1;for(var n=a;n<i;n++)e=e>>>8^r[255&(e^t[n])];return-1^e},Da={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Ma=0,Ba=1,Fa=3,za=4,Ha=5,Ga=0,Wa=1,Va=-2,Xa=-3,ja=-5,Ya=-1,Za=1,Ka=2,Ja=3,Qa=4,$a=0,qa=2,er=8,tr=9,sr=15,ar=8,rr=286,ir=30,nr=19,or=2*rr+1,lr=15,cr=3,hr=258,dr=hr+cr+1,ur=32,pr=42,fr=69,gr=73,mr=91,_r=103,Er=113,br=666,Sr=1,wr=2,Nr=3,Ur=4,yr=3;ka=[new ge(0,0,0,0,function(e,t){var s=65535;for(s>e.pending_buf_size-5&&(s=e.pending_buf_size-5);;){if(e.lookahead<=1){if(he(e),0===e.lookahead&&t===Ma)return Sr;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var a=e.block_start+s;if((0===e.strstart||e.strstart>=a)&&(e.lookahead=e.strstart-a,e.strstart=a,ie(e,!1),0===e.strm.avail_out))return Sr;if(e.strstart-e.block_start>=e.w_size-dr&&(ie(e,!1),0===e.strm.avail_out))return Sr}return e.insert=0,t===za?(ie(e,!0),0===e.strm.avail_out?Nr:Ur):(e.strstart>e.block_start&&(ie(e,!1),e.strm.avail_out),Sr)}),new ge(4,4,8,4,de),new ge(4,5,16,8,de),new ge(4,6,32,32,de),new ge(4,4,16,16,ue),new ge(8,16,32,32,ue),new ge(8,16,128,128,ue),new ge(8,32,128,256,ue),new ge(32,128,258,1024,ue),new ge(32,258,258,4096,ue)];var vr={deflateInit:function(e,t){return Se(e,t,er,sr,ar,$a)},deflateInit2:Se,deflateReset:be,deflateResetKeep:Ee,deflateSetHeader:function(e,t){return e&&e.state?2!==e.state.wrap?Va:(e.state.gzhead=t,Ga):Va},deflate:function(e,t){var s,a,r,i;if(!e||!e.state||t>Ha||t<0)return e?te(e,Va):Va;if(a=e.state,!e.output||!e.input&&0!==e.avail_in||a.status===br&&t!==za)return te(e,0===e.avail_out?ja:Va);if(a.strm=e,s=a.last_flush,a.last_flush=t,a.status===pr)if(2===a.wrap)e.adler=0,ne(a,31),ne(a,139),ne(a,8),a.gzhead?(ne(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),ne(a,255&a.gzhead.time),ne(a,a.gzhead.time>>8&255),ne(a,a.gzhead.time>>16&255),ne(a,a.gzhead.time>>24&255),ne(a,9===a.level?2:a.strategy>=Ka||a.level<2?4:0),ne(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(ne(a,255&a.gzhead.extra.length),ne(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(e.adler=Oa(e.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=fr):(ne(a,0),ne(a,0),ne(a,0),ne(a,0),ne(a,0),ne(a,9===a.level?2:a.strategy>=Ka||a.level<2?4:0),ne(a,yr),a.status=Er);else{var n=er+(a.w_bits-8<<4)<<8;n|=(a.strategy>=Ka||a.level<2?0:a.level<6?1:6===a.level?2:3)<<6,0!==a.strstart&&(n|=ur),n+=31-n%31,a.status=Er,oe(a,n),0!==a.strstart&&(oe(a,e.adler>>>16),oe(a,65535&e.adler)),e.adler=1}if(a.status===fr)if(a.gzhead.extra){for(r=a.pending;a.gzindex<(65535&a.gzhead.extra.length)&&(a.pending!==a.pending_buf_size||(a.gzhead.hcrc&&a.pending>r&&(e.adler=Oa(e.adler,a.pending_buf,a.pending-r,r)),re(e),r=a.pending,a.pending!==a.pending_buf_size));)ne(a,255&a.gzhead.extra[a.gzindex]),a.gzindex++;a.gzhead.hcrc&&a.pending>r&&(e.adler=Oa(e.adler,a.pending_buf,a.pending-r,r)),a.gzindex===a.gzhead.extra.length&&(a.gzindex=0,a.status=gr)}else a.status=gr;if(a.status===gr)if(a.gzhead.name){r=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>r&&(e.adler=Oa(e.adler,a.pending_buf,a.pending-r,r)),re(e),r=a.pending,a.pending===a.pending_buf_size)){i=1;break}i=a.gzindex<a.gzhead.name.length?255&a.gzhead.name.charCodeAt(a.gzindex++):0,ne(a,i)}while(0!==i);a.gzhead.hcrc&&a.pending>r&&(e.adler=Oa(e.adler,a.pending_buf,a.pending-r,r)),0===i&&(a.gzindex=0,a.status=mr)}else a.status=mr;if(a.status===mr)if(a.gzhead.comment){r=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>r&&(e.adler=Oa(e.adler,a.pending_buf,a.pending-r,r)),re(e),r=a.pending,a.pending===a.pending_buf_size)){i=1;break}i=a.gzindex<a.gzhead.comment.length?255&a.gzhead.comment.charCodeAt(a.gzindex++):0,ne(a,i)}while(0!==i);a.gzhead.hcrc&&a.pending>r&&(e.adler=Oa(e.adler,a.pending_buf,a.pending-r,r)),0===i&&(a.status=_r)}else a.status=_r;if(a.status===_r&&(a.gzhead.hcrc?(a.pending+2>a.pending_buf_size&&re(e),a.pending+2<=a.pending_buf_size&&(ne(a,255&e.adler),ne(a,e.adler>>8&255),e.adler=0,a.status=Er)):a.status=Er),0!==a.pending){if(re(e),0===e.avail_out)return a.last_flush=-1,Ga}else if(0===e.avail_in&&se(t)<=se(s)&&t!==za)return te(e,ja);if(a.status===br&&0!==e.avail_in)return te(e,ja);if(0!==e.avail_in||0!==a.lookahead||t!==Ma&&a.status!==br){var o=a.strategy===Ka?fe(a,t):a.strategy===Ja?pe(a,t):ka[a.level].func(a,t);if(o!==Nr&&o!==Ur||(a.status=br),o===Sr||o===Nr)return 0===e.avail_out&&(a.last_flush=-1),Ga;if(o===wr&&(t===Ba?La._tr_align(a):t!==Ha&&(La._tr_stored_block(a,0,0,!1),t===Fa&&(ae(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),re(e),0===e.avail_out))return a.last_flush=-1,Ga}return t!==za?Ga:a.wrap<=0?Wa:(2===a.wrap?(ne(a,255&e.adler),ne(a,e.adler>>8&255),ne(a,e.adler>>16&255),ne(a,e.adler>>24&255),ne(a,255&e.total_in),ne(a,e.total_in>>8&255),ne(a,e.total_in>>16&255),ne(a,e.total_in>>24&255)):(oe(a,e.adler>>>16),oe(a,65535&e.adler)),re(e),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?Ga:Wa)},deflateEnd:function(e){var t;return e&&e.state?(t=e.state.status)!==pr&&t!==fr&&t!==gr&&t!==mr&&t!==_r&&t!==Er&&t!==br?te(e,Va):(e.state=null,t===Er?te(e,Xa):Ga):Va},deflateSetDictionary:function(e,t){var s,a,r,i,n,o,l,c,h=t.length;if(!e||!e.state)return Va;if(s=e.state,2===(i=s.wrap)||1===i&&s.status!==pr||s.lookahead)return Va;for(1===i&&(e.adler=xa(e.adler,t,h,0)),s.wrap=0,h>=s.w_size&&(0===i&&(ae(s.head),s.strstart=0,s.block_start=0,s.insert=0),c=new Js.Buf8(s.w_size),Js.arraySet(c,t,h-s.w_size,s.w_size,0),t=c,h=s.w_size),n=e.avail_in,o=e.next_in,l=e.input,e.avail_in=h,e.next_in=0,e.input=t,he(s);s.lookahead>=cr;){a=s.strstart,r=s.lookahead-(cr-1);do{s.ins_h=(s.ins_h<<s.hash_shift^s.window[a+cr-1])&s.hash_mask,s.prev[a&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=a,a++}while(--r);s.strstart=a,s.lookahead=cr-1,he(s)}return s.strstart+=s.lookahead,s.block_start=s.strstart,s.insert=s.lookahead,s.lookahead=0,s.match_length=s.prev_length=cr-1,s.match_available=0,e.next_in=o,e.input=l,e.avail_in=n,s.wrap=i,Ga},deflateInfo:"pako deflate (from Nodeca project)"},Tr=!0,Cr=!0;try{String.fromCharCode.apply(null,[0])}catch(e){Tr=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){Cr=!1}for(var Ir=new Js.Buf8(256),Pr=0;Pr<256;Pr++)Ir[Pr]=Pr>=252?6:Pr>=248?5:Pr>=240?4:Pr>=224?3:Pr>=192?2:1;Ir[254]=Ir[254]=1;var kr={string2buf:function(e){var t,s,a,r,i,n=e.length,o=0;for(r=0;r<n;r++)55296==(64512&(s=e.charCodeAt(r)))&&r+1<n&&56320==(64512&(a=e.charCodeAt(r+1)))&&(s=65536+(s-55296<<10)+(a-56320),r++),o+=s<128?1:s<2048?2:s<65536?3:4;for(t=new Js.Buf8(o),i=0,r=0;i<o;r++)55296==(64512&(s=e.charCodeAt(r)))&&r+1<n&&56320==(64512&(a=e.charCodeAt(r+1)))&&(s=65536+(s-55296<<10)+(a-56320),r++),s<128?t[i++]=s:s<2048?(t[i++]=192|s>>>6,t[i++]=128|63&s):s<65536?(t[i++]=224|s>>>12,t[i++]=128|s>>>6&63,t[i++]=128|63&s):(t[i++]=240|s>>>18,t[i++]=128|s>>>12&63,t[i++]=128|s>>>6&63,t[i++]=128|63&s);return t},buf2binstring:function(e){return we(e,e.length)},binstring2buf:function(e){for(var t=new Js.Buf8(e.length),s=0,a=t.length;s<a;s++)t[s]=e.charCodeAt(s);return t},buf2string:function(e,t){var s,a,r,i,n=t||e.length,o=new Array(2*n);for(a=0,s=0;s<n;)if((r=e[s++])<128)o[a++]=r;else if((i=Ir[r])>4)o[a++]=65533,s+=i-1;else{for(r&=2===i?31:3===i?15:7;i>1&&s<n;)r=r<<6|63&e[s++],i--;i>1?o[a++]=65533:r<65536?o[a++]=r:(r-=65536,o[a++]=55296|r>>10&1023,o[a++]=56320|1023&r)}return we(o,a)},utf8border:function(e,t){var s;for((t=t||e.length)>e.length&&(t=e.length),s=t-1;s>=0&&128==(192&e[s]);)s--;return s<0?t:0===s?t:s+Ir[e[s]]>t?s:t}},Ar=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},Lr=Object.prototype.toString,xr=0,Rr=-1,Or=0,Dr=8;Ne.prototype.push=function(e,t){var s,a,r=this.strm,i=this.options.chunkSize;if(this.ended)return!1;a=t===~~t?t:!0===t?4:0,"string"==typeof e?r.input=kr.string2buf(e):"[object ArrayBuffer]"===Lr.call(e)?r.input=new Uint8Array(e):r.input=e,r.next_in=0,r.avail_in=r.input.length;do{if(0===r.avail_out&&(r.output=new Js.Buf8(i),r.next_out=0,r.avail_out=i),1!==(s=vr.deflate(r,a))&&s!==xr)return this.onEnd(s),this.ended=!0,!1;0!==r.avail_out&&(0!==r.avail_in||4!==a&&2!==a)||("string"===this.options.to?this.onData(kr.buf2binstring(Js.shrinkBuf(r.output,r.next_out))):this.onData(Js.shrinkBuf(r.output,r.next_out)))}while((r.avail_in>0||0===r.avail_out)&&1!==s);return 4===a?(s=vr.deflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===xr):2!==a||(this.onEnd(xr),r.avail_out=0,!0)},Ne.prototype.onData=function(e){this.chunks.push(e)},Ne.prototype.onEnd=function(e){e===xr&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Js.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var Mr,Br,Fr={Deflate:Ne,deflate:Ue,deflateRaw:function(e,t){return t=t||{},t.raw=!0,Ue(e,t)},gzip:function(e,t){return t=t||{},t.gzip=!0,Ue(e,t)}},zr=function(e,t){var s,a,r,i,n,o,l,c,h,d,u,p,f,g,m,_,E,b,S,w,N,U,y,v,T;s=e.state,a=e.next_in,v=e.input,r=a+(e.avail_in-5),i=e.next_out,T=e.output,n=i-(t-e.avail_out),o=i+(e.avail_out-257),l=s.dmax,c=s.wsize,h=s.whave,d=s.wnext,u=s.window,p=s.hold,f=s.bits,g=s.lencode,m=s.distcode,_=(1<<s.lenbits)-1,E=(1<<s.distbits)-1;e:do{f<15&&(p+=v[a++]<<f,f+=8,p+=v[a++]<<f,f+=8),b=g[p&_];t:for(;;){if(S=b>>>24,p>>>=S,f-=S,0===(S=b>>>16&255))T[i++]=65535&b;else{if(!(16&S)){if(0==(64&S)){b=g[(65535&b)+(p&(1<<S)-1)];continue t}if(32&S){s.mode=12;break e}e.msg="invalid literal/length code",s.mode=30;break e}w=65535&b,(S&=15)&&(f<S&&(p+=v[a++]<<f,f+=8),w+=p&(1<<S)-1,p>>>=S,f-=S),f<15&&(p+=v[a++]<<f,f+=8,p+=v[a++]<<f,f+=8),b=m[p&E];s:for(;;){if(S=b>>>24,p>>>=S,f-=S,!(16&(S=b>>>16&255))){if(0==(64&S)){b=m[(65535&b)+(p&(1<<S)-1)];continue s}e.msg="invalid distance code",s.mode=30;break e}if(N=65535&b,S&=15,f<S&&(p+=v[a++]<<f,(f+=8)<S&&(p+=v[a++]<<f,f+=8)),(N+=p&(1<<S)-1)>l){e.msg="invalid distance too far back",s.mode=30;break e}if(p>>>=S,f-=S,S=i-n,N>S){if((S=N-S)>h&&s.sane){e.msg="invalid distance too far back",s.mode=30;break e}if(U=0,y=u,0===d){if(U+=c-S,S<w){w-=S;do{T[i++]=u[U++]}while(--S);U=i-N,y=T}}else if(d<S){if(U+=c+d-S,(S-=d)<w){w-=S;do{T[i++]=u[U++]}while(--S);if(U=0,d<w){w-=S=d;do{T[i++]=u[U++]}while(--S);U=i-N,y=T}}}else if(U+=d-S,S<w){w-=S;do{T[i++]=u[U++]}while(--S);U=i-N,y=T}for(;w>2;)T[i++]=y[U++],T[i++]=y[U++],T[i++]=y[U++],w-=3;w&&(T[i++]=y[U++],w>1&&(T[i++]=y[U++]))}else{U=i-N;do{T[i++]=T[U++],T[i++]=T[U++],T[i++]=T[U++],w-=3}while(w>2);w&&(T[i++]=T[U++],w>1&&(T[i++]=T[U++]))}break}}break}}while(a<r&&i<o);a-=w=f>>3,p&=(1<<(f-=w<<3))-1,e.next_in=a,e.next_out=i,e.avail_in=a<r?r-a+5:5-(a-r),e.avail_out=i<o?o-i+257:257-(i-o),s.hold=p,s.bits=f},Hr=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Gr=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],Wr=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],Vr=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64],Xr=function(e,t,s,a,r,i,n,o){var l,c,h,d,u,p,f,g,m,_=o.bits,E=0,b=0,S=0,w=0,N=0,U=0,y=0,v=0,T=0,C=0,I=null,P=0,k=new Js.Buf16(16),A=new Js.Buf16(16),L=null,x=0;for(E=0;E<=15;E++)k[E]=0;for(b=0;b<a;b++)k[t[s+b]]++;for(N=_,w=15;w>=1&&0===k[w];w--);if(N>w&&(N=w),0===w)return r[i++]=20971520,r[i++]=20971520,o.bits=1,0;for(S=1;S<w&&0===k[S];S++);for(N<S&&(N=S),v=1,E=1;E<=15;E++)if(v<<=1,(v-=k[E])<0)return-1;if(v>0&&(0===e||1!==w))return-1;for(A[1]=0,E=1;E<15;E++)A[E+1]=A[E]+k[E];for(b=0;b<a;b++)0!==t[s+b]&&(n[A[t[s+b]]++]=b);if(0===e?(I=L=n,p=19):1===e?(I=Hr,P-=257,L=Gr,x-=257,p=256):(I=Wr,L=Vr,p=-1),C=0,b=0,E=S,u=i,U=N,y=0,h=-1,T=1<<N,d=T-1,1===e&&T>852||2===e&&T>592)return 1;for(;;){f=E-y,n[b]<p?(g=0,m=n[b]):n[b]>p?(g=L[x+n[b]],m=I[P+n[b]]):(g=96,m=0),l=1<<E-y,S=c=1<<U;do{r[u+(C>>y)+(c-=l)]=f<<24|g<<16|m|0}while(0!==c);for(l=1<<E-1;C&l;)l>>=1;if(0!==l?(C&=l-1,C+=l):C=0,b++,0==--k[E]){if(E===w)break;E=t[s+n[b]]}if(E>N&&(C&d)!==h){for(0===y&&(y=N),u+=S,v=1<<(U=E-y);U+y<w&&!((v-=k[U+y])<=0);)U++,v<<=1;if(T+=1<<U,1===e&&T>852||2===e&&T>592)return 1;r[h=C&d]=N<<24|U<<16|u-i|0}}return 0!==C&&(r[u+C]=E-y<<24|64<<16|0),o.bits=N,0},jr=0,Yr=1,Zr=2,Kr=4,Jr=5,Qr=6,$r=0,qr=1,ei=2,ti=-2,si=-3,ai=-4,ri=-5,ii=8,ni=1,oi=2,li=3,ci=4,hi=5,di=6,ui=7,pi=8,fi=9,gi=10,mi=11,_i=12,Ei=13,bi=14,Si=15,wi=16,Ni=17,Ui=18,yi=19,vi=20,Ti=21,Ci=22,Ii=23,Pi=24,ki=25,Ai=26,Li=27,xi=28,Ri=29,Oi=30,Di=31,Mi=32,Bi=852,Fi=592,zi=15,Hi=!0,Gi={inflateReset:Ce,inflateReset2:Ie,inflateResetKeep:Te,inflateInit:function(e){return Pe(e,zi)},inflateInit2:Pe,inflate:function(e,t){var s,a,r,i,n,o,l,c,h,d,u,p,f,g,m,_,E,b,S,w,N,U,y,v,T=0,C=new Js.Buf8(4),I=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return ti;(s=e.state).mode===_i&&(s.mode=Ei),n=e.next_out,r=e.output,l=e.avail_out,i=e.next_in,a=e.input,o=e.avail_in,c=s.hold,h=s.bits,d=o,u=l,U=$r;e:for(;;)switch(s.mode){case ni:if(0===s.wrap){s.mode=Ei;break}for(;h<16;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}if(2&s.wrap&&35615===c){s.check=0,C[0]=255&c,C[1]=c>>>8&255,s.check=Oa(s.check,C,2,0),c=0,h=0,s.mode=oi;break}if(s.flags=0,s.head&&(s.head.done=!1),!(1&s.wrap)||(((255&c)<<8)+(c>>8))%31){e.msg="incorrect header check",s.mode=Oi;break}if((15&c)!==ii){e.msg="unknown compression method",s.mode=Oi;break}if(c>>>=4,h-=4,N=8+(15&c),0===s.wbits)s.wbits=N;else if(N>s.wbits){e.msg="invalid window size",s.mode=Oi;break}s.dmax=1<<N,e.adler=s.check=1,s.mode=512&c?gi:_i,c=0,h=0;break;case oi:for(;h<16;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}if(s.flags=c,(255&s.flags)!==ii){e.msg="unknown compression method",s.mode=Oi;break}if(57344&s.flags){e.msg="unknown header flags set",s.mode=Oi;break}s.head&&(s.head.text=c>>8&1),512&s.flags&&(C[0]=255&c,C[1]=c>>>8&255,s.check=Oa(s.check,C,2,0)),c=0,h=0,s.mode=li;case li:for(;h<32;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}s.head&&(s.head.time=c),512&s.flags&&(C[0]=255&c,C[1]=c>>>8&255,C[2]=c>>>16&255,C[3]=c>>>24&255,s.check=Oa(s.check,C,4,0)),c=0,h=0,s.mode=ci;case ci:for(;h<16;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}s.head&&(s.head.xflags=255&c,s.head.os=c>>8),512&s.flags&&(C[0]=255&c,C[1]=c>>>8&255,s.check=Oa(s.check,C,2,0)),c=0,h=0,s.mode=hi;case hi:if(1024&s.flags){for(;h<16;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}s.length=c,s.head&&(s.head.extra_len=c),512&s.flags&&(C[0]=255&c,C[1]=c>>>8&255,s.check=Oa(s.check,C,2,0)),c=0,h=0}else s.head&&(s.head.extra=null);s.mode=di;case di:if(1024&s.flags&&((p=s.length)>o&&(p=o),p&&(s.head&&(N=s.head.extra_len-s.length,s.head.extra||(s.head.extra=new Array(s.head.extra_len)),Js.arraySet(s.head.extra,a,i,p,N)),512&s.flags&&(s.check=Oa(s.check,a,p,i)),o-=p,i+=p,s.length-=p),s.length))break e;s.length=0,s.mode=ui;case ui:if(2048&s.flags){if(0===o)break e;p=0;do{N=a[i+p++],s.head&&N&&s.length<65536&&(s.head.name+=String.fromCharCode(N))}while(N&&p<o);if(512&s.flags&&(s.check=Oa(s.check,a,p,i)),o-=p,i+=p,N)break e}else s.head&&(s.head.name=null);s.length=0,s.mode=pi;case pi:if(4096&s.flags){if(0===o)break e;p=0;do{N=a[i+p++],s.head&&N&&s.length<65536&&(s.head.comment+=String.fromCharCode(N))}while(N&&p<o);if(512&s.flags&&(s.check=Oa(s.check,a,p,i)),o-=p,i+=p,N)break e}else s.head&&(s.head.comment=null);s.mode=fi;case fi:if(512&s.flags){for(;h<16;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}if(c!==(65535&s.check)){e.msg="header crc mismatch",s.mode=Oi;break}c=0,h=0}s.head&&(s.head.hcrc=s.flags>>9&1,s.head.done=!0),e.adler=s.check=0,s.mode=_i;break;case gi:for(;h<32;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}e.adler=s.check=ye(c),c=0,h=0,s.mode=mi;case mi:if(0===s.havedict)return e.next_out=n,e.avail_out=l,e.next_in=i,e.avail_in=o,s.hold=c,s.bits=h,ei;e.adler=s.check=1,s.mode=_i;case _i:if(t===Jr||t===Qr)break e;case Ei:if(s.last){c>>>=7&h,h-=7&h,s.mode=Li;break}for(;h<3;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}switch(s.last=1&c,c>>>=1,h-=1,3&c){case 0:s.mode=bi;break;case 1:if(ke(s),s.mode=vi,t===Qr){c>>>=2,h-=2;break e}break;case 2:s.mode=Ni;break;case 3:e.msg="invalid block type",s.mode=Oi}c>>>=2,h-=2;break;case bi:for(c>>>=7&h,h-=7&h;h<32;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}if((65535&c)!=(c>>>16^65535)){e.msg="invalid stored block lengths",s.mode=Oi;break}if(s.length=65535&c,c=0,h=0,s.mode=Si,t===Qr)break e;case Si:s.mode=wi;case wi:if(p=s.length){if(p>o&&(p=o),p>l&&(p=l),0===p)break e;Js.arraySet(r,a,i,p,n),o-=p,i+=p,l-=p,n+=p,s.length-=p;break}s.mode=_i;break;case Ni:for(;h<14;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}if(s.nlen=257+(31&c),c>>>=5,h-=5,s.ndist=1+(31&c),c>>>=5,h-=5,s.ncode=4+(15&c),c>>>=4,h-=4,s.nlen>286||s.ndist>30){e.msg="too many length or distance symbols",s.mode=Oi;break}s.have=0,s.mode=Ui;case Ui:for(;s.have<s.ncode;){for(;h<3;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}s.lens[I[s.have++]]=7&c,c>>>=3,h-=3}for(;s.have<19;)s.lens[I[s.have++]]=0;if(s.lencode=s.lendyn,s.lenbits=7,y={bits:s.lenbits},U=Xr(jr,s.lens,0,19,s.lencode,0,s.work,y),s.lenbits=y.bits,U){e.msg="invalid code lengths set",s.mode=Oi;break}s.have=0,s.mode=yi;case yi:for(;s.have<s.nlen+s.ndist;){for(;T=s.lencode[c&(1<<s.lenbits)-1],m=T>>>24,_=T>>>16&255,E=65535&T,!(m<=h);){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}if(E<16)c>>>=m,h-=m,s.lens[s.have++]=E;else{if(16===E){for(v=m+2;h<v;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}if(c>>>=m,h-=m,0===s.have){e.msg="invalid bit length repeat",s.mode=Oi;break}N=s.lens[s.have-1],p=3+(3&c),c>>>=2,h-=2}else if(17===E){for(v=m+3;h<v;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}h-=m,N=0,p=3+(7&(c>>>=m)),c>>>=3,h-=3}else{for(v=m+7;h<v;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}h-=m,N=0,p=11+(127&(c>>>=m)),c>>>=7,h-=7}if(s.have+p>s.nlen+s.ndist){e.msg="invalid bit length repeat",s.mode=Oi;break}for(;p--;)s.lens[s.have++]=N}}if(s.mode===Oi)break;if(0===s.lens[256]){e.msg="invalid code -- missing end-of-block",s.mode=Oi;break}if(s.lenbits=9,y={bits:s.lenbits},U=Xr(Yr,s.lens,0,s.nlen,s.lencode,0,s.work,y),s.lenbits=y.bits,U){e.msg="invalid literal/lengths set",s.mode=Oi;break}if(s.distbits=6,s.distcode=s.distdyn,y={bits:s.distbits},U=Xr(Zr,s.lens,s.nlen,s.ndist,s.distcode,0,s.work,y),s.distbits=y.bits,U){e.msg="invalid distances set",s.mode=Oi;break}if(s.mode=vi,t===Qr)break e;case vi:s.mode=Ti;case Ti:if(o>=6&&l>=258){e.next_out=n,e.avail_out=l,e.next_in=i,e.avail_in=o,s.hold=c,s.bits=h,zr(e,u),n=e.next_out,r=e.output,l=e.avail_out,i=e.next_in,a=e.input,o=e.avail_in,c=s.hold,h=s.bits,s.mode===_i&&(s.back=-1);break}for(s.back=0;T=s.lencode[c&(1<<s.lenbits)-1],m=T>>>24,_=T>>>16&255,E=65535&T,!(m<=h);){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}if(_&&0==(240&_)){for(b=m,S=_,w=E;T=s.lencode[w+((c&(1<<b+S)-1)>>b)],m=T>>>24,_=T>>>16&255,E=65535&T,!(b+m<=h);){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}c>>>=b,h-=b,s.back+=b}if(c>>>=m,h-=m,s.back+=m,s.length=E,0===_){s.mode=Ai;break}if(32&_){s.back=-1,s.mode=_i;break}if(64&_){e.msg="invalid literal/length code",s.mode=Oi;break}s.extra=15&_,s.mode=Ci;case Ci:if(s.extra){for(v=s.extra;h<v;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}s.length+=c&(1<<s.extra)-1,c>>>=s.extra,h-=s.extra,s.back+=s.extra}s.was=s.length,s.mode=Ii;case Ii:for(;T=s.distcode[c&(1<<s.distbits)-1],m=T>>>24,_=T>>>16&255,E=65535&T,!(m<=h);){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}if(0==(240&_)){for(b=m,S=_,w=E;T=s.distcode[w+((c&(1<<b+S)-1)>>b)],m=T>>>24,_=T>>>16&255,E=65535&T,!(b+m<=h);){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}c>>>=b,h-=b,s.back+=b}if(c>>>=m,h-=m,s.back+=m,64&_){e.msg="invalid distance code",s.mode=Oi;break}s.offset=E,s.extra=15&_,s.mode=Pi;case Pi:if(s.extra){for(v=s.extra;h<v;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}s.offset+=c&(1<<s.extra)-1,c>>>=s.extra,h-=s.extra,s.back+=s.extra}if(s.offset>s.dmax){e.msg="invalid distance too far back",s.mode=Oi;break}s.mode=ki;case ki:if(0===l)break e;if(p=u-l,s.offset>p){if((p=s.offset-p)>s.whave&&s.sane){e.msg="invalid distance too far back",s.mode=Oi;break}p>s.wnext?(p-=s.wnext,f=s.wsize-p):f=s.wnext-p,p>s.length&&(p=s.length),g=s.window}else g=r,f=n-s.offset,p=s.length;p>l&&(p=l),l-=p,s.length-=p;do{r[n++]=g[f++]}while(--p);0===s.length&&(s.mode=Ti);break;case Ai:if(0===l)break e;r[n++]=s.length,l--,s.mode=Ti;break;case Li:if(s.wrap){for(;h<32;){if(0===o)break e;o--,c|=a[i++]<<h,h+=8}if(u-=l,e.total_out+=u,s.total+=u,u&&(e.adler=s.check=s.flags?Oa(s.check,r,u,n-u):xa(s.check,r,u,n-u)),u=l,(s.flags?c:ye(c))!==s.check){e.msg="incorrect data check",s.mode=Oi;break}c=0,h=0}s.mode=xi;case xi:if(s.wrap&&s.flags){for(;h<32;){if(0===o)break e;o--,c+=a[i++]<<h,h+=8}if(c!==(4294967295&s.total)){e.msg="incorrect length check",s.mode=Oi;break}c=0,h=0}s.mode=Ri;case Ri:U=qr;break e;case Oi:U=si;break e;case Di:return ai;case Mi:default:return ti}return e.next_out=n,e.avail_out=l,e.next_in=i,e.avail_in=o,s.hold=c,s.bits=h,(s.wsize||u!==e.avail_out&&s.mode<Oi&&(s.mode<Li||t!==Kr))&&Ae(e,e.output,e.next_out,u-e.avail_out)?(s.mode=Di,ai):(d-=e.avail_in,u-=e.avail_out,e.total_in+=d,e.total_out+=u,s.total+=u,s.wrap&&u&&(e.adler=s.check=s.flags?Oa(s.check,r,u,e.next_out-u):xa(s.check,r,u,e.next_out-u)),e.data_type=s.bits+(s.last?64:0)+(s.mode===_i?128:0)+(s.mode===vi||s.mode===Si?256:0),(0===d&&0===u||t===Kr)&&U===$r&&(U=ri),U)},inflateEnd:function(e){if(!e||!e.state)return ti;var t=e.state;return t.window&&(t.window=null),e.state=null,$r},inflateGetHeader:function(e,t){var s;return e&&e.state?0==(2&(s=e.state).wrap)?ti:(s.head=t,t.done=!1,$r):ti},inflateSetDictionary:function(e,t){var s,a,r=t.length;return e&&e.state?0!==(s=e.state).wrap&&s.mode!==mi?ti:s.mode===mi&&(a=1,(a=xa(a,t,r,0))!==s.check)?si:Ae(e,t,r,r)?(s.mode=Di,ai):(s.havedict=1,$r):ti},inflateInfo:"pako inflate (from Nodeca project)"},Wi={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},Vi=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1},Xi=Object.prototype.toString;Le.prototype.push=function(e,t){var s,a,r,i,n,o,l=this.strm,c=this.options.chunkSize,h=this.options.dictionary,d=!1;if(this.ended)return!1;a=t===~~t?t:!0===t?Wi.Z_FINISH:Wi.Z_NO_FLUSH,"string"==typeof e?l.input=kr.binstring2buf(e):"[object ArrayBuffer]"===Xi.call(e)?l.input=new Uint8Array(e):l.input=e,l.next_in=0,l.avail_in=l.input.length;do{if(0===l.avail_out&&(l.output=new Js.Buf8(c),l.next_out=0,l.avail_out=c),(s=Gi.inflate(l,Wi.Z_NO_FLUSH))===Wi.Z_NEED_DICT&&h&&(o="string"==typeof h?kr.string2buf(h):"[object ArrayBuffer]"===Xi.call(h)?new Uint8Array(h):h,s=Gi.inflateSetDictionary(this.strm,o)),s===Wi.Z_BUF_ERROR&&!0===d&&(s=Wi.Z_OK,d=!1),s!==Wi.Z_STREAM_END&&s!==Wi.Z_OK)return this.onEnd(s),this.ended=!0,!1;l.next_out&&(0!==l.avail_out&&s!==Wi.Z_STREAM_END&&(0!==l.avail_in||a!==Wi.Z_FINISH&&a!==Wi.Z_SYNC_FLUSH)||("string"===this.options.to?(r=kr.utf8border(l.output,l.next_out),i=l.next_out-r,n=kr.buf2string(l.output,r),l.next_out=i,l.avail_out=c-i,i&&Js.arraySet(l.output,l.output,r,i,0),this.onData(n)):this.onData(Js.shrinkBuf(l.output,l.next_out)))),0===l.avail_in&&0===l.avail_out&&(d=!0)}while((l.avail_in>0||0===l.avail_out)&&s!==Wi.Z_STREAM_END);return s===Wi.Z_STREAM_END&&(a=Wi.Z_FINISH),a===Wi.Z_FINISH?(s=Gi.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===Wi.Z_OK):a!==Wi.Z_SYNC_FLUSH||(this.onEnd(Wi.Z_OK),l.avail_out=0,!0)},Le.prototype.onData=function(e){this.chunks.push(e)},Le.prototype.onEnd=function(e){e===Wi.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Js.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var ji={Inflate:Le,inflate:xe,inflateRaw:function(e,t){return t=t||{},t.raw=!0,xe(e,t)},ungzip:xe},Yi={};(0,Js.assign)(Yi,Fr,ji,Wi);var Zi=Yi.inflate;class Ki{static allocateUint8(e){Ki.u8=new Uint8Array(e)}static allocateUint16(e){Ki.u16=new Uint16Array(e)}static allocateUint32(e){Ki.u32=new Uint32Array(e)}static getUint8(){return Ki.u8||Ki.allocateUint8(10),Ki.u8Index++}static getUint16(){return Ki.u16||Ki.allocateUint16(24),Ki.u16Index++}static getUint32(){return Ki.u32||Ki.allocateUint32(10),Ki.u32Index++}}Ki.u8Index=0,Ki.u16Index=0,Ki.u32Index=0;class Ji{constructor(){this.rangeI=0,this.codeI=1,this.loc1=2,this.loc2=3,this.idPos=13}isFinishedOK(){return 0===this.U32[this.codeI]}init(){this.U32=new Uint32Array(4),this.U16=new Uint16Array(4),this.corrupted=!1,0!==this.inStream[this.idPos++]&&(this.corrupted=!0),this.U32[this.rangeI]=4294967295,this.U32[this.codeI]=0;for(let e=0;e<4;e++)this.U32[this.codeI]=this.U32[this.codeI]<<8|this.inStream[this.idPos++];this.U32[this.codeI]===this.U32[this.rangeI]&&(this.corrupted=!0)}normalize(){this.U32[this.rangeI]<Ji.kTopValue&&(this.U32[this.rangeI]<<=8,this.U32[this.codeI]=this.U32[this.codeI]<<8|this.inStream[this.idPos++])}decodeDirectBits(e){this.U32[this.loc1]=0;do{this.U32[this.rangeI]>>>=1,this.U32[this.codeI]-=this.U32[this.rangeI],this.U32[this.loc2]=0-(this.U32[this.codeI]>>>31),this.U32[this.codeI]+=this.U32[this.rangeI]&this.U32[this.loc2],this.U32[this.codeI]===this.U32[this.rangeI]&&(this.corrupted=!0),this.normalize(),this.U32[this.loc1]<<=1,this.U32[this.loc1]+=this.U32[this.loc2]+1}while(--e);return this.U32[this.loc1]}decodeBit(e,t){return this.U16[0]=e[t],this.U32[2]=(this.U32[0]>>>11)*this.U16[0],this.U32[1]<this.U32[2]?(this.U16[0]+=2048-this.U16[0]>>>5,this.U32[0]=this.U32[2],this.U16[1]=0):(this.U16[0]-=this.U16[0]>>>5,this.U32[1]-=this.U32[2],this.U32[0]-=this.U32[2],this.U16[1]=1),e[t]=this.U16[0],this.U32[0]<16777216&&(this.U32[0]<<=8,this.U32[1]=this.U32[1]<<8|this.inStream[this.idPos++]),this.U16[1]}}Ji.kTopValue=1<<24;class Qi{constructor(){this.outPos=0}create(e){this.buf=new Uint8Array(e),this.pos=0,this.size=e,this.isFull=!1,this.totalPos=0}putByte(e){this.totalPos++,this.buf[this.pos++]=e,this.pos===this.size&&(this.pos=0,this.isFull=!0),this.outStream[this.outPos++]=e}getByte(e){return this.buf[e<=this.pos?this.pos-e:this.size-e+this.pos]}copyMatch(e,t){for(;t>0;t--)this.putByte(this.getByte(e))}checkDistance(e){return e<=this.pos||this.isFull}isEmpty(){return 0===this.pos&&!this.isFull}}class $i{constructor(e){this.numBits=e,this.probs=new Uint16Array(1<<this.numBits)}static constructArray(e,t){let s=[];for(let a=0;a<t;a++)s[a]=new $i(e);return s}init(){tn.INIT_PROBS(this.probs)}decode(e){let t=1;for(let s=0;s<this.numBits;s++)t=(t<<1)+e.decodeBit(this.probs,t);return t-(1<<this.numBits)}reverseDecode(e){return tn.BitTreeReverseDecode(this.probs,this.numBits,e)}}class qi{constructor(){this.choice=new Uint16Array([tn.PROB_INIT_VAL,tn.PROB_INIT_VAL]),this.lowCoder=$i.constructArray(3,1<<tn.kNumPosBitsMax),this.midCoder=$i.constructArray(3,1<<tn.kNumPosBitsMax),this.highCoder=new $i(8)}init(){this.highCoder.init();for(let e=0;e<1<<tn.kNumPosBitsMax;e++)this.lowCoder[e].init(),this.midCoder[e].init()}decode(e,t){return 0===e.decodeBit(this.choice,0)?this.lowCoder[t].decode(e):0===e.decodeBit(this.choice,1)?8+this.midCoder[t].decode(e):16+this.highCoder.decode(e)}}class en{constructor(){this.posSlotDecoder=$i.constructArray(6,tn.kNumLenToPosStates),this.alignDecoder=new $i(tn.kNumAlignBits),this.posDecoders=new Uint16Array(1+tn.kNumFullDistances-tn.kEndPosModelIndex),this.isMatch=new Uint16Array(tn.kNumStates<<tn.kNumPosBitsMax),this.isRep=new Uint16Array(tn.kNumStates),this.isRepG0=new Uint16Array(tn.kNumStates),this.isRepG1=new Uint16Array(tn.kNumStates),this.isRepG2=new Uint16Array(tn.kNumStates),this.isRep0Long=new Uint16Array(tn.kNumStates<<tn.kNumPosBitsMax),this.lenDecoder=new qi,this.repLenDecoder=new qi,this.rangeDec=new Ji,this.outWindow=new Qi}init(){this.loc1=0|Ki.getUint32(),this.loc2=0|Ki.getUint32(),this.matchBitI=0|Ki.getUint16(),this.matchByteI=0|Ki.getUint16(),this.bitI=0|Ki.getUint16(),this.symbolI=0|Ki.getUint16(),this.prevByteI=0|Ki.getUint16(),this.litStateI=0|Ki.getUint16(),this.initLiterals(),this.initDist(),tn.INIT_PROBS(this.isMatch),tn.INIT_PROBS(this.isRep),tn.INIT_PROBS(this.isRepG0),tn.INIT_PROBS(this.isRepG1),tn.INIT_PROBS(this.isRepG2),tn.INIT_PROBS(this.isRep0Long),this.lenDecoder.init(),this.repLenDecoder.init()}create(){this.outWindow.create(this.dictSize),this.createLiterals()}decodeProperties(e){let t=new Uint8Array(4);if(t[0]=e[0],t[0]>=225)throw new Error("Incorrect LZMA properties");t[1]=t[0]%9,t[0]/=9,t[2]=t[0]/5,t[3]=t[0]%5,this.lc=t[1],this.pb=t[2],this.lp=t[3],this.dictSizeInProperties=0;for(let t=0;t<4;t++)this.dictSizeInProperties|=e[t+1]<<8*t;this.dictSize=this.dictSizeInProperties,this.dictSize<tn.LZMA_DIC_MIN&&(this.dictSize=tn.LZMA_DIC_MIN)}decode(e,t){this.init(),this.rangeDec.init(),e&&(this.outWindow.outStream=new Uint8Array(new ArrayBuffer(t)));let s=0,a=0,r=0,i=0,n=0;for(;;){if(e&&0===t&&!this.markerIsMandatory&&this.rangeDec.isFinishedOK())return tn.LZMA_RES_FINISHED_WITHOUT_MARKER;let o=this.outWindow.totalPos&(1<<this.pb)-1;if(0===this.rangeDec.decodeBit(this.isMatch,(n<<tn.kNumPosBitsMax)+o)){if(e&&0===t)return tn.LZMA_RES_ERROR;this.decodeLiteral(n,s),n=this.updateState_Literal(n),t--;continue}let l;if(0!==this.rangeDec.decodeBit(this.isRep,n)){if(e&&0===t)return tn.LZMA_RES_ERROR;if(this.outWindow.isEmpty())return tn.LZMA_RES_ERROR;if(0===this.rangeDec.decodeBit(this.isRepG0,n)){if(0===this.rangeDec.decodeBit(this.isRep0Long,(n<<tn.kNumPosBitsMax)+o)){n=this.updateState_ShortRep(n),this.outWindow.putByte(this.outWindow.getByte(s+1)),t--;continue}}else{let e;0===this.rangeDec.decodeBit(this.isRepG1,n)?e=a:(0===this.rangeDec.decodeBit(this.isRepG2,n)?e=r:(e=i,i=r),r=a),a=s,s=e}l=this.repLenDecoder.decode(this.rangeDec,o),n=this.updateState_Rep(n)}else{if(i=r,r=a,a=s,l=this.lenDecoder.decode(this.rangeDec,o),n=this.updateState_Match(n),4294967295===(s=this.decodeDistance(l)))return this.rangeDec.isFinishedOK()?tn.LZMA_RES_FINISHED_WITH_MARKER:tn.LZMA_RES_ERROR;if(e&&0===t)return tn.LZMA_RES_ERROR;if(s>=this.dictSize||!this.outWindow.checkDistance(s))return tn.LZMA_RES_ERROR}l+=tn.kMatchMinLen;let c=!1;if(e&&t<l&&(l=t,c=!0),this.outWindow.copyMatch(s+1,l),t-=l,c)return tn.LZMA_RES_ERROR}}createLiterals(){this.litProbs=new Uint16Array(768<<this.lc+this.lp)}initLiterals(){let e=768<<this.lc+this.lp;for(let t=0;t<e;t++)this.litProbs[t]=tn.PROB_INIT_VAL}decodeLiteral(e,t){Ki.u16[this.prevByteI]=0,this.outWindow.isEmpty()||(Ki.u16[this.prevByteI]=this.outWindow.getByte(1)),Ki.u16[this.symbolI]=1,Ki.u16[this.litStateI]=((this.outWindow.totalPos&(1<<this.lp)-1)<<this.lc)+(Ki.u16[this.prevByteI]>>>8-this.lc);let s=768*Ki.u16[this.litStateI]|0;if(e>=7){Ki.u16[this.matchByteI]=this.outWindow.getByte(t+1);do{if(Ki.u16[this.matchBitI]=Ki.u16[this.matchByteI]>>>7&1,Ki.u16[this.matchByteI]<<=1,Ki.u16[this.bitI]=this.rangeDec.decodeBit(this.litProbs,s+(1+Ki.u16[this.matchBitI]<<8)+Ki.u16[this.symbolI]),Ki.u16[this.symbolI]=Ki.u16[this.symbolI]<<1|Ki.u16[this.bitI],Ki.u16[this.matchBitI]!==Ki.u16[this.bitI])break}while(Ki.u16[this.symbolI]<256)}for(;Ki.u16[this.symbolI]<256;)Ki.u16[this.symbolI]=Ki.u16[this.symbolI]<<1|this.rangeDec.decodeBit(this.litProbs,s+Ki.u16[this.symbolI]);this.outWindow.putByte(Ki.u16[this.symbolI]-256)}decodeDistance(e){let t=e;t>tn.kNumLenToPosStates-1&&(t=tn.kNumLenToPosStates-1);let s=this.posSlotDecoder[t].decode(this.rangeDec);if(s<4)return s;let a=(s>>>1)-1;return Ki.u32[this.loc1]=(2|1&s)<<a,s<tn.kEndPosModelIndex?Ki.u32[this.loc1]+=tn.BitTreeReverseDecode(this.posDecoders,a,this.rangeDec,Ki.u32[this.loc1]-s):(Ki.u32[this.loc1]+=this.rangeDec.decodeDirectBits(a-tn.kNumAlignBits)<<tn.kNumAlignBits,Ki.u32[this.loc1]+=this.alignDecoder.reverseDecode(this.rangeDec)),Ki.u32[this.loc1]}initDist(){for(let e=0;e<tn.kNumLenToPosStates;e++)this.posSlotDecoder[e].init();this.alignDecoder.init(),tn.INIT_PROBS(this.posDecoders)}updateState_Literal(e){return e<4?0:e<10?e-3:e-6}updateState_ShortRep(e){return e<7?9:11}updateState_Rep(e){return e<7?8:11}updateState_Match(e){return e<7?7:10}}class tn{constructor(){this.decoder=new en}static INIT_PROBS(e){for(let t=0;t<e.length;t++)e[t]=this.PROB_INIT_VAL}static BitTreeReverseDecode(e,t,s,a=0){let r=1,i=0;for(let n=0;n<t;n++){let t=s.decodeBit(e,a+r);r<<=1,r+=t,i|=t<<n}return i}decodeSWF(e,t){let s,a=new Uint8Array(5);for(s=0;s<5;s++)a[s]=e[s];this.decoder.decodeProperties(a);let r=t;this.decoder.markerIsMandatory=!1,this.decoder.rangeDec.inStream=e,this.decoder.rangeDec.idPos=5,this.decoder.create();let i=this.decoder.decode(!0,r);if(i===tn.LZMA_RES_ERROR)throw"LZMA decoding error";if(i===tn.LZMA_RES_FINISHED_WITHOUT_MARKER);else{if(i!==tn.LZMA_RES_FINISHED_WITH_MARKER)throw"Internal Error";if(this.decoder.outWindow.outPos!==r)throw"Finished with end marker before than specified size"}return this.decoder.rangeDec.corrupted&&console.log("Warning: LZMA stream is corrupted"),this.decoder.outWindow.outStream}decode(e){let t,s=new Uint8Array(13);for(t=0;t<13;t++)s[t]=e[t];this.decoder.decodeProperties(s);let a=0,r=!1;for(t=0;t<8;t++){let e=s[5+t];255!==e&&(r=!0),a|=e<<8*t}this.decoder.markerIsMandatory=!r,this.decoder.rangeDec.inStream=e,this.decoder.create();let i=this.decoder.decode(r,a);if(i===tn.LZMA_RES_ERROR)throw"LZMA decoding error";if(i===tn.LZMA_RES_FINISHED_WITHOUT_MARKER);else{if(i!==tn.LZMA_RES_FINISHED_WITH_MARKER)throw"Internal Error";if(r&&this.decoder.outWindow.outPos!==a)throw"Finished with end marker before than specified size"}return this.decoder.rangeDec.corrupted&&console.log("Warning: LZMA stream is corrupted"),this.decoder.outWindow.outStream}}tn.LZMA_DIC_MIN=4096,tn.LZMA_RES_ERROR=0,tn.LZMA_RES_FINISHED_WITH_MARKER=1,tn.LZMA_RES_FINISHED_WITHOUT_MARKER=2,tn.kNumBitModelTotalBits=11,tn.kNumMoveBits=5,tn.PROB_INIT_VAL=(1<<tn.kNumBitModelTotalBits)/2,tn.kNumPosBitsMax=4,tn.kNumStates=12,tn.kNumLenToPosStates=4,tn.kNumAlignBits=4,tn.kStartPosModelIndex=4,tn.kEndPosModelIndex=14,tn.kNumFullDistances=1<<(tn.kEndPosModelIndex>>>1),tn.kMatchMinLen=2;let sn=new Map;var an;!function(e){e[e.uncompressed=70]="uncompressed",e[e.zlibCompressed=67]="zlibCompressed",e[e.lzmaCompressed=90]="lzmaCompressed"}(an||(an={}));var rn;!function(e){e[e.End=0]="End",e[e.SymbolClass=76]="SymbolClass",e[e.DoABC=82]="DoABC",e[e.DefineBinaryData=87]="DefineBinaryData"}(rn||(rn={}));class nn{constructor(e,t=!1){let s=e.readUI16(),a=s>>6,r=63&s;63===r&&(r=e.readUI32()),this.type=a,this.length=r,t||e.movePtr(r)}toJSON(){let e={type:this.type,length:this.length},t=this.constructor.name;return"Tag"!==t&&(e.className=t),this.data instanceof ArrayBuffer&&(e.data=n(Array.from(new Uint8Array(this.data.slice(0,20))))),e}}let on=class extends nn{constructor(e){super(e,!0);let t=e.getPosition();this.flags=e.readUI32(),this.name=e.readCStyleString();const s=e.getPosition()-t;this.data=e.readArray(this.length-s)}toJSON(){let e=super.toJSON();return e.flags=this.flags,e.name=this.name,e}};on=e([De(rn.DoABC)],on);let ln=class extends nn{constructor(e){super(e,!0),this.tag=e.readUI16(),e.readUI32(),this.data=e.readArray(this.length-6)}toJSON(){let e=super.toJSON();return e.tag=this.tag,e.symbolName=this.symbolName,e}};ln=e([De(rn.DefineBinaryData)],ln);let cn=class extends nn{constructor(e){super(e,!0),this.symbols=new Map;const t=e.readUI16(),s=this.symbols;for(let a=0;a<t;a++){const t=e.readUI16(),a=e.readCStyleString();s.set(t,a)}}toJSON(){let e=super.toJSON();return e.symbols=this.symbols,e}};cn=e([De(rn.SymbolClass)],cn);class hn{constructor(e){this.app=e,this.tags=[]}read(e){return t(this,void 0,void 0,function*(){this.compressType=e.readU8(),e.readU8()===l("W")&&e.readU8()===l("S")||this.app.throwError("VerifyError",Ft.FileVerificationError),this.version=e.readU8(),this.fileLength=e.readUI32();const t=yield this.expandBody(e),s=new it(t),a=new un(s);this.frameSize=a.readRect(),this.frameRate=a.readFixed8(),this.frameCount=s.readU16(),this.tags=[];for(let e of a.readTags())this.tags.push(e);const r=this.getTags(ln),i=this.getTags(cn)[0];if(r.length>0&&!i)throw new Error("SymbolClass not found");for(let e of r)e.symbolName=i.symbols.get(e.tag)})}getTags(e){return this.tags.filter(t=>t.type===e.type)}dropUnusedTags(){this.tags=this.tags.filter(e=>e.constructor!==nn);this.tags.filter(e=>e.constructor===on)}expandBody(e){return t(this,void 0,void 0,function*(){const t=e.getPosition();if(this.compressType===an.uncompressed)return e.readArray(this.fileLength-t);if(this.compressType===an.zlibCompressed)return yield Re(e.readArray(-1));if(this.compressType===an.lzmaCompressed){e.readUI32();return yield Oe(e.readArray(-1),this.fileLength-t)}return null})}toJSON(){return{compressType:an[this.compressType],version:this.version,fileLength:this.fileLength,frameSize:this.frameSize,frameRate:this.frameRate,frameCount:this.frameCount,tags:this.tags}}}class dn{}class un{constructor(e){this.reader=e,this.bitPos=0,this.tempByte=0}readFixed(){let e=this.reader.readUI32();return(65535&e)/65536+(e>>16)}readFixed8(){let e=this.reader.readUI16();return(255&e)/256+(e>>8)}readUB(e){if(0===e)return 0;let t=0;0===this.bitPos&&(this.tempByte=this.reader.readU8());for(let s=0;s<e;s++)t+=(this.tempByte>>7-this.bitPos&1)<<e-1-s,8===++this.bitPos&&(this.bitPos=0,s!==e-1&&(this.tempByte=this.reader.readU8()));return t}readSB(e){let t=this.readUB(e);const s=32-e;return t=t<<s>>s}alignByte(){this.bitPos=0}readRect(){let e=new dn;const t=this.readUB(5);return e.Xmin=this.readSB(t),e.Xmax=this.readSB(t),e.Ymin=this.readSB(t),e.Ymax=this.readSB(t),this.alignByte(),e}*readTags(){for(let e=this.readTag();null!==e&&(yield e,e.type!==rn.End);e=this.readTag());}readTag(){try{let e=this.reader.readUI16()>>6;this.reader.movePtr(-2);let t=sn.get(e);return t||(t=nn),new t(this.reader)}catch(e){return e instanceof rt||console.error(e),null}}}const pn=new st("FlashEmu");class fn{constructor(e){this.binaryData=new Map,this.hooks=new Map,this._inited=!1,this.sec=new Xt(this),this.app=this.sec.createApplicationDomain(null),this.interpreter=new Ys,this.fi=e}static setLogFilter(e){st.logFilter=e}static setGlobalFlags(e){s(e)}static swfBuffer2str(e){return t(this,void 0,void 0,function*(){let s=new fn({readFile(e){return t(this,void 0,void 0,function*(){return null})}}),a=new Xt(s).createApplicationDomain(null);const r=new hn(a);yield r.read(new it(e));let i=r.getTags(on),n="";for(let e of i){const t=new it(e.data);let s=new vt(t,a);n+=JSON.stringify(s,null,2)}return n})}static abcBuffer2str(e){let s=new fn({readFile(e){return t(this,void 0,void 0,function*(){return null})}}),a=new Xt(s).createApplicationDomain(null),r=new it(e),i=new vt(r,a);return JSON.stringify(i,null,2)}init(){return t(this,void 0,void 0,function*(){if(!this._inited){this._inited=!0;const e=this.sec.system;yield this.loadABCFile(fn.BUILTIN,e),yield this.loadABCFile(fn.PLAYERGLOBAL,e),this.sec.onBuiltinLoaded()}})}loadABC(e,t){const s=new it(e),a=new vt(s,this.app);t.loadABC(a)}loadABCFile(e,s){return t(this,void 0,void 0,function*(){this._inited||(yield this.init()),this.loadABC(yield this.fi.readFile(e),s)})}getClass(e){return this.app.getClass(e)}getPublicClass(e){return this.app.getClass(wt.Public(e))}getProperty(e,t){return this.app.getProperty(wt.Package(e,t),!0,!0)}setProperty(e,t,s){const a=wt.Package(e,t);this.app.findProperty(a,!0,!0).axSetProperty(a,s,!1)}executeScript(e=-1,t=-1){e<0&&(e+=this.app.abcs.length);const s=this.app.abcs[e];t<0&&(t+=s.script.length);let a=s.getScript(t);return this.app.executeScript(a)}hookFlascc(e,t,s,a){const r=this;this.hooks.set(e,{name:e,callback:function(){const e=r.getProperty(t,"ESP"),i=this.app.domainMemory.view;let n=[];for(let t=0;t<s;t++)n.push(i.getUint32(e+4*t,!0));return a.call(this,...n)}})}loadSWF(e){return t(this,void 0,void 0,function*(){yield this.init();const t=yield this.fi.readFile(e),s=new it(t),a=new hn(this.app);yield a.read(s),this.swf=a;let r=a.getTags(ln);for(let e of r)this.binaryData.set(e.symbolName,e.data)})}runSWF(e,s=!0){return t(this,void 0,void 0,function*(){yield this.loadSWF(e),this.swf.dropUnusedTags();const t=this.swf.getTags(on);for(let e of t)this.loadABC(e.data,this.app);s&&this.executeScript()})}testswf2(e){return t(this,void 0,void 0,function*(){yield this.loadSWF(e),this.swf.dropUnusedTags();const t=this.swf.getTags(on);for(let e of t)this.loadABC(e.data,this.app);this.app.getClass(wt.Package("com.adobe.flascc","CModule")).callProperty("startAsync");let s=this.getProperty("MyCPP","check"),a=s.call(s,"123");pn.error(a)})}testswf(e){return t(this,void 0,void 0,function*(){this.hookFlascc("F__ZN11CCommonFunc6RSHashEj","sample.xx",1,e=>{this.setProperty("sample.xx","eax",0)});let t=0;this.hookFlascc("F__Znwj","sample.xx",1,e=>{this.app.domainMemory.length=8388608,this.setProperty("sample.xx","eax",6291456+t),t+=e});let s=(new Date).getTime();yield this.loadSWF(e),this.swf.dropUnusedTags();const a=this.swf.getTags(on);for(let e of a)this.loadABC(e.data,this.app);let r=this.app.getClass(wt.Package("sample.xx","CModule")),i=this.app.getClass(wt.Public("xx"));pn.error("CModule get"),r.callProperty("startAsync"),pn.error("CModule loaded");const n=()=>{let e=(new Date).getTime(),t=r.callProperty("malloc",4),s=r.callProperty("malloc",4),a=i.callProperty("sub_13",687423,25020488,"D2C2C9675D34594BCD066616B5C9AE44",s,t),n=r.callProperty("read32",t),o=r.callProperty("readString",n,a);pn.error(n,o),r.callProperty("free",t),r.callProperty("free",s),pn.error("sign time:",(new Date).getTime()-e)};m(),n(),n(),n(),pn.error("time:",(new Date).getTime()-s),pn.error(_(50)),pn.error(_(50,"times"))})}}return fn.BUILTIN="./lib/builtin.abc",fn.PLAYERGLOBAL="./lib/playerglobal.abc",fn});
function sign(roomId, time, did) {
    FlashEmu.BUILTIN = 'builtin.abc';
    FlashEmu.PLAYERGLOBAL = 'playerglobal.abc';
    FlashEmu.setGlobalFlags({
        enableDebug: false,
        enableLog: false,
        enableWarn: false,
        enableError: false
    });
    const emu = new FlashEmu({
        readFile(filename) {
            return fetch(filename)
                .then(res => res.arrayBuffer())
                .then(buf => new Uint8Array(buf).buffer);
        }
    });
    emu.runSWF('douyu.swf', false).then(() => {
        const CModule = emu.getProperty('sample.mp', 'CModule');
        const xx = emu.getPublicClass('mp');
        CModule.callProperty('startAsync');
        console.log('sign', roomId, time, did);
        let StreamSignDataPtr = CModule.callProperty('malloc', 4);
        let outptr1 = CModule.callProperty('malloc', 4);
        let datalen = xx.callProperty('sub_2', parseInt(roomId), parseInt(time), did.toString(), outptr1, StreamSignDataPtr);
        let pSign = CModule.callProperty('read32', StreamSignDataPtr);
        let sign = CModule.callProperty('readString', pSign, datalen);
        let pOut = CModule.callProperty('read32', outptr1);
        let out = CModule.callProperty('readString', pOut, 4);
        CModule.callProperty('free', StreamSignDataPtr);
        CModule.callProperty('free', outptr1);
        console.log('sign result', sign, out);
        let obj = new Object();
        obj.sign = sign;
        obj.cptl = out;
        let string = JSON.stringify(obj);
        document.write(string);
    }).catch(e => console.error(e));
};
const rid = '67373';
const tt = 25254787;
const did = 'C509BCDFDD593B0082493A579FEE00AB';
sign(rid, tt, did);
""".replace("document.write", "return ")
result = js2py.eval_js(js)
print (result)
$ python C:\Users\Tanjan\douyutv.py
Traceback (most recent call last):
  File "C:\Users\Tanjan\douyutv.py", line 47, in <module>
    result = js2py.eval_js(js)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\js2py\evaljs.py", line 113, in eval_js
    return e.eval(js)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\js2py\evaljs.py", line 182, in eval
    self.execute(code, use_compilation_plan=use_compilation_plan)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\js2py\evaljs.py", line 177, in execute
    exec(compiled, self._context)
  File "<EvalJS snippet>", line 4, in <module>
  File "<EvalJS snippet>", line 3, in PyJs_LONG_0_
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\js2py\base.py", line 899, in __call__
    return self.call(self.GlobalObject, args)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\js2py\base.py", line 1344, in call
    return Js(self.code(*args))
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\js2py\host\jseval.py", line 16, in Eval
    py_code = translate_js(code.to_string().value, '')
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\js2py\translators\translator.py", line 66, in translate_js
    parsed = parser.parse(js) # js to esprima syntax tree
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 2863, in parse
    program = self.parseProgram();
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 2834, in parseProgram
    body = self.parseScriptBody()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 2823, in parseScriptBody
    statement = self.parseStatementListItem();
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1989, in parseStatementListItem
    return self.parseStatement();
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 2571, in parseStatement
    expr = self.parseExpression();
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1955, in parseExpression
    expr = self.isolateCoverGrammar(self.parseAssignmentExpression)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1131, in isolateCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1923, in parseAssignmentExpression
    expr = self.parseConditionalExpression();
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1824, in parseConditionalExpression
    expr = self.inheritCoverGrammar(self.parseBinaryExpression);
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1773, in parseBinaryExpression
    left = self.inheritCoverGrammar(self.parseUnaryExpression);
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1737, in parseUnaryExpression
    expr = self.inheritCoverGrammar(self.parseUnaryExpression);
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1749, in parseUnaryExpression
    expr = self.parsePostfixExpression()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1702, in parsePostfixExpression
    expr = self.inheritCoverGrammar(self.parseLeftHandSideExpressionAllowCall)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1648, in parseLeftHandSideExpressionAllowCall
    args = self.parseArguments();
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1586, in parseArguments
    args.append(self.isolateCoverGrammar(self.parseAssignmentExpression))
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1131, in isolateCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1923, in parseAssignmentExpression
    expr = self.parseConditionalExpression();
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1824, in parseConditionalExpression
    expr = self.inheritCoverGrammar(self.parseBinaryExpression);
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1773, in parseBinaryExpression
    left = self.inheritCoverGrammar(self.parseUnaryExpression);
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1749, in parseUnaryExpression
    expr = self.parsePostfixExpression()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1702, in parsePostfixExpression
    expr = self.inheritCoverGrammar(self.parseLeftHandSideExpressionAllowCall)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1638, in parseLeftHandSideExpressionAllowCall
    self.parseNewExpression if self.matchKeyword('new') else self.parsePrimaryExpression)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1549, in parsePrimaryExpression
    return self.parseFunctionExpression()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 2782, in parseFunctionExpression
    body = self.parseFunctionSourceElements();
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 2630, in parseFunctionSourceElements
    body.append(self.parseStatementListItem())
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1984, in parseStatementListItem
    return self.parseFunctionDeclaration(Node());
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 2740, in parseFunctionDeclaration
    body = self.parseFunctionSourceElements();
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 2630, in parseFunctionSourceElements
    body.append(self.parseStatementListItem())
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1989, in parseStatementListItem
    return self.parseStatement();
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 2551, in parseStatement
    return self.parseForStatement(node);
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 2285, in parseForStatement
    body = self.isolateCoverGrammar(self.parseStatement)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1131, in isolateCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 2571, in parseStatement
    expr = self.parseExpression();
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1955, in parseExpression
    expr = self.isolateCoverGrammar(self.parseAssignmentExpression)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1131, in isolateCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1946, in parseAssignmentExpression
    right = self.isolateCoverGrammar(self.parseAssignmentExpression)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1131, in isolateCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1923, in parseAssignmentExpression
    expr = self.parseConditionalExpression();
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1824, in parseConditionalExpression
    expr = self.inheritCoverGrammar(self.parseBinaryExpression);
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1773, in parseBinaryExpression
    left = self.inheritCoverGrammar(self.parseUnaryExpression);
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1722, in parseUnaryExpression
    expr = self.parsePostfixExpression();
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1702, in parsePostfixExpression
    expr = self.inheritCoverGrammar(self.parseLeftHandSideExpressionAllowCall)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1648, in parseLeftHandSideExpressionAllowCall
    args = self.parseArguments();
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1586, in parseArguments
    args.append(self.isolateCoverGrammar(self.parseAssignmentExpression))
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1131, in isolateCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1923, in parseAssignmentExpression
    expr = self.parseConditionalExpression();
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1824, in parseConditionalExpression
    expr = self.inheritCoverGrammar(self.parseBinaryExpression);
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1773, in parseBinaryExpression
    left = self.inheritCoverGrammar(self.parseUnaryExpression);
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1749, in parseUnaryExpression
    expr = self.parsePostfixExpression()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1702, in parsePostfixExpression
    expr = self.inheritCoverGrammar(self.parseLeftHandSideExpressionAllowCall)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1638, in parseLeftHandSideExpressionAllowCall
    self.parseNewExpression if self.matchKeyword('new') else self.parsePrimaryExpression)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1529, in parsePrimaryExpression
    return self.inheritCoverGrammar(self.parseGroupExpression)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1482, in parseGroupExpression
    expr = self.inheritCoverGrammar(self.parseAssignmentExpression);
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1146, in inheritCoverGrammar
    result = parser()
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1927, in parseAssignmentExpression
    lis = self.reinterpretAsCoverFormalsList(expr)
  File "C:\Users\Tanjan\AppData\Local\Programs\Python\Python35-32\lib\site-packages\pyjsparser\parser.py", line 1895, in reinterpretAsCoverFormalsList
    'stricted': options['stricted'],
KeyError: 'stricted'
PiotrDabkowski commented 6 years ago

This is JS 6 which is not normally supported by the Js2Py. Please translate the script to JS 5 before running.